计算机组成原理:CPU数据通路与指令执行流程解析

1. 题目背景与核心考点解析

2009年计算机考研408真题第44题,是一道典型的计算机组成原理综合应用题,主要考察考生对CPU数据通路、指令执行流程和控制信号的理解能力。题目给出了一个16位字长的计算机系统,采用16位定长指令字结构,并提供了部分数据通路结构图。

这道题的特殊之处在于它要求考生完整分析一条加法指令"ADD (R1), R0"的执行过程。这条指令的功能是将R0寄存器中的数据与R1寄存器内容所指主存单元的数据相加,结果写回R1指向的主存单元。这种间接寻址方式的加法操作在真实CPU设计中非常常见,能够全面考察考生对数据流动和控制时序的掌握程度。

需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。

2. 数据通路结构详解

2.1 关键寄存器与功能部件

题目中涉及的数据通路主要包含以下核心部件:

  1. 程序计数器(PC):存储下一条要执行指令的地址
  2. 存储器地址寄存器(MAR):保存要访问的内存地址
  3. 存储器数据寄存器(MDR):作为CPU与主存之间的数据缓冲
  4. 指令寄存器(IR):保存当前正在执行的指令
  5. 通用寄存器(R0/R1):用于暂存操作数和地址
  6. 算术逻辑单元(ALU):执行算术和逻辑运算
  7. 累加器(AC):暂存ALU的运算结果
  8. 内部总线:连接各功能部件的数据通道

2.2 控制信号解析

控制信号是协调各部件工作的关键,题目中给出了几个典型的控制信号定义:

  1. MDRinE:为1时允许数据从外部数据总线(DB)打入MDR
  2. MDRin:为1时允许数据从内部总线打入MDR
  3. PCout:为1时允许PC内容输出到内部总线
  4. MARin:为1时允许内部总线数据打入MAR
  5. MemR/MemW:主存读写控制信号

理解这些控制信号的作用和区别至关重要,特别是MDRin和MDRinE的区别,前者用于CPU内部数据传输,后者用于与主存的数据交换。

3. 指令执行流程深度解析

3.1 取指阶段分析

题目已经给出了取指阶段(C1-C4)的详细流程,我们可以从中总结出单周期CPU取指的典型模式:

  1. C1周期:将PC内容送入MAR
    • 数据流:PC → 内部总线 → MAR

内容推荐

已经到底了哦
已经到底了哦