微機(jī)原理與接口技術(shù)第2章80868088微處理器_第1頁(yè)
微機(jī)原理與接口技術(shù)第2章80868088微處理器_第2頁(yè)
微機(jī)原理與接口技術(shù)第2章80868088微處理器_第3頁(yè)
微機(jī)原理與接口技術(shù)第2章80868088微處理器_第4頁(yè)
微機(jī)原理與接口技術(shù)第2章80868088微處理器_第5頁(yè)
已閱讀5頁(yè),還剩51頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第2章

8088/8086微處理器1教學(xué)目的熟悉8088/8086微處理器的結(jié)構(gòu)及其外部引腳和功能掌握8088/8086微機(jī)存儲(chǔ)器的組織了解8088/8086微處理器的兩種工作模式了解8088/8086微處理器的工作時(shí)序第2章8086/8088微處理器23

CPU是計(jì)算機(jī)系統(tǒng)的核心部件,控制和協(xié)調(diào)整個(gè)計(jì)算機(jī)系統(tǒng)的工作?;竟δ埽骸堰M(jìn)行算術(shù)運(yùn)算和邏輯運(yùn)算;⊙對(duì)指令進(jìn)行譯碼、分析、執(zhí)行指令所規(guī)定的操作;⊙與存儲(chǔ)器和I/O接口進(jìn)行數(shù)據(jù)交換;⊙少量數(shù)據(jù)的暫存;⊙提供系統(tǒng)所需的定時(shí)和控制信號(hào);⊙響應(yīng)輸入輸出設(shè)備發(fā)出的中斷請(qǐng)求。 8088與8086同屬于第三代CPU,為16位CPU、地址總線寬度20位,20000條指令,CISC,它們支持完全相同的指令系統(tǒng)。區(qū)別:8086CPU內(nèi)部數(shù)據(jù)總線為16位,外部數(shù)據(jù)總線寬度為16位,而8088的外部數(shù)據(jù)總線寬度為8位;另外8086的指令預(yù)取隊(duì)列長(zhǎng)度為6字節(jié),而8088的指令預(yù)取隊(duì)列長(zhǎng)度為4字節(jié)。42.18088/8086微處理器的內(nèi)部結(jié)構(gòu)8086/8088包含兩大功能部件,即執(zhí)行單元(EU,ExecutionUnit)總線接口單元(BIU,BusInterfaceUnit)2.1.18086/8088CPU的功能結(jié)構(gòu)6AHALBLCLDLDHCHBH

CX

DXBXAXSPBPDICSDSSSESIP通用寄存器組暫存寄存器ALUFLAGSEU控制部件ALU數(shù)據(jù)總線16位8位Q總線指令隊(duì)列1234內(nèi)部通信寄存器地址加法器20位數(shù)據(jù)總線16位段寄存器總線控制邏輯SI執(zhí)行單元EU總線接口單元BIU1.執(zhí)行單元EU功能:譯碼分析指令,執(zhí)行指令,暫存中間運(yùn)算結(jié)果并保留結(jié)果特征。

從指令隊(duì)列中取指令代碼譯碼在ALU中完成數(shù)據(jù)的運(yùn)算運(yùn)算結(jié)果的特征保存在標(biāo)志寄存器FLAGS中。如果指令隊(duì)列為空,EU就等待;2.總線接口單元BIU功能:負(fù)責(zé)與內(nèi)存或輸入/輸出接口的信息傳送;EU從指令預(yù)取隊(duì)列中取走指令,指令隊(duì)列出現(xiàn)空字節(jié)時(shí),BIU就自動(dòng)執(zhí)行一次取指令周期,從內(nèi)存中取出后續(xù)的指令代碼放入指令預(yù)取隊(duì)列中;從指定的內(nèi)存單元或外設(shè)取EU需要的數(shù)據(jù);保存EU的運(yùn)算結(jié)果;當(dāng)遇到跳轉(zhuǎn)指令時(shí),BIU就使指令隊(duì)列復(fù)位,從新地址取出指令,并立即傳給EU去執(zhí)行。8088以前的CPU采用串行工作方式,指令的執(zhí)行過(guò)程一般為:取指令指令譯碼取操作數(shù)執(zhí)行指令存放結(jié)果在EU和BIU之間增設(shè)了指令預(yù)取隊(duì)列之后:在多數(shù)情況下,取指令操作和執(zhí)行指令操作并行進(jìn)行。8088/8086CPU的工作方式為并行工作指令預(yù)取隊(duì)列的存在使EU和BIU兩個(gè)部分可同時(shí)進(jìn)行工作,從而減少了CPU為取指令而等待的時(shí)間;降低了對(duì)存儲(chǔ)器存取速度的要求8088/8086CPU的這種結(jié)構(gòu)被稱為指令流水線結(jié)構(gòu)。新型CPU將一條指令劃分成更多的階段,以便可以同時(shí)執(zhí)行更多的指令,例如,PIII為14個(gè)階段,P4為20個(gè)階段(超級(jí)流水線)2.1.28088CPU的存儲(chǔ)器組織11物理地址●

8088/8086:20根地址線,可尋址220(1MB)個(gè)存儲(chǔ)單元?!馛PU送到AB上的20位的地址稱為物理地址。

代碼段物理地址..60000H60001H60002H60003H60004H...12HF0H1BH08H高地址低地址段基址段基址段基址段基址最大64KB,最小16B段i-1段i段i+112

物理地址是CPU操作時(shí)所使用的地址;邏輯地址是應(yīng)用人員在編程時(shí)所使用的地址。由邏輯地址形成物理地址是由總線接口部件中的地址加法器實(shí)現(xiàn)的。代碼段寄存器:CS數(shù)據(jù)段寄存器:DS堆棧段寄存器:SS附加段寄存器:ES問(wèn)題:8088的內(nèi)部總線和內(nèi)部寄存器均為16位,如何生成20位地址?解決:存儲(chǔ)器分段①8086/8088系統(tǒng)中把可直接尋址的1兆的內(nèi)存空間分為段的邏輯區(qū)域。每段的物理長(zhǎng)度為64KB。②每段的第一個(gè)內(nèi)存單元的物理地址稱為段起始地址,段起始地址必須能被16整除,形式如XXXX0H,XXXXH為段基址,即段起始地址的高16位。段基址存在段寄存器CS、DS、SS、ES中。相對(duì)于該段起始地址的字節(jié)數(shù)稱為偏移量;段基址和段內(nèi)偏移量又稱為邏輯地址。段起始地址可由軟件指定③每個(gè)段都由連續(xù)的存儲(chǔ)單元構(gòu)成,并且獨(dú)立尋址。存儲(chǔ)器如何分段?段基地址和段內(nèi)偏移量組成了邏輯地址

段基址偏移地址(偏移量)表示為:段基址:段內(nèi)偏移量如:2000:0370H物理地址=段基址×10H+偏移地址0AH3EH60002H00H12H60000H0000段基地址(16位)段首地址×××???×××已知CS=1055H,DS=250AH,ES=2EF0H,SS=8FF0H,

DS段有一操作數(shù),其偏移地址=0204H,

1)畫出各段在內(nèi)存中的分布

2)指出各段末地址

3)該操作數(shù)的物理地址=?10550H250A0H2EF00H8FF00HCSSSCSDSES解:

各段分布及段首址見(jiàn)右圖所示。操作數(shù)的物理地址為:250AH×10H+0204H=252A4H存儲(chǔ)器為什么要分段?因?yàn)?088/8086的寄存器都是16位的,無(wú)法裝載20位的物理地址,所以它采用了將地址空間分段的方法;方便存儲(chǔ)器的管理,采用分段甚至分頁(yè)來(lái)管理,使得多個(gè)程序可以并行運(yùn)行;分段尋址允許程序在存儲(chǔ)器內(nèi)重定位(浮動(dòng)),可以把整個(gè)程序作為一個(gè)整體移到一個(gè)新的區(qū)域。允許實(shí)模式編寫的程序在保護(hù)模式下運(yùn)行。程序當(dāng)中使用的地址都是邏輯地址。信息按特征分段存儲(chǔ)。含14個(gè)16位寄存器,按功能可分為三類:8個(gè)通用寄存器4個(gè)段寄存器2個(gè)控制寄存器2.1.38088CPU的寄存器結(jié)構(gòu)AHALBLCLDLDHCHBHDXCXBXAXSPBPDISI目的變址寄存器源變址寄存器基址指針寄存器堆棧指針寄存器通用寄存器AHALBLCLDLDHCHBHDXCXBXAXSPBPSIDIIPFLAGSCSDSSSES控制寄存器指令指針狀態(tài)標(biāo)志代碼段寄存器數(shù)據(jù)段寄存器堆棧段寄存器附加段寄存器目的變址寄存器源變址寄存器基址指針寄存器堆棧指針寄存器通用寄存器段寄存器202.1.38088CPU的寄存器結(jié)構(gòu)AHALAXBHBLBXCHCLCXDHDLDX堆棧指針寄存器SP基址指針寄存器BP源變址寄存器SI目的變址寄存器DI指令指針I(yè)P狀態(tài)標(biāo)志FLAGS代碼段寄存器CS數(shù)據(jù)段寄存器DS堆棧段寄存器SS附加段寄存器ES按

分通

器專

器數(shù)據(jù)寄存器指針寄存器變址寄存器段寄存器控制寄存器數(shù)據(jù)寄存器8088含4個(gè)16位數(shù)據(jù)寄存器,它們又可分為8個(gè)8位寄存器,即:AXAH,ALBXBH,BLCXCH,CLDXDH,DL常用來(lái)存放參與運(yùn)算的操作數(shù)或運(yùn)算結(jié)果數(shù)據(jù)寄存器特有的習(xí)慣用法AX:累加器。多用于存放中間運(yùn)算結(jié)果。所有I/O指令必須都通過(guò)AX與接口傳送信息;BX:基址寄存器。常用于存放訪問(wèn)內(nèi)存時(shí)的偏移地 址;CX:計(jì)數(shù)寄存器。用于在循環(huán)或串操作指令中存放循環(huán)次數(shù)或重復(fù)次數(shù);DX:數(shù)據(jù)寄存器。在32位乘除法運(yùn)算時(shí),存放高16位數(shù);在間接尋址的I/O指令中存放

I/O端口地址。地址指針寄存器SP:堆棧指針寄存器,其內(nèi)容為棧頂?shù)钠频刂罚籅P:基址指針寄存器,常用于在訪問(wèn)內(nèi)存時(shí)存放內(nèi)存單元的偏移地址。BX與BP在應(yīng)用上的區(qū)別作為通用寄存器,二者均可用于存放數(shù)據(jù);作為基址寄存器,BX通常用于數(shù)據(jù)段,一般與DS或ES搭配使用;BP則通常用于堆棧段,與SS搭配使用。變址寄存器SI:源變址寄存器DI:目標(biāo)變址寄存器變址寄存器常用于指令的間接尋址或變址尋址.段寄存器用于存放邏輯段的段基地址。

CS:代碼段寄存器 DS:數(shù)據(jù)段寄存器

ES:附加段寄存器 SS:堆棧段寄存器堆棧段用于存放返回地址,保存寄存器內(nèi)容,傳遞參數(shù)。指令指針寄存器IP:指令指針寄存器,其內(nèi)容為下一條要執(zhí)行的指令的偏移地址;標(biāo)志寄存器FR(FlagRegister)、pswFLAGS:標(biāo)志寄存器(程序狀態(tài)字PSW)狀態(tài)標(biāo)志:存放運(yùn)算結(jié)果的特征控制標(biāo)志:控制某些特殊操作6個(gè)狀態(tài)標(biāo)志位(CF,SF,AF,PF,OF,ZF)3個(gè)控制標(biāo)志位(IF,TF,DF)

CF-進(jìn)位標(biāo)志:算術(shù)運(yùn)算時(shí)有進(jìn)位CF=1,無(wú)進(jìn)位CF=0PF-奇偶標(biāo)志:運(yùn)算結(jié)果中“1”的個(gè)數(shù)為偶數(shù)PF=1AF-輔助進(jìn)位標(biāo)志:第3位向第4位有進(jìn)位時(shí)AF=1ZF-零標(biāo)志:運(yùn)算結(jié)果為“0”則ZF=1SF-符號(hào)標(biāo)志:運(yùn)算結(jié)果為負(fù)數(shù)時(shí)SF=1OF-溢出標(biāo)志:運(yùn)算結(jié)果超出規(guī)定范圍OF=1IF-中斷允許標(biāo)志:IF=1中斷允許DF-方向標(biāo)志,DF=0地址加1TF-跟蹤標(biāo)志,TF=1,為單步工作方式2.2

8088CPU的引腳及其功能雙列直插式封裝40個(gè)引腳圖2-68088微處理器芯片引腳圖30318088/8086特點(diǎn)3:支持多處理器系統(tǒng)最小模式:系統(tǒng)控制總線的信號(hào)由芯片本身的引腳直接引出。僅需少量設(shè)備便可構(gòu)成一個(gè)小型應(yīng)用系統(tǒng),也稱為單處理機(jī)模式。不能DMA最大模式:系統(tǒng)總線由8088和總線控制器8288共同構(gòu)成。這種模式下構(gòu)成的微型機(jī)除8088CPU以外,還可以接一個(gè)協(xié)處理器8087。也稱為多處理器模式。8088/8086可工作于兩種模式32332.28088CPU的引腳及功能引腳定義的方法可大致分為:每個(gè)引腳只傳送一種信息(RD等);引腳電平的高低代表不同的信號(hào)(IO/M等);CPU工作于不同方式有不同的名稱和定義(WR/LOCK等);分時(shí)復(fù)用引腳(AD7

~AD0等);為了減少芯片的引腳,8088的許多引腳具有雙重定義和功能,可以分時(shí)復(fù)用;即在不同時(shí)刻,這些引線上的信號(hào)是不同的。引腳的輸入和輸出分別傳送不同的信息。3440條引腳, 雙列直插式封裝=1,最小模式=0,最大模式地址、段寄存器狀態(tài)復(fù)用;S6=0,S5=IF,S4S3=00,ESS4S3=01,SSS4S3=10,CSS4S3=11,DS=1,訪問(wèn)輸入輸出端口;=0,訪問(wèn)存儲(chǔ)器數(shù)據(jù)允許信號(hào),數(shù)據(jù)總線上有有效數(shù)據(jù);數(shù)據(jù)傳送方向控制信號(hào),=1,CPU發(fā)送數(shù)據(jù);=0,CPU接收數(shù)據(jù);輸入信號(hào),由內(nèi)存或I/O設(shè)備發(fā)出。VccA15A16/S3A17/S4A18/S5A19/S6SS0 HIGHMN/MXRD 無(wú)功能HOLD RQ/GT0HLDA RQ/GT1WR

LOCKIO/M S2DT/R S1DEN S0ALE QS0INTA QS1TEST READYRESET12345678910111213141516171819204039383736353433323130292827262524232221GNDA14A13A12A11A10A9A8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGND地址鎖存允許信號(hào),ALE=1,可屏蔽中斷請(qǐng)求輸入信號(hào);系統(tǒng)狀態(tài)信號(hào)輸出;圖2-78088讀周期的時(shí)序圖3536IO/MDT/RSS0操作000發(fā)中斷響應(yīng)信號(hào)001讀內(nèi)存010寫內(nèi)存011暫停100取指令101讀I/O端口110寫I/O端口111無(wú)作用SS0與IO/M、DT/R共同決定了最小模式下當(dāng)前總線周期的狀態(tài)。37

復(fù)位后的內(nèi)部寄存器狀態(tài)內(nèi)部寄存器內(nèi)容

內(nèi)部寄存器內(nèi)容CSFFFFH

IP0000HDS0000H

FLAGS0000HSS0000H

其余寄存器0000HES0000H

指令隊(duì)列空38主要引線(最小模式下)8088是工作在最小還是最大模式由MN/MX端狀態(tài)決定:MN/MX=0時(shí)工作于最大模式,反之工作于最小模式。數(shù)據(jù)信號(hào)線(DB)與地址信號(hào)線(AB):AD7~AD0:三態(tài),地址/數(shù)據(jù)復(fù)用線。ALE有效時(shí)輸出地址的低8位。傳送數(shù)據(jù)信號(hào)時(shí)為雙向。A19~A16:三態(tài),輸出。高4位地址信號(hào),與狀態(tài)信號(hào)S6-S3分時(shí)復(fù)用。A15~A8:三態(tài),輸出。輸出8位地址信號(hào)。39主要的控制和狀態(tài)信號(hào)WR:三態(tài),輸出。寫命令信號(hào);RD:三態(tài),輸出。讀命令信號(hào);IO/M:三態(tài),輸出。指出當(dāng)前訪問(wèn)的是存儲(chǔ)器還是I/O接口。高:I/O接口,低:內(nèi)存DEN:三態(tài),輸出。低電平時(shí),表示DB上的數(shù)據(jù)有效;RESET:輸入,為高時(shí),CPU執(zhí)行復(fù)位;ALE:三態(tài),輸出。高:AB地址有效;DT/R:三態(tài),輸出。數(shù)據(jù)傳送方向,高:CPU輸出,低:CPU輸入40[例]:當(dāng)WR=1,RD=0,IO/M=0時(shí),表示CPU當(dāng)前正在進(jìn)行讀存儲(chǔ)器操作。41READY信號(hào)(輸入):用于協(xié)調(diào)CPU與存儲(chǔ)器、I/O接口之間的速度差異,READY信號(hào)由存儲(chǔ)器或I/O接口發(fā)出。READY=0時(shí),CPU就在T3后插入TW周期,插入的TW個(gè)數(shù)取決于READY何時(shí)變?yōu)楦唠娖?。CPU處于空閑狀態(tài)。42中斷請(qǐng)求和響應(yīng)信號(hào)INTR:輸入,可屏蔽中斷請(qǐng)求輸入端。高:有INTR中斷請(qǐng)求NMI:輸入,非屏蔽中斷請(qǐng)求輸入端。低高,有NMI中斷請(qǐng)求INTA:輸出,對(duì)INTR信號(hào)的響應(yīng)。43總線保持信號(hào)HOLD:總線保持請(qǐng)求信號(hào)輸入端。當(dāng)CPU以外的其他設(shè)備要求占用總線時(shí),通過(guò)該引腳向CPU發(fā)出請(qǐng)求。HLDA:輸出,對(duì)HOLD信號(hào)的響應(yīng)。為高電平時(shí),表示CPU已放棄總線控制權(quán),所有三態(tài)信號(hào)線均變?yōu)楦咦锠顟B(tài)。44VccA15A16/S3A17/S4A18/S5A19/S6SS0 HIGHMN/MXRD 無(wú)功能HOLD RQ/GT0HLDA RQ/GT1WR

LOCKIO/M S2DT/R S1DEN S0ALE QS0INTA QS1TEST READYRESET12345678910111213141516171819204039383736353433323130292827262524232221GNDA14A13A12A11A10A9A8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGND3.最大模式引腳為使微處理器工作于最大模式,應(yīng)將MN/MX引腳接地。S2,S1和S0:這些狀態(tài)位顯示當(dāng)前總線周期的功能。它們通常由8288總線控制器譯碼。45S2S1S0功能000中斷響應(yīng)001讀I/O010寫I/O011暫停100取操作碼101讀存儲(chǔ)器110寫存儲(chǔ)器111無(wú)效狀態(tài)表2-3總線控制器(8288)使用S2,S1和S0產(chǎn)生的總線控制功能463.最大模式引腳47IO/MDT/RSS0操作100發(fā)中斷響應(yīng)信號(hào)101讀I/O端口110寫I/O端口111暫停000取指令0

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論