数据地址寄存器和程序计数器的区别

程序计数器是存放指令地址的,而地址寄存器是存放CPU访问的地址的。两者功能不是一样的吗?

第1个回答  2018-07-09
了解这些器件的功能,最好的方式莫过于深入理解他们协同工作的过程。下面大体概括以下CPU取指的操作过程。
一段程序(汇编代码)开始执行时,程序计数器(PC)存放的是程序(汇编代码)的首地址。
1.这时候,程序计数器把存储的首地址传送给地址寄存器(AR),紧接着,地址寄存器存入了首句汇编代码的地址,程序计数器的数值自动加一指向下一条语句的地址(这时候地址寄存器的内容还是首地址)。
2.紧接着,地址寄存器通过地址总线把首地址送至内存,经地址译码器译码,选中相应的首地址单元。
3.CPU发出指令,执行相应的操作(读指令,取指嘛)。
4.然后把内存单元的内容(程序首句代码二进制形式的内容,8位)送到外数据总线上。
5.外数据总线把内容送到数据寄存器。
6.数据寄存器知道是指令操作码,送到指令寄存器(IR),再经过指令译码器译码。这样CPU就懂得了这句代码要干什么,通过控制器来完成相应的操作。
这样CPU就完成了一句指令,因为PC已经+1了,那么循环刚才1-6的操作一直到HLT结束操作。
相似回答