存储器地址寄存器(MAR)和程序计数器(PC)之间的区别?

时间:2012-06-04 04:38:55

标签: microcontroller microprocessors

存储器地址寄存器(MAR)和程序计数器(PC)如何彼此不同?

8 个答案:

答案 0 :(得分:8)

不同之处在于程序计数器指向要获取/执行的下一条指令,而存储器地址寄存器指向一个存储器位置,正在运行的程序将获取一些数据(而不是指令)。

答案 1 :(得分:3)

PC:程序计数器(PC)保存下一条指令的地址,该指令将被执行或解码。

IR:指令寄存器(IR)保存当前正在执行或解码的指令。

MAR:存储器地址寄存器(MAR)保存存储器中的位置地址,该地址包含正在执行的当前指令所需的数据。 只需MAR指向包含所需数据的内存位置。

答案 2 :(得分:1)

存储器地址寄存器(MAR)保存从中取出数据的地址位置,以便将其引入CPU的寄存器组件。

程序计数器(PC)保存NEXT指令的位置(存储在存储器中的所有内容都有一个地址)。希望这有帮助

答案 3 :(得分:1)

程序计数器(PC)存储执行当前指令后从存储器中取出的下一条指令的地址。

来自PC的地址被加载到地址寄存器(AR)中:AR<--PC

地址寄存器(AR)给出的存储单元指令被加载到指令寄存器(IR)中:IR<--M[AR]

程序计数器增加到下一条指令的地址:PC<--PC+1

答案 4 :(得分:0)

程序计数器(PC)是CPU正在执行的当前指令的地址。存储器地址寄存器(MAR)可以包含由加载或存储指令访问的数据的地址。

答案 5 :(得分:0)

程序计数器 程序计数器保存要取出 - 解码 - 执行的下一条指令的地址。这将在解码当前指令时自动递增

存储器地址寄存器(MAR)保存正在执行的当前指令的地址。它指向存储器中所需指令所在的相关位置(在此阶段,地址只是从程序计数器复制)。

答案 6 :(得分:0)

程序计数器使用逻辑地址(程序生成的虚拟地址),其中地址寄存器使用物理地址(实际实际存储器地址)。这是主要的区别。

答案 7 :(得分:0)

我在一本书中读到过

PC 只保存指令的地址

PC 将指令地址传给 MAR 后立即加一个数

MAR 在寻址周期中保存指令的地址

在后续获取周期中保存数据的地址

这些是差异的一部分(可能还有其他差异)