當(dāng)前位置:首頁(yè) > 技術(shù)學(xué)院 > 技術(shù)前線
[導(dǎo)讀]寄存器(cpu工作原理)

1、一個(gè)典型的CPU由運(yùn)算器、控制器、寄存器等器件組成,這些器件靠?jī)?nèi)部總線相連。

寄存器的原理

區(qū)別:

內(nèi)部總線實(shí)現(xiàn)CPU內(nèi)部各個(gè)器件之間的聯(lián)系。

外部總線實(shí)現(xiàn)CPU和主板上其它器件的聯(lián)系。

8086CPU有14個(gè)寄存器 它們的名稱為:

AX、BX、CX、DX、SI、DI、SP、BP、

IP、CS、SS、DS、ES、PSW。


寄存器的原理

8086CPU所有的寄存器都是16位的,可以存放兩個(gè)字節(jié),一個(gè)字節(jié)8位。

AX、BX、CX、DX 通常用來(lái)存放一般性數(shù)據(jù)被稱為通用寄存器。

一個(gè)16位寄存器所能存儲(chǔ)的數(shù)據(jù)的最大值為多少?

因?yàn)槊恳晃淮娣诺臄?shù)據(jù)是0或1,那么最大的數(shù)值自然就是 1111 1111 1111 1111(2),也就是2^16-1。

2、通用寄存器(重點(diǎn))

8086上一代CPU中的寄存器都是8位的,為保證兼容性,

這四個(gè)寄存器都可以分為兩個(gè)獨(dú)立的8位寄存器使用。

AX可以分為AH和AL;

BX可以分為BH和BL;

CX可以分為CH和CL;

DX可以分為DH和DL。


寄存器的原理

AX的低8位(0位~7位)構(gòu)成了AL寄存器,高8位(8位~15位)構(gòu)成了AH寄存器。

AH和AL寄存器是可以獨(dú)立使用的8位寄存器,如果當(dāng)成是8位寄存器使用,那么他們就是獨(dú)立的,沒(méi)有任何關(guān)系。

一個(gè)8位寄存器所能存儲(chǔ)的數(shù)據(jù)的最大值是多少?二進(jìn)制數(shù)值 1111 1111 ,也就是 2^8-1。


寄存器的原理

3、字在寄存器中的存儲(chǔ)


寄存器的原理


寄存器的原理


寄存器的原理


寄存器的原理

注意:在進(jìn)行數(shù)據(jù)傳送或運(yùn)算時(shí),要注意指令的操作數(shù)的位數(shù)要匹配。


寄存器的原理

4、物理地址的表示(重點(diǎn))

CPU訪問(wèn)內(nèi)存單元時(shí)要給出內(nèi)存單元的地址,所有的內(nèi)存單元構(gòu)成的存儲(chǔ)空間是一個(gè)一維的線性空間。

我們將這個(gè)唯一的地址稱為物理地址。

不同的CPU有不同的形成物理地址的方式。

(1)16位結(jié)構(gòu)的CPU

8086內(nèi)部為16位結(jié)構(gòu),它只能傳送16位的地址,表現(xiàn)出的尋址能力卻只有64K。

8086外部有20位地址總線,可傳送20位地址,尋址能力為1M。

那么,8086CPU如何用內(nèi)部16位的數(shù)據(jù),轉(zhuǎn)換成20位的地址呢?

8086CPU采用一種在內(nèi)部用兩個(gè)16位地址合成的方法來(lái)形成一個(gè)20位的物理地址。

段地址+偏移地址 -> 地址加法器 -> 20位的物理地址。

地址加法器合成物理地址的方法:段地址×16+偏移地址=物理地址。

“段地址×16”有一個(gè)更為常用的說(shuō)法就是數(shù)據(jù)左移4位。(二進(jìn)制位)

二進(jìn)制的數(shù)據(jù)左移4位,意味著乘以2^4=16。

這樣做的目的主要是為了彌補(bǔ)內(nèi)部總線16位的缺陷而設(shè)計(jì)的。


寄存器的原理


寄存器的原理


寄存器的原理


寄存器的原理


寄存器的原理

5、關(guān)于段空間

內(nèi)存沒(méi)有分段,段的劃分來(lái)自于CPU,

由于8086CPU用“(段地址×16)+偏移地址=物理地址”的方式給出內(nèi)存單元的物理地址,

使得我們可以用分段的方式來(lái)管理內(nèi)存。

以后,在編程時(shí)可以根據(jù)需要,將若干地址連續(xù)的內(nèi)存單元看作一個(gè)段,

用段地址×16定位段的起始地址(基礎(chǔ)地址),用偏移地址定位段中的內(nèi)存單元。

(1)段地址×16 必然是 16的倍數(shù),所以一個(gè)段的起始地址也一定是16的倍數(shù);

(2)偏移地址為16位,16 位地址的尋址能力為 64K,所以一個(gè)段的長(zhǎng)度最大為64K。

CPU可以用不同的段地址和偏移地址形成同一個(gè)物理地址。

如果給定一個(gè)段地址,僅通過(guò)變化偏移地址來(lái)進(jìn)行尋址,最多可以定位多少內(nèi)存單元?

因?yàn)槠频刂?6位,變化范圍為0~FFFFH,僅用偏移地址來(lái)尋址最多可尋64K個(gè)內(nèi)存單元。

比如:給定段地址1000H,用偏移地址尋址,CPU的尋址范圍為:10000H~1FFFFH。


寄存器的原理寄存器的原理

6、地址的描述

在8086PC機(jī)中,存儲(chǔ)單元的地址用兩個(gè)元素來(lái)描述。即段地址和偏移地址。

“數(shù)據(jù)在21F60H內(nèi)存單元中。”對(duì)于8086PC機(jī)的兩種描述:

(a)數(shù)據(jù)存在內(nèi)存2000:1F60單元中;

(b)數(shù)據(jù)存在內(nèi)存的2000段中的1F60H單元中。

可根據(jù)需要,將地址連續(xù)、起始地址為16的倍數(shù)的一組內(nèi)存單元定義為一個(gè)段。

7、段寄存器就是提供段地址的。

8086CPU有4個(gè)段寄存器: CS、DS、SS、ES。

CS和IP是8086CPU中最關(guān)鍵的寄存器,它們指示了CPU當(dāng)前要讀取指令的地址。

CS為代碼段寄存器,IP為指令指針寄存器。

在 8086CPU 加電啟動(dòng)或復(fù)位后( 即 CPU剛開(kāi)始工作時(shí))CS和IP被設(shè)置為CS=FFFFH,IP=0000H。

即在8086PC機(jī)剛啟動(dòng)時(shí),CPU從內(nèi)存FFFF0H單元中讀取指令執(zhí)行。

FFFF0H單元中的指令是8086PC機(jī)開(kāi)機(jī)后執(zhí)行的第一條指令。


寄存器的原理


寄存器的原理


寄存器的原理


寄存器的原理


寄存器的原理


寄存器的原理


寄存器的原理


寄存器的原理


寄存器的原理

8、修改CS,IP

mov指令不能用于設(shè)置CS、IP的值,8086CPU沒(méi)有提供這樣的功能。

8086CPU為CS、IP提供了另外的指令來(lái)改變它們的值:轉(zhuǎn)移指令

JMP 段地址:偏移地址

JMP 2AE3:3

功能:用指令中給出的段地址修改CS,偏移地址修改IP。CS = 2AE3H, IP = 0003H。

僅修改IP的內(nèi)容:

jmp 某一合法寄存器

jmp ax (類似于 mov IP,ax)

功能:用寄存器中的值修改IP。

8086機(jī)中,任意時(shí)刻,CPU將CS:IP指向的內(nèi)容當(dāng)作指令執(zhí)行。


寄存器的原理


寄存器的原理

9、關(guān)于debug指令(Win7沒(méi)有這個(gè)指令,XP才有)

R命令查看、改變CPU寄存器的內(nèi)容;

D命令查看內(nèi)存中的內(nèi)容;

E命令改寫(xiě)內(nèi)存中的內(nèi)容;

U命令將內(nèi)存中的機(jī)器指令翻譯成匯編指令;

T命令執(zhí)行一條機(jī)器指令;

A命令以匯編指令的格式在內(nèi)存中寫(xiě)入一條機(jī)器指令。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉