5.3 数据通路的功能和基本结构

5.3.1 CPU内部单总线方式

系统结构图如下所示

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

设将PC的内容传送至MAR

(PC)BusPCout有效BusMARMARin有效\begin{align} &\text{(PC)}\to \text{Bus} &\text{PCout有效}\\ &\text{Bus}\to \text{MAR} &\text{MARin有效} \end{align}

2、主存和CPU之间的数据传输

设CPU从主存读取指令

(PC)BusMARPCout和MARin有效1RCU置读信号MEM(MAR)MDRMDRin有效MDRBusIRMDRout和IRin有效\begin{align} &\text{(PC)}\to \text{Bus} \to \text{MAR} &\text{PCout和MARin有效}\\ &\text{1}\to \text{R} &\text{CU置读信号}\\ &\text{MEM(MAR)}\to \text{MDR} &\text{MDRin有效}\\ &\text{MDR}\to \text{Bus} \to \text{IR} &\text{MDRout和IRin有效}\\ \end{align}

3、执行算数或逻辑运算

由于ALU两个输入端必须同时有效,而总线只能传输一路数据,因此先将一个输入数据存入暂存寄存器Y

Ad(IR)BusMARIRout和MARin有效1RCU置读信号MEM(MAR)MDRMDRin有效MDRBusYMDRout和Yin有效(ACC)+(Y)ZACCout和ALUin有效ZACCZout和ACCin有效\begin{align} &\text{Ad(IR)}\to \text{Bus} \to \text{MAR} &\text{IRout和MARin有效}\\ &\text{1}\to \text{R} &\text{CU置读信号}\\ &\text{MEM(MAR)}\to \text{MDR} &\text{MDRin有效}\\ &\text{MDR}\to \text{Bus} \to \text{Y} &\text{MDRout和Yin有效}\\ &\text{(ACC)+(Y)}\to \text{Z} &\text{ACCout和ALUin有效}\\ &\text{Z}\to \text{ACC} &\text{Zout和ACCin有效}\\ \end{align}

5.3.2专用数据通路方式

相较于单总线方式,将数据通路的流通方向单独安排线路。

优点是效率高,缺点是硬件量较大。

5.3.3补充

  • 寄存器名称

DS:是 Data Segment 的缩写,翻译为“数据段寄存器”;

SS:是 Stack Segment 的缩写,翻译为“堆栈段寄存器”;

ES:是 Extra Segment 的缩写,翻译为“附加段寄存器”。

CS:是Code Segment的缩写,翻译为“代码段寄存器”

Last updated