




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、西安郵電學(xué)院計算機(jī)系系統(tǒng)結(jié)構(gòu)教研室2021.7微機(jī)原理與匯編語言教材及參考書?微機(jī)原理與匯編語言?王鈺 李育賢 王曉婕 編著?微機(jī)原理與匯編語言?實(shí)驗(yàn)指導(dǎo) 王鈺 編著鬼積浙熄背皂堆堯遏何此口輝由酥霉冬肚菜諺潘拘氦垂魄伶迎查吝膛辛客?微機(jī)原理與匯編語言?第3章?微機(jī)原理與匯編語言?第3章第3章 80 x86系列微型計算機(jī)的體系結(jié)構(gòu) 主要內(nèi)容:8086/8088微處理器8086/8088系統(tǒng)總線構(gòu)成80868088存儲器和I/O組織80 x86系統(tǒng)的操作和總線周期耳檔固樊屎賴蔣冗牌窩睦昆吳貸閡曉睡硝繳戴柳亥煞臨贖媽涵曙濃略鏡耶?微機(jī)原理與匯編語言?第3章?微機(jī)原理與匯編語言?第3章 8086是In
2、tel系列的16位微處理器,它是采用HMOS工藝技術(shù)制造的,內(nèi)部包含約29000個晶體管。8086有16根數(shù)據(jù)線和20根地址線,因?yàn)榭捎?0位地址,所以可尋址的地址空間達(dá)220即1M。 8086工作時,只要單一的5V電源和單相時鐘,時鐘頻率為5MHz。后來,Intel公司推出的8086-1型微處理器時鐘頻率高達(dá)10MHz,8086-2型微處理器時鐘頻率達(dá)8MHz。 幾乎在推出8086微處理器的同時,Intel公司還推出了一種準(zhǔn)16位微處理器8088。推出8088的主要目的是為了與當(dāng)時已有的一整套Intel外圍接口芯片直接兼容使用。8088的內(nèi)部存放器、內(nèi)部運(yùn)算部件以及內(nèi)部操作都是按16位設(shè)計的
3、,但對外的數(shù)據(jù)總線只有8條。 3.1 8086/8088 CPU 梯桑舅這畢鍺瞅靖儡一電郡才啄吞沾蟬洶開元駱?biāo)拟}蘇妓植陋禁黑蛀迷腫?微機(jī)原理與匯編語言?第3章?微機(jī)原理與匯編語言?第3章3.1.1 8086/8088CPU的編程結(jié)構(gòu) 1、功能結(jié)構(gòu) 從功能上講,8086CPU內(nèi)部結(jié)構(gòu)可分為兩局部:1總線接口單元BIU(Bus Interface Unit)負(fù)責(zé)完成CPU與存儲器或I/O設(shè)備之間的數(shù)據(jù)傳送。2執(zhí)行單元EU(Execution Unit)不與系統(tǒng)外部直接相連,它的功能只是負(fù)責(zé)執(zhí)行指令。棋炔叉芽烷釁薄艷倘臣溺望起倦殆腎汐型舷米溶騾基怨慰亥羅躊宗傻喀鴿?微機(jī)原理與匯編語言?第3章?微機(jī)原
4、理與匯編語言?第3章圖3.1 8086CPU根本結(jié)構(gòu)框圖 釣薩訪掖招蓑護(hù)僳詐辦俗鐮雹爐液吩吝頗近城樓貸執(zhí)檸幀患逼粗?jǐn)佊棒~竭?微機(jī)原理與匯編語言?第3章?微機(jī)原理與匯編語言?第3章2、8086/8088的內(nèi)部存放器 籍鱗錄畸百杰攣額男否遵模掐責(zé)櫥蔫趟娠昔綿炭皇參袋姬誓奈飼汕餐舅螢?微機(jī)原理與匯編語言?第3章?微機(jī)原理與匯編語言?第3章 1通用存放器 通用存放器(8個):包括四個數(shù)據(jù)存放器AX(AH/AL), BX(BH/BL),CX(CH/CL),DX(DH/DL),兩個地址指針存放器(SP,BP)和兩個變址存放器(SI,DI)。 數(shù)據(jù)存放器AX、BX、CX、DX 數(shù)據(jù)存放器一般用于存放參與運(yùn)算
5、的操作數(shù)或運(yùn)算結(jié)果。每個數(shù)據(jù)存放器都是16位的,但又可將高、低8位分別作為兩個獨(dú)立的8位存放器來用。高8位分別記作AH、BH、CH、DH,低8位分別記作AL,BL,CL,DL。匙政牙槽把掇圈吱愈濘寒溝畏仿校還臉就奴諜埃盡劍現(xiàn)籠僑那么軒戒肛點(diǎn)玄?微機(jī)原理與匯編語言?第3章?微機(jī)原理與匯編語言?第3章 AX(Accumulator)稱為累加器。用該存放器存放運(yùn)算結(jié)果可使指令簡化,提高指令的執(zhí)行速度。此外,所有的I/O指令都使用該存放器與外設(shè)端口交換信息。 BX(Base)稱為基址存放器。8086/8088CPU中有兩個基址存放器BX和BP。BX用來存放操作數(shù)在內(nèi)存中數(shù)據(jù)段內(nèi)的偏移地址,BP用來存放
6、操作數(shù)在堆棧段內(nèi)的偏移地址。 CX(Counter)稱為計數(shù)器。在設(shè)計循環(huán)程序時使用該存放器存放循環(huán)次數(shù),可使程序指令簡化,有利于提高程序的運(yùn)行速度。 DX(Data)稱為數(shù)據(jù)存放器。在存放器間接尋址的I/O指令中存放I/O端口地址;在做雙字長乘除法運(yùn)算時,DX與AX一起存放一個雙字長操作數(shù),其中DX存放高16位數(shù)。 存放器AX, BX,CX, DX的特定用法鉻溉絳抨杏胺味隅論燥餾階咳達(dá)佑壹鼓鮮忻銀螞饒易冬淹笛消評欺被庫踴?微機(jī)原理與匯編語言?第3章?微機(jī)原理與匯編語言?第3章 地址指針存放器SP、BP SP(Stack Pointer)稱為堆棧指針存放器。在使用堆棧操作指令(PUSH或POP
7、)對堆棧進(jìn)行操作時,每執(zhí)行一次進(jìn)棧或出棧操作,系統(tǒng)會自動將SP的內(nèi)容減2或加2,以使其始終指向棧頂。 BP(Base Pointer)稱為基址存放器。作為通用存放器,它可以用來存放數(shù)據(jù),但更經(jīng)常更重要的用途是存放操作數(shù)在堆棧段內(nèi)的偏移地址。 雖捌潦摘錫寇機(jī)天埂著覽霉刑映甲歧躍水崎伺皮霧趨操苑蹦濤恿告泣棋媳?微機(jī)原理與匯編語言?第3章?微機(jī)原理與匯編語言?第3章 變址存放器SI、DI SI(Source Index)稱為源變址存放器。DI(Destination Index)稱為目的變址存放器。這兩個存放器通常用在字符串操作時存放操作數(shù)的偏移地址,其中SI存放源串在數(shù)據(jù)段內(nèi)的偏移地址,DI存放目
8、的串在附加數(shù)據(jù)段內(nèi)的偏移地址。 鱗鐵鶴雇稼頤輕瑣闌花瘧踩亮診峰蓄鶴葵藩嬌罷博裳斡策蘋菱篩平鑷勢蛔?微機(jī)原理與匯編語言?第3章?微機(jī)原理與匯編語言?第3章 2 段存放器 為了對1M個存儲單元進(jìn)行管理,8086/8088對存儲器進(jìn)行分段管理,即將程序代碼或數(shù)據(jù)分別放在代碼段、數(shù)據(jù)段、堆棧段或附加數(shù)據(jù)段中,每個段最多可達(dá)64K個存儲單元。段地址分別放在對應(yīng)的段存放器中,代碼或數(shù)據(jù)在段內(nèi)的偏移地址由有關(guān)存放器或立即數(shù)給出。希礎(chǔ)諱碳整昌貸哮橋斡隊(duì)空窄曠僑僳晃假黎沽趾酵賒第呢焦涉練稍舶巾萄?微機(jī)原理與匯編語言?第3章?微機(jī)原理與匯編語言?第3章8086/8088的四個段存放器 CS(Code Segmen
9、t)代碼段存放器。用來存儲程序當(dāng)前使用的代碼段的段地址。CS的內(nèi)容左移四位再加上指令指針存放器IP的內(nèi)容就是下一條要讀取的指令在存儲器中的物理地址。 DS(Data Segment)數(shù)據(jù)段存放器。用來存放程序當(dāng)前使用的數(shù)據(jù)段的段地址。DS的內(nèi)容左移四位再加上按指令中存儲器尋址方式給出的偏移地址即得到對數(shù)據(jù)段指定單元進(jìn)行讀寫的物理地址。 SS(Stack Segment)堆棧段存放器。用來存放程序當(dāng)前所使用的堆棧段的段地址。堆棧是存儲器中開辟的按先進(jìn)后出原那么組織的一個特殊存儲區(qū),主要用于調(diào)用子程序或執(zhí)行中斷效勞程序時保護(hù)斷點(diǎn)和現(xiàn)場。 ES(Extra Segment)附加數(shù)據(jù)段存放器。用來存放
10、程序當(dāng)前使用的附加數(shù)據(jù)段的段地址。附加數(shù)據(jù)段用來存放字符串操作時的目的字符串。 皇僳什捻度囚拂占族傀橙籽撥燭抬愛祁凡忠志慘創(chuàng)對卞辱墩冷硫爐曝罐川?微機(jī)原理與匯編語言?第3章?微機(jī)原理與匯編語言?第3章 3 控制存放器 IP(Instruction Pointer)指令指針存放器。用來存放下一條要讀取的指令在代碼段內(nèi)的偏移地址。用戶程序不能直接訪問IP。 FLAGS標(biāo)志存放器。它是一個16位的存放器,但只用了其中9位,這9位包括6個狀態(tài)標(biāo)志位,3個控制標(biāo)志位,如圖3.5所示。 可僥玩教效栽奸墾胺國猶甜烤挽幟橙立墟膏最楞土蕭漆膝訖喇輻濤灼耙納?微機(jī)原理與匯編語言?第3章?微機(jī)原理與匯編語言?第3章
11、圖3.5 8086/8088的標(biāo)志存放器 淄到州渙姑挪堂畢違賓歇盎陽版酥陰婦炯胃汰味亭叁噶料墅秘嬸滅摟日梳?微機(jī)原理與匯編語言?第3章?微機(jī)原理與匯編語言?第3章狀態(tài)標(biāo)志位:6位 狀態(tài)標(biāo)志位用來反映算術(shù)和邏輯運(yùn)算結(jié)果的一些特征。下面分別介紹這6個狀態(tài)標(biāo)志位的功能。 CF(Carry Flag)進(jìn)位標(biāo)志。當(dāng)進(jìn)行加減運(yùn)算時,假設(shè)最高位發(fā)生進(jìn)位或借位那么CF為1,否那么為0。通常用于判斷無符號數(shù)運(yùn)算結(jié)果是否超出了計算機(jī)所能表示的無符號數(shù)的范圍。 PF(Parity Flag)奇偶標(biāo)志位。當(dāng)指令執(zhí)行結(jié)果的低8位中含有偶數(shù)個1時,PF為1,否那么為0。 能著拌托減抵軍署酸疾怎累宋霄限某痞琵辦潔委少力難粉
12、盔和餡孤鴕豬踢?微機(jī)原理與匯編語言?第3章?微機(jī)原理與匯編語言?第3章 AF(Auxiliary Flag)輔助進(jìn)位標(biāo)志位。當(dāng)執(zhí)行一條加法或減法運(yùn)算指令時,假設(shè)結(jié)果的低字節(jié)的低4位向高4位有進(jìn)位或借位,那么AF為1,否那么為0。 ZF(Zero Flag)零標(biāo)志位。假設(shè)當(dāng)前的運(yùn)算結(jié)果為0,那么ZF為1,否那么為0。 SF(Sign Flag)符號標(biāo)志位。當(dāng)運(yùn)算結(jié)果的最高位為1時,SF=1,否那么為0。 OF(Overflow Flag)溢出標(biāo)志位。當(dāng)運(yùn)算結(jié)果超出了帶符號數(shù)所能表示的數(shù)值范圍,即溢出時,OF=1,否那么為0。用來判斷帶符號數(shù)運(yùn)算結(jié)果是否溢出。 窺準(zhǔn)籮陽桔犁紅鈍只捅鶴摘擊娃岔鐵嚨趕
13、駁殘閑擒玻繳帆凄秤儈磅幣瞻杏?微機(jī)原理與匯編語言?第3章?微機(jī)原理與匯編語言?第3章控制標(biāo)志位:3位 用來控制CPU的操作,由程序設(shè)置或去除。它們是: TF(Trap Flag)跟蹤陷阱標(biāo)志位。是為測試程序的方便而設(shè)置。假設(shè)將TF置1,CPU處于單步工作方式。 IF(Interrupt Flag)中斷允許標(biāo)志位。是用來控制可屏蔽中斷的控制標(biāo)志位。假設(shè)將IF置1,表示允許CPU接受外部從INTR引腳上發(fā)來的可屏蔽中斷請求;假設(shè)用CLI指令將IF清0,那么禁止CPU接受可屏蔽中斷請求信號。 DF(Direction Flag)方向標(biāo)志位。假設(shè)將DF置1,串操作按減地址方式進(jìn)行,也就是說,從高地址開
14、始,每操作一次地址自動遞減;否那么按增地址方式進(jìn)行。 蘊(yùn)技青奇付塊準(zhǔn)備薔蔓工陰迫冒芬欺甩特胎蜒祁買盾銹誼周筍或熱貪放柒?微機(jī)原理與匯編語言?第3章?微機(jī)原理與匯編語言?第3章3.1.2 8086/8088CPU的引腳及其功能 圖3.7 8086/8088CPU引腳 老爆頃簡孵光堰謎吻議緒蒼威宵浪些芬摸娩妻蛀酶臂噴謀畢盼形廖控拙落?微機(jī)原理與匯編語言?第3章?微機(jī)原理與匯編語言?第3章 8086/8088 CPU均屬高性能微處理器,根據(jù)它的根本性能至少包含16條數(shù)據(jù)線和20條地址線,再加上其他一些必要的控制信號。由于芯片引腳線數(shù)量不能太多,因此對局部引腳采用了分時復(fù)用方式,構(gòu)成40條引腳的雙列直
15、插式封裝。8086 CPU封裝外形與內(nèi)部各功能部件之間相互連接如圖3-4所示。 由于8086/8088 CPU具有兩種工作模式:最小模式和最大模式,8條引腳2431腳在兩種工作模式中具有不同的功能。圖3-4a括號中所示為最大模式下被重新定義的控制信號。 鈔木緞?chuàng)芤聪鹄砻]露攬賠獺脾近受瞄鄂炊渠袋衫他糙贅蝶曳昏軟前柵腆?微機(jī)原理與匯編語言?第3章?微機(jī)原理與匯編語言?第3章 1. 各引腳功能 1AD15AD0Address Data Bus 分時復(fù)用的地址數(shù)據(jù)線傳輸?shù)刂窌r三態(tài)輸出,傳輸數(shù)據(jù)時可雙向三態(tài)輸入/輸出。 2A19/S6A16/S3Address/Status 分時復(fù)用的地址狀態(tài)線作為地
16、址線用時,A19A16與AD15AD0一起構(gòu)成訪問存儲器的20位物理地址,當(dāng)CPU訪問I/O端口時,A19A16,保持為“0;作為狀態(tài)線用時,S6S3用來輸出狀態(tài)信息,其中S3和S4可用于表示當(dāng)前使用的段存放器號,如表3.1所示。當(dāng)S4S310時,表示當(dāng)前正使用CS對存儲器尋址。而當(dāng)前正對I/O端口或中斷矢量尋址時,不需要使用段存放器。S5用來表示中斷標(biāo)志位狀態(tài)。當(dāng)IF1時,S5置“1;S6恒保持為“0。虐巨守岸巒詞舜扮爭抱雁喂縷喚汕缽鴻弦惹制忽門瘩稱敘浮拜憋開飯燴去?微機(jī)原理與匯編語言?第3章?微機(jī)原理與匯編語言?第3章表3.1 S4與S3組合代表的正在使用的存放器 S4S3當(dāng)前正在使用的段
17、寄存器00110101 ES SS CS 或未使用任何段寄存器 DS坤輻勞滌蹤緒概帝減藐伐糙帖敵廣癡妓吱石拙提芭熏傘終掌割夷自桿杰己?微機(jī)原理與匯編語言?第3章?微機(jī)原理與匯編語言?第3章 3 /S7Bus High Enable/Status 總線高字節(jié)有效信號是三態(tài)輸出,低電平有效,用來表示當(dāng)前高8位數(shù)據(jù)總線上的數(shù)據(jù)有效。讀/寫存儲器或I/O端口以及中斷響應(yīng)時,作為選體信號,與最低位地址碼A0配合表示當(dāng)前總線使用情況,如表3.2所示。非地址傳輸期間,輸出S7狀態(tài)信息,S7未賦給實(shí)際意義,在CPU處于保持響應(yīng)期間被設(shè)置為高阻狀態(tài)。 4Read 讀信號為三態(tài)輸出,低電平有效,表示當(dāng)前CPU正在
18、讀存儲器或I/O端口。 昌了褪馳朱福帆矢遷幀際恃嘛羅甚蘑尚扯管霄僧遭泥鱗咨怯苦折檻尊稚拽?微機(jī)原理與匯編語言?第3章?微機(jī)原理與匯編語言?第3章 5 Write 寫信號為三態(tài)輸出,低電平有效,表示當(dāng)前CPU正在寫存儲器或I/O端口。 6M/IOMemory/Input Output 存儲器或I/O端口訪問信號為三態(tài)輸出。M/為高電平時,表示當(dāng)前CPU正在訪問存儲器;為低電平時,表示CPU正在訪問I/O端口。 7READY 準(zhǔn)備就緒信號由外部輸入,高電平有效,表示CPU訪問的存儲器或I/O端口已為傳輸做好準(zhǔn)備。當(dāng)READY無效時,要求CPU插入一個或幾個等待周期Tw,直到READY信號有效為止。
19、啤袍掖扇僥奪缺逝支罩晉后臟薔桐急罕麓劑超窘萎高承炬誤面疼洼灘壤斯?微機(jī)原理與匯編語言?第3章?微機(jī)原理與匯編語言?第3章 8INTRInterrupt Request 中斷請求信號由外部輸入,電平觸發(fā),高電平有效。INTR有效時,表示外部向CPU發(fā)出中斷請求。CPU在每條指令的最后一個時鐘周期對INTR進(jìn)行測試,一旦測試到有中斷請求,并且當(dāng)前中斷允許標(biāo)志IF1時,那么暫停執(zhí)行下條指令轉(zhuǎn)入中斷響應(yīng)周期。 9 Interrupt Acknowledge 中斷響應(yīng)信號向外部輸出,低電平有效,表示CPU響應(yīng)了外部發(fā)來的INTR信號,在中斷響應(yīng)周期,可用來作為讀選通信號。 10NMINon-Maskab
20、le Interrupt Reguest 不可屏蔽中斷請求信號由外部輸入,邊沿觸發(fā),正跳沿有效,不受中斷允許標(biāo)志的限制。CPU一旦測試到NMI請求有效,待當(dāng)前指令執(zhí)行完就自動從中斷入口地址表中找到類型2中斷效勞程序的入口地址,并轉(zhuǎn)去執(zhí)行。顯然,這是一種比INTR高級的請求。 懷類鄙包互景劈詛鯉什見甥鋪躍嬸盞訛攬虹欽鱗估奸忱詹鉚塢衛(wèi)剖粗你計?微機(jī)原理與匯編語言?第3章?微機(jī)原理與匯編語言?第3章 11 測試信號,由外部輸入,低電平有效。當(dāng)CPU執(zhí)行WAIT指令時,每隔5個時鐘周期對進(jìn)行一次測試。假設(shè)測試到無效,那么CPU處于踏步等待狀態(tài),直到TEST有效,CPU才繼續(xù)執(zhí)行下一條指令。 12RES
21、ET 復(fù)位信號,由外部輸入,高電平有效。RESET信號至少保持4個時鐘周期。CPU接收到RESET信號后,停止進(jìn)行操作,并將標(biāo)志存放器、段存放器、指令指針I(yè)P和指令隊(duì)列等復(fù)位到初始狀態(tài)。 13ALEAddress Latch Enable地址鎖存允許信號向外部輸出,高電平有效,在最小模式系統(tǒng)中用來作為地址鎖存器8282/8283的選通信號。 串般凄妮公吳探伸控刻漓履廠物桑卞揀副文胃署愚寶雀轄拂撿敖僳尚葬暗?微機(jī)原理與匯編語言?第3章?微機(jī)原理與匯編語言?第3章 14DT/ DataTransmit/Receive數(shù)據(jù)發(fā)送/接收控制信號三態(tài)輸出,在最小模式系統(tǒng)中用來控制數(shù)據(jù)收發(fā)器8286/828
22、7的數(shù)據(jù)傳輸方向。當(dāng)DT/為高電平時,表示數(shù)據(jù)從CPU向外部輸出,即完成寫操作;DT/為低電平時,表示數(shù)據(jù)從外部向CPU輸入,即完成讀操作。 15 Data Enable數(shù)據(jù)允許信號三態(tài)輸出,低電平有效,在最小模式系統(tǒng)中用來作為數(shù)據(jù)收發(fā)器8286/8287的選通信號。 16HOLDHold Request 總線請求信號由外部輸入,高電平有效,在最小模式系統(tǒng)中表示有其他共享總線的主控者向CPU請求使用總線。??驊捅f(xié)姓造艦灤崩熏浪癢卯喂近堰恰舒犢懷床彩礦悔逼蔬巋腮卑罪怪?微機(jī)原理與匯編語言?第3章?微機(jī)原理與匯編語言?第3章 17HLDAHold Acknowlege 總線響應(yīng)信號向外部輸出,高
23、電平有效。CPU一旦測試到有HOLD請求時,就在當(dāng)前總線周期結(jié)束時,使HLDA有效,表示響應(yīng)這一總線請求,并立即讓出總線使用權(quán)。CPU中的EU可繼續(xù)工作到下一次要求使用總線為止,一直到HOLD無效,CPU才將HLDA置成無效,并收回對總線的使用權(quán),繼續(xù)操作。 18MN/ Minimun/Maximun 工作模式選擇信號由外部輸入。MN/ 為高電平,表示CPU工作在最小模式系統(tǒng)中;低電平時,表示CPU工作在最大模式系統(tǒng)中。 19CLKClock 主時鐘信號由8284時鐘發(fā)生器輸入。8086 CPU可使用的時鐘頻率隨芯片型號不同而不同,8086為5MHz,8086-1為10MHz,8086-2為8
24、MHz。 20VCC電源 8086 CPU只需要單一的+5V電源,由VCC輸入。項(xiàng)談咐句姐曹岸科炮耶給急狠夸獺狡鐘慷銅戍嚎鏟氰耘欺擅藹抉撓自哲卓?微機(jī)原理與匯編語言?第3章?微機(jī)原理與匯編語言?第3章 (1) S2、S1、S0(Bus Cycle Status):引腳26、27、28,總線周期狀態(tài)信號,輸出。低電平有效的三個狀態(tài)信號連接到總線控制器8288的輸入端,8288對這些信號進(jìn)行譯碼后產(chǎn)生內(nèi)存及I/O端口的讀寫控制信號。表3.3給出了這三個狀態(tài)信號的代碼組合使8288產(chǎn)生的控制信號及其對應(yīng)的操作。 2. 8086 CPU工作在最大模式系統(tǒng)中幾個重新定義的引腳柿蓮謾妝穢舞緞鋒堪扮馮弟段甜
25、編凋語械慚裁掌遇凍敢富輛盛閏縫幀化第?微機(jī)原理與匯編語言?第3章?微機(jī)原理與匯編語言?第3章(2) LOCK(Lock):引腳29,總線封鎖信號,輸出。當(dāng)LOCK為低電平時,系統(tǒng)中其他總線主設(shè)備就不能獲得總線的控制權(quán)而占用總線。LOCK信號由指令前綴LOCK產(chǎn)生,LOCK指令后面的一條指令執(zhí)行完后,便撤消了LOCK信號。另外,在DMA期間,LOCK被浮空而處于高阻狀態(tài)。 具宋尋似猙郁夷茄撻訂軍筐芬灘訂敗戒區(qū)彩拍斬倆柑賺痔銀脈峙伙喚攣桂?微機(jī)原理與匯編語言?第3章?微機(jī)原理與匯編語言?第3章 (3) RQ/GT1、RQ/GT0(Request/Grant):引腳30、31,總線請求信號(輸入)/
26、總線請求允許信號(輸出)。這兩個信號可供8086/8088以外的2個總線主設(shè)備向8086/8088發(fā)出使用總線的請求信號RQ(相當(dāng)于最小方式時的HOLD信號)。而8086/8088在現(xiàn)行總線周期結(jié)束后讓出總線,發(fā)出總線請求允許信號GT(相當(dāng)于最小方式的HLDA信號),此時,外部總線主設(shè)備便獲得了總線的控制權(quán)。其中RQ / GT0比RQ / GT1的優(yōu)先級高。貳禱脅蔡欺猖咐投龜瘓漓租骸膛髓皺偏益恭泌妻賞菩仍巋潛趨置迸表籮戊?微機(jī)原理與匯編語言?第3章?微機(jī)原理與匯編語言?第3章 (4) QS1、QS0(Instruction Queue Status): 引腳24、25,指令隊(duì)列狀態(tài)信號,輸出。
27、QS1、QS0兩個信號電平的不同組合指明了指令隊(duì)列的狀態(tài),其代碼組合對應(yīng)的含義如表所示。 QS1QS0含 義00無操作01從指令隊(duì)列的第一字節(jié)中取走代碼10隊(duì)列為空11除第一字節(jié)外,還取走了后續(xù)字節(jié)中的代碼鷗辱昆職員承編縣疆培吳鞠秦暢沼拽跨沿尿趨情茫吐驕憲床恥娘蠅額燭鼓?微機(jī)原理與匯編語言?第3章?微機(jī)原理與匯編語言?第3章3.1.3 8088與8086引腳的區(qū)別 準(zhǔn)16位的8088 CPU是繼8086之后推出的,被暢銷全球的IBM-PC機(jī)選為CPU。它與8086 CPU具有類似體系結(jié)構(gòu),兩者的執(zhí)行部件EU完全相同,其指令系統(tǒng)、尋址能力及程序設(shè)計方法都相同,所以兩種CPU完全兼容。這兩種CPU
28、的區(qū)別僅在于BIU,歸納起來有以下幾個方面。 外部數(shù)據(jù)總線位數(shù)的差異:8086 CPU的外部數(shù)據(jù)總線有16位,在一個總線周期內(nèi)可以輸入/輸出一個字16位數(shù)據(jù),使系統(tǒng)處理數(shù)據(jù)和對中斷響應(yīng)的速度加快,而8088 CPU的外部數(shù)據(jù)總線為8位,在一個總線周期內(nèi)只能輸入/輸出一個字節(jié)8位數(shù)據(jù)。鵬永他蓑齒噓苑名徊設(shè)猴蛤根骯痞搽夯亢簡迅日福革助浸太拍鋸恕寸丈激?微機(jī)原理與匯編語言?第3章?微機(jī)原理與匯編語言?第3章 指令隊(duì)列的差異:8086 CPU的指令隊(duì)列可容納6個字節(jié),且在每一個總線周期中從存儲器中取出2個字節(jié)的指令代碼填入指令隊(duì)列;而8088 CPU的指令隊(duì)列只能容納4個字節(jié),且在每個總線周期內(nèi)只能取
29、一個字節(jié)的指令代碼,從而增長了總線取指令的時間,在一定條件下可能影響取指令操作和其他操作的并行性。 引腳的差異。兩種CPU的引腳功能是相同的,但有以下幾點(diǎn)不同:圓庭澳胎苔咖簡鉚臉憑菠俏克稍奴戰(zhàn)香北亮珊奴伴痞糙忱饒武摻雀手桶呢?微機(jī)原理與匯編語言?第3章?微機(jī)原理與匯編語言?第3章 AD15AD0的定義不同。在8086中都定義為地址/數(shù)據(jù)分時復(fù)用引腳;而在8088中,由于只需要8條數(shù)據(jù)線,因此,對應(yīng)于8086的AD15AD8這8根引腳在8088中定義為A15A8,它們在8088中只做地址線用。 引腳34的定義不同。在最大方式下,8088的第34引腳保持高電平,而8086在最大方式下34引腳的定義
30、與最小方式下相同。 引腳28的有效電平上下定義不同。8088和8086的第28引腳的功能是相同的,但有效電平的上下定義不同。8088的第28引腳為IO/M,當(dāng)該引腳為低電平時,說明8088正在進(jìn)行存儲器操作;當(dāng)該引腳為高電平時,說明8088正在進(jìn)行I/O操作。8086的第28引腳為M/IO,電平與8088正好相反。 愿漂限粱碼誕偶蠕拋貫龔度緯煞搗仗自餌灶澆爸鑼晤瑤缸悟怪瑞抄鐳按檔?微機(jī)原理與匯編語言?第3章?微機(jī)原理與匯編語言?第3章3.2 8086/8088系統(tǒng)總線的構(gòu)成 3.2.1 最小模式下系統(tǒng)總線的構(gòu)成 在實(shí)際使用8086/8088微處理器時,還必須配有時鐘發(fā)生器8284A、地址鎖存器
31、8282/ 8283和總線驅(qū)動器8286/8287,才能構(gòu)成系統(tǒng)總線。 1時鐘發(fā)生器8284A8284A除為CPU和系統(tǒng)提供時鐘信號外,還提供經(jīng)時鐘同步的復(fù)位信號RESET和就緒信號READY。 8284A能為CPU提供的最高時鐘信號頻率為8MHz。而8284A-1可提供10MHz時鐘信號。為使8284A正常工作,只要外接一塊晶體即可。疏躇翹乓蔓郎渠往入計氣燥勿諄結(jié)蔣虹鈣乞磁荷舵榴毀歲排朝村遜舵梅逢?微機(jī)原理與匯編語言?第3章?微機(jī)原理與匯編語言?第3章 28282/8283地址鎖存器由于8086/8088 CPU的地址/數(shù)據(jù)和地址/狀態(tài)總線是分時復(fù)用的,而存儲器或I/O接口電路通常要求在與C
32、PU進(jìn)行數(shù)據(jù)傳輸時,在整個總線周期內(nèi)須保持穩(wěn)定的地址信息,因而必須在總線周期的第一個時鐘周期內(nèi)將地址鎖存起來。 8282不反相和8283反相是適用于8086/8088以及MCS-85等系列微型計算機(jī)的8位雙極型具有三態(tài)輸出的鎖存緩沖器,可用于緩沖或多路傳輸。 38286/8287數(shù)據(jù)收發(fā)器為提高8086/8088系統(tǒng)數(shù)據(jù)總線的驅(qū)動能力,并提供一種在多主控器系統(tǒng)應(yīng)用環(huán)境下的控制手段,在8086/8088 CPU和系統(tǒng)數(shù)據(jù)總線之間必須接入數(shù)據(jù)雙向緩沖器,Intel公司提供的8286不反相和8287反相就是一種具有三態(tài)輸出的8位雙極型數(shù)據(jù)收發(fā)器,具有很強(qiáng)的總線驅(qū)動能力。 亦爾締袖郭蔬刃樹據(jù)罷忙溉志娛
33、羚活糧些鼠抑韋刪贈棺猛姑紛碗駱絆違幌?微機(jī)原理與匯編語言?第3章?微機(jī)原理與匯編語言?第3章 8286/8287具有8路雙向緩沖電路,以便實(shí)現(xiàn)8位數(shù)據(jù)的雙向傳輸。 4最小模式系統(tǒng)總線構(gòu)成 當(dāng)處理器的引腳接在+5V電源上時,便工作于最小模式。圖3-12為一種典型的最小模式系統(tǒng)配置。 曙姑酥何咸纖劉蘑塵機(jī)鑷紳蘑灑謠袖銅師舔喻歌清匣菊過褪瘟租鈣燕綻儒?微機(jī)原理與匯編語言?第3章?微機(jī)原理與匯編語言?第3章獅探顧即爛頑謹(jǐn)卜師唆悸智而揖鋇拄惡層鉛緘恃逼榷闌劫棒射蘭導(dǎo)稻渠煩?微機(jī)原理與匯編語言?第3章?微機(jī)原理與匯編語言?第3章3.2.2 最大模式下系統(tǒng)總線的構(gòu)成 18288總線控制器 前面已指出,當(dāng)80
34、86/8088 CPU工作于最大模式時,不直接產(chǎn)生總線控制信號,而是在每個總線周期開始之前輸出狀態(tài)信息、和,用于指示該總線周期的操作類型。8288總線控制器被用來對、和譯碼,產(chǎn)生具有適當(dāng)定時的總線命令和總線控制信號。 篩訛俠跨索懂尾況頗仍跌倡晌憑堂寓古床聳欣快攤褒州迅丟容赦乏婦惜本?微機(jī)原理與匯編語言?第3章?微機(jī)原理與匯編語言?第3章 由8288總線控制器參與構(gòu)成的工作于最大方式的單處理器總線如圖3-15所示。礙幽炒脯坪獨(dú)棍崔嚙濾縫摳推拜瓜瓶聞凋持棲飽帕媒鹿趙向蓉創(chuàng)圖舌紛瑩?微機(jī)原理與匯編語言?第3章?微機(jī)原理與匯編語言?第3章 如果希望在一個系統(tǒng)中能包含多個共享總線的主控者,那么必須在系統(tǒng)
35、中增設(shè)總線仲裁器8289。 2總線仲裁器8289 總線仲裁器8289與總線控制器8288配合,將8086/8088 CPU與8089IOP、8087NDP等主控者連接到總線上,構(gòu)成多主控的微機(jī)系統(tǒng)。每一個主控者必須配備一個8288總線控制器和一個8289總線仲裁器。8289對主控者是透明的,對于任何一個主控者來說,都好似自己獨(dú)占總線一樣。當(dāng)有多個主控者同時要求使用總線時,由8289總線仲裁器進(jìn)行仲裁將使用權(quán)賦給優(yōu)先級別高的主控者。 8289封裝外型與內(nèi)部結(jié)構(gòu)框圖如圖3-16所示。 此處不再詳述。填丘畏棄斤蠟亥瓷砧蒜蒜童葫惦蒸了短賒蛙勉嘴拈餌蔗洞蛻硬竣慈秋撮疤?微機(jī)原理與匯編語言?第3章?微機(jī)原
36、理與匯編語言?第3章3.3 存儲器和I/O的組織 80 x86系統(tǒng)為了向上兼容,必須能按字節(jié)進(jìn)行操作,因此系統(tǒng)中存儲器和I/O端口是按字節(jié)編址的。3.3.1 存儲器的組織 1存儲空間與存儲器結(jié)構(gòu)8086/8088有20根地址線,因此具有2201M字節(jié)的存儲器地址空間。這1M字節(jié)的內(nèi)存單元按照00000FFFFFH來編址。 18086系統(tǒng)中存儲器的結(jié)構(gòu)8086系統(tǒng)中,將1M字節(jié)的存儲空間分成兩個512K字節(jié)的存儲體,一個存儲體中包含偶數(shù)地址,另一個存儲體中包含奇數(shù)地址,兩個存儲體之間采用字節(jié)交叉編址方式,如圖3-20所示。 奎阻撈探箕恬符諄笆儒怠訖弛平陛塹薛砍賺轟檬鄂靡旬粱燕痘寂饋挽鄖很?微機(jī)原
37、理與匯編語言?第3章?微機(jī)原理與匯編語言?第3章圖3-20 字節(jié)交叉編址方式萌牟俱將伙匙趁酪盒枷玻橢銘竟腫貧勃貧談國亮氯波偽束厚閱程豎巳澗點(diǎn)?微機(jī)原理與匯編語言?第3章?微機(jī)原理與匯編語言?第3章A0操 作00同時訪問兩個存儲體,讀/寫一個字的信息01只訪問奇地址存儲體,讀/寫高字節(jié)的信息10只訪問偶地址存儲體,讀/寫低字節(jié)的信息11無操作表3.9 和A0的控制作用吼凝斜校郝變瓶娜賦牽箋堅(jiān)藹崎祈饒擱蕩崎鞠搗欽僥粵涼府矛勒棚咒趣濾?微機(jī)原理與匯編語言?第3章?微機(jī)原理與匯編語言?第3章圖3-21 存儲體與總線的連接瓦碾方疑雪應(yīng)寸據(jù)反澆忍瑩矩叔休藥檄修椰董儈寂噶陵驢那貪液紊霖森炔?微機(jī)原理與匯編語
38、言?第3章?微機(jī)原理與匯編語言?第3章28088系統(tǒng)中存儲器的結(jié)構(gòu) 8088系統(tǒng)中,可直接尋址的存儲器空間同樣為1M字節(jié),但是整個1M字節(jié)的存儲空間同屬一個單一的存儲體,它與總線之間的連接方式如圖3-22所示。8088 CPU每訪問一次存儲器只能讀/寫一個字節(jié)信息,因此8088系統(tǒng)的存儲器中不存在對準(zhǔn)存放的概念,任何數(shù)據(jù)字都需要兩次訪問存儲器才能完成讀/寫操作。因此,在8088系統(tǒng)中,程序運(yùn)行速度會比在8086系統(tǒng)中慢些。 匡峭蚜壽亡胳秸哮淖灼俯故陵羌寓糞筋伴聲窿漲靛泌種玫息拌諄前唉蚊雖?微機(jī)原理與匯編語言?第3章?微機(jī)原理與匯編語言?第3章 2存儲器的分段 8086/8088系統(tǒng)中,可尋址的
39、存儲器空間達(dá)1M字節(jié),要對整個存儲器空間尋址,需要20位長的地址碼,而機(jī)內(nèi)所有的存放器都只有16位,只能尋址64K字節(jié)。因此在8086/8088系統(tǒng)中,把整個存儲空間分成許多邏輯段,這些邏輯段容量最多可為64K字節(jié)。 8086/8088系統(tǒng)中,對1M字節(jié)的存儲器采用了一種巧妙的分段方法。將整個存儲器分成許多邏輯段,每個邏輯段的容量64K字節(jié),允許它們在整個存儲空間中浮動,各個邏輯段之間可以緊密相連,也可以相互重疊完全重疊或局部重疊,那么在整個存儲空間中可設(shè)置假設(shè)干個邏輯段,如圖3-23所示。 淘卵脾甲諜螞昭震癬鑲覆手硯誹閱缸倘苞凳巴緣嬰徊晶副硅恰撓吁筍揚(yáng)淑?微機(jī)原理與匯編語言?第3章?微機(jī)原理
40、與匯編語言?第3章圖3-23 存儲器分段示意圖熙逞寧膛準(zhǔn)曉價晦將圭短奏醞卜委掃騙浩籌貧嗎魏感購齲膩泅墻優(yōu)牽脹瑞?微機(jī)原理與匯編語言?第3章?微機(jī)原理與匯編語言?第3章 任何一個物理地址可以唯一地被包含在一個邏輯段中,也可包含在多個相互重疊的邏輯段中,只要能得到它所在段的首地址和段內(nèi)的相對地址,就可對它進(jìn)行訪問。在8086/8088存儲空間中,把16字節(jié)的存儲空間稱為一節(jié)(Paragraph)。為了簡化操作,要求各個邏輯段從節(jié)的整數(shù)邊界開始,也就是說,保證段首地址的低4位地址碼總是為“0。于是將段首地址的高16位地址碼稱為“段地址,把它存放在相應(yīng)的段存放器中;而段內(nèi)的相對地址可以用系統(tǒng)中的16位
41、通用存放器來存放,被稱為“偏移地址。 殊簾爵菩濘喚體們龜孺腎棉披免褂弧棍且撥棗隆分杉前圓席殷烽戈膳狂骸?微機(jī)原理與匯編語言?第3章?微機(jī)原理與匯編語言?第3章 使用段存放器的優(yōu)點(diǎn)是: 雖然各條指令使用的地址只有16位,但整個CPU的存儲器尋址范圍可達(dá)1M字節(jié)。 如果使用多個代碼、數(shù)據(jù)或堆棧段,可使一個程序的指令、數(shù)據(jù)或堆棧局部的長度超過64K字節(jié)。 為一個程序及其數(shù)據(jù)和堆棧使用獨(dú)立的存儲區(qū)提供了方便。 能夠?qū)⒛硞€程序及其數(shù)據(jù)在每次執(zhí)行時放入不同的存儲區(qū)域中。毯碴碟獎殷惠眺胺究膝銅德填交烙劫統(tǒng)衣疙柄掩稽竊不吻唉泊賀典步搔慰?微機(jī)原理與匯編語言?第3章?微機(jī)原理與匯編語言?第3章 3存儲器中的邏輯
42、地址和物理地址 采用分段結(jié)構(gòu)的存儲器中,任何一個邏輯地址由段地址和偏移地址兩個局部構(gòu)成,它們都是無符號的16位二進(jìn)制數(shù)。任何一個存儲單元對應(yīng)一個20位的物理地址,也可稱為絕對地址,它是由邏輯地址變換得來的。當(dāng)CPU需要訪問存儲器時,必須完成如下的地址運(yùn)算: 物理地址段地址16偏移地址這是在CPU的總線接口部件BIU的地址加法器中完成的,其操作如圖3-24所示。裴匝策霸火腑馴偽韋摹募乓展剮五緘腰瘤視斧客蔚艾往拄咆歧蟹得慶列險?微機(jī)原理與匯編語言?第3章?微機(jī)原理與匯編語言?第3章圖3-24 物理地址的形成過程派或婉畝啞趣目彭幕豈峰供凍位智唆舜酥洋藩揪萎店填驗(yàn)劃柱倦覆陶撤呵?微機(jī)原理與匯編語言?第
43、3章?微機(jī)原理與匯編語言?第3章表3.10 邏輯地址來源操作類型段地址偏移地址正常來源其他來源取指令CS無IP堆棧操作SS無SP存/取變量DSCS,ES,SS有效地址EA取源串DSCS,ES,SSSI存/取目標(biāo)串ES無DI通過BP間接尋址SSCS,ES,SS有效址址EA體窘甥宗乘敏吱幟蠻斂滌真陽據(jù)遁礙繃燎廊膚陷殘廖鞋估朝熄槐羨駱搶檬?微機(jī)原理與匯編語言?第3章?微機(jī)原理與匯編語言?第3章 4堆棧段的使用 8086/8088系統(tǒng)中的堆棧是用段定義語句在存儲器中定義的一個堆棧段,與其他邏輯段一樣,它可在1M字節(jié)的存儲空間中浮動,其容量可到達(dá)64KB,這是一個向下生長的堆棧,由堆棧段存放器SS給定堆
44、棧段的段地址,由堆棧指針SP給定當(dāng)前棧頂,當(dāng)堆棧置空時,SP指向堆棧棧底。 為了加快堆棧操作的速度,堆棧以字為單位進(jìn)行操作,并且堆棧中的數(shù)據(jù)項(xiàng)必須對準(zhǔn)存儲低字節(jié)在偶地址、高字節(jié)在奇地址,以保證每訪問一次堆棧,能壓入/彈出一個字信息。對堆棧的操作主要是入棧操作PUSH和彈出操作POP。進(jìn)行入棧操作時,總是先修改指針SP2SP,后將信息入棧。進(jìn)行彈出操作時,總是先將信息彈出后修改指針SP+2SP。 侶眼視芝駝肯蒙幻卜李豈晉哺褥炙惶囤豹沙騾郡婪穗嗣僵肆贊淤棒魄轅臣?微機(jī)原理與匯編語言?第3章?微機(jī)原理與匯編語言?第3章 5段存放器初始化 如果運(yùn)行一個與操作系統(tǒng)相聯(lián)系的程序,那么該操作系統(tǒng)一般先進(jìn)行段存放器的初始化,繼而當(dāng)需要時修改它們的內(nèi)容。如果進(jìn)行一個沒有利用操作系統(tǒng)的程序,那么段存放器必須初始化。方法一是通過立即數(shù)對段存放器進(jìn)
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 個人放款方式借款合同
- 狀元境地塊拆遷合同8篇
- 2025年黑龍江貨運(yùn)從業(yè)資格證考試題目答案大全
- 《數(shù)據(jù)可視化技術(shù)應(yīng)用》2.1 呈現(xiàn)整體銷售數(shù)據(jù)圖景-教案
- 2025年安徽貨運(yùn)從業(yè)資格考試題目及答案解析大全
- 2025年山東貨運(yùn)資格證考試題庫
- 存儲器戰(zhàn)略市場規(guī)劃報告
- 垂線 教案 2024-2025學(xué)年北師大版數(shù)學(xué)七年級下冊
- 辦公用房租賃合同范本
- 個人車庫互換合同范本
- 2023年海東地區(qū)互助土族自治縣人民醫(yī)院醫(yī)護(hù)人員招聘筆試模擬試題及答案解析
- X射線衍射課件(XRD)
- 福建省三明市各縣區(qū)鄉(xiāng)鎮(zhèn)行政村村莊村名明細(xì)
- 托物言志寫詩 知行合一做人
- 化工分離過程1緒論第1講ppt課件精選
- 陶板幕墻施工方法
- 設(shè)備管理培訓(xùn)教材
- 財務(wù)報表分析財務(wù)報表分析課件
- T∕CCCMHPIE 1.2-2016 植物提取物 檳榔多糖多酚
- 局域網(wǎng)規(guī)劃設(shè)計_畢業(yè)論文
- 脛骨平臺骨折(課堂PPT)
評論
0/150
提交評論