2024.06.20:计算机组成原理数据通路学习笔记
第19节 数据通路
9.1 数据通路的组成
- 机器指令的执行是在数据通路中完成的
- 通常将指令执行过程中数据所经过的路径(包括路径上的部件)称为数据通路
- ALU、通用寄存器、PSW、MMU(地址转换结构)、cache、浮点运算逻辑、异常和中断处理逻辑都属于数据通路的一部分
MMU地址转换机构,之前学过两种地址,逻辑地址或者虚拟地址,物理地址或者存储地址。这两种地址是必须要进行一个转换的。
CPU往往会给出1个逻辑地址,我们需要通过MMU的转换,把它换成1个主存地址,才可以真正地去访存
- 数据通路由控制部件进行控制,控制部件不属于数据通路
- 数据在数据通路里面进行流通
- 控制部件就是控制数据如何在数据通路里面进行流通
- 指令执行要用到的元件分为操作元件(组合逻辑元件)和存储元件(状态元件)
9.1.1 操作元件(组合逻辑元件)
一个没有记忆功能的器件,本身没有什么特殊功能
关键点1:组合逻辑元件是不受到时钟信号控制的
关键点2:组合逻辑元件是没有存储功能的
注意:由于操作元件没有存储功能,因此需要在必要的时候给输出端去设置一个寄存器,去暂时地保留经过这个部件的输出
例子:多路选择器MUX
常见的操作元件:多路选择器、加法器、ALU、译码器
9.1.2 存储元件(状态元件、时序逻辑元件)
- 具有存储功能,输入状态在时钟控制下被写到电路中,并保持电路的输出值不变,直到下一个时钟到达
- 输入端状态由时钟决定何时被写入,输出端状态随时可以读出
常见存储元件:暂存器、锁存器、IR、PC、通用寄存器组、输出端带三态门的寄存器、带清零功能的寄存器、带自增功能的寄存器、带移位功能的子寄存器
9.2 数据通路的基本结构
9.2.1 单总线数据通路
(1) MAR、MDR
通过MAR和MDR来完成存储器和CPU之间的信息传送
- MAR为存储器地址寄存器
- MDR为存储器数据寄存器
(2) 寄存器组(右上角)
通用寄存器之间传递数据
- 首先总线是传输信号线,无法存储信息
- 同一时刻只能由一个部件把信息送到总线
(3) 算数&逻辑运算(ALU)
ALU是一个没有记忆功能的组合逻辑电路,想要进行正确的运算,需要把两个操作数送入ALU的输入端,并在正确的ALU控制信号的控制下进行
这些操作不能同时进行,因为任何时刻只能将一个寄存器的内容送到总线。任何一步结束时结果要送到某个寄存器的输入端(保存到寄存器)。因此,该操作需要三个时钟周期(节拍)
ALU的控制信号可以是:加add、减sub、与and、或or、传送mov、取反not、取负neg等
(4) 如何进行主存的读取
从主存中读取一个字(指令或数据或数据的地址)
(5) 如何进行主存的写入
9.2.2 三总线数据通路
多总线结构在执行指令时所需要的步骤大为减少
将所有寄存器的输入端和输出端连接到不同的总线上,因此,同一个时钟周期内就可以传送多个数据。
以ALU为例,取代寄存器,就是让输出结果所在的总线(内总线C)上面不要传任何数据
9.2.3 单周期数据通路(专用数据通路(避免去使用公用的总线,对硬件要求高))
- 最简单的非总线结构处理器是单周期处理器、单周期处理器指其所有指令周期都为一个时钟周期
- 单周期数据通路即是单周期处理器中的数据通路
- 在单周期数据通路中,取指令、指令译码、取操作数、执行运算、存结果、更新PC等所有操作都需在一个时钟周期内完成
时钟周期是计算机最小的时间单位
为保证单周期数据通路的所有指令都在一个时钟周期内完成,其时钟周期应该以最复杂指令所用周期为准,所以单周期处理器的时钟周期特别长,指令执行速度很慢
注意:单总线数据通路和三总线数据通路,它俩属于总线式的数据通路,而对于单周期CPU(专用数据通路)来说,它一般不会使用总线,但是它也可以配合总线
9.2.4 RISC
流水线技术和单周期的CPU ,它是两个并行的,两类,是不可能同时发生的
精简指令集里所有的指令都可以在一个时钟周期内完成,注意它之所以可以保证所有的指令都在这么短的时间内完成,并不是因为它是一个单周期的CPU上运行的指令集,而是它采用了流水线。
- RISC架构的简单性使其理论上适合单周期CPU设计,单这种设计在实际的高性能计算中很少使用,因为它限制了处理器的时钟速度和整体性能
- 相反,现代RISC处理器更倾向于使用流水线和其他高级技术来提高性能,尤其是在商用和工业应用中。
- 单周期设计更常见于教学和简单的嵌入式系统中,这些系统对性能的需求相对较低
9.2.5 单周期&多周期CPU对比
部件利用率
- 单周期CPU:低、大部分时间都在保持信号
- 多周期CPU:高
CPI
- 单周期CPU:1
- 多周期CPU:>=1
一个时钟周期在干嘛
- 单周期CPU:完成一条指令
- 多周期CPU:一个步骤占用一个时钟周期(将整个CPU的执行过程分为几个阶段,每个阶段用1个时钟去完成)
标签:计组,数据通路,总线,寄存器,周期,CPU,时钟 From: https://blog.csdn.net/swu_Alice/article/details/139788001