暫存器定義

2021-06-20 23:34:56 字數 2325 閱讀 8029

暫存器是**處理器內的組成部分。暫存器是有限存貯容量的高速存貯部件,它們可用來暫存指令、資料和位址。在**處理器的控制部件中,包含的暫存器有指令暫存器(ir)和程式計數器(pc)。在**處理器的算術及邏輯部件中,包含的暫存器有累加器(acc)。

暫存器是記憶體階層中的最頂端,也是系統獲得操作資料的最快速途徑。暫存器通常都是以他們可以儲存的位元數量來估量,舉例來說,乙個 「8 位元暫存器」或 「32 位元暫存器」。暫存器現在都以暫存器檔案的方式來實作,但是他們也可能使用單獨的正反器、高速的核心記憶體、薄膜記憶體以及在數種機器上的其他方式來實作出來。 

暫存器通常都用來意指由乙個指令之輸出或輸入可以直接索引到的暫存器群組。更適當的是稱他們為 「架構暫存器」。 

例如,x86 指令集定義八個 32 位元暫存器的集合,但乙個實作 x86 指令集的 cpu 可以包含比八個更多的暫存器。

暫存器是cpu內部的元件,暫存器擁有非常高的讀寫速度,所以在暫存器之間的資料傳送非常快。

特點及原理

暫存器又分為內部暫存器與外部暫存器,所謂內部暫存器,其實也是一些小的儲存單元,也能儲存資料。但同儲存器相比,暫存器又有自己獨有的特點: 

①暫存器位於cpu內部,數量很少,僅十四個;

②暫存器所能儲存的資料不一定是8bit,有一些暫存器可以儲存16bit資料,對於386/486處理器中的一些暫存器則能儲存32bit資料;

③每個內部暫存器都有乙個名字,而沒有類似儲存器的位址編號。

暫存器的功能十分重要,cpu對儲存器中的資料進行處理時,往往先把資料取到內部暫存器中,而後再作處理。外部暫存器是計算機中其它一些部件上用於暫存資料的暫存器,它與cpu之間通過「埠」交換資料,外部暫存器具有暫存器和記憶體儲器雙重特點。有些時候我們常把外部暫存器就稱為「埠」,這種說法不太嚴格,但經常這樣說。

外部暫存器雖然也用於存放資料,但是它儲存的資料具有特殊的用途。某些暫存器中各個位的0、1狀態反映了外部裝置的工作狀態或方式;還有一些暫存器中的各個位可對外部裝置進行控制;也有一些埠作為cpu同外部裝置交換資料的通路。所以說,埠是cpu和外設間的聯絡橋梁。cpu對埠的訪問也是依據埠的「編號」(位址),這一點又和訪問儲存器一樣。不過考慮到機器所聯接的外設數量並不多,所以在設計機器的時候僅安排了1024個埠位址,埠位址範圍為0--3ffh。

暫存器用途

1.可將暫存器內的資料執行算術及邏輯運算;

2.存於暫存器內的位址可用來指向記憶體的某個位置,即定址;

3.可以用來讀寫資料到電腦的周邊裝置。

資料暫存器

資料暫存器 - 用來儲存整數數字(參考以下的浮點暫存器)。在某些簡單/舊的 cpu,特別的資料暫存器是累加器,作為數學計算之用。

位址暫存器 - 持有儲存器位址,以及用來訪問儲存器。在某些簡單/舊的cpu裡,特別的位址暫存器是索引暫存器(可能出現乙個或多個)。

通用目的暫存器 (gprs) - 可以儲存資料或位址兩者,也就是說他們是結合 資料/位址 暫存器的功用。

浮點暫存器 (fprs) - 用來儲存浮點數字。

常數暫存器 - 用來持有唯讀的數值(例如 0、1、圓周率等等)。

向量暫存器 - 用來儲存由向量處理器執行simd(single instruction, multiple data)指令所得到的資料。

特殊目的暫存器 - 儲存cpu內部的資料,像是程式計數器(或稱為指令指標),堆疊暫存器,以及狀態暫存器(或稱微處理器狀態字組)。

指令暫存器(instruction register) - 儲存現在正在被執行的指令

索引暫存器(index register) - 是在程式執行實用來更改運算物件位址之用。

在某些架構下,模式指示暫存器(也稱為「機器指示暫存器」)儲存和設定跟處理器自己有關的資料。由於他們的意圖目的是附加到特定處理器的設計,因此他們並不被預期會成微處理器世代之間保留的標準。

有關從 隨機訪問儲存器 提取資訊的暫存器與cpu(位於不同晶元的儲存暫存器集合)

儲存器緩衝暫存器(memory buffer register)

儲存器資料暫存器(memory data register)

儲存器位址暫存器(memory address register)

儲存器型態範圍暫存器(memory type range registers)[1][2]

段暫存器在定址過程中的作用

暫存器(register)是cpu內部的元件,所以在暫存器之間的資料傳送非常快。用途:1.可將暫存器內的資料執行算術及邏輯運算。2.存於暫存器內的位址可用來指向記憶體的某個位置,即定址。3.可以用來讀寫資料到電腦的周邊裝置。8086 有8個8位資料暫存器,這些8位暫存器可分別組成16位暫存器:ah&al=ax:累加暫存器,常用於運算;bh&bl=bx:基址暫存器,常用於位址索引;ch&cl=cx:計數暫存器,常用於計數;dh&dl=dx:資料暫存器,常用於資料傳遞。

暫存器定義

arm程式設計 關於arm暫存器的巨集定義 gf86530430 136次 2008 8 27 請問各位大蝦 在arm的標頭檔案裡,對與暫存器的定義為什麼不跟51的一樣?如下 define rutxh0 volatile unsigned char 0x1d00020 define rutxh1 v...

暫存器(通用暫存器)

因為學習使用的是王爽的 組合語言 第3版 因此也只能提到8086cpo的暫存器。對於其他而言,原理都是相通的。對於8086暫存器,有14個暫存器,主要是 ax bx cx dx si di sp bp ip cs ss ds es psw。一 通用暫存器 8086的通用暫存器有ax bx cx dx...

暫存器,標誌暫存器

涉及硬體傳輸資料的,往往包含以下內容 1.資料傳輸引腳 資料放 2.控制引腳 怎麼控制 3.狀態引腳 結果如何 暫存器相當於cpu內部的儲存單元,可能是連續排列,相當於 c語言中的陣列。一 8個通用暫存器 16 bit accumulate axah alr0 count cxch clr1 dat...