系統(tǒng)結(jié)構(gòu)最新課件_第1頁
系統(tǒng)結(jié)構(gòu)最新課件_第2頁
系統(tǒng)結(jié)構(gòu)最新課件_第3頁
系統(tǒng)結(jié)構(gòu)最新課件_第4頁
系統(tǒng)結(jié)構(gòu)最新課件_第5頁
已閱讀5頁,還剩107頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、系統(tǒng)結(jié)構(gòu)最新 8086CPU的結(jié)構(gòu)的結(jié)構(gòu) 8086 的的 存存 儲儲 器器 組織組織 8086總線操作及時序總線操作及時序系統(tǒng)結(jié)構(gòu)最新系統(tǒng)結(jié)構(gòu)最新負責從存儲器或外部設備中讀取操作碼和操作數(shù),并將結(jié)果寫入指令指出的地址2 2、8086 CPU8086 CPU的構(gòu)成的構(gòu)成 CPUCPU執(zhí)行部件執(zhí)行部件EUEU總線接口部件總線接口部件BIUBIU負責執(zhí)行指令系統(tǒng)結(jié)構(gòu)最新EU控控制制器器ALU暫暫 存存 器器標志寄存器標志寄存器8位隊位隊列總線列總線總總線線控控制制邏邏輯輯內(nèi)部總線內(nèi)部總線16位位地址加法器地址加法器20位地位地址總線址總線16位位數(shù)數(shù)據(jù)據(jù)總總線線執(zhí)執(zhí)行行部部件件EU總總線線接接口口部

2、部件件BIU1 2 3 4 5 6指令隊列指令隊列通用寄存器通用寄存器AX AH ALBX BH BLCX CH CLDX DH DL SP BP DI SICSDSSSESIP暫存器暫存器8086CPU的的結(jié)構(gòu)框圖結(jié)構(gòu)框圖MOV AL,5CHADD AL,2EHB0H5CH04H2EH地址地址1001H1002H1003H內(nèi)容內(nèi)容1000H內(nèi)存儲器內(nèi)存儲器B0H2100H2101H2000H10H11H程序段程序段數(shù)據(jù)段數(shù)據(jù)段系統(tǒng)結(jié)構(gòu)最新1 1)執(zhí)行部件)執(zhí)行部件EUEU執(zhí)行單元執(zhí)行單元EUEU算術算術/邏輯單元(邏輯單元(ALU)運算寄存器(暫存器)運算寄存器(暫存器)標志寄存器標志寄存器

3、通用寄存器通用寄存器EU 控制器(暫存器)控制器(暫存器)* * 這些寄存器不與外部總線相連這些寄存器不與外部總線相連系統(tǒng)結(jié)構(gòu)最新(1)執(zhí)行部件執(zhí)行部件EU組成組成EU控控制制器器ALU暫暫 存存 器器標志寄存器標志寄存器8位隊位隊列總線列總線執(zhí)執(zhí)行行部部件件EU通用寄存器通用寄存器AX AH ALBX BH BLCX CH CLDX DH DL SP BP DI SI系統(tǒng)結(jié)構(gòu)最新(2)執(zhí)行部件工作流程執(zhí)行部件工作流程EU控控制制器器ALU暫暫 存存 器器標志寄存器標志寄存器8位隊位隊列總線列總線執(zhí)執(zhí)行行部部件件EU通用寄存器通用寄存器AX AH ALBX BH BLCX CH CLDX DH

4、 DL SP BP DI SI讀入指令操作碼讀入指令操作碼02H和和06HALUALAL暫暫 存存 器器將數(shù)據(jù)地址偏移量交給將數(shù)據(jù)地址偏移量交給BIU暫暫 存存 器器ALU標志寄存器標志寄存器EU控控制制器器讀入偏移地址讀入偏移地址100H存儲器中數(shù)據(jù)由存儲器中數(shù)據(jù)由BIU讀讀入入例例 EU執(zhí)行以下指令執(zhí)行以下指令:MOV AL,5CHADD AL,100H執(zhí)行的操作為執(zhí)行的操作為:將將16進制數(shù)進制數(shù)5CH送到送到8位寄存器位寄存器AL中中, 將將AL中的值中的值(5CH)與存與存儲器數(shù)據(jù)段中偏移量儲器數(shù)據(jù)段中偏移量為為100的數(shù)據(jù)相加的數(shù)據(jù)相加,結(jié)結(jié)果存入果存入AL中。中。AL讀入讀入指令

5、指令操作碼操作碼B0H讀入操作數(shù)讀入操作數(shù)5CHEU控控制制器器內(nèi)存儲器內(nèi)存儲器(程序段)(程序段)B0H5CH地址地址1001H1002H1003H內(nèi)容內(nèi)容1000H02H06H00H01H1004H1005H內(nèi)存儲器內(nèi)存儲器(數(shù)據(jù)段)(數(shù)據(jù)段)B0H地址地址2100H2101H內(nèi)容內(nèi)容2000H10H11H系統(tǒng)結(jié)構(gòu)最新2)總線接口部件總線接口部件BIU總線接口部件BIU段寄存器(CS,DS,SS和ES)指令指針(IP)指令隊列緩沖器(6個字節(jié)) 地址產(chǎn)生器(產(chǎn)生20位地址總線控制邏輯系統(tǒng)結(jié)構(gòu)最新(1)總線接口部件總線接口部件 BIU的組成的組成總總線線控控制制邏邏輯輯地址加法器地址加法器2

6、0位地位地址總線址總線16位位數(shù)數(shù)據(jù)據(jù)總總線線總總線線接接口口部部件件BIU1 2 3 4 5 6指令隊列指令隊列CSDSSSESIP暫存器暫存器系統(tǒng)結(jié)構(gòu)最新(2)總線接口部件的操作總線接口部件的操作-讀指令讀指令總總線線控控制制邏邏輯輯地址加法器地址加法器20位地址總線位地址總線(物理地址物理地址)16位位數(shù)數(shù)據(jù)據(jù)總總線線總總線線接接口口部部件件BIU1 2 3 4 5 6指令隊列指令隊列CSDSSSESIP暫存器暫存器CS * 10H(20位位)+ IP(16位位) - 物理地址物理地址(20位位)CPU的取指過程的取指過程:當指令隊列有當指令隊列有2個或個或2個以上的字節(jié)空余個以上的字節(jié)

7、空余時時,BIU自動讀指令自動讀指令,存入指令隊列。存入指令隊列。指令指令MOV AL,5CHADD AL,100HCS=0100HIP=0000H CSIP地址加法器地址加法器總總線線控控制制邏邏輯輯總總線線控控制制邏邏輯輯11 2 3 4 5 6指令代碼指令代碼內(nèi)存儲器內(nèi)存儲器(程序段)(程序段)B0H5CH地址地址1001H1002H1003H內(nèi)容內(nèi)容1000H02H06H00H01H1004H1005H系統(tǒng)結(jié)構(gòu)最新(2)總線接口部件的操作總線接口部件的操作-讀數(shù)據(jù)讀數(shù)據(jù)總總線線控控制制邏邏輯輯地址加法器地址加法器20位地址總線位地址總線(物理地址物理地址)16位位數(shù)數(shù)據(jù)據(jù)總總線線總總線

8、線接接口口部部件件BIU1 2 3 4 5 6指令隊列指令隊列CSDSSSESIP暫存器暫存器 DS * 10H(20位位)+ 偏移地址偏移地址(16位位) - 物理地址物理地址(20位位)CPU讀取數(shù)據(jù)過程讀取數(shù)據(jù)過程:偏移地址與偏移地址與DS寄存器中的寄存器中的段基值形成段基值形成20位物理地址,位物理地址,由總線控制邏輯產(chǎn)生總線時由總線控制邏輯產(chǎn)生總線時序,從存儲器中讀入數(shù)據(jù)。序,從存儲器中讀入數(shù)據(jù)。指令指令ADD AL,100H DS=0200H偏移地址偏移地址=100H DS暫存器暫存器地址加法器地址加法器總總線線控控制制邏邏輯輯總總線線控控制制邏邏輯輯指令代碼指令代碼內(nèi)存儲器內(nèi)存儲

9、器(數(shù)據(jù)段)(數(shù)據(jù)段)B0H地址地址2100H2101H內(nèi)容內(nèi)容2000H10H11H系統(tǒng)結(jié)構(gòu)最新系統(tǒng)結(jié)構(gòu)最新系統(tǒng)結(jié)構(gòu)最新TCPU總線T取指1忙取指3忙取指2忙執(zhí)行指令1執(zhí)行指令2執(zhí)行指令3系統(tǒng)結(jié)構(gòu)最新EUTBIUT總線T取指1#忙執(zhí)行1#取指2#忙執(zhí)行2#取指3#忙執(zhí)行3#8086CPU取指令與執(zhí)行指令時序-并行工作方式系統(tǒng)結(jié)構(gòu)最新 CPU的串行工作方式使總線和CPU有很多的時間都浪費在等待中了。 CPU的并行工作方式使總線和CPU的工作效率得到提高,有限的資源也得到充分的利用。比較系統(tǒng)結(jié)構(gòu)最新數(shù)據(jù)寄存器數(shù)據(jù)寄存器地址指針及地址指針及變址寄存器變址寄存器控制寄存器組控制寄存器組段寄存器組段寄

10、存器組AX AH AL 累加器累加器BX BH BL 基址寄存器基址寄存器CX CH CL 計數(shù)寄存器計數(shù)寄存器DX DH DL 數(shù)據(jù)寄存器數(shù)據(jù)寄存器通用寄存器組通用寄存器組 SP 堆棧指針堆棧指針 BP 基址指針基址指針 SI 源變址指針源變址指針 DI 目的變址指針目的變址指針 IP 指令指針指令指針 FLAG 標志寄存器標志寄存器 CS 代碼段寄存器代碼段寄存器 DS 數(shù)據(jù)段寄存器數(shù)據(jù)段寄存器 SS 堆棧段寄存器堆棧段寄存器 ES 附加段寄存器附加段寄存器 15 8 7 0(9個標志位)3 3、8086CPU8086CPU寄存器寄存器系統(tǒng)結(jié)構(gòu)最新CSDSSS ES80868086的的BI

11、U單元中有單元中有4 4個個1616位段寄存器位段寄存器數(shù)據(jù)段數(shù)據(jù)段寄存器寄存器堆棧段堆棧段寄存器寄存器附加段寄附加段寄存器存器代碼段代碼段寄存器寄存器系統(tǒng)結(jié)構(gòu)最新AXBXCXDX目的變址指針(Destination Index)DI源變址指針(Source Index)SI基址指針(Base Pointer)BP堆棧指針(Stack Pointer)SP數(shù)據(jù)寄存器(Data)DLDHDX計數(shù)寄存器(Count)CLCHCX基址寄存器(Base)BLBHBX累加器(Accumulator)ALAHAX數(shù)據(jù)寄存器數(shù)據(jù)寄存器 可可分為兩個分為兩個8 8位,位,主要用于數(shù)據(jù)主要用于數(shù)據(jù)操作操作地址指

12、針地址指針主要用于主要用于地址操作地址操作系統(tǒng)結(jié)構(gòu)最新系統(tǒng)結(jié)構(gòu)最新 這個寄存器中的值總是指向下一次所要取這個寄存器中的值總是指向下一次所要取出的指令的地址偏移量出的指令的地址偏移量 程序不能直接對它進行修改程序不能直接對它進行修改 在程序運行的過程中,在程序運行的過程中,CPUCPU會自動修改其中會自動修改其中的值。的值。系統(tǒng)結(jié)構(gòu)最新 8086CPU8086CPU中中標志寄存器標志寄存器有有9 9個標志位個標志位,其中其中6 6個狀態(tài)標志位,個狀態(tài)標志位,3 3個控制標志位個控制標志位狀態(tài)標志有狀態(tài)標志有: : CF:進位標志位進位標志位 PF:奇偶位奇偶位 AF:輔助進位位輔助進位位 ZF:

13、零標志位,零標志位, SF:符號標志位符號標志位 OF:溢出位溢出位系統(tǒng)結(jié)構(gòu)最新進位標志進位標志CFCF:CF=1CF=1時,表明指令執(zhí)行后的結(jié)果在最高位時,表明指令執(zhí)行后的結(jié)果在最高位( (字節(jié)操作時的字節(jié)操作時的D7D7位,字操作時的位,字操作時的D15D15位位) )上產(chǎn)生了一個進位或借位;上產(chǎn)生了一個進位或借位;(1)(1)進位標志位(進位標志位(CFCF)例如:例如: MOV AL, 3;SUB AL, 4;執(zhí)行后,執(zhí)行后,CF1。CF=0CF=0時,則無進位或借位產(chǎn)生。時,則無進位或借位產(chǎn)生。該標志主要用于多字節(jié)數(shù)的加減法運算。該標志主要用于多字節(jié)數(shù)的加減法運算。 15 14 13

14、 12 11 10 9 8 7 6 5 4 3 2 1 0CFFLAG 系統(tǒng)結(jié)構(gòu)最新輔助進位標志位輔助進位標志位AFAF:對于:對于8 8位的運算而言,位的運算而言,AF=1AF=1表示在表示在低位數(shù)的第低位數(shù)的第4 4位上產(chǎn)生了一個進位或借位信號;位上產(chǎn)生了一個進位或借位信號;AF=0AF=0時時表示此位上無進位或借位產(chǎn)生。表示此位上無進位或借位產(chǎn)生。 (2)輔助進位標志位(輔助進位標志位(AF)AF15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0CFFLAG 系統(tǒng)結(jié)構(gòu)最新零標志位零標志位ZF:ZF=1表示運算結(jié)果為零;表示運算結(jié)果為零;ZF=0表示運算結(jié)果不為零。

15、表示運算結(jié)果不為零。 (3)零標志位(零標志位(ZF)例例1:MOV AL, 4 SUB AL, 4例例2:XOR AX, AXZFOFAF15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0CFFLAG 系統(tǒng)結(jié)構(gòu)最新 符號標志位符號標志位SF:它的值與運算結(jié)果的最高位相:它的值與運算結(jié)果的最高位相同。同。SF=1表示運算結(jié)果為負數(shù);表示運算結(jié)果為負數(shù); SF=0表示運表示運算結(jié)果為正數(shù)。算結(jié)果為正數(shù)。 (4)符號標志位(符號標志位(SF)SF ZFOFAF15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0CFFLAG 系統(tǒng)結(jié)構(gòu)最新溢出標志位溢出標

16、志位OF:當:當OF=1時,表示有符號數(shù)做算術運算時,表示有符號數(shù)做算術運算時產(chǎn)生了算術溢出。所謂算術溢出是指算術運算的結(jié)時產(chǎn)生了算術溢出。所謂算術溢出是指算術運算的結(jié)果超出了機器所能表達的數(shù)的范圍。果超出了機器所能表達的數(shù)的范圍。(-128127,-3276832767) (5)溢出控制標志位(溢出控制標志位(OF)OFAF15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0CFFLAG 系統(tǒng)結(jié)構(gòu)最新奇偶標志位奇偶標志位PF:PF=1表示指令執(zhí)行的結(jié)果中含偶數(shù)個表示指令執(zhí)行的結(jié)果中含偶數(shù)個1;PF=0表示運算結(jié)果中含奇數(shù)個表示運算結(jié)果中含奇數(shù)個1。這個標志位可用來檢查在

17、數(shù)據(jù)傳送過程中是否這個標志位可用來檢查在數(shù)據(jù)傳送過程中是否發(fā)生錯誤。發(fā)生錯誤。(6)奇偶標志位(奇偶標志位(PF)例:例:MOV AL, 2 ADD AL, 1 執(zhí)行后,執(zhí)行后,PF位為位為1PFSF ZFOFAF15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0CFFLAG 系統(tǒng)結(jié)構(gòu)最新1 10 00 00 01 11 10 01 10 00 01 11 10 01 11 10 00 00 01 11 10 00 01 10 00 00 00 01 11 10 00 01 1+ +0 01 11 10 00 01 11 10 01 10 01 10 01 10 00

18、01 1運算結(jié)果最高位為運算結(jié)果最高位為1SF=1;D3向向D4有進位有進位 AF=1;次高位向最高位有進位次高位向最高位有進位 ,最高位向前沒有進位,最高位向前沒有進位,OF=1最高位沒有進位最高位沒有進位 CF=0;低低8位中位中1的個數(shù)為偶數(shù)個的個數(shù)為偶數(shù)個 PF=1;運算結(jié)果本身運算結(jié)果本身0 ZF=0;系統(tǒng)結(jié)構(gòu)最新1 10 00 00 01 11 10 01 10 00 01 11 10 01 11 10 00 00 01 11 10 00 01 10 00 00 00 01 11 10 00 01 1- -0 00 01 10 01 11 10 00 01 10 00 00 01

19、11 10 00 0運算結(jié)果最高位為運算結(jié)果最高位為0SF=0;第三位向第四位沒有借位第三位向第四位沒有借位 AF=0;次高位向最高位沒有借位次高位向最高位沒有借位 ,最高位向前沒有借位,最高位向前沒有借位,OF=0最高位沒有借位最高位沒有借位 CF=0;低低8位中位中1的個數(shù)為奇數(shù)個的個數(shù)為奇數(shù)個 PF=0;運算結(jié)果本身運算結(jié)果本身0 ZF=0;系統(tǒng)結(jié)構(gòu)最新0 01 10 00 01 11 11 10 00 01 10 01 10 00 01 10 01 10 00 00 01 10 00 00 01 10 00 00 00 00 00 01 1+ +1 10 01 10 01 10 00

20、00 00 00 01 11 11 10 01 11 1運算結(jié)果最高位為運算結(jié)果最高位為1SF=1;第三位向第四位沒有借位第三位向第四位沒有借位 AF=0;次高位向最高位沒有進位次高位向最高位沒有進位 ,最高位向前沒有進位,最高位向前沒有進位,OF=0最高位沒有進位最高位沒有進位 CF=0;低低8位中位中1的個數(shù)為奇數(shù)個的個數(shù)為奇數(shù)個 PF=0;運算結(jié)果本身運算結(jié)果本身0 ZF=0;系統(tǒng)結(jié)構(gòu)最新方向標志位方向標志位DF:DF=1時,時,CPU將以數(shù)據(jù)串遞減的順序?qū)⒁詳?shù)據(jù)串遞減的順序(即地址即地址由高向低由高向低)對數(shù)據(jù)串中的數(shù)據(jù)進行處理;若對數(shù)據(jù)串中的數(shù)據(jù)進行處理;若DF=0,則將以遞加,則將

21、以遞加(即地址由低向高即地址由低向高)的順序?qū)Φ捻樞驅(qū)?shù)據(jù)進行處理。數(shù)據(jù)進行處理。(7)(7)方向控制標志位(方向控制標志位(DFDF)操作指令:操作指令:STD ,CLDDFPFSF ZFOFAF15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0CFFLAG 系統(tǒng)結(jié)構(gòu)最新中斷允許標志中斷允許標志IF:若將若將IF=1,則處理器允許接受外部可屏蔽中斷,則處理器允許接受外部可屏蔽中斷發(fā)來的中斷請求;發(fā)來的中斷請求;IF=0時,時,CPU不能接受外部可屏蔽中斷發(fā)來的不能接受外部可屏蔽中斷發(fā)來的請求請求. (8)(8)中斷允許控制標志位(中斷允許控制標志位(IFIF)STI

22、使IF置“1”,即開放中斷。 CLI 使IF清“0”,即關閉中斷IFDFPFSF ZFOFAF15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0CFFLAG 系統(tǒng)結(jié)構(gòu)最新(9)(9)跟蹤控制標志位(跟蹤控制標志位(TFTF)跟蹤標志位跟蹤標志位TF: 將將TF置成置成1時,處理器處于單步工作方式時,處理器處于單步工作方式; 當當TF=0時,時,8086CPU將正常地執(zhí)行程序。將正常地執(zhí)行程序。沒有專門的操作指令,可間接修改。如用堆棧操作TFIFDFPFSF ZFOFAF15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0CFFLAG 系統(tǒng)結(jié)構(gòu)最新8

23、0868086芯片采用雙列直插芯片采用雙列直插式封裝,有式封裝,有4040個引腳。個引腳。12345678910111213141516171819204039383736353433323130292827262524232221GNDAD14AD13AD12AD11AD10AD9AD8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGNDVCCAD15A16/S3A17/S4A18/S5A19/S6BHE/S7MN/MXRDHOLD*HLDA*WR*M/IO*DT/R*DEN*ALE*INTA*TESTREADYRESET80864、 8086CPU的引腳及功能的引腳及

24、功能 8086的的40條引腳包含:條引腳包含:地址線地址線/ 數(shù)據(jù)線數(shù)據(jù)線電源和定時線電源和定時線控制和狀態(tài)線控制和狀態(tài)線系統(tǒng)結(jié)構(gòu)最新1)8086的工作方式:的工作方式:CPU工作于最小模式工作于最小模式,單機系統(tǒng)控制信號由單機系統(tǒng)控制信號由CPU提供提供CPU工作于最大模式工作于最大模式.可構(gòu)成多機系統(tǒng)可構(gòu)成多機系統(tǒng),系統(tǒng)控制信系統(tǒng)控制信號由專用芯片號由專用芯片(常用常用8288)提供提供當當MN/MX引腳為引腳為低電平低電平時時當當MN/MX引腳為引腳為高電平高電平時時兩種工作方式兩種工作方式: :最大模式最大模式與與最小模式最小模式系統(tǒng)結(jié)構(gòu)最新在一個總線周期的第一個時鐘周在一個總線周期的

25、第一個時鐘周期里,它們表示低期里,它們表示低1616位地址線。位地址線。AD0-AD15這這16條線是分時復用條線是分時復用。傳送地址時三態(tài)輸出。傳送地址時三態(tài)輸出;傳送數(shù)傳送數(shù)據(jù)時雙向三態(tài)輸入據(jù)時雙向三態(tài)輸入/輸出。輸出。(1)地址和數(shù)據(jù)線地址和數(shù)據(jù)線AD0AD15(地址地址/數(shù)據(jù),雙向,三態(tài))數(shù)據(jù),雙向,三態(tài))A16/S3,A17/S4,A18/S5,A19/S6(地址(地址/狀態(tài),輸出,三態(tài))狀態(tài),輸出,三態(tài))12345678910111213141516171819204039383736353433323130292827262524232221GNDAD14AD13AD12AD11

26、AD10AD9AD8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGNDVCCAD15A16/S3A17/S4A18/S5A19/S6BHE/S7MN/MXRDHOLD*HLDA*WR*M/IO*DT/R*DEN*ALE*INTA*TESTREADYRESET80862)2)與工作方式無關的引腳與工作方式無關的引腳系統(tǒng)結(jié)構(gòu)最新CLKT1T2T3T4AD15AD0 A15 0D15 0 A19A16S6 S3A19A16/ /S6S3ALE總線周期由總線周期由4時鐘周期組成:時鐘周期組成:第一個時鐘周期第一個時鐘周期, AD15AD0表示為低表示為低16位地址位地址, A1

27、9A16/S6S3 為高四位地址線為高四位地址線,構(gòu)成構(gòu)成20位的地址總線。位的地址總線。第二個時鐘周期的上升沿開始第二個時鐘周期的上升沿開始, A19A16/S6S3表示總線狀態(tài)。表示總線狀態(tài)。第三個周期開始第三個周期開始, AD15AD0變?yōu)閿?shù)據(jù)總線,傳遞數(shù)據(jù)。變?yōu)閿?shù)據(jù)總線,傳遞數(shù)據(jù)。系統(tǒng)結(jié)構(gòu)最新S3和和S4表示正在被使用的段寄存器表示正在被使用的段寄存器總線總線周期里周期里A16/S3,A17/S4,A18/S5,A19/S6狀態(tài)信號功能狀態(tài)信號功能S4S3意義意義00110101附加分段附加分段堆棧分段堆棧分段代碼分段或無分段代碼分段或無分段數(shù)據(jù)分段數(shù)據(jù)分段S5 表示狀態(tài)標志寄存器中中

28、斷允許標志位(表示狀態(tài)標志寄存器中中斷允許標志位(IF)的狀態(tài))的狀態(tài). A19/S6則使則使8086總線浮空,讓另外的總線主模塊可以取總線浮空,讓另外的總線主模塊可以取得系統(tǒng)總線的控制權(quán)。得系統(tǒng)總線的控制權(quán)。 S3S6在總線周期的在總線周期的T1以后的時鐘周期里表示總線周期狀態(tài)以后的時鐘周期里表示總線周期狀態(tài)系統(tǒng)結(jié)構(gòu)最新BHE/S7(高(高8位數(shù)據(jù)允許位數(shù)據(jù)允許/狀態(tài),輸出,三態(tài))狀態(tài),輸出,三態(tài))當對當對 存儲器或存儲器或 I/O高高8位數(shù)據(jù)位數(shù)據(jù)進行操作時,該信號進行操作時,該信號有效。有效。S7為備用狀態(tài)。 BHE保持低電平,這時數(shù)據(jù)在總線的高保持低電平,這時數(shù)據(jù)在總線的高8位上傳位上

29、傳送。該信號與送。該信號與AD0一起,產(chǎn)生存儲器的選擇邏輯信一起,產(chǎn)生存儲器的選擇邏輯信號。號。系統(tǒng)結(jié)構(gòu)最新(2 2)控制和狀態(tài)線)控制和狀態(tài)線控制和狀態(tài)線包括控制和狀態(tài)線包括:RD(讀,輸出,三態(tài))READY (準備好,輸入) TEST (測試,輸入 )INTR (可屏蔽中斷請求,輸入 )NMI(非屏蔽中斷請求,輸入 )RESET (復位,輸入 )CLK (系統(tǒng)時鐘,輸入 )MN/MX (輸入,最小/最大組態(tài) )WR(寫,輸出,三態(tài))系統(tǒng)結(jié)構(gòu)最新8086101821222332INTRNMIRESETREADYTESTRD 至于是讀取內(nèi)存單元至于是讀取內(nèi)存單元中的數(shù)據(jù)還是中的數(shù)據(jù)還是I/O端

30、口的端口的數(shù)據(jù),決定于數(shù)據(jù),決定于M/IO信號信號.RDRD信號信號讀選通信號,三態(tài),輸出,讀選通信號,三態(tài),輸出,低電平有效低電平有效,允許,允許CPU讀存讀存儲器(數(shù)據(jù)從存儲器到儲器(數(shù)據(jù)從存儲器到CPU)或)或I/O端口端口系統(tǒng)結(jié)構(gòu)最新8086的存儲器與的存儲器與I/O地址空間地址空間數(shù)據(jù)段數(shù)據(jù)段Offset=0 x0000H64KBOffsert = 0 xFFFFH10H80HFFH存儲器存儲器地址空間地址空間150 xFFFFFH0IPCSDSSSES0 x00000H代碼段代碼段64K字節(jié)字節(jié)堆棧段堆棧段64K字節(jié)字節(jié)擴展段擴展段64K字節(jié)字節(jié)數(shù)據(jù)段數(shù)據(jù)段64K字節(jié)字節(jié)0 x00

31、3FFH專用專用通用數(shù)據(jù)區(qū)通用數(shù)據(jù)區(qū) 1MB0 x00400HM/IO =1 0 xFFFFHI/O地址空間地址空間0 x0000H 64KBM/IO =0 系統(tǒng)結(jié)構(gòu)最新M/IORD操作1000讀存儲器數(shù)據(jù)讀I/O端口數(shù)據(jù)8086101821222332INTRNMIRESETREADYTESTRDRD RDM/IO系統(tǒng)結(jié)構(gòu)最新8086101821222329INTRNMIRESETREADYTESTWR 至于是將數(shù)據(jù)寫入內(nèi)存單元還是I/O端口,決定于M/IO信號.WRWR信號寫讀選通信號,三態(tài),輸出,低電平有效,允許CPU寫存儲器(數(shù)據(jù)從存儲器到CPU)或I/O端口系統(tǒng)結(jié)構(gòu)最新8086101

32、821222332INTRNMIRESETREADYTESTRDREADYREADY信號信號輸入信號輸入信號(由存儲器或由存儲器或I/O端口端口發(fā)出發(fā)出),高電平高電平有效有效READY信號高電平信號高電平READY信號低電平信號低電平8086將處于將處于“等待等待”狀態(tài)狀態(tài)-在總線周期中的在總線周期中的T3狀態(tài)檢狀態(tài)檢測到測到READY為低電平,在為低電平,在T3狀態(tài)結(jié)束后插入一個或狀態(tài)結(jié)束后插入一個或幾個幾個Tw狀態(tài)。狀態(tài)。已準備就緒已準備就緒,可以進行數(shù)可以進行數(shù)據(jù)傳送操作據(jù)傳送操作系統(tǒng)結(jié)構(gòu)最新8086101821222332INTRNMIRESETREADYTESTRDTESTTEST

33、信號信號輸入信號,輸入信號,低電平低電平有效有效 它與它與WAIT等待指令結(jié)合使等待指令結(jié)合使用。在執(zhí)行用。在執(zhí)行WAIT指令時,指令時,8086會停止操作,進入空轉(zhuǎn)等會停止操作,進入空轉(zhuǎn)等待狀態(tài),每隔待狀態(tài),每隔5個時鐘周期,對個時鐘周期,對該信號檢測一次。若為高電平該信號檢測一次。若為高電平,CPU保持等待狀態(tài);若為低保持等待狀態(tài);若為低電平,電平,8086結(jié)束等待狀態(tài),繼結(jié)束等待狀態(tài),繼續(xù)后續(xù)指令。續(xù)后續(xù)指令。WAIT指令用來使指令用來使CPU與外部硬件同步與外部硬件同步系統(tǒng)結(jié)構(gòu)最新8086101821222332INTRNMIRESETREADYTESTRDINTRINTR是中斷請求輸

34、入信號,是中斷請求輸入信號,在每條指令執(zhí)行的最后一個在每條指令執(zhí)行的最后一個時鐘周期將采樣這個信號。時鐘周期將采樣這個信號。只有標志寄存器中的中斷允只有標志寄存器中的中斷允許位為許位為1,且,且INTR為高時才為高時才響應中斷。響應中斷。INTR信號信號輸入信號,電平觸發(fā)(或邊輸入信號,電平觸發(fā)(或邊沿觸發(fā)),沿觸發(fā)),高電平高電平有效有效系統(tǒng)結(jié)構(gòu)最新8086101821222332INTRNMIRESETREADYTESTRDNMINMI信號信號NMI是不可屏蔽中斷的請求是不可屏蔽中斷的請求輸入信號,它靠邊沿觸發(fā)。輸入信號,它靠邊沿觸發(fā)。如果如果NMI從低電平變高電平從低電平變高電平,則,則

35、8086會在完成當前指令會在完成當前指令后,把控制轉(zhuǎn)移到不可屏蔽后,把控制轉(zhuǎn)移到不可屏蔽中斷服務程序(類型中斷服務程序(類型2中斷中斷處理程序)。處理程序)。輸入信號,邊沿觸發(fā),輸入信號,邊沿觸發(fā),正跳正跳變(低變(低高)高)有效有效系統(tǒng)結(jié)構(gòu)最新8086101821222332INTRNMIRESETREADYTESTRDRESETRESET信號信號RESET系統(tǒng)復位信號。系統(tǒng)復位信號。8086要求該信號至少維持要求該信號至少維持4個時鐘個時鐘周期的高電平,如果是初次周期的高電平,如果是初次加電引起的復位,則要求維加電引起的復位,則要求維持時間不小于持時間不小于50s的高電平的高電平。輸入信號

36、,高電平有效輸入信號,高電平有效系統(tǒng)結(jié)構(gòu)最新系統(tǒng)結(jié)構(gòu)最新INTA(中斷響應信號,輸出,低電平有效)(中斷響應信號,輸出,低電平有效) 24 腳腳 在在8086響應外部可屏蔽中斷請求之后,便發(fā)出響應外部可屏蔽中斷請求之后,便發(fā)出低電平有效的中斷響應信號,作為對中斷請求的回低電平有效的中斷響應信號,作為對中斷請求的回答。答。8086在中斷響應總線周期產(chǎn)生兩次負脈沖(中在中斷響應總線周期產(chǎn)生兩次負脈沖(中斷響應信號兩次有效),第一個負脈沖通知外設接斷響應信號兩次有效),第一個負脈沖通知外設接口已經(jīng)響應外設的中斷請求,第二個負脈沖用作中口已經(jīng)響應外設的中斷請求,第二個負脈沖用作中斷類型號的讀選通信號。

37、斷類型號的讀選通信號。(3)最小組態(tài)時的引腳最小組態(tài)時的引腳系統(tǒng)結(jié)構(gòu)最新系統(tǒng)結(jié)構(gòu)最新ALE(地址鎖存允許,輸出)(地址鎖存允許,輸出) 25 腳腳高電平高電平有效有效 此信號在一個總線周期的此信號在一個總線周期的T1周期,變?yōu)橛行е芷?,變?yōu)橛行В瑢⒌刂?,將地?數(shù)據(jù)線上的地址信號鎖存在地址鎖存器數(shù)據(jù)線上的地址信號鎖存在地址鎖存器中,從而中,從而分開數(shù)據(jù)和地址信號分開數(shù)據(jù)和地址信號。系統(tǒng)結(jié)構(gòu)最新CLKT1T2T3T4AD15AD0 A15 0D15 0 A19A16S6 S3A19A16/ /S6S3ALE8086地址地址鎖存器鎖存器STB(8282*3)(8286*2)OE(選用)(選用)A1

38、9A0D15D0地址總線地址總線數(shù)據(jù)總線數(shù)據(jù)總線+5VMN/MXAD15AD0A19A16DENDT/RALETOE系統(tǒng)結(jié)構(gòu)最新低電平低電平有效有效用于控制用于控制8086外接的數(shù)據(jù)收發(fā)器外接的數(shù)據(jù)收發(fā)器為高電平時則禁止收發(fā)器傳送數(shù)據(jù)為高電平時則禁止收發(fā)器傳送數(shù)據(jù) 為低電平時開啟收發(fā)器為低電平時開啟收發(fā)器DEN(數(shù)據(jù)允許輸出信號,輸出,三態(tài))(數(shù)據(jù)允許輸出信號,輸出,三態(tài)) 2626腳腳用于控制數(shù)據(jù)的傳送方向用于控制數(shù)據(jù)的傳送方向信號為信號為高電平高電平時時8086輸出的數(shù)據(jù)經(jīng)收發(fā)器送到數(shù)據(jù)總線輸出的數(shù)據(jù)經(jīng)收發(fā)器送到數(shù)據(jù)總線DT/R(數(shù)據(jù)發(fā)送(數(shù)據(jù)發(fā)送/接收,輸出,三態(tài))接收,輸出,三態(tài)) 2

39、7 腳腳信號為信號為低電平低電平時時收發(fā)器把數(shù)據(jù)總線上的數(shù)據(jù)傳送到收發(fā)器把數(shù)據(jù)總線上的數(shù)據(jù)傳送到80868086工作于工作于DMA方式時,方式時,該信號為高阻狀態(tài)該信號為高阻狀態(tài)系統(tǒng)結(jié)構(gòu)最新 用于區(qū)分用于區(qū)分CPU訪問存儲器訪問存儲器,還是訪問輸入還是訪問輸入/輸出接口,輸出接口,高選擇存儲器,低選擇高選擇存儲器,低選擇IO。M/IO(存儲器(存儲器/IO 選擇,輸出,三態(tài))選擇,輸出,三態(tài)) 28腳腳它常常與它常常與RD或或WR信號及信號及地址地址組合起來使用。組合起來使用。M/IO WR操操 作作 CPU對存儲器進行寫操作對存儲器進行寫操作CPU對對I/O端口進行寫操作端口進行寫操作CPU

40、對存儲器進行讀操作對存儲器進行讀操作CPU對對I/O端口進行讀操作端口進行讀操作10100011RD1100系統(tǒng)結(jié)構(gòu)最新HOLD(保持請求,輸入)(保持請求,輸入)31腳腳 高電平高電平有效有效 當系統(tǒng)中有其它的總線主設備需要獲得對總當系統(tǒng)中有其它的總線主設備需要獲得對總線的控制權(quán)時,便向線的控制權(quán)時,便向8086發(fā)出高電平有效的保持發(fā)出高電平有效的保持請求信號。請求信號。8086在每個時鐘上升沿對在每個時鐘上升沿對HOLD引腳引腳信號進行檢測,若發(fā)現(xiàn)信號進行檢測,若發(fā)現(xiàn)HOLD為為高電平高電平則有效,則有效,在當前總線周期結(jié)束時,則予以響應。在當前總線周期結(jié)束時,則予以響應。HLDA(保持響

41、應,輸出)(保持響應,輸出)30腳腳 高電平高電平有效有效 當當CPU響應保持請求時,便發(fā)出響應保持請求時,便發(fā)出HLDA高電平高電平有效的應答信號,從而將總線讓給發(fā)出總線保持響有效的應答信號,從而將總線讓給發(fā)出總線保持響應請求的設備,直到這個發(fā)出總線保持請求的設備應請求的設備,直到這個發(fā)出總線保持請求的設備又將又將HOLD信號變?yōu)榈碗娖?,信號變?yōu)榈碗娖?,CPU才又收回總線控才又收回總線控制權(quán),將制權(quán),將HLDA信號置為低電平。信號置為低電平。系統(tǒng)結(jié)構(gòu)最新 CPU 地址寄存器 計數(shù)器 控制/狀態(tài)寄存器 存儲器 I/O 接口 I/O 設備 系統(tǒng)總線系統(tǒng)總線HOLDHLDADMA請求請求DMA響應

42、響應DMAC總線擴展電路 局部總線局部總線系統(tǒng)結(jié)構(gòu)最新DO0DO1DO2DO3DO4DO5DO6DO7STBVCC82821234567891020191817161514131211DI1DI2DI3DI4DI5DI6DI7OEGNDDI08086地址和數(shù)據(jù)復用一地址和數(shù)據(jù)復用一組總線組總線AD15AD0 。在。在與存儲器或與存儲器或I/O交換數(shù)據(jù)交換數(shù)據(jù)時,時,8086在總線上先送在總線上先送出地址。經(jīng)過兩個時鐘出地址。經(jīng)過兩個時鐘后在相同總線上進行數(shù)后在相同總線上進行數(shù)據(jù)傳送傳送。由于總線據(jù)傳送傳送。由于總線在傳送數(shù)據(jù)時,仍需保在傳送數(shù)據(jù)時,仍需保持地址信號,因此要加持地址信號,因此要加

43、入地址鎖存器,將總線入地址鎖存器,將總線上的地址信息鎖存。上的地址信息鎖存。系統(tǒng)結(jié)構(gòu)最新CLKT1T2T3T4AD15AD0 A15 0D15 0 A19A16S6 S3A19A16/ /S6S3ALE8086地址地址鎖存器鎖存器STB(8282*3)(8286*2)OE(選用)(選用)A19A0D15D0地址總線地址總線數(shù)據(jù)總線數(shù)據(jù)總線+5VMN/MXAD15AD0A19A16DENDT/RALETOE系統(tǒng)結(jié)構(gòu)最新82828282DI1DI2DI3DI4DI5DI6DI7DO1DO2DO3DO4DO5DO6DO7D QDOCLKDI00STBOE系統(tǒng)結(jié)構(gòu)最新CLKT1T2T3T4AD15AD

44、0 A15 0D15 0 A19A16S6 S3A19A16/ /S6S3ALE8086地址地址鎖存器鎖存器STB(8282*3)(8286*2)OE(選用)(選用)A19A0D15D0地址總線地址總線數(shù)據(jù)總線數(shù)據(jù)總線+5VMN/MXAD15AD0A19A16DENDT/RALETOE系統(tǒng)結(jié)構(gòu)最新系統(tǒng)結(jié)構(gòu)最新系統(tǒng)結(jié)構(gòu)最新A0B08286OETA1A2A3A5A4A6A7B1B2B3B5B4B6B7OET傳送方向01AiBi00BiAi11高阻狀態(tài)10高阻狀態(tài)系統(tǒng)結(jié)構(gòu)最新X1 X2(8284A)8086地址鎖存器STB(8282*3)(8286*2)OE(選用)BHEA19A0D15D0地址總線

45、數(shù)據(jù)總線+5VMN/MXCLKRESETREADY(3)數(shù)字邏輯器件在數(shù)字邏輯器件在8086最小模式下的應用最小模式下的應用AD15AD0A19A16DENDT/RM/IOWRRDHOLDHLDAINTRINTAALEBHEREADYRESETTOE系統(tǒng)結(jié)構(gòu)最新6、最大組態(tài)時的引腳、最大組態(tài)時的引腳系統(tǒng)結(jié)構(gòu)最新(1)QS1和QS0指令隊列狀態(tài)信號(輸出) 這兩個信號組合起來提供了8086內(nèi)部指令隊列的狀態(tài),以便外部對其動作進行跟蹤。 空操作取走指令的一個字節(jié)隊列空取出的字節(jié)是指令的后續(xù)字節(jié)隊列操作QS1QS000110101系統(tǒng)結(jié)構(gòu)最新(2)S2、S1、 S0總線周期狀態(tài)信號 這三個狀態(tài)信號組

46、成的編碼表示了當前總線周期是何種操作周期。S2S1S0總線周期01010101發(fā)中斷響應信號讀I/O端口寫I/O端口暫停取指令讀存儲器寫存儲器無源狀態(tài)0011001100001111S2、S1、S0總線周期狀態(tài)信號系統(tǒng)結(jié)構(gòu)最新(3)RQ/GT1和RQ/GT0總線請求信號 這兩個信號可供CPU以外的兩個處理器用以使用總線的請求信號和接收CPU對總線請求信號的回答信號,總線請求信號和允許信號在同一引腳上傳輸,但方向相反。其中,RQ/GT0的優(yōu)先級高于RQ/GT1 。系統(tǒng)結(jié)構(gòu)最新(4)LOCK總線封鎖信號(輸出,三態(tài),低電平有效) 當此信號有效時,系統(tǒng)中其它總線主部件不能占有總線。此信號可用前綴信號

47、LOCK使其有效,并一直保持到LOCK前綴后面的一條指令執(zhí)行完畢。 另外,在8086的兩個中斷響應脈沖之間,LOCK信號也自動變?yōu)橛行щ娖?,以使在中斷響應過程不被間斷。系統(tǒng)結(jié)構(gòu)最新時鐘時鐘發(fā)生器發(fā)生器(8284A)READYRESETCLKREADYRESETCLKS0S1S2DENDT/RALE8288 INTAMRDCMWTCIORCIOWCS0S1S28086CPUMN/MXBHEA19A16AD15AD0STB1TOE8282*3OE8286*2總線控制器總線控制器BHE地址總線A19A16D15D0數(shù)據(jù)總線80868086最大模式下的典型配置圖最大模式下的典型配置圖總線周期發(fā)中斷響應

48、信號發(fā)中斷響應信號讀讀I/O端口端口寫寫I/O端口端口暫停暫停取指令取指令讀存儲器讀存儲器寫存儲器寫存儲器無源狀態(tài)無源狀態(tài)S200001111S100110011S001010101系統(tǒng)結(jié)構(gòu)最新讀寫讀寫控制控制讀寫讀寫控制控制讀寫讀寫控制控制CSI/O接口接口 STB OE8282鎖存器鎖存器8286TOE 8286 收發(fā)器收發(fā)器8284時鐘時鐘發(fā)生器發(fā)生器RESETREADYA1 A19A0BHEABD7 D0D15 D8DBCBD15D0CSH奇地址奇地址存儲體存儲體CSL偶地址偶地址存儲體存儲體8288S0 INTAS1 MRDCS2 MWTCDEN IORCDT/R IOWC ALE8

49、086CPUS0S1S2MN/MX CLK READY RESET BHE A19-A16 AD15-AD0系統(tǒng)結(jié)構(gòu)最新2.2 8086 的 存 儲 器 組織存儲器的分體結(jié)構(gòu)存儲器的分體結(jié)構(gòu) 堆棧的概念堆棧的概念 存儲器地址的分段存儲器地址的分段系統(tǒng)結(jié)構(gòu)最新1 bit=1個二進制位個二進制位1 Byte=8 bit1 Word=2 Byte 1 Doubleword=2 Word1 Quadword=4 Word01101100 01111110 10101100 11110bit ByteWordDoublewordQuadword低字節(jié)低字節(jié)高字節(jié)高字節(jié)系統(tǒng)結(jié)構(gòu)最新以字節(jié)和字為單位的數(shù)據(jù)處

50、理以字節(jié)和字為單位的數(shù)據(jù)處理任何連續(xù)存放的兩個字節(jié)可稱為一個任何連續(xù)存放的兩個字節(jié)可稱為一個字字(WORD)任何連續(xù)存放的兩個字可稱為一個任何連續(xù)存放的兩個字可稱為一個雙字雙字(DWORD)。在在8086的指令系統(tǒng)的指令系統(tǒng)中,可中,可按字節(jié)或字為單位按字節(jié)或字為單位進行數(shù)據(jù)進行數(shù)據(jù)處理,如,處理,如,8位數(shù)據(jù)運算和位數(shù)據(jù)運算和16位數(shù)據(jù)運算。位數(shù)據(jù)運算。數(shù)據(jù)線的寬度稱為字長,字長為數(shù)據(jù)線的寬度稱為字長,字長為8位時為一個位時為一個字節(jié)字節(jié)(BYTE)1)字長)字長系統(tǒng)結(jié)構(gòu)最新1、存儲器地址的分段、存儲器地址的分段數(shù)據(jù)段數(shù)據(jù)段Offset=0 x0000H64KBOffset = 0 xFFF

51、FH10H80HFFH存儲器存儲器地址空間地址空間150 xFFFFFH0IPCSDSSSES0 x00000H代碼段代碼段64K字節(jié)字節(jié)堆棧段堆棧段64K字節(jié)字節(jié)擴展段擴展段64K字節(jié)字節(jié)數(shù)據(jù)段數(shù)據(jù)段64K字節(jié)字節(jié)0 x003FFH專用專用通用數(shù)據(jù)區(qū)通用數(shù)據(jù)區(qū) 1MB0 x00400HM/IO =1 0 xFFFFHI/O地址空間地址空間0 x0000H 64KBM/IO =0 系統(tǒng)結(jié)構(gòu)最新 1)分段的原因)分段的原因 為了實現(xiàn)對為了實現(xiàn)對1M字節(jié)存儲空間進行管理,字節(jié)存儲空間進行管理,8086采用了分段的方法。采用了分段的方法。 存儲器的分段并不唯一,存儲器的分段并不唯一,它們之間可以相互

52、重疊。所以它們之間可以相互重疊。所以,對于某一個存儲單元來講,對于某一個存儲單元來講,可能屬于一個或多個邏輯段??赡軐儆谝粋€或多個邏輯段。即段的位置不受任何限制即段的位置不受任何限制.同時一個程序或一個數(shù)據(jù)區(qū)所同時一個程序或一個數(shù)據(jù)區(qū)所在的存儲空間可在一個段內(nèi),在的存儲空間可在一個段內(nèi),也可占有多個段也可占有多個段 。2) 段的排列段的排列0 xFFFFFH0 x00000HD段段C段段E段段B段段A段段物理物理地址地址系統(tǒng)結(jié)構(gòu)最新系統(tǒng)結(jié)構(gòu)最新高地址代碼段存儲器低地址CSDSSSES代碼段寄存器數(shù)據(jù)段寄存器堆棧段寄存器附加段寄存器附加段堆棧段數(shù)據(jù)段圖中數(shù)據(jù)段與堆棧段是重疊的。 3)段的產(chǎn)生 下

53、圖是4個段寄存器分別指示著存儲器中4個當前段的例子。 CS、DS、SS、ES 給出4個當前可尋址段的基址。 系統(tǒng)結(jié)構(gòu)最新2 2、物理地址的產(chǎn)生、物理地址的產(chǎn)生1)1)物理地址物理地址物理地址物理地址就是在就是在1M1M字節(jié)的地址空間中的每一位存字節(jié)的地址空間中的每一位存儲單元,用一個唯一的儲單元,用一個唯一的2020位二進制數(shù)所表示的地位二進制數(shù)所表示的地址。址。物理地址物理地址的范圍從十六進制的00000H到FFFFFH。CPU在與存儲器進行數(shù)據(jù)交換時使用物理地址物理地址。系統(tǒng)結(jié)構(gòu)最新基址和偏移地址的范圍都是從基址和偏移地址的范圍都是從0000H到到FFFFH。 2)邏輯地址 邏輯地址邏輯地

54、址由兩部分組成,即段的基址和偏移地址由兩部分組成,即段的基址和偏移地址。其中偏移地址是存儲單元所在的位置到段的基址。其中偏移地址是存儲單元所在的位置到段的基址的距離。的距離。程序一旦設定,段地址不再變化,而隨著程序一旦設定,段地址不再變化,而隨著程序的執(zhí)行或數(shù)據(jù)操作,偏移量不斷變化。程序的執(zhí)行或數(shù)據(jù)操作,偏移量不斷變化。在程序中不能使用實際地址,而要使用邏輯地址。在程序中不能使用實際地址,而要使用邏輯地址。物理地址(物理地址(16進制)進制) =段地址段地址0 (16進制)進制) +偏移量(偏移量(16進制)進制) 系統(tǒng)結(jié)構(gòu)最新16位地址偏移量位地址偏移量左移左移4位位16位段寄存器中的段基址

55、位段寄存器中的段基址+20位地址量位地址量3)3)物理地址物理地址的生成的生成系統(tǒng)結(jié)構(gòu)最新0C018FE7FHCS:I P:+CFFFFH存存 儲儲 器器C0180CFFFF即即 C018 0 H+FE7F H=CFFFFH系統(tǒng)結(jié)構(gòu)最新段基址:段基址:0123H 偏移量:偏移量:0015H邏輯地址邏輯地址11230H1240H1245H實際地址實際地址段基址:段基址:0124H偏移量:偏移量:0005H邏輯地址邏輯地址2系統(tǒng)結(jié)構(gòu)最新在一個段內(nèi)的最大尋址范圍是在一個段內(nèi)的最大尋址范圍是64K,要想對超出當前段,要想對超出當前段范圍的存儲單元進行存取操作,必須改變段的基址范圍的存儲單元進行存取操作

56、,必須改變段的基址。8086CPU中中4個段寄存器個段寄存器(CS,DS,SS,ES) 存放段基址存放段基址5個個16位的寄存器位的寄存器(SP,BP,SI,DI,IP) (SP,BP,SI,DI,IP) 存放偏移地址存放偏移地址CSIPDSSI,DI或或BXSSSP或或BP代碼段代碼段數(shù)據(jù)段數(shù)據(jù)段堆棧段堆棧段系統(tǒng)結(jié)構(gòu)最新系統(tǒng)結(jié)構(gòu)最新存儲器地址空間分配存儲器地址空間分配8086系統(tǒng)中,系統(tǒng)中,1MB的存儲器空間分成兩個存儲體:的存儲器空間分成兩個存儲體:偶地偶地址存儲體址存儲體和和奇地址存儲體奇地址存儲體,各為,各為512KB系統(tǒng)結(jié)構(gòu)最新BHE存儲體與總線的連接存儲體與總線的連接D7 D0D1

57、5 D8A0A19 A1DBABBHED7 D0奇地址存儲體奇地址存儲體SEL A18 A0D7 D0偶地址存儲體偶地址存儲體SEL A18 A0系統(tǒng)結(jié)構(gòu)最新2 2)字節(jié)和字的存取)字節(jié)和字的存取D7 D0存取低位字節(jié)存取低位字節(jié)D15 D8存取高位字節(jié)存取高位字節(jié)D15 D0字處理字處理D15 D8 D7 D0字處理,包括一個字處理,包括一個地址的高地址的高8位和下位和下一個地址的低一個地址的低8位位系統(tǒng)結(jié)構(gòu)最新系統(tǒng)結(jié)構(gòu)最新 如果某條信息其長度大于一個字節(jié),例如是字或如果某條信息其長度大于一個字節(jié),例如是字或者雙字,甚至是一組字符串。這時該信息按者雙字,甚至是一組字符串。這時該信息按高位字節(jié)

58、高位字節(jié)存存入入高位地址高位地址,低位字節(jié)低位字節(jié)存入存入低位地址低位地址的原則進行存儲的原則進行存儲3)規(guī)則字和非規(guī)則字)規(guī)則字和非規(guī)則字地 址存儲單元例如:從19H至1BH中存入的內(nèi)容是:ABCDEF HEFCDAB19H1AH1BH右圖所示的存儲單元系統(tǒng)結(jié)構(gòu)最新從奇數(shù)地址開始存放字叫從奇數(shù)地址開始存放字叫非規(guī)則存放非規(guī)則存放,這樣存放的字稱這樣存放的字稱為為非規(guī)則字非規(guī)則字從偶地址開始的存放叫從偶地址開始的存放叫規(guī)則存放規(guī)則存放,這樣存放的字也叫這樣存放的字也叫規(guī)則字規(guī)則字1)規(guī)則字和非規(guī)則字的定義)規(guī)則字和非規(guī)則字的定義EF38760358H0359H0357H0356H05規(guī)則字規(guī)則

59、字規(guī)則字規(guī)則字非規(guī)則非規(guī)則字字CPU從奇數(shù)起始從奇數(shù)起始的地址中一次最的地址中一次最多完成一個字節(jié)多完成一個字節(jié)的存取,的存取,而從一而從一個偶數(shù)起始的地個偶數(shù)起始的地址中一次可實現(xiàn)址中一次可實現(xiàn)一個字的存取一個字的存取系統(tǒng)結(jié)構(gòu)最新2 2)字的存儲操作)字的存儲操作系統(tǒng)結(jié)構(gòu)最新4)堆棧操作堆棧操作分類:分類: 應用:應用:存儲區(qū)存儲區(qū)(SP)FFFFH0000H當前棧頂當前棧頂棧底棧底堆堆棧棧區(qū)區(qū)存儲區(qū)存儲區(qū)存儲區(qū)存儲區(qū)(SP)FFFFH0000H棧頂空單元棧頂空單元棧底棧底堆堆棧棧區(qū)區(qū)存儲區(qū)存儲區(qū)系統(tǒng)結(jié)構(gòu)最新440000FF55000000C1001H01FFFHC0FFFHC0000H10

60、00SPC000SS+棧頂棧頂棧底棧底SS=C000HSP=2000H段基址段基址SS的值的值C2000HC1000HC0FFEHC0001H對堆棧區(qū)的操作:對堆棧區(qū)的操作:壓棧壓棧(存入數(shù)據(jù))(存入數(shù)據(jù))出棧出棧(取出數(shù)據(jù))(取出數(shù)據(jù))棧頂?shù)奈恢冒l(fā)生棧頂?shù)奈恢冒l(fā)生變化變化例:若當前例:若當前SS = C000HSP =1000H當前棧頂?shù)奈锢懋斍皸m數(shù)奈锢淼刂窞椋旱刂窞椋篊1000H系統(tǒng)結(jié)構(gòu)最新 SP-2SPSP: 0FFEH3322AX入堆棧操作入堆棧操作入棧指令入棧指令 PUSH XX 將操作數(shù)壓入堆棧區(qū)。將操作數(shù)壓入堆棧區(qū)。例例 AX= 3322H,BX = 1100H CX = 66

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論