408考研逐题详解:2010年第18题——CPU寄存器

2010年第18题

下列寄存器中,汇编语言程序员可见的是( )

A. 存储器地址寄存器(MAR) \qquad B. 程序计数器(PC) \qquad C. 存储器数据寄存器(MDR) \qquad D. 指令寄存器(IR)

解析

本题考查的是计算机组成原理中关于 CPU 寄存器的分类及其可见性,特别是汇编语言程序员的视角。

  • 存储器地址寄存器(MAR, Memory Address Register):用于存储 CPU 即将访问的内存地址(如读取或写入操作的地址)。它由 CPU 硬件自动管理,程序员无法直接访问。
  • 程序计数器(PC, Program Counter):存储下一条要执行的指令的内存地址。程序员可通过分支指令(如 JMP、CALL)间接修改 PC 的值,从而控制程序流程。因此,PC 是可见的。
  • 存储器数据寄存器(MDR, Memory Data Register):用于临时存储从内存读取或要写入内存的数据。它由 CPU 在内存操作中自动使用,程序员无法直接访问。
  • 指令寄存器(IR, Instruction Register):存储当前正在执行的指令,供 CPU 解码和执行。它是纯硬件内部寄存器,程序员不能访问。

汇编语言程序员在编写汇编代码时,只能操作可见寄存器(如 PC、通用寄存器)。不可见寄存器由 CPU 硬件自动管理,对程序员隐藏。可见寄存器的操作是汇编指令的基础(如JMP label 会修改 PC),而不可见寄存器(如 MAR、MDR、IR)仅在指令周期中由 CPU 使用。

本题答案:B

你可能感兴趣的:(408考研逐题详解:2010年第18题——CPU寄存器)