![第2章 16位微處理器_第1頁](http://file4.renrendoc.com/view12/M02/1A/20/wKhkGWX41qaASCMcAAD-6TE2H9k778.jpg)
![第2章 16位微處理器_第2頁](http://file4.renrendoc.com/view12/M02/1A/20/wKhkGWX41qaASCMcAAD-6TE2H9k7782.jpg)
![第2章 16位微處理器_第3頁](http://file4.renrendoc.com/view12/M02/1A/20/wKhkGWX41qaASCMcAAD-6TE2H9k7783.jpg)
![第2章 16位微處理器_第4頁](http://file4.renrendoc.com/view12/M02/1A/20/wKhkGWX41qaASCMcAAD-6TE2H9k7784.jpg)
![第2章 16位微處理器_第5頁](http://file4.renrendoc.com/view12/M02/1A/20/wKhkGWX41qaASCMcAAD-6TE2H9k7785.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第2章16位微處理器8086/8088是Intel早期最有影響的16位微處理器,CPU芯片采用CMOS工藝制造,用單一的+5V電源和單相時鐘,時鐘頻率為5MHz~10MHz。8086/8088微處理器有16根數(shù)據(jù)線和20根地址線,既能處理16位數(shù)據(jù),也能處理8位數(shù)據(jù),可尋址的內(nèi)存空間為1M。8088的內(nèi)部寄存器、運(yùn)算部件及內(nèi)部數(shù)據(jù)總線都是16位,而外部數(shù)據(jù)總線只有8位。2.1
8086/8088內(nèi)部寄存器
8086寄存器組又稱為8086的程序設(shè)計模型它是程序設(shè)計中惟一可見的CPU部件它是系統(tǒng)程序設(shè)計員的操作對象含14個16位寄存器,按功能可分為三類:通用寄存器,8個段寄存器,4個控制寄存器,2個8086/8088寄存器SPIPFLAGSAHALBHBLCHCLDHDLAXBXCXDXBPSIDICSDSESSS通用寄存器控制寄存器段寄存器16位16位2.1.1、通用寄存器
1.數(shù)據(jù)寄存器
包括AX,BX,CX,DX,用于暫時保存運(yùn)算數(shù)據(jù)(操作數(shù))和運(yùn)算結(jié)果。AX:被稱為累加寄存器,用于存放參與算術(shù)邏輯運(yùn)算的操作數(shù)和操作結(jié)果。所有I/O指令也都通過AX與外部設(shè)備進(jìn)行信息傳送?;芳拇嫫鰾X,用于存放訪問內(nèi)存時的基地址。計數(shù)寄存器CX,在循環(huán)和串操作指令中用作計數(shù)器,存放計數(shù)值。數(shù)據(jù)寄存器DX,在雙字長(32位)乘、除法運(yùn)算中,將DX與AX兩個寄存器組合成一個寄存器對,用來存放雙字長的數(shù)據(jù),其中,DX存放高16位,AX存放低16位。另外,在間接尋址的I/O指令中,把要訪問的I/O端口地址存放在DX中。2.地址指針寄存器SP:堆棧指針寄存器參見圖2-2其內(nèi)容為堆棧棧頂?shù)钠频刂?;任何堆棧操作后,SP都會自動增/減量。BP:基址指針寄存器在間接尋址中用于存放操作數(shù)的基地址;常用于訪問存放在堆棧中的數(shù)據(jù)。SP、BP都是16位寄存器,即可用來存放運(yùn)算過程中的操作數(shù),也可用來存放堆棧地址。BP可以用于存放要訪問的內(nèi)存單元的基地址。3.變址寄存器SI:源變址寄存器,用于訪問源操作數(shù)DI:目標(biāo)變址寄存器,用于訪問目的操作數(shù)常用于操作數(shù)的間接尋址或變址尋址。在串操作指令中,SI存放源操作數(shù)的偏移地址,而DI存放目標(biāo)操作數(shù)的偏移地址。SI、DI一般與段寄存器DS聯(lián)用,以確定數(shù)據(jù)段中某一內(nèi)存單元的實(shí)際地址。SI、DI具有自動增量和自動減量的功能。參見圖2-32.1.2段寄存器用于存放邏輯段的段基地址(簡稱段地址)CS:代碼段寄存器。代碼段存放指令代碼DS:數(shù)據(jù)段寄存器ES:附加段寄存器SS:堆棧段寄存器:指示堆棧區(qū)域的位置這兩個段存放操作數(shù)堆棧段SS數(shù)據(jù)段DS/ES代碼段CS2.1.3控制寄存器IP:指令指針寄存器其內(nèi)容為下一條要執(zhí)行的指令的偏移地址。與CS一起確定指令的實(shí)際地址。FLAGS:標(biāo)志寄存器存放指令執(zhí)行結(jié)果的特征:有些指令(如算術(shù)指令)要改變FLAGS的內(nèi)容(影響FLAGS);有些指令對FLAGS無影響。6個狀態(tài)標(biāo)志位(CF,SF,AF,PF,OF,ZF)3個控制標(biāo)志位(IF,TF,DF)ODITSZAPC1502467891011FLAGS狀態(tài)標(biāo)志反映指令對數(shù)據(jù)作用之后,結(jié)果的狀態(tài)(不是結(jié)果本身)。這些狀態(tài)將控制后續(xù)指令的執(zhí)行OF(OverflowFlag):溢出標(biāo)志(指補(bǔ)碼)
OF=1:在運(yùn)算過程中,如操作數(shù)超過了機(jī)器表示的范圍稱為溢出。OF=0:在運(yùn)算過程中,如操作數(shù)未超過了機(jī)器能表示的范圍稱為不溢出。求解方法:最高位進(jìn)位
次高位進(jìn)位字節(jié)允許范圍:-128—+127字允許范圍:-32768—+32767狀態(tài)標(biāo)志CF(CarryFlag):進(jìn)位/借位標(biāo)志CF=1:最高位需要向前產(chǎn)生進(jìn)位/借位。CF=0:最高位不會向前產(chǎn)生進(jìn)位/借位。AF(AuxiliaryCarryFlag):輔助進(jìn)位標(biāo)志AF=1:數(shù)據(jù)的第3位(半個字節(jié))需要向前產(chǎn)生進(jìn)位/借位。AF=0:數(shù)據(jù)的第3位(半個字節(jié))不會向前產(chǎn)生進(jìn)位/借位。狀態(tài)標(biāo)志SF(SignFlag):符號標(biāo)志SF=1:運(yùn)算結(jié)果的最高位為1,如果為帶符號數(shù),則為負(fù)數(shù)。SF=0:運(yùn)算結(jié)果的最高位為0,如果為帶符號數(shù),則為正數(shù)。帶符號數(shù)的最高位為符號位;而無符號數(shù)的最高位為數(shù)值位。ZF(ZeroFlag):全零標(biāo)志ZF=1:運(yùn)算結(jié)果為全0。不包括進(jìn)位的情況ZF=0:運(yùn)算結(jié)果不為0。狀態(tài)標(biāo)志PF(ParityFlag):奇偶標(biāo)志PF=1:結(jié)果的低8位中有偶數(shù)個1。PF=0:結(jié)果的低8位中有奇數(shù)個1。有些運(yùn)算操作將影響全部狀態(tài)標(biāo)志,如加法、減法運(yùn)算有些操作影響部分狀態(tài)標(biāo)志,如移位操作有些指令的操作不影響任何狀態(tài)標(biāo)志,如數(shù)據(jù)傳送指令10001101001101100011001000011001+0110011010101001運(yùn)算結(jié)果最高位為1 ∴SF=1;例:2個數(shù)相加后,分析各標(biāo)志位的值第三位向第四位有進(jìn)位 ∴AF=1;次高位向最高位有進(jìn)位,最高位向前沒有進(jìn)位,∴OF=1
0=1最高位沒有進(jìn)位 ∴CF=0;低8位中1的個數(shù)為偶數(shù)個 ∴PF=1;運(yùn)算結(jié)果本身≠0 ∴ZF=0;10001101001101100011001000011001-0010110010001100運(yùn)算結(jié)果最高位為0 ∴SF=0;例:2個數(shù)相減后,分析各標(biāo)志位的值第三位向第四位沒有借位 ∴AF=0;次高位向最高位沒有借位,最高位向前沒有借位,∴OF=0
0=0最高位沒有借位 ∴CF=0;低8位中1的個數(shù)為奇數(shù)個 ∴PF=0;運(yùn)算結(jié)果本身≠0 ∴ZF=0;例1、將兩數(shù)相加,即01001100加01100101,CF、PF、AF、ZF、SF、OF各為何值?
01001100
+0110010110110001CF=0,PF=1,AF=1,ZF=0,
SF=1,OF=1控制標(biāo)志控制標(biāo)志位的值不由數(shù)據(jù)運(yùn)算的結(jié)果決定,而由指令直接賦值控制標(biāo)志決定后續(xù)指令的執(zhí)行情況DF(DirectionFlag):方向控制標(biāo)志位用于串處理指令,控制從前往后、還是從后往前對字符串進(jìn)行操作處理DF=1,每次串處理操作后使變址寄存器SI和DI的值遞減,使串處理從高地址向低地址方向處理。DF=0,每次串處理操作后使變址寄存器SI和DI的值遞增,使串處理從低地址向高地址方向處理。控制標(biāo)志IF(InteruptFlag):中斷允許/禁止標(biāo)志位IF=1,允許外部可屏蔽中斷。CPU可以響應(yīng)可屏蔽中斷請求。IF=0,關(guān)閉中斷。CPU禁止響應(yīng)可屏蔽中斷請求。IF的狀態(tài)對不可屏蔽中斷和內(nèi)部軟中斷沒有影響。TF(TrapFlag):跟蹤(陷阱)標(biāo)志位TF=1,每執(zhí)行一條指令后,自動產(chǎn)生一次內(nèi)部中斷,使CPU處于單步執(zhí)行指令工作方式,便于進(jìn)行程序調(diào)試,用戶能檢查程序。TF=0,CPU正常工作,不產(chǎn)生陷阱??刂茦?biāo)志與狀態(tài)標(biāo)志的區(qū)別控制標(biāo)志的值:由系統(tǒng)程序或用戶程序根據(jù)需要用指令設(shè)置。狀態(tài)信息:由中央處理器執(zhí)行運(yùn)算指令,并根據(jù)運(yùn)算結(jié)果而自動設(shè)置。X86CPU也提供了直接設(shè)置狀態(tài)標(biāo)志之值的指令標(biāo)志名標(biāo)志為1標(biāo)志為0OF溢出(是/否)OVNVDF方向(減量/加量)DNUPIF中斷(允許/關(guān)閉)EIDISF符號(負(fù)/正)NGPLZF零(是/否)ZRNZAF輔助進(jìn)位(是/否)ACNAPF奇偶標(biāo)志(偶/奇)PEPOCF進(jìn)位標(biāo)志(是/否)CYNC調(diào)試狀態(tài)時,標(biāo)志位之值的符號表示
2.28086CPU的功能結(jié)構(gòu)8086內(nèi)部由兩部分組成:執(zhí)行單元(EU)
總線接口單元(BIU)兩個部件各自獨(dú)立工作。EU部件負(fù)責(zé)執(zhí)行指令。BIU負(fù)責(zé)指令和數(shù)據(jù)傳送,為EU提供要執(zhí)行的指令。1.執(zhí)行部件EU
執(zhí)行部件中包含一個16位的算術(shù)邏輯單元(ALU),8個16位的通用寄存器,一個16位的狀態(tài)標(biāo)志寄存器,一個數(shù)據(jù)暫存寄存器和執(zhí)行部件的控制電路。功能:從BIU的指令隊列中取出指令代碼,經(jīng)指令譯碼器譯碼后執(zhí)行指令所規(guī)定的全部功能。執(zhí)行指令所得結(jié)果或執(zhí)行指令所需的數(shù)據(jù),都由EU向BIU發(fā)出命令,對存儲器或I/O接口進(jìn)行讀/寫操作。2.總線接口部件BIU
總線接口部件BIU內(nèi)部設(shè)有四個16位段地址寄存器:代碼段寄存器CS、數(shù)據(jù)段寄存器DS、堆棧段寄存器SS和附加段寄存器ES,一個16位指令指針寄存器IP,一個6字節(jié)指令隊列緩沖器,20位地址加法器和總線控制電路。主要功能:根據(jù)執(zhí)行部件EU的請求,負(fù)責(zé)完成CPU與存儲器或I/O設(shè)備之間的數(shù)據(jù)傳送??偩€接口部件功能:從內(nèi)存中取指令到指令預(yù)取隊列IPQ;負(fù)責(zé)與內(nèi)存或I/O接口之間的數(shù)據(jù)傳送;在執(zhí)行轉(zhuǎn)移指令時,BIU將清除IPQ,然后從轉(zhuǎn)移的目的地址處開始取指令并重新填充IPQ。執(zhí)行部件功能:執(zhí)行指令,具體操作如下
從IPQ中取指令代碼
譯碼
完成指定的操作
結(jié)果保存到目的操作數(shù)
運(yùn)算特征保存在標(biāo)志寄存器FLAGS(僅對影響標(biāo)志的指令)執(zhí)行部件總線接口部件通用寄存器四個專用寄存器SP:堆棧指針,其內(nèi)容與堆棧段寄存器SS的內(nèi)容一起,提供堆棧操作地址。
BP:基址指針:構(gòu)成段內(nèi)偏移地址的一部分.
SI:(SourceIndex):SI含有源地址意思,產(chǎn)生有效地址或?qū)嶋H地址的偏移量。
DI:(DestinationIndex):DI含有目的意思,
產(chǎn)生有效地址或?qū)嶋H地址的偏移量。算術(shù)邏輯單元ALU:主要是加法器。大部分指令的執(zhí)行由加法器完成。標(biāo)志寄存器:16位字利用了9位。標(biāo)志分兩類:狀態(tài)標(biāo)志(6位):反映剛剛完成的操作結(jié)果情況。控制標(biāo)志(3位):在某些指令操作中起控制作用。20位地址加法器四個段寄存器:CS、DS、SS、ESCS管理代碼段;DS管理數(shù)據(jù)段SS管理堆棧段;ES管理附加段.16位的指令指針寄存器IP:IP中的內(nèi)容是下一條指令對現(xiàn)行代碼段基地址的偏移量,6字節(jié)的指令隊列指令隊列共六字節(jié),總線接口部件BIU從內(nèi)存取指令,取來的總是放在指令隊列中;執(zhí)行部件EU從指令隊列取指令,并執(zhí)行。8086操作方式比較取指令指令譯碼取操作數(shù)執(zhí)行指令存放結(jié)果
CPU執(zhí)行一條指令的過程類似于工廠生產(chǎn)流水線,被分解為多個小的步驟,稱為指令流水線。原料調(diào)度分配生產(chǎn)線成品倉庫出廠數(shù)據(jù)和程序指令控制器的調(diào)度分配ALU等功能部件處理后的數(shù)據(jù)存儲器輸出2.38086操作模式及引腳信號一.8086兩種工作模式:最小模式和最大模式最小模式不支持8087。存儲器和I/O控制信號全部由CPU產(chǎn)生。最大模式支持8087。CPU的部分信號線被用作8087的控制,因此需要由8288總線控制器來產(chǎn)生這些控制信號。最小模式下的連接示意圖8086CPU??控制總線數(shù)據(jù)總線地址總線地址鎖存器數(shù)據(jù)總線緩沖器ALE時鐘發(fā)生器8284A地址/數(shù)據(jù)82868282Vcc
MN/MXDENDT/R最大模式下的連接示意圖8088CPU數(shù)據(jù)總線地址總線地址鎖存器數(shù)據(jù)總線緩沖器時鐘發(fā)生器總線控制器控制總線8284A8288ALECLK
MN/MX82828286GND二、8086CPU的引線及功能引腳定義方法大致分為:每個引腳只傳送一種信息(如RD)電平的高低代表不同的含義(如M/IO)在不同模式下有不同的名稱和定義(如WR/LOCK)分時復(fù)用引腳(如AD15~AD0)引腳的輸入、輸出分別傳送不同的信息(如RQ/GT0)最小模式下的主要引線MN/MX
工作模式控制=0(接地):工作于最大模式;=1(接Vcc):工作于最小模式。最小模式下的主要引線地址總線、數(shù)據(jù)總線:AD15~AD0:三態(tài)地址/數(shù)據(jù)復(fù)用引腳。ALE=1時作為地址線A16~A0,ALE=0時作為數(shù)據(jù)線D16~D0。傳送地址時為輸出,傳送數(shù)據(jù)時為雙向。A19-A16/S6-S3:輸出,三態(tài)地址/狀態(tài)復(fù)用引腳。ALE=1時作為地址線A19~A16,ALE=0時作為控制信號。最小模式下的主要引線控制信號:WR:輸出,三態(tài)寫選通信號,表示CPU正在寫數(shù)據(jù)到MEM或I/O設(shè)備。RD:輸出,三態(tài)讀信號,表示CPU正在從總線上讀來自于MEM或I/O設(shè)備的數(shù)據(jù)。M/IO:輸出,三態(tài)區(qū)分是讀寫存儲器還是讀寫I/O端口(即地址總線上的地址是存儲器地址還是I/O端口地址)。最小模式下的主要引線DEN:輸出,三態(tài)數(shù)據(jù)總線允許信號。用來打開外部數(shù)據(jù)總線緩沖器。DT/R:輸出,三態(tài)表明CPU正在傳送還是接收數(shù)據(jù),用作外部數(shù)據(jù)總線緩沖器的方向控制;ALE:輸出地址鎖存允許信號,表示地址/數(shù)據(jù)總線上傳輸?shù)氖堑刂沸盘?。最小模式下的主要引線RESET:輸入復(fù)位信號,保持4個以上時鐘周期的高電平時將引起CPU進(jìn)入復(fù)位過程(IF清0,并從存儲單元FFFF0H開始執(zhí)行指令);BHE/S7:輸出高8位數(shù)據(jù)總線允許。在讀/寫操作期間允許高8位數(shù)據(jù)總線D16~D8有效(即讀/寫數(shù)據(jù)的高8位)。
READY:輸入準(zhǔn)備就緒。用于與存儲器或I/O接口的同步。=0時CPU進(jìn)入等待狀態(tài)(插入1個或多個等待周期)。中斷請求和響應(yīng)信號INTR:輸入可屏蔽中斷請求輸入端,CPU要檢查IF狀態(tài)NMI:輸入非屏蔽中斷請求輸入端,CPU不檢查IF狀態(tài)INTA:輸出中斷響應(yīng)信號,表示CPU已進(jìn)入中斷響應(yīng)周期。此信號常用來選通中斷向量號。2.48086/8088存儲器組織8086可訪問1MB的存儲空間(為什么?)哪個寄存器能夠放得下20位的地址?用分段的方法解決。段是存儲器中的一塊區(qū)域段起始于存儲器內(nèi)16字節(jié)整倍數(shù)的邊界處。段首地址的最低4位一定為0用段和偏移的組合訪問存儲單元每個段最大為64KB,最小為16B(此時最多64K個段)所有存儲單元的地址都由段地址加偏移地址組成段地址被裝入段寄存器中以供尋址使用偏移地址用于在64KB存儲器段內(nèi)選擇任一單元段和偏移設(shè)段起始地址=60000H段地址偏移地址0~FFFFH6A000H12H600
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 代辦簽證服務(wù)合同范例
- 2025年度建筑用五金配件購銷合同模板
- 醫(yī)用氣體合同范本
- 公路維修封路合同范例
- 2025年度防水材料環(huán)保認(rèn)證服務(wù)合同標(biāo)準(zhǔn)
- 2025年度湖北城市排水管道維護(hù)及清疏合同
- 冰柜采購合同范本
- 勞務(wù)公司簽合同范本
- 中興合同范本
- 醫(yī)廢清運(yùn)合同范例
- 市政道路監(jiān)理大綱34368
- 國際工程項目管理課件
- 珠海市政工程竣工檔案驗收指南(試行上)
- 2024年廣東省廣州市中考英語試卷附答案
- 良性前列腺增生癥患者圍手術(shù)期的護(hù)理
- DL∕T 1610-2016 變電站機(jī)器人巡檢系統(tǒng)通 用技術(shù)條件
- GB/T 44143-2024科技人才評價規(guī)范
- 《混合動力汽車用變速器效率臺架試驗方法》
- 對醫(yī)院領(lǐng)導(dǎo)的批評意見怎么寫更合適范文(6篇)
- 裕龍島煉化一體化項目(一期)環(huán)境影響報告
- 2024年北京卷英語真題
評論
0/150
提交評論