您的位置:首页 > 理论基础

计算机组成原理知识点(第七章: 指令系统)

2017-06-14 15:34 579 查看

第七章: 指令系统

1.概念

人们习惯把每一条机器语言称为机器指令, 而又将全部机器指令的集合称为机器的指令系统.


2.指令的一般格式(操作码)

指令是由操作码和地址码两部分构成的. 操作码说明所要完成的功能, 地址码说明了要在哪里完成这个操作.

操作码和地址码之和的长度是由机器的位数(指令字长)来决定的. 并且是不变的.

所以采用了扩展操作码技术后, 操作码的长度随地址码的长度减少而增加了.

例如: 假设指令字长为16位, 其中地址码为6位, 指令有零地址, 一地址, 二地址形式.

(1)操作码固定, 若零地址有P种, 一地址有Q种, 则二地址有多少种.
解: 二地址的操作码有16-6-6=4位, 所以呢二地址就有2^4=16种, 所以除了1和0地址,就剩下16-P-Q种二地址了.
(2)采用扩展操作码技术, 若二地址指令有X种, 零地址指令有 Y种, 则一地址有多少种.
解: 看书把P302 懒得写了.


3.指令的一般格式(操作码)

地址码通常指出指令的源操作数的地址.其中地址可以指主存, 寄存器或者I/O设备的地址.

1.四地址指令

格式: OP A1 A2 A3 A4

其中OP为操作码,  A1为第一操作数地址, A2为第二操作数地址, A3为结果地址, A4为下一跳指令的地址

2.三地址指令

格式: OP A1 A2 A3

可完成(A1)OP(A2)->A3

3.二地址指令

格式:OP A1 A2

可完成(A1)OP(A2)->A1

4.一地址指令

格式: OP A1

可完成(ACC)OP(A1)->ACC

5.零地址指令

格式: 无地址码


4.操作数类型

操作数类型有 地址, 数字, 字符, 逻辑数据等等


5.数据在存储器中的存储方式

通常要求多字节的数据在存储器的存放方式能满足"边界对准"的要求.


6.操作类型

1.数据传输: 计算机内部各个部件之间的数据传输
2.算术逻辑操作
3.移位: 算术移位, 逻辑移位, 循环移位.
4.转移: 计算机是按顺序执行程序的每一条指令的, 但是有时候需要改变这种顺序, 此刻可以用转移指令来完成.
4.1.无条件转移: 不接受任何束缚条件而直接转移
4.2.条件转移: 根据当前指令的执行结果来决定是否需要转移
4.3.调用与返回: 有些具有特定功能的程序会反复利用, 为避免重复编写, 就编写成一个子程序来调用.
4.4.陷阱: 陷阱其实一种意外事故的中断
5.输入和输出: 对内存或者寄存器或者各种设备进行读写.
6.其他: (many)


7.寻址方式

分两种: 指令寻址和数据寻址


7.1指令寻址

分为: 顺序寻址和跳跃寻址

顺序寻址就是通过程序的计数器PC+1, 自动形成下一条指令的地址
跳跃寻址就是通过转移类指令实现.


7.2数据寻址

指令的地址码通常都不代表操作数的真实地址, 我们把它称为 形式地址. 记作 A把操作数的真实地址称为有效地址 记作E(A)

1.立即寻址:形式地址不是操作数地址, 而是操作数本身, 又称为立即数
2.直接寻址: 指令中的形式地址A就是操作数的真实地址EA
3.隐含寻址: 指令中的字不明显给出操作数的地址, 其操作数的地址隐含在操作码或者某个寄存器当中
4.间接寻址: 指令中的形式地址不直接指出操作数的地址, 而是指出操作数的有效地址所在的存储单元地址, 有效地址是形式地址间接提供.
5.寄存器寻址: 在寄存器寻址的指令中, 地址码字段直接给出了寄存器的编号就是EA=R.
6.寄存器间接寻址: R的内容不是操作数而是操作数所在贮存单元的地址号, 就是有效地址EA=R. 指令的执行阶段还需要访问主存,
7.基址寻址: 需要有基址寄存器BR, 其操作数的有效地址EA 等于指令字中的形式地址与基址
8.变址寻址: 其有效地址EA等于指令字中的形式地址A与变址寄存器IX的内容相加之和.(EA=A+(IX))
9.相对寻址: 相对寻址的有效地址将程序计数器PC的内容(即当前指令的地址)与指令字中的形式地址A相加而成(EA=(PC)+A)
10.堆栈寻址: 利用堆栈的形式(先进先出, 先进后出)来查询地址.
以上10 种方式寻址方式在网上都有示意图(运行方式)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: