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

下載本文檔

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

文檔簡介

微機原理盧偉

Email:

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

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

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

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

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

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

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

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

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

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

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

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

64KB邏輯段3≤

64KB邏輯段4≤

64KB

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

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

堆棧的用途:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論