程式計數器

處理器寄存器,指示當前正在執行的程序指令的位置

程序計數器(英語:Program Counter縮寫PC)是一個中央處理器CPU中的寄存器,其功能是存儲下一條要執行的指令(在機器語言中)的內存地址。在Intel x86Itanium微處理器中,它叫做指令指標(instruction pointerIP),有時又稱為指令地址寄存器(instruction address registerIAR[1]、指令計數器[2]或只是指令序列器的一部分[3]

PDP-1計算機(1959年)的控制面板,程序計數器就在面板的左上方。

在大部分的處理器中,指令指標都是在提取程式指令後就被立即增加;也就是說跳躍指令的目的位址,是由跳躍指令的運算元加上跳躍指令之後下一個指令的位址(單位爲位元或字節,視電腦形態而定)來獲得目的地。

處理器通常從存儲器中順序獲取指令,但控制傳輸指令通過在PC中添加一個新值來改變順序。這些包括「分支」(有時稱為「跳轉」),「子例程調用」和「返回」。以某些斷言結果為真為條件的傳輸可讓計算機在不同條件下遵循不同的順序。

「分支」規定下一條指令從內存中的其他地方獲取。「子程序」不僅調用分支,而且還保存 PC 的先前內容。「返回」檢索 PC 的保存內容並將其放回去,然後按照子程序調用的指令繼續順序執行。

參考文獻

  1. ^ Mead, Carver; Conway, Lynn. Introduction to VLSI Systems. Reading, USA: Addison-Wesley. 1980. ISBN 0201043580. 
  2. ^ Principles of Operation, Type 701 and Associated Equipment (PDF). IBM. 1953 [2018-03-29]. (原始內容存檔 (PDF)於2018-09-29). 
  3. ^ Harry Katzan (1971), Computer Organization and the System/370, Van Nostrand Reinhold Company, New York, USA, LCCCN 72-153191