体系结构(二)
第2章 指令系统
2.1 指令系统概述
指令系统是计算机中软件与硬件交界的一个主要标志:
- 软件设计者利用指令系统编制各种应用软件和系统软件
- 硬件设计者采用各种手段实现指令系统
2.2 指令系统结构的分类
通用寄存器型指令集结构
CPU 中用来存储操作数的存储单元主要有:
- 堆栈
- 累加器
- 一组寄存器
对于 通用寄存器型指令集结构 ,按 ALU 中操作数的个数和在存储器中的个数分类如下:
通用寄存器型指令集结构可以分为三种类型:
2.3 寻址方式
在通用寄存器型指令集结构中,一般是利用寻址方式指明指令中的操作数是一个常数、一个寄存器操作数,或是一个存储器操作数。
寻址实际上是从形式地址到实际地址的转换。形式地址由指令描述,实际地址也称为有效地址。
有效地址指明是存储器单元的地址或寄存器地址。
两种表示寻址方式的方法:
-
将寻址方式编码于操作码中,由操作码描述相应的寻址方式。
-
在指令字中设置专门的寻址字段,用以直接指出寻址方式
物理地址空间的信息如何存放?
上例中,8 个二进制位表示 8 个字节。
2.4 操作数类型和大小
2.5 指令系统的设计与优化
2.5.1 指令系统设计的基本原则
2.5.2 控制指令
2.5.3 指令操作码的优化
2.5.4 指令集编码
指令系统的 3 种编码格式:
-
可变长度编码格式
-
固定长度编码格式
-
混合型编码格式
2.6 指令系统的发展和改进
2.7 指令格式举例
寄存器
32 个 32 位的通用寄存器(GPRs)。
寄存器 R0 的内容恒为全 0。
32 个 32 位的浮点数寄存器(FPRs)。
数据类型
寻址方式
指令格式
ALU 操作
转移操作
浮点操作
2.8 MIPS 的一种简单实现
2.8.1 数据通路 DataPath
要给 setup time 留足时间。
在 Hold_Time 期间不能有输入信号的变化
2.8.2 数据通路分类
2.8.3 定长指令周期与变长指令周期的三级时序发生器
2.8.4 MIPS 的一种简单实现
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 番茄元🍅の小窝!
评论