目录
一、机器指令
机器语言由一条条语句构成, 习惯把每一条机器语言的语句称为机器指令, 将全部的机器指令的集合称为机器的指令系统。
80-20规律: 典型程序中80%的语句仅仅使用处理机中的20%的指令, 这些指令都属于简单指令。
RISC: 精简指令系统计算机 (Reduced Instruction Set Computer), 主要特征是用20%的简单指令组合来实现不常用的80%的指令功能。
CISC: 复杂指令系统计算机 (Complex Instruction Set Computer)
1.1 指令的一般格式
指令由操作码和地址码两部分组成。
指令的一般格式图:

1.2 操作码
指明该指令所要完成的操作, 如加法, 乘法, 移位等。位数反映了机器操作种类。
操作码长度可以是固定的, 适用于字长较长的计算机以及RISC, 指令译码时间短。对于不固定的指令, 在字长较短的微型计算机中广泛使用, 会增加指令译码和分析的难度。
可扩展操作码的示意图:

1.3 操作类型
1) 数据传送: 寄存器与存储单元, 存储单元与存储单元,, 寄存器与存储单元,之间的传送。
2) 算术逻辑操作: 算术运算(加,减,乘,除等)与逻辑运算(与,或,非,异或等)。
3) 移位: 左移, 右移。
4) 转移: 无条件转移, 条件转移, 调用与返回, 陷阱与陷阱指令。
5) 输入输出:与I/O设备交互。
6) 其他: 停机指令, 开中断指令等。
1.4 操作数类型
1) 地址
2) 数字: 定点数, 浮点数
3) 字符: 文本或字符串
4) 逻辑数据: 如布尔值
1.5 地址码
地址码用来指出指令的源操作数的地址、结果地址、下一条指令的地址。地址可以是主存的地址, 也可以是寄存器的地址,或是I/O 设备的地址。
以下假设指令字长为32位, 操作码占8位。OP为操作码, A为操作数地址, 地址以主存地址为例。
四地址指令:该指令完成(A1)OP(A2) -->A3的操作, 4个地址各占6位, 直接寻址范围为=64。共需访问4次存储器(取指令一次, 取两个操作数两次, 存放结果一次)。
三地址指令: 该指令完成(A1)OP(A2)-->A3的操作, 程序中大多数指令是按顺序执行的, 后续指令的地址隐含在程序计数器PC中。3个地址字段各占8位, 寻址范围为=256, 需要访问4次存储器。
二地址指令: 该指令完成(A1)OP(A2)-->A1 的操作, A1即代表原操作数, 也代表存放本次运算的结果地址。共需要4次访问存储器; 若为(A1)OP(A2)-->ACC, 只需要两次访存。直接寻址范围为=4K。
一地址指令: 可完成(ACC)OP(A1)-->ACC的操作, 只需两次访存, 直接寻址范围为=16M。
零地址指令: 无地址码部分, 如空操作, 停机, 中断返回等指令, 或是操作数的地址隐含在堆栈指针SP中。
示意图:

二、寻址方式
确定本条指令的数据地址以及下一条将要执行的指令地址的方法, 分为指令寻址与数据寻址。
2.1 指令寻址
分为顺序寻址与跳跃寻址, 顺序寻址可以通过PC加自动形成下一条指令的地址; 跳跃寻址通过转移类指令实现。
指令寻址方式示意图:

2.2 数据寻址
数据寻址方式种类多, 在指令中需设一字段表明是哪一种寻址方式。
一地址指令的格式图:

1) 立即寻址: 操作数本身设在指令字内, 即形式地址就是数据本身, 数据采用补码形式存放。

2) 直接寻址: 指令字中的形式地址A就是操作数的真实地址。

3) 隐含寻址: 不明显给出操作数的地址, 操作数的地址隐含在操作码或某个寄存器中。

4) 间接寻址: 形式地址是操作数的有效地址所在的存储单元地址。与直接寻址相比, 扩大了操作数的寻址范围, 但多次间接寻址时, 可用存储字首位来标记是否还需要继续访存寻址。

5) 寄存器寻址: 地址码字段直接给出了寄存器的编号, 无需访存, 减少执行时间。

6) 寄存器间接寻址: 比间接寻址少访存一次。

7) 基址寻址: 需要设有寄存器BR, 操作数有效地

本文详细阐述了计算机的机器指令结构,包括操作码、操作数类型和地址码;探讨了寻址方式,如直接寻址、间接寻址和堆栈寻址;介绍了CPU的基本功能、寄存器结构和指令周期;讨论了中断系统的工作原理,如中断响应、中断判优逻辑和中断屏蔽技术;最后,概述了控制单元的设计,包括组合逻辑和微程序设计方法。
最低0.47元/天 解锁文章
2851

被折叠的 条评论
为什么被折叠?



