程序计数器:指明程序中下一次要执行的指令地址的一种计数器,又称指令计数器。
它兼有指令地址寄存器和计数器的功能。
当一条指令执行完毕的时候,程序计数器作为指令地址寄存器,其内容必须已经改变成下一条指令的地址,从而使程序得以持续运行。
为此可采取以下两种办法:种办法是在指令中包含了下一条指令的地址。
在指令执行过程中将这个地址送人指令地址寄存器即可达到程序持续运行的目的。
这个方法适用于早期以磁鼓、延迟线等串行装置作为主存储器的计算机。
根据本条指令的执行时间恰当地决定下一条指令的地址就可以缩短读取下一条指令的等待时间,从而收到提高程序运行速度的效果。
PMS280.02-8.9问问PMS280.02-8.9问问PMS280.02-8.9问问种办法是顺序执行指令。
一个程序由若干个程序段组成,每个程序段的指令可以设计成顺序地存放在存储器之中,所以只要指令地址寄存器兼有计数功能,在执行指令的过程中进行计数,自动加一个增量,就可以形成下一条指令的地址,从而达到顺序执行指令的目的。
这个办法适用于以随机存储器作为主存储器的计算机。
当程序的运行需要从一个程序段转向另一个程序段时,可以利用转移指令来实现。
转移指令中包含了即将转去的程序段入口指令的地址。
执行转移指令时将这个地址送人程序计数器(此时只作为指令地址寄存器,不计数)作为下一条指令的地址,从而达到转移程序段的目的。
子程序的调用、中断和陷阱的处理等都用类似的方法。