程式計數器

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

程式計數器(英語: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