指令寄存器

指令寄存器

指令寄存器(IR ),是用來保存當前正在執行的一條指令。劃分為操作碼和地址碼欄位,由二進位數字組成。

分類


數據寄存器- 用來儲存整數數字(參考以下的浮點寄存器)。在某些簡單/舊的CPU,特別的數據寄存
器是累加器,作為數學計算之用。
地址寄存器- 持有存儲器地址,用來訪問存儲器。在某些簡單/舊的CPU里,特別的地址寄存器是索引寄存器(可能出現一個或多個)。
通用目的寄存器(GPRs) - 可以保存數據或地址兩者,也就是說它們是結合數據/地址 寄存器的功用。
浮點寄存器(FPRs) - 用來儲存浮點數字。
常數寄存器- 用來持有隻讀的數值(例如0、1、圓周率等等)。
向量寄存器 - 用來儲存由向量處理器運行SIMD(Single Instruction, Multiple Data)指令所得到的數據。
特殊目的寄存器- 儲存CPU內部的數據,像是程序計數器(或稱為指令指針),堆棧寄存器,以及狀態寄存器(或稱微處理器狀態字組)。
指令寄存器(instruction register)- 儲存現在正在被運行的指令
索引寄存器(index register)- 是在程序運行時用來更改運算對象地址之用。
在某些架構下,模式指示寄存器(也稱為“機器指示寄存器”)儲存和設置跟處理器自己有關的數據。由於他
PORT1的控制寄存器
們的意圖目的是附加到特定處理器的設計,因此他們並不被預期會成為微處理器世代之間保留的標準。
有關從隨機存取存儲器提取信息的寄存器與CPU(位於不同晶元的儲存寄存器集合)
存儲器緩衝寄存器(Memory buffer register)
存儲器數據寄存器(Memory data register)
存儲器地址寄存器(Memory address register)
存儲器型態範圍寄存器(Memory Type Range Registers)
向量寄存器

基本信息

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

工作原理


寄存器的功能十分重要,CPU對存儲器中的數據進行處理時,往往先把數據取到內部寄存器中,而後再作處理。外部寄存器是計算機中其它一些部件上用於暫存數據的寄存器,它與CPU之間通過“埠”交換數據,外部寄存器具有寄存器和內存儲器雙重特點。有些時候我們常把外部寄存器就稱為“埠”,這種說法不太嚴格,但經常這樣說。
外部寄存器雖然也用於存放數據,但是它保存的數據具有特殊的用途。某些寄存器中各個位的0、1狀態反映了外部設備的工作狀態或方式;還有一些寄存器中的各個位可對外部設備進行控制;也有一些埠作為CPU同外部設備交換數據的通路。所以說,埠是CPU和外設間的聯繫橋樑。CPU對埠的訪問也是依據埠的“編號”(地址),這一點又和訪問存儲器一樣。不過考慮到機器所聯接的外設數量並不多,所以在設計機器的時候僅安排了1024個埠地址,埠地址範圍為0--3FFH。