第2章8086微處理器與匯編語言——8086系統(tǒng)結(jié)構_微機原理及單片機_第1頁
第2章8086微處理器與匯編語言——8086系統(tǒng)結(jié)構_微機原理及單片機_第2頁
第2章8086微處理器與匯編語言——8086系統(tǒng)結(jié)構_微機原理及單片機_第3頁
第2章8086微處理器與匯編語言——8086系統(tǒng)結(jié)構_微機原理及單片機_第4頁
第2章8086微處理器與匯編語言——8086系統(tǒng)結(jié)構_微機原理及單片機_第5頁
已閱讀5頁,還剩71頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第第2章章 8086微處理器與匯編語言微處理器與匯編語言8086系統(tǒng)結(jié)構系統(tǒng)結(jié)構學習目標學習目標n了解了解8086微處理器的基本結(jié)構及工作原理。微處理器的基本結(jié)構及工作原理。n理解通用寄存器、段寄存器、標志和指針寄理解通用寄存器、段寄存器、標志和指針寄存器、基址和變址寄存器的功能和作用。存器、基址和變址寄存器的功能和作用。n理解理解8086存儲器的地址分段和結(jié)構、數(shù)據(jù)和存儲器的地址分段和結(jié)構、數(shù)據(jù)和程序地址的計算方法。程序地址的計算方法。教學內(nèi)容教學內(nèi)容n8086內(nèi)部結(jié)構內(nèi)部結(jié)構n寄存器組寄存器組n引腳及其功能引腳及其功能n存儲器組織存儲器組織計劃學時:計劃學時:48086內(nèi)部結(jié)構內(nèi)部結(jié)構80

2、86微處理器的主要特點:微處理器的主要特點:n 8086是單片集成電路,內(nèi)部由執(zhí)行單元是單片集成電路,內(nèi)部由執(zhí)行單元EU和總線接口單和總線接口單元元BIU組成組成n 數(shù)據(jù)總線數(shù)據(jù)總線(D0D15)和內(nèi)部結(jié)構都是和內(nèi)部結(jié)構都是16位位的的n 能處理能處理16位位數(shù)據(jù),也能處理數(shù)據(jù),也能處理8位位數(shù)據(jù)數(shù)據(jù)n 地址總線地址總線(A0A19)是是20位的,直接尋址能力達位的,直接尋址能力達1M字節(jié)字節(jié)n 系統(tǒng)時鐘為系統(tǒng)時鐘為5MHzn HMOS工藝,工藝,40引腳,引腳,+5V供電供電n 有有4組組寄存器寄存器負責從存儲器或外部設備中負責從存儲器或外部設備中讀取操作碼和操作數(shù),并將讀取操作碼和操作數(shù),

3、并將結(jié)果寫入指令指出的地址結(jié)果寫入指令指出的地址CPU執(zhí)行部件執(zhí)行部件EU(Executive Uint)總線接口部件總線接口部件BIU(Bus Interface Uint)負責執(zhí)負責執(zhí)行指令行指令EU和和BIU之間是并行工作的!之間是并行工作的!目的:目的:提高系統(tǒng)工作效率提高系統(tǒng)工作效率ALU暫暫 存存 器器8位隊位隊列總線列總線總總線線控控制制邏邏輯輯內(nèi)部總線16位地址加法器地址加法器20位地位地址總線址總線16位位數(shù)數(shù)據(jù)據(jù)總總線線總總線線接接口口部部件件BIU1 2 3 4 5 6指令隊列指令隊列通用寄存器通用寄存器AX AH ALBX BH BLCX CH CLDX DH DL S

4、P BP DI SI標志寄存器標志寄存器CSDSSSESIP暫存器暫存器執(zhí)行部件EU8086CPU的結(jié)構框圖的結(jié)構框圖EU控控制制器器( (1 1) ) 執(zhí)行部件執(zhí)行部件EU執(zhí)行單元執(zhí)行單元EU算術算術/邏輯單元(邏輯單元(ALU)運算寄存器(暫存器)運算寄存器(暫存器)標志寄存器(標志寄存器(PSW)通用寄存器(通用寄存器(8個個16位位Register)EU 控制器控制器* 這些寄存器不與外部總線相連這些寄存器不與外部總線相連Programer Status Word又稱又稱FR: Flag Register執(zhí)行部件工作流程EU控控制制器器ALU暫暫 存存 器器標志寄存器標志寄存器8位隊位

5、隊列總線列總線執(zhí)執(zhí)行行部部件件EU通用寄存器通用寄存器AX AH ALBX BH BLCX CH CLDX DH 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)與與存儲

6、器數(shù)據(jù)段中偏移存儲器數(shù)據(jù)段中偏移量為量為100H的數(shù)據(jù)相的數(shù)據(jù)相加加,結(jié)果存入結(jié)果存入AL中。中。AL讀入讀入指令指令操作碼操作碼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)容2000H10H11H16位內(nèi)位內(nèi)部總線部總線( (2)2) 總線接口部件總線接口部件BIU總線接口部件總線接口部件BIU段寄存器(段寄存器(CS,DS,SS和和ES)指令指針(指令指針(IP)指令隊列緩

7、沖器(指令隊列緩沖器(6個字節(jié))個字節(jié)) 地址產(chǎn)生器(產(chǎn)生地址產(chǎn)生器(產(chǎn)生20位地址)位地址)總線控制邏輯總線控制邏輯總線接口部件的操作總線接口部件的操作-讀指令讀指令總總線線控控制制邏邏輯輯地址加法器地址加法器20位地址總線位地址總線(物理地址物理地址)16位位數(shù)數(shù)據(jù)據(jù)總總線線總總線線接接口口部部件件BIU1 2 3 4 5 6指令隊列指令隊列CSDSSSESIP暫存器暫存器 01000H(20位位)+ 0000H(16位位) - 01000H (20位位) 物理地址物理地址(20位位)CPU的取指過程的取指過程:當指令隊列有當指令隊列有2個或個或2個以上的字節(jié)空余個以上的字節(jié)空余時時,BI

8、U自動讀指令自動讀指令,存入指令隊列。存入指令隊列。指令指令MOV AL,5CHADD AL,100HCS=0100HIP=0000H CSIP地址加法器地址加法器總總線線控控制制邏邏輯輯總總線線控控制制邏邏輯輯11 2 3 4 5 6指令代碼指令代碼內(nèi)存儲器內(nèi)存儲器(程序段)(程序段)B0H5CH地址地址01001H01002H01003H內(nèi)容內(nèi)容01000H02H06H00H01H01004H01005H總線接口部件的操作總線接口部件的操作-讀數(shù)據(jù)讀數(shù)據(jù)總總線線控控制制邏邏輯輯地址加法器地址加法器20位地址總線位地址總線(物理地址物理地址)16位位數(shù)數(shù)據(jù)據(jù)總總線線總總線線接接口口部部件件B

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

10、指令代碼內(nèi)存儲器內(nèi)存儲器(數(shù)據(jù)段)(數(shù)據(jù)段)B0H地址地址2100H2101H內(nèi)容內(nèi)容2000H10H11H寄存器組數(shù)據(jù)寄存器數(shù)據(jù)寄存器地址指針及地址指針及變址寄存器變址寄存器控制寄存器組控制寄存器組段寄存器組段寄存器組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ù)段寄

11、存器數(shù)據(jù)段寄存器 SS 堆棧段寄存器堆棧段寄存器 ES 附加段寄存器附加段寄存器 15 8 7 0(標志位)(標志位)AXBXCXDX目的變址指針目的變址指針(Destination Index)DI源變址指針源變址指針(Source Index)SI基址指針基址指針(Base Pointer)BP堆棧指針堆棧指針(Stack Pointer)SP數(shù)據(jù)寄存器數(shù)據(jù)寄存器(Data)DLDHDX計數(shù)寄存器計數(shù)寄存器(Count)CLCHCX基址寄存器基址寄存器(Base)BLBHBX累加器累加器(Accumulator)ALAHAX數(shù)據(jù)寄存器 可分為兩個8位,主要用于數(shù)據(jù)操作地址指針主要用于地址操

12、作CS:Code SegmentDS:Data SegmentSS:Stack Segment ES:Extra Segment8086的的BIU單元中有單元中有4個個16位段寄存器位段寄存器數(shù)據(jù)段寄存器堆棧段寄存器附加段寄存器代碼段寄存器n這個寄存器中的值總是這個寄存器中的值總是自動自動指向下一次所要取出指向下一次所要取出的指令的地址偏移量的指令的地址偏移量n程序不能直接對它進行修改程序不能直接對它進行修改n在程序運行的過程中,在程序運行的過程中,CPU會自動修改其中的值會自動修改其中的值 8086CPU中標志寄存器為中標志寄存器為16位位,其中有意,其中有意義的有義的有9個標志位個標志位,

13、其中,其中6個狀態(tài)標志位個狀態(tài)標志位,3個控制標志位。個控制標志位。狀態(tài)標志有狀態(tài)標志有:CF:進位標志位進位標志位 (Carry Flag)PF:奇偶位奇偶位 (Parity)AF:輔助進位位輔助進位位 (Auxiliary Carry)ZF:零標志位零標志位 (Zero)SF:符號標志位符號標志位 (Sign)OF:溢出位溢出位 (Overflow)3個控制標志位個控制標志位:DF:方向控制位方向控制位 (Direction Flag)IF: 中斷允許控制位中斷允許控制位 (Interrupt Flag)TF:跟蹤控制位跟蹤控制位 (Trace Flag )進位標志進位標志CF:CF=1時

14、,表明指令執(zhí)行后的結(jié)果在最高位時,表明指令執(zhí)行后的結(jié)果在最高位(字節(jié)操作時字節(jié)操作時的的D7位,字操作時的位,字操作時的D15位位)上產(chǎn)生了一個上產(chǎn)生了一個進位進位或或借位借位;進位標志位(進位標志位(CFCF)例如: MOV AL, 3;SUB AL, 4; SUB=subtract:(ALAL-4)執(zhí)行后,CF?。CF=0時,則無進位或借位產(chǎn)生。時,則無進位或借位產(chǎn)生。該標志主要用于多字節(jié)數(shù)的該標志主要用于多字節(jié)數(shù)的加減法運算加減法運算。 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0CFFLAG 輔助進位標志位輔助進位標志位AF:對于:對于8位的運算而言位的運

15、算而言,AF=1表示在低表示在低位數(shù)的位數(shù)的第第4位位上產(chǎn)生了一個進位或借位信號;上產(chǎn)生了一個進位或借位信號;AF=0時表示時表示此位上無進位或借位產(chǎn)生。此位上無進位或借位產(chǎn)生。通常用于對通常用于對BCD碼算術運算結(jié)碼算術運算結(jié)果的調(diào)整。果的調(diào)整。輔輔助進位標志位(助進位標志位(AF)AF15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0CFFLAG 例如: ADD AL, BL ;AF=0,假設此時AL=09H,BL=5AAA ;AF=1,ASCII Adjust For Addition結(jié)果:AX=0104H表示非壓縮BCD碼結(jié)果零標志位ZF:ZF=1表示運算結(jié)果為

16、零;ZF=0表示運算結(jié)果不為零。 零標志位(零標志位(ZF)例1:MOV AL, 4 SUB AL, 4 ;此時ZF=?例2:XOR AX, AX ;此時ZF=? ;注:XOR表示按位異或ZFAF15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0CFFLAG 符號標志位SF:它的值與運算結(jié)果的最高位相同。SF=1表示運算結(jié)果為負數(shù); SF=0表示運算結(jié)果為正數(shù)。 符號標志位(符號標志位(SF)SF ZFAF15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0CFFLAG 注意負數(shù)時符號位為1例1:MOV AL, 5 SUB AL, 4 ;此時SF=

17、? 溢出標志位溢出標志位OF:當運算過程產(chǎn)生溢出時,:當運算過程產(chǎn)生溢出時,OF=1。所謂算術溢出是指算術運算的結(jié)果超出了機器所能表達的數(shù)所謂算術溢出是指算術運算的結(jié)果超出了機器所能表達的數(shù)的范圍。的范圍。對有符號整數(shù)對有符號整數(shù)(-128127,-3276832767) 溢出控制標志位(溢出控制標志位(OF)用補碼表示的!OFAF15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0CFFLAG SF ZF奇偶標志位奇偶標志位PF:PF=1:指令執(zhí)行的結(jié)果:指令執(zhí)行的結(jié)果低字節(jié)低字節(jié)含偶數(shù)個含偶數(shù)個1;PF=0:運算結(jié)果:運算結(jié)果低字節(jié)低字節(jié)含奇數(shù)個含奇數(shù)個1。這個標志位

18、可用來檢查在數(shù)據(jù)傳送過程中是否發(fā)這個標志位可用來檢查在數(shù)據(jù)傳送過程中是否發(fā)生錯誤。生錯誤。奇偶標志位(奇偶標志位(PF)例:MOV AL, 2 ADD AL, 1;AL=03H=0000 0011B 執(zhí)行后,PF=1PFSF ZFOFAF15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0CFFLAG 實際應該理解為奇校驗(Odd)即原數(shù)加上PF位后含奇數(shù)個110001101001101100011001000011001+0110011010101001運算結(jié)果最高位為1SF=1;D3向D4有進位 AF=1;次高位向最高位有進位 ,最高位向前沒有進位,OF=1最高位沒有

19、進位 CF=0;低8位中1的個數(shù)為偶數(shù)個 PF=1;運算結(jié)果本身0 ZF=0;10001101001101100011001000011001-0010110010001100運算結(jié)果最高位為0SF=0;D3位向D4位沒有借位 AF=0;次高位向最高位沒有借位 ,最高位向前沒有借位,OF=0最高位沒有借位 CF=0;低8位中1的個數(shù)為奇數(shù)個 PF=0;運算結(jié)果本身0 ZF=0;01001110010100101000100010000001+1010100000111011運算結(jié)果最高位為1SF=1;D3位向D4位沒有借位 AF=0;次高位向最高位沒有進位 ,最高位向前沒有進位,OF=0最高位

20、沒有進位 CF=0;低8位中1的個數(shù)為奇數(shù)個 PF=0;運算結(jié)果本身0 ZF=0;方向標志位DF:DF=1時,CPU將以數(shù)據(jù)串遞減的順序(即地址由高向低)對數(shù)據(jù)串中的數(shù)據(jù)進行處理;若DF=0,則將以遞加(即地址由低向高)的順序?qū)?shù)據(jù)進行處理。方向控制標志位(方向控制標志位(DFDF)操作指令:STD ,CLDDFPFSF ZFOFAF15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0CFFLAG 中斷允許標志IF:若將IF=1,則處理器允許接受外部可屏蔽中斷發(fā)來的中斷請求;IF=0時,CPU不能接受外部可屏蔽中斷發(fā)來的請求。 中斷允許控制標志位(中斷允許控制標志位(IF

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

22、對于DEBUG軟件調(diào)試應用程序非常有用作業(yè)作業(yè)P127:(1)P127:(1)、(2)(2)引腳及其功能引腳及其功能n8086芯片采用雙列直芯片采用雙列直插式封裝,有插式封裝,有40個引個引腳。腳。n8086的的40條引腳包含條引腳包含n地址線地址線/數(shù)據(jù)線數(shù)據(jù)線n控制和狀態(tài)線控制和狀態(tài)線n電源和時鐘線電源和時鐘線12345678910111213141516171819204039383736353433323130292827262524232221GNDAD14AD13AD12AD11AD10AD9AD8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGNDVCCAD

23、15A16/S3A17/S4A18/S5A19/S6BHE/S7MN/MXRDHOLD*HLDA*WR*M/IO*DT/R*DEN*ALE*INTA*TESTREADYRESET8086( (1 1) ).8086的工作方式的工作方式n兩種工作方式兩種工作方式: :最小模式最小模式與與最大模式最大模式n當當MN/MX引腳為引腳為高電平高電平時時nCPU工作于最小模式,單機系統(tǒng)控制信號由工作于最小模式,單機系統(tǒng)控制信號由CPU提提供。供。n當當MN/MX引腳為引腳為低電低電平平時時nCPU工作于最大模式,可構成多機系統(tǒng),系統(tǒng)控制工作于最大模式,可構成多機系統(tǒng),系統(tǒng)控制信號由專用芯片(信號由專用芯

24、片(常用常用8288總線控制器總線控制器)提供。)提供。AD0-AD15這這16條線條線分時復用分時復用。傳送地址時三態(tài)輸出;傳送數(shù)傳送地址時三態(tài)輸出;傳送數(shù)據(jù)時雙向三態(tài)輸入據(jù)時雙向三態(tài)輸入/輸出。輸出。地址和數(shù)據(jù)線地址和數(shù)據(jù)線AD0AD15地址地址/數(shù)據(jù)(數(shù)據(jù)(Address Data Bus)(雙向,三態(tài),分時復用)(雙向,三態(tài),分時復用)A19/S6A16/S3 地址地址/狀態(tài)狀態(tài)(Status)(輸出,三態(tài),分時復用)(輸出,三態(tài),分時復用)12345678910111213141516171819204039383736353433323130292827262524232221GN

25、DAD14AD13AD12AD11AD10AD9AD8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGNDVCCAD15A16/S3A17/S4A18/S5A19/S6BHE/S7MN/MXRDHOLD*HLDA*WR*M/IO*DT/R*DEN*ALE*INTA*TESTREADYRESET8086( (2)2)與工作方式無關的引腳與工作方式無關的引腳CLKT1T2T3T4AD15AD0 A15 0D15 0 A19A16S6 S3A19A16/S6S3ALE總線周期由總線周期由4時鐘周期組成:時鐘周期組成:第一個時鐘周期第一個時鐘周期, AD15AD0表示低表示低16

26、位地址位地址, A19A16/S6S3 為為高四位地址線高四位地址線,形成形成20位地址總線。位地址總線。T1周期結(jié)束時通過周期結(jié)束時通過ALE信號信號下降沿鎖存地址信號。下降沿鎖存地址信號。第二個時鐘周期的上升沿時第二個時鐘周期的上升沿時, A19A16/S6S3表示總線狀態(tài)。表示總線狀態(tài)。第三個周期開始第三個周期開始,AD15AD0變?yōu)閿?shù)據(jù)總線,傳遞數(shù)據(jù)。變?yōu)閿?shù)據(jù)總線,傳遞數(shù)據(jù)。第四個時鐘周期第四個時鐘周期,AD15AD0信號變?yōu)楦】?。信號變?yōu)楦】铡6S3繼續(xù)維持。繼續(xù)維持。初步理解初步理解“分時復用分時復用”開始接觸時序圖開始接觸時序圖S3和和S4表示正在被使用的段寄存器:表示正在被使

27、用的段寄存器:總線周期里總線周期里A16/S3,A17/S4,A18/S5,A19/S6狀態(tài)信號功能狀態(tài)信號功能S4S3意義意義00110101附加分段附加分段ES堆棧分段堆棧分段SS代碼分段代碼分段CS或無分段或無分段數(shù)據(jù)分段數(shù)據(jù)分段DSS5 表示狀態(tài)標志寄存器中中斷允許標志位(表示狀態(tài)標志寄存器中中斷允許標志位(IF)的狀態(tài)。)的狀態(tài)。S6=1則使則使8086總線浮空,讓另外的總線主模塊可以取得系總線浮空,讓另外的總線主模塊可以取得系統(tǒng)總線的控制權。統(tǒng)總線的控制權。 S6=0表示這片表示這片8086連在總線上。連在總線上。S3S6在總線周期在總線周期T1以后的時鐘周期里表示總線周期狀態(tài)以后

28、的時鐘周期里表示總線周期狀態(tài)BHE/S7(高(高8位數(shù)據(jù)允許位數(shù)據(jù)允許/狀態(tài),輸出,三態(tài)狀態(tài),輸出,三態(tài)) Bus High Enable/Status當對存儲器或當對存儲器或 I/O端口讀寫時,端口讀寫時,高高8位數(shù)據(jù)位數(shù)據(jù)進行操進行操作時,該信號有效。作時,該信號有效。S7為備用狀態(tài),始終為為備用狀態(tài),始終為1。8086能處理能處理8位也能處理位也能處理16位數(shù)據(jù)位數(shù)據(jù)存儲器存儲器組織部分組織部分將更深入將更深入介紹介紹BHE保持低電平,這時數(shù)據(jù)在總線的高保持低電平,這時數(shù)據(jù)在總線的高8位上傳送。位上傳送。該信號與該信號與AD0一起,產(chǎn)生存儲器的選擇邏輯信號。一起,產(chǎn)生存儲器的選擇邏輯信號

29、。控制和狀態(tài)線控制和狀態(tài)線控制和狀態(tài)線包括:RD(讀,輸出,三態(tài))(讀,輸出,三態(tài))READY (準備好,輸入)(準備好,輸入) TEST (測試,輸入(測試,輸入 )INTR (可屏蔽中斷請求,輸入(可屏蔽中斷請求,輸入 )NMI(非屏蔽中斷請求,輸入(非屏蔽中斷請求,輸入 )RESET (復位,輸入(復位,輸入 )CLK (系統(tǒng)時鐘,輸入(系統(tǒng)時鐘,輸入 )MN/MX (輸入,最?。ㄝ斎?,最小/最大組態(tài)最大組態(tài) )8086101821222332INTRNMIRESETREADYTESTRDRD(Read)讀選通信號,三態(tài),輸讀選通信號,三態(tài),輸出,低電平有效出,低電平有效,允許,允許CP

30、U讀讀存儲器存儲器或或I/O端口端口的數(shù)據(jù)。的數(shù)據(jù)。存儲器存儲器和和I/O設備設備都連接在都連接在CPU外部總線上外部總線上8086101821222332INTRNMIRESETTESTRDREADYREADY信號信號輸入信號(由存儲器或輸入信號(由存儲器或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ù)

31、可以進行數(shù)據(jù)傳送操作據(jù)傳送操作8086101821222332INTRNMIRESETREADYTESTRDINTRINTR是是可屏蔽中斷可屏蔽中斷請求輸入請求輸入信號,在每條指令執(zhí)行的最信號,在每條指令執(zhí)行的最后一個時鐘周期將采樣這個后一個時鐘周期將采樣這個信號。信號。只有標志寄存器中的中斷允只有標志寄存器中的中斷允許位許位IF為為1,且,且INTR為高時為高時才響應才響應可屏蔽中斷可屏蔽中斷。INTR信號信號(Interrupt Request)輸入信號,輸入信號,電平觸發(fā)電平觸發(fā)(或(或邊邊沿觸發(fā)沿觸發(fā)),),高電平高電平有效。有效。* 所謂可屏蔽:指可被所謂可屏蔽:指可被FR中的中的I

32、F屏蔽屏蔽8086101821222332INTRNMIRESETREADYTESTRDNMINMI信號(信號(Non-Maskable Interrupt Request)NMI是是不可屏蔽中斷不可屏蔽中斷請求輸請求輸入信號,它靠入信號,它靠邊沿觸發(fā)邊沿觸發(fā)。如。如果果NMI從低電平變高電平,從低電平變高電平,則則8086會在完成當前指令后,會在完成當前指令后,把控制轉(zhuǎn)移到不可屏蔽中斷把控制轉(zhuǎn)移到不可屏蔽中斷服務程序。服務程序。輸入信號,邊沿觸發(fā),輸入信號,邊沿觸發(fā),正跳正跳變(低變(低高)高)有效有效* 不可屏蔽:不受不可屏蔽:不受IF標志的影響,比標志的影響,比INTR級別高級別高808

33、6101821222332INTRNMIRESETREADYTESTRDRESETRESET信號信號RESET系統(tǒng)復位信號。系統(tǒng)復位信號。8086要求該信號至少維持要求該信號至少維持4個時鐘個時鐘周期的高電平周期的高電平,如果是初次,如果是初次加電引起的復位,則要求維加電引起的復位,則要求維持時間不小于持時間不小于50s的高電平。的高電平。輸入信號,高電平有效。輸入信號,高電平有效。* 一個微機系統(tǒng)的復位信號的處理很重要!一個微機系統(tǒng)的復位信號的處理很重要!微機系統(tǒng)的常見復位方式:微機系統(tǒng)的常見復位方式:上電復位;手動復位;看門狗復位等上電復位;手動復位;看門狗復位等8086101821222

34、332INTRNMIRESETREADYTESTRDTESTTEST信號輸入信號,輸入信號,低電平低電平有效。有效。它它與與WAIT等待指令結(jié)合等待指令結(jié)合使使用。在執(zhí)行用。在執(zhí)行WAIT指令時,指令時,8086會停止操作,進入空轉(zhuǎn)會停止操作,進入空轉(zhuǎn)等待狀態(tài),每隔等待狀態(tài),每隔5個時鐘周個時鐘周期,對期,對TEST信號檢測一次。信號檢測一次。若為高電平,若為高電平,CPU保持等待保持等待狀態(tài);若為低電平,狀態(tài);若為低電平,8086結(jié)結(jié)束等待狀態(tài),繼續(xù)后續(xù)指令。束等待狀態(tài),繼續(xù)后續(xù)指令。* WAIT指令用來使指令用來使CPU與外部硬件同步與外部硬件同步INTA (Interrupt Ackno

35、wledge)(中斷響應信號中斷響應信號,輸出,低電平有效),輸出,低電平有效) 在在8086響應外部可屏蔽中斷請求之后,便發(fā)出響應外部可屏蔽中斷請求之后,便發(fā)出低電平有效的中斷響應信號,作為對中斷請求的回低電平有效的中斷響應信號,作為對中斷請求的回答。答。8086在中斷響應總線周期產(chǎn)生在中斷響應總線周期產(chǎn)生兩次負脈沖兩次負脈沖(中(中斷響應信號兩次有效),第一個負脈沖斷響應信號兩次有效),第一個負脈沖通知外設接通知外設接口已經(jīng)響應外設的中斷請求口已經(jīng)響應外設的中斷請求,第二個負脈沖用作,第二個負脈沖用作中中斷類型號的讀選通信號斷類型號的讀選通信號。(3)(3)“最小模式最小模式”時系統(tǒng)的控制

36、和狀態(tài)線時系統(tǒng)的控制和狀態(tài)線初步理解中斷概念 中斷過程8086101821222329INTRNMIRESETREADYTESTWRWR信號信號寫讀選通信號,三態(tài),輸出,寫讀選通信號,三態(tài),輸出,低電平有效低電平有效,允許,允許CPU寫存寫存儲器(數(shù)儲器(數(shù)據(jù)從據(jù)從CPU到存儲器到存儲器)或或I/O端口。端口。用于區(qū)分用于區(qū)分CPU訪問存儲器訪問存儲器,還是訪問輸入還是訪問輸入/輸出輸出接口,接口,高選擇存儲器,低選擇高選擇存儲器,低選擇IO。M/IO(存儲器(存儲器/IO 選擇,輸出,三態(tài))選擇,輸出,三態(tài)) 28腳腳它常常與它常常與RD或或WR信號及信號及地址地址組合起來使用。組合起來使用

37、。M/IO WR操操 作作 CPU對存儲器進行寫操作對存儲器進行寫操作CPU對對I/O端口進行寫操作端口進行寫操作CPU對存儲器進行讀操作對存儲器進行讀操作CPU對對I/O端口進行讀操作端口進行讀操作10100011RD1100ALE(地址鎖存允許,輸出)(地址鎖存允許,輸出)25腳腳 高電平高電平有效。有效。此信號在一個總線周期的此信號在一個總線周期的T1周期,變?yōu)橛行?,將周期,變?yōu)橛行В瑢⒌刂返刂?數(shù)據(jù)線上的地址信號鎖存在數(shù)據(jù)線上的地址信號鎖存在地址鎖存器地址鎖存器中,中,從而從而分開數(shù)據(jù)和地址信號分開數(shù)據(jù)和地址信號。低電平低電平有效(有效(Data Enable)用于控制用于控制8086

38、外接的數(shù)據(jù)收發(fā)器,提高總線負載能力。外接的數(shù)據(jù)收發(fā)器,提高總線負載能力。為高電平時則禁止收發(fā)器傳送數(shù)據(jù)為高電平時則禁止收發(fā)器傳送數(shù)據(jù) 為低電平時開啟收發(fā)器為低電平時開啟收發(fā)器用于控制數(shù)據(jù)的傳送方向(用于控制數(shù)據(jù)的傳送方向(Data Transmit/Receive)信號為信號為高電平高電平時時8086輸出的數(shù)據(jù)經(jīng)收發(fā)器送到數(shù)據(jù)總線輸出的數(shù)據(jù)經(jīng)收發(fā)器送到數(shù)據(jù)總線信號為信號為低電平低電平時時收發(fā)器把數(shù)據(jù)總線上的數(shù)據(jù)傳送到收發(fā)器把數(shù)據(jù)總線上的數(shù)據(jù)傳送到80868086工作于工作于DMA方式時,方式時,以上兩信號為高阻狀態(tài)以上兩信號為高阻狀態(tài)DT/R(數(shù)據(jù)發(fā)送(數(shù)據(jù)發(fā)送/接收,輸出,三態(tài))接收,輸出,

39、三態(tài)) 27 腳腳DEN(數(shù)據(jù)允許輸出信號,輸出,三態(tài))(數(shù)據(jù)允許輸出信號,輸出,三態(tài)) 26腳腳HOLD(保持請求,輸入)(保持請求,輸入)高電平高電平有效有效 當系統(tǒng)中有其它的總線主設備需要獲得對總當系統(tǒng)中有其它的總線主設備需要獲得對總線的控制權時,便向線的控制權時,便向8086發(fā)出高電平有效的保持發(fā)出高電平有效的保持請求信號。請求信號。8086在每個時鐘在每個時鐘上升沿上升沿對對HOLD引腳引腳信號進行檢測,若發(fā)現(xiàn)信號進行檢測,若發(fā)現(xiàn)HOLD為為高電平高電平,則在當,則在當前總線周期結(jié)束時,予以響應。前總線周期結(jié)束時,予以響應。HLDA(保持響應,輸出)(保持響應,輸出)高電平高電平有效

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

41、總線擴展擴展電路電路 局部局部總線總線總線控制權轉(zhuǎn)讓的例子:總線控制權轉(zhuǎn)讓的例子:DMA控制器使用總線控制器使用總線 DMA的概念的概念:Direct Memory Access 由由DMA控制器控制控制器控制I/O設備與存儲器之間的數(shù)據(jù)設備與存儲器之間的數(shù)據(jù)傳輸,此時傳輸,此時CPU可以做別的不使用總線的工作??梢宰鰟e的不使用總線的工作。(4)(4)“最大模式最大模式”時系統(tǒng)的控制和狀態(tài)線時系統(tǒng)的控制和狀態(tài)線QS1和和QS0指令隊列狀態(tài)信號指令隊列狀態(tài)信號(輸出輸出) (Instruction Queue Status) 這兩個信號組合起來提供了這兩個信號組合起來提供了8086內(nèi)部內(nèi)部指令隊

42、列的狀態(tài),以便外部對其動作進行指令隊列的狀態(tài),以便外部對其動作進行跟蹤。跟蹤。 空操作空操作 取走指令的一個字節(jié)取走指令的一個字節(jié) 隊列空隊列空 取出的字節(jié)是指令的后續(xù)字節(jié)取出的字節(jié)是指令的后續(xù)字節(jié)隊列操作隊列操作QS1QS000110101 這三個狀態(tài)信號組成的編碼表示了當前總線這三個狀態(tài)信號組成的編碼表示了當前總線周期是何種操作周期。周期是何種操作周期。S2S1S0總線周期總線周期01010101發(fā)中斷響應信號發(fā)中斷響應信號讀讀I/O端口端口寫寫I/O端口端口暫停暫停取指令取指令讀存儲器讀存儲器寫存儲器寫存儲器無源狀態(tài)無源狀態(tài)0011001100001111S2、S1、S0總線周期狀態(tài)信號

43、總線周期狀態(tài)信號S2、S1、S0總線周期狀態(tài)信號總線周期狀態(tài)信號RQ/GT1和和RQ/GT0總線請求信號總線請求信號 (Request/Grant)(總線請求信號輸入(總線請求信號輸入/總線請求允許信號輸出)總線請求允許信號輸出)輸入時輸入時:指其他主控者向本:指其他主控者向本CPU請求使用總線。請求使用總線。 輸出時輸出時:表示本:表示本CPU對總線請求的響應信號。對總線請求的響應信號。請求輸入和響應輸出在同一引腳上傳遞。請求輸入和響應輸出在同一引腳上傳遞。RQ/GT0的優(yōu)先級高于的優(yōu)先級高于RQ/GT1 。LOCK總線封鎖信號(總線封鎖信號(輸出,三態(tài),低電平有效輸出,三態(tài),低電平有效)

44、當此信號有效時,當此信號有效時,CPU不允許其它主部不允許其它主部件占有總線。件占有總線。 可通過指令實現(xiàn)總線鎖定??赏ㄟ^指令實現(xiàn)總線鎖定。 另外,在另外,在8086的的兩個中斷響應脈沖兩個中斷響應脈沖之間之間(INTA),),LOCK信號信號自動變?yōu)橛行щ娖阶詣幼優(yōu)橛行щ娖?,以使在中斷響應過程不被間斷。以使在中斷響應過程不被間斷。存儲器的組織存儲器的組織n存儲器地址的分段存儲器地址的分段n物理地址的形成物理地址的形成(1)(1)存儲器地址的分段存儲器地址的分段數(shù)據(jù)段數(shù)據(jù)段Offset=0 x0000H64KBOffset = 0 xFFFFH存儲器存儲器地址空間地址空間150 xFFFFFH

45、0IPCSDSSSES0 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 分段的原因分段的原因 8086寄存器只有寄存器只有16位,只能尋址位,只能尋址64KB。為。為了實現(xiàn)對了實現(xiàn)對1M字節(jié)存儲空間進行管理,字節(jié)存儲空間進行管理,8086采用采用了分段的方法。了分段的方法。 存儲器的段與段之間可以相存儲器的段與段之間可以相互重疊?;ブ丿B。 段的排列段的排列0

46、 xFFFFFH0 x00000HD段C段E段B段A段物理地址高地址高地址代碼段代碼段存儲器存儲器低地址低地址CSCSDSDSSSSSESES代碼段寄存器代碼段寄存器數(shù)據(jù)段寄存器數(shù)據(jù)段寄存器堆棧段寄存器堆棧段寄存器附加段寄存器附加段寄存器附加段附加段堆棧段堆棧段數(shù)據(jù)段數(shù)據(jù)段圖中數(shù)據(jù)段與堆棧段是重疊的。圖中數(shù)據(jù)段與堆棧段是重疊的。 段的產(chǎn)生段的產(chǎn)生 下圖是下圖是4 4個段寄存器分別指示著存儲器中個段寄存器分別指示著存儲器中4 4個當前段個當前段的例子。的例子。 CS、DS、SS、ES 給出給出4個當前可尋址段的基址。個當前可尋址段的基址。 (2)(2)物理地址的形成物理地址的形成物理地址物理地址

47、物理地址物理地址就是在就是在1M1M字節(jié)的地址空間中的每一位存字節(jié)的地址空間中的每一位存儲單元,用一個唯一的儲單元,用一個唯一的2020位二進制數(shù)所表示的地位二進制數(shù)所表示的地址。址。物理地址物理地址的范圍從十六進制的的范圍從十六進制的00000H到到FFFFFH。CPU在與存儲器進行數(shù)據(jù)交換時使用在與存儲器進行數(shù)據(jù)交換時使用物理地址物理地址?;泛推频刂返姆秶际菑幕泛推频刂返姆秶际菑?000H到到FFFFH。 邏輯地址邏輯地址邏輯地址邏輯地址由兩部分組成,即由兩部分組成,即段的基址段的基址和和偏移地址偏移地址,分別用分別用16位來表示,其中偏移地址是存儲單元所位來表示,其中偏移地址是存儲單元所在的位置到段基址的距離。在的位置到段基址的距離。在程序中使用邏輯地址,而不是物理地址。在程序中使用邏輯地址,而不是物理地址。16位地址偏移量位地址偏移量000016位段寄存器中的段基址位段寄存器中的段基址+2

溫馨提示

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

評論

0/150

提交評論