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

Imr*_*ran 7 microcontroller microprocessors

内存地址寄存器(MAR)和程序计数器(PC)如何相互不同?

Rav*_*ale 10

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


小智 9

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

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

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

  • 您可能想咨询[相关来源](https://www.google.hr/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&uact=8&ved=0ahUKEwjmqOiFsMPNAhVlIpoKHcFrCToQFggeMAA&url=s&source=web&cd=1&cad=rja&uact=8&ved=0ahUKEwjmqOiFsMPNAhVlIpoKHcFrCToQFggeMAA&url=https%2A .cs.umd.edu%2Fclass%2Fsum2003%2Fcmsc311%2FNotes%2FOverall%2Fpc_ir.html&usg=AFQjCNEYCkpzkL-uDXbt23e0iC_J4HmC1w),或[维基百科页面](https://org_inwikipedia)。比较细腻。 (2认同)

小智 7

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

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

地址寄存器(AR)给出的来自内存位置的指令被加载到指令寄存器(IR)中: IR<--M[AR]

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


TJD*_*TJD 1

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

  • PC立即指向要获取的下一条指令,因此说它保存了CPU正在执行的当前指令的地址是错误的。 (2认同)