什么是寄存器
寄存器,是集成電路中非常重要的一種存儲(chǔ)單元,通常由觸發(fā)器組成。在集成電路設(shè)計(jì)中,寄存器可分為電路內(nèi)部使用的寄存器和充當(dāng)內(nèi)外部接口的寄存器這兩類。
內(nèi)部寄存器不能被外部電路或軟件訪問(wèn),只是為內(nèi)部電路的實(shí)現(xiàn)存儲(chǔ)功能或滿足電路的時(shí)序要求。而接口寄存器可以同時(shí)被內(nèi)部電路和外部電路或軟件訪問(wèn),CPU 中的寄存器就是其中一種,作為軟硬件的接口,為廣泛的通用編程用戶所熟知。
寄存器的用途
可將寄存器內(nèi)的數(shù)據(jù)執(zhí)行算術(shù)及邏輯運(yùn)算。
存于寄存器內(nèi)的地址可用來(lái)指向內(nèi)存的某個(gè)位置,即尋址。
可以用來(lái)讀寫數(shù)據(jù)到電腦的周邊設(shè)備。
什么是累加器
在中央處理器中,累加器 (accumulator) 是一種寄存器,用來(lái)儲(chǔ)存計(jì)算產(chǎn)生的中間結(jié)果。如果沒(méi)有像累加器這樣的寄存器,那么在每次計(jì)算 (加法,乘法,移位等等) 后就必須要把結(jié)果寫回到 內(nèi)存,也許馬上就得讀回來(lái)。然而存取主存的速度是比從算術(shù)邏輯單元到有直接路徑的累加器存取更慢。
累加器的作用
在運(yùn)算器中,累加器是專門存放算術(shù)或邏輯運(yùn)算的一個(gè)操作數(shù)和運(yùn)算結(jié)果的寄存器。能進(jìn)行加、減、讀出、移位、循環(huán)移位和求補(bǔ)等操作。是運(yùn)算器的主要部分。
在中央處理器 CPU 中,累加器(accumulator)是一種暫存器,它用來(lái)儲(chǔ)存計(jì)算所產(chǎn)生的中間結(jié)果。如果沒(méi)有像累加器這樣的暫存器,那么在每次計(jì)算(加法,乘法,移位等等)后就必須要把結(jié)果寫回到內(nèi)存,然后再讀回來(lái)。然而存取主內(nèi)存的速度是比從數(shù)學(xué)邏輯單元(ALU)到有直接路徑的累加器存取更慢。
在匯編語(yǔ)言程序中,累加器 —— AX 是一個(gè)非常重要的寄存器,但在程序中用它來(lái)保存臨時(shí)數(shù)據(jù)時(shí),最后將其轉(zhuǎn)存到其它寄存器或內(nèi)存單元中,以防止在其它指令的執(zhí)行過(guò)程中使其中的數(shù)據(jù)被修改,從而得到不正確的結(jié)果,為程序的調(diào)試帶來(lái)不必要的麻煩。
什么是暫存器
暫存器是用來(lái)暫存由數(shù)據(jù)總線或通用寄存的東西。它是中央處理器內(nèi)的其中組成部分。 暫存器是有限存貯容量的高速存貯部件,它們可用來(lái)暫存指令、 數(shù)據(jù)和位址 。
暫存器結(jié)構(gòu)組成
在中央處理器的控制部件中,包含的暫存器有指令暫存器 (IR)和程式計(jì)數(shù)器 (PC)。在中央處理器的算術(shù)及邏輯部件中,包含的暫存器有累加器 (ACC)。
在電腦架構(gòu)里,處理器中的暫存器是少量且速度快的電腦記憶體 ,借由提供快速共同地存取數(shù)值來(lái)加速電腦程式的執(zhí)行——典型地說(shuō)就是在已知時(shí)間點(diǎn)所作的之計(jì)算中間的數(shù)值。
暫存器是記憶體階層中的最頂端,也是系統(tǒng)操作資料的最快速途徑。 暫存器通常都是以他們可以保存的位元數(shù)量來(lái)估量的。暫存器現(xiàn)在都以暫存器陣列的方式來(lái)實(shí)作,但是他們也可能使用單獨(dú)的正反器 、高速的核心記憶體 、 薄膜記憶體以及在數(shù)種機(jī)器上的其他方式來(lái)實(shí)作出來(lái)。
這個(gè)名詞通常都用來(lái)意指由一個(gè)指令之輸出或輸入可以直接索引到的暫存器群組更適當(dāng)?shù)氖欠Q他們?yōu)椤凹軜?gòu)暫存器”。 例如, x86 指令及定義八個(gè) 32 位元暫存器的集合,但一個(gè)實(shí)作 x86 指令集的 CPU 可以包含比八個(gè)更多的暫存器。
暫存器的分類
資料暫存器 —— 用來(lái)儲(chǔ)存整數(shù)數(shù)字(參考以下的浮點(diǎn)暫存器)。在某些簡(jiǎn)單 / 舊的 CPU,特別的資料暫存器是累加器 ,作為數(shù)學(xué)計(jì)算之用。
位址暫存器 —— 持有記憶體位址,以及用來(lái)存取記憶體 。在某些簡(jiǎn)單 / 舊的 CPU 里,特別的位址暫存器是索引暫存器 (可能出現(xiàn)一個(gè)或多個(gè))。
通用目的暫存器 ( GPR s) —— 可以保存資料或位址兩者,也就是說(shuō)他們是結(jié)合資料 / 位址暫存器的功用。
浮點(diǎn)暫存器 ( FPR s) —— 用來(lái)儲(chǔ)存浮點(diǎn)數(shù)字。
常數(shù)暫存器 —— 用來(lái)持有唯讀的數(shù)值(例如 0、1、圓周率等等)。
向量暫存器 —— 用來(lái)儲(chǔ)存由向量處理器執(zhí)行 SIMD 指令所得到的資料。
特殊目的暫存器 —— 儲(chǔ)存 CPU 內(nèi)部的資料,像是程式計(jì)數(shù)器 (或稱為指令指標(biāo)),堆疊暫存器、以及狀態(tài)暫存器 (或稱微處理器狀態(tài)字組)。
指令暫存器 ( 英語(yǔ) :instrucTIon register ) —— 儲(chǔ)存現(xiàn)在正在被執(zhí)行的指令
索引暫存器 ( 英語(yǔ) :Index_register ) —— 是在程式執(zhí)行實(shí)用來(lái)更改運(yùn)算元位址之用。
累加器是寄存器嗎?
累加器的符號(hào)是 A,顧名思義,其意思是加,但是其除了能做累加器外,(A)還能做寄存器。對(duì)于累加器,有一些特別的指令是專門針對(duì)累加器的,比如在 8086 中的 RL,以及 mul 等指令,而在 51 單片機(jī)中 RL 對(duì)應(yīng)的寄存器只能是 A,總之 A 是個(gè)很特殊的寄存器,除了能做寄存器還能作累加器。
寄存器、累加器、暫存器有什么區(qū)別?
寄存器是 CPU 內(nèi)部存儲(chǔ)單元,即寄存器是 CPU 的組成部份。寄存器是有限存貯容量的高速存貯部件,它們可用來(lái)暫存指令、數(shù)據(jù)和位址等。
在 CPU 內(nèi)部,累加器 (accumulator) 是一種寄存器,所有數(shù)學(xué)運(yùn)算必須通過(guò)它進(jìn)行傳遞和運(yùn)算。
提到暫存器要從寄存器與存儲(chǔ)器來(lái)講:寄存器是 CPU 里的存儲(chǔ)單元,與 CPU 離得近,所以 CPU 在運(yùn)算時(shí)通常都會(huì)用寄存器當(dāng)中轉(zhuǎn)站。存儲(chǔ)器是在 CPU 外部的存儲(chǔ)器,例如,RAM、ROM。
暫存器顧名思義,就是暫時(shí)存放一定數(shù)量數(shù)據(jù)寄存器或存儲(chǔ)器。例如,目標(biāo)寄存器和結(jié)果寄存器都已有數(shù)據(jù),需要第三個(gè)數(shù)據(jù)輸入;編程時(shí)某一邏輯信號(hào)經(jīng)常多次使用,中間結(jié)果需要暫時(shí)記憶。
審核編輯 黃昊宇
-
寄存器
+關(guān)注
關(guān)注
31文章
5363瀏覽量
120919 -
暫存器
+關(guān)注
關(guān)注
0文章
12瀏覽量
8046 -
累加器
+關(guān)注
關(guān)注
0文章
50瀏覽量
9475
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論