组成原理-处理器数据通路

Posted Mount256

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了组成原理-处理器数据通路相关的知识,希望对你有一定的参考价值。

文章目录

1 数据通路的结构和组成

数据在功能部件之间传送的路径称为数据通路,包括数据通路上流经的部件,如 ACC、ALU、状态寄存器。通用寄存器等。

1.1 数据通路的基本结构

数据通路的基本结构分为两种:

(1)内部总线结构(可参考“总线”章节)

  • CPU 内部单总线方式(常考,类似看图说话)
  • CPU 内部双总线方式
  • CPU 内部三总线方式

(2)专用数据通路方式(有一定几率考,但做题方法与单总线的相同):不使用共享的总线

1.2 数据通路的基本组成(单总线结构)

  • “in”:允许数据从内部总线输入到该部件的信号
  • “out”:允许数据从该部件输出到内部总线的信号

1.2.1 指令相关

寄存器/部件(从 CU 发出的)控制信号
程序计数器 PCPCin、PCout
指令寄存器 IRIRin
指令寄存器中存储的指令的地址码部分 Ad(IR)AdIRout

1.2.2 运算相关

寄存器/部件(从 CU 发出的)控制信号
累加寄存器 ACCACCin、ACCout
暂存输入寄存器 YYin
暂存输出寄存器 ZZout
算术逻辑单元 ALUALUin
通用寄存器 RxRxin、Rxout

1.2.3 存储相关

  • “E”:表示允许控制该部件往主存输入数据/从主存接收数据的信号
  • 未加“E”:表示允许控制该部件往内部总线输入数据/从内部总线接收数据的信号
  • MemR:允许从主存读出数据
  • MemW:允许往主存写入数据
寄存器/部件(从 CU 发出的)控制信号
存储器地址寄存器 MARMARin、MARout;MARoutE
存储器数据寄存器 MDRMDRin、MDRout;MDRinE、MDRoutE
将寄存器内的数据当做地址,往主存的该地址读或写数据 M(MAR)、M(MDR)MemR、MemW

2 数据通路中的数据传送(单总线结构)

2.1 取指周期

功能控制信号描述
(PC)–>MARPCout, MARin指令对应的地址放入 MAR 中
M(MAR)–>MDRMemR, MDRinE从主存的相应地址读出指令并存入 MDR 中
(MDR)–>IRMDRout, IRinMDR 存储的指令放入 IR 中
指令译码
(PC)+1–>PCPC+1程序计数器加 1 个指令字长

数据通路:PC–>MAR–>Mem–>MDR–>IR

2.2 间址周期

2.2.1 间接寻址

功能控制信号描述
Ad(IR)–>MAR 或 Ad(MDR)–>MARMDRout, MARin读出指令的地址码部分,送入 MAR 中(注意没有 IRout)
M(MAR)–>MDRMemR, MDRinE从主存的相应地址读出数据并存入 MDR 中
(MDR)–>YMDRout, YinMDR 存储的数据放入暂存输入寄存器 Y 中

数据通路:IR(或 MDR)–>MAR–>Mem–>MDR–>Y

2.2.2 寄存器间接寻址

功能控制信号描述
(R0)–>MARR0out, MARin读出 R0 的数据,送入 MAR 中
M(MAR)–>MDRMemR, MDRinE从主存的相应地址读出数据并存入 MDR 中
(MDR)–>YMDRout, YinMDR 存储的数据放入暂存输入寄存器 Y 中

数据通路:R0–>MAR–>Mem–>MDR–>Y

2.3 执行周期

ADD (R0), R1为例,功能为((R0))+(R1)–>(R0),说明执行指令流程和控制信号。

功能控制信号描述
(Y)+(R1)–>ZYout, R1out, Zin, ALUinY 中数据和 R1 中数据相加,经过 ALU 计算的结果存入 Z 中(注意没有 ALUout)
(Z)–>MDRZout, MDRin将计算结果放入 MDR 中
(MDR)–>M(MAR)MDRoutE, MemW将 MDR 数据放入到主存相应地址中,注意此时 MAR 仍存储着 R0 的数据

数据通路:Y, R1–>ALU–>Z–>MDR–>Mem

以上是关于组成原理-处理器数据通路的主要内容,如果未能解决你的问题,请参考以下文章

计算机组成原理

(计算机组成原理)第五章中央处理器-第三节2:CPU专用数据通路

计算机组成原理---中央处理器

计算机组成原理---中央处理器

计算机组成原理——中央处理器CPU 2

关于计算机组成原理的Cache-主存地址映象问题