文章目录

  • 一.功能
  • 二.基本结构
  • 三.数据流向
    • (一)内部单总线方式
      • 1.寄存器之间的数据传送
      • 2.主存与CPU之间的数据传送
      • 3.执行算术或逻辑运算
    • (二)专用数据通路方式

一.功能

数据在功能部件之间传送的路径称为数据通路。路径上的部件称为数据通路部件,如ALU、通用寄存器、状态寄存器、异常和中断处理逻辑等。数据通路中专门进行数据运算的部件称为执行部件/功能部件。数据通路由控制部件控制,控制部件根据每条指令功能的不同生成对数据通路的控制信号。

数据通路的功能:实现CPU内部的运算器与寄存器及寄存器之间的数据交换。

二.基本结构

内部总线:指同一部件,如CPU内部连接各寄存器及运算部件之间的总线;
系统总线:指同一台计算机系统的各部件,如CPU、内存、通道和各类l/O接口间互相连接的总线。系统总线包括数据总线、地址总线、控制总线。

(一)CPU内部单总线方式
将所有寄存器的输入端和输出端都连接到一条公共通路上。结构简单,数据传输存在较多的冲突现象。一个时钟内只允许传一个数据(即两部件进行数据交换时其他部件需等待),指令执行效率很低。

(二)CPU内部三总线方式
CPU中有两条总线时构成双总线结构,有多条总线时构成多总线结构。内部三总线将所有寄存器的输入端和输出端都连接到多条公共通路上。多总线方式可以同时在多个总线上传送不同的数据,效率有所提高。

(三)专用数据通路方式
根据指令执行过程中的数据和地址的流动方向安排连接线路,避免使用共享的总线,性能较高,但硬件量大。

三.数据流向

(一)内部单总线方式

1.寄存器之间的数据传送

如:程序计数器PC(也叫内部的指针寄存器,属于计数寄存器)送地址寄存器MAR
①PC送内部总线。CU使PCout导通,PC将数据输送到CPU内部总线。即(PC)→总线Bus
②内部总线送MAR。CU使MARin导通,CPU内部总线将数据输送到MAR。即Bus→MAR

2.主存与CPU之间的数据传送

如:CPU从主存读取指令
①PC送MAR。CU使PCout导通,PC将数据输送到CPU内部总线。CU使MARin导通,CPU内部总线将数据输送到MAR。即(PC)→Bus→MAR
②CU通过控制总线发出读命令。即1→R
③CU使MARoutE(E表示外部)导通,MAR中的内容通过地址总线传递给主存。主存储器根据MAR记录的地址信息去存储体中找出该地址对应的二进制数据。CU使MDRinE导通,主存通过数据总线将数据放到MDR中。即M(MAR)→MDR
④CU使MDRout和IRin导通,MDR中的指令通过内部总线放到IR(此处MDR属于CPU)。即MDR→Bus→IR

3.执行算术或逻辑运算

先将一个操作数经CPU内部总线送入暂存器Y保存,Y的内容作为ALU的左输入端,且始终有效(为保证ALU的左右两侧同时传入数据,因内部总线一次只能传送一个数据,所以需要暂存寄存器Y辅助。对于多总线结构可不设置Y)。另一操作数经CPU内部总线直接送到ALU的又输入端。计算结果存入暂存器Z。

如加法指令,被加数存放在ACC中,加数放到Y
①IR中的地址码信息通过内部总线传入MAR(CU使IRout和MARin有效),即Ad(IR)→Bus→MAR。此处的IR可换为MDR
②CU发出读命令。即1→R
③主存储器根据MAR记录的地址信息去存储体中找出该地址对应的二进制数据,通过数据总线将数据放到MDR中(CU使MDRinE有效)。即M(MAR)→数据线→MDR
④将MDR中的操作数(加数)通过内部总线放入暂存寄存器Y中(CU使MDRout和Yin有效)。即MDR→Bus→Y
⑤进行加法操作,ACC中的值通过内部总线传到ALU,计算结果存入Z(Y始终有效,CU使ACCout有效、ALUin有效,CU向ALU发出加法命令)。即(ACC)+(Y)→Z
⑥等输出数据稳定后,删除控制信号,内部总线空闲,Z的值存入ACC(CU使Zout有效、ACCin有效)。即Z→ACC

[例] 设有如图所示的单总线结构,分析指令 ADD (R0) , R1的指令流程和控制信号

ADD (R0) , R1
R1叫做源操作数,操作数直接存放在R1中
(R0)叫做目的操作数,R0中存放的是操作数在主存的地址
相加结果放回R0指向的存储单元
即ADD (R0) , R1等价于((R0))+(R1)→(R0)

(1)取指周期
①(PC)→MAR(PCout、MARin有效)
②M(MAR)→MDR(MARout、MDRinE有效。读控制信号MemR有效)
③(MDR)→IR(MDRout、IRin有效)
④指令送译码器,进行译码
⑤(PC)+1→PC
(2)间址周期
①(R0)→MAR(R0out、MARin
②M(MAR)→MDR(MARout、MDRinE有效。MemR有效)
③(MDR)→Y(MDRout、Yin有效)
(3)执行周期
①(R1)+(Y)→Z(R1out、ALUin有效。CU向ALU发出加法控制信号)
②(Z)→MDR(Zout、MDRin有效)
③MDR中的数据存放至MAR(即R0)指向的存储单元。(MDR)→M(MAR)。(MDRoutE、MARout有效,写控制信号MenW有效)

(二)专用数据通路方式

Ci决定该线路是否导通。进行加法操作时,不需要暂存寄存器,直接将MDR和ACC中的数据相加即可。此方法成本较高,在控制通路时可以使用多路选择器和三态门。其他与单总线相同