微型計算機原理及其應(yīng)用16位80868088微處理器
單擊此處編輯母版標題樣式,,單擊此處編輯母版文本樣式,,第二級,,第三級,,第四級,,第五級,,*,*,微型計算機原理及其應(yīng)用,,——,16,位,8086/8088,微處理器,1,,第二章:,8086/8088,微處理器,微處理器的結(jié)構(gòu),,微處理器的內(nèi)部寄存器,,微處理器的引腳功能,,微處理器的存儲器組織,,最大模式和最小模式,,微處理器的時序,2,,第二章:,8086/8088,微處理器,微處理器的結(jié)構(gòu),,微處理器的內(nèi)部寄存器,,微處理器的引腳功能,,微處理器的存儲器組織,,最大模式和最小模式,,微處理器的時序,3,,8086/8088,微處理器,——,微處理器的結(jié)構(gòu),8086/8088,微處理器是,Intel,公司推出的第三代,CPU,芯片,它們的內(nèi)部結(jié)構(gòu)基本相同,,8088,是準,16,位微處理器,地址總線,16,根,而,8086,是,20,根。,4,,8086/8088,微處理器,——,微處理器的結(jié)構(gòu),8086/8088,微處理器的編程結(jié)構(gòu),,編程結(jié)構(gòu):,是指從程序員和使用者的角度看到的結(jié)構(gòu),亦可稱為功能結(jié)構(gòu)。從功能上來看,,8086CPU,可分為兩部分,即,總線接口部件,BIU,(,Bus Interface Unit,)和,執(zhí)行部件,EU,(,Execution Unit,)。,,,,,,,,,,,,,5,,8086/8088,微處理器,——,微處理器的結(jié)構(gòu),8086/8088,微處理器的組成,,總線接口部件(,BIU,),,組成:,①,段寄存器,(DS,、,CS,、,ES,、,SS),; ②,16,位指令指針寄存器,IP,; ③,20,位地址加法器; ④,6,字節(jié)指令隊列緩沖器; ⑤總線控制邏輯。,,功能:,負責(zé)從內(nèi)存中,取指令,,送入指令隊列,實現(xiàn),CPU,與存儲器和,I/O,接口之間的數(shù)據(jù)傳送。,6,,8086/8088,微處理器,——,微處理器的結(jié)構(gòu),8086/8088,微處理器的組成,,執(zhí)行部件(,EU,),,組成:,①,ALU(,算術(shù)邏輯部件(單元),),; ②通用寄存器,(AX,、,BX,、,CX,、,DX),; ③專用寄存器,(BP,、,SP,、,SI,、,DI),; ④標志寄存器,(FR),; ⑤,EU,控制系統(tǒng)(控制電路)。,,功能:,負責(zé),分析指令,和,執(zhí)行指令,。,7,,8086/8088,微處理器,——,微處理器的結(jié)構(gòu),BIU,和,EU,的動作協(xié)調(diào)原則,,按以下流水線技術(shù)原則協(xié)調(diào)工作完成所要求的任務(wù):,,①每當(dāng)指令隊列中有兩個空字節(jié),,BIU,就會自動把指令取到指令隊列中,按指令在程序中的前后順序。,,②每當(dāng),EU,準備執(zhí)行一條指令時,它會從,BIU,部件的指令隊列前部取出指令的代碼,譯碼并執(zhí)行指令。在此過程中,如果需要訪問存儲器或,I,/,O,端口,那么,EU,就會請求,BIU,,進入總線周期:,1,)如果此時,BIU,正好處于空閑狀態(tài),會立即響應(yīng),EU,的總線請求;,2,)而如果,BIU,正將某個指令字節(jié)取到指令隊列中,則,BIU,將首先完成這個取指令的總線周期,然后再去響應(yīng),EU,發(fā)出的訪問總線的請求。,8,,8086/8088,微處理器,——,微處理器的結(jié)構(gòu),BIU,和,EU,的動作協(xié)調(diào)原則,,,③當(dāng)指令隊列已滿,且,EU,又沒有總線訪問請求時,,BIU,便進入空閑狀態(tài)。,,④在執(zhí)行轉(zhuǎn)移指令、調(diào)用指令和返回指令時,由于待執(zhí)行指令的順序發(fā)生了變化,則指令隊列中已經(jīng)裝入的字節(jié)被自動消除,,BIU,會接著往指令隊列裝入轉(zhuǎn)向的另一程序段中的指令代碼。,9,,8086/8088,微處理器,-,微處理器的結(jié)構(gòu),將,8086/8088,的,CPU,分成二個獨立的功能部件使二者能夠并行工作,把取指令工作和分析指令、執(zhí)行指令工作重疊進行,從而能夠提高,CPU,的工作效率,加快指令的執(zhí)行速度。,,指令隊列可以被看成是一個特殊的,RAM,,它的工作原理是,“,先進先出,”,,寫入的指令只能存放在隊列尾,讀出的指令是隊列頭存放的指令。,,EU,和,BIU,之間就是通過指令隊列聯(lián)系起來,多數(shù)情況下,,BIU,在不停地向隊列寫入指令,而,EU,每執(zhí)行完一條指令后,就向隊列讀取下一條指令。二者的動作既獨立又相互協(xié)調(diào)。,,10,,8086/8088,微處理器,-,微處理器的結(jié)構(gòu),11,,第二章:,8086/8088,微處理器,微處理器的結(jié)構(gòu),,微處理器的內(nèi)部寄存器,,微處理器的引腳功能,,微處理器的存儲器組織,,最大模式和最小模式,,微處理器的時序,12,,8086/8088,微處理器,——,微處理器的內(nèi)部寄存器,8086/,8088,內(nèi)部的寄存器可以分為通用寄存器和專用寄存器兩大類。,,一,.,通用寄存器,,8086/,8088,有,4,個,16,位的通用寄存器(,AX,、,BX,、,CX,、,DX,),可以存放,16,位的操作數(shù),也可分為,8,個,8,位的寄存器(,AL,、,AH,;,BL,、,BH,;,CL,、,CH,;,DL,、,DH,)來使用。其中,AX,稱為累加器,,BX,稱為基址寄存器,,CX,稱為計數(shù)寄存器,,DX,稱為數(shù)據(jù)寄存器,這些寄存器在具體使用上有一定的差別,。,13,,8086/8088,微處理器,——,微處理器的內(nèi)部寄存器,寄存器,用 途,AX,字乘法,/,除法,字,I/O,地址,AL,字節(jié)乘,/,除,字節(jié),I/O,地址,十進制算術(shù)運算,AH,字節(jié)乘,字節(jié)除,BX,轉(zhuǎn)移,CX,串操作,循環(huán)次數(shù),CL,變量移位,循環(huán)控制,DX,字節(jié)乘,字節(jié)除,間接,I/O,14,,8086/8088,微處理器,——,微處理器的內(nèi)部寄存器,二,.,指針寄存器,,兩個16位的指針寄存器SP和BP,其中SP是堆棧指針寄存器,由它和堆棧段寄存器SS一起來確定堆棧在內(nèi)存中的位置; BP是基數(shù)指針寄存器,通常用于存放基地址。,,三,.,變址寄存器,,系統(tǒng)中有兩個16位的變址寄存器SI和DI,其中SI是源變址寄存器,DI是目的變址寄存器,都用于指令的變址尋址方式。,,15,,8086/8088,微處理器,——,微處理器的內(nèi)部寄存器,,16,,8086/8088,微處理器,——,微處理器的內(nèi)部寄存器,四,.,控制寄存器,,兩個16位控制寄存器,其中IP是指令指針寄存器,用來控制CPU的指令執(zhí)行順序,和代碼段寄存器CS一起確定當(dāng)前所要取的指令的內(nèi)存地址。每取一個指令字節(jié),IP自動加1,指向下一個要讀取的字節(jié);,,當(dāng)IP單獨改變時,會發(fā)生段內(nèi)的程序轉(zhuǎn)移;,,當(dāng)CS和IP同時改變時,會產(chǎn)生段間的程序轉(zhuǎn)移。,,,標志寄存器FR的內(nèi)容被稱為處理器狀態(tài)字,用來存放 CPU在工作過程中的狀態(tài)。,17,,8086/8088,微處理器,——,微處理器的內(nèi)部寄存器,五,.,段寄存器,,共有,4,個,16,位段寄存器,即代碼段寄存器,CS,、數(shù)據(jù)段寄存器,DS,、堆棧段寄存器,SS,和附加段寄存器,ES,。這些段寄存器的內(nèi)容與有效的地址偏移量一起,可確定內(nèi)存的物理地址。由,CS,劃定并控制程序區(qū),,DS,和,ES,控制數(shù)據(jù)區(qū),,SS,控制堆棧區(qū)。,,18,,8086/8088,微處理器,——,微處理器的內(nèi)部寄存器,8086/,8088,內(nèi)部標志寄存器的內(nèi)容,又稱為,處理器狀態(tài)字(PSW,,P,rocessor,S,tatus,W,ord),,,,共有9個標志位,。,可分成兩類:一類為狀態(tài)標志,一類為控制標志。,,其中狀態(tài)標志表示前一步操作(如加、減等)執(zhí)行以后,,ALU所處的狀態(tài),后續(xù)操作可以根據(jù)這些狀態(tài)標志進行判斷,實現(xiàn)轉(zhuǎn)移;,,控制標志則可以通過指令人為設(shè)置,用以對某一種特定的功能起控制作用(如中斷屏蔽等),反映了人們對微機系統(tǒng)工作方式的可控制性,。,19,,8086/8088,微處理器,——,微處理器的內(nèi)部寄存器,狀態(tài)標志位:,,CF—,進位標志位,做加法時最高位出現(xiàn)進位或做減法時最高位出現(xiàn)借位,該位置,1,,反之為,0,。,,PF—,奇偶標志位,當(dāng)運算結(jié)果的低,8,位中,l,的個數(shù)為偶數(shù)時,則該位置,1,,反之為,0,。,,AF—,半進位標志位,做字節(jié)加法時,當(dāng)?shù)退奈挥邢蚋咚奈坏倪M位,或在做減法時,低四位有向高四位的借位時,該標志位就置,1,。通常用于對,BCD,算術(shù)運算結(jié)果的調(diào)整,20,,8086/8088,微處理器,——,微處理器的內(nèi)部寄存器,ZF—,零標志位,運算結(jié)果為,0,時,該標志位置,1,,否則清,0,。,,SF—,符號標志位,當(dāng)運算結(jié)果的最高位為,1,,該標志位置,1,,否則清,0,。即與運算結(jié)果的最高位相同。,,OF—,溢出標志位,,反映運算結(jié)果是否超出了,8,位或,16,位帶符號數(shù)所能表達的范圍。,21,,8086/8088,微處理器,——,微處理器的內(nèi)部寄存器,控制標志位:,,TF—,陷阱標志位,(,單步標志位、跟蹤標志,),。當(dāng)該位置,1,時,將使,8086/8088,進入單步工作方式,通常用于程序的調(diào)試。,,IF—,中斷允許標志位,若該位置,1,,則處理器可以響應(yīng)可屏蔽中斷,否則就不能響應(yīng)可屏蔽中斷。,,DF—,方向標志位,若該位置,1,,則串操作指令的地址修改為自動減量方向,反之,為自動增量方向。,22,,第二章:,8086/8088,微處理器,微處理器的結(jié)構(gòu),,微處理器的內(nèi)部寄存器,,微處理器的引腳功能,,微處理器的存儲器組織,,最大模式和最小模式,,微處理器的時序,23,,8086/8088,微處理器,——,微處理器的引腳功能,8086/8088,引腳結(jié)構(gòu)圖,24,,8086/8088,微處理器,——,微處理器的引腳功能,V,CC,(40),、,GND(1,、,20),:,電源、接地引腳,,8088/8086,采用單一的,+5V,電源,兩個接地引腳。,,CLK/(Clock,,,19),:,時鐘信號輸入引腳,時鐘信號的方波信號,占空比約為,33%,,即,1/3,周期為高電平,,2/3,周期為低電平,,8088/8088,的時鐘頻率(又稱為主頻)為,5MHz,,即從該引腳輸入的時鐘信號的頻率為,5MHz,。,,R,ESET,(Reset,,,21,),:,復(fù)位信號輸入引腳,高電平有效。,8088/8086,要求復(fù)位信號至少維持,4,個時鐘周期才能復(fù)位。復(fù)位之后,,CPU,結(jié)束當(dāng)前操作,并對處理器的標志寄存器、,IP,、,DS,、,SS,、,ES,寄存器及指令隊列進行清零操作,并將,CS,設(shè)置為,0FFFFH,。,25,,8086/8088,微處理器,——,微處理器的引腳功能,READY(Ready,,,22),:,“,準備好”狀態(tài)信號輸入引腳,高電平有效接收來自于內(nèi)存單元或,I/O,端口向,CPU,發(fā)來的“準備好”狀態(tài)信號,表明內(nèi)存單元或,I/O,端口已經(jīng)準備好進行讀寫操作。該信號是協(xié)調(diào),CPU,與內(nèi)存單元或,I/O,端口之間進行信息傳送的聯(lián)絡(luò)信號。,,TEST,(Test,,,23),:,測試信號輸入引腳,低電平有效,。,TEST,信號與,WAIT,指令結(jié)合起來使用,,CPU,執(zhí)行,WAIT,指令后,處于等待狀態(tài),當(dāng),TEST,引腳輸入低電平后系統(tǒng)脫離等待狀態(tài),繼續(xù)執(zhí)行被暫停執(zhí)行的指令。,,RD(Read,,,32,,三態(tài),),:,讀控制輸出信號引腳,低電平有效,用以指明要執(zhí)行對內(nèi)存單元或,I/O,端口的讀操作,具體是讀內(nèi)存單元還是,I/O,端口,取決于控制信號。,26,,8086/8088,微處理器,——,微處理器的引腳功能,CPU,部分引腳的三態(tài)性,,所謂三態(tài)是指總線輸出可以有三個狀態(tài):高電平、低電平和高阻狀態(tài)。當(dāng)處于高阻狀態(tài)時,該總線在邏輯上與所有連接負載斷開。,27,,8086/8088,微處理器,——,微處理器的引腳功能,NMI(Non-Maskable,Interrupt,,,17,),、,INTR(Interrupt,Request,,,18,),:,中斷請求信號輸入引腳,向,CPU,提出的中斷請求信號,高電平有效,前者為非屏蔽中斷請求,后者為可屏蔽中斷請求信號。,,AD,15,—AD,0,(Address Data Bus,,,2—16,,三態(tài),),:,地址,/,數(shù)據(jù)復(fù)用信號輸入,/,輸出引腳,分時輸出 低,16,位地址信號及進行數(shù)據(jù)信號的輸入,/,輸出。,,A,19,/S,6,—A,16,/S,3,(Address Status Bus,,,35—38,,三態(tài),),:,地址,/,狀態(tài)復(fù)用信號輸出引腳,分時輸出地址的高,4,位及狀態(tài)信息,其中,S,6,為,0,用以指示,8086/8088CPU,當(dāng)前與總線連通;,S,5,為,1,表明,8086/8088CPU,可以響應(yīng)可屏蔽中斷;,S,4,、,S,3,共有四個組合狀態(tài),用以指明當(dāng)前使用的段寄存器,,00—ES,,,01—SS,,,10—CS,,,11—DS,。,28,,8086/8088,微處理器,——,微處理器的引腳功能,BHE/ S,7,,(Bus High Enable/Status,,,34),:,高,8,位數(shù)據(jù)允許,/,狀態(tài)復(fù)用信號輸出引腳,輸出。分時輸出有效信號,表示高,8,為數(shù)據(jù)線,D,15,—D,8,上的數(shù)據(jù)有效和,S,7,,狀態(tài)信號,但,S,7,未定義任何實際意義。,,,8086/8088,總線分時復(fù)用含義和特點,,所謂總線分時復(fù)用就是同一總線在不同時間傳輸?shù)氖遣煌男盘?,這些信號的作用是不同的。,8086/8088,采用總線分時復(fù)用方法在不影響,CPU,功能的情況下,減少了,CPU,的引腳數(shù)目,使系統(tǒng)得到簡化。,29,,8086/8088,微處理器,——,微處理器的引腳功能,SS,0,(34,,,8088,中,),:,在,8088,系統(tǒng)中,該引腳用來與,DT/R,、,M/IO,一起決定,8088,芯片當(dāng)前總線周期的讀寫操作。,30,,8086/8088,微處理器,——,微處理器的引腳功能,,,,MN/,MX(Minimum,/Maximum Model Control,,,33),:,最小,/,最大模式設(shè)置信號輸入引腳,該輸入引腳電平的高、低決定了,CPU,工作在最小模式還是最大模式,當(dāng)該引腳接,+5V,時,,CPU,工作于最小模式下,當(dāng)該引腳接地時,,CPU,工作于最大模式下。,,,31,,8086/8088,微處理器,——,微處理器的引腳功能,,,,最小模式下的,24,到,31,引腳,,INTA(Interrupt,Acknowledge,,,24,,三態(tài),),:,中斷響應(yīng)信號,低電平有效。當(dāng),CPU,響應(yīng)中斷請求后,向中斷源發(fā)出的認可信號,運行中斷請求(脈沖,1,),并要求提供中斷類型碼(脈沖,2,),發(fā)出兩個連續(xù)的負脈沖。,,,ALE(Address,Lock Enable,,,25,),:,地址鎖存允許信號,,高電平有效。通過該引腳向地址鎖存器發(fā)出地址鎖存允許信號,表示當(dāng)前地址,/,數(shù)據(jù)復(fù)用總線上輸出的是地址信息,并鎖存到地址鎖存器中。該信號不能被浮空。,,DEN(Data,Enable,,,26,,三態(tài),),:,數(shù)據(jù)允許信號,輸出引腳,低電平有效。為數(shù)據(jù)總線收發(fā)器,8286,提供一個控制信號,表示,CPU,當(dāng)前準備發(fā)送或接收一項數(shù)據(jù)。,32,,8086/8088,微處理器,——,微處理器的引腳功能,,,,DT/,R(,Data,Transmit/Receive,,,27,,三態(tài),),:,數(shù)據(jù)收發(fā)控制信號,輸出引腳,。,CPU,通過該引腳控制數(shù)據(jù)總線收發(fā)器的數(shù)據(jù)傳送方向,如果該信號為高電平時,表示數(shù)據(jù)由,CPU,經(jīng)總線收發(fā)器發(fā)送,否則進行數(shù)據(jù)接收。,,M/,IO(Memory,/Input &Output,,,28,,三態(tài),),:,,存儲器或,I/O,端口選擇信號,輸出引腳。這是,CPU,區(qū)分進行存儲器訪問還是,I/O,訪問的輸出控制信號,如為高電平,表示,CPU,和存儲器之間進行數(shù)據(jù)傳輸;如為低電平,則表示和,I/O,端口之間進行數(shù)據(jù)傳輸。,33,,8086/8088,微處理器,——,微處理器的引腳功能,,,,WR,,(Write,,,29,,三態(tài),),:,寫控制信號,輸出引腳,,,低電平有效。與,M/IO,配合實現(xiàn)對存儲單元、,I/O,端口所進行的寫操作控制。,,HOLD(Hold,Request,,,31),:,總線保持請求信號輸入引腳,高電平有效。這是系統(tǒng)中的其它總線部件向,CPU,發(fā)來的總線請求信號輸入引腳。,,HLDA(Hold,Acknowledge,,,30),:,總線保持響應(yīng)信號輸出引腳,高電平有效。表示,CPU,認可其他總線部件提出的總線占用請求,準備讓出總線控制權(quán)。,,34,,8086/8088,微處理器,——,微處理器的引腳功能,,,,最大模式下的,24,到,31,引腳,,QS,1,、,QS,0,(Instruction Queue Status,,,24,、,25,),:,指令隊列狀態(tài)信號,輸出引腳,。這兩個信號的組合給出了前一個時鐘周期中指令隊列的狀態(tài),以便于外部對內(nèi)部指令隊列的動作跟蹤。,QS,1,QS,0,性 能,0,0,無操作,,0,1,從指令隊列的第一個字節(jié)取走代碼,,1,0,隊列為空,,1,1,除第一個字節(jié)外,還取走了后續(xù)字節(jié)中的代碼,,35,,8086/8088,微處理器,——,微處理器的引腳功能,,,,S,0,、,S,1,、,S,2,(26,、,27,、,28,,三態(tài),),:,總線周期狀態(tài)信號,輸出引腳。這些信號組合起來指出當(dāng)前總線周期中所進行的數(shù)據(jù)傳輸類型,總線控制器利用這些信號來產(chǎn)生對存儲單元和,I/O,接口的控制信號。,,S,0,S,1,S,2,性 能,1,0,0,中斷相應(yīng),1,0,1,讀,I/O,端口,1,1,0,寫,I/O,端口,,1,1,1,暫停,0,0,0,取指令,0,0,1,讀存儲器,0,1,0,寫存儲器,0,1,1,無作用,36,,8086/8088,微處理器,——,微處理器的引腳功能,,,,LOCK (Lock,,,29,,三態(tài),),:,總線封鎖,輸出引腳,低電平有效。當(dāng)該引腳為低電平時,系統(tǒng)中其它總線部件就不能占用總線。它是由指令前綴,LOCK,產(chǎn)生的,在,LOCK,前綴后面的一條指令執(zhí)行完畢之后,便撤消信號。,此外,在,8088/8086,的,2,個中斷響應(yīng)脈沖之間,信號也自動變?yōu)橛行У牡碗娖剑苑乐蛊渌偩€部件在中斷響應(yīng)過程中,占有總線而使一個完整的中斷響應(yīng)過程被中斷。,,,RQ/GT,0,、,RQ/GT,1,(Request/Grant,,,31,、,30),:,總線請求信號,輸入引腳,/,總線允許信號,輸出引腳。這兩個信號端可供,CPU,以外的兩個處理器,用來發(fā)出使用總線的請求信號和接收,CPU,對總線請求信號的應(yīng)答。這兩個引腳都是雙向的,請求與應(yīng)答信號在同一引腳上分時傳輸,方向相反。其中,31,腳比的,30,腳優(yōu)先級高。,,37,,8086/8088,微處理器,——,微處理器的引腳功能,,,,總結(jié),,具有分時復(fù)用總線功能的引腳:,AD,0,~AD,15,、,A,16,/S,3,~A,19,/S,6,、,BHE/S,7,;,,具有三態(tài)性的引腳:,,AD,0,~AD,15,、,A,16,S,3,~A,19,S,6,、,BHE/S,7,、,RD,、,WR,、,M/IO,、,DT/R,、,DEN,、,INTA,等;,,最大模式,/,最小模式下含義不同的引腳:,24~31,引腳;,,8086,和,8088,不同的引腳:,2~8,引腳,,39,引腳,,28,引腳,,34,引腳;,38,,8086/8088,微處理器,——,微處理器的引腳功能,,,,8086,和,8088CPU,的不同之處,,8086,指令隊列長度為,6,個字節(jié),,8088,為,4,個。,8086,在指令隊列中至少出現(xiàn),2,個空閑字節(jié)時才預(yù)取后續(xù)指令,而,8088,只要出現(xiàn)一個空閑字節(jié)就會取后續(xù)指令;,,8088CPU,中,,BIU,總線控制電路與外部交換數(shù)據(jù)的總線寬度是,8,位,總線控制電路與專用寄存器組之間的數(shù)據(jù)總線寬度也是,8,位,而,EU,的內(nèi)部總線是,16,位,這樣,對,16,位數(shù)的存儲器讀,/,寫操作要兩個讀,/,寫周期才可以完成;,,8086,和,8088,有若干引腳信號不同,分別是,2~8,引腳,,39,引腳,,28,引腳,,34,引腳;,39,,第二章:,8086/8088,微處理器,微處理器的結(jié)構(gòu),,微處理器的內(nèi)部寄存器,,微處理器的引腳功能,,微處理器的存儲器組織,,最大模式和最小模式,,微處理器的時序,40,,8086/8088,微處理器,——,系統(tǒng)中的存儲器組織,8086/,8088,系統(tǒng),有,20,根地址總線,它可以直接尋址的存儲器單元數(shù)為,2,20,=1MB,,,而,CPU,中所有的寄存器都是,16,位的!,,如何實現(xiàn),16,位的存儲單元存放,20,位的地址空間?,,存儲器分段,,由于,CPU,內(nèi)部的寄存器都是,16,位的,為了能夠提供,20,位的物理地址,系統(tǒng)中采用了存儲器分段的方法。規(guī)定一個段為,64KB,,由段寄存器來確定存儲單元的段地址,由指令提供該單元相對于段起始地址的,16,位偏移量。,41,,8086/8088,微處理器,——,系統(tǒng)中的存儲器組織,這樣,系統(tǒng)的整個存儲空間可分為,16,個互不重疊的邏輯段。存儲器的每個段的容量為,64KB,,并允許在整個存儲空間內(nèi)浮動,即段與段之間可以部分重疊、完全重疊、連續(xù)排列,非常靈活。,,42,,8086/8088,微處理器,——,系統(tǒng)中的存儲器組織,與存儲單元地址相關(guān)的幾個概念,,物理地址:,一個存儲單元的實際地址,(20,位,),。物理地址與存儲單元是一一對應(yīng)關(guān)系。,(20202H),,邏輯地址:,是指段地址和偏移地址,是指令中引用的形式地址。一個邏輯地址只能對應(yīng)一個物理地址,而一個物理地址可以對應(yīng)多個邏輯地址。,(2000:0202H),,段地址:,是指一個段的起始地址,最低,4,位為零,一般將其有效數(shù)字,16,位存放在段寄存器中。,(2000H),,偏移地址:,段內(nèi)存儲單元相對段地址的距離,(16,位,),。同一個段內(nèi),各個存儲單元的段地址是相同的,偏移地址是不同的。,(0202H),43,,8086/8088,微處理器,——,系統(tǒng)中的存儲器組織,物理地址的計算方法,,物理地址,=,段地址,+,偏移地址,,,=,段寄存器內(nèi)容,×10H+,偏移地址,,取指令物理地址,=(CS)×10H+(IP),,堆棧操作物理地址,=(SS)×10H+(SP)/(BP,的表達式,),,存儲器操作數(shù)物理地址,=(DS)/(ES)×10H+,偏移地址,,44,,8086/8088,微處理器,——,系統(tǒng)中的存儲器組織,45,,8086/8088,微處理器,——,系統(tǒng)中的存儲器組織,存儲器分段的特點,,(,1,)在程序代碼量、數(shù)據(jù)量不是太大的情況下,可使它們處于同一段內(nèi),即使它們在,64Kb,的范圍內(nèi),這樣可以減少指令長度,提高指令運行速度;,,(,2,)內(nèi)存分段為程序的浮動分配創(chuàng)造了條件;,,(,3,)物理地址與邏輯地址并不是一一對應(yīng)的;,,2000:0202H=2010:0102H=20202H,,(,4,)各個分段之間可以重疊。,46,,8086/8088,微處理器,——,系統(tǒng)中的存儲器組織,特殊的內(nèi)存區(qū)域:,8088/8086,系統(tǒng)中,有些內(nèi)存區(qū)域的作用是固定的,用戶不能隨便使用,如:,,中斷矢量區(qū):,00000H—003FFH,共,1K,字節(jié),用以存放,256,種中斷類型的中斷矢量,每個中斷矢量占用,4,個字節(jié),共,256×4=1024=1KB,;,,顯示緩沖區(qū):,B0000H—B0F9FH,約,4000,(,25×80×2,)字節(jié),是單色顯示器 的顯示緩沖區(qū),存放文本方式下,所顯示字符的,ASCII,碼及屬性碼;,B8000H—BBF3FH,約,16K,字節(jié),是彩色顯示器的顯示緩沖區(qū),存放圖形方式下,屏幕顯示象素的代碼。,,啟動區(qū):,FFFF0H—FFFFFH,共,16,個單元,用以存放一條無條件轉(zhuǎn)移指令的代碼,轉(zhuǎn)移到系統(tǒng)的初始化部分。,47,,8086/8088,微處理器,——,系統(tǒng)中的存儲器組織,CS、DS、SS,和其他寄存器組合指向存儲單元的示意圖,48,,8086/8088,微處理器,——,系統(tǒng)中的存儲器組織,8086,存儲體的結(jié)構(gòu),,8086,將,1M,字節(jié)存儲體分為兩個庫,每個庫的容量都是,512K,字節(jié)。其中與數(shù)據(jù)總線,D,15,—,D,8,相連的庫全由奇地址單元組成,稱高字節(jié)庫或奇地址庫, 并用,BHE,信號作為庫選信號;另一個庫與數(shù)據(jù)總線的,D,7,—,D,0,相連,由偶地址單元組成,稱低字節(jié)庫或偶低址庫,利用,A,0,作為庫選信號。顯然,只需,A,19,—,A,1,共,19,位地址用來作為兩個庫內(nèi)的單元尋址。,,49,,8086/8088,微處理器,——,系統(tǒng)中的存儲器組織,50,,8086/8088,微處理器,——,系統(tǒng)中的存儲器組織,8086,存儲體的結(jié)構(gòu),,在組成存儲系統(tǒng)時,總是使偶地址單元的數(shù)據(jù)通過AD,0,—,AD,7,傳送,而奇地址單元的數(shù)據(jù)通過AD,8,—,AD,15,傳送,顯然,并不是所有總線周期都存取總線高字節(jié),只有存取規(guī)則字,或奇地址的字節(jié),或不規(guī)則字的低八位,才進行總線高字節(jié)傳送。,,,51,,8086/8088,微處理器,——,系統(tǒng)中的存儲器組織,52,,第二章:,8086/8088,微處理器,微處理器的結(jié)構(gòu),,微處理器的內(nèi)部寄存器,,微處理器的引腳功能,,微處理器的存儲器組織,,最大模式和最小模式,,微處理器的時序,53,,8086/8088,微處理器,——,最小模式和最大模式,為了盡可能適應(yīng)各種各樣的使用場合,在設(shè)計,8086 CPU,芯片時, 使它們可以在兩種模式下工作,即最小模式和最大模式。,,,,最小模式,,,所謂最小模式,就是系統(tǒng)中只有一個CPU,在這種情況下,所有的總線控制信號,都是直接由CPU產(chǎn)生的,系統(tǒng)中的總線控制邏輯電路被減到最少,該模式適用于,小規(guī)模的微機應(yīng)用系統(tǒng)。,54,,8086/8088,微處理器,——,最小模式和最大模式,①,MN/MX,端接,+5V,,決定了工作模式;,,②有一片,8284A,,作為時鐘信號發(fā)生器;,,③有三片,8282,或,74LS273,,用來作為地址信號的鎖存器;,,④當(dāng)系統(tǒng)中所連的存儲器和外設(shè)端口較多時,需要增加數(shù)據(jù)總線的驅(qū)動能力,這時需用,2,片,8286/8287,作為數(shù)據(jù)總線收發(fā)器。,55,,8086/8088,微處理器,——,最小模式和最大模式,最大模式,,,所謂最,大模式,是指系統(tǒng)中至少包含兩個微處理器,其中一個為主處理器,即,8086/8086CPU,,其它的微處理器稱之為協(xié)處理器,它們是協(xié)助主處理器工作的。,該模式適用于,大中型規(guī)模的微機應(yīng)用系統(tǒng)。,56,,8086/8088,微處理器,——,最小模式和最大模式,最大模式,,①最小模式所擁有的配置;,,②有一片,8288,總線控制器來對,CPU,發(fā)出的控制信號進行變換和組合,以得到對存儲器或,I/O,端口的讀,/,寫信號和對鎖存器,8282,及數(shù)據(jù)總線收發(fā)器,8286,的控制信號。,,③有,8259A,(可選)用以對多個中斷源進行中斷優(yōu)先級的管理,但如果中斷源不多,也可以不用中斷優(yōu)先級管理部件。,,,57,,8086/8088,微處理器,——,最小模式和最大模式,最大模式,,與,8086/8088CPU,配合工作的協(xié)處理器有兩類,一類是數(shù)值協(xié)處理器,8087,另一類是輸入,/,輸出協(xié)處理器,8089,。,,8087,是一種專用于數(shù)值運算的協(xié)處理器,它能實現(xiàn)多種類型的數(shù)值運算,如高精度的整型和浮點型數(shù)值運算,超越函數(shù)(三角函數(shù)、對數(shù)函數(shù))的計算等,這些運算若用軟件的方法來實現(xiàn),將耗費大量的機器時間。換句話說,引入了,8087,協(xié)處理器,就是把軟件功能硬件化,可以大大提高主處理器的運行速度。,,,58,,8086/8088,微處理器,——,最小模式和最大模式,最大模式,,8089,協(xié)處理器,在原理上有點象帶有兩個,DMA,通道的處理器,它有一套專門用于輸入,/,輸出操作的指令系統(tǒng),但是,8089,又和,DMA,控制器不同,它可以直接為輸入,/,輸出設(shè)備服務(wù),使主處理器不再承擔(dān)這類工作。所以,在系統(tǒng)中增加,8089,協(xié)處理器之后,會明顯提高主處理器的效率,尤其是在輸入,/,輸出操作比較頻繁的系統(tǒng)中。,,59,,第二章:,8086/8088,微處理器,微處理器的結(jié)構(gòu),,微處理器的內(nèi)部寄存器,,微處理器的引腳功能,,微處理器的存儲器組織,,最大模式和最小模式,,微處理器的時序,60,,8086/8088,微處理器,——,微處理器的時序,什么是時序?,,時序是計算機操作運行的時間順序。,,為什么要研究時序?,,進一步了解在微機系統(tǒng)的工作過程中,,CPU,各引腳上信號之間的相對時間關(guān)系;,,深入了解指令的執(zhí)行過程;,,在程序設(shè)計時,選擇合適的指令或指令序列,以盡量縮短程序代碼的長度及程序的運行時間;,61,,8086/8088,微處理器,——,微處理器的時序,為什么要研究時序???,,對于學(xué)習(xí)各功能部件與系統(tǒng)總線的連接及硬件系統(tǒng)的調(diào)試,都十分有意義,因為,CPU,與存儲器、,I/O,端口協(xié)調(diào)工作時,存在一個時序上的配合問題;,,更好地處理微機用于過程控制及解決實時控制的題。,,62,,8086/8088,微處理器,——,微處理器的時序,幾個基本概念,,指令周期:,一條指令從其代碼被從內(nèi)存單元中取出到其所規(guī)定的操作執(zhí)行完畢,所用的時間,稱為相應(yīng)指令的指令周期。,,,總線周期:,是指,CPU,與存儲器或外設(shè)進行一次數(shù)據(jù)傳送所需要的時間。,,時鐘周期:,又稱為,T,狀態(tài),是一個時鐘脈沖的重復(fù)周期,是,CPU,處理動作的基本時間單位。它是由主頻來確定,如,8086,的主頻為,5MHz,,則一個時鐘周期為,200ns,。,63,,8086/8088,微處理器,——,微處理器的時序,幾個基本概念,,等待周期:,是在一個總線周期的,T,3,和,T,4,之間,,CPU,根據(jù),Ready,信號來確定是否插入,T,W,,插入幾個,T,W,。,,空閑周期:,是指在二個總線周期之間的時間間隔,(,總線處在空閑狀態(tài),),。若為,3,個時鐘周期,則空閑周期為,3,個,T,i,。,,時鐘周期,(T),作為基本時間單位,一個等待周期,T,W,=T,;一個總線周期,通常,由四個,T,組成,分別稱為,T,1,T,2,,T,3,,T,4,;一個指令周期由一到幾個總線周期組成。,,64,,8086/8088,微處理器,——,微處理器的時序,8086/8088,微機系統(tǒng)的主要操作,,系統(tǒng)的復(fù)位與啟動操作;,,暫停操作;,,總線操作;(,I/O,讀,/,寫、存貯器讀,/,寫),,中斷操作;,,最小模式下的總線保持;,,最大模式下的總線請求,/,允許。,65,,8086/8088,微處理器,——,微處理器的時序,典型的,8086/8088,總線周期序列,,,,,,,T1,狀態(tài),發(fā)地址信息,;,,T2,狀態(tài),總線的高4位輸出狀態(tài)信息,;,,T3,狀態(tài),高4位狀態(tài)信息,低16位數(shù)據(jù),信息;,,T3,之后,可能插入,T,W,;,在,T4,狀態(tài)完成傳送并結(jié)束。,66,,8086/8088,微處理器,——,微處理器的時序,典型的總線時序圖,——,最小模式下的讀周期時序,,T,1,T,2,T,3,T,4,CLK,M / IO,A,19,~A,16,/S,6,~S,3,AD,15,~AD,0,BHE/S,7,ALE,RD,DT/R,DEN,高,M,低,IO,A,19,~A,16,S,6,~S,3,地址輸出,DATA IN,67,,8086/8088,微處理器,——,微處理器的時序,典型的總線時序圖,——,最小模式下的寫周期時序,68,,8086/8088,微處理器,——,微處理器的時序,典型的總線時序圖,——,最大模式下的讀周期時序,69,,8086/8088,微處理器,——,微處理器的時序,典型的總線時序圖,——,最大模式下的寫周期時序,70,,8086/8088,微處理器,——,微處理器的時序,典型的總線時序圖,——,系統(tǒng)復(fù)位時序,,,,,,,,,71,,8086/8088,微處理器,——,微處理器的時序,典型的總線時序圖,——,系統(tǒng)復(fù)位時序,,RESET,是外部引入,CPU,的信號,高電平有效,脈沖寬度不低于,4,個時鐘周期。每當(dāng),RESET,有效時,,CPU,便結(jié)束當(dāng)前的操作,使系統(tǒng)回到初始狀態(tài),即:,,(a),使所有的三態(tài)輸出線被置成高阻狀態(tài),輸出控制信號失效;,,(b),除,CS=FFFFH,外,,指令隊列和其他所有的寄存器被清零;,,(,c)CPU,從,FFFF0H,單元讀取指令,執(zhí)行操作;,,(d),對系統(tǒng)進行測試,引入,DOS,。,72,,8086/8088,微處理器,——,微處理器的時序,典型的總線時序圖,——,最小模式下的總線保持,利用,HOLD,和,HLDA,信號實現(xiàn)總線保持,73,,8086/8088,微處理器,——,微處理器的時序,典型的總線時序圖,——,最大模式下的總線請求,/,允許,74,,8086/8088,微處理器,——,微處理器的時序,典型的總線時序圖,——,中斷響應(yīng)周期時序,75,,8086/8088,微處理器,——,微處理器的時序,要求,INTR,信號是一個高電平信號,并且維持兩個,T,(時鐘周期),因為,CPU,在一條指令的最后一個,T,采樣,INTR,,進入中斷響應(yīng)后,它在第一個周期的仍需采樣,INTR,。,,在最小模式下,中斷應(yīng)答信號來自,8086,的引腳,INTA,,而在最大模式時,則是由總線控制器產(chǎn)生,INTA,信號。,,第一個總線周期通過用來通知外設(shè),,CPU,準備響應(yīng)中斷,第二個總線周期通過通知外設(shè)送中斷類型碼,該類型碼通過數(shù)據(jù)總線的低,8,位傳送,來自中斷源。,,在中斷響應(yīng)期間,為低,數(shù)據(jù),/,地址線浮空,數(shù)據(jù),/,狀態(tài)線浮空。在兩個中斷響應(yīng)周期之間可安排,2,~,3,個空閑周期(,8086,)或沒有(,8088,)。,,,76,,8086/8088,微處理器,——,中斷操作,IF,中斷允許位僅控制可屏蔽硬件中斷,,中斷類型號*,4=,在中斷向量表的首地址,,軟件中斷可被硬件中斷所中斷,即實現(xiàn)中斷過程的嵌套類型號前,5,個為專用中斷,類型號,5-31,為系統(tǒng)保留中斷,其余可為用戶所使用,,NMI,引腳上的中斷請求其優(yōu)先級是最高的!只要該引腳出現(xiàn)中斷請求,不管當(dāng)前,CPU,執(zhí)行任何操作,都會在執(zhí)行完當(dāng)前指令后響應(yīng)中斷!,77,,8086/8088,微處理器,——,中斷操作,中斷響應(yīng)過程,,從數(shù)據(jù)總線上讀取中斷類型碼,并將其存入內(nèi)部寄存器;,,標志寄存器的內(nèi)容壓入堆棧;,,將標志寄存器中的標志位,IF,、,TF,清零;,,保護斷點(即當(dāng)前所執(zhí)行程序的下一條指令的地址,包括,CS,和,IP,的值);,,進入中斷服務(wù)程序的入口,執(zhí)行中斷處理子程序。,78,,8086/8088,微處理器,——,中斷操作,中斷響應(yīng)過程說明,,處理可屏蔽中斷和非屏蔽中斷的兩點差別:判斷,IF=1,,讀取中斷類型號;,,TF=1,為一種專用中斷,只要,TF=1,當(dāng)前程序就進入單步調(diào)試狀態(tài);,,非屏蔽中斷和軟件中斷從上述步驟,2,)開始就是一樣的;,,硬件中斷的觸發(fā)方式:可屏蔽中斷是一個電平觸發(fā)方式,并且必須維持到,CPU,響應(yīng)中斷才能撤銷;非屏蔽中斷是一個上升沿信號,并且在上升沿之后至少能夠保持兩個時鐘周期的高電平。,79,,8086/8088,微處理器,——,中斷操作,中斷處理子程序的步驟,,保護中斷現(xiàn)場(狀態(tài)位、存儲單元中數(shù)據(jù)),保護各寄存器的值;,,IF=1,,運行級別較高級別中斷請求響應(yīng);,,具體的中斷處理,——,核心工作;,,恢復(fù)中斷現(xiàn)場及各寄存器的值;,,中斷返回指令(執(zhí)行完,IP,、,CS,和標志寄存器恢復(fù)到中斷前的狀態(tài)),80,,8086/8088,微處理器,——,本章要點,8086/8088,微處理器的結(jié)構(gòu)。,,8086/8088,微處理器的結(jié)構(gòu)特點,要求達到“識記”層次。,,8086/8088,微處理器的寄存器結(jié)構(gòu),要求達到“領(lǐng)會”層次。,,8086/8088,系統(tǒng)中的存儲器分段與物理地址的形成,要求達到“領(lǐng)會”層次。,81,,8086/8088,微處理器,——,本章要點,8086/8088,微處理器的引腳功能和相關(guān)知識,要求達到“綜合應(yīng)用”層次。,,8086/8088,總線分時復(fù)用的特點。,,8086/8088,常用控制信號的功能,這些控制信號的應(yīng)用。,,8086/8088,存儲器的組織結(jié)構(gòu),段地址偏移地址等概念的綜合應(yīng)用。,,8086/8088,兩種工作方式,——,最小方式與最大方式的區(qū)別。,82,,8086/8088,微處理器,——,本章要點,8086/8088,微處理器的總線時序,要求達到“領(lǐng)會”層次。,,三種周期,——,指令周期、總線周期和時鐘周期的區(qū)別及聯(lián)系。,,8086/8088,幾種主要的總線周期時序圖,有關(guān)信號的時序關(guān)系。,,中斷操作和中斷處理子程序,83,,