计算机组成原理教案
计算机语言有高级语言和低级语言之分。高级语言语句和用法与具体机器的指令系统无关。低级语言分机器语言(二进制语言)和汇编语言(符号语言),这两种语言都是面向机器的语言,它们和具体机器的指令系统密切相关。高级语言和低级语言的异同。
4.2 指令格式
表示一条指令的机器字,就称为指令宇,通常简称指令。
指令格式,则是指令字用二进制代码表示的结构形式。一条指令的结构可用如下形式来表示:
操作码字段 地址码字段
4.2.1 操作码
指令的操作码表示该指令应进行什么性质的操作。组成操作码字段的位数一般取决于计算机指令系统的规模。
4.2.2 地址码
根据一条指令中有几个操作数地址,可将该指令称为几操作数指令或几地址指令。目前二地址和一地址指令格式用的得最多。
零地址指令的指令子中只有操作码,而没有地址码。
一地址指令常称单操作数指令。
(AC) OP (A) → AC
二地址指令常称双操作数指令,它有两个地址码字段A1和A2,分别指明参与操作的两个数在内存中或运算器通用寄存器的地址,其中地址A1兼做存放操作结果的地址。
(A1) OP (A2) → A1
三地址指令字中有三个操作数地址A1,A2和A3。
(A1) OP (A2) → A3
从操作数的物理位置来说,又可归结为三种类型:
访问内存的指令格式,我们称这类指令为存储器-存储器(SS)型指令;
访问寄存器的指令格式,我们称这类指令为寄存器-寄存器(RR)型指令; 第三种类型为寄存器-存储器(RS)型指令。
4.2.3 指令字长度
一个指令字中包含二进制代码的位数,称为指令字长度。
机器字长是指计算机能直接处理的二进制数据的位数,它决定了计算机的运算精度。 指令字长度等于机器字长度的指令,称为单字长指令;指令字长度等于半个机器字长度的指令,称为半字长指令;指令字长度等于两个机器字长度的指令,称为双字长指令。 使用多字长指令的目的,在于提供足够的地址位来解决访问内存任何单元的寻址问题,但是主要缺点是必须两次或多次访问内存以取出整条指令,这就降低了CPU的运算速度,同时又占用了更多的存储空间。
在一个指令系统中,如果各种指令字长度是相等的,称为等长指令字结构,这种指令字结构简单,且指令字长度是不变的。如果各种指令字长度随指令功能而异,就称为变长指令字结构。这种指令字结构灵活,能充分利用指令长度,但指令的控制较复杂。
4.2.4 指令助记符