大連理工計(jì)算機(jī)原理-Ch2_第1頁(yè)
大連理工計(jì)算機(jī)原理-Ch2_第2頁(yè)
大連理工計(jì)算機(jī)原理-Ch2_第3頁(yè)
大連理工計(jì)算機(jī)原理-Ch2_第4頁(yè)
大連理工計(jì)算機(jī)原理-Ch2_第5頁(yè)
已閱讀5頁(yè),還剩63頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

微機(jī)原理盧偉

Email:

luwei@Office:大黑樓B705TEL:84706161大連理工大學(xué)自動(dòng)化系2/3/20231微型計(jì)算機(jī)原理講義2.18086/8088微處理器的編程結(jié)構(gòu)及指令執(zhí)行過(guò)程

2.1.18086/8088微處理器概述2.1.28086/8088微處理器編程結(jié)構(gòu)2.1.38086/8088微處理器程序執(zhí)行過(guò)程2.28086/8088存貯器分段技術(shù)

2.2.1存貯器分段技術(shù)2.2.2堆棧2.38086/8088微處理器

2.3.18086/8088微處理器信號(hào)引腳和工作模式2.3.28086/8088系統(tǒng)存貯器的結(jié)構(gòu)及I/O管理2.3.2典型的系統(tǒng)配置及操作時(shí)序第二章8086/8088微處理器的體系結(jié)構(gòu)2/3/20232微型計(jì)算機(jī)原理講義體系結(jié)構(gòu)的含義

計(jì)算機(jī)體系結(jié)構(gòu)=ComputerArchitecture計(jì)算機(jī)體系結(jié)構(gòu)是程序員所看到的系統(tǒng)的一些屬性:概念性的結(jié)構(gòu)和功能上的表現(xiàn),這些屬性既不同于數(shù)據(jù)流和控制的組織,也不同于邏輯設(shè)計(jì)和物理實(shí)現(xiàn)。

計(jì)算機(jī)體系結(jié)構(gòu)是連接硬件和軟件的一門(mén)學(xué)科,它研究的內(nèi)容不但涉及計(jì)算機(jī)硬件,也涉及計(jì)算機(jī)軟件。概述2/3/20233微型計(jì)算機(jī)原理講義2.1.18086/8088微處理器概述1.8086/8088微處理器的外形和封裝Intel1978年推出3um工藝5V電壓主頻:4.77~10MHZ集成度約3萬(wàn)個(gè)晶體管DIP(雙列直插)封裝2.18086/8088微處理器編程結(jié)構(gòu)及指令執(zhí)行過(guò)程2.1.18086/8088微處理器概述2/3/20234微型計(jì)算機(jī)原理講義2.8086/8088微處理器概述8086:Intel系列的16位微處理器,16根數(shù)據(jù)線、20根地址線,內(nèi)部有16位的寄存器組,可尋址地址范圍220=1MB,8086工作時(shí),只要一個(gè)5V電源和一個(gè)時(shí)鐘,時(shí)鐘頻率約為5MHz。8088:準(zhǔn)16位微處理器,內(nèi)部與8086兼容,只是外部數(shù)據(jù)總線為8位。它具有包括乘法和除法的16位運(yùn)算指令,所以能處理16位數(shù)據(jù),還能處理8位數(shù)據(jù)。8088有20根地址線,所以可尋址的地址空間達(dá)220,即1M字節(jié)。2.18086/8088微處理器編程結(jié)構(gòu)及指令執(zhí)行過(guò)程2.1.18086/8088微處理器概述2/3/20235微型計(jì)算機(jī)原理講義2.1.28086/8088微處理器編程結(jié)構(gòu)AHALBHBLCHCLDHDLSPBPDISI通用寄存器暫存器ALU標(biāo)志EU控制123456CSDSSSESIP內(nèi)部寄存器I/O控制電路地址加法器20位16位8位指令隊(duì)列緩沖器外總線EU(執(zhí)行部件)BIU(總線接口部件)8086CPU結(jié)構(gòu)圖AXBXCXDX2.18086/8088微處理器編程結(jié)構(gòu)及指令執(zhí)行過(guò)程2.1.28086/8088微處理器編程結(jié)構(gòu)專(zhuān)用寄存器2/3/20236微型計(jì)算機(jī)原理講義1、功能:(1)從取指令送到指令隊(duì)列。(2)微處理器執(zhí)行指令時(shí),到指定的位置取操作數(shù),并將其送至要求的位置單元中。2、組成:四個(gè)16位段地址寄存器

CS,16位代碼段寄存器;DS,16位數(shù)據(jù)段寄存器;ES,16位附加段寄存器;SS,16位堆棧段寄存器;BIU---總線接口部件8086采用分段技術(shù)實(shí)現(xiàn)對(duì)存儲(chǔ)器的管理,分別用這四個(gè)段寄存器來(lái)存放當(dāng)前相應(yīng)段的段起始地址,也稱(chēng)作基址寄存器。2.18086/8088微處理器編程結(jié)構(gòu)及指令執(zhí)行過(guò)程2.1.28086/8088微處理器編程結(jié)構(gòu)2/3/20237微型計(jì)算機(jī)原理講義16位指令指針寄存器IPIP始終指向當(dāng)前代碼段(CS)所要取出的下一條指令的地址。每取出一個(gè)字節(jié)指令后,IP自動(dòng)加1??梢杂棉D(zhuǎn)移指令、調(diào)用指令及中斷和復(fù)位等改變IP值。20位地址加法器產(chǎn)生20位地址(物理地址)。CPU內(nèi)無(wú)論是段地址寄存器還是偏移量都是16位的,通過(guò)地址加法器產(chǎn)生20位地址(物理地址)。段地址左移4位+段內(nèi)偏移量20位實(shí)際物理地址段地址×16+段內(nèi)偏移量20位實(shí)際物理地址2.18086/8088微處理器編程結(jié)構(gòu)及指令執(zhí)行過(guò)程2.1.28086/8088微處理器編程結(jié)構(gòu)2/3/20238微型計(jì)算機(jī)原理講義12340022123400220段基值偏移量左移4位物理地址邏輯地址

12362+)例2.1設(shè)代碼段寄存器CS的內(nèi)容為1234H,指令指針I(yè)P的內(nèi)容為0022H,即(CS)=1234H,(IP)=0022H,則訪問(wèn)代碼段存儲(chǔ)單元的物理地址計(jì)算如下:2.18086/8088微處理器編程結(jié)構(gòu)及指令執(zhí)行過(guò)程2.1.28086/8088微處理器編程結(jié)構(gòu)2/3/20239微型計(jì)算機(jī)原理講義物理地址與邏輯地址在有地址變換機(jī)構(gòu)的計(jì)算機(jī)系統(tǒng)中,每個(gè)存儲(chǔ)單元可以看成具有兩種地址:物理地址和邏輯地址。物理地址是信息在存儲(chǔ)器中實(shí)際存放的地址,它是CPU訪問(wèn)存儲(chǔ)器時(shí)實(shí)際輸出的地址。例如,8086系統(tǒng)的物理地址是20位,存儲(chǔ)空間為220=1M字節(jié)單元,地址范圍從00000H到FFFFFH。CPU和存儲(chǔ)器交換數(shù)據(jù)時(shí)所使用的就是這樣的物理地址。邏輯地址是編程時(shí)所使用的地址?;蛘哒f(shuō)程序設(shè)計(jì)時(shí)所涉及的地址是邏輯地址而不是物理地址。編程時(shí)不需要知道產(chǎn)生的代碼或數(shù)據(jù)在存儲(chǔ)器中的具體物理位置。這樣可以簡(jiǎn)化存儲(chǔ)資源的動(dòng)態(tài)管理。在實(shí)模式下的軟件結(jié)構(gòu)中,邏輯地址由“段基值”和“偏移量”兩部分構(gòu)成。2.1.28086/8088微處理器編程結(jié)構(gòu)2.18086/8088微處理器編程結(jié)構(gòu)及指令執(zhí)行過(guò)程2/3/202310微型計(jì)算機(jī)原理講義6字節(jié)的指令隊(duì)列(ISQ)Intel8086(8088)設(shè)置有6(4)個(gè)字節(jié)的ISQ,當(dāng)ISQ中出現(xiàn)2(1)個(gè)字節(jié)空時(shí),CPU中的總線接口單元將自動(dòng)完成指令填充,當(dāng)遇到分支、跳轉(zhuǎn)、子程序調(diào)用等情況時(shí),ISQ會(huì)自動(dòng)清空,并從新的程序位置取出指令進(jìn)行填充。事實(shí)上,8086就采用了流水線(Pipeline)設(shè)計(jì)技術(shù)。堆棧和隊(duì)列堆棧(Stack):按照后進(jìn)先出(LIFO)的原則組織的存儲(chǔ)器空間。隊(duì)列(Queue):按照先進(jìn)先出(FIFO)的原則組織的存儲(chǔ)器空間。2.18086/8088微處理器編程結(jié)構(gòu)及指令執(zhí)行過(guò)程2.1.28086/8088微處理器編程結(jié)構(gòu)2/3/202311微型計(jì)算機(jī)原理講義堆棧段地址棧頂,由堆棧指針指示81H82H83H84H堆棧結(jié)構(gòu)示意圖隊(duì)列結(jié)構(gòu)示意圖隊(duì)列頭部隊(duì)列尾部與EU通訊的內(nèi)部寄存器總線控制邏輯2.1.28086/8088微處理器編程結(jié)構(gòu)2.18086/8088微處理器編程結(jié)構(gòu)及指令執(zhí)行過(guò)程81H82H83H84H2/3/202312微型計(jì)算機(jī)原理講義1、功能:

(1)從指令隊(duì)列中取出指令。(2)對(duì)指令進(jìn)行譯碼,發(fā)出相應(yīng)相應(yīng)的控制信號(hào)。(3)接收由總線接口送來(lái)的數(shù)據(jù)或發(fā)送數(shù)據(jù)至接口。(4)進(jìn)行算術(shù)運(yùn)算。2、組成:四個(gè)通用寄存器

AX,BX,CX,DX-------都是16位的也可做兩個(gè)8位寄存器使用。EU---執(zhí)行部件2.1.28086/8088微處理器編程結(jié)構(gòu)2.18086/8088微處理器編程結(jié)構(gòu)及指令執(zhí)行過(guò)程2/3/202313微型計(jì)算機(jī)原理講義四個(gè)專(zhuān)用寄存器SP------堆棧指針寄存器BP------基址指針寄存器DI------目的變址寄存器SI------源變址寄存器16位算數(shù)邏輯單元完成8位或者16位二進(jìn)制算術(shù)和邏輯運(yùn)算,計(jì)算偏移量。數(shù)據(jù)寄存器用于存放操作數(shù)及中間結(jié)果,AX和AL可用作累加操作,因此又可稱(chēng)作累加器。地址指針寄存器用于存放操作數(shù)的地址,編程時(shí)通過(guò)修改寄存器的內(nèi)容達(dá)到修改地址的目的。2.1.28086/8088微處理器編程結(jié)構(gòu)2.18086/8088微處理器編程結(jié)構(gòu)及指令執(zhí)行過(guò)程2/3/202314微型計(jì)算機(jī)原理講義數(shù)據(jù)暫存寄存器協(xié)助ALU完成運(yùn)算,暫存參加運(yùn)算的數(shù)據(jù)。EU控制電路從總線接口的指令隊(duì)列取出指令操作碼,通過(guò)譯碼電路分析,發(fā)出相應(yīng)的控制命令,控制ALU數(shù)據(jù)流向。

16位標(biāo)志寄存器(FLAG)6個(gè)狀態(tài)標(biāo)志,3個(gè)控制標(biāo)志IF、DF、TF,剩下7位保留2.1.28086/8088微處理器編程結(jié)構(gòu)2.18086/8088微處理器編程結(jié)構(gòu)及指令執(zhí)行過(guò)程2/3/202315微型計(jì)算機(jī)原理講義溢出標(biāo)志進(jìn)借位標(biāo)志奇偶標(biāo)志半進(jìn)借位標(biāo)志零標(biāo)志符號(hào)標(biāo)志單步中斷中斷允許方向標(biāo)志1-低8位有偶數(shù)個(gè)10-低8位有奇數(shù)個(gè)11-低4位向高4位有進(jìn)、借位0-低4位向高4位無(wú)進(jìn)、借位1-結(jié)果為00-結(jié)果不為01-有進(jìn)、借位0-無(wú)進(jìn)、借位2.1.28086/8088微處理器編程結(jié)構(gòu)2.18086/8088微處理器編程結(jié)構(gòu)及指令執(zhí)行過(guò)程2/3/202316微型計(jì)算機(jī)原理講義2.1.38086/8088微處理器程序執(zhí)行過(guò)程2.18086/8088微處理器編程結(jié)構(gòu)及指令執(zhí)行過(guò)程2.1.38086/8088微處理器程序執(zhí)行過(guò)程指令隊(duì)列中出現(xiàn)兩個(gè)字節(jié)為空時(shí)自動(dòng)按CS值和IP值組成20位實(shí)際物理地址到存儲(chǔ)器中取指令,一次取兩個(gè)字節(jié)指令存放到指令隊(duì)列中。EU從BIU指令隊(duì)列中讀取指令。由EU控制電路對(duì)指令進(jìn)行譯碼分析,指出操作性質(zhì)及操作對(duì)象。EU執(zhí)行指令,如果執(zhí)行指令時(shí)必需訪問(wèn)存儲(chǔ)器或者I/O端口,則在EU中計(jì)算出操作數(shù)的16位地址偏移量送給BIU,由BIU的∑形成20位物理地址。BIU根據(jù)EU請(qǐng)求,將操作數(shù)的20位物理地址傳遞給存儲(chǔ)器。BIU取來(lái)操作數(shù)經(jīng)總線控制邏輯傳送到內(nèi)部EU數(shù)據(jù)總線。EU將取來(lái)的操作數(shù)從內(nèi)部總線送入ALU,進(jìn)行指令指定的操作。EU運(yùn)算出的結(jié)果,經(jīng)內(nèi)部總線送到指定的位置,若需要傳送給存儲(chǔ)器或者I/O端口,則由EU請(qǐng)求BIU產(chǎn)生20位實(shí)際目標(biāo)地址,將結(jié)果寫(xiě)入存儲(chǔ)器或者I/O接口。2/3/202317微型計(jì)算機(jī)原理講義為什么要采用存儲(chǔ)器“分段”技術(shù)?8086CPU可直接尋址的地址空間為220=1M字節(jié)單元。CPU需輸出20位地址信息才能實(shí)現(xiàn)對(duì)1M字節(jié)單元存儲(chǔ)空間的尋址。但8086CPU中所使用的寄存器均是16位的,內(nèi)部ALU也只能進(jìn)行16位運(yùn)算,其尋址范圍局限在216=65536(64K)字節(jié)單元。為了實(shí)現(xiàn)對(duì)1M字節(jié)單元的尋址,80x86系統(tǒng)采用了存儲(chǔ)器分段技術(shù)。

具體做法是:將1M字節(jié)的存儲(chǔ)空間分成許多邏輯段,每段最長(zhǎng)64K字節(jié)單元,可以用16位地址碼進(jìn)行尋址。每個(gè)邏輯段在實(shí)際存儲(chǔ)空間中的位置是可以浮動(dòng)的,其起始地址可由段寄存器的內(nèi)容來(lái)確定。邏輯段在物理存儲(chǔ)器中的位置如圖所示。2.28086/8088存儲(chǔ)器分段技術(shù)2/3/202318微型計(jì)算機(jī)原理講義2.2.1存儲(chǔ)器分段技術(shù)FFFFFH邏輯段1起點(diǎn)邏輯段2起點(diǎn)邏輯段3起點(diǎn)邏輯段4起點(diǎn)00000H邏輯段2≤

64KB邏輯段3≤

64KB邏輯段4≤

64KB

邏輯段1≤64KB2.2.1存儲(chǔ)器分段技術(shù)2.28086/8088存儲(chǔ)器分段技術(shù)2/3/202319微型計(jì)算機(jī)原理講義各個(gè)邏輯段在實(shí)際的存儲(chǔ)空間中可以完全分開(kāi),也可以部分重疊,甚至完全重疊。段的起始地址的計(jì)算和分配通常是由操作系統(tǒng)完成的,并不需要普通用戶(hù)參與?!岸位怠笔嵌蔚钠鹗嫉刂贰!捌屏俊?offset)也稱(chēng)偏移地址,它是所訪問(wèn)的存儲(chǔ)單元距段的起始地址之間的字節(jié)距離。給定段基值和偏移量,就可以在存儲(chǔ)器中尋址所訪問(wèn)的存儲(chǔ)單元。2.2.1存儲(chǔ)器分段技術(shù)2.28086/8088存儲(chǔ)器分段技術(shù)2/3/202320微型計(jì)算機(jī)原理講義需注意的是,每個(gè)存儲(chǔ)單元有惟一的物理地址,但它可以由不同的“段基值”和“偏移量”轉(zhuǎn)換而來(lái),這只要把段基值和偏移量改變?yōu)橄鄳?yīng)的值即可。也就是說(shuō),同一個(gè)物理地址可以由不同的邏輯地址來(lái)構(gòu)成。或者說(shuō),同一個(gè)物理地址與多個(gè)邏輯地址相對(duì)應(yīng)。例如,段基值為0020H,偏移量為0013H,構(gòu)成的物理地址為00213H;然而,若段基值改變?yōu)?021H,配以新的偏移量0003H,其物理地址仍然是00213H,如圖示。2.2.1存儲(chǔ)器分段技術(shù)2.28086/8088存儲(chǔ)器分段技術(shù)2/3/202321微型計(jì)算機(jī)原理講義00213H00212H00211H00210H0020FH0020EH0020DH0020CH0020BH0020AH00209H00208H00207H00206H00205H00204H00203H00202H00201H00200H段基值(0021H)段基值(0020H)偏移量(13H)物理地址偏移量(03H)邏輯地址2.2.1存儲(chǔ)器分段技術(shù)2.28086/8088存儲(chǔ)器分段技術(shù)2/3/202322微型計(jì)算機(jī)原理講義下圖進(jìn)一步說(shuō)明了這種“段加偏移”的尋址機(jī)制如何選擇所訪問(wèn)的存儲(chǔ)單元的情形。這里段寄存器的內(nèi)容為1000H,偏移地址為2000H。圖中顯示了一個(gè)64KB長(zhǎng)的存儲(chǔ)器段,該段起始于10000H,結(jié)束于1FFFFH。圖中也表示了如何通過(guò)段基值(段寄存器的內(nèi)容)和偏移量找到存儲(chǔ)器中被選單元的情形。偏移量(offset)也稱(chēng)偏移地址,正如圖中所示,它是自段的起始位置到所選存儲(chǔ)單元之間的距離(或跨度)。2.2.1存儲(chǔ)器分段技術(shù)2.28086/8088存儲(chǔ)器分段技術(shù)2/3/202323微型計(jì)算機(jī)原理講義1FFFFH(段終址)10000H(段始址)12000H(被選單元)一個(gè)邏輯段(64KB)FFFFFH存儲(chǔ)器1000H偏移量=2000H00000H2.2.1存儲(chǔ)器分段技術(shù)2.28086/8088存儲(chǔ)器分段技術(shù)2/3/202324微型計(jì)算機(jī)原理講義上圖中段的起始地址10000H是由段寄存器內(nèi)容1000H左移4位低位補(bǔ)0(或在1000H后邊添加0H)而得到的。段的結(jié)束地址1FFFFH是由段起始地址10000H與段長(zhǎng)度FFFFH(64K)相加之結(jié)果。還需指出的是,在這種“段加偏移”的尋址機(jī)制中,由于是將段寄存器的內(nèi)容左移4位(相當(dāng)于乘以十進(jìn)制數(shù)16)來(lái)作為段的起始地址的,所以各個(gè)邏輯段只能起始于存儲(chǔ)器中16字節(jié)整數(shù)倍的邊界。這樣可以簡(jiǎn)化CPU生成物理地址的操作。通常稱(chēng)這16字節(jié)的小存儲(chǔ)區(qū)域?yàn)椤靶《巍?、“分段”或“?jié)”(paragraph)。2.2.1存儲(chǔ)器分段技術(shù)2.28086/8088存儲(chǔ)器分段技術(shù)2/3/202325微型計(jì)算機(jī)原理講義在“段加偏移”的尋址機(jī)制中,微處理器有一套用于定義各種尋址方式中段寄存器和偏移地址寄存器的組合規(guī)則。2.2.1存儲(chǔ)器分段技術(shù)2.28086/8088存儲(chǔ)器分段技術(shù)2/3/202326微型計(jì)算機(jī)原理講義段寄存器(CS、DS、ES、SS)與地址指針寄存器(SP、BP、SI、DI)默認(rèn)是隱含配對(duì)使用,但也允許段超越。2.2.1存儲(chǔ)器分段技術(shù)2.28086/8088存儲(chǔ)器分段技術(shù)2/3/202327微型計(jì)算機(jī)原理講義

堆棧定義:堆棧是存儲(chǔ)器中的一個(gè)特定的存儲(chǔ)區(qū),它的一端(棧底)是固定的,另一端(棧頂)是浮動(dòng)的,信息的存入和取出都只能在浮動(dòng)的一端進(jìn)行,并且遵循后進(jìn)先出(LastInFirstOut)的原則。

堆棧的用途:

堆棧主要用來(lái)暫時(shí)保存程序運(yùn)行時(shí)的一些地址或數(shù)據(jù)信息。例如,當(dāng)CPU執(zhí)行調(diào)用(Call)指令時(shí),用堆棧保存程序的返回地址(亦稱(chēng)斷點(diǎn)地址);在中斷響應(yīng)及中斷處理時(shí),通過(guò)堆棧“保存現(xiàn)場(chǎng)”和“恢復(fù)現(xiàn)場(chǎng)”;有時(shí)也利用堆棧為子程序傳遞參數(shù)。2.2.2堆棧2.2.2堆棧2.28086/8088存儲(chǔ)器分段技術(shù)2/3/202328微型計(jì)算機(jī)原理講義堆棧的結(jié)構(gòu):

堆棧是在存儲(chǔ)器中實(shí)現(xiàn)的,并由堆棧段寄存器SS和堆棧指針寄存器SP來(lái)定位。SS寄存器中存放的是堆棧段的段基值,它確定了堆棧段的起始位置。SP寄存器中存放的是堆棧操作單元的偏移量,SP總是指向棧頂,如下圖所示。

值得注意的是,這種結(jié)構(gòu)的堆棧通常是所謂“向下生長(zhǎng)的”,即棧底在堆棧的高地址端,當(dāng)堆棧為空時(shí)SP就指向棧底。因此,堆棧段的段基址(由SS寄存器確定)并不是棧底。2.2.2堆棧2.28086/8088存儲(chǔ)器分段技術(shù)2/3/202329微型計(jì)算機(jī)原理講義2.2.2堆棧2.28086/8088存儲(chǔ)器分段技術(shù)2/3/202330微型計(jì)算機(jī)原理講義堆棧的操作特點(diǎn):8086下堆棧為16位寬(字寬),堆棧操作指令(PUSH指令或POP指令)對(duì)堆棧的操作總是以字為單位進(jìn)行。即要壓棧(執(zhí)行PUSH指令)時(shí),先將SP的值減2,然后將16位的信息壓入新的棧頂;要彈棧(執(zhí)行POP指令)時(shí),先從當(dāng)前棧頂取出16位的信息,然后將SP的值加2。可概括為:“壓棧時(shí),先修改棧指針后壓入”,“彈棧時(shí),先彈出后修改棧指針”。例2.2若寄存器AX,BX,CX,DX的內(nèi)容分別為10,20,30,40時(shí),依次執(zhí)行PUSHAX,PUSHBX,POPCX,POPDX,PUSHCX,PUSHDX,POPAX,POPBX后,寄存器AX和BX的內(nèi)容分別為什么?2.2.2堆棧2.28086/8088存儲(chǔ)器分段技術(shù)2/3/202331微型計(jì)算機(jī)原理講義20根地址線/16根數(shù)據(jù)線分時(shí)復(fù)用,先傳地址后傳數(shù)據(jù)。根據(jù)所連的存儲(chǔ)器和外設(shè)規(guī)模的不同,使它們可以在兩種模式下工作:系統(tǒng)的最小模式:只有一個(gè)8086/8088微處理器。系統(tǒng)的最大模式:有兩個(gè)或兩個(gè)以上的CPU,一個(gè)為主處理器8086/8088,另一個(gè)為協(xié)處理器8087/8089。2.38086/8088微處理器2/3/202332微型計(jì)算機(jī)原理講義2.3.18086/8088微處理器的信號(hào)引腳和工作模式幾個(gè)術(shù)語(yǔ):時(shí)鐘周期(T狀態(tài)):微處理器處理動(dòng)作的最小時(shí)間單位,也是微處理器的基本時(shí)間計(jì)量單位。指令周期:執(zhí)行一條指令所需要的時(shí)間??偩€周期(機(jī)器周期):微處理器通過(guò)總線與存儲(chǔ)器或I/O接口進(jìn)行一次數(shù)據(jù)傳輸所需的時(shí)間。一個(gè)最基本的總線周期由4個(gè)時(shí)鐘周期(T狀態(tài))組成。T1T2T3TWT4總線周期2.3.18086/8088微處理器的信號(hào)引腳和工作模式2.38086/8088微處理器2/3/202333微型計(jì)算機(jī)原理講義2.3.18086/8088微處理器的信號(hào)引腳和工作模式2.38086/8088微處理器2/3/202334微型計(jì)算機(jī)原理講義最小模式下引腳信號(hào)和功能

AD0~AD15:地址數(shù)據(jù)復(fù)用總線雙向,三態(tài),高電平有效。分時(shí)傳送16位數(shù)據(jù)和地址的低16位,由ALE鎖存地址信息。A16/S3~A19/S6:

地址/狀態(tài)引腳輸出,三態(tài),高電平有效。分時(shí)輸出地址的高4位或微處理器當(dāng)前的狀態(tài),地址信息由ALE鎖存。BHE/S7:

高8位數(shù)據(jù)總線允許/狀態(tài)引腳

輸出,三態(tài),低電平有效。BHE為低電平表示高8位數(shù)據(jù)線D15~D8上數(shù)據(jù)有效,BHE由ALE鎖存。BHE和A0可用于分別選中奇偶地址,并控制讀/寫(xiě)一個(gè)字或者字節(jié)。2.3.18086/8088微處理器的信號(hào)引腳和工作模式2.38086/8088微處理器2/3/202335微型計(jì)算機(jī)原理講義ALE:地址鎖存允許信號(hào)輸出、高電平有效。表示總線上的信息是地址信息。M/IO:存儲(chǔ)器/輸入輸出口控制信號(hào)輸出,三態(tài)。高電平表示當(dāng)前的信息是存儲(chǔ)器地址信息;低電平表示當(dāng)前的信息是I/O口地址信息。RD:讀信號(hào)輸出,三態(tài),低電平有效。表示CPU正在從存儲(chǔ)器或I/O口讀入數(shù)據(jù)。WR:寫(xiě)信號(hào)輸出,三態(tài),低電平有效。表示CPU正向存儲(chǔ)器或I/O口輸出數(shù)據(jù)。2.3.18086/8088微處理器的信號(hào)引腳和工作模式2.38086/8088微處理器2/3/202336微型計(jì)算機(jī)原理講義DT/R:數(shù)據(jù)收發(fā)信號(hào)輸出,三態(tài),高電平表示CPU正在發(fā)送數(shù)據(jù);低電平表示CPU接收數(shù)據(jù)DEN:數(shù)據(jù)允許信號(hào)輸出,三態(tài),低電平有效。表示CPU正在進(jìn)行數(shù)據(jù)收發(fā)操作INTR:可屏蔽中斷請(qǐng)求信號(hào)輸入,高電平有效。表示外部向CPU提出中斷申請(qǐng)。INTA:中斷響應(yīng)信號(hào)輸出,低電平有效。表示外設(shè)的中斷申請(qǐng)得到響應(yīng)。NMI:非屏蔽中斷申請(qǐng)信號(hào)輸入,上升沿有效。表示外部有非屏蔽中斷申請(qǐng)。非屏蔽中斷不受軟件控制,CPU必須響應(yīng)。2.3.18086/8088微處理器的信號(hào)引腳和工作模式2.38086/8088微處理器2/3/202337微型計(jì)算機(jī)原理講義HOLD:總線保持請(qǐng)求信號(hào)輸入,高電平有效。表示其他模塊(如DMAC)申請(qǐng)占用總線HLDA:總線保持響應(yīng)信號(hào)輸出,高電平有效。表示CPU已讓出總線。READY:準(zhǔn)備好信號(hào)輸入,高電平有效。高電平表示存儲(chǔ)器或I/O口已準(zhǔn)備好接收數(shù)據(jù),外部使READY為低電平CPU要插入等待周期。TEST:測(cè)試信號(hào)輸入,低電平有效。有效時(shí)CPU退出WAIT指令。2.3.18086/8088微處理器的信號(hào)引腳和工作模式2.38086/8088微處理器2/3/202338微型計(jì)算機(jī)原理講義RESET:復(fù)位信號(hào)輸入,高電平有效,至少保持4個(gè)時(shí)鐘周期的高電平。復(fù)位時(shí)CPU停止現(xiàn)行操作,并開(kāi)始進(jìn)行初始化:標(biāo)志寄存器FLAG,IP,DS,SS,ES及指令隊(duì)列均清零;CS設(shè)置為FFFFH,復(fù)位結(jié)束時(shí)CPU從FFFF0H開(kāi)始執(zhí)行程序。MN/MX:最小/最大模式控制信號(hào)輸入,高電平,微處理器工作在最小模式,低電平,微處理器工作在最大模式。CLK:時(shí)鐘信號(hào)8086時(shí)鐘頻率約5MHZ、T=200ns;單相,占空比為1/3。VCC,GND:電源及地單+5V,滿(mǎn)足TTL規(guī)范2.3.18086/8088微處理器的信號(hào)引腳和工作模式2.38086/8088微處理器2/3/202339微型計(jì)算機(jī)原理講義最大模式下引腳信號(hào)和功能最大模式下8086有8個(gè)控制信號(hào)被重新定義,此時(shí)系統(tǒng)中可接入?yún)f(xié)處理器8087或8089。1、S2,S1,S0:總線周期狀態(tài)信號(hào)輸出,三個(gè)信號(hào)組合產(chǎn)生系統(tǒng)控制信號(hào),由總線控制器8288譯碼。2.3.18086/8088微處理器的信號(hào)引腳和工作模式2.38086/8088微處理器2/3/202340微型計(jì)算機(jī)原理講義LOCK:總線封鎖信號(hào)三態(tài),輸出,低電平有效。有效時(shí)禁止其他部件占用總線。RQ0/GT0,RQ1/GT1:總線請(qǐng)求/允許信號(hào)雙向,低電平有效。有兩個(gè)總線請(qǐng)求與總線響應(yīng)信號(hào),支持多處理器工作。QS1,QS0:指令隊(duì)列狀態(tài)信號(hào)輸出,兩個(gè)信號(hào)組合指示指令隊(duì)列狀態(tài)。2.3.18086/8088微處理器的信號(hào)引腳和工作模式2.38086/8088微處理器2/3/202341微型計(jì)算機(jī)原理講義8086與8088在引腳上的區(qū)別8086微處理器8088微處理器

16位AB復(fù)用8位AB復(fù)用BHE高八位數(shù)據(jù)允許SS0/高電平M/IO引腳選擇存儲(chǔ)器/IO口M/IO引腳選擇存儲(chǔ)器/IO口2.3.18086/8088微處理器的信號(hào)引腳和工作模式2.38086/8088微處理器2/3/202342微型計(jì)算機(jī)原理講義2.3.28086/8088系統(tǒng)中存儲(chǔ)器的結(jié)構(gòu)和I/O的管理

8086CPU有20根地址線,它的尋址空間為220=1M字節(jié),這1M字節(jié)的存儲(chǔ)空間按照00000H-FFFFFH來(lái)編址。2.3.28086/8088系統(tǒng)中存儲(chǔ)器的結(jié)構(gòu)和I/O的管理2.38086/8088微處理器2/3/202343微型計(jì)算機(jī)原理講義1、存儲(chǔ)器的組織8086系統(tǒng)中,1M字節(jié)分為2個(gè)512K的存儲(chǔ)體,一個(gè)存儲(chǔ)體中的地址都是偶數(shù)地址,叫偶體,另一個(gè)都是奇數(shù)地址,叫做奇體。2.3.28086/8088系統(tǒng)中存儲(chǔ)器的結(jié)構(gòu)和I/O的管理2.38086/8088微處理器2/3/202344微型計(jì)算機(jī)原理講義訪問(wèn)一個(gè)存儲(chǔ)體,只需19位地址,剩下一位用來(lái)區(qū)分訪問(wèn)那個(gè)存儲(chǔ)體。A0=0為偶存儲(chǔ)體,A0=1為奇存儲(chǔ)體。BHE信號(hào):由該信號(hào)和A0控制讀寫(xiě)那個(gè)存儲(chǔ)體。2.3.28086/8088系統(tǒng)中存儲(chǔ)器的結(jié)構(gòu)和I/O的管理2.38086/8088微處理器2/3/202345微型計(jì)算機(jī)原理講義2.3.28086/8088系統(tǒng)中存儲(chǔ)器的結(jié)構(gòu)和I/O的管理2.38086/8088微處理器2/3/202346微型計(jì)算機(jī)原理講義2、存儲(chǔ)器分段技術(shù)3、存儲(chǔ)器的地址和內(nèi)容存儲(chǔ)器通常以字節(jié)編址,一個(gè)字節(jié)單元有一個(gè)唯一的一個(gè)物理地址。地址通常以16進(jìn)制數(shù)表示。如20位地址總線,其地址范圍為00000~FFFFFH。一個(gè)存儲(chǔ)單元中存放的信息稱(chēng)為該單元的內(nèi)容。

若存放的信息是字節(jié),則按順序存放

若存放的信息是字,則將字的低位字節(jié)存放在低地址,高位

字節(jié)存放在高地址,以低地址作為該字的地址。

若存放的信息是雙字,則將雙字的低位字存放在低地址,高位字存放在高地址,以低地址作為該雙字的地址。2.3.28086/8088系統(tǒng)中存儲(chǔ)器的結(jié)構(gòu)和I/O的管理2.38086/8088微處理器2/3/202347微型計(jì)算機(jī)原理講義4、存儲(chǔ)器的專(zhuān)用區(qū)和保留區(qū)

Intel公司預(yù)先占用了存儲(chǔ)器的最高和最低地址區(qū)域。

物理地址0H到7FH的128個(gè)字節(jié)用來(lái)保存中斷號(hào)為0H到1FH的中斷向量表(32個(gè)中斷向量),每個(gè)中斷向量占4個(gè)字節(jié)。

FFFF0H到FFFFFH的16個(gè)字節(jié)保留給系統(tǒng)的初始化代碼。在上電或復(fù)位時(shí),執(zhí)行的第一條指令就在FFFF0H處。通常FFFF0H處存放一條無(wú)條件轉(zhuǎn)移指令,轉(zhuǎn)到系統(tǒng)程序的入口處。2.3.28086/8088系統(tǒng)中存儲(chǔ)器的結(jié)構(gòu)和I/O的管理2.38086/8088微處理器2/3/202348微型計(jì)算機(jī)原理講義5、8088系統(tǒng)中的存儲(chǔ)器結(jié)構(gòu)8088與8086的存儲(chǔ)器結(jié)構(gòu)基本相同,區(qū)別如下:(1)8088是準(zhǔn)16位微處理器,外部數(shù)據(jù)總線是8位的,所以1MB是單一存儲(chǔ)體,不分奇偶體。(2)8088在16位操作時(shí)都要兩次訪問(wèn)存儲(chǔ)器。2.3.28086/8088系統(tǒng)中存儲(chǔ)器的結(jié)構(gòu)和I/O的管理2.38086/8088微處理器2/3/202349微型計(jì)算機(jī)原理講義6、I/O端口的管理

8086微處理器用20位地址線中的低16位來(lái)管理64KB的I/O端口空間。8086微處理器對(duì)I/O端口進(jìn)行操作時(shí),需要用專(zhuān)門(mén)的指令來(lái)進(jìn)行操作,并且只能通過(guò)累加器AX或者AL來(lái)完成。存儲(chǔ)器和I/O端口采用獨(dú)立編址方式進(jìn)行編址。存儲(chǔ)器的地址空間為00000H~FFFFFH,I/O端口的地址空間為0000H~FFFFH。I/O端口是I/O接口電路中能夠被微處理器尋址和訪問(wèn)的存儲(chǔ)單元。常見(jiàn)的存儲(chǔ)器和I/O端口的編址方式有:(1)獨(dú)立編址:Intel、Zilog等。(2)統(tǒng)一編址:Motorola等。2.3.28086/8088系統(tǒng)中存儲(chǔ)器的結(jié)構(gòu)和I/O的管理2.38086/8088微處理器2/3/202350微型計(jì)算機(jī)原理講義2.3.3典型的系統(tǒng)配置及操作時(shí)序最小模式系統(tǒng)最小模式是一個(gè)以8086為主體的單處理器系統(tǒng),所有控制信號(hào)均由CPU直接提供。最小系統(tǒng)的硬件包括一片8284A作為時(shí)鐘發(fā)生器;三片8282(或74LS373)作為地址鎖存器;兩片8286/8287(或74LS245)作為數(shù)據(jù)收發(fā)器。2.3.3典型的系統(tǒng)配置及操作時(shí)序2.38086/8088微處理器2/3/202351微型計(jì)算機(jī)原理講義2.3.3典型的系統(tǒng)配置及操作時(shí)序2.38086/8088微處理器2/3/202352微型計(jì)算機(jī)原理講義最小模式系統(tǒng)連接說(shuō)明Intel8282把AD復(fù)用引腳連接到地址總線上的8位地址鎖存器。在最小系統(tǒng)中,由3片8282(低電平鎖存,功能同74LS373)鎖存地址A0~A19和BHE。ALE為鎖存信號(hào)。Intel8286把AD復(fù)用引腳連接到數(shù)據(jù)總線上的8位數(shù)據(jù)緩沖器。在最小系統(tǒng)中,由2片8286(雙向緩沖器,功能同74LS245)做數(shù)據(jù)總線D15~D0的緩沖器,DT/R做方向選擇,DEN為選通信號(hào)。2.3.3典型的系統(tǒng)配置及操作時(shí)序2.38086/8088微處理器2/3/202353微型計(jì)算機(jī)原理講義控制信號(hào)M/IO、RD和WR完成信息傳遞控制。組合起來(lái)完成右面的控制。有時(shí)也作以下處理:2.3.3典型的系統(tǒng)配置及操作時(shí)序2.38086/8088微處理器2/3/202354微型計(jì)算機(jī)原理講義中斷控制信號(hào)INTR、INTA、NMIINTR:外部可屏蔽中斷請(qǐng)求引腳,高電平有效INTA:中斷響應(yīng)信號(hào),低電平有效NMI:不可屏蔽中斷請(qǐng)求引腳,上升沿有效總線控制信號(hào)HOLD、HLDAHOLD:總線保持請(qǐng)求引腳,高電平有效HLDA:總線保持響應(yīng)引腳,高電平有效HLDA控制8282的OE,當(dāng)CPU總線保持響應(yīng)時(shí)讓出總線2.3.3典型的系統(tǒng)配置及操作時(shí)序2.38086/8088微處理器2/3/202355微型計(jì)算機(jī)原理講義

時(shí)鐘發(fā)生器8284A與CPU的連接如下圖所示。它產(chǎn)生恒定的時(shí)鐘信號(hào),對(duì)準(zhǔn)備好(Ready)信號(hào)和復(fù)位信號(hào)(Reset)進(jìn)行同步,外界控制信號(hào)RDY和RES可以在任何時(shí)候到來(lái),8284A把它們同步在時(shí)鐘下降沿時(shí)輸出READY和RESET信號(hào)到CPU。振蕩晶體通常采用石英晶體振蕩器,由于晶體是14.31MHz,內(nèi)部3分頻,得到4.77MHz、占空比為1/3的CLK輸出到CPU。2.3.3典型的系統(tǒng)配置及操作時(shí)序2.38086/8088微處理器2/3/202356微型計(jì)算機(jī)原理講義2.3.3典型的系統(tǒng)配置及操作時(shí)序2.38086/8088微處理器51051014.31818MHZRESETREADYCLK輸出到系統(tǒng)其他部件PWRGOODDMAWAITRDY/WAIT+5VRESRDY1AEN1F/CASYNCRDY2AEN2OSCPCLKX2X1CLKREADYRESET828480862/3/202357微型計(jì)算機(jī)原理講義系統(tǒng)的復(fù)位與啟動(dòng)操作(微機(jī)啟動(dòng)過(guò)程)微處理器接收到(連續(xù)4個(gè)T)RESET信號(hào),進(jìn)行復(fù)位,開(kāi)始執(zhí)行初始化,CS置0FFFFH,IP置為0,ISQ清空,其余寄存器為0;從存儲(chǔ)器FFFFH:0000H取第一條指令,一般在此處放一條跳轉(zhuǎn)指令,例如JMPF000H:E05BH,跳轉(zhuǎn)到系統(tǒng)復(fù)位程序開(kāi)始的位置;判斷0040H:0072H處的數(shù)據(jù)是否是1234H,如果是,則不進(jìn)行硬件自檢,否則進(jìn)行硬件自檢;從磁盤(pán)的0面0道1扇區(qū)裝入引導(dǎo)程序,裝到0000H:7C00H,執(zhí)行引導(dǎo)操作;按引導(dǎo)程序的指令,順序裝入其他程序模塊,完成操作系統(tǒng)的引導(dǎo)操作;注:在3、4步之間微機(jī)還會(huì)檢查在C0000H開(kāi)始的擴(kuò)展ROM空間中是否有程序,如果有,并且校驗(yàn)正確,則先執(zhí)行這些程序。2.3.3典型的系統(tǒng)配置及操作時(shí)序2.38086/8088微處理器2/3/202358微型計(jì)算機(jī)原理講義

最大模式系統(tǒng)與最小模式區(qū)別是系統(tǒng)中增設(shè)了總線控制器8288和總線仲裁器8289。這樣可以構(gòu)成以8086CPU為中心的多處理器系統(tǒng)。

最大模式的典型配置請(qǐng)參考相關(guān)資料。2.3.3典型的系統(tǒng)配置及操作時(shí)序2.38086/8088微處理器2/3/202359微型計(jì)算機(jī)原理講義8086系統(tǒng)中的總線操作

8086微處理器為了要與存儲(chǔ)器或I/O端口交換數(shù)據(jù),需要執(zhí)行一個(gè)總線周期,這就是總線操作??偩€操作可以分為總線讀操作和總線寫(xiě)操作。讀操作是CPU

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論