《微機(jī)原理第2章戴小文》由會員分享,可在線閱讀,更多相關(guān)《微機(jī)原理第2章戴小文(43頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、單擊此處編輯母版文本樣式,第二級,第三級,第四級,第五級,*,單擊此處編輯母版標(biāo)題樣式,第,2,章,8086,微處理器及其系統(tǒng)結(jié)構(gòu),戴小文,郵箱:,,1,3,2,8086,微處理器,8086,的時鐘和總線周期,8086,系統(tǒng)的存儲器管理,內(nèi)容,2,1,),取指令,:,1,、,CPU,解釋一條指令的步驟,一、指令和程序的解釋,步驟和方式,2,),執(zhí)行指令,:,圖,2-1,指令存放示意圖,.,指令碼,1,指令碼,2,指令碼,n,內(nèi)存,完成指令規(guī)定的操作。如,取數(shù)據(jù)、執(zhí)行運(yùn)算或控制、回送結(jié)果等。,從內(nèi)存單元取出指令,第一節(jié),8086,微處理器,3,順序解釋方式:,一條指令的兩個階段執(zhí)行完后,才開始執(zhí)
2、行下一條指令。,2,、,CPU,解釋一條指令的方式,重疊解釋方式:,前一條指令的執(zhí)行和后一條指令的取指同步完成。相鄰兩條指令的解釋在時間上有部分重疊。,第一節(jié),8086,微處理器,4,取指,1,執(zhí)行,1,取指,2,執(zhí)行,2,取指,3,執(zhí)行,3,取指,4,執(zhí)行,4,順序解釋,重疊解釋,取指,1,執(zhí)行,1,取指,2,執(zhí),行,2,取指,3,執(zhí)行,3,取指,4,執(zhí)行,4,時 間,圖,2-2,指令和程序的解釋方式,二、,8086,微處理器內(nèi)部結(jié)構(gòu)及工作原理,1,、內(nèi)部結(jié)構(gòu):,第一節(jié),8086,微處理器,5,圖,2,3 8086 CPU,內(nèi)部結(jié)構(gòu)圖,執(zhí)行單元,EU,總線接口單元,BIU,通用寄存器,AH
3、AL,BH BL,CH CL,DH DL,SP,BP,DI,SI,總線控制邏輯,8086,總線,指令隊列緩沖器,EU,控制系統(tǒng),ALU,FLAGS,暫存寄存器,AB,(,20,位),ALU,數(shù)據(jù)總線 (,16,位),AX,BX,CX,DX,地址形成器,1,2,3,4,5,6,Q,總線,(,8,位),DB,(,16,位),段寄存器,CS,DS,SS,ES,IP,內(nèi)部通信,寄存器,第一節(jié),8086,微處理器,6,從功能上,,8086CPU,可分為兩大部分:執(zhí)行部件,EU,和總線接口部件,BIU,。,執(zhí)行部件,EU,:,組成:,EU,控制系統(tǒng)、通用寄存器、算術(shù)邏輯單元,ALU,、標(biāo)志寄存器,FR,、
4、,功能:,從指令隊列緩沖器中取出預(yù)先存入的指令代碼,將其譯碼并執(zhí)行,完成指令規(guī)定的操作。包括,算術(shù)邏輯運(yùn)算、有效地址的計算、寄存器和指令操作數(shù)的管理。,第一節(jié),8086,微處理器,7,功能:,實(shí)現(xiàn),8086CPU,與存儲器和外部設(shè)備之間的信息傳送。,總線接口部件,BIU,:,形成指定內(nèi)存單元或,I/O,端口的,物理地址,從指定內(nèi)存區(qū)域或,I/O,端口讀取指令所需要的,操作數(shù),從內(nèi)存指定區(qū)域取出,指令,送到指令隊列緩沖器,將指令執(zhí)行,結(jié)果,送入內(nèi)存或,I/O,端口指定位置,組成:,段寄存器、指令指針,IP,、地址形成器、總線控制邏輯、指令隊列緩沖器,第一節(jié),8086,微處理器,8,指令隊列緩沖器
5、:,FIFO,存儲器,是實(shí)現(xiàn)重疊解釋的關(guān)鍵部件。,隊列緩沖器中只要有兩個字節(jié)為空,,BIU,便自動執(zhí)行取指操作,相鄰單元的指令字節(jié)取入緩沖器,直到緩沖器滿為止。,緩沖器中只要有一條指令,,EU,就開始執(zhí)行。,注意:,一般情況下,程序順序執(zhí)行,當(dāng),EU,執(zhí)行到跳轉(zhuǎn)指令時,,BIU,就使指令隊列清零,然后從新地址取出指令重新填入隊列緩沖器。,2,、工作原理,EU,和,BIU,并行工作,實(shí)現(xiàn)指令的重疊解釋,8086,指令重疊解釋方式的實(shí)現(xiàn)過程:,第一節(jié),8086,微處理器,9,三、,8086,的內(nèi)部寄存器,AX,累加器,BX,基 址,CX,計 數(shù),DX,數(shù) 據(jù),數(shù) 據(jù),寄存器,堆棧指針,基址指針,源
6、變址,目的變址,指針,寄存器,變址,寄存器,狀態(tài)標(biāo)志,指令指針,控制,寄存器,代碼段,數(shù)據(jù)段,堆棧段,附加數(shù)據(jù)段,段寄存器,通用,寄存器,AH AL,BH BL,CH CL,DH DL,SP,BP,SI,DI,FLAGS,IP,CS,DS,SS,ES,15 8 7 0,圖,2,4,8086/8088,內(nèi)部寄存器,大多數(shù)算術(shù)和邏輯運(yùn)算指令都可以使用,注意:用戶程序不能直接訪問,IP,位于,EU,中,位于,BIU,中,10,8086,的內(nèi)部寄存器,AX,累加器,BX,基 址,CX,計 數(shù),DX,數(shù) 據(jù),數(shù) 據(jù),寄存器,堆棧指針,基址指針,源變址,目的變址,指針,寄存器,變址,寄存器,狀態(tài)標(biāo)志,指令
7、指針,控制,寄存器,代碼段,數(shù)據(jù)段,堆棧段,附加數(shù)據(jù)段,段寄存器,通用,寄存器,AH AL,BH BL,CH CL,DH DL,SP,BP,SI,DI,FLAGS,IP,CS,DS,SS,ES,15 8 7 0,圖,2,4,8086/8088,內(nèi)部寄存器,大多數(shù)算術(shù)和邏輯運(yùn)算指令都可以使用,注意:用戶程序不能直接訪問,IP,位于,EU,中,位于,BIU,中,11,標(biāo)志寄存器,FlAGS,:,控制標(biāo)志,狀態(tài)標(biāo)志,D,15,D,7,D,0,OF,DF,IF,TF,SF,ZF,AF,PF,CF,CF,:進(jìn)位標(biāo)志位,進(jìn)行加法或減法時,若最高位發(fā)生進(jìn)位或借位則,CF,1,,否則,CF,0,PF,:奇偶標(biāo)
8、志位,邏輯運(yùn)算結(jié)果中“,1”,的個數(shù)為偶數(shù)時,PF,1,,否則,PF,0,8086,的內(nèi)部寄存器,12,TF,:跟蹤標(biāo)志位,TF,1,使,CPU,處于單步執(zhí)行指令的工作方式。,DF,:方向標(biāo)志,用于控制串操作指令執(zhí)行時的步進(jìn)方向,該位為“,1”,,則串操作指令按地址遞減的順序?qū)ΥM(jìn)行操作,否則按地址遞增的順序進(jìn)行操作。,IF,:中斷允許標(biāo)志位,IF,1,使,CPU,可以響應(yīng)可屏蔽中斷請求。,IF,0,使,CPU,禁止響應(yīng)可屏蔽中斷請求。對不可屏蔽中斷及內(nèi)部中斷沒有影響。,8086,的內(nèi)部寄存器,13,OF,:溢出標(biāo)志位,當(dāng)帶符號數(shù)的算術(shù)運(yùn)算結(jié)果發(fā)生溢出時,OF,1,,否則,OF,0,AF,:輔
9、助進(jìn)位位,在字節(jié)操作由低半字節(jié)向高半字節(jié)有進(jìn)位或借位;或在字操作時,由低字節(jié)向高字節(jié)有進(jìn)位或借位時,AF,1,,否則,AF,0,ZF,:零標(biāo)志位,當(dāng)運(yùn)算結(jié)果為零時,ZF,1,,否則,ZF,0,F,:符號標(biāo)志位,當(dāng)運(yùn)算結(jié)果的最高位為,1,時,SF,1,,否則,SF,0,8086,的內(nèi)部寄存器,14,8086,復(fù)位后各寄存器的狀態(tài):,寄存器,值,寄存器,值,FLAGS,0000H,DS,0000H,IP,0000H,ES,0000H,指令隊列,空,SS,0000H,CS,FFFFH,其余寄存器,0000H,8086,復(fù)位后執(zhí)行的第一條指令的邏輯地址為,FFFF:0000H,8086,的內(nèi)部寄存器,
10、15,地址數(shù)據(jù)總線,四、,8086,的引腳信號,GND,AD,14,AD,13,AD,12,AD,11,AD,10,AD,9,AD,8,AD,7,AD,6,AD,5,AD,4,AD,3,AD,2,AD,1,AD,0,NMI,INTR,CLK,GND,1 40,2 39,3 38,4 37,5 36,6 35,7 34,8 33,9 32,10 31,11 30,12 29,13 28,14 27,15 26,16 25,17 24,18 23,19 22,20 21,Vcc,AD,15,A,16,/S,3,A,17,/S,4,A,18,/S,5,A,19,/S,6,BHE/S,7,MN/MX,
11、RD,HOLD(RQ/GT,0,),HLDA(RQ/GT,1,),WR(LOCK),M/IO(S,2,),DT/R(S,1,),DEN(S,0,),ALE(QS,0,),INTA(QS,1,),TEST,READY,RESET,8086,CPU,圖,2,4 8086,引腳,A,19,A,16,/S,6,S,3,:,地址狀態(tài)分時復(fù)用總線。高,4,位地址 和,CPU,的狀態(tài)信息分時復(fù)用,AD,15,-AD,0,:,地址,/,數(shù)據(jù)分時復(fù)用總線,,16,位雙向三態(tài)總線。,BHE/S,7,:,數(shù)據(jù)高允許狀態(tài)分時復(fù)用信號,輸出,與地址總線的最低位,AD,0,配合,16,ALE:,為地址鎖存允許信號(輸出)
12、,INTR:,可屏蔽中斷請求信號,(,輸入,),MN/MX,:,最小最大方式控制線,(,輸入,),M/IO,:,為存儲器,I/O,控制信號,(,輸出,三態(tài),),INTA:,為中斷響應(yīng)信號(輸出,三態(tài)),RESET,:,復(fù)位請求,輸入有效時,使,CPU,回到初始態(tài)。,控制總線,RD:,讀控制信號,(,輸出,),WR,:,寫控制信號,(,輸出,),四、,8086,的引腳信號,17,最大方式:,MN/MX,接地。,8086,和專用的總線控制器,共同提供系統(tǒng)所需的,總線控制信號,。,注:最小方式,常用于構(gòu)成,小規(guī)模,的應(yīng)用系統(tǒng)。如單處理機(jī)系統(tǒng)。,最大方式,常用于構(gòu)成,較大規(guī)模,的應(yīng)用系統(tǒng),如帶數(shù)值運(yùn)算
13、協(xié)處理器,8087,或帶,I/O,協(xié)處理器,8089,的多處理機(jī)系統(tǒng)。,五、,8086,的工作方式,最小方式:,MN/MX,接高電平。,8086,處理器,提供系統(tǒng)所需的全部,總線控制信號,。,18,六、,8086,系統(tǒng)的基本配置,系統(tǒng)所需的控制信號都直接由,8086,產(chǎn)生。,所謂系統(tǒng)的基本配置,指的是如何利用,8086,的引腳信號形成系統(tǒng)三總線。,1.,最小方式下的基本配置,8086 CPU,、存儲器、,I/O,接口電路,時鐘發(fā)生器、地址鎖存器、數(shù)據(jù)收發(fā)器。,19,圖,2,5 8086,最小方式下的基本配置,時 鐘,發(fā)生器,CLK,READY,RESET,MN/MX,RD,WR,M/IO,AL
14、E,BHE,A,19,A,16,AD,15,AD,0,地 址,鎖存器,總 線,收發(fā)器,DEN,DT/R,存儲器,I/O,接,口,V,CC,8086 CPU,數(shù)據(jù)總線,地址總線,控制總線,BHE,INTA,INTR,六、,8086,系統(tǒng)的基本配置,20,ALE:,為地址鎖存允許信號(輸出),INTR:,可屏蔽中斷請求信號,(,輸入,),MN/MX:,最小最大方式控制線,(,輸入,),M/IO:,為存儲器,I/O,控制信號,(,輸出,三態(tài),),INTA:,為中斷響應(yīng)信號(輸出,三態(tài)),RESET,:,復(fù)位請求,輸入有效時,使,CPU,回到初始態(tài)。,控制總線,RD:,讀控制信號,(,輸出,),WR:
15、,寫控制信號,(,輸出,),21,總線收發(fā)器的作用:,用來對,AD,15,AD,0,上的數(shù)據(jù)進(jìn)行緩沖和驅(qū)動,形成,16,位,系統(tǒng)數(shù)據(jù)總線,,并,控制數(shù)據(jù)傳送的方向,。,地址鎖存器的作用:,用于鎖存地址數(shù)據(jù)總線(,AD,15,AD,0,),和地址,/,狀態(tài)總線(,A,19,A,16,/S,6,S,3,),中的地址信息以及,信息,形成,20,位系統(tǒng)地址總線,。,BHE,2.,最大方式下的基本配置,許多總線控制信號都通過總線控制器,8288,產(chǎn)生。,比最小方式的基本配置多加了一片,8288,總線控制器。,22,時 鐘,發(fā)生器,CLK,READY,RESET,MN/MX,S,0,S,1,S,2,BHE
16、,A,19,A,16,AD,15,AD,0,地址,鎖存器,總線,收發(fā)器,存儲器,I/O,接口,GND,8086 CPU,數(shù)據(jù)總線,地址總線,8288,總 線,控制器,S,0,S,2,S,1,INTA,MRDC,MWTC,IORC,IOWC,DEN,DT/R,ALE,BHE,控制總線,圖,2,6 8086,最大方式下的基本配置,23,一、存儲器的分段管理,第二節(jié),8086,系統(tǒng)的存儲器管理,8086,微處理器內(nèi)部數(shù)據(jù)通路和寄存器都是,16,位的,內(nèi)部的,ALU,也只能進(jìn)行,16,位數(shù)據(jù)的計算,尋址的訪問為:,2,的,16,次方,=64K,字節(jié)。為了能尋址,1M,字節(jié)地址,必須對內(nèi)存實(shí)行分段管理。,24,2,、分段管理的必要性,8086,內(nèi)部地址寄存器為,16,位;,尋址范圍:,2,16,=64KB,無法訪問,1MB,(,20,位地址)的內(nèi)存,因此,8086,對,1MB,的內(nèi)存采用分段管理。,3,、分段方法,根據(jù)功能,將,1M,字節(jié)的存儲空間分為代碼段、堆棧段、數(shù)據(jù)段和附加段。,2,)每個段最多,2,16,=64KB,個單元;,1,)每個段由地址連續(xù)的若干單元構(gòu)成;,每條指令能夠給出最多,