寄存器是什么有什么作用
寄存器是什么有什么作用
一、寄存器的定義
寄存器是**處理器內(nèi)的組成部分。寄存器是有限存貯容量的高速存貯部件,它們可用來(lái)暫存指令、數(shù)據(jù)和地址。
在**處理器的控制部件中,包含的寄存器有指令寄存器(IR)和程序計(jì)數(shù)器(PC)。
在**處理器的算術(shù)及邏輯部件中,寄存器有累加器(ACC)。
二、寄存器的作用
1、可將寄存器內(nèi)的數(shù)據(jù)執(zhí)行算術(shù)及邏輯運(yùn)算
2、存于寄存器內(nèi)的地址可用來(lái)指向內(nèi)存的某個(gè)位置,即尋址
3、可以用來(lái)讀寫數(shù)據(jù)到電腦的周邊設(shè)備。
擴(kuò)展資料:
寄存器工作原理:
CPU對(duì)存儲(chǔ)器中的數(shù)據(jù)進(jìn)行處理時(shí),往往先把數(shù)據(jù)取到內(nèi)部寄存器中,而后再作處理。外部寄存器是計(jì)算機(jī)中其它一些部件上用于暫存數(shù)據(jù)的寄存器,它與CPU之間通過(guò)“端口”交換數(shù)據(jù),外部寄存器具有寄存器和內(nèi)存儲(chǔ)器雙重特點(diǎn)。
外部寄存器雖然也用于存放數(shù)據(jù),但是它保存的數(shù)據(jù)具有特殊的用途。某些寄存器中各個(gè)位的0、1狀態(tài)反映了外部設(shè)備的工作狀態(tài)或方式;還有一些寄存器中的各個(gè)位可對(duì)外部設(shè)備進(jìn)行控制;也有一些端口作為CPU同外部設(shè)備交換數(shù)據(jù)的通路。所以說(shuō),端口是CPU和外設(shè)間的聯(lián)系橋梁。
CPU對(duì)端口的訪問(wèn)也是依據(jù)端口的“編號(hào)”,這一點(diǎn)又和訪問(wèn)存儲(chǔ)器一樣。不過(guò)考慮到機(jī)器所聯(lián)接的外設(shè)數(shù)量并不多,所以在設(shè)計(jì)機(jī)器的時(shí)候僅安排了1024個(gè)端口地址,端口地址范圍為0–3FFH。
為什么要有寄存器,只有內(nèi)存不就可以了嗎
萬(wàn)事都有它存在的價(jià)值!不然它就會(huì)消失!**處理器(CPU)由兩個(gè)主要部分———控制器及運(yùn)算器組成。其中程序計(jì)數(shù)器、指令寄存器、指令譯碼器、時(shí)序產(chǎn)生器和操作控制器等組成了控制器。
它是對(duì)計(jì)算機(jī)發(fā)布命令的“決策機(jī)構(gòu)”,協(xié)調(diào)和指揮整個(gè)計(jì)算機(jī)系統(tǒng)的操作,因此,它處于CPU中極其重要的位置。
在CPU中,除算術(shù)邏輯單元(ALU)及累加器外,尚有下列邏輯部件: (1)緩沖寄存器(DR) 緩沖寄存器用來(lái)暫時(shí)存放由內(nèi)存儲(chǔ)器讀出的一條指令或一個(gè)數(shù)據(jù)字;反之,當(dāng)向內(nèi)存存入一條指令或一個(gè)數(shù)據(jù)字時(shí),也暫時(shí)將它們存放在這里。緩沖寄存器的作用是:①作為CPU和內(nèi)存、外部設(shè)備之間信息傳送的中轉(zhuǎn)站;②補(bǔ)償CPU和內(nèi)存、外部設(shè)備之間在操作速度上的差別; ③在單累加器結(jié)構(gòu)的運(yùn)算器中,緩沖寄存器還可兼作為操作數(shù)寄存器。 (2)指令寄存器(IR)指令寄存器用來(lái)保存當(dāng)前正在執(zhí)行的一條指令。指令劃分為操作碼和地址碼字段,它們由二進(jìn)制數(shù)字組成。
為執(zhí)行任何給定的指令,必須對(duì)操作碼進(jìn)行譯碼,以便指出所要求的操作。指令寄存器中操作碼字段的輸出就是指令譯碼器的輸入。操作碼一經(jīng)譯碼后,即可向操作控制器發(fā)生具體操作的特定信號(hào)。
(3)程序計(jì)數(shù)器(PC) 為了保證程序能夠連續(xù)地執(zhí)行下去,CPU必須具有某些手段來(lái)確定下一條指令的地址。而程序計(jì)數(shù)器(PC)正是起到這種作用,所以通常又稱其為指令計(jì)數(shù)器。 (4)地址寄存器(AR) 地址寄存器用來(lái)保存當(dāng)前CPU所要訪問(wèn)的內(nèi)存單元的地址。
由于在內(nèi)存和CPU之間存在著操作速度上的差別,所以必須使用地址寄存器來(lái)保持地址信息,直到內(nèi)存讀/寫操作完成為止。 (5)累加寄存器(AC) 累加寄存器AC通常簡(jiǎn)稱為累加器。它的功能是:當(dāng)運(yùn)算器的算術(shù)/邏輯單元(ALU)執(zhí)行全部算術(shù)和邏輯運(yùn)算時(shí),為ALU提供一個(gè)工作區(qū)。
例如,在執(zhí)行一個(gè)加法前,先將一個(gè)操作數(shù)暫時(shí)存放在AC中,再?gòu)拇娣胖腥〕隽硪粋€(gè)操作數(shù),然后同AC的內(nèi)容相加,所得結(jié)果送回AC中,而AC中原有的內(nèi)容隨即被破壞。顧名思義,累加寄存器用來(lái)暫時(shí)存放ALU運(yùn)算的結(jié)果信息。顯然,運(yùn)算器中至少要有一個(gè)累加器寄存器。 由于運(yùn)算器的結(jié)構(gòu)不同,可采用多個(gè)累加寄存器。
(6)狀態(tài)寄存器(SR) 狀態(tài)寄存器保存由算術(shù)指令和邏輯指令運(yùn)行或測(cè)試結(jié)果建立的各種狀態(tài)碼內(nèi)容。 (7)操作控制器 操作控制器的功能,就是根據(jù)指令操作碼和時(shí)序信號(hào),產(chǎn)生各種操作控制信號(hào),以便正確地建立數(shù)據(jù)通路,從而完成取指令和執(zhí)行指令的控制。 根據(jù)設(shè)計(jì)方法不同,操作控制器可分為組合邏輯型、存儲(chǔ)邏輯型、組合邏輯與存儲(chǔ)邏輯結(jié)合型三種。**種稱為常規(guī)控制器,它是采用組合邏輯技術(shù)來(lái)實(shí)現(xiàn)的;第二種稱為微程序控制器,它是采用存儲(chǔ)邏輯來(lái)實(shí)現(xiàn)的;第三種稱為PLA控制器,它是吸收前兩種的設(shè)計(jì)思想來(lái)實(shí)現(xiàn)的。
(8)時(shí)序產(chǎn)生器 CPU中除了操作控制器外,還必須有時(shí)序產(chǎn)生器,因?yàn)橛?jì)算機(jī)高速地進(jìn)行工作,每一動(dòng)作的時(shí)間是非常嚴(yán)格的,不能有任何差錯(cuò)。時(shí)序產(chǎn)生器的作用,就是對(duì)各種操作實(shí)施時(shí)間上的控制。 2.控制器的組成 運(yùn)算器包括ALU、累加器、數(shù)據(jù)緩沖寄存器和狀態(tài)寄存器,而控制器的核心是操作控制器,圍繞它的有程序計(jì)數(shù)器(PC)、指令寄存器(IR)、指令譯碼器(ID)和時(shí)序產(chǎn)生器。 一、CPU的內(nèi)核 從結(jié)構(gòu)上講CPU內(nèi)核分為兩部分:運(yùn)算器和控制器。
(一) 運(yùn)算器 1、 算術(shù)邏輯運(yùn)算單元ALU(Arithmetic and Logic Unit) ALU主要完成對(duì)二進(jìn)制數(shù)據(jù)的定點(diǎn)算術(shù)運(yùn)算(加減乘除)、邏輯運(yùn)算(與或非異或)以及移位操作。在某些CPU中還有專門用于處理移位操作的移位器。 通常ALU由兩個(gè)輸入端和一個(gè)輸出端。
整數(shù)單元有時(shí)也稱為IEU(Integer Execution Unit)。我們通常所說(shuō)的“CPU是XX位的”就是指ALU所能處理的數(shù)據(jù)的位數(shù)。 2、 浮點(diǎn)運(yùn)算單元FPU(Floating Point Unit) FPU主要負(fù)責(zé)浮點(diǎn)運(yùn)算和高精度整數(shù)運(yùn)算。
有些FPU還具有向量運(yùn)算的功能,另外一些則有專門的向量處理單元。 3、 通用寄存器組 通用寄存器組是一組最快的存儲(chǔ)器,用來(lái)保存參加運(yùn)算的操作數(shù)和中間結(jié)果。 對(duì)于x86指令集只支持8個(gè)通用寄存器的缺點(diǎn),Intel**CPU采用了一種叫做“寄存器重命名”的技術(shù),這種技術(shù)使x86CPU的寄存器可以突破8個(gè)的限制,達(dá)到32個(gè)甚至更多。 4、 專用寄存器 專用寄存器通常是一些狀態(tài)寄存器,不能通過(guò)程序改變,由CPU自己控制,表明某種狀態(tài)。
(二) 控制器 運(yùn)算器只能完成運(yùn)算,而控制器用于控制著整個(gè)CPU的工作。 1、 指令控制器 指令控制器是控制器中相當(dāng)重要的部分,它要完成取指令、分析指令等操作,然后交給執(zhí)行單元(ALU或FPU)來(lái)執(zhí)行,同時(shí)還要形成下一條指令的地址。 2、 時(shí)序控制器 時(shí)序控制器的作用是為每條指令按時(shí)間順序提供控制信號(hào)。
時(shí)序控制器包括時(shí)鐘發(fā)生器和倍頻定義單元,其中時(shí)鐘發(fā)生器由石英晶體振蕩器發(fā)出非常穩(wěn)定的脈沖信號(hào),就百科是CPU的主頻;而倍頻定義單元?jiǎng)t定義了CPU主頻是存儲(chǔ)器頻率(總線頻率)的幾倍。 3、 總線控制器 總線控制器主要用于控制CPU的內(nèi)外部總線,包括地址總線、數(shù)據(jù)總線、控制總線等等。 4、中斷控制器 中斷控制器用于控制各種各樣的中斷請(qǐng)求,并根據(jù)優(yōu)先級(jí)的高低對(duì)中斷請(qǐng)求進(jìn)行排隊(duì),逐個(gè)交給CPU處理。 二、CPU的外核 1、解碼器(Decode Unit) 這是x86CPU特有的設(shè)備,它的作用是把長(zhǎng)度不定的x86指令轉(zhuǎn)換為長(zhǎng)度固定的指令,并交由內(nèi)核處理。
解碼分為硬件解碼和微解碼,對(duì)于簡(jiǎn)單的x86指令只要硬件解碼即可,速度較快,而遇到復(fù)雜的x86指令則需要進(jìn)行微解碼,并把它分成若干條簡(jiǎn)單指令,速度較慢且很復(fù)雜。好在這些復(fù)雜指令很少會(huì)用到。 2、一級(jí)緩存和二級(jí)緩存(Cache) 一級(jí)緩存和二級(jí)緩存是為了緩解較快的CPU與較慢的存儲(chǔ)器之間的矛盾而產(chǎn)生的,以及緩存通常集成在CPU內(nèi)核,而二級(jí)緩存則是以O(shè)nDie或OnBoard的方式以較快于存儲(chǔ)器的速度運(yùn)行。
對(duì)于一些大數(shù)據(jù)交換量的工作,CPU的Cache顯得尤為重要。 三、指令系統(tǒng) 要講CPU,還要了解一下指令系統(tǒng)?。
為什么要用寄存器??
回復(fù)11#是別的位可能出現(xiàn)錯(cuò)誤,你要置的位肯定沒(méi)問(wèn)題32位與16位操作相關(guān),不用影子寄存器可能會(huì)出錯(cuò)同時(shí)有影子寄存器是為了增加可靠性。當(dāng)然你平時(shí)不用影子寄存器沒(méi)有問(wèn)題是可以理解,因?yàn)槌鰡?wèn)題的概率比較低。