版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第2章 8086微處理器及其系統(tǒng)2.1 8086微處理器簡介2.2 8086系統(tǒng)的存儲器組織及I/O組織2.3 8086系統(tǒng)的工作模式2.4 8086的操作時(shí)序1第1頁,共79頁。 8086 CPU是Intel系列的16位微處理器,它有16位數(shù)據(jù)總線和20位地址總線。 可尋址的地址空間是:2201MB2第2頁,共79頁。2.1.1 8086的編程結(jié)構(gòu) 從程序員的角度看,8086CPU分為兩部分: 執(zhí)行部件(EU) 總線接口部件(BIU)2.1 8086微處理器簡介3第3頁,共79頁。圖2-1EU控制系統(tǒng)4第4頁,共79頁。1. 執(zhí)行部件(EU)功能:執(zhí)行指令組成: 內(nèi)部寄存器組; 算術(shù)邏輯運(yùn)算
2、單元ALU及標(biāo)志寄存器; 內(nèi)部控制邏輯電路。 5第5頁,共79頁。(1)內(nèi)部寄存器組 8個(gè)16位 內(nèi)部寄存器 通用數(shù)據(jù)寄存器(AX,BX,CX,DX)指針和變址寄存器(SP,BP, SI,DI ) 通用數(shù)據(jù)寄存器: 可用作16位的寄存器,也可用 作8位寄存器,即: AX AH,AL BX BH,BL CX CH,CL DX DH,DL6第6頁,共79頁。AX:累加器。有些指令約定以AX(或AL)為源或目的寄存器。BX:基址寄存器??捎米鏖g接尋址的地址寄存器和基地址寄存器。CX:計(jì)數(shù)寄存器。在循環(huán)和串操作中充當(dāng)計(jì)數(shù)器,指令執(zhí)行后CX內(nèi)容自動修改。DX:數(shù)據(jù)寄存器。在間接尋址的I/O指令中存放I/
3、O端口地址;在32位乘除法運(yùn)算時(shí),存放高16位數(shù)。7第7頁,共79頁。SI: 源變址寄存器DI:目的變址寄存器 指針和變址寄存器SP:堆棧指針寄存器BP:基址指針寄存器8第8頁,共79頁。(2)算術(shù)邏輯單元(ALU)及標(biāo)志寄存器(FR) 算術(shù)邏輯運(yùn)算單元ALU 可完成16位或8位的算術(shù)邏輯運(yùn)算。 ALU運(yùn)算后的結(jié)果特征(有無進(jìn)位,溢出等)置入標(biāo)志寄存器中保存。 標(biāo)志寄存器FR 16位寄存器,用來存放運(yùn)算結(jié)果的特征和控制標(biāo)志。9第9頁,共79頁。 分為兩類: 條件標(biāo)志共6位,用于寄存程序運(yùn)行的狀態(tài)信息,這些標(biāo)志往往用作后續(xù)指令判斷的依據(jù)。 控制標(biāo)志共3位,用于控制機(jī)器或程序的某些運(yùn)行過程。10第
4、10頁,共79頁。 CF(Carry Flag) 進(jìn)位標(biāo)志 -反映在運(yùn)行結(jié)果的最高位有無進(jìn)位或借位。 CF=1,表示本次運(yùn)算中最高位有進(jìn)位(加法運(yùn)算時(shí))或有借位(減法運(yùn)算時(shí));否則CF=0。條件標(biāo)志 11第11頁,共79頁。 PF(Parity Flag) 奇偶標(biāo)志 -反映運(yùn)算結(jié)果中“1”的個(gè)數(shù)的奇偶性,主要用于判斷數(shù)據(jù)傳送過程中是否出錯(cuò)。 PF=1,表示本次運(yùn)算結(jié)果的低八位中有偶數(shù)個(gè)“1” PF=0,表示本次運(yùn)算結(jié)果的低八位中有奇數(shù)個(gè)“1” AF(Auxiliary Carry Flag) 輔助進(jìn)位標(biāo)志 -加減運(yùn)算時(shí),若D3向D4產(chǎn)生了進(jìn)位或借位則AF=1。否則AF=0。在BCD碼運(yùn)算時(shí),該
5、標(biāo)識用于十進(jìn)制調(diào)整。 ZF(Zero Flag) 零標(biāo)志 -反映計(jì)算結(jié)果是否為0。若結(jié)果為零則ZF=1,否則ZF=0。12第12頁,共79頁。 SF(Sign Flag) 符號標(biāo)志位 -反映計(jì)算結(jié)果最高位即符號位的狀態(tài)。如果運(yùn)算 結(jié)果的最高位為1則SF=1,否則SF=0。 OF(Overflow Flag) 溢出標(biāo)志位 -反映運(yùn)算結(jié)果是否超出了帶符號數(shù)的表數(shù)范圍。 OF=1 表示運(yùn)算結(jié)果超出了該字長所能表示的范圍,即產(chǎn)生溢出;否則OF=0。 機(jī)器判斷是否溢出是根據(jù)根據(jù)最高位的進(jìn)位與次高位的進(jìn)位是否相同來確定。若兩者不相同則OF=1(表示有溢出),否則 OF=0(表示無溢出)13第13頁,共79
6、頁。 DF(Direction Flag) 方向標(biāo)志 - 用于串處理指令中控制串處理的方向。 在串操作指令中,若DF=0,表示串操作指令執(zhí)行后地址指針自動增量;DF=1,表示地址指針自動減量。DF可通過STD指令置位,也可通過CLD指令復(fù)位。 IF(Interrupt Flag) 中斷允許標(biāo)志位 - 用于控制CPU是否允許響應(yīng)可屏蔽中斷請求。 IF=1,表示允許CPU響應(yīng)可屏蔽中斷請求。 IF=0,表示禁止CPU響應(yīng)可屏蔽中斷請求。 IF可通過STI指令置位(置1),也可通過CLI指令復(fù)位(清零)。 控制標(biāo)志14第14頁,共79頁。 TF(Trap Flag) 單步標(biāo)志位 - 用于單步操作。
7、TF=1,控制CPU進(jìn)入單步工作方式。在這種工作方式下,CPU每執(zhí)行完一條指令就會自動產(chǎn)生一次內(nèi)部中斷,這在程序調(diào)試過程中很有用。15第15頁,共79頁。例1:若AL = 3BH,AH = 7DH,指出AL和AH中的內(nèi)容相加后,CF,AF,PF,SF,OF和ZF的狀態(tài)。 CF=0(無進(jìn)位) AF = 1(有輔助進(jìn)位) PF=1(運(yùn)算結(jié)果有4個(gè)1) SF = 1(運(yùn)算結(jié)果符號位為1) OF =1 (有溢出) ZF = 0 (運(yùn)算結(jié)果不為0)16第16頁,共79頁。(3)內(nèi)部控制邏輯電路主要功能:從指令隊(duì)列緩沖器中取出指令,對 指令進(jìn)行譯碼,并產(chǎn)生各種控制信號,控制各部件的協(xié)同工作以完成指令的執(zhí)行
8、過程。17第17頁,共79頁。2. 總線接口部件 BIU負(fù)責(zé)CPU與存儲器、I/O設(shè)備之間傳送數(shù)據(jù)、地址、狀態(tài)及控制信息。組成: 4個(gè)段地址寄存器(CS、DS、ES、SS) 16位的指令指針寄存器IP(Instruction Pointer) 20位的地址加法器 6字節(jié)的指令隊(duì)列緩沖器 總線控制邏輯18第18頁,共79頁。(1)段地址寄存器(CS, DS, SS, ES) 存儲器的分段 8086可尋址的存儲空間為1MB,有20位的地址線,而內(nèi)部的寄存器是16位,只能尋址64KB。所以8086系統(tǒng)采用了地址分段的方法,將1M存儲空間分成若干塊,稱為“邏輯段”,存放一種類型的數(shù)據(jù)或者程序。因此1M
9、的存儲空間可分成16個(gè)邏輯段(015)。在段內(nèi)尋址仍采用傳統(tǒng)的16位地址尋址方法。19第19頁,共79頁。 在8086存儲空間中,把16字節(jié)的存儲空間稱作一內(nèi)存節(jié)(paragraph)。要求各個(gè)邏輯段從節(jié)的整數(shù)邊界開始,即段首地址低4位應(yīng)該是“0”,把段首地址的高16位存放在段寄存器DS或CS或SS或ES中。00000H 00010H 00020H FFFF0H20第20頁,共79頁。 允許段在整個(gè)存儲空間浮動,即段與段之間可以部分重疊、完全重疊、連續(xù)排列。在整個(gè)存儲空間中可設(shè)置若干個(gè)邏輯段。 對于任何一個(gè)物理地址,可以惟一地被包含在一 個(gè)邏輯段中,也可 包含在多個(gè)相互重 疊的邏輯段中,只 要
10、有段地址和段內(nèi) 偏移地址就可以訪 問到這個(gè)物理地址 所對應(yīng)的存儲空間。21第21頁,共79頁。 2345H:0000H 01H : : 2345H:1100H 78H 例如:2345H:1100H表示段地址為2345H(段的起始地址是23450H),段內(nèi)偏移地址為1100H的存儲單元地址。在8086CPU中有專用的寄存器存放段地址和偏移地址。22第22頁,共79頁。 段可分為代碼段,數(shù)據(jù)段,附加段,堆棧段。用于存放段基址有 4個(gè)16位段寄存器,代碼段寄存器CS,數(shù)據(jù)段寄存器DS,附加段寄存器ES和堆棧段寄存器SS。代碼段:存放程序代碼。數(shù)據(jù)段:用于存放當(dāng)前使用的數(shù)據(jù)。需要第二個(gè)數(shù)據(jù)段時(shí)可以使用
11、附加段。23第23頁,共79頁。堆棧段:是內(nèi)存中的一塊存儲區(qū),用來存放專用數(shù)據(jù)。如調(diào)用子程序時(shí)的入口參數(shù),返回地址等,這些數(shù)據(jù)都按照“后進(jìn)先出”的規(guī)則進(jìn)行存取。SS存放堆棧段的段基址,SP存放當(dāng)前堆棧棧頂?shù)钠频刂贰?shù)據(jù)進(jìn)出堆棧要使用專門的堆棧操作指令,SP的值在執(zhí)行堆棧操作指令時(shí)根據(jù)規(guī)則自動地進(jìn)行修改。 編程時(shí),程序和各種不同類型的數(shù)據(jù)分別存放在不同的邏輯段中。 24第24頁,共79頁。25第25頁,共79頁。例:已知CS=1055H, DS=250AH, ES=2EF0H, SS=8FF0H,畫出各段在內(nèi)存中的分布,寫出段首地址。10550H250A0H2EF00H8FF00H代碼段數(shù)據(jù)段
12、附加段堆棧段 26第26頁,共79頁。 采用段地址的好處: 解決了16位寄存器訪問大于64KB內(nèi)存空間的問題; 可以實(shí)現(xiàn)程序重定位,即一個(gè)不到64KB大小的程序可通過改變段寄存器的內(nèi)容(一般由操作系統(tǒng)完成)放在1MB空間的任意段位置,從而為運(yùn)行多道程序提供方便。27第27頁,共79頁。(2)地址加法器 功能:用于產(chǎn)生20位的物理地址。即進(jìn)行一次地址加法,將段寄存器的內(nèi)容左移4位與偏移地址相加,得到20位的物理地址,從而可尋址 1MB的存儲空間。 物理地址段寄存器的內(nèi)容16 (即左移4位)+ 偏移地址物理地址:訪問存儲器的實(shí)際地址,用20位二進(jìn)制表示。28第28頁,共79頁。29第29頁,共79
13、頁。 例: 邏輯地址2345H:1100H對應(yīng)的物理地址是24550H。 23450H+1100H =24550H。 反之,物理地址24550H,它對應(yīng)的邏輯地址可以是2455H:0000H,也可以是2400H:0550H等。 注意:一個(gè)存儲單元的物理地址是惟一的,而它對應(yīng)的邏輯地址是不惟一的。30第30頁,共79頁。(3)指令指針寄存器IP 16位 功能:用來存放將要執(zhí)行的下一條指令在代碼段中的偏移地址。在程序運(yùn)行過程中,BIU自動修改IP中的內(nèi)容,使它始終指向?qū)⒁獔?zhí)行的下一條指令。 注意:程序不能直接訪問IP,但是可通過某些指令修改IP的內(nèi)容。例如, 執(zhí)行轉(zhuǎn)移指令時(shí),會將轉(zhuǎn)移的目標(biāo)地址送入
14、IP中,以實(shí)現(xiàn)程序的轉(zhuǎn)移。31第31頁,共79頁。 (4)指令隊(duì)列緩沖器6字節(jié) BIU從存儲器中讀出指令送入6字節(jié)的指令隊(duì)列。一旦指令隊(duì)列中空出2個(gè)字節(jié),BIU將自動進(jìn)行讀指令的操作以填滿指令隊(duì)列。遇到轉(zhuǎn)移類指令,BIU將指令隊(duì)列中剩余的指令作廢,重新從存儲器新的地址單元中取指令并送入指令隊(duì)列。一般情況下應(yīng)保證指令隊(duì)列中填滿指令,使得EU可以不斷地得到等待執(zhí)行的指令。 (5)總線控制邏輯32第32頁,共79頁。3. 總線接口部件和執(zhí)行部件的管理 當(dāng)8086指令隊(duì)列中有2字節(jié)空閑時(shí),總線接口部件就自動將指令從內(nèi)存中預(yù)取到指令隊(duì)列緩沖器中。 每當(dāng)EU部件要執(zhí)行一條指令時(shí),它就從指令隊(duì)列頭部取出指令
15、,后續(xù)指令自動向前推進(jìn)。EU在執(zhí)行指令中若需要訪問內(nèi)存或I/O設(shè)備,EU就向BIU申請總線周期,若BIU總線空閑,則立即響應(yīng),若BIU正在取一條指令,則待取指令操作完成后再響應(yīng)EU的總線請求。 遇到轉(zhuǎn)移、調(diào)用及返回指令時(shí),BIU就自動清除指令隊(duì)列中已有內(nèi)容,從轉(zhuǎn)移、調(diào)用或返回的新地址開始,重新從內(nèi)存中預(yù)讀取指令并填充指令隊(duì)列。 這兩部分既非同步工作方式,也不完全無關(guān),而是互相配合工作的。33第33頁,共79頁。2.1.2 8086CPU的引腳及其功能 8086 CPU是十六位的微處理器,它向外的信號應(yīng)包含16條數(shù)據(jù)線,20條地址線,再加上其他一些必要的控制信號。為了減少芯片引腳數(shù)量,對部分引腳
16、采用了分時(shí)復(fù)用的方式,構(gòu)成40條引腳的雙列直插式封裝。分時(shí)復(fù)用就是在同一根傳輸線上,在不同時(shí)間傳送不同的信息。 8086/8088依靠分時(shí)復(fù)用技術(shù),用40個(gè)引腳實(shí)現(xiàn)了眾多數(shù)據(jù)、地址、控制信息的傳送。34第34頁,共79頁。 1、8086總線周期 時(shí)鐘周期: CPU的一切操作都是在系統(tǒng)主時(shí)鐘CLK的控制下按節(jié)拍有序地進(jìn)行的。系統(tǒng)主時(shí)鐘一個(gè)周期信號所持續(xù)的時(shí)間稱為時(shí)鐘周期(T),大小等于頻率的倒數(shù),是CPU的基本時(shí)間計(jì)量單位。 總線周期:CPU通過外部總線對存儲器或I/O端口進(jìn)行一次讀/寫操作的過程稱為總線周期。為完成對存儲器或I/O端口的一次訪問,CPU需要先后發(fā)出存儲器或I/O端口地址,讀或者
17、寫操作命令,進(jìn)行數(shù)據(jù)的傳輸。以上的每一個(gè)操作都需要延續(xù)一個(gè)或幾個(gè)時(shí)鐘周期。所以,一個(gè)總線周期由若干個(gè)時(shí)鐘周期(T)組成。35第35頁,共79頁。T1狀態(tài):CPU向多路復(fù)用總線上發(fā)送地址信息(A19A0)指出要尋址的內(nèi)存單元地址或I/O端口地址。這期間CPU還要送出地址鎖存信號ALE(正向脈沖),在ALE的下降沿將內(nèi)存單元地址或I/O端口地址存入地址鎖存器。T2狀態(tài):CPU從總線上撤銷地址,使總線低16位呈現(xiàn)高阻狀態(tài),為數(shù)據(jù)傳輸作準(zhǔn)備??偩€高4位(A19A16)輸出總線周期的狀態(tài)信息,用以表示中斷允許狀態(tài)及正在使用的段寄存器名等。36第36頁,共79頁。T3狀態(tài):A19A16上狀態(tài)信息不變,總線
18、低16位上出現(xiàn)CPU要寫出的數(shù)據(jù)或準(zhǔn)備讀入的數(shù)據(jù)。若外設(shè)或內(nèi)存來不及與總線交換數(shù)據(jù),以使在T4狀態(tài)下結(jié)束該總線周期,則應(yīng)通過CPU的READY信號,在T3前沿(下降沿)之前向CPU申請插入等待狀態(tài)TW。在T3及TW的前沿查詢READY線,查到為高電平則結(jié)束等待狀態(tài),進(jìn)入下一狀態(tài)。否則繼續(xù)插入等待狀態(tài)。T4狀態(tài):總線周期結(jié)束,若為總線讀周期則在T4前沿將數(shù)據(jù)讀入CPU。TI狀態(tài):總線空閑周期。 圖2-3 典型的8086總線周期時(shí)序37第37頁,共79頁。2. 8086 CPU的引腳及功能 8086引腳分配圖38第38頁,共79頁。(1) GND(地)和VCC(電源)(2) AD15AD0(add
19、ress data bus)地址數(shù)據(jù)復(fù)用引腳 (雙向,三態(tài)) 作為復(fù)用引腳,在總線周期的T1狀態(tài)用來輸出要訪問的存儲器或IO端口地址。T2T3狀態(tài),對讀周期來說,處于浮空狀態(tài);對寫周期來說,則是傳輸數(shù)據(jù)。(3) A19/S6A16/S3(address/status)地址/狀態(tài)復(fù)用引腳(輸出,三態(tài)) 在總線周期的T1狀態(tài),用來輸出地址的最高4位, A19A16與AD15AD0一起構(gòu)成訪問存儲器的20位物理地址。CPU訪問I/O端口時(shí),A19A16保持為“0”。在T2,T3,TW和T4狀態(tài)時(shí),S6S3用來輸出狀態(tài)信息。39第39頁,共79頁。S4 S3表示意義0 0正在使用ES0 1正在使用SS
20、1 0正在使用CS1 1正在使用DS其中:S6: S6=0表示8086CPU占用系統(tǒng)總線,在T2,T3, TW和T4狀態(tài)時(shí),8086總是使S6=0。S5 : 反映標(biāo)志寄存器的中斷允許標(biāo)志IF的設(shè)置情況 IF=1,允許可屏蔽中斷,則 S5=1 IF=0,禁止可屏蔽中斷,則 S5=0S4,S3:指明正在使用的段寄存器情況。40第40頁,共79頁。(4) BHE/S7(Bus High Enable/Status)高8位數(shù)據(jù)總線允許狀態(tài)復(fù)用引腳(輸出,三態(tài),低電平有效) 在T1狀態(tài),BHES7引腳輸出BHE信號,表示高8位數(shù)據(jù)總線D15D8上的數(shù)據(jù)有效。在T2,T3,TW和T4狀態(tài),BHES7輸出狀
21、態(tài)信號S7。 8086CPU有16根數(shù)據(jù)線, 低8位數(shù)據(jù)線總是和偶地址的存儲器或I/O端口相連接, 高8位的數(shù)據(jù)線與奇地址的存儲器或I/O端口相連接。 BHE有效,表示CPU正在使用高8位的數(shù)據(jù)線對奇地址的存儲單元或I/O端口進(jìn)行訪問。它與地址碼最低位A0配合起來表示當(dāng)前總線使用情況。41第41頁,共79頁。BHE A0操 作使用數(shù)據(jù)線0 0 1 00 1從偶地址開始讀/寫一個(gè)字從偶地址讀/寫一個(gè)字節(jié)從奇地址讀/寫一個(gè)字節(jié)AD15AD0AD7AD0AD15AD80 11 0從奇地址開始讀/寫一個(gè)字(第一個(gè)總線周期)(第二個(gè)總線周期)AD15AD8AD7AD0BHE和A0信號的意義42第42頁,
22、共79頁。(5) NMI(Non Maskable Interrupt Request)非屏蔽中斷請求引腳 (輸入) 由外部輸入,邊沿觸發(fā),正跳沿(由低到高的上升沿)有效,不受中斷允許標(biāo)志IF的影響,也不能用軟件進(jìn)行屏蔽。CPU一旦測試到NMI請求有效,在當(dāng)前指令執(zhí)行完后自動轉(zhuǎn)去執(zhí)行中斷類型號為2的非屏蔽中斷中斷服務(wù)程序。顯然這是一種比INTR級別高的中斷請求。 (6) INTR(Interrupt Request)可屏蔽中斷請求引腳 (輸入) 由外部輸入,電平觸發(fā),高電平有效。INTR有效時(shí),表示外部向CPU發(fā)出中斷請求。CPU在每條指令的最后一個(gè)時(shí)鐘周期對INTR進(jìn)行采樣,一旦測試到中斷請
23、求,并且當(dāng)前中斷允許標(biāo)志IF=1,則CPU就會在結(jié)束當(dāng)前指令后,響應(yīng)中斷請求,進(jìn)入一個(gè)中斷處理子程序。43第43頁,共79頁。 RD(Read)讀信號,輸出、三態(tài)、低電平有效。 在CPU執(zhí)行讀操作時(shí), RD信號在T2、T3、TW期間為低電平有效。 到底讀存儲器還是讀I/O端口還決定于M/IO,若M/IO為高則為讀存儲器,M/IO為低則讀I/O端口。 CLK (Clock)時(shí)鐘輸入引腳 8086要求時(shí)鐘占空比為1/3,即一個(gè)周期中1/3為高電平、2/3為低電平。CPU的所有操作均是在時(shí)鐘的同步下進(jìn)行的。44第44頁,共79頁。 RESET (Reset)復(fù)位引腳,輸入、高電平有效。 8086要求
24、復(fù)位信號至少維持4個(gè)時(shí)鐘周期的高電平才有效,以完成CPU內(nèi)部寄存器的復(fù)位操作。 復(fù)位信號一出現(xiàn),CPU立即結(jié)束當(dāng)前的操作,進(jìn)入復(fù)位操作,即將標(biāo)志寄存器(FR)、IP、DS、SS、ES清0,指令隊(duì)列清空, CS置為FFFFH。 當(dāng)復(fù)位信號降為低電平后,CPU從CS:IP開始取出指令并執(zhí)行它,即系統(tǒng)復(fù)位后執(zhí)行的第一條指令的物理地址為FFFF0H。系統(tǒng)程序一般在該物理地址單元放一條轉(zhuǎn)移指令,轉(zhuǎn)到引導(dǎo)程序的入口。 45第45頁,共79頁。(10) READY(Ready)準(zhǔn)備好引腳,輸入、高電平有效 當(dāng)CPU執(zhí)行總線讀寫周期訪問存儲器或I/O設(shè)備時(shí),若存儲器或I/O設(shè)備的讀寫速度較慢,來不及在T4狀態(tài)
25、結(jié)束數(shù)據(jù)傳輸,就需要設(shè)計(jì)一個(gè)硬件電路,在T3之前向CPU提供一個(gè)低電平READY信號。 CPU在每個(gè)總線周期的T3狀態(tài)的前沿開始對READY信號進(jìn)行采樣。如果檢測到READY為低電平,則在T3狀態(tài)之后插入一個(gè)TW等待狀態(tài),并在TW前沿繼續(xù)查詢READY線,若READY仍為低電平,則會繼續(xù)插入TW ,直到READY升為高電平,才進(jìn)入T4狀態(tài),完成數(shù)據(jù)傳送過程。46第46頁,共79頁。(11)TEST(Test)測試引腳,輸入、低電平有效 和WAIT指令配合使用,執(zhí)行WAIT時(shí),CPU暫停執(zhí)行程序,進(jìn)入空轉(zhuǎn)狀態(tài)等待。當(dāng)TEST引腳接收到一個(gè)低電平信號時(shí),CPU就結(jié)束等待,繼續(xù)向下執(zhí)行指令。 和WA
26、IT配合,可以實(shí)現(xiàn)CPU與外設(shè)同步工作。(12) MN/MX(Minimum/Maximum Mode Control)最小/最大模式控制引腳,輸入。 該引腳接+5V,則8086工作在最小模式, 該引腳接地,則8086CPU工作在最大模式。 47第47頁,共79頁。2.2 8086系統(tǒng)的存儲器組織及I/O組織2.2.1 8086系統(tǒng)的存儲器組織 1. 8086系統(tǒng)的存儲器的結(jié)構(gòu) 圖2-5 存儲體地址空間分配 圖2-6 存儲體與總線的連接00000H00001H00002H00003HFFFFEHFFFFFH48第48頁,共79頁。關(guān)于幾種讀寫情況的說明:(1) 從偶地址讀寫一個(gè)字節(jié)(BHE A
27、010)如圖a AD15AD8上的數(shù)據(jù)被忽略,字節(jié)內(nèi)容通過AD7AD0傳送。(2) 從奇地址讀寫一個(gè)字節(jié)(BHE A001)如圖c AD15AD8上傳送的數(shù)據(jù)有效,AD7AD0上數(shù)據(jù)被忽略。49第49頁,共79頁。(3) 從偶地址開始讀寫一個(gè)字(BHE A000)如圖b 在AD15AD0上傳送的數(shù)據(jù)同時(shí)有效。(4) 從奇地址開始讀寫一個(gè)字,占用兩個(gè)總線周期。 第一個(gè)總線周期BHE A001,從奇地址讀寫低字節(jié),在AD15AD8上傳送的數(shù)據(jù)有效。第二個(gè)總線周期BHE A010,從偶地址讀寫高字節(jié),在AD7AD0上傳送的數(shù)據(jù)有效。50第50頁,共79頁。2. 8086系統(tǒng)存儲器的地址 (1)物理地
28、址的計(jì)算公式: 物理地址段地址16偏移地址。段地址由段寄存器提供,偏移地址由IP、SP、BP、SI、DI等寄存器或存儲器提供,也可通過計(jì)算而得。不同的指令有不同的組合方式。(2) 段地址的引入,為程序在內(nèi)存中浮動創(chuàng)造了條件,一般用戶程序只涉及偏移地址。段地址在程序裝入內(nèi)存時(shí)由操作系統(tǒng)分配。所以一個(gè)程序可在內(nèi)存中任何一個(gè)邏輯段(64KB空間)中運(yùn)行。(3) 同一物理地址可以由不同的段地址和偏移地址表示。 例如: CS=2000H IP=1000H 物理地址=21000H CS=2100H IP=0000H 物理地址=21000H51第51頁,共79頁。ES52第52頁,共79頁。3.8086系統(tǒng)
29、內(nèi)存地址的一些專用區(qū)域 00000003FFH 1KB空間用于存放中斷向量表,可存放256個(gè)中斷服務(wù)程序的入口地址,每個(gè)地址占 4字節(jié)。 B0000B0FFFH 4KB為單色顯示器顯示緩沖區(qū),存放屏幕當(dāng)前顯示字符的ASCII碼。 B8000BBFFFH 16KB彩色顯示器顯示緩沖區(qū),存放當(dāng)前屏幕像素代碼。 FFFF0H 起動地址,一般用來存放一條無條件轉(zhuǎn)移指令,轉(zhuǎn)到系統(tǒng)初始化程序。 53第53頁,共79頁。2.2.2 8086系統(tǒng)的 I/O組織 8086系統(tǒng)有專用的輸入(IN)、輸出(OUT)指令,用于外設(shè)端口(即外設(shè)接口中的內(nèi)部寄存器)的尋址。 I/O端口與內(nèi)存分別獨(dú)立編址。I/O端口使用1
30、6位地址A15A0,I/O端口地址范圍為0000HFFFFH,可尋址空間為64KB。 在以8086為CPU的PC/XT微機(jī)中,只使用了10位有效端口地址A9A0,共1KB空間。 54第54頁,共79頁。一、最小模式和最大模式的概念 8086/8088 CPU為適應(yīng)不同的應(yīng)用環(huán)境,8086可工作于兩種工作模式:最大模式和最小模式。 最小模式:是指系統(tǒng)中只有一個(gè)8086/8088處理器,所有的總線控制信號都由8086/8088 CPU直接產(chǎn)生,構(gòu)成系統(tǒng)所需的總線控制邏輯部件最少,最小模式因此得名。最小模式也稱單處理器模式。 2.3 8086系統(tǒng)配置55第55頁,共79頁。 最大模式:系統(tǒng)內(nèi)可以有一
31、個(gè)以上的處理器,除了8086/8088作為“中央處理器”之外,還可以配置用于數(shù)值計(jì)算的8087(數(shù)值協(xié)處理器)和用于I/O管理的8089(I/O協(xié)處理器) 等。各個(gè)處理器發(fā)往總線的命令統(tǒng)一送往“總線控制器”,由它“仲裁”后發(fā)出。兩種工作模式由MN/MX引腳決定:接高電平(+5v),CPU工作在最小模式;接低電平(接地),CPU工作在最大模式。56第56頁,共79頁。二、 最小模式系統(tǒng) 1. 典型配置: 1. 8086CPU 2. 1片時(shí)鐘發(fā)生器8284 3. 3片地址鎖存器8282 4. 2片總線驅(qū)動器8286(總線數(shù)據(jù)收發(fā)器)57第57頁,共79頁。58第58頁,共79頁。CPU及其外圍芯片
32、合稱為CPU子系統(tǒng)。外圍芯片的作用是:(1)為CPU工作提供條件:提供適當(dāng)?shù)臅r(shí)鐘信號,對外界輸入的控制/聯(lián)絡(luò)信號進(jìn)行同步處理;(2)分離CPU輸出的地址/數(shù)據(jù)分時(shí)復(fù)用信號,得到獨(dú)立的地址總線和數(shù)據(jù)總線信號,同時(shí)還增強(qiáng)它們的驅(qū)動能力;(3)對CPU輸出的控制信號進(jìn)行組合,產(chǎn)生穩(wěn)定可靠、便于使用的系統(tǒng)總線信號。59第59頁,共79頁。 8284通過外接晶振芯片產(chǎn)生時(shí)鐘信號,并對這個(gè)信號3分頻,產(chǎn)生占空比為1/3的時(shí)鐘信號CLK送往8086 CPU。8284還對外部輸入的RESET和READY信號進(jìn)行同步,產(chǎn)生與CLK同步的復(fù)位信號RESET和準(zhǔn)備就緒信號READY送往8086。2 時(shí)鐘發(fā)生器828
33、4與8086的連接60第60頁,共79頁。8282是一個(gè)8位鎖存器,STB是它的數(shù)據(jù)鎖存/選通信號。STB為高電平時(shí),DI7DI0上輸入的信號進(jìn)入鎖存器;STB由高變低出現(xiàn)下降沿時(shí),輸入數(shù)據(jù)被鎖定,鎖存器的狀態(tài)不再改變。8282具有三態(tài)輸出功能, OE是數(shù)據(jù)輸出允許端,它為低電平時(shí),鎖存器的內(nèi)容通過內(nèi)部的三態(tài)緩沖器從引腳DO7DO0輸出。3 地址鎖存器8282與8086的連接地址鎖存器用來鎖存8086輸出的地址信號。61第61頁,共79頁。圖中,8086的ALE與8282的STB相連。這樣,8086在它的分時(shí)引腳AD15AD0,A19/S6A16/S3上輸出地址信號時(shí),20位地址被三片8282
34、鎖存。8282的輸出成為系統(tǒng)地址總線。在8086訪問存儲器/IO設(shè)備的整個(gè)周期里,8282都會穩(wěn)定地輸出20位地址信號在最小模式下,8282還同時(shí)鎖存了8086輸出的控制信號并送往系統(tǒng)總線。8282也可以用其他具有三態(tài)輸出功能的鎖存器代替。62第62頁,共79頁。4. 總線驅(qū)動器8286與8086的連接作用:總線數(shù)據(jù)收發(fā)器用來對CPU 與系統(tǒng)數(shù)據(jù)總線的連接進(jìn)行控制,同時(shí)它還有增加系統(tǒng)數(shù)據(jù)總線驅(qū)動能力的作用。 8286是一種三態(tài)輸出的8位雙向總線收發(fā)器/驅(qū)動器,具有很強(qiáng)的總線驅(qū)動能力。它有二組8位雙向的輸入/輸出數(shù)據(jù)線A7A0和B7B0。63第63頁,共79頁。8286有二個(gè)控制信號:數(shù)據(jù)傳送方
35、向控制信號T 輸出允許信號OE(低電平有效)當(dāng)OE=1時(shí),緩沖器呈高阻狀態(tài),兩個(gè)方向都不能傳送數(shù)據(jù)。當(dāng)OE=0,T=1時(shí),A7A0為輸入端, B7B0為輸出端,實(shí)現(xiàn)A 到B的傳送;當(dāng)OE=0,T=0時(shí),A7A0為輸出端, B7B0為輸入端,實(shí)現(xiàn)B到A的傳送。64第64頁,共79頁。 如果系統(tǒng)規(guī)模不大,并且不使用DMA傳輸(這意味著總線永遠(yuǎn)由8086獨(dú)自控制),可以不使用總線收發(fā)器,將8086的引腳AD15AD0直接用作系統(tǒng)數(shù)據(jù)總線。 8286用作數(shù)據(jù)總線驅(qū)動器時(shí),T與8086數(shù)據(jù)收發(fā)信號相連,用于控制數(shù)據(jù)傳送方向;OE與8086數(shù)據(jù)允許信號相連,保證只有在CPU需要訪問存儲器或I/O端口時(shí)才允
36、許數(shù)據(jù)通過8286。二片8286的A7A0與8086的AD15AD0相連,而二組B7B0則成為系統(tǒng)數(shù)據(jù)總線。65第65頁,共79頁。二、最小模式下的系統(tǒng)控制信號1讀寫控制信號引腳讀寫控制信號用來控制CPU對存儲器和I/O設(shè)備的讀寫過程:控制數(shù)據(jù)傳輸方向(讀/寫)、傳輸種類(存儲器還是I/O設(shè)備);讀寫方式(奇地址字節(jié)/偶地址字節(jié)/字);存儲器/IO設(shè)備是否準(zhǔn)備好的狀態(tài)信號;分時(shí)總線上信號的類型等。(1)M/IO(Memory/IO) 存儲器或I/O端口訪問選擇信號,三態(tài)輸出。 為高電平時(shí),表示當(dāng)前CPU正在訪問存儲器; 為低電平時(shí),表示CPU當(dāng)前正在訪問I/O端口。66第66頁,共79頁。(4
37、)READY 準(zhǔn)備就緒信號。由外部輸入,高電平有效,表示CPU訪問的存儲器或I/O端口已準(zhǔn)備好傳送數(shù)據(jù)。當(dāng)READY無效時(shí),要求CPU插入一個(gè)或多個(gè)等待周期TW,直到READY信號有效為止。(2)RD(Read) 讀信號,三態(tài)輸出。低電平有效,表示當(dāng)前CPU正在讀存儲器或I/O端口。(3) WR(Write) 寫信號,三態(tài)輸出。低電平有效,表 示當(dāng)前CPU正在寫存儲器或I/O端口。 M/IO、WR及RD合起來決定系統(tǒng)中數(shù)據(jù)傳輸?shù)姆较?。?)BHE/S7(Bus High Enable/Status) 總線高字節(jié)有效信號。三態(tài)輸出,低電平有效。非數(shù)據(jù)傳送期間,該引腳用作S7,輸出狀態(tài)信息。67第
38、67頁,共79頁。(6)ALE(Address Latch Enable) 地址鎖存允許信號。輸出,高電平有效。表示當(dāng)前地址/數(shù)據(jù)分時(shí)使用的引腳上正在輸出地址信號。向地址鎖存器8282提供地址鎖存信號。(7)DEN(Data Enable) 數(shù)據(jù)允許信號。三態(tài)輸出,低電平有效。表示當(dāng)前地址/數(shù)據(jù)分時(shí)使用的引腳上正在傳輸數(shù)據(jù)信號。8286將它作為輸出允許信號。進(jìn)行DMA傳輸時(shí),被置為高阻態(tài)。(8)DT/R(Data Transmit/Receive) 數(shù)據(jù)發(fā)送/接收控制信號,三態(tài)輸出。當(dāng)它為高電平時(shí)表示為數(shù)據(jù)發(fā)送, CPU寫數(shù)據(jù)到存儲器或I/O端口;為低電平時(shí)表示為數(shù)據(jù)接收,CPU從存儲器或I/
39、O端口讀取數(shù)據(jù)。該信號用來控制總線收發(fā)器8286的數(shù)據(jù)傳送方向。68第68頁,共79頁。2 中斷控制信號引腳 中斷是外部設(shè)備請求CPU進(jìn)行數(shù)據(jù)傳輸?shù)挠行Х椒?。這一組引腳傳輸中斷的請求和應(yīng)答信號。(1)INTR(Interrupt Request) 可屏蔽中斷請求信號。(2)INTA(Interrupt Acknowledge) 中斷響應(yīng)信號。輸出,三態(tài),低電平有效。該信號包含兩個(gè)負(fù)脈沖。外設(shè)申請可屏蔽中斷,CPU響應(yīng)后,在兩個(gè)連續(xù)的中斷響應(yīng)周期發(fā)出兩個(gè)負(fù)脈沖信號。第一個(gè)通知外設(shè),CPU已經(jīng)收到并且響應(yīng)外部發(fā)來的INTR信號(主要用于中斷優(yōu)先權(quán)排隊(duì)),第二個(gè)要求申請中斷的設(shè)備向CPU發(fā)送中斷類型
40、(代表該中斷的一個(gè)編號)。(3)NMI(Non Maskable Interrupt Request) 非屏蔽中斷請求信號。69第69頁,共79頁。4 DMA控制信號引腳 DMA傳輸是一種不經(jīng)過CPU,在內(nèi)存和I/O設(shè)備之間直接傳輸數(shù)據(jù)的方法。進(jìn)行DMA傳輸之前要向CPU申請使用總線并取得認(rèn)可。(1)HOLD(Hold Request) 總線請求信號。輸入,高電平有效,表示有其他設(shè)備向CPU請求使用總線。(2)HLDA(Hold Acknowledge) 總線請求響應(yīng)信號。輸出,高電平有效。 CPU在每個(gè)時(shí)鐘周期都檢測HOLD引腳,當(dāng)檢測到該信號,并且CPU允許其它部件占用總線,則在當(dāng)前總線周
41、期的T4狀態(tài)發(fā)送HLDA信號,同時(shí)讓出總線使用權(quán)(所有三態(tài)總線處于高阻態(tài),從而不影響外部的存儲器與I/O設(shè)備交換數(shù)據(jù))。總線申請部件接到HLDA有效信號后即可接管總線進(jìn)行操作,直到操作完成、撤銷HOLD信號,CPU才重新接管總線。70第70頁,共79頁。常用的最小模式控制總線信號歸納如下: 控制存儲器/IO端口讀寫的信號: M/IO,RD,WR,BHE,DEN,DT/R,READY。 用于中斷聯(lián)絡(luò)和控制的信號:INTR,INTA , NMI。 用于DMA聯(lián)絡(luò)和控制的信號:HOLD,HLDA。 以上這些信號是構(gòu)建微型計(jì)算機(jī)系統(tǒng)的核心。71第71頁,共79頁。 典型配置: 1. 8086CPU 2
42、. 1片時(shí)鐘發(fā)生器8284 3. 3片地址鎖存器8282 4. 2片總線驅(qū)動器8286(總線數(shù)據(jù)收發(fā)器) 5. 1片總線控制器8288 三、最大模式系統(tǒng)72第72頁,共79頁。8288873第73頁,共79頁。2.4 8086CPU的工作時(shí)序一、8086CPU的復(fù)位操作時(shí)序 復(fù)位操作的內(nèi)容:1. 所有內(nèi)部寄存器、標(biāo)志寄存器及ES、SS、DS 、IP清0,指令隊(duì)列緩沖器清空,CS置全1,即FFFFH,復(fù)位信號消失后,程序從CS16+IP即FFFF0H地址開始執(zhí)行。2.復(fù)位時(shí),所有三態(tài)輸出總線變?yōu)楦咦锠顟B(tài)。 開始進(jìn)入RESET階段 注意:80868088要求復(fù)位信號(RESET)至少有4個(gè)時(shí)鐘周期的高電平74第74頁,共79頁。二、最
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年人教版(2024)九年級歷史上冊月考試卷含答案
- 2025年湘教版高三歷史下冊階段測試試卷含答案
- 2025年湘教版選修3歷史上冊階段測試試卷含答案
- 2025年浙教新版八年級地理上冊階段測試試卷含答案
- 2025年華東師大版九年級地理下冊月考試卷含答案
- 2025年浙教新版七年級生物下冊階段測試試卷含答案
- 2025年粵教滬科版九年級生物下冊月考試卷含答案
- 擔(dān)保合同的范本(2篇)
- 二零二五版排水溝施工與海綿城市雨水花園建設(shè)合同4篇
- 2025年度油氣田打井工程安全監(jiān)理與風(fēng)險(xiǎn)評估合同4篇
- 中央2025年國務(wù)院發(fā)展研究中心有關(guān)直屬事業(yè)單位招聘19人筆試歷年參考題庫附帶答案詳解
- 2024年09月北京中信銀行北京分行社會招考(917)筆試歷年參考題庫附帶答案詳解
- 外呼合作協(xié)議
- 小學(xué)二年級100以內(nèi)進(jìn)退位加減法800道題
- 保險(xiǎn)公司2025年工作總結(jié)與2025年工作計(jì)劃
- 2024年公司領(lǐng)導(dǎo)在新年動員會上的講話樣本(3篇)
- 眼科護(hù)理進(jìn)修專題匯報(bào)
- 介入手術(shù)室感染控制管理
- GB/T 33629-2024風(fēng)能發(fā)電系統(tǒng)雷電防護(hù)
- GB/T 19885-2005聲學(xué)隔聲間的隔聲性能測定實(shí)驗(yàn)室和現(xiàn)場測量
- 高標(biāo)準(zhǔn)基本農(nóng)田建設(shè)規(guī)范培訓(xùn)課件
評論
0/150
提交評論