指令地址寄存器(instruction address register)是指存放指令地址的寄存器,又称指令计数器。控制器根据指令计数器中存放的指令地址,从内存贮器中将指令取出到
指令寄存器中,然后对该指令进行分析,且执行之,同时在指令计数器中自动形成下一条指令的地址。
计算机工作时,一般根据指令的排列顺序,逐条依次执行。因此,当执行程序时,只要将程序的第一条指令的地址送入指令计数器,而后每执行一条指令就在现行指令计数器的地址值加“1”,达到取后继指令的目的。这样,便从起始地址(即程序的第一条指令的单元地址)开始,依次逐条接着执行。实现加“1”的方法有两种:一是指令计数器送全加器,实现加“1”,并将结果送回指令计数器,这种方法的指令计数器没有计数能力,实际上是一个指令地址寄存器;另一种方法是:采用计数器作指令地址寄存器,它本身具有加“1”的能力。
指令计数器不仅有顺序记录指令地址的功能,而且还可以打断它的顺序,用以转移指令,按照人们的意图进行安排。因此,指令地址寄存器的输入端,还应具有并行接收代码的功能,而它的输出端一般均与内存的地址码寄存器相连接。这样,当需要转移到另一个地址开始执行指令时,只要将这转移地址送入指令计数器,而后重复对计数器逐次加“1”即能达到自动工作的目的。