指令
操作码 地址码
零地址指令:不需要操作数,如空操作、停机、关中断等指令。
一地址指令:加一减一、取反、求补
二地址指令:两个操作数的逻辑算数运算
三地址指令:多了个需要存的位置
四地址指令:相比于3,结束后PC修改为下一条指令地址
指令字长:一条指令的总长度(可能会变)/会影响取指令所需的时间
机器字长:CPU进行一次整数运算所能处理的二进制数据的位数(通常和ALU直接相关)
存储字长:一个存储单元中的二进制代码位数(通常和MDR位数相同)
按操作码长度分类:定长操作码 可变长操作码
按操作类型:数据传送 算术逻辑运算 移位操作 转移操作 输入输出操作
扩展操作码:
定长指令字结构+可变长操作码
指令寻址:
跳跃寻址:JMP无条件转移等直接改变PC的值
数据寻址:确定本条指令的地址码指明的真实地址
直接寻址:直接给操作数地址
间接寻址:指令的地址字段给出的形式地址不是操作数的真正地址,而是操作数有效地址
所在的存储单元的地址,也就是操作数地址的地址,即EA=(A)。
(范围更大)
寄存器寻址:在指令字中直接给出操作数所在的寄存器编号,即EA=R,其操作数在由R,所
指的寄存器内。
优点:
指令在执行阶段不访问主存,只访问寄存器,指令字短且执行速度快,支持向量/矩阵运算。
缺点:
寄存器价格昂贵,计算机中寄存器个数有限。
寄存器间接寻址:寄存器R,中给出的不是一个操作数,而是操作数所在主存单元的地址,
即EA=(R)。
隐含寻址
立即寻址:形式地址A就是操作数本身,又称为立即数,一般采用补码形式。
#表示立即寻址特征。(最快)
偏移寻址
基址寻址:将CPU中基址寄存器(BR)的内容加上指令格式中的形式地址A,
而形成操作数的有效地址,即EA=(BR)+A。
(从任意起始地址+偏移量)
变址寻址:有效地址EA等于指令字中的形式地址A与变址寄存器X的内容相加之和,即EA= (IX)+A,其中IX可为变址寄存器(专用),也可用通用寄存器作为变址寄存器。
(写循环)
相对寻址:把程序计数器PC的内容加上指令格式中的形式地址A而形成操作数的有效地址,
即EA=(PC)+A,其中A是相对于PC所指地址的位移量,可正可负,补码表示。
堆栈寻址:操作数存放在堆栈中,隐含使用堆栈指针(SP)作为操作数地址。
CISC和RISC
标签:操作数,指令系统,计算机,概括,EA,地址,寻址,指令,寄存器 From: https://www.cnblogs.com/konataxzy/p/16971816.html