指令:计算及执行某些操作的指令
指令系统:一台计算机所有指令的集合
指令格式
机器指令的基本格式
一条指令就是机器语言的一个语句,是一组有意义的二进制代码。
操作码:指明操作的性质及功能
地址码:指明操作数的地址
指令长度:一条指令中包含的二进制代码的位数,取决于操作码字段的长度、地址码的个数及长度。
在一个指令系统中,若所有指令长度相等,称为定长指令字结构;若各种指令长度岁指令工能不一样,称为变长指令字结构。
地址码结构
双操作数指令除操作码外,还应包含以下信息:
第一操作数地址,A1
第二操作数地址:A2
操作结果存放地址:A3
下条将要执行指令的地址:A4
这些信息在指令中明显的给出,称为显地址;用隐含的方式给出,称为隐地址
四地址指令
(A1)op(A2)->A3
Ai表示地址,(Ai)表示存放于该地址中的内容
三地址指令
(A1)op(A2)->A3
(PC)+1->PC (隐含)
执行一条三址的双操作数运算指令,至少需要访问四次主存。第一次取指令本身,第二次取被操作数,第三次取操作数,第四次保存运算结果
二地址指令
(A1)OP(A2)->A1
(PC)+1->PC (隐含)
A1为目的操作数地址,A2为源操作数地址
同样访问四次主存
一地址指令
(Acc)OP(A1)->Acc
(PC)+1->PC (隐含)
执行一条一地址指令只需要访问两次主存。第一次取指令本身,第二次取操作数。被操作数与结果放在累加寄存器中,读取和存入都不需要访问主存。
零地址指令
零地址指令用在堆栈寄存器
用三地址编写的程序最短,指令长度最长,二一零程序长度变长,但指令变短
指令的操作码
指令系统每一条指令都有唯一的操作码,指令不同,操作码编码不同
-
规整型
操作码字段的位数和位置固定。也称定长编码。
假定:指令系统共m条指令,指令中操作码地址为N位,N>=log2m(2N>=m)
-
非规整型
操作码字段位置不固定,分散的放在指令字的不同位置上
增加指令译码和分析的难度,使控制器设计复杂化
寻址技术
寻址:寻找操作数地址或下一条将要执行的指令地址
编制方式:
-
编制单位
-
字编制
编制单位=访问单位
每个编址单位包含的信息量与读或写一次寄存器、主存所获得的信息量是相同的。
-
字节编址
字节编址为了适应非数值计算的需要。字节编址方式使编址单位与信息的基本单位相一致。
编址单位<访问单位
-
位编址
-
指令中地址码的位数
指令格式中每个地址码的位数是与主存容量和最小寻址单位有关联。
主存容量越大,所需地址码位数越长;相同容量,如果以字节为最小寻址单位,地址码的位数需要长些;如果以字为最小寻址单位,地址码位数可以减少。
计算机组成原理 | 阅读 1466 次
- 字编制