计算机组成原理——指令系统

发布于:2024-06-23 ⋅ 阅读:(43) ⋅ 点赞:(0)

一.机器指令

机器指令是由一条条语句组成的,每一条语句又能表达某种含义,计算机就是连续执行每一条机器语句而实现全自动工作的,这些机器语言被称为机器指令。

二.指令

指令是由操作码和地址码两部分组成,操作码用来指明该指令所要完成的操作,其位数反映了机器的操作种类,也就是机器允许的指令条数。操作码的长度是固定的也可以不固定,,不固定的话会增加指令译码和分析的难度,使控制器的设计变复杂;地址码用来指明该指令的源操作数的地址,结果的地址以及下一条指令的地址,这里的地址可以是主存的地址,也可以是寄存器的地址,还可以是i/o设备的地址。完成一次四地址指令,共需要访问4次存储器,取指令一次,取两个操作数两次,存放结果一次;完成一次三地址指令,共需要访问4次存储器,同上;完成一次二地址指令,当访问代表除源操作数的地址外,还代表中间结果的存放地址时,需要访问4次存储器,但当将中间结果暂存在ACC中时,则只需访问3次存储器。

指令字长取决于操作码的长度,操作数地址的长度和操作数地址的个数,不同机器的指令字长是不一样的。

三.操作类型

不同机器的操作类型是不同的,但几乎所有机器都有以下几种:数据传送,算数逻辑操作(实现算数运算和逻辑运算),移位(算数移位,逻辑以为和循环移位),转移(改变执行顺序),无条件转移,条件转移,调用与返回(函数反复调用,将值返回)

四.寻址方式

寻址方式是指确定本条指令的数据地址以及下一条将要执行的指令地址的方法,它与硬件结构紧密相关,而且直接影响指令格式和指令功能。其分指令寻址和地址寻址两类。

指令寻址较为简单,有两种:顺序寻址和跳跃寻址。顺序寻址就是通过程序计数器pc+1,自动形成下一条指令的地址;跳跃寻址通过转移类指令实现。

数据寻址方式种类繁多,在指令字段中必须设一字段来指明属于哪一种寻址方式。指令的地址码字段通常都不代表操作数的真实地址,故把它称为形式地址。立即寻址,其特点是是操作数本身设在指令字内,即形式地址A不是操作数的地址,而是操作数本身,又称为立即数;直接寻址:指令字中的形式地址A就是操作数的真实地址,特点是寻找操作数简单,不需要专门计算操作数的地址,在指令执行阶段对主存只访问一次,;隐含寻址:指令字中不明显的给操作数的地址,其操作数的地址隐含在操作码或某个寄存器中;间接寻址:倘若指令中的形式地址不直接指出操作数的地址,而是指出操作数地址所在的存储单元地址,这种寻址方式与直接寻址相比扩大了操作数的寻址范围,缺点在于指令的执行阶段需要访存两次或多次,致使指令执行时间变长;寄存器寻址:在寄存器寻址的指令字中,地址码字段直接指出了寄存器的编号,由于操作数不在主存,故不需要访问主存减少了时间,并且由于地址字段只需指明寄存器编号,故指令字段短,减少空间。基址寻址:基址寻址需设在基址寄存器,其操作数的有效地址EA等于指令字中的形式地址与基址寄存器中的内容相加,优点是可以扩大操作数的寻址范围;变址寻址:与前者极为类似,其有效地址EA等于指令字中的形式地址A与变址寄存器IX的内容相加。

五.指令设计格式

—摘自唐朔飞老师计算机组成原理第三版的第七章


网站公告

今日签到

点亮在社区的每一天
去签到