版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第2章
8086系統(tǒng)結(jié)構(gòu)字長(zhǎng):指CPU能同時(shí)處理的數(shù)據(jù)位數(shù),也稱(chēng)數(shù)據(jù)寬度。主頻:即CPU的時(shí)鐘頻率。主頻越高CPU的運(yùn)算速度越快。8086是5~10MHz,80386/486是40~100MHz,PentiumⅣ最高達(dá)3.06GMHz(變化的)?;靖拍钪饕獌?nèi)容8086CPU的內(nèi)部結(jié)構(gòu)8086CPU的管腳和功能8086存儲(chǔ)器結(jié)構(gòu)與輸入/輸出結(jié)構(gòu)8086的最大/最小模式系統(tǒng)8086CPU的內(nèi)部時(shí)序一、8086的內(nèi)部結(jié)構(gòu)1.關(guān)于80862.內(nèi)部結(jié)構(gòu)3.BIU的組成4.BIU的功能5.EU的組成6.EU的作用7.BIU和EU的動(dòng)作管理一、8086的內(nèi)部結(jié)構(gòu)
8086是Intel系列的16位微處理器,時(shí)鐘頻率為5MHz(10MHz和8
MHz),有16條數(shù)據(jù)線(xiàn)和20條地址線(xiàn)。由于地址總線(xiàn)的位數(shù)決定了CPU可直接尋址的內(nèi)存單元的范圍,因此,內(nèi)存容量為220個(gè)單元,即1MB。1.關(guān)于8086
210B=1024B=1KB220B=210x210=1024Bx1024B=1KBx1KB=1MB230B=1GBN地址尋址2NB2.內(nèi)部編程結(jié)構(gòu)
內(nèi)部結(jié)構(gòu)與真正的物理結(jié)構(gòu)有別,它是從程序員和使用者的角度“看到”的CPU的內(nèi)部結(jié)構(gòu)?;蛘哒f(shuō),我們討論8086的內(nèi)部結(jié)構(gòu)是從指令的執(zhí)行這一全過(guò)程來(lái)考慮的。8086從功能上分為兩部分:總線(xiàn)接口部件BIU執(zhí)行部件EUAHALBHBLCHCLDHDLSPBPDISICSDSSSESIP內(nèi)部寄存器123456EU控制電路暫存寄存器總線(xiàn)控制電路標(biāo)志寄存器20位AB16位DB16位DB8位地址加法器通用寄存器ALU指令隊(duì)列緩沖器8086總線(xiàn)執(zhí)行部件(EU)總線(xiàn)接口部件(BIU)8086CPU的內(nèi)部結(jié)構(gòu)框圖∑指針和變址寄存器AXBXCXDX16位DB數(shù)據(jù)寄存器
地址加法器專(zhuān)用寄存器組指令隊(duì)列總線(xiàn)控制電路其主要功能是與外部存儲(chǔ)器或I/O端口讀取操作。3.BIU的組成3.BIU的組成6字節(jié)指令隊(duì)列緩沖器一般情況下,CPU執(zhí)行完一條指令就可以立即執(zhí)行下一條指令,稱(chēng)為流水線(xiàn)技術(shù)。20位地址加法器完成從段基地址(存放在CS、DS、ES、SS)與16位段內(nèi)偏移地址(由指令指定)產(chǎn)生20位的物理地址。4個(gè)段地址寄存器(16bit)指令指針控制器-IP(16bit)用于存放BIU將要取的下一條指令的段內(nèi)偏移地址??偩€(xiàn)控制電路用于產(chǎn)生系統(tǒng)總線(xiàn)操作時(shí)的相關(guān)控制信號(hào)。4.BIU的功能BIU具體任務(wù)為:負(fù)責(zé)從存儲(chǔ)器的指定單元取出指令,送至指令隊(duì)列緩沖器中排隊(duì)(或直接給EU去執(zhí)行);負(fù)責(zé)配合EU從存儲(chǔ)器的指定單元或外設(shè)端口中取出指令規(guī)定的操作數(shù)傳送給EU;負(fù)責(zé)把EU的操作結(jié)果傳送到指定的存儲(chǔ)器或外設(shè)端口中。總之,BIU的功能是負(fù)責(zé)完成CPU與存儲(chǔ)器或I/O端口之間的數(shù)據(jù)傳輸?!?/p>
通用寄存器組算術(shù)邏輯運(yùn)算單元(ALU)EU控制器標(biāo)志寄存器FR其主要功能是執(zhí)行指令。5.EU的組成5.EU的組成4個(gè)通用數(shù)據(jù)寄存器(16或8bit)累加器:AX(16bit),AL(8bit)4個(gè)指令和變址寄存器(BP、SP、SI、DI,16bit)ALU(16bit運(yùn)算器)用于8位或16位算術(shù)和邏輯運(yùn)算,完成大部分指令的執(zhí)行。EU控制電路從BIU的指令隊(duì)列中取出指令操作碼,通過(guò)譯碼電路分析,發(fā)出相應(yīng)的控制命令,控制ALU數(shù)據(jù)的流向。標(biāo)志寄存器6個(gè)狀態(tài)標(biāo)志反映指令運(yùn)行后的狀態(tài);3個(gè)控制標(biāo)志可由編程人員通過(guò)專(zhuān)門(mén)指令設(shè)置。OFDFIFTFSFCFPFZFAF1514131211109876543D2D1D0OverflowFlagSignFlag符號(hào)標(biāo)志ZeroFlagAuxiliaryCarryFlagParityFlagCarryFlagTrapFlag跟蹤InterruptFlagDirectionFlag6個(gè)狀態(tài)標(biāo)志:CF---使最高位產(chǎn)生進(jìn)/借位時(shí),為1PF---運(yùn)行結(jié)果的低8位中含1的個(gè)數(shù)為偶數(shù)時(shí),為1AF---低4位(D3)向高4位(D4)位有進(jìn)/借位時(shí),為1ZF---當(dāng)前的運(yùn)算結(jié)果為0時(shí),為1SF---與運(yùn)算結(jié)果的最高位相同,表運(yùn)算結(jié)果的正負(fù)OF---運(yùn)算過(guò)程中產(chǎn)生溢出時(shí),為1
字節(jié)運(yùn)算結(jié)果超出范圍:-128~+127
字運(yùn)算結(jié)果超出范圍:-32768~+32767
產(chǎn)生溢出:
當(dāng)判斷出次高位往最高位有進(jìn)位,而最高位又沒(méi)有往前進(jìn)時(shí),產(chǎn)生溢出。當(dāng)判斷出次高位往最高位無(wú)進(jìn)位,而最高位往前卻有進(jìn)時(shí),產(chǎn)生溢出。僅對(duì)帶符號(hào)數(shù)有效010101000011100101000101011010101100011111100000CF=0PF=1AF=1ZF=0SF=1OF=1+例(書(shū)例2-2):例2-1:
0010001101000101+00110010000110010101010101011110
CF=0PF=0AF=0ZF=0SF=0OF=03個(gè)控制標(biāo)志:DF---串操作過(guò)程中地址自動(dòng)遞減,為1IF---允許CPU響應(yīng)外部可屏蔽中斷,為1TF---CPU處于單步工作方式,為1每一控制標(biāo)志針對(duì)某一特定的功能,控制標(biāo)志一旦設(shè)置后,便對(duì)后面的操作產(chǎn)生控制作用。★從指令隊(duì)列中取出指令;對(duì)指令進(jìn)行譯碼,發(fā)出相應(yīng)的傳送數(shù)據(jù)或運(yùn)算的控制信號(hào);接收由BIU傳送來(lái)的數(shù)據(jù)或把數(shù)據(jù)傳送到BIU;進(jìn)行算術(shù)或邏輯運(yùn)算。6.EU的作用總之,EU的功能就是負(fù)責(zé)指令的執(zhí)行。7.BIU和EU的動(dòng)作管理每當(dāng)指令隊(duì)列中由2個(gè)空字節(jié)時(shí),BIU自動(dòng)把指令取到指令隊(duì)列中;當(dāng)指令隊(duì)列已滿(mǎn),且EU對(duì)BIU沒(méi)有總線(xiàn)訪(fǎng)問(wèn)請(qǐng)求時(shí),BIU進(jìn)入空閑狀態(tài);當(dāng)在EU執(zhí)行指令的過(guò)程中必須訪(fǎng)問(wèn)存儲(chǔ)器或輸入輸出設(shè)備時(shí),則EU會(huì)請(qǐng)求BIU進(jìn)入總線(xiàn)周期,以完成所需的訪(fǎng)問(wèn)內(nèi)存或輸入/輸出端口的操作。當(dāng)執(zhí)行轉(zhuǎn)移、調(diào)用、返回指令時(shí),指令隊(duì)列中的原有內(nèi)容會(huì)被自動(dòng)清除,BIU會(huì)接著往指令隊(duì)列中裝入另一程序段中的指令。EUBIU指令隊(duì)列6字節(jié)指令隊(duì)列緩沖器8086CPU與一般CPU區(qū)別一般CPU工作方式8086CPU工作方式取指執(zhí)指取指執(zhí)指取指執(zhí)指取指執(zhí)指取指執(zhí)指取指執(zhí)指取指思考:8086CPU的寄存器結(jié)構(gòu)?通用寄存器段寄存器標(biāo)志寄存器FR
指令指針寄存器IP
8086CPU的寄存器結(jié)構(gòu)段寄存器(4個(gè),16位)CS(CodeSegment)---代碼段寄存器DS(DataSegment)---數(shù)據(jù)段寄存器ES(ExtraSegment)---附加段寄存器SS(StackSegment)---堆棧段寄存器指令指針寄存器(16位)IP(InstructionPointer)20位的地址加法器重點(diǎn)掌握的內(nèi)容AHALBHBLCHCLDHDLSPBPDISI通用寄存器指針和變址寄存器AXBXCXDX數(shù)據(jù)寄存器1、通用寄存器指令執(zhí)行部件(EU)設(shè)有8個(gè)通用寄器
AXBXCXDXSPBPSIDIBHBLCHCLDHDLAHALAXBXCXDXSIDIBPSP通用寄存器AX(AccumulatorRegister)累加器一般用來(lái)存放參加運(yùn)算的數(shù)據(jù)和結(jié)果,在乘、除法運(yùn)算、I/O操作、BCD數(shù)運(yùn)算中有不可替代的作用。BX(BaseRegister)
基址寄存器除可作數(shù)據(jù)寄存器外,還可放內(nèi)存的邏輯偏移地址,而AX,CX,DX則不能。CX(Counter)將它稱(chēng)作計(jì)數(shù)寄存器,是因?yàn)樗瓤勺鲾?shù)據(jù)寄存器,又可在串指令和移位指令中作計(jì)數(shù)用。DX(DataRegister)
DX除可作通用數(shù)據(jù)寄存器外,還在乘、除法運(yùn)算、帶符號(hào)數(shù)的擴(kuò)展指令中有特殊用途。
SI(SourceIndex)源變址寄存器多用于存放內(nèi)存的邏輯偏移地址,隱含的邏輯段地址在DS寄存器中,也可放數(shù)據(jù)。DI(DestinationIndex)目標(biāo)變址寄存器多用于存放內(nèi)存的邏輯偏移地址,隱含的邏輯段地址在DS寄存器中也可放數(shù)據(jù)。BP(BasePointer)基址指針用于存放內(nèi)存的邏輯偏移地址,隱含的邏輯段地址在SS寄存器中。SP(StackPointer)堆棧指針用于存放棧頂?shù)倪壿嬈频刂?,隱含的邏輯段地址在SS寄存器中。寄存器的特殊用途和隱含性質(zhì) 在指令中沒(méi)有明顯的標(biāo)出,而這些寄存器參加操作,稱(chēng)之為“隱含尋址”。在某類(lèi)指令中,某些通用寄存器有指定的特殊用法,編程時(shí)需遵循這些規(guī)定,將某些特殊數(shù)據(jù)放在特定的寄存器中,這樣才能正確的執(zhí)行這些指令。能有效地縮短指令代碼的長(zhǎng)度。2、段寄存器
總線(xiàn)接口部件BIU設(shè)有4個(gè)16位段寄存器CS(CodeSegment),代碼段寄存器中存放程序代碼段起始地址的高16位。DS(DataSegment),數(shù)據(jù)段寄存器中存放數(shù)據(jù)段起始地址的高16位。SS(StackSegment),堆棧段寄存器中存放堆棧段起始地址的高16位。ES(ExtendedSegment),擴(kuò)展段寄存器中存放擴(kuò)展數(shù)據(jù)段起始地址的高16位。CPU內(nèi)部14個(gè)16位寄存器小結(jié)二、8086CPU的管腳及功能1.8086CPU工作模式的概念2.學(xué)習(xí)8086CPU管腳時(shí)應(yīng)注意的問(wèn)題3.8086CPU管腳功能簡(jiǎn)要說(shuō)明最小模式系統(tǒng)中只有8086一個(gè)微處理器,系統(tǒng)中所有的總線(xiàn)控制信號(hào)都直接由8086產(chǎn)生,因此系統(tǒng)中的總線(xiàn)控制邏輯電路被減到最小。(MN/MX=1)最大模式系統(tǒng)中總是包含兩個(gè)或多個(gè)微處理器,其中一個(gè)主處理器就是8086,其它處理器為協(xié)處理器(如,用于數(shù)值運(yùn)算的8087,用于輸入/輸出大量數(shù)據(jù)的8089)(MN/MX=0)
。1.8086CPU工作模式的概念管腳名稱(chēng)及其功能---用英文單詞/縮寫(xiě)表示,名稱(chēng)基本反映該信號(hào)的作用及含義。
信號(hào)流向---輸入、輸出、雙向。有效電平---管腳起作用時(shí)的邏輯電平(正、負(fù)邏輯)。三態(tài)能力---是指管腳除了能正常輸出或輸入高、低電平外,還能輸出高阻狀態(tài)。當(dāng)輸出高阻狀態(tài)時(shí),表示芯片實(shí)際上已經(jīng)放棄了對(duì)該管腳的控制,使之“懸空”,所連接的設(shè)備可以接管對(duì)它的控制。管腳分時(shí)復(fù)用---稱(chēng)總線(xiàn)為多路總線(xiàn)/復(fù)用總線(xiàn)。
2.學(xué)習(xí)8086CPU管腳時(shí)應(yīng)注意的問(wèn)題40393837363534333231302928272625242322218086CPUGNDAD14AD13AD12AD11AD10AD9AD8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGNDRESETREADYTESTINTA(QS1)ALE(QS0)DEN(S0)DT/R(S1)M/IO(S2)WR(LOCK)HLDA(RQ/GT1)HOLD(RQ/GT0)RDMN/MXBHE/S7A19/S6A18/S5A17/S4A16/S3VCC(+5V)AD158086的管腳圖1234567891011121314151617181920<1>Vcc、GND---電源和地---單一的+5v電源(40管腳Vcc);地線(xiàn)(1和20管腳GND)應(yīng)接地。3.8086CPU管腳功能簡(jiǎn)要說(shuō)明<2>AD15~AD0---地址(T1)/
數(shù)據(jù)復(fù)用---雙向、三態(tài)在CPU響應(yīng)中斷以及系統(tǒng)總線(xiàn)“保持響應(yīng)”時(shí),被浮置為高阻狀態(tài)。<3>A19/S6~A16/S3---地址(T1)/狀態(tài)(T2、T3、Tw、T4)復(fù)用---輸出、三態(tài)。S6————指示8086當(dāng)前是否與總線(xiàn)相連。S6=0表示當(dāng)前與總線(xiàn)相連。S5————表明中斷允許標(biāo)志當(dāng)前的設(shè)置。S5=0表示CPU關(guān)閉中斷;S5=1表示中斷是開(kāi)放的,允許一切可屏蔽中斷的中斷請(qǐng)求。S4、S3合起來(lái)指出當(dāng)前正在使用的段寄存器,具體規(guī)定為:
S4S3含義00當(dāng)前正使用ES01當(dāng)前正使用SS10當(dāng)前正使用CS或未使用任何段寄存器11當(dāng)前正使用DS<4>BHE(T1)
/S7(T2、T3、Tw、T4)---高八位數(shù)據(jù)總線(xiàn)允許/狀態(tài)復(fù)用
---輸出。
S7——用來(lái)輸出狀態(tài)信息,在當(dāng)前8086芯片設(shè)計(jì)中未被定義,暫作備用。BHE——為低電平時(shí)表示高八位數(shù)據(jù)線(xiàn)上的數(shù)據(jù)有效。讀寫(xiě)和響應(yīng)中斷時(shí)的區(qū)分?BHEAD0總線(xiàn)使用情況所用的數(shù)據(jù)總線(xiàn)0016位數(shù)據(jù)總線(xiàn)上進(jìn)行字傳送AD15~AD001高8位數(shù)據(jù)總線(xiàn)上進(jìn)行字節(jié)傳送AD15~AD810低8位數(shù)據(jù)總線(xiàn)上進(jìn)行字節(jié)傳送AD7~AD011無(wú)效BHE和A0編碼的含義BHE和A0合起來(lái)表示當(dāng)前總線(xiàn)的使用:<5>RD(T2、T3、Tw)
---讀信號(hào)---三態(tài)輸出,低電平有效。指出要發(fā)命令,將要執(zhí)行一個(gè)對(duì)內(nèi)存或端口的讀操作。<6>WR---寫(xiě)信號(hào)---三態(tài)輸出,低電平有效。指出要發(fā)命令,將要執(zhí)行一個(gè)對(duì)內(nèi)存或端口的寫(xiě)操作。<
7>M/IO---存儲(chǔ)器/輸入輸出控制信號(hào)---三態(tài)輸出。M/IO為1時(shí),表示CPU當(dāng)前正在訪(fǎng)問(wèn)存儲(chǔ)器;M/IO為0時(shí),表示CPU當(dāng)前正在訪(fǎng)問(wèn)I/O端口。一般地,在前一個(gè)總線(xiàn)周期的T4狀態(tài)它就成為有效電平,然后開(kāi)始一個(gè)新的總線(xiàn)周期,在此周期中一直保持有效電平,直到本周期的T4
狀態(tài)為止。在DMA方式時(shí),被浮置為高阻狀態(tài)。<8>READY---準(zhǔn)備好信號(hào)---輸入,高電平有效。若CPU在T3狀態(tài)檢測(cè)到它為低電平,則在T3狀態(tài)之后插入等待狀態(tài)Tw;當(dāng)READY=1,則進(jìn)入T4狀態(tài),結(jié)束數(shù)據(jù)傳輸過(guò)程,從而結(jié)束該總線(xiàn)周期。<9>INTR---可屏蔽中斷請(qǐng)求---輸入、電平觸發(fā),高電平有效。CPU在執(zhí)行每條指令的最后一個(gè)時(shí)鐘周期T4對(duì)INTR管腳進(jìn)行采樣。若IF=1、INTR=1,則CPU就在結(jié)束當(dāng)前指令后,執(zhí)行相應(yīng)中斷服務(wù)程序<
10>INTA---中斷響應(yīng)信號(hào)---輸出、低電平有效。表示CPU響應(yīng)了外設(shè)發(fā)來(lái)的INTR信號(hào)。該信號(hào)實(shí)際上是位于兩個(gè)連續(xù)總線(xiàn)周期中的兩個(gè)負(fù)脈沖。第一個(gè)負(fù)脈沖用于通知外設(shè)的接口,它發(fā)出的中斷請(qǐng)求已得到允許;外設(shè)接口收到第二個(gè)負(fù)脈沖后,往數(shù)據(jù)總線(xiàn)上放中斷類(lèi)型碼/號(hào)。<11>NMI---非屏蔽中斷信號(hào)---輸入、上升沿觸發(fā)。一旦該信號(hào)有效,CPU在現(xiàn)行指令結(jié)束后,執(zhí)行對(duì)應(yīng)于中斷類(lèi)型號(hào)為2的非屏蔽中斷處理程序,不受IF影響,不能用軟件屏蔽。<12>TEST---測(cè)試信號(hào)---輸入,低電平有效。該信號(hào)是與WAIT指令結(jié)合起來(lái)使用的。當(dāng)CPU執(zhí)行WAIT指令時(shí),每隔5個(gè)時(shí)鐘周期對(duì)它進(jìn)行一次測(cè)試,若測(cè)試到它無(wú)效,CPU繼續(xù)處于等待狀態(tài),直到檢測(cè)到它為低電平時(shí),等待狀態(tài)結(jié)束,CPU繼續(xù)往下執(zhí)行被暫停的指令。<13>RESET---復(fù)位信號(hào)---輸入,高電平有效,要求至少4個(gè)時(shí)鐘周期的高電平。CPU接到該信號(hào)后,停止操作并將標(biāo)志寄存器、IP、DS、SS、ES清零及指令隊(duì)列清空,將CS設(shè)為FFFFH;當(dāng)RESET變?yōu)榈碗娖綍r(shí),CPU從FFFF0H開(kāi)始執(zhí)行程序。<
14>ALE(T1)---地址鎖存允許信號(hào)---輸出、高電平有效。在T1狀態(tài),該引腿輸出有效電平,以表示當(dāng)前在在數(shù)據(jù)/地址復(fù)用總線(xiàn)上的輸出的是地址信息,它用作地址鎖存器8282的片選信號(hào)STB,對(duì)地址進(jìn)行鎖存。<
15>DT/R---數(shù)據(jù)收發(fā)信號(hào)---三態(tài)輸出。用來(lái)控制8286芯片的數(shù)據(jù)傳送方向。DT/R為1時(shí),進(jìn)行數(shù)據(jù)發(fā)送,即進(jìn)行寫(xiě)操作;DT/R為0時(shí),進(jìn)行數(shù)據(jù)接收,即進(jìn)行讀操作。<
16>DEN---數(shù)據(jù)允許信號(hào)---三態(tài)輸出、低電平有效。表示CPU當(dāng)前準(zhǔn)備發(fā)送或接收一個(gè)數(shù)據(jù),用作數(shù)據(jù)總線(xiàn)收發(fā)器8286的輸出允許信號(hào)OE。它在每個(gè)存儲(chǔ)器和I/O訪(fǎng)問(wèn)周期及中斷響應(yīng)周期為有效電平。它在DMA方式時(shí),被浮置為高阻狀態(tài)。<
17>HOLD---總線(xiàn)保持請(qǐng)求信號(hào)---輸入、高電平有效。當(dāng)系統(tǒng)中CPU之外的另一個(gè)主模塊要求占用總線(xiàn)時(shí),通過(guò)它向CPU發(fā)出高電平請(qǐng)求信號(hào)。<
18>HLDA---總線(xiàn)保持響應(yīng)信號(hào)---輸出、高電平有效。它有效時(shí),表示CPU對(duì)其它主模塊的總線(xiàn)請(qǐng)求作出響應(yīng),與此同時(shí),所有地址/數(shù)據(jù)總線(xiàn)和控制狀態(tài)線(xiàn)呈現(xiàn)高阻狀態(tài),從而讓出系統(tǒng)總線(xiàn)。<19>MN/MX---工作模式選擇信號(hào)---輸入。MN/MX=1,表示CPU工作在最小模式下;MN/MX=0,表示CPU工作在最大模式下。<20>CLK---主時(shí)鐘信號(hào)---輸入。它為CPU和總線(xiàn)控制邏輯電路提供定時(shí)手段?!锶?、8086存儲(chǔ)器結(jié)構(gòu)與輸入/輸出結(jié)構(gòu)存儲(chǔ)器結(jié)構(gòu)存儲(chǔ)器的組成存儲(chǔ)器的分段存儲(chǔ)器的邏輯地址與物理地址堆棧段的使用輸入/輸出結(jié)構(gòu)(1)存儲(chǔ)器的組成存儲(chǔ)器結(jié)構(gòu)采用分體結(jié)構(gòu)2個(gè)512KB的存儲(chǔ)體偶地址存儲(chǔ)體奇地址存儲(chǔ)體512K×8512K×8兩存儲(chǔ)體采用字節(jié)交叉編址存儲(chǔ)體交叉編址方式奇數(shù)地址D15~D8偶數(shù)地址D7~D0512KB=29X210=219地址:A19~A1表2.6D7~D0奇地址存儲(chǔ)器SELA18~A0D7~D0偶地址存儲(chǔ)器SELA18~A0數(shù)據(jù)總線(xiàn)D7~D0數(shù)據(jù)總線(xiàn)D15~D8BHE地址總線(xiàn)A19~A1A0存儲(chǔ)體與總線(xiàn)的連接D7~D0SEL-片選BHE和A0組合及對(duì)應(yīng)的控制BHE和A0配合可以訪(fǎng)問(wèn)存儲(chǔ)器的控制作用BHEA0對(duì)應(yīng)的存取操作所用的數(shù)據(jù)總線(xiàn)00從偶地址開(kāi)始讀/寫(xiě)一個(gè)字AD15~AD001從奇地址讀/寫(xiě)一個(gè)字節(jié)AD15~AD810從偶地址讀/寫(xiě)一個(gè)字節(jié)AD7~AD00110從奇地址讀/寫(xiě)一個(gè)字(分兩次寫(xiě))在8086系統(tǒng)中的兩個(gè)約定:約定一CPU用數(shù)據(jù)總線(xiàn)傳輸16位數(shù)據(jù)時(shí),總是把數(shù)據(jù)傳到以偶地址開(kāi)頭的兩個(gè)相鄰單元或兩個(gè)相鄰端口中;或者從這樣兩個(gè)單元或兩個(gè)端口取數(shù)。約定二數(shù)據(jù)作為“字”在內(nèi)存或端口存放時(shí),低位字節(jié)放在地址較低的單元或端口,高位字節(jié)放在地址相鄰的較高的單元或端口。也就是說(shuō),當(dāng)CPU往內(nèi)存或端口傳輸數(shù)據(jù)時(shí),低8位數(shù)據(jù)傳輸?shù)捷^低的偶地址單元;高8位數(shù)據(jù)傳輸?shù)捷^高的奇地址單元。
由此可見(jiàn),偶地址的端口和內(nèi)存單元總是和數(shù)據(jù)總線(xiàn)的低8位相聯(lián)系;而奇地址的端口和內(nèi)存單元總是和數(shù)據(jù)總線(xiàn)的高8位相聯(lián)系。數(shù)據(jù)Y數(shù)據(jù)X偶10050H數(shù)據(jù)Y偶奇數(shù)據(jù)X偶奇低地址圖2.58086CPU
X
Y(a)從偶地址開(kāi)始讀一個(gè)字奇10051H高地址(b)從奇地址開(kāi)始讀一個(gè)字節(jié)8086CPU8086CPU
X數(shù)據(jù)Y(C)從偶地址開(kāi)始讀一個(gè)字節(jié)數(shù)據(jù)X
Y數(shù)據(jù)X偶奇數(shù)據(jù)奇數(shù)據(jù)Y
X
Y數(shù)據(jù)8086CPU(d)從奇地址開(kāi)始讀一個(gè)字8086CPU有20條地址線(xiàn),每個(gè)存儲(chǔ)單元對(duì)應(yīng)的地址是20位的,可尋址1MB;而CPU內(nèi)寄存器的位數(shù)是16位的,能尋址的內(nèi)存空間只能是64KB。為能對(duì)1MB的存儲(chǔ)器進(jìn)行尋址,8086系統(tǒng)采用地址分段的方法,即每個(gè)邏輯段最多可為64KB,段內(nèi)仍然采用16位尋址。段基址存放在四個(gè)段寄存器中。每個(gè)段不一定都是64K(可以小于它)。段與段之間可以是連續(xù)的,也可以是分開(kāi)的或重疊的。(2)存儲(chǔ)器的分段附加段段首地址的最低4位總為0段寄存器放相應(yīng)的段首地址高16位,即段基址段寄存器:CS、DS、SS、ES10000H250A0H7FFAOH8CFA0H1000HCS250AHDS7FFAHSS8CFAHES例邏輯地址:由段基址和偏移地址兩部分組成,都是無(wú)符號(hào)的16進(jìn)制數(shù),寫(xiě)作:××:××---段基址:偏移地址,程序設(shè)計(jì)時(shí)采用邏輯地址。
段基址由段寄存器給出;偏移地址一般由IP、DI、SI、
BX
、BP、SP等16位寄存器給出。(3)存儲(chǔ)器的邏輯地址與物理地址A000H:0800H--邏輯地址表示法如
物理地址:指CPU和存儲(chǔ)器進(jìn)行數(shù)據(jù)交換時(shí)實(shí)際使用的地址,即絕對(duì)地址(00000H~FFFFFH),一個(gè)存儲(chǔ)單元對(duì)應(yīng)一個(gè)20位地址。當(dāng)CPU尋址某個(gè)存儲(chǔ)單元時(shí),形成20位物理地址的計(jì)算方法,為:物理地址=段基址X16+偏移地址
左移4位=段基址×10H
+偏移地址(EA)段寄存器值偏移量物理地址16位4位16位20位+
存儲(chǔ)器物理地址的計(jì)算方法示意圖地址加法器物理地址019偏移地址015段基址3210015
存儲(chǔ)器物理地址的計(jì)算方法示意圖IPCSSI、DI或BXDS或ESSP或BPSS代碼段數(shù)據(jù)段堆棧段CS、DS、SS和其他寄存器組合指向存儲(chǔ)單元的示意圖(CS)=3000(EA)=1070H310703000H:1070H(4)堆棧段的使用堆棧:是在存儲(chǔ)器中開(kāi)辟的一個(gè)區(qū)域,用來(lái)存放暫時(shí)保存的數(shù)據(jù)。方式:“先進(jìn)后出”;“后進(jìn)先出”...12000HSP堆棧指針11FFFH11FFEH10000HSS堆棧寄存器堆棧段首地址≤64KB分布地址增加方向輸入/輸出結(jié)構(gòu)I/O端口單獨(dú)編址,其地址空間獨(dú)立于存儲(chǔ)器;I/O端口與存儲(chǔ)器統(tǒng)一編址,與存儲(chǔ)器共享一個(gè)地址空間;用對(duì)存儲(chǔ)器的訪(fǎng)問(wèn)指令來(lái)實(shí)現(xiàn)對(duì)端口的讀寫(xiě)。
優(yōu)點(diǎn)是不需要專(zhuān)門(mén)的I/O指令,尋址手段豐富靈活。缺點(diǎn)是I/O端口占一部分地址空間,程序不易閱讀。在不同的微機(jī)系統(tǒng)中,I/O接口的編址有兩種形式:I/O組織每個(gè)I/O接口芯片內(nèi)都有一個(gè)或幾個(gè)端口,一個(gè)端口往往對(duì)應(yīng)著芯片內(nèi)部的一個(gè)寄存器或一組寄存器。微機(jī)系統(tǒng)為每一端口分配一個(gè)地址---端口號(hào)。8086允許有65535個(gè)8位的I/O端口,兩個(gè)相鄰的8位端口可組成一個(gè)16位端口。
獨(dú)立編址的操作過(guò)程為:CPU執(zhí)行IN或OUT指令時(shí),從硬件產(chǎn)生有效的讀/寫(xiě)控制信號(hào),同時(shí)使M/IO為低電平,通過(guò)外部邏輯電路的組合,產(chǎn)生對(duì)I/O端口的讀或?qū)懶盘?hào)。思考題cpu內(nèi)存空間分配如何?
INAL,21H返回2.最小工作模式系統(tǒng)系統(tǒng)配置:是指要想構(gòu)成一個(gè)工作在某一模式下的系統(tǒng),除8086CPU外所需配置的其它一些芯片和這些芯片與CPU間的主要連接關(guān)系。四、8086的最大/最小模式系統(tǒng)1.系統(tǒng)配置最小模式典型配置在硬件連接上的特點(diǎn):含三片地址鎖存器8282/8283含兩片總線(xiàn)雙向數(shù)據(jù)緩沖器(總線(xiàn)收發(fā)器)8286/8287含一片時(shí)鐘發(fā)生器8284A
MN/MX端接高電平(+5v)8284ARESETREADYMN/MXALEBHEA1~A16AD15~AD0DENDT/RM/IOWRRDHOLDHLDAINTRINTA8086STB8282(三片)地址鎖存器數(shù)據(jù)收發(fā)器8286OET控制總線(xiàn)數(shù)據(jù)總線(xiàn)地址總線(xiàn)CLK+5VREADYRESETBHE8086CPU最小模式下系統(tǒng)配置x1x2RDYRES(兩片)(可選)ALEAD0AD1AD2AD3AD6AD7AD5AD4AD8AD9AD15A16A17A18A19BHEDI0DI1DI2DI3DI4DI5DI6DI7OEDO0DO1DO2DO3DO4DO5DO6DO7數(shù)據(jù)STBDI0DI1DI7DO0DO1DO7STBOE8282STBOE8282數(shù)據(jù)80868282鎖存器和8086的連接
OE為低電平時(shí),DOi有效,否則變?yōu)楦咦杩埂?282數(shù)據(jù)總線(xiàn)只有當(dāng)OE為低電平時(shí),才允許數(shù)據(jù)通過(guò)8286。AD0AD1AD2AD3AD6AD7AD5AD4A0A1A2A3A6A7A5A4OEB0B1B2B3B6B7B5B4T8286DENDT/RA0A1A2A3A6A5A4A780868286總線(xiàn)收發(fā)器和8086的連接提供頻率恒定的時(shí)鐘信號(hào)提供與CLK同步的READY和RESET信號(hào)8284A的兩個(gè)功能:8284A的兩個(gè)振蕩源:脈沖發(fā)生器晶體振蕩器510?510?X1X2EFIF/C8284AREADYRESETRDYRESCLKCLKRESETREADY8086
8284A與8086的連接控制總線(xiàn)3.
最大模式系統(tǒng)最大模式下還需配置外加電路(總線(xiàn)控制器8288)來(lái)對(duì)CPU輸出的狀態(tài)信號(hào)(S2、S1、S0)
進(jìn)行變換和組合,以得到對(duì)存儲(chǔ)器和I/O端口的讀/寫(xiě)信號(hào),以及對(duì)8282及8286的控制信號(hào)等。8288通過(guò)譯碼器輸出五組控制信號(hào)送給8282的地址鎖存信號(hào)ALE送給8286的控制信號(hào)DEN和DT/R,分別控制8286的開(kāi)啟和數(shù)據(jù)傳輸方向決定8288本身工作方式的信號(hào)IOB中斷響應(yīng)信號(hào)INTA讀/寫(xiě)控制信號(hào)MRDC、MWTC、IORC、IOWCRESETREADYMN/MXBHEA19~A16AD15~AD0INTR8086CLKREADYRESET8284ACLKOE8282鎖存器(3個(gè))STB8286收發(fā)器(2個(gè))OETRQ/GT1RQ/GT0S0S1S2地址總線(xiàn)8288總線(xiàn)控制器8259A及有關(guān)電路BHEINTA中斷請(qǐng)求控制總線(xiàn)數(shù)據(jù)總線(xiàn)
8086在最大模式下的典型配置圖DT/RDENALE1.QS1、QS0(InstructionQueueStatus)指令隊(duì)列狀態(tài)信號(hào)輸出向外提供前一個(gè)狀態(tài)時(shí)指令隊(duì)列的狀態(tài),便于外部對(duì)8086/8088內(nèi)部指令隊(duì)列的動(dòng)作跟蹤最大系統(tǒng)模式中,總線(xiàn)控制器8288就是利用這些狀態(tài)信號(hào)來(lái)產(chǎn)生對(duì)存儲(chǔ)器和I/O接口的控制信號(hào),表2.82.S2、S1、S0(Buscyclestatus)總線(xiàn)周期狀態(tài)3.LOCK總線(xiàn)封鎖信號(hào)輸出由指令前綴LOCK產(chǎn)生,LOCK后指令執(zhí)行完畢,自動(dòng)撤銷(xiāo)8086/8088的INTA的兩個(gè)中斷響應(yīng)脈沖之間,LOCK信號(hào)有效LOCK信號(hào)有效期間,其他總線(xiàn)部件不能占用總線(xiàn)DMA期間,高阻態(tài)4.RQ/GT1、RQ/GT0:總線(xiàn)請(qǐng)求信號(hào)輸入/總線(xiàn)請(qǐng)求允許信號(hào)輸出可提供CPU以外的兩個(gè)處理器使用雙向RQ/GT0比RQ/GT1優(yōu)先級(jí)高5.總線(xiàn)控制器8288的輸出信號(hào)ALE、DEN、DT/R、INTA五、8086CPU的內(nèi)部時(shí)序
1.8086CPU總線(xiàn)周期的概念2.最小模式下的8086CPU的讀寫(xiě)總線(xiàn)保持總線(xiàn)周期為使取指令和傳送數(shù)據(jù)協(xié)調(diào)工作,8086的操作在時(shí)鐘(CLK)的統(tǒng)一控制下進(jìn)行,其操作是周期性的。指令周期:執(zhí)行一條指令所需的時(shí)間。一個(gè)指令周期由若干個(gè)總線(xiàn)周期組成??偩€(xiàn)周期:CPU通過(guò)總線(xiàn)與存儲(chǔ)器或外設(shè)進(jìn)行一次數(shù)據(jù)傳輸所需的時(shí)間。一個(gè)總線(xiàn)周期由若干個(gè)時(shí)鐘周期組成。一個(gè)最基本的總線(xiàn)周期由4個(gè)時(shí)鐘周期(T1~T4)組成。1.8086CPU總線(xiàn)周期的概念T1T2TITIT4T3T2
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年國(guó)際關(guān)系與現(xiàn)代外交政策知識(shí)考察試題及答案解析
- 中學(xué)第二學(xué)期學(xué)校德育處工作行事歷及德育工作總結(jié)
- 2025年數(shù)字化轉(zhuǎn)型與企業(yè)創(chuàng)新測(cè)試題及答案
- 2025年房地產(chǎn)經(jīng)紀(jì)人資格考試考題及答案
- 醫(yī)院人員緊急替代應(yīng)急預(yù)案
- 礦井防塵工技能培訓(xùn)考試題庫(kù)及答案
- 2025年班組三級(jí)安全安全教育考試試題及答案
- 建設(shè)工程施工合同糾紛要素式起訴狀模板高清無(wú)水印下載
- 化驗(yàn)員求職面試技巧總結(jié)
- 2026年智慧城市建設(shè)培訓(xùn)
- 工作照片拍攝培訓(xùn)課件
- 2025年海南三亞市吉陽(yáng)區(qū)教育系統(tǒng)公開(kāi)招聘編制教師122人(第1號(hào))筆試歷年典型考題(歷年真題考點(diǎn))解題思路附帶答案詳解
- 2026年孝昌縣供水有限公司公開(kāi)招聘正式員工備考題庫(kù)參考答案詳解
- 托管學(xué)校合作合同協(xié)議
- 產(chǎn)品銷(xiāo)售團(tuán)隊(duì)外包協(xié)議書(shū)
- 2025年醫(yī)保局支部書(shū)記述職報(bào)告
- 汽車(chē)充電站安全知識(shí)培訓(xùn)課件
- 世說(shuō)新語(yǔ)課件
- 全體教師大會(huì)上副校長(zhǎng)講話(huà):點(diǎn)醒了全校200多名教師!毀掉教學(xué)質(zhì)量的不是學(xué)生是這7個(gè)環(huán)節(jié)
- 民航招飛pat測(cè)試題目及答案
- T-CDLDSA 09-2025 健身龍舞彩帶龍 龍舞華夏推廣套路技術(shù)規(guī)范
評(píng)論
0/150
提交評(píng)論