导读:计算机组成原理—中央处理器(2).五、指令系统.1.机器指令.1.1一般形式.指令由操作码和地址码构成.操作码.用来指明指令要完成的操作。操作码长度可固定,可改变.地址码.用来指出指令的源操作数的地址.四地址指令:.OP | A1 | A2 | A3 | A4 |.操作码.第一地
指令由操作码和地址码构成
用来指明指令要完成的操作。操作码长度可固定,可改变
用来指出指令的源操作数的地址
四地址指令:
OP | A1 | A2 | A3 | A4 |
操作码 | 第一地址 | 第二地址 | 结果地址 | 下一条指令地址 |
需要4次访存
三地址指令:
OP | A1 | A2 | A3 |
---|---|---|---|
操作码 | 第一地址 | 第二地址 | 结果地址 |
因为PC地址自动+1所以不需要A4,需要4次访存
二地址指令:
OP | A1 | A2 |
---|---|---|
操作码 | 第一地址 | 第二地址 |
可将结果暂时存放到A1/A2,所以不需要A3
若结果不进入ACC(累加器)则需访存4次;反之访存3次
一地址指令 :
OP | A1 |
---|---|
操作码 | 操作码 |
其中一个操作数可在ACC中所以不需要A2
若结果进入ACC则需访存2次
零地址指令 :
无地址码,如,空操作,停机等
地址,数字,字符,逻辑数据(逻辑运算)
数据传送(交换源:参与操作;目的:参与+结果),算术逻辑操作,移位,转移(包括有条件,无条件…)
分为顺序和跳跃两种,比较简单,见下图即可
确定操作数的地址
在进行设计时注意进位问题
CPU有指令控制,时间控制,操作控制,处理中断和数据加工等功能
控制指令:PC,IR
操作、时间控制:CU,时序电路
数据加工:ALU寄存器
处理中断:中断系统
不同系统的规定不同
CPU取出并执行一条指令所需的全部时间称为指令周期一般的,指令周期 = 取值周期 + 执行周期
在其上的基础上,我们在加入取地址的周期和中断的周期,我们就得到了下图的一个指令周期的流程图
1.提高访存速度:高速芯片,Cache,多体并行
2.提高I/O和主机的传送速度:中断,DMA,通道,多总线,I/O处理机
3.提高运算器速度:高速芯片,改进算法,快速进位链
4.提高整机处理能力:告诉器件,改进系统结构,开发系统的并行性
将每一个指令周期按照不同的指令分成若干段,实现并行操作
FI:取指 | FO:取操作数 |
---|---|
DI:译码 | EI:执行指令 |
CO:计算操作数个数 | WO:存储结果 |
同一时间对存储器既要访问,又要取指= >暂停后再进行操作;设两个独立的存储器存放操作数和指令
出现先读后写(当现代的数需要上一步的结果)= >后推法:将读指令推至写指令后;采用定向技术(旁路技术)
主要由转移指令引起,使提前做的浪费= >提早预判转移的发生,提早转移
n条指令,m级流水,每一小段时间为t
最大吞吐率:Tpmax = 1 / t
时间吞吐率:Tp = n / m*t+(n-1)t = Tpmax / 1+(m-1)/n
第一条指令用时m*t,其余每一个t就有一条指令结束
Sp = (n * m * t) /m*t+(n-1)t
E = mnt / (mt+(n-1)t)m = Sp / m = Tp*t
上一篇:Redis为什么能抗住10万并发
下一篇:【scikit-learn基础】