1 .保存下一个访问PC的地址。
2.PC的自我增加确实是PC取出命令的长度。
3.PC每次一定字长。
————————————————————————————
1 .程序计数器的工作原理
让我解释一下程序计数器。 使用最简单的例子。
首先,PC中包含了下一个要访问的存储器地址。
如图所示,这是一个非常简单的CPU模型。
只有五个命令in(put )、Add、sto (re )、out )和JMP微控制器是简单的。
各指令由一系列状态或微指令构成。
对于每个指令,开始执行两个共同的微指令01、02。
01:PC的值进入存储器地址寄存器,PC递增。
02 :存储器数据输入总线,流入指令寄存器。
以下是每个命令的分支线。 之后,再次循环。
显而易见,对于除In命令之外的所有命令,
[PC-AR,PC 1]该微指令在整个指令执行周期内为不止执行了一次
所以,单指指令执行后,并不是直接让PC担任指令长,而是根据指令的不同,屁股后面会挂一两个操作数。 取操作数时,也执行此微指令,确保下次访问时PC指向正确的位置。 在这个过程中,PC的自我增加可能被执行了多次,访问保存几次就会执行几次。
在说组织结构的时候,为了省事,有时会直接说1。
其实,我觉得说1有歧义。 不如用自我增加来代替.
这个增加到底增加了多少字节,取决于机器的字的长度。
例如,这里的粒度为1字节,该PC每自我增殖一次,就有1字节回程,也就是真正的“1”。
2.PC寄存器真的存在吗?
程序计数器实际存在。 我不知道别的体系,但是有x86。
和堆栈寄存器是一起的,你看,名字变了吧。