指令計數器

指令計數器

指令計數器,即程式計數器。它是計算機處理器中的暫存器,它包含當前正在執行的指令的地址(位置)。當每個指令被獲取,指令計數器的存儲地址加一。在每個指令被獲取之後,程式計數器指向順序中的下一個指令。當計算機重啟或復位時,程式計數器通常恢復到零。

基本信息

簡介

指令計數器是計算機處理器中的一個包含當前正在執行指令地址的暫存器,也稱為程式暫存器(PC)。

工作原理

當執行一條指令時,首先需要根據指令計數器中存放的指令地址,將指令由記憶體取到指令暫存器中,此過程稱為“取指令”。與此同時,指令計數器中的地址或自動加1或由轉移指針給出下一條指令的地址。此後經過分析指令,執行指令。完成第一條指令的執行,而後根據指令計數器取出第二條指令的地址,如此循環,執行每一條指令。

當計算機重啟或復位時,程式計數器通常恢復到零。

在計算時,程式發出特殊的操作命令讓計算機執行。指令通過程式,給計算機處理器發出命令。在計算機中,地址在存儲或者記憶體中,都有專有的位置。暫存器是處理器使用的數據存放位置的一小部分。

相關

程式存儲器

在計算機的主存儲器中專門用來存放程式、子程式的一個區域。

指令暫存器

用來保存當前正在執行的一條指令。當執行一條指令時,先把它從記憶體取到數據暫存器(DR)中,然後再傳送至IR。指令劃分為操作碼和地址碼欄位,由二進制數字組成。為了執行任何給定的指令,必須對操作碼進行測試,以便識別所要求的操作。指令解碼器就是做這項工作的。指令暫存器中操作碼欄位的輸出就是指令解碼器的輸入。操作碼一經解碼後,即可向操作控制器發出具體操作的特定信號。

程式計數器

為了保證程式(在作業系統中理解為進程)能夠連續地執行下去,CPU必須具有某些手段來確定下一條指令的地址。而程式計數器正是起到這種作用,所以通常又稱為指令計數器。在程式開始執行前,必須將它的起始地址,即程式的一條指令所在的記憶體單元地址送入PC,因此程式計數器(PC)的內容即是從記憶體提取的第一條指令的地址。當執行指令時,CPU將自動修改PC的內容,即每執行一條指令PC增加一個量,這個量等於指令所含的位元組數,以便使其保持的總是將要執行的下一條指令的地址。由於大多數指令都是按順序來執行的,所以修改的過程通常只是簡單的對PC加1。當程式轉移時,轉移指令執行的最終結果就是要改變PC的值,此PC值就是轉去的地址,以此實現轉移。有些機器中也稱PC為指令指針IP(Instruction Pointer)。

地址暫存器

用來保存當前CPU所訪問的記憶體單元的地址。由於在記憶體和CPU之間存在著操作速度上的差別,所以必須使用地址暫存器來保持地址信息,直到記憶體的讀、寫操作完成為止。當CPU和記憶體進行信息交換,即CPU向記憶體存、取數據時,或者CPU從記憶體中讀出指令時,都要使用地址暫存器和數據緩衝暫存器。同樣,如果我們把外圍設備的設備地址作為像記憶體的地址單元那樣來看待,那么,當CPU和外圍設備交換信息時,我們同樣使用地址暫存器和數據緩衝暫存器。

相關詞條

相關搜尋

熱門詞條

聯絡我們