第二章 8086的體系結(jié)構(gòu)課件_第1頁
第二章 8086的體系結(jié)構(gòu)課件_第2頁
第二章 8086的體系結(jié)構(gòu)課件_第3頁
第二章 8086的體系結(jié)構(gòu)課件_第4頁
第二章 8086的體系結(jié)構(gòu)課件_第5頁
已閱讀5頁,還剩85頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

早期使用過的微處理器第二章8086的體系結(jié)構(gòu)第2章 微處理器第二章8086的體系結(jié)構(gòu)第2章 微處理器8086是高性能的第三代微處理器,是Intel系列的16位微處理器.8086有16根數(shù)據(jù)線和20根地址線,因?yàn)榭捎?0位地址,所以可尋址的地址空間達(dá)220字節(jié)即1M字節(jié)。

8088是準(zhǔn)16位的微處理器。內(nèi)部總線和寄存器16位對外的數(shù)據(jù)總線8位第二章8086的體系結(jié)構(gòu)1.

8086的編程結(jié)構(gòu)2.

8086的寄存器的用法3.8086/8088存儲器組織和I/O組織4.8086/8088的引腳信號和功能5.8086的工作時(shí)序6.總線介紹第2章 微處理器第二章8086的體系結(jié)構(gòu)所謂編程結(jié)構(gòu),就是指從程序員和使用者的角度看到的結(jié)構(gòu),當(dāng)然,這種結(jié)構(gòu)與CPU內(nèi)部的物理結(jié)構(gòu)和實(shí)際布局是有區(qū)別的。編程結(jié)構(gòu)如下圖所示:1

8086的編程結(jié)構(gòu)第二章8086的體系結(jié)構(gòu)第二章8086的體系結(jié)構(gòu)從功能上,8086分為兩部分:總線接口部件BIU

(BusInterfaceUnit)執(zhí)行部件EU(ExecutionUnit)體系結(jié)構(gòu)的改進(jìn):把取指令和執(zhí)行指令的操作分開,這兩個(gè)單元并行工作(即所謂的流水線結(jié)構(gòu))。第二章8086的體系結(jié)構(gòu)總線接口部件執(zhí)行部件流水線結(jié)構(gòu)第二章8086的體系結(jié)構(gòu)1、總線接口部件(BusInterfaceUnit)功能:1)從內(nèi)存取指令送到指令隊(duì)列2)訪問內(nèi)存單元和外設(shè)端口結(jié)構(gòu):4個(gè)16位的段地址寄存器CS——代碼段寄存器DS——數(shù)據(jù)段寄存器SS——堆棧段寄存器ES——擴(kuò)展段寄存器8086編程結(jié)構(gòu)圖第二章8086的體系結(jié)構(gòu)結(jié)構(gòu):16位的指令指針寄存器IP20位的地址加法器∑6個(gè)字節(jié)的指令隊(duì)列緩沖器1、總線接口部件(BusInterfaceUnit)8086編程結(jié)構(gòu)圖第二章8086的體系結(jié)構(gòu)說明:1)8086的指令隊(duì)列為6個(gè)字節(jié),8088的指令隊(duì)列為4個(gè)字節(jié)。2)地址加法器用來產(chǎn)生20位地址。段地址寄存器的內(nèi)容左移4位+偏移量→20位的實(shí)際物理地址段地址*16+偏移量→20位的實(shí)際物理地址例:CS=FE00H,IP=0200H,則指令的物理地址是FE000H+0200H=FE200H。第二章8086的體系結(jié)構(gòu)2、執(zhí)行部件(ExecutionUnit)功能:負(fù)責(zé)指令的執(zhí)行。結(jié)構(gòu):4個(gè)16位的通用寄存器AX——累加器BX——基址寄存器CX——計(jì)數(shù)器DX——數(shù)據(jù)寄存器4個(gè)16位的專用寄存器SP——堆棧指針寄存器BP——基址指針寄存器SI——源變址寄存器DI——目的變址寄存器16位算術(shù)邏輯單元ALU16位的標(biāo)志寄存器8086編程結(jié)構(gòu)圖第二章8086的體系結(jié)構(gòu)3、“流水線”結(jié)構(gòu)總線接口部件和執(zhí)行部件協(xié)調(diào)工作:取指令執(zhí)行指令取指令執(zhí)行指令取指令執(zhí)行指令

……………….第二章8086的體系結(jié)構(gòu)8086的寄存器按照其功能可以分成四組:數(shù)據(jù)寄存器組指針和變址寄存器組段寄存器組標(biāo)志寄存器28086的寄存器用法第二章8086的體系結(jié)構(gòu)

它包括AX,BX,CX,DX。作用:保存運(yùn)算的操作數(shù)、中間運(yùn)算結(jié)果例如:MOVAX,3456HADDAX,30HAX:AH,AL;BX:BH,BLCX:CH,CLDX:DH,DL

例如:MOVDL,04HADDDL,30H1、數(shù)據(jù)寄存器組特點(diǎn):具有良好的通用性,使用十分靈活;在某些指令中規(guī)定了某些通用寄存器的專門用法8086編程結(jié)構(gòu)圖第二章8086的體系結(jié)構(gòu)通用寄存器的隱含用法

AX累加器

隱含用法:乘法除法運(yùn)算MUL,DIV輸入/輸出操作IN,OUTMUL,IMUL,DIV,IDIV,IN,OUT整字乘法,整字除法,整字I/OAX對應(yīng)的主要指令執(zhí)行操作寄存器MUL,IMUL,DIV,IDIV,LAHF字節(jié)乘法,字節(jié)除法AHMUL,IMUL,DIV,IDIV,IN,OUT,XLAT,DAA,,AAA,AAS,AAM,AAD字節(jié)乘法,字節(jié)除法,字節(jié)I/O。查表,十進(jìn)制算術(shù)運(yùn)算AL第二章8086的體系結(jié)構(gòu)BX基址寄存器

隱含用法:用到存儲單元地址時(shí),BX可以提供。而AX,CX,DX不行。在查表指令XLAT

中,將BX作為表首地址的表中第AL個(gè)元素的值查出來放于AL寄存器中。寄存器執(zhí)行操作對應(yīng)的主要指令BX查表XLAT通用寄存器的隱含用法

第二章8086的體系結(jié)構(gòu)CX計(jì)數(shù)寄存器

隱含用法:當(dāng)字符串操作時(shí),CX起到倒計(jì)數(shù)的作用。

在循環(huán)程序設(shè)計(jì)時(shí),CX起到控制循環(huán)次數(shù)的作用。STOSB,STOSW,LOOP字符串操作,循環(huán)CX對應(yīng)的主要指令執(zhí)行操作寄存器SHR,SHL,ROR,RCR,ROL,RCL變量的移位元和循環(huán)移位CL通用寄存器的隱含用法

第二章8086的體系結(jié)構(gòu)DX數(shù)據(jù)寄存器

隱含用法:整字乘法,存放結(jié)果的高位部分,整字除法,存放被除數(shù)的高位。在輸入/輸出操作時(shí)存放設(shè)備的地址。寄存器執(zhí)行操作對應(yīng)的主要指令DX整字乘法,整字除法,間接I/OMUL,IMUL,DIV,IDIV,IN,OUT通用寄存器的隱含用法

第二章8086的體系結(jié)構(gòu)2、指針和變址寄存器組這組寄存器包括IP、SP、BP、SI、DI。

IP(InstructionPointer)指令指針

CS:IP

程序的下一條指令的地址。SP(StackPointer

)堆棧指針

SS:SP

堆棧操作的地址BP(BasePointer

)基址指針SI(SourceIndex

)源變址寄存器

DI(DestinationIndex)目的變址寄存器特點(diǎn):在進(jìn)行存儲器訪問時(shí),用于形成20位物理地址的偏移地址部分。在任何情況下,它們都不能單獨(dú)形成訪問內(nèi)存的地址碼。8086編程結(jié)構(gòu)圖第二章8086的體系結(jié)構(gòu)指針和變址寄存器的隱含用法

IP(InstructionPointer)指令指針。 作用:是與代碼段寄存器CS一起指出程序的下一條指令的地址。

隱含用法如下圖所示:寄存器執(zhí)行操作指令舉例IP指令走向的改變JMPNEXT1:轉(zhuǎn)向到NEXT1第二章8086的體系結(jié)構(gòu)SP(StackPointer

)堆棧指針。 作用:它與堆棧段寄存器SS一起提供堆棧操作的地址。

隱含用法如下圖所示:寄存器執(zhí)行操作指令舉例SP堆棧操作PUSHAX:將AX寄存器內(nèi)容壓入堆棧指針和變址寄存器的隱含用法

第二章8086的體系結(jié)構(gòu)BP(BasePointer

)基址指針。 作用:在某些尋址方式中,BP的內(nèi)容構(gòu)成段內(nèi)偏移的一部分。 注意:凡偏移地址中含有BP內(nèi)容時(shí),如果不加特殊說明,其段地址由堆棧段寄存器SS提供。隱含用法如下圖所示:寄存器執(zhí)行操作指令舉例BP堆棧區(qū)操作MOVAX,[BP]:將SS:BP內(nèi)存的內(nèi)容送入AX寄存器指針和變址寄存器的隱含用法

第二章8086的體系結(jié)構(gòu)SI(SourceIndex

)和DI(DestinationIndex)是兩個(gè)變址寄存器。 作用:在有變址的尋址方式中,其內(nèi)容作為段內(nèi)偏移的組成部分。

注意:凡偏移地址中僅含有SI、DI內(nèi)容與常數(shù)時(shí),如果不加特殊說明,其段地址由數(shù)據(jù)段寄存器DS提供。在字符串操作指令中,默認(rèn)的操作對象是DS:SI指向的內(nèi)存單元或者ES:DI指向的內(nèi)存單元。指針和變址寄存器的隱含用法

第二章8086的體系結(jié)構(gòu)

隱含用法如下圖所示:寄存器執(zhí)行的操作指令舉例SI字符串操作MOVSB:將DS:SI指向的內(nèi)存單元內(nèi)容送入到ES:SI指向的內(nèi)存單元DI字符串操作MOVSB:同上當(dāng)然,這些指針和變址寄存器除了有地址方面的用途外,也可以作為普通的16位寄存器使用,但I(xiàn)P除外。

例如:MOVAX,DI;將DI寄存器的內(nèi)容送入AX寄存器第二章8086的體系結(jié)構(gòu)3、段寄存器組作用:提供段地址8086/8088可訪問的存儲空間為1MB字節(jié),地址編碼20位是由段地址和偏移地址共同合成。形成示意圖如下:16位16位4位20位段寄存器值偏移量物理地址8086編程結(jié)構(gòu)圖第二章8086的體系結(jié)構(gòu)8086/8088有4個(gè)段寄存器CS(CodeSegment)代碼段寄存器DS(DataSegment)數(shù)據(jù)段寄存器SS(StackSegment)堆棧段寄存器ES(ExtraSegment)附加段寄存器第二章8086的體系結(jié)構(gòu)CS:與IP一起提供將要執(zhí)行的指令的內(nèi)存地址。SS:與SP一起構(gòu)成堆棧操作的內(nèi)存地址。DS:提供一般內(nèi)存數(shù)據(jù)的段地址,而內(nèi)存數(shù)據(jù)的偏移地址可以由多種尋址方式提供。

ES、CS、SS:在有些情況下提供一般內(nèi)存數(shù)據(jù)的段地址,而內(nèi)存數(shù)據(jù)的偏移地址也可以由多種尋址方式提供。第二章8086的體系結(jié)構(gòu)形成物理地址舉例:例:寄存器的值如下CS=1000H,DS=2000H,SS=3000H,ES=4000H,IP=100H,SP=200H,BP=300H,SI=400H,DI=500H。(1)隱含下條指令的地址為多少?

CS:IP,即1000H*16+100H=10100H表示地址為10100H的內(nèi)存單元內(nèi)存放的是下條指令的編碼。第二章8086的體系結(jié)構(gòu)形成物理地址舉例:例:寄存器的值如下CS=1000H,DS=2000H,SS=3000H,ES=4000H,IP=100H,SP=200H,BP=300H,SI=400H,DI=500H。(2)如果有堆棧操作,則堆棧對應(yīng)的內(nèi)存單元的地址為多少?SS:SP 即3000H*16+200H=30200H第二章8086的體系結(jié)構(gòu)(3)有如下指令(注意默認(rèn)段寄存器的使用)

MOVAL,[SI];將DS:SI對應(yīng)的內(nèi)存單元的內(nèi)容放入AL,即地址20400H MOVAL,ES:[SI];內(nèi)存地址ES:SI,地址40400H

MOVAL,[BP];內(nèi)存地址SS:BP,地址30300H

MOVAL,CS:[BP];內(nèi)存地址CS:BP,地址10300H

MOVAL,ES:[DI];內(nèi)存地址ES:DI,地址40500H例:寄存器的值如下CS=1000H,DS=2000H,SS=3000H,ES=4000H,IP=100H,SP=200H,BP=300H,SI=400H,DI=500H。第二章8086的體系結(jié)構(gòu)4、標(biāo)志寄存器(Flags)1514131211109876543210OFDFIFTFSFZFAFPFCF狀態(tài)標(biāo)志CF、AF、OF、SF、PF、ZF控制標(biāo)志DF、IF、TF第二章8086的體系結(jié)構(gòu)CF(CarryFlag)——進(jìn)位標(biāo)志,運(yùn)算結(jié)果最高位是否發(fā)生進(jìn)(借)位,也可用循環(huán)移位指令移入的內(nèi)容來決定。

CF=1進(jìn)(借)位;CF=0無進(jìn)(借)位狀態(tài)標(biāo)志:表示處理器當(dāng)前運(yùn)行的狀態(tài)。AF(AuxiliaryCarryFlag)

——輔助進(jìn)位標(biāo)志,低4位向前有進(jìn)(借)位。 一般在BCD碼運(yùn)算中作為是否進(jìn)行十進(jìn)制調(diào)整的判斷依據(jù)。

AF=1進(jìn)(借)位;AF=0無進(jìn)(借)位第二章8086的體系結(jié)構(gòu)OF(OverflowFlag)

——溢出標(biāo)志,運(yùn)算結(jié)果是否溢出,溢出,就是數(shù)據(jù)在規(guī)定的范圍內(nèi)無法正確表示了。

OF=1結(jié)果超出運(yùn)算長度的補(bǔ)碼表示范圍;OF=0無溢出狀態(tài)標(biāo)志:表示處理器當(dāng)前運(yùn)行的狀態(tài)。第二章8086的體系結(jié)構(gòu)SF(SignFlag)——符號標(biāo)志,表示補(bǔ)碼運(yùn)算結(jié)果的正負(fù)號。

SF=1負(fù)值;SF=0正值狀態(tài)標(biāo)志:表示處理器當(dāng)前運(yùn)行的狀態(tài)。PF(ParityFlag)

——奇/偶標(biāo)志,運(yùn)算結(jié)果低8位中1的個(gè)數(shù)的奇偶數(shù)。用于數(shù)據(jù)傳輸時(shí)的奇偶校驗(yàn)。

PF=1運(yùn)算結(jié)果低8位中1的個(gè)數(shù)為偶數(shù);否則為奇數(shù)ZF(ZeroFlag)

——零標(biāo)志,指出當(dāng)前運(yùn)算結(jié)果是否為0。

ZF=1當(dāng)前運(yùn)算結(jié)果為0;否則為非0第二章8086的體系結(jié)構(gòu)DF(DirectionFlag)

——方向標(biāo)志:指定字符串處理指令的地址變化方向。

DF=0地址增量變化;DF=1地址減量變化控制標(biāo)志:控制處理器的某一特定功能。IF(InterruptEnableFlag)

——可屏蔽中斷允許標(biāo)志。

IF對不可屏蔽中斷和內(nèi)部中斷無影響。

IF=1表示允許CPU響應(yīng)外部可屏蔽中斷請求TF

(TrapFlag)

——陷阱標(biāo)志(單步執(zhí)行標(biāo)志)TF=1CPU執(zhí)行單步方式;

TF=0CPU正常執(zhí)行第二章8086的體系結(jié)構(gòu)標(biāo)志寄存器舉例 0101010000111001 + 0100010101101010 1001100110100011最高位=1,SF=1低8位中偶數(shù)為4個(gè),PF=1運(yùn)算結(jié)果不為0,ZF=0低4位向前有進(jìn)位,AF=1最高位向前沒有進(jìn)位,CF=0次高位向前有進(jìn)位,Cs=0,Cp=1,OF=CsCp=1+1514131211109876543210OFDFIFTFSFZFAFPFCF第二章8086的體系結(jié)構(gòu)4

8086/8088的引腳信號和功能8086CPU

雙列直插式的封裝形式

40條引腳分時(shí)復(fù)用的地址/數(shù)據(jù)總線第二章8086的體系結(jié)構(gòu)8086、8088CPU的引腳信號大致相同,40引腳中按功能分為地址線、數(shù)據(jù)線、控制和狀態(tài)線、定時(shí)信號、電源和地線第二章8086的體系結(jié)構(gòu)部分引腳功能8086/8088的工作模式8086的對外總線連接第二章8086的體系結(jié)構(gòu)一、部分引腳功能(一) 處理器控制信號33 MN/MX:工作方式選擇引腳。接高電平表示工作在最小模式,低電平表示工作在最大模式17 NMI:輸入,上升沿有效,不可屏蔽中斷請求引腳。18 INTR:輸入,高電平有效,可屏蔽中斷請求引腳。32 RD:輸出,低電平有效,讀控制引腳。此信號指出要執(zhí)行一個(gè)對內(nèi)存或I/O端口的讀操作。引腳信號圖第二章8086的體系結(jié)構(gòu)(二) 復(fù)用總線引腳2—16,39 AD0~AD15:地址/數(shù)據(jù)分時(shí)復(fù)用引腳,雙向工作。38,37,36,35 A16~A19/S3~S6

:地址/狀態(tài)分時(shí)復(fù)用引腳,輸出。34BHE/S7

:高8位數(shù)據(jù)總線允許/狀態(tài)復(fù)用引腳,輸出,低電平有效。引腳信號圖第二章8086的體系結(jié)構(gòu)引腳信號圖(三) 最小模式下的信號INTA:中斷響應(yīng)信號,輸出,低電平有效,用來對外設(shè)的中斷請求做出響應(yīng)。ALE:地址鎖存允許信號,輸出,高電平有效。DEN:數(shù)據(jù)允許信號,輸出,為8286/8287數(shù)據(jù)總線收發(fā)器提供一個(gè)控制信號,表示CPU當(dāng)前準(zhǔn)備發(fā)送或接收一個(gè)數(shù)據(jù)。DT/R:數(shù)據(jù)收發(fā)控制信號,輸出,用于控制雙向驅(qū)動(dòng)器8286/8287的數(shù)據(jù)傳送方向。高電平時(shí)數(shù)據(jù)發(fā)送;低電平時(shí)數(shù)據(jù)接收。M/IO:存儲器/輸入輸出控制信號,輸出。高電平時(shí)表示CPU和存儲器之間進(jìn)行數(shù)據(jù)傳輸;低電平時(shí)表示CPU和I/O設(shè)備之間進(jìn)行數(shù)據(jù)傳輸。第二章8086的體系結(jié)構(gòu)WR:寫信號,輸出,低電平有效,表示CPU當(dāng)前正在進(jìn)行存儲器或I/O寫操作,具體為哪種寫操作由M/IO信號決定,DMA方式時(shí)高阻態(tài)。HOLD:總線保持請求信號,輸入,高電平有效,其他總線主控者向CPU請求使用總線的信號。HLDA:總線保持響應(yīng)信號,輸出,高電平有效,表示對其它主部件的總線請求做出響應(yīng),與此同時(shí)讓出總線。引腳信號圖第二章8086的體系結(jié)構(gòu)二、工作模式最小模式: 只有一個(gè)CPU工作,所有總線控制邏輯都直接由CPU產(chǎn)生。8086/8088有對系統(tǒng)的絕對控制權(quán)。

最大模式: 有多個(gè)CPU工作,系統(tǒng)中除了8086/8088外,還有8087數(shù)學(xué)處理器或者8089輸入輸出處理器,因而牽涉到總線控制協(xié)調(diào)問題。

第二章8086的體系結(jié)構(gòu)3

8086/8088存儲器組織和I/O組織Intel808616位微處理器

20位的地址總線可尋址多大空間?用20根地址總線來管理220=1MB的存儲器空間,用16根地址總線來管理216=64K的端口地址。8086/8088的存儲器組織訪問8086/8088存儲器的尋址方式第二章8086的體系結(jié)構(gòu)一、8086/8088的存儲器組織分段管理的技術(shù):微處理器內(nèi)部的寄存器16位的,最大尋址空間64K,為了尋址20位的地址空間,在8086對存儲器管理的設(shè)計(jì)中,采用了分段管理的技術(shù)。把整個(gè)存儲空間分成許多個(gè)邏輯段,每個(gè)邏輯段的容量不超過64KB,允許它們在整個(gè)存儲空間中浮動(dòng),這樣每個(gè)邏輯段都有一個(gè)20位的起始地址,其中低4位二進(jìn)制碼全部為0,而其高16位是該段的段基地址,存放在相應(yīng)的段寄存器中,段內(nèi)各內(nèi)存單元的相對地址稱為偏移地址,可用系統(tǒng)中的16位通用寄存器來存放。第二章8086的體系結(jié)構(gòu)每個(gè)邏輯段長度64K物理地址:存儲單元的實(shí)際地址,20位邏輯地址:編程時(shí)所用的地址段基址:偏移地址物理地址=段基址*16+偏移地址段的開始地址是一定能被16整除段與段之間允許重疊第二章8086的體系結(jié)構(gòu)圖2-5存儲空間邏輯段結(jié)構(gòu)和不重疊段結(jié)構(gòu)第二章8086的體系結(jié)構(gòu)例:邏輯地址1000H:2345H

1234H:0005H對應(yīng)的物理地址都是12345H。一個(gè)物理地址:可對應(yīng)多個(gè)邏輯地址第二章8086的體系結(jié)構(gòu)二、訪問8086/8088存儲器的尋址方式所謂的尋址方式,指的是指獲得操作數(shù)所在的地址或操作地址的各種方法也就是得到段地址:偏移地址的方式尋址方式分類:獲得指令操作數(shù)的尋址方式獲得轉(zhuǎn)移地址的尋址方式:程序轉(zhuǎn)移、調(diào)用等第二章8086的體系結(jié)構(gòu)

獲得操作數(shù)的尋址方式1)立即數(shù)尋址

操作數(shù)直接存放在指令中。例如:

MOVAL,12H ;將16進(jìn)制數(shù)12H送入AL寄存器

MOVCX,5678H ;將16進(jìn)制數(shù)1200H送入CX寄存器第二章8086的體系結(jié)構(gòu)MOV操作碼78H56H............CS段存儲器CLCH圖2-7立即數(shù)尋址方式示意圖第二章8086的體系結(jié)構(gòu)2)寄存器尋址 操作數(shù)在CPU的內(nèi)部寄存器中,可將寄存器的內(nèi)部編號放入指令中。 例如:MOVAX,DX

獲得操作數(shù)的尋址方式AXDX圖2-8寄存器尋址方式示意圖

第二章8086的體系結(jié)構(gòu)

獲得操作數(shù)的尋址方式3)存儲器尋址

①直接尋址 數(shù)據(jù)總在存儲器中,存儲單元的有效地址總是由指令直接給出。

【例2.4】指令“MOVAX,[2080H]”的尋址過程。

設(shè)DS=1600H,則操作數(shù)的邏輯地址為1600H:2080H,其物理地址=16000H+2080H=18080H指令執(zhí)行后:AL=[18080H]單元的內(nèi)容,AH=[18081H]單元的內(nèi)容。指令執(zhí)行情況如圖2-9所示。注意,這里的默認(rèn)的段地址寄存器是DS。第二章8086的體系結(jié)構(gòu)第二章8086的體系結(jié)構(gòu)②寄存器間接尋址 操作數(shù)存放在存儲器中,而操作數(shù)的偏移地址存放在指令指明的寄存器中,書寫時(shí)寄存器必須加上“[]”,間接尋址的寄存器只能是BX、BP、SI和DI之一

以BX、SI和DI進(jìn)行間接尋址,則操作數(shù)默認(rèn)存放在DS段中

獲得操作數(shù)的尋址方式第二章8086的體系結(jié)構(gòu)【例2.6】指令“MOVAX,[DI]”的尋址過程默認(rèn)段寄存器DS。設(shè)DS=3000H,DI=2500H則源操作數(shù)的物理地址=30000H+2500H=32500H指令執(zhí)行后:AL=[32500H]單元的內(nèi)容,AH=[32501H]單元的內(nèi)容。具體執(zhí)行情況如圖2-10所示。執(zhí)行結(jié)果是:AX=6655H。。第二章8086的體系結(jié)構(gòu).........55H66HDS段存儲器32500H32501HALAH3000HDS2500H30000HDI左移4位

圖2-10寄存器間接尋址方式示意圖

第二章8086的體系結(jié)構(gòu)③寄存器相對尋址操作數(shù)在內(nèi)存中的偏移地址是間址寄存器和指令中指定的8位或16位位移量之和

間址寄存器:BXBPSIDIBXSIDI默認(rèn)的段寄存器為DS

BP

默認(rèn)的段寄存器為SS

獲得操作數(shù)的尋址方式第二章8086的體系結(jié)構(gòu)

【例2.8】指令“MOVAX,[BX]+100H”的尋址過程。

MOVAX,100H+[BX] MOVAX,[BX+100H]MOVAX,[100H+BX]MOVAX,100H[BX] MOVAX,[BX]100H

獲得操作數(shù)的尋址方式第二章8086的體系結(jié)構(gòu)第二章8086的體系結(jié)構(gòu)

例如:

MOVAL,[BP+100H];物理地址=SS*16+(BP+100H)

注意:在此種尋址方式中,如果采用的段不是SS段,則必須在指令的前面加前綴指出段寄存器名。 例如:

MOVAL,ES:[BP+100H];物理地址=ES*16+(BP+100)

獲得操作數(shù)的尋址方式第二章8086的體系結(jié)構(gòu)

SI和DI源變址寄存器和目的變址寄存器例如:MOVAX,COUNT[SI]

如果采用的段不是DS段,則必須在指令的前面加前綴指出段寄存器名。用這兩個(gè)寄存器進(jìn)行尋址也稱作變址尋址。

獲得操作數(shù)的尋址方式第二章8086的體系結(jié)構(gòu)④基址變址尋址

BP和BX基址指針寄存器和基址寄存器,基址類寄存器,

SI和DI源變址寄存器和目的變址寄存器,變址類寄存器。 說明:此類尋址方式采用的默認(rèn)段寄存器依賴基址類寄存器是BX還是BP來確定是DS還是SS。

獲得操作數(shù)的尋址方式第二章8086的體系結(jié)構(gòu)【例2.10】指令“MOVAX,[BX][DI]”的尋址過程。設(shè)DS=7000H,BX=1000H,DI=5000H則操作數(shù)的物理地址=70000H+1000H+5000H=76000H指令執(zhí)行后:AL=[76000H]單元的內(nèi)容,AH=[76001H]單元的內(nèi)容。具體執(zhí)行情況如圖2-12所示。MOVAX,[BX+DI]等價(jià)

獲得操作數(shù)的尋址方式第二章8086的體系結(jié)構(gòu)第二章8086的體系結(jié)構(gòu)【例2.11】指令“MOVAX,[BP][SI]”的尋址過程。設(shè)SS=5000H,BP=2000H,SI=6000H則操作數(shù)的物理地址=50000H+2000H+6000H=58000H指令執(zhí)行后:AL=[58000H]單元的內(nèi)容,AH=[58001H]單元的內(nèi)容。第二章8086的體系結(jié)構(gòu)MOVAX,[BX][BP] ;錯(cuò)誤!同時(shí)使用了兩個(gè)基址寄存器MOVAX,[DI+SI] ;錯(cuò)誤!同時(shí)使用了兩個(gè)變址寄存器第二章8086的體系結(jié)構(gòu)⑤基址變址相對尋址操作數(shù)的偏移地址是由基址寄存器、變址寄存器的內(nèi)容再加上在指令中指明的8位或16位的相對位移量而得到的。

【例2.12】指令“MOVAX,[BP][DI]+8”的尋址過程。設(shè)SS=4000H,BP=1000H,DI=0005H則操作數(shù)的物理地址=40000H+1000H+0005H+0008H=4100DH指令執(zhí)行后:AL=[4100DH]單元內(nèi)容,AH=[4100EH]單元內(nèi)容。具體執(zhí)行情況如圖2-13所示。

獲得操作數(shù)的尋址方式第二章8086的體系結(jié)構(gòu)第二章8086的體系結(jié)構(gòu)(4)隱含尋址有些指令的指令碼中不包含指明操作數(shù)的地址的部分,而其操作碼本身隱含的指明了操作數(shù)的地址。如乘除法指令,字符串操作類指令等。【例2.13】指令“MULCL”的功能是將AL中的內(nèi)容與CL中的內(nèi)容相乘,乘積送到AX累加器中。這條指令隱含了被乘數(shù)AL與乘積AX。第二章8086的體系結(jié)構(gòu)5

8086的工作時(shí)序在微機(jī)系統(tǒng)中,CPU是在時(shí)鐘信號控制下,按節(jié)拍有序地執(zhí)行指令序列。所謂時(shí)序,就是指CPU執(zhí)行各種操作時(shí),引腳信號在時(shí)間上的工作關(guān)系。幾個(gè)概念:指令執(zhí)行周期:從取指令開始,經(jīng)過分析指令、對操作數(shù)尋址,然后執(zhí)行指令、保存操作結(jié)果的過程??偩€周期:在一個(gè)指令執(zhí)行周期中,通過總線進(jìn)行一次對存儲單元或I/O端口讀或?qū)懙牟僮鬟^程。時(shí)鐘周期:時(shí)鐘脈沖信號的一個(gè)循環(huán)時(shí)間,又稱為一個(gè)“T”狀態(tài),是CPU的基本時(shí)間計(jì)量單位,它由計(jì)算機(jī)主頻決定,一個(gè)最基本的總線周期由4個(gè)時(shí)鐘周期組成。第二章8086的體系結(jié)構(gòu)總線周期的時(shí)序在1個(gè)最基本的總線周期中,習(xí)慣上將4個(gè)時(shí)鐘周期分別稱為4個(gè)狀態(tài),即T1狀態(tài)、T2狀態(tài)、T3狀態(tài)和T4狀態(tài)。等待時(shí)鐘周期Tw,在總線周期的T3和T4之間插入,總線處于等待狀態(tài)T1T2T3T4TiTi

T1T2T3TwTwTwT4TiTi

總線周期總線周期若干個(gè)1~2個(gè)第二章8086的體系結(jié)構(gòu)T1狀態(tài)

CPU往多任務(wù)總線上發(fā)出地址信息,以指出要尋址的存儲單元或外設(shè)端口的地址。T2狀態(tài)

CPU從總線上撤消地址,而使總線的低16位浮置成高阻狀態(tài),為傳輸資料作準(zhǔn)備??偩€的最高4位(Al9一A16)用來輸出本總線周期狀態(tài)信息。這些狀態(tài)信息用來表示中斷允許狀態(tài)、當(dāng)前正在使用的段寄存器名等。

總線周期的時(shí)序第二章8086的體系結(jié)構(gòu)T3狀態(tài) 多路總線的高4位繼續(xù)提供狀態(tài)信息,而多路總線的低16位(8088則為低8位)上出現(xiàn)由CPU寫出的資料或者CPU從內(nèi)存或端口讀入的資料。

如果外設(shè)或內(nèi)存速度較慢,不能及時(shí)地配合CPU傳送資料。這時(shí),外設(shè)或內(nèi)存會(huì)通過“READY'’信號線在T3狀態(tài)啟動(dòng)之前向CPU發(fā)一個(gè)“資料未準(zhǔn)備好”信號,于是CPU會(huì)在T3之后插入1個(gè)或多個(gè)附加的時(shí)鐘周期Tw。Tw也叫等待狀態(tài),在Tw狀態(tài),總線上的信息情況和T3狀態(tài)的信息情況一樣。當(dāng)指定的內(nèi)存或外設(shè)完成資料傳送時(shí),便在“READY'’線上發(fā)出“準(zhǔn)備好”信號,CPU接收到這一信號后,會(huì)自動(dòng)脫離Tw狀態(tài)而進(jìn)入T4狀態(tài)??偩€周期的時(shí)序第二章8086的體系結(jié)構(gòu)T4狀態(tài)

總線周期結(jié)束。 需要指出,只有在CPU和內(nèi)存或I/O接口之間傳輸資料,以及填充指令隊(duì)列時(shí),CPU才執(zhí)行總線周期。可見,如果在1個(gè)總線周期之后,不立即執(zhí)行下1個(gè)總線周期,那么,系統(tǒng)總線就處在空閑狀態(tài),此時(shí),執(zhí)行空閑周期。 在空閑周期中,可以包含1個(gè)時(shí)鐘周期或多個(gè)時(shí)鐘周期。這期間,在高4位上,CPU仍然驅(qū)動(dòng)前一個(gè)總線周期的狀態(tài)信息,而且,如果前一個(gè)總線周期為寫周期,那么,CPU會(huì)在總線低16位上繼續(xù)驅(qū)動(dòng)資料信息;如果前一個(gè)總線周期為讀周期,則在空閑周期中,總線低16位處于高阻狀態(tài)。

總線周期的時(shí)序第二章8086的體系結(jié)構(gòu)1、讀周期時(shí)序CLKM/IOA19/S6~A16/S3BHE/S7AD15~AD0ALERDDT/RDEN高8位數(shù)據(jù)總線允許地址鎖存數(shù)據(jù)使能信號寫/讀第二章8086的體系結(jié)構(gòu)說明:T1狀態(tài)輸出M/IO選擇信號,該信號整個(gè)總線周期有效輸出傳輸方向控制信號DT/R輸出地址信號、BHE信號,并通過ALE控制鎖存T2狀態(tài)地址信號消失,AD0~AD15進(jìn)入高阻狀態(tài)DEN信號開始有效,RD信號有效T3,Tw狀態(tài)若內(nèi)存和外設(shè)速度足夠快,AD0~AD15接收數(shù)據(jù);在內(nèi)存和外設(shè)速度較慢時(shí),還要在T3之后插入一個(gè)或幾個(gè)Tw。

T4狀態(tài)在前沿進(jìn)行采樣,完成數(shù)據(jù)的接收第二章8086的體系結(jié)構(gòu)總線(Bus)是計(jì)算機(jī)各種部件之間傳送信息的公共通路,它是CPU、內(nèi)存、輸入、輸出設(shè)備傳遞信息的公用通道6總線第二章8086的體系結(jié)構(gòu)(1)總線的帶寬(總線數(shù)據(jù)傳輸速率)總線的帶寬指的是單位時(shí)間內(nèi)總線上傳送的數(shù)據(jù)量,即每鈔鐘傳送多少字節(jié)??偩€的帶寬取決于總線的位寬和工作頻率。(2)總線的位寬總線的位寬指的是總線能同時(shí)傳送的二進(jìn)制數(shù)據(jù)的位數(shù),或數(shù)據(jù)總線的位數(shù),即32位、64位等總線寬度的概念。

總線的主要技術(shù)指標(biāo)第二章8086的體系結(jié)構(gòu)(3)總線的工作頻率(時(shí)鐘頻率)總線的工作頻率既是總線工作的時(shí)鐘頻率,以MHZ為單位,工作頻率越高,總線工作速度越快??偩€的主要技術(shù)指標(biāo)第二章8086的體系結(jié)構(gòu)為了便于和外設(shè)相連,總線都有統(tǒng)一的標(biāo)準(zhǔn)。各種適配器可以按照這種標(biāo)準(zhǔn)進(jìn)行設(shè)計(jì)。這樣,任何一款適配器都可以通過統(tǒng)一的插槽跟總線相連。所以,所謂的總線標(biāo)準(zhǔn),就是總線插槽的標(biāo)準(zhǔn)。常見的系統(tǒng)總線有:ISA(IndustryStandardArchitecture)總線、PCI(PeripheralComponentInterconnected)總線、AGP(AcceleratedGraphicsPort)總線等。2.4.2

PC機(jī)系統(tǒng)總線第二章8086的體系結(jié)構(gòu)ISA(IndustryStandardArchitecture)總線EISA(IndustryStandardArchitecture)總線8/16位標(biāo)準(zhǔn)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論