1. 题目背景与核心考点解析
2009年计算机考研408真题第44题,是一道典型的计算机组成原理综合应用题,主要考察考生对CPU数据通路、指令执行流程和控制信号的理解能力。题目给出了一个16位字长的计算机系统,采用16位定长指令字结构,并提供了部分数据通路结构图。
这道题的特殊之处在于它要求考生完整分析一条加法指令"ADD (R1), R0"的执行过程。这条指令的功能是将R0寄存器中的数据与R1寄存器内容所指主存单元的数据相加,结果写回R1指向的主存单元。这种间接寻址方式的加法操作在真实CPU设计中非常常见,能够全面考察考生对数据流动和控制时序的掌握程度。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 数据通路结构详解
2.1 关键寄存器与功能部件
题目中涉及的数据通路主要包含以下核心部件:
- 程序计数器(PC):存储下一条要执行指令的地址
- 存储器地址寄存器(MAR):保存要访问的内存地址
- 存储器数据寄存器(MDR):作为CPU与主存之间的数据缓冲
- 指令寄存器(IR):保存当前正在执行的指令
- 通用寄存器(R0/R1):用于暂存操作数和地址
- 算术逻辑单元(ALU):执行算术和逻辑运算
- 累加器(AC):暂存ALU的运算结果
- 内部总线:连接各功能部件的数据通道
2.2 控制信号解析
控制信号是协调各部件工作的关键,题目中给出了几个典型的控制信号定义:
- MDRinE:为1时允许数据从外部数据总线(DB)打入MDR
- MDRin:为1时允许数据从内部总线打入MDR
- PCout:为1时允许PC内容输出到内部总线
- MARin:为1时允许内部总线数据打入MAR
- MemR/MemW:主存读写控制信号
理解这些控制信号的作用和区别至关重要,特别是MDRin和MDRinE的区别,前者用于CPU内部数据传输,后者用于与主存的数据交换。
3. 指令执行流程深度解析
3.1 取指阶段分析
题目已经给出了取指阶段(C1-C4)的详细流程,我们可以从中总结出单周期CPU取指的典型模式:
- C1周期:将PC内容送入MAR
- 数据流:PC → 内部总线 → MAR
- 控
