




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第2章
8086系統(tǒng)結(jié)構(gòu)字長:指CPU能同時(shí)處理的數(shù)據(jù)位數(shù),也稱數(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和8MHz〕,有16條數(shù)據(jù)線和20條地址線。由于地址總線的位數(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,我們討論8086的內(nèi)部結(jié)構(gòu)是從指令的執(zhí)行這一全過程來考慮的。8086從功能上分為兩局部:總線接口部件BIU執(zhí)行部件EUAHALBHBLCHCLDHDLSPBPDISICSDSSSESIP內(nèi)部寄存器123456EU控制電路暫存存放器總線控制電路標(biāo)志存放器20位AB16位DB16位DB8位地址加法器通用存放器ALU指令隊(duì)列緩沖器8086總線執(zhí)行部件〔EU〕總線接口部件〔BIU〕8086CPU的內(nèi)部結(jié)構(gòu)框圖∑指針和變址存放器AXBXCXDX16位DB數(shù)據(jù)存放器
地址加法器專用存放器組指令隊(duì)列總線控制電路其主要功能是與外部存儲(chǔ)器或I/O端口讀取操作。3.BIU的組成3.BIU的組成6字節(jié)指令隊(duì)列緩沖器一般情況下,CPU執(zhí)行完一條指令就可以立即執(zhí)行下一條指令,稱為流水線技術(shù)。20位地址加法器完成從段基地址〔存放在CS、DS、ES、SS〕與16位段內(nèi)偏移地址〔由指令指定〕產(chǎn)生20位的物理地址。4個(gè)段地址存放器〔16bit〕指令指針控制器-IP(16bit)用于存放BIU將要取的下一條指令的段內(nèi)偏移地址??偩€控制電路用于產(chǎn)生系統(tǒng)總線操作時(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ù)傳輸。★
通用存放器組算術(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ì)列中取出指令操作碼,通過譯碼電路分析,發(fā)出相應(yīng)的控制命令,控制ALU數(shù)據(jù)的流向。標(biāo)志存放器6個(gè)狀態(tài)標(biāo)志反映指令運(yùn)行后的狀態(tài);3個(gè)控制標(biāo)志可由編程人員通過專門指令設(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)算過程中產(chǎn)生溢出時(shí),為1字節(jié)運(yùn)算結(jié)果超出范圍:-128~+127字運(yùn)算結(jié)果超出范圍:-32768~+32767
產(chǎn)生溢出:
當(dāng)判斷出次高位往最高位有進(jìn)位,而最高位又沒有往前進(jìn)時(shí),產(chǎn)生溢出。當(dāng)判斷出次高位往最高位無進(jìn)位,而最高位往前卻有進(jìn)時(shí),產(chǎn)生溢出。僅對帶符號(hào)數(shù)有效010101000011100101000101011010101100011111100000CF=0PF=1AF=1ZF=0SF=1OF=1+例〔書例2-2〕:例2-1:
0010001101000101+00110010000110010101010101011110
CF=0PF=0AF=0ZF=0SF=0OF=03個(gè)控制標(biāo)志:DF---串操作過程中地址自動(dòng)遞減,為1IF---允許CPU響應(yīng)外部可屏蔽中斷,為1TF---CPU處于單步工作方式,為1每一控制標(biāo)志針對某一特定的功能,控制標(biāo)志一旦設(shè)置后,便對后面的操作產(chǎn)生控制作用?!飶闹噶铌?duì)列中取出指令;對指令進(jìn)行譯碼,發(fā)出相應(yīng)的傳送數(shù)據(jù)或運(yùn)算的控制信號(hào);接收由BIU傳送來的數(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ì)列已滿,且EU對BIU沒有總線訪問請求時(shí),BIU進(jìn)入空閑狀態(tài);當(dāng)在EU執(zhí)行指令的過程中必須訪問存儲(chǔ)器或輸入輸出設(shè)備時(shí),那么EU會(huì)請求BIU進(jì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指令指針存放器IP8086CPU的存放器結(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〕累加器一般用來存放參加運(yùn)算的數(shù)據(jù)和結(jié)果,在乘、除法運(yùn)算、I/O操作、BCD數(shù)運(yùn)算中有不可替代的作用。BX〔BaseRegister〕基址存放器除可作數(shù)據(jù)存放器外,還可放內(nèi)存的邏輯偏移地址,而AX,CX,DX那么不能。CX〔Counter〕將它稱作計(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ì) 在指令中沒有明顯的標(biāo)出,而這些存放器參加操作,稱之為“隱含尋址〞。在某類指令中,某些通用存放器有指定的特殊用法,編程時(shí)需遵循這些規(guī)定,將某些特殊數(shù)據(jù)放在特定的存放器中,這樣才能正確的執(zhí)行這些指令。能有效地縮短指令代碼的長度。2、段存放器總線接口部件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)注意的問題3.8086CPU管腳功能簡要說明最小模式系統(tǒng)中只有8086一個(gè)微處理器,系統(tǒng)中所有的總線控制信號(hào)都直接由8086產(chǎn)生,因此系統(tǒng)中的總線控制邏輯電路被減到最小。(MN/MX=1)最大模式系統(tǒng)中總是包含兩個(gè)或多個(gè)微處理器,其中一個(gè)主處理器就是8086,其它處理器為協(xié)處理器〔如,用于數(shù)值運(yùn)算的8087,用于輸入/輸出大量數(shù)據(jù)的8089〕(MN/MX=0)。1.8086CPU工作模式的概念管腳名稱及其功能---用英文單詞/縮寫表示,名稱根本反映該信號(hào)的作用及含義。信號(hào)流向---輸入、輸出、雙向。有效電平---管腳起作用時(shí)的邏輯電平〔正、負(fù)邏輯〕。三態(tài)能力---是指管腳除了能正常輸出或輸入高、低電平外,還能輸出高阻狀態(tài)。當(dāng)輸出高阻狀態(tài)時(shí),表示芯片實(shí)際上已經(jīng)放棄了對該管腳的控制,使之“懸空〞,所連接的設(shè)備可以接管對它的控制。管腳分時(shí)復(fù)用---稱總線為多路總線/復(fù)用總線。
2.學(xué)習(xí)8086CPU管腳時(shí)應(yīng)注意的問題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);地線〔1和20管腳GND〕應(yīng)接地。3.8086CPU管腳功能簡要說明<2>AD15~AD0---地址(T1)/數(shù)據(jù)復(fù)用---雙向、三態(tài)在CPU響應(yīng)中斷以及系統(tǒng)總線“保持響應(yīng)〞時(shí),被浮置為高阻狀態(tài)。<3>A19/S6~A16/S3---地址(T1)/狀態(tài)(T2、T3、Tw、T4)復(fù)用---輸出、三態(tài)。S6————指示8086當(dāng)前是否與總線相連。S6=0表示當(dāng)前與總線相連。S5————說明中斷允許標(biāo)志當(dāng)前的設(shè)置。S5=0表示CPU關(guān)閉中斷;S5=1表示中斷是開放的,允許一切可屏蔽中斷的中斷請求。S4、S3合起來指出當(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ù)總線允許/狀態(tài)復(fù)用
---輸出。
S7——用來輸出狀態(tài)信息,在當(dāng)前8086芯片設(shè)計(jì)中未被定義,暫作備用。BHE——為低電平時(shí)表示高八位數(shù)據(jù)線上的數(shù)據(jù)有效。讀寫和響應(yīng)中斷時(shí)的區(qū)分?BHEAD0總線使用情況所用的數(shù)據(jù)總線0016位數(shù)據(jù)總線上進(jìn)行字傳送AD15~AD001高8位數(shù)據(jù)總線上進(jìn)行字節(jié)傳送AD15~AD810低8位數(shù)據(jù)總線上進(jìn)行字節(jié)傳送AD7~AD011無效BHE和A0編碼的含義BHE和A0合起來表示當(dāng)前總線的使用:<5>RD(T2、T3、Tw)
---讀信號(hào)---三態(tài)輸出,低電平有效。指出要發(fā)命令,將要執(zhí)行一個(gè)對內(nèi)存或端口的讀操作。<6>WR---寫信號(hào)---三態(tài)輸出,低電平有效。指出要發(fā)命令,將要執(zhí)行一個(gè)對內(nèi)存或端口的寫操作。<
7>M/IO---存儲(chǔ)器/輸入輸出控制信號(hào)---三態(tài)輸出。M/IO為1時(shí),表示CPU當(dāng)前正在訪問存儲(chǔ)器;M/IO為0時(shí),表示CPU當(dāng)前正在訪問I/O端口。一般地,在前一個(gè)總線周期的T4狀態(tài)它就成為有效電平,然后開始一個(gè)新的總線周期,在此周期中一直保持有效電平,直到本周期的T4
狀態(tài)為止。在DMA方式時(shí),被浮置為高阻狀態(tài)。<8>READY---準(zhǔn)備好信號(hào)---輸入,高電平有效。假設(shè)CPU在T3狀態(tài)檢測到它為低電平,那么在T3狀態(tài)之后插入等待狀態(tài)Tw;當(dāng)READY=1,那么進(jìn)入T4狀態(tài),結(jié)束數(shù)據(jù)傳輸過程,從而結(jié)束該總線周期。<9>INTR---可屏蔽中斷請求---輸入、電平觸發(fā),高電平有效。CPU在執(zhí)行每條指令的最后一個(gè)時(shí)鐘周期T4對INTR管腳進(jìn)行采樣。假設(shè)IF=1、INTR=1,那么CPU就在結(jié)束當(dāng)前指令后,執(zhí)行相應(yīng)中斷效勞程序<
10>INTA---中斷響應(yīng)信號(hào)---輸出、低電平有效。表示CPU響應(yīng)了外設(shè)發(fā)來的INTR信號(hào)。該信號(hào)實(shí)際上是位于兩個(gè)連續(xù)總線周期中的兩個(gè)負(fù)脈沖。第一個(gè)負(fù)脈沖用于通知外設(shè)的接口,它發(fā)出的中斷請求已得到允許;外設(shè)接口收到第二個(gè)負(fù)脈沖后,往數(shù)據(jù)總線上放中斷類型碼/號(hào)。<11>NMI---非屏蔽中斷信號(hào)---輸入、上升沿觸發(fā)。一旦該信號(hào)有效,CPU在現(xiàn)行指令結(jié)束后,執(zhí)行對應(yīng)于中斷類型號(hào)為2的非屏蔽中斷處理程序,不受IF影響,不能用軟件屏蔽。<12>TEST---測試信號(hào)---輸入,低電平有效。該信號(hào)是與WAIT指令結(jié)合起來使用的。當(dāng)CPU執(zhí)行WAIT指令時(shí),每隔5個(gè)時(shí)鐘周期對它進(jìn)行一次測試,若測試到它無效,CPU繼續(xù)處于等待狀態(tài),直到檢測到它為低電平時(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開始執(zhí)行程序。<
14>ALE(T1)---地址鎖存允許信號(hào)---輸出、高電平有效。在T1狀態(tài),該引腿輸出有效電平,以表示當(dāng)前在在數(shù)據(jù)/地址復(fù)用總線上的輸出的是地址信息,它用作地址鎖存器8282的片選信號(hào)STB,對地址進(jìn)行鎖存。<
15>DT/R---數(shù)據(jù)收發(fā)信號(hào)---三態(tài)輸出。用來控制8286芯片的數(shù)據(jù)傳送方向。DT/R為1時(shí),進(jìn)行數(shù)據(jù)發(fā)送,即進(jìn)行寫操作;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ù)總線收發(fā)器8286的輸出允許信號(hào)OE。它在每個(gè)存儲(chǔ)器和I/O訪問周期及中斷響應(yīng)周期為有效電平。它在DMA方式時(shí),被浮置為高阻狀態(tài)。<
17>HOLD---總線保持請求信號(hào)---輸入、高電平有效。當(dāng)系統(tǒng)中CPU之外的另一個(gè)主模塊要求占用總線時(shí),通過它向CPU發(fā)出高電平請求信號(hào)。<
18>HLDA---總線保持響應(yīng)信號(hào)---輸出、高電平有效。它有效時(shí),表示CPU對其它主模塊的總線請求作出響應(yīng),與此同時(shí),所有地址/數(shù)據(jù)總線和控制狀態(tài)線呈現(xiàn)高阻狀態(tài),從而讓出系統(tǒng)總線。<19>MN/MX---工作模式選擇信號(hào)---輸入。MN/MX=1,表示CPU工作在最小模式下;MN/MX=0,表示CPU工作在最大模式下。<20>CLK---主時(shí)鐘信號(hào)---輸入。它為CPU和總線控制邏輯電路提供定時(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ù)總線D7~D0數(shù)據(jù)總線D15~D8BHE地址總線A19~A1A0存儲(chǔ)體與總線的連接D7~D0SEL-片選BHE和A0組合及對應(yīng)的控制BHE和A0配合可以訪問存儲(chǔ)器的控制作用BHEA0對應(yīng)的存取操作所用的數(shù)據(jù)總線00從偶地址開始讀/寫一個(gè)字AD15~AD001從奇地址讀/寫一個(gè)字節(jié)AD15~AD810從偶地址讀/寫一個(gè)字節(jié)AD7~AD00110從奇地址讀/寫一個(gè)字(分兩次寫)在8086系統(tǒng)中的兩個(gè)約定:約定一CPU用數(shù)據(jù)總線傳輸16位數(shù)據(jù)時(shí),總是把數(shù)據(jù)傳到以偶地址開頭的兩個(gè)相鄰單元或兩個(gè)相鄰端口中;或者從這樣兩個(gè)單元或兩個(gè)端口取數(shù)。約定二數(shù)據(jù)作為“字〞在內(nèi)存或端口存放時(shí),低位字節(jié)放在地址較低的單元或端口,高位字節(jié)放在地址相鄰的較高的單元或端口。也就是說,當(dāng)CPU往內(nèi)存或端口傳輸數(shù)據(jù)時(shí),低8位數(shù)據(jù)傳輸?shù)捷^低的偶地址單元;高8位數(shù)據(jù)傳輸?shù)捷^高的奇地址單元。
由此可見,偶地址的端口和內(nèi)存單元總是和數(shù)據(jù)總線的低8位相聯(lián)系;而奇地址的端口和內(nèi)存單元總是和數(shù)據(jù)總線的高8位相聯(lián)系。數(shù)據(jù)Y數(shù)據(jù)X偶10050H數(shù)據(jù)Y偶奇數(shù)據(jù)X偶奇低地址圖2.58086CPU
X
Y〔a〕從偶地址開始讀一個(gè)字奇10051H高地址〔b〕從奇地址開始讀一個(gè)字節(jié)8086CPU8086CPU
X數(shù)據(jù)Y〔C〕從偶地址開始讀一個(gè)字節(jié)數(shù)據(jù)X
Y數(shù)據(jù)X偶奇數(shù)據(jù)奇數(shù)據(jù)Y
X
Y數(shù)據(jù)8086CPU〔d〕從奇地址開始讀一個(gè)字8086CPU有20條地址線,每個(gè)存儲(chǔ)單元對應(yīng)的地址是20位的,可尋址1MB;而CPU內(nèi)存放器的位數(shù)是16位的,能尋址的內(nèi)存空間只能是64KB。為能對1MB的存儲(chǔ)器進(jìn)行尋址,8086系統(tǒng)采用地址分段的方法,即每個(gè)邏輯段最多可為64KB,段內(nèi)仍然采用16位尋址。段基址存放在四個(gè)段存放器中。每個(gè)段不一定都是64K〔可以小于它〕。段與段之間可以是連續(xù)的,也可以是分開的或重疊的。(2)存儲(chǔ)器的分段附加段段首地址的最低4位總為0段存放器放相應(yīng)的段首地址高16位,即段基址段存放器:CS、DS、SS、ES10000H250A0H7FFAOH8CFA0H1000HCS250AHDS7FFAHSS8CFAHES例邏輯地址:由段基址和偏移地址兩局部組成,都是無符號(hào)的16進(jìn)制數(shù),寫作:××:××---段基址:偏移地址,程序設(shè)計(jì)時(shí)采用邏輯地址。段基址由段存放器給出;偏移地址一般由IP、DI、SI、BX、BP、SP等16位存放器給出。(3)存儲(chǔ)器的邏輯地址與物理地址A000H:0800H--邏輯地址表示法如物理地址:指CPU和存儲(chǔ)器進(jìn)行數(shù)據(jù)交換時(shí)實(shí)際使用的地址,即絕對地址〔00000H~FFFFFH〕,一個(gè)存儲(chǔ)單元對應(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ǔ)器中開辟的一個(gè)區(qū)域,用來存放暫時(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è)地址空間;用對存儲(chǔ)器的訪問指令來實(shí)現(xiàn)對端口的讀寫。優(yōu)點(diǎn)是不需要專門的I/O指令,尋址手段豐富靈活。缺點(diǎn)是I/O端口占一局部地址空間,程序不易閱讀。在不同的微機(jī)系統(tǒng)中,I/O接口的編址有兩種形式:I/O組織每個(gè)I/O接口芯片內(nèi)都有一個(gè)或幾個(gè)端口,一個(gè)端口往往對應(yīng)著芯片內(nèi)部的一個(gè)存放器或一組存放器。微機(jī)系統(tǒng)為每一端口分配一個(gè)地址---端口號(hào)。8086允許有65535個(gè)8位的I/O端口,兩個(gè)相鄰的8位端口可組成一個(gè)16位端口。
獨(dú)立編址的操作過程為:CPU執(zhí)行IN或OUT指令時(shí),從硬件產(chǎn)生有效的讀/寫控制信號(hào),同時(shí)使M/IO為低電平,通過外部邏輯電路的組合,產(chǎn)生對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含兩片總線雙向數(shù)據(jù)緩沖器〔總線收發(fā)器〕8286/8287含一片時(shí)鐘發(fā)生器8284AMN/MX端接高電平〔+5v〕8284ARESETREADYMN/MXALEBHEA1~A16AD15~AD0DENDT/RM/IOWRRDHOLDHLDAINTRINTA8086STB8282(三片〕地址鎖存器數(shù)據(jù)收發(fā)器8286OET控制總線數(shù)據(jù)總線地址總線CLK+5VREADYRESETBHE8086CPU最小模式下系統(tǒng)配置x1x2RDYRES(兩片〕〔可選〕ALEAD0AD1AD2AD3AD6AD7AD5AD4AD8AD9AD15A16A17A18A19BHEDI0DI1DI2DI3DI4DI5DI6DI7OEDO0DO1DO2DO3DO4DO5DO6DO7數(shù)據(jù)STBDI0DI1DI7DO0DO1DO7STBOE8282STBOE8282數(shù)據(jù)80868282鎖存器和8086的連接
OE為低電平時(shí),DOi有效,否則變?yōu)楦咦杩埂?282數(shù)據(jù)總線只有當(dāng)OE為低電平時(shí),才允許數(shù)據(jù)通過8286。AD0AD1AD2AD3AD6AD7AD5AD4A0A1A2A3A6A7A5A4OEB0B1B2B3B6B7B5B4T8286DENDT/RA0A1A2A3A6A5A4A780868286總線收發(fā)器和8086的連接提供頻率恒定的時(shí)鐘信號(hào)提供與CLK同步的READY和RESET信號(hào)8284A的兩個(gè)功能:8284A的兩個(gè)振蕩源:脈沖發(fā)生器晶體振蕩器510?510?X1X2EFIF/C8284AREADYRESETRDYRESCLKCLKRESETREADY8086
8284A與8086的連接控制總線3.
最大模式系統(tǒng)最大模式下還需配置外加電路(總線控制器8288)來對CPU輸出的狀態(tài)信號(hào)(S2、S1、S0)
進(jìn)行變換和組合,以得到對存儲(chǔ)器和I/O端口的讀/寫信號(hào),以及對8282及8286的控制信號(hào)等。8288通過譯碼器輸出五組控制信號(hào)送給8282的地址鎖存信號(hào)ALE送給8286的控制信號(hào)DEN和DT/R,分別控制8286的開啟和數(shù)據(jù)傳輸方向決定8288本身工作方式的信號(hào)IOB中斷響應(yīng)信號(hào)INTA讀/寫控制信號(hào)MRDC、MWTC、IORC、IOWCRESETREADYMN/MXBHEA19~A16AD15~AD0INTR8086CLKREADYRESET8284ACLKOE8282鎖存器〔3個(gè)〕STB8286收發(fā)器〔2個(gè)〕OETRQ/GT1RQ/GT0S0S1S2地址總線8288總線控制器8259A及有關(guān)電路BHEINTA中斷請求控制總線數(shù)據(jù)總線
8086在最大模式下的典型配置圖DT/RDENALE1.QS1、QS0〔InstructionQueueStatus)指令隊(duì)列狀態(tài)信號(hào)輸出向外提供前一個(gè)狀態(tài)時(shí)指令隊(duì)列的狀態(tài),便于外部對8086/8088內(nèi)部指令隊(duì)列的動(dòng)作跟蹤最大系統(tǒng)模式中,總線控制器8288就是利用這些狀態(tài)信號(hào)來產(chǎn)生對存儲(chǔ)器和I/O接口的控制信號(hào),表2.82.S2、S1、S0(Buscyclestatus)總線周期狀態(tài)3.LOCK總線封鎖信號(hào)輸出由指令前綴LOCK產(chǎn)生,LOCK后指令執(zhí)行完畢,自動(dòng)撤銷8086/8088的INTA的兩個(gè)中斷響應(yīng)脈沖之間,LOCK信號(hào)有效LOCK信號(hào)有效期間,其他總線部件不能占用總線DMA期間,高阻態(tài)4.RQ/GT1、RQ/GT0:總線請求信號(hào)輸入/總線請求允許信號(hào)輸出可提供CPU以外的兩個(gè)處理器使用雙向RQ/GT0比RQ/GT1優(yōu)先級(jí)高5.總線控制器8288的輸出信號(hào)ALE、DEN、DT/R、INTA五、8086CPU的內(nèi)部時(shí)序
1.8086CPU總線周期的概念2.最小模式下的8086CPU的讀寫總線保持總線周期為使取指令和傳送數(shù)據(jù)協(xié)調(diào)工作,8086的操作在時(shí)鐘〔CLK〕的統(tǒng)一控制下進(jìn)行,其操作是周期性的。指令周期:執(zhí)行一條指令所需的時(shí)間。一個(gè)指令周期由假設(shè)干個(gè)總線周期組成??偩€周期:CPU通過總線與存儲(chǔ)器或外設(shè)進(jìn)行一次數(shù)據(jù)傳輸所需的時(shí)間。一個(gè)總線周期由假設(shè)干個(gè)時(shí)鐘周期組成。一個(gè)最根本的總線周期由4個(gè)時(shí)鐘周期〔T1~T4〕組成。1.8086CPU總線周期的概念T1T2TITIT4T3T2T1T4TWT1
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 不銹鋼表面除蠟施工方案
- 2025北京東城高二(上)期末生物(教師版)
- 突發(fā)事件處置方案
- 地下室不銹鋼水池施工方案
- 紫葉矮櫻嫁接繁育技術(shù)關(guān)鍵要點(diǎn)全面深入探討與闡述
- 四川省眉山市洪雅縣洪雅縣2024-2025學(xué)年九年級(jí)上學(xué)期期末考試物理試題(原卷版+解析版)
- 室外弱電整修施工方案
- 綠色金融與可持續(xù)投資的策略
- 工業(yè)碳減排與綠色制造的策略及實(shí)施路徑
- 思維可視化視域下高中英語課堂讀后續(xù)寫教學(xué)策略研究
- 智慧農(nóng)場整體建設(shè)實(shí)施方案
- 被詐騙的起訴書范文
- 公路養(yǎng)護(hù)服務(wù)投標(biāo)方案(技術(shù)標(biāo))
- 灌入式半柔性復(fù)合抗車轍路面施工工法
- 小班第一學(xué)期教學(xué)進(jìn)度表
- 材料性能學(xué)課件:材料的熱學(xué)性能-2-熱傳導(dǎo)-熱穩(wěn)定性-
- 幼兒園優(yōu)質(zhì)公開課:中班數(shù)學(xué)《尋寶小勇士》課件
- 監(jiān)理單位工程項(xiàng)目總監(jiān)及監(jiān)理人員名冊
- 北師大版小學(xué)英語3-6年級(jí)單詞-(三起)帶音標(biāo)-精華版
- 聲樂第2版(學(xué)前教育專業(yè))PPT完整全套教學(xué)課件
- 《鐵道工程(A)》課程大綱
評論
0/150
提交評論