计算机组成原理:第六章 指令系统

大纲

一、指令

1. 1  定义

指令:指令就是计算机能识别的硬件能够直接执行的一种语言,计算机全部指令集合称为指令系统

1.2 分类

指令分为变长指令定长指令

变长指令:位数(指令字长)是可以变化的,这取决于操作码的位数、地址码位数。有多字长指令、单字长指令。但多字长指令需要多次访存,因此CPU速度会下降。

一台机器可以有位数不同的指令,也就是指令字长可变。

1.3  组成

指令由 操作码 + 地址码 组成

​​​​​​​​​​​​​​​​​​​​​

所以指令系统就是一堆的 地址码操作码组合 的集合。

1.3.1 操作码 

操作码顾名思义就是用来说明操作类型的,比如加减乘除。如果有三位操作码,就可以进行八种操作,两位就是四种。他长度可以是固定的也可以是变化的

定长操作码:硬件设计简单、压缩了操作码的平均长度,在字长短的计算机中广泛使用,译码快。但指令数量增多,就需要更多的地址位数,操作码长度固定会导致地址位不足。

变长操作码:操作码位数随地址位增多而减少,但译码和控制器的设计会更复杂。

扩展操作码:定长指令+变长操作码

扩展操作码的注意事项:

1.不允许短码(新加上去的后缀)是长码(之前设计好的前缀)的前缀,也就是短码不能和前缀一样。

如前缀如果最多到1110,那么使用扩展码技术设计新的指令时第一个是“1111”,但最后不能是“1111 1111”

2.各指令操作码不能重复

1.3.2 地址码

注意:地址码不是指令的地址⚠️⚠️⚠️

而是操作数(一个或两个)、结果的地址、以及下一条指令的地址。

总的来说就是:数据地址、下一条指令地址

指令地址与地址码区别:

指令的地址是指在内存中存放指令的位置,是CPU执行指令时需要的数据(PC->PC+1)。地址码是操作对象在内存中的位置。是不一样的。

 (1)四地址指令

 四次访存,执行当前指令

1.指令地址

2.取第一操作数

3.取第二操作数

4.结果存放访存一次

(2)三地址指令

把下一条指令地址不放地址码里里,放PC里 

(3)二地址指令 

4次访存,因为存放结果还是要访存,但是如果把结果放在累加器中就只需要三次

(4)一地址指令 

累加器做两个工作 ,先存放其中一个操作数,结果出来了又存放结果

(5)零地址指令

 陷阱(Trap)与陷阱指令:

  陷阱是意外事故的中断,例如输入输出设备损坏,电脑电压不稳等。因此计算机发生意外时就会发出陷阱信号。

  计算机的陷阱指令指令系统里没有,而是CPU自动产生并执行。也有的机器设置用户使用的陷阱指令,这样就可以利用它进行系统调用和程序请求。

 二、寻址方式

寻址方式:确定当前指令数据地址,以及下一条指令地址。

 所以寻址方式分为:指令寻址数据寻址。

2.1 指令寻址

一条指令一条指令往下执行(PC->PC+1),叫做:顺序寻址

跳着执行(JUMP指令:直接跳到指定指令,略过中间的)叫做:跳跃寻址

2.2 数据寻址

提到数据,我们能想到的有数据本身、存储器、寄存器,所以有以下几种寻址方式

关于存储器:

(1)立即寻址 

数据本身就放在地址码里,不用去存储器或者寄存器里找,立马就找到了,就是立即寻址。

eg:你去超市买东西,老板直接给你了,不用自己找就是立即寻址。

(2)直接寻址

地址码里是数据在存储器里的真地址。

EA=A

eg:取快递,知道了取件码,自己照着去取

(3)间接寻址

不直接告诉你真实地址,告诉你一个假地址,你找到这个假地址之后,假地址里放着真地址,再继续找。

EA=(A)

关于寄存器

(4)隐含寻址

操作数的地址隐含在操作码或寄存器中。

例如二地址指令,就把其中一个操作数放在ACC中。

(5)寄存器寻址 

给出寄存器的编号,操作数在指明的Ri寄存器内

EA=R i 

(6)寄存器间接寻址 

给出寄存器编号,但里面还不是你想要的数,而是放着他在主存的居住地址。

EA=(Ri)

(7)基址寻址

就是在寄存器间接寻址的基础上加上形式地址。例如基址寄存器是BR

EA=(BR)+A

(8)变址寻址 

类似于(7)

假如变址寄存器是IX

EA=(IX)+A

下面两个特殊记

(9)相对寻址 

EA=(PC)+A

(10)堆栈寻址 

利用堆栈SP指针出栈入栈。

 三、RISC与CISC

1.随着计算机不断发展,功能越来越复杂,指令系统也越来越复杂

2.出现了CISC(复杂指令系统计算机)

3.但指令过于复杂时执行周期长,资金花费大,需要复杂的控制器,占用了较大芯片面积

4.后来发现一般程序里80%的语句仅仅处理了处理机20%的指令,而且这些指令都是简单指令

5.想用20%的语句组合出80%的不常用语句

6.提出RISC(精简指令系统计算机),用较小的芯片面积制作逻辑控制电路,大部分空间做成寄存器。

(优点总结在大纲里)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值