计算机组成原理学习笔记——数据通路
数据在功能部件之间传送的路径称为数据通路,路径上的部件称为数据通路部件。
·
数据通路
一、功能
1、什么是数据通路?
- 数据在功能部件之间传送的路径称为数据通路,路径上的部件称为数据通路部件,如ALU、通用寄存器等。
2、数据通路的作用
- 数据通路描述了
信息从什么地方开始,中间经过哪个寄存器或多路开关,最后传送到哪个寄存器
。
数据通路中专门进行数据运算的部件
称为执行部件或功能部件
;数据通路由控制部件控制
。
数据通路的功能是实现 CPU 内部的运算器与寄存器及寄存器之间的数据交换
。
二、基本结构
- 数据通路的基本结构有
CPU 内部单总线方式、CPU 内部三总线方式和专用数据通路方式
。
1、CPU 内部单总线
- 将所有寄存器的输入端和输出端都连接到
一条公共通路
上,其优点是结构简单易于实现,缺点
就是数据传输时存在较多的冲突现象
。
2、CPU 内部三总线
- 将所有寄存器的输入端和输出端都连接到
多条公共通路上
,像这种 CPU 内部不止一条总线的称为多总线结构
,相比单总线结构,其好处就是可以同时传送不同的数据
,从而提高效率。
3、专用数据通路
根据指令执行过程中的数据和地址的流动方向安排连接线路
,避免使用共享的总线,性能较高,缺点是硬件量大。
- 部件名后面所带的
“in”
和“out”
分别代表对应的部件运行输入控制信号
和允许输出控制信号
。 - 注意:
内部总线是指同一部件,如 CPU 内部连接各寄存器及运算部件之间的总线;而系统总线是指一台计算机系统的各部件,如 CPU、内存、通道和各类 I/O 接口间相互连接的总线
。
三、基本流程
- 指的是数据通路上不同部件之间的数据传送操作的流程及控制信号,主要有
寄存器之间的数据传送、主存和 CPU 之间的数据传送,以及执行算术或逻辑运算是的数据传送
。
1、寄存器之间的数据传送
- 寄存器之间的数据传送,一般可直接通过 CPU 内部总线完成,以 PC 内容送 MAR 为例,具体的传送操作和控制信号如下:
PC→Bus, Pcout 有效,PC 内容送总线
Bus→MAR MARin 有效,总线内容送 MAR
2、主存和 CPU 之间的数据传送
- 主存与 CPU 之间完成数据传送,需要借助 CPU 内部总线,以 CPU 读取指令为例,传送操作流程和信号如下:
PC→Bus→MAR Pcout 和 MARin 有效,现行指令地址→MAR
1→R CU 发出读指令
MEM(MAR)→MDR MDRin 有效
MDR→Bus→IR MDRout 和 Irin 有效,现行指令→IR
3、执行算术或逻辑运算
- 执行算术或逻辑操作时,由于 ALU 本身没有存储功能的电路,因此如要执行加法运算,相加的两个操作数必须在 ALU 的两个输入端同时有效。
Ad(IR)→Bus→MAR, MDRout 和 MARin 有效
1→R CU 发出读命令
MEM→数据线→MDR 操作数从存储器→数据线→MDR
MDR→Bus→Y MDRout 和 Yin 有效,操作数→Y
(ACC)+(Y)→Z ACCout 和 ALUin 有效,CU 向 ALU 发出加命令,结果→Z
Z→ACC Zout 和 ACCin 有效,结果→ACC
- 数据通路结构
直接影响 CPU 内各种信息的传送路径
,数据通路不同,指令执行过程的微操作序列的安排也不同,关系着微操作信号形成部件的设计
。
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
已为社区贡献9条内容
所有评论(0)