同濟大學(xué)微機原理期末復(fù)習(xí)_第1頁
同濟大學(xué)微機原理期末復(fù)習(xí)_第2頁
同濟大學(xué)微機原理期末復(fù)習(xí)_第3頁
同濟大學(xué)微機原理期末復(fù)習(xí)_第4頁
同濟大學(xué)微機原理期末復(fù)習(xí)_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、把ICW1234幾個值取值代表什么抄在空白處第二章:1.8086引腳功能:S6恒為0,表示CPU當(dāng)前與總線相連。S5表示中斷允許標(biāo)志IF的當(dāng)前設(shè)置。S4、S3合起來指出當(dāng)前正在使用哪個段寄存器。AD15AD0地址/數(shù)據(jù)復(fù)用引腳(雙向,三態(tài)),T1傳地址,T234傳數(shù)據(jù),8088不復(fù)用,只傳送數(shù)據(jù)。在總線周期的T1狀態(tài),在/BHE/S7引腳輸出/BHE信號,表示高8位數(shù)據(jù)線AD15AD8上的數(shù)據(jù)有效;在T2、T3、T4、及Tw狀態(tài),/BHE/S7引腳輸出狀態(tài)信號S7。INTR可屏蔽中斷請求信號(輸入)可屏蔽中斷請求信號,這是一個電平觸發(fā)輸入信號,高電平有效oCPU在每一個指令周期的最后一個T狀態(tài)

2、采樣這條引腳,如INTR有效,IF=1開中斷,貝9CPU執(zhí)行完當(dāng)前指令響應(yīng)中斷,進(jìn)入中斷響應(yīng)周期。這引腳上的請求信號,可以用軟件復(fù)位內(nèi)部的中斷允許位IF)來加以屏蔽。NMI非屏蔽中斷請求信號(輸入)非屏蔽中斷輸入信號(NonMaskableInterrupt),這是一個邊沿(上升沿)觸發(fā)信號。這條線上的中斷請求信號不能用軟件(IF)來加以屏蔽,所以這條線上由低到高的變化,就在當(dāng)前指令結(jié)束以后引起中斷。/RD讀信號(輸出,三態(tài))讀選通信號,低電平有效。當(dāng)其有效時,表示正在進(jìn)行存儲器讀或I/O讀。在DMA方式時,此線浮空。READY準(zhǔn)備就緒信號(輸入)這是從所尋址的存儲器或I/O設(shè)備來的響應(yīng)信號,

3、高電平有效。當(dāng)其有效時,將完成數(shù)據(jù)傳送。CPU在T3周期的開始采樣READY線,若其為低,則在T3周期結(jié)束以后,插入TW周期,直至READY變?yōu)橛行?,?在此TW周期結(jié)束以后,進(jìn)入T4周期,完成數(shù)據(jù)傳送。/TEST測試信號(輸入)這個輸入信號是和“WAIT”指令結(jié)合起來使用oCPU在執(zhí)行WAIT指令后,CPU處于等待狀態(tài),當(dāng)TEST輸入腳有效(低電平有效),則CPU結(jié)束等待狀態(tài),繼續(xù)執(zhí)行WAIT指令后的指令。MN/MX最小/最大模式信號(輸入)這個輸入信號決定了CPU的工作模式,MN/MX為高電平(5V)CPU處于最小模式,為低電平(0V)CPU處于最大模式。/INTA中斷響應(yīng)信號(輸出,三態(tài)

4、)當(dāng)CPU響應(yīng)外設(shè)中斷請求時,發(fā)出兩個連續(xù)的/INTAoALE地址鎖存允許信號(輸出)是CPU提供給地址鎖存器(8282)的控制信號,有效時,將AD上的地址打入鎖存器。/DEN數(shù)據(jù)允許信號(輸出,三態(tài))當(dāng)CPU發(fā)出數(shù)據(jù)允許信號作為數(shù)據(jù)總線收發(fā)器(8286)的數(shù)據(jù)輸出允許信號。DT/R數(shù)據(jù)發(fā)送/接收信號(輸出,三態(tài))該信號用于控制數(shù)據(jù)總線收發(fā)器數(shù)據(jù)的傳送方向,高電平時,CPU向內(nèi)存或I/O端口寫數(shù)據(jù),低電平時,CPU從內(nèi)存或I/O端口讀入數(shù)據(jù)。IO/M輸入輸出/存儲器控制信號(輸出,三態(tài),8088)當(dāng)為高電平時,表示CPU正與I/O端口進(jìn)行數(shù)據(jù)傳送,為低電平時,表示CPU正與內(nèi)存進(jìn)行數(shù)據(jù)傳送(見

5、下表)/SSO系統(tǒng)狀態(tài)信號(輸出,三態(tài),8088)該信號與DT/R、IO/M信號的組合,表示對應(yīng)的操作。/WR寫信號(輸出,三態(tài))有效時,表示CPU正對I/O端口或內(nèi)存進(jìn)行數(shù)據(jù)寫入。HOLD總線請求信號(輸入)當(dāng)CPU以外的總線設(shè)備要使用總線時,通過該引腳向CPU發(fā)一個信號。HLDA總線響應(yīng)信號(輸出)當(dāng)CPU接收到HOLD后,通過該引腳向發(fā)HOLD設(shè)備發(fā)出HLDA,表示CPU已讓出總線控制權(quán),發(fā)HOLD的設(shè)備可獲總線的控制權(quán)。/LOCK總線封鎖信號(輸出,三態(tài))低電平有效,當(dāng)其有效時,別的總線主設(shè)備不能獲得對系統(tǒng)總線的控制o/LOCK信號由前綴指令“LOCK”使其有效,且在本指令完成以前保持

6、有效。當(dāng)CPU處在DMA響應(yīng)狀態(tài)時,此線浮空。/RQ/GT0,/RQ/GT1(雙向)這些請求/允許(Request/Grant)腳,是由外部的總線主設(shè)備請求總線并促使CPU在當(dāng)前總線周期結(jié)束后讓出總線用的。每一個腳是雙向的,/RQ相當(dāng)于HOLD,/GT相當(dāng)于HLDA。GT0比GT1有更高的優(yōu)先權(quán)。這些線的內(nèi)部有一個上拉電阻,所以允許這些引腳不連接。最大模式,最小模式最小模式一整個系統(tǒng)中只有一個微處理器,如8086/8088,所有控制信號直接由CPU產(chǎn)生。最大模式一整個系統(tǒng)中有兩個或兩個以上微處理器,除了有CPU外,還有協(xié)處理器8087,輸入輸出處理器8089等,所有總線控制信號由8288產(chǎn)生。

7、工作在最大模式下的CPU必須使用8288總線控制器來提供控制信號,這些控制信號取代在最小模式中的/WR、ALE、IO/M、DT/R、/DEN和/INTA。協(xié)處理器8087和CPU的連接8087除了MN/MX、LOCK、/RD、NMI四個引腳未用外,其它引腳意義同CPU。(1)8087通過監(jiān)視CPU的S2、SI、SO,當(dāng)CPU進(jìn)入取指周期(即CPU從內(nèi)存中取指令),8087同時從總線上讀取指令放入自己的指令隊列,保持自己的指令隊列中的指令與CPU中的指令隊列中的指令一致。同時,8087還監(jiān)測CPU的隊列狀態(tài)線QS1、QS0,了解CPU的當(dāng)前隊列工作情況。8087指令的操作數(shù)有二種形式,在8087

8、的堆棧中或在存儲器中。在堆棧中,直接執(zhí)行指令。在存儲器中,從存儲器讀數(shù)據(jù)由CPU負(fù)責(zé),當(dāng)CPU判斷出需要從存儲器中讀數(shù)據(jù)時,CPU根據(jù)有效地址進(jìn)行一次“假(虛)讀”,即CPU給出地址和讀信號,將數(shù)據(jù)從存儲器中讀到數(shù)據(jù)總線上,但CPU不從數(shù)據(jù)總線上取數(shù)據(jù),而由8087從總線上讀取數(shù)據(jù),如數(shù)據(jù)一次讀不完,8087通過RQ/GT申請總線使用權(quán),繼續(xù)讀取數(shù)據(jù)的剩余字節(jié)。當(dāng)8087存數(shù)據(jù)操作時,再控制總線把數(shù)據(jù)寫入由CPU確定的內(nèi)存單元中。(2)當(dāng)8087執(zhí)行指令時,BUSY信號有效,使CPU的/TEST無效,CPU自動執(zhí)行WAIT指令,CPU每5個T(時鐘周期)測試一次/TEST,如/TEST無效CP

9、U再等待。一旦8087指令執(zhí)行完,BUSY無效,使/TEST有效,CPU脫離WAIT狀態(tài),繼續(xù)取下一條指令執(zhí)行。(3)8087中斷請求線INT與CPU的非屏蔽中斷NMI連在一起,當(dāng)8087運算過程中出現(xiàn)錯誤時,通過INT向CPU發(fā)出中斷請求,轉(zhuǎn)入錯誤處理程序。4.80286存儲器管理系統(tǒng)(1)實地址管理模式在實地址方式下,80286的24根地址線A23-A0,只有20根有效,A19-A0,物理地址計算與8086完全相同。(2)保護(hù)虛擬地址方式在保護(hù)虛擬地址方式下,24根地址線全有效,訪問16MB的物理空間,可管理1GB的虛擬存儲空間。在保護(hù)虛擬地址方式下,段寄存器的值不再直接提供段的基值,而是

10、提供一個描述符在描述符表中的位置,從而找到描述符,在描述符中,放著段的基地址,再加偏移量的實際物理地址。150150MOVAL,BX15150150MOVAL,BX150150描述符用于實現(xiàn)虛擬地址到實地址的變換。描述符分為三類:一般段描述符(代碼/數(shù)據(jù)段描述符)系統(tǒng)控制描述符(特殊段描述符)門描述符(控制轉(zhuǎn)移描述符)一般段描述符(代碼/數(shù)據(jù)段描述符)包括代碼段描述符和數(shù)據(jù)段描述符。功能:給出訪問數(shù)據(jù)、堆棧和代碼段的有關(guān)地址和訪問特權(quán)。系統(tǒng)控制描述符(特殊段描述符)包括局部描述符LDT和任務(wù)段描述符TSS。功能:提供系統(tǒng)中每個任務(wù)的狀態(tài)段TSS和局部描述符表LDT。門描述符(控制轉(zhuǎn)移描述符)包

11、括任務(wù)門、調(diào)用門、中斷門、陷阱門描述符。功能:在調(diào)用門、中斷門和陷阱門中,門描述符給出了目標(biāo)代碼段的描述符,再根據(jù)代碼段描述符轉(zhuǎn)入目標(biāo)地址。在任務(wù)門中給出目的描述符TSS,完成任務(wù)切換。系統(tǒng)一共有3個描述符表。GDT(GlobalDescriptorTable):全局描述符表LDT(LocalDescriptorTable):局部描述符表IDT(InterruptDescriptorTable):中斷描述符表系統(tǒng)一共有3個描述符表寄存器GDTR、LDTR、IDTR,分別對應(yīng)了GDT、LDT和IDT。描述符表寄存器:用于存放描述符表在內(nèi)存地址及表的長度。5.80386介紹80386是第一個32位

12、微處理器,采用132引腳的柵狀陣列封裝(PGA),其中34根地址線(A31A2、/BE3/BE0),32根數(shù)據(jù)線(D31D0),3根中斷線,1根時鐘線,13根控制線,20根電源線VCC,21根地線Vss,還有8根為空,其內(nèi)部寄存器和操作數(shù)都是32位的。三種工作方式:實地址方式、虛地址保護(hù)方式及虛擬8086方式。實地址方式-80386就是一個高速的8086/8088CPU。虛地址保護(hù)方式-可尋址4GB內(nèi)存物理地址及64TB的虛擬地址空間,存儲器按段組織,每段最大4GB。虛擬8086方式-即可運行8086的應(yīng)用程序,也可運行80386應(yīng)用程序?;芳拇嫫饔嫈?shù)寄存器數(shù)據(jù)寄存器累加器數(shù)據(jù)寄存器基址寄存

13、器計數(shù)寄存器數(shù)據(jù)寄存器累加器數(shù)據(jù)寄存器EIPEFLAGSFLAGSCR0康:CR3指令指針標(biāo)志寄存器機器控制寄存器頁故障寄存器頁目錄表基址寄存器/代碼段寄存器堆棧寄存器基址寄存器源變址寄存器目標(biāo)變址寄存器堆棧段寄存器數(shù)據(jù)段寄存器擴展數(shù)據(jù)段寄存器擴展數(shù)據(jù)段寄存器擴展數(shù)據(jù)段寄存器堆棧寄存器基址寄存器源變址寄存器目標(biāo)變址寄存器堆棧段寄存器數(shù)據(jù)段寄存器擴展數(shù)據(jù)段寄存器擴展數(shù)據(jù)段寄存器擴展數(shù)據(jù)段寄存器表的唸位基地址16位界限值GDT寄存器(GDTR)表的取位基地址1E位界限值IDT寄存器(IDTR)LDT選擇符LDT寄存器(LDTR)TSS選擇符任務(wù)狀態(tài)段寄存器J31191817161514131211

14、109876540210保留ACVMRF0NTIOPLOFDFIFTFSFZF0PF0AF0CF第三章:T1:輸出地址;T2T3:傳送數(shù)據(jù);Tw:等待內(nèi)存或者10的響應(yīng);PPTP7,書P145第四章:半導(dǎo)體存儲器分類:半導(dǎo)體存儲器從使用功能上劃分,可分為兩類:讀寫存儲器RAM(RandomAccessMemory)又稱為隨機存取存儲器;只讀存儲器ROM(ReadOnlyMemory)。RAM主要用來存放各種現(xiàn)場的輸入輸出數(shù)據(jù)、中間計算結(jié)果、與外存交換的信息以及作為堆棧使用,它的存儲單元的內(nèi)容按照需要既可以讀出,也可以寫入或改寫。而ROM的信息在使用時是不能改變的,也就是不可寫入的,它只能讀出,

15、故一般用來存放固定的程序,如微型計算機的引導(dǎo)程序、監(jiān)控程序等。在RAM中又可分為雙極型和MOSRAM。雙極型RAM主要用于cache;MOSRAM主要作為主存。在ROM中可分為掩模ROM,可編程只讀存儲器ROM,可編程可擦去只讀存儲器EPROM。RAM與CPU的連接,主要有以下三個部分:地址線的連接;數(shù)據(jù)線的連接;控制線的連接。RAM片內(nèi)譯碼方式:地址譯碼有兩種方式:一種是單譯碼方式或稱字結(jié)構(gòu),適用于小容量存儲器中;另一種是雙譯碼,或稱復(fù)合譯碼結(jié)構(gòu)。3.存儲器與CPU的連接:地址線的連接;數(shù)據(jù)線的連接;控制線的連接。連接中考慮的問題:CPU總線的負(fù)載能力CPU的時序和存儲器的存取速度之間的配合

16、問題存儲器的地址分配和選片問題片選信號的產(chǎn)生,3種譯碼方法:全譯碼法全譯碼法就是將高位的地址(A19-A16)全部進(jìn)行譯碼,經(jīng)過譯碼器的輸出作為存儲芯片的片選信號,而低位地址(A15-A0)作為存儲芯片內(nèi)單元選擇(片內(nèi)地址)。部分譯碼法部分譯碼法就是將高位的地址(A17-A16)不全部進(jìn)行譯碼,只取部分地址線送譯碼器譯碼,經(jīng)過譯碼器的輸出作為存儲芯片的片選信號,而低位地址(A15-A0)作為存儲芯片內(nèi)單元選擇(片內(nèi)地址)。線譯碼法將高位的地址某一位地址線(A17選一片,A18選一片)直接作為存儲芯片的片選信號,不經(jīng)過譯碼器譯碼,而低位地址(A15-A0)作為存儲芯片內(nèi)單元選擇(片內(nèi)地址)。存儲

17、器的擴展:第六章:端口編址:統(tǒng)一編址方式:將外設(shè)端口地址和存儲器編址在一個地址空間中,優(yōu)點:CPU對外設(shè)的操作可使用全部的存儲器操作指令,故指令多,使用方便。內(nèi)存和外設(shè)的地址分布圖是同一個。不需要專門的輸入輸出指令以及區(qū)分是存儲器還是I/O操作的控制信號c缺點:外設(shè)占用了內(nèi)存單元,使內(nèi)存容量減小。程序不易讀。獨立編址方式:內(nèi)存地址和I/O地址分開編址。優(yōu)點:CPU對外設(shè)的操作要通過專用的1/O指令。程序易讀。不占用內(nèi)存空間。缺點:(1)編程靈活性差。(2)需要專用的I/O指令。2.10端口實現(xiàn)分配地址方法:用門電路實現(xiàn)端口譯碼用譯碼器實現(xiàn)端口譯碼用比較器實現(xiàn)端口譯碼PROM實現(xiàn)端口譯碼數(shù)據(jù)傳送

18、的方式:.查詢傳送方式:查詢式輸入,查詢式輸出輸入:P0LL:INAL,STATUS_P0RT;從狀態(tài)端口輸入狀態(tài)信息TESTAL,80H;檢查READY是否為1JEPOLLINAL,DATA_PORT輸出:;未READY,循環(huán);READY,從數(shù)據(jù)端口輸入數(shù)據(jù)POLL:INAL,STATUS_PORT;從狀態(tài)端口輸入狀態(tài)信息TESTAL,80HJNEPOLLMOVAL,STOREOUTDATA_PORT,AL;檢查BUSY位;BUSY則循環(huán)等待;否則,從緩沖區(qū)取數(shù)據(jù);從數(shù)據(jù)端口輸出實例:輸入:一個有8個模擬量輸入的數(shù)據(jù)采集系統(tǒng),用查詢的方式與CPU傳送信息START:MOVDL,0F8HLEA

19、DI,DSTOR;設(shè)置啟動A/D轉(zhuǎn)換的信號;存放輸入數(shù)據(jù)緩沖區(qū)的地址偏移量一DIAGAIN:MOVAL,DLANDAL,0EFHOUT4H,ALCALLDELAYMOVAL,DLOUT4H,ALPOLL:INAL,2HSHRAL,1HJNCPOLLINAL,3STOSBINCDL;使D4=0;停止A/D轉(zhuǎn)換且選擇模擬量A0;等待多路開關(guān)切換完成;啟動A/D;輸入狀態(tài)信息;若未READY,程序循環(huán)等待;否則,輸入數(shù)據(jù);存至內(nèi)存;修改多路開關(guān)控制信號,指向下一個模擬量JNEAGAIN;8個模擬量未輸入完,循環(huán)已完,執(zhí)行別的程序段輸出:設(shè)計一個輸出接口,連接一個8段顯示器,使顯示器循環(huán)顯示0-9。S

20、TART:MOVDX,51EHMOVCL,0AHMOVSI,DSTOR;設(shè)置10端口地址到DX;設(shè)置顯示字符數(shù);存放輸入數(shù)據(jù)緩沖區(qū)的地址偏移量一SIAGAIN:MOVAL,SIOUTDX,ALCALLDELAYINCSIDECCLJNZAGAIN;取顯示的數(shù)據(jù)到AL;輸出;延遲;數(shù)據(jù)緩沖區(qū)指針加一;計數(shù)值減一;未顯示完繼續(xù)顯示JMPSTARTDELAY:MOVBX,0FFFFHJMPSTARTDELAY:MOVBX,0FFFFHLOOP:DECBXJNZLOOPRET;否則,重新再開始;設(shè)置延遲常數(shù);循環(huán)延遲DSTOR:DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH

21、,6FH(2).中斷傳送方式:CPU利用率高,但是每次需要保護(hù)現(xiàn)場,保護(hù)斷點(3).直接存儲訪問(DMA):硬件在外設(shè)與內(nèi)存之間直接進(jìn)行數(shù)據(jù)交換DMA控制器必須有以下功能:(1)能向CPU發(fā)出HOLD信號;(2)當(dāng)CPU發(fā)出HLDA信號后,接管和控制總線,進(jìn)入DMA方式;(3)發(fā)出地址信息,能對存儲器尋址以及能修改地址指針;(4)能發(fā)出讀或?qū)懙瓤刂菩盘枺唬?)能決定傳送的字節(jié)數(shù),判斷DMA傳送是否結(jié)束;(6)發(fā)出DMA結(jié)束信號,使CPU恢復(fù)正常工作狀態(tài)。現(xiàn)在可以實現(xiàn)存儲器與存儲器,存儲器與10設(shè)備,10設(shè)備與10設(shè)備之間的DMA傳送DMA傳送方式:單字節(jié)方式;字節(jié)(字符)組方式內(nèi)部結(jié)構(gòu)和寄存器

22、Intel8237在圖中的通道部分只畫出了一個通道的情況,即每個通道都有一個基地址寄存器(16位),基字節(jié)數(shù)計數(shù)器(16位),現(xiàn)行地址寄存器(16位)和現(xiàn)行字節(jié)數(shù)計數(shù)器(16位),每一個通道都有一個6位的模式寄存器以控制不同的工作模式,所以,8237的內(nèi)部寄存器的類型和數(shù)量如表所示。DMA8237控制器的結(jié)構(gòu)CLK:時鐘信號nCS:片選信號RESET:復(fù)位信號READY:準(zhǔn)備好信號,同CPU。AEN:DMA地址允許信號,有效時,將)MA訪問內(nèi)存的高8位地址(在外部鎖存器中)放上系統(tǒng)總線上,同時用于屏蔽其它的總線驅(qū)動。ADSTB:地址選通,將DB7-DB0上的地址信號(高8位A15-A8)打入到

23、外部地址鎖存器中。nMEMR:存儲器讀信號nMEMW:存儲器寫信號nIOR:I/O讀信號,雙向,當(dāng)8237作為從屬器件時,nI0R信號作為輸入,CPU通過nIOR對8237進(jìn)行讀操作。當(dāng)8237作為主器件時(即控制總線時),nIOR作為輸出,用于8237對外設(shè)的讀信號。nIOW:I/O寫信號,同nIOR信號。nEOP:DMA結(jié)束信號,雙向,8237的任一通道在傳輸完(即計數(shù)減到O),nEOP有效(作為輸出),如DMA未傳完,正在傳送中,外部可以從nEOP送入一個有效信號強制結(jié)束DMA傳送。DREQ3-DREQ0:外設(shè)的DMA請求信號,外設(shè)有數(shù)據(jù)準(zhǔn)備好時,向8237提出一個DREQ,表示有數(shù)據(jù)傳

24、送。注:DREQ必須保持到DACK有效為止。DACK3-DACK0:外設(shè)的響應(yīng)信號,通知外設(shè)可以進(jìn)行數(shù)據(jù)傳送。HRQ:向CPU提出總線請求信號。HLDA:CPU的總線應(yīng)答信號。DB7-DB0:數(shù)據(jù)線,雙向,8237作為從器件時,CPU通過該線對8237進(jìn)行讀寫。在8237作為主器件時,8237通過該線送出要訪問內(nèi)存的高8位地址(A15-A8)。A3-A0:地址線,雙向,8237作為從屬器件時,CPU通過該線選擇8237內(nèi)部寄存器。8237主控時,輸出內(nèi)存低4位地址(A3-A0)。A7-A4:地址線,8237作為主控時,輸出內(nèi)存地址A7-A4??貢r,輸出內(nèi)存低4位地址(A3-A0)。A7-A4:

25、地址線,8237作為主控時,輸出內(nèi)存地址A7-A4。A7READY一HRQHLDA一nMEMRME嘛YAEKYADSTBvEOP數(shù)據(jù)總線緩沖器地址寄存器計數(shù)寄存器地址寄存器計數(shù)寄存器地址寄再器計數(shù)寄存器控制邏輯命令寄存器狀態(tài)寄冇器地址寄存器計數(shù)寄存器AA7A6AA5A4nEOPA3VA2-*AIY_AA0VccV_DDOY_ADD1WADB2一DB3Y_B-DB4|ACK0DACK1ADBSW_ADB6VDB76.8237工作模式單字節(jié)傳送方式,塊傳送方式,請求傳送方式,級連方式7.8237寄存器組8237內(nèi)部寄存器可以分成兩大類,一類是通道寄存器,即每個通道都有的現(xiàn)行地址寄存器現(xiàn)行字節(jié)數(shù)寄存

26、器和基地址及基字節(jié)數(shù)寄存器;另一類是控制和狀態(tài)寄存器。這些寄存器是由最低4位地址A3AO以及讀寫命令來區(qū)分的。現(xiàn)行地址寄存器每一個通道有一個16位的現(xiàn)行地址寄存器。在這個寄存器中保持用于DMA傳送的地址值,在每次傳送后這個寄存器的值自動增量或減量。在傳送過程中地址的中間值就保存在這個寄存器中。現(xiàn)行字節(jié)數(shù)寄存器每個通道有一個16位的現(xiàn)行字節(jié)數(shù)寄存器,它保持著要傳送的字節(jié)數(shù),在每次傳送后此寄存器減量。在傳送過程中字節(jié)數(shù)的中間值保存在這個寄存器中?;刂泛突止?jié)數(shù)寄存器每一個通道有一對16位的基地址和基字節(jié)數(shù)寄存器,它們存放著與現(xiàn)行寄存器相聯(lián)系的初始值。在自動初始化情況下,這兩個寄存器中的值用來恢復(fù)

27、相應(yīng)的現(xiàn)行寄存器中的初始值。這些寄存器中的值不能被CPU讀出。命令寄存器這是一個8位寄存器,用以控制8237的工作。DO位用來規(guī)定是否工作在存儲器到存儲器傳送方式。若bib二IX1若bib二IX1i止存儲器到存儲器1允許翔器到存歸0禁止通道哋址保持1允許通道哋址保持.X若bitO=O】控制器允許J控制器禁止1正常定時1磷定時X若bitO=l0DACK有效為低1DACK有效為高0DREQ有效堿1DREQ有效為町模式寄存器每一個通道有一個6位的模式寄存器以規(guī)定通道的工作模式,在編程時用最低兩位來選擇寫入哪個通道的模式寄存器。6.請求寄存器8237的每個通道有一條硬件的DREQ請求線,當(dāng)工作在數(shù)據(jù)塊

28、傳送方式時也可以由軟件發(fā)出DREQ請求。屏蔽寄存器每個通道外設(shè)通過DREQ線發(fā)出的請求,可以單獨地屏蔽或允許。所以,在8237中有一個屏蔽寄存器。狀態(tài)寄存器8237中有一個可由CPU讀取的狀態(tài)寄存器。狀態(tài)寄存器中的低4位,反映了在讀命令瞬間每個通道的字節(jié)數(shù)是否已減到零。高4位反映每個通道的請求情況。9.臨時寄存器在存儲器到存儲器的傳送方式下,臨時寄存器保存從源單元讀出的數(shù)據(jù),又由它寫入目的單元。在傳送完成時,它保留傳送的最后一個字節(jié),此字節(jié)可由CPU讀出。READY信號使其復(fù)位。第七章:CPU對中斷的響應(yīng):關(guān)中斷保留斷點及狀態(tài)寄存器取中斷入口,轉(zhuǎn)入相應(yīng)的中斷服務(wù)程序在中斷服務(wù)程序中完成如下工作

29、1.保護(hù)現(xiàn)場將在中斷程序中會用到的寄存器用PUSH指令壓棧保護(hù)。中斷服務(wù)完成中斷程序要做的工作?;謴?fù)現(xiàn)場把所保存的各個內(nèi)部寄存器的內(nèi)容和標(biāo)志位的狀態(tài)從堆棧彈出,送回CPU中的原來位置。這個操作在8086中也是由服務(wù)程序中用POP指令來完成的。開中斷與返回在中斷服務(wù)程序的最后,要開中斷(以便CPU能響應(yīng)新的中斷請求)和安排一條中斷返回指令(IRET),將堆棧內(nèi)保護(hù)的IP、CS和FLAGS值彈出送回IP、CS和FLAGS,返回被中斷的程序。2.8086軟中斷和硬中斷軟件中斷由指令的執(zhí)行所引起的;硬件中斷由外部(主要是外設(shè))的請求所引起的。對于硬件(外部)中斷,CPU是在當(dāng)前指令周期的最后T狀態(tài)采樣

30、中斷請求輸入信號,如果有可屏蔽中斷請求,且cpu處在開中斷狀態(tài)(if標(biāo)志為1),貝ycpu轉(zhuǎn)入兩個連續(xù)的中斷響應(yīng)周期,在第二個中斷響應(yīng)周期的T4狀態(tài)前沿,采樣數(shù)據(jù)線獲取由外設(shè)輸入的中斷類型碼;若是采樣到非屏蔽中斷請求,貝EPU不經(jīng)過上述的兩個中斷響應(yīng)周期,而在內(nèi)部自動產(chǎn)生INT。對于軟件中斷,中斷類型碼也是自動形成的。被零除為0、單步為1、斷點為3和溢出為4對于INTn指令,則類型碼即為指令中給定的n。上述的任何一種中斷,CPU響應(yīng)以后,都是要保護(hù)標(biāo)志位和保護(hù)斷點(現(xiàn)行的碼段寄存器CS和指令指針I(yè)P),然后轉(zhuǎn)入各自的中斷服務(wù)程序。3.8259A中斷響應(yīng)周期在第一個中斷響應(yīng)周期,8259A并不向

31、CPU輸送任何內(nèi)容。在第二個中斷響應(yīng)周期,8259A將向CPU輸送如表所示的中斷向量。其中的T7T3是由用戶在8259A的初始化編程中規(guī)定,而低3位則是由8259A自動插入的。4.8259A初始化編程若CPU用一條輸出指令向8259A寫入一個命令字,其D4=1,輸出指令地址中A0=0,則被解釋為初始化命令字1(ICW1)ICW1啟動了8259A中的初始化順序,自動發(fā)生下列事件:邊沿敏感電路復(fù)位,這意味著在初始化以后,中斷請求輸入線必須由低變高才產(chǎn)生中斷中斷屏蔽寄存器清零;IR7輸入被賦為優(yōu)先權(quán)7;從模式地址置為7;特殊屏蔽模式清除,狀態(tài)讀置為IRR;若IC4=0,則在ICW4中所選擇的所有功能

32、全置為0(非緩沖方式,非自動停止中斷方式)。對8259A的初始化編程是向它輸送24個字節(jié)的初始化命令字,其順序如圖所示ICW1和ICW2是必須送的,而ICW3和ICW4是由工作方式來選擇的。ICW1ICW4在PPTP945.8259A工作字在對8259A進(jìn)行了初始化編程(輸送了適當(dāng)?shù)某跏蓟钭?之后,芯片已作好了接收中斷請求輸入的準(zhǔn)備。在8259A的工作期間可由工作命令字以規(guī)定其各種工作方式。8259A有三個工作命令字OCW(OCW1、OCW2和OCW3)。0CW1:A(|D?D&D;DjDjDjD|Dp0CW2:0CW2:0CW2命令字自利肚轉(zhuǎn)=特殊血轉(zhuǎn)DRSLEOJ0CW2命令字自利肚轉(zhuǎn)

33、=特殊血轉(zhuǎn)DRSLEOJ0L|q叫6肓熾旳中肺請求甌別uJ2J45j7If101fl101IJ116fl111*IIIflC)11I04110111(111(1ftV00111110()1Q非持JtHS前令*打辣時EXJI諭中採非袍眛的比)1話尋施轉(zhuǎn)在口動的ROI方式趙轉(zhuǎn)僚ED在口動的卜QI方式罐轉(zhuǎn)(消住,*按持球的ECI7T式険轉(zhuǎn)”童優(yōu)先權(quán)侖牛OCW3:OCW3:ruMjiLMVHtan0ATESMMSMV1Q1rKAR1SruMjiLMVHtan0ATESMMSMV1Q1rKAR1S壓必込吐口0CW34丄I)101)11tIVill冊list0101T111u東下1LRK布-、fRI)她b

34、k6.8259A6.8259A編程:PPTP145三道例題初始化程序如下:初始化命令字:ICW1:00010011B13HICW2:00001000B08HICW4:00000001B01H程序:MOVAL,13HOUT20H,ALMOVAL,08HOUT21H,ALMOVAL,01HOUT21H,AL(2)程序?qū)嵗篗OVDX,0FFF0H;8259初始化MOVAL,11HOUTDX,ALINCDXMOVAL,50HOUTDX,ALMOVAL,01HOUTDX,ALXORAX,AX中斷入口初始化MOVES,AX;MOVAX,SEGINTPRINT97MOVBX,156HMOVES:BX,AX

35、MOVAX,OFFSETINTPRINTMOVBX,154HMOVES:BX,AXMOVCLOFFH;初始化數(shù)據(jù)塊長度MOVSI,3000H;初始化內(nèi)存指針MOVAL,SIMOVDX,0FF0HOUTDX,ALINCSIDECCLL:WAITINCSI;DECCL修改內(nèi)存指針JNZLHLT修改數(shù)據(jù)長度第八章:1.8254控制字kl敵雅迪井訃數(shù)方式選抒數(shù)制D7D5D5D4D3D2DLDO001計數(shù)劈0()01HLT修改數(shù)據(jù)長度第八章:1.8254控制字kl敵雅迪井訃數(shù)方式選抒數(shù)制D7D5D5D4D3D2DLDO001計數(shù)劈0()01散按預(yù)疔:令停01T計數(shù)耦101:見帙寫低孑節(jié)10:計數(shù)臘210

36、:只漬寫高字節(jié)He讀出控制7ib先低后髙000:方式00;.:進(jìn)制001:方式1hBCD010:方式2U11:方式3100:方式4101:方式2.8254命令字115+散值訃RV2it-Hdl01=選揮計歡醤】3.8254狀態(tài)字D6DID302DIDO07D6OUTNULLMHOBCD_or士效計救1=計數(shù)怕訂敦小1T=O1-O1T=14.8254工作方式1方式0:計數(shù)到0后暫停工作這是一種軟件啟動,不能自動重復(fù)的計數(shù)方式。該方式下,在GATE=1的條件下,當(dāng)通道寫入控制字后,OUT輸出低電平,寫入計數(shù)初值后,開始減1計數(shù),直到計數(shù)減為0,OUT輸出變?yōu)楦唠娖?,通道停止工作。方?可編程的單脈

37、沖這是一種硬件啟動,不能自動重復(fù)的計數(shù)方式。方式2:分頻器這是一種軟硬件都可以啟動得方式。如有先有GATE=1,則寫入計數(shù)初值后,計數(shù)器啟動,進(jìn)行減1操作,如送初值時,GATE=0,則初值送入后,計數(shù)器不啟動,等至0GATE=1后,才啟動。通道啟動后,OUT輸出高電平,計數(shù)值減至1時,OUT變低,減到0后,OUT又變高,通道又繼續(xù)從初值開始減1操作,重復(fù)上述過程,結(jié)果OUT端輸出一串負(fù)脈沖。如初值為N,則輸入N個CLK,OUT輸出一個負(fù)脈沖,所以,稱分頻器。特點:要使通道按分頻器正常工作,GATE必須為1,當(dāng)GATE=O通道則停止計數(shù),并使計數(shù)器中的計數(shù)值恢復(fù)到原計數(shù)初值。在計數(shù)過程中,如果輸

38、入新的計數(shù)初值,不會影響正在計數(shù)的過程,但從下一個計數(shù)過程開始,將按新寫入的計數(shù)初值進(jìn)行計數(shù)。方式3:方波發(fā)生器這是一種軟硬件都可以啟動得方式,計數(shù)過程能自動重復(fù),但OUT端輸出是方波。GATE=1,寫入控制字,寫入計數(shù)初值,通道開始計數(shù),輸出端OUT為高電平,直到計數(shù)器初值一半時(初值為偶數(shù)時為N/2,初值為奇數(shù)時為(N+1)/2),OUT輸出低電平,直到計數(shù)位0后,OUT又變高,通道計數(shù)重復(fù)上述過程。特點:GATE=1,通道允許計數(shù),GATE=0,通道停止計數(shù)。如果在計數(shù)過程中GATE端輸入一個負(fù)脈沖,通道將按寫入的計數(shù)值重新開始計數(shù)。在計數(shù)期間,如果寫入新的計數(shù)初值,不影響正在計數(shù)的過程

39、,但從下一個計數(shù)過程開始將按新寫入的計數(shù)初值進(jìn)行計數(shù)。方式5:硬件觸發(fā)選通只有硬件啟動,不能自動重復(fù)的計數(shù)方式。f仙計數(shù)中II工卜殮11MS更訴初值OUT波形方式0軟件GATE=0無立即有效ao方式1/無卜輪有效方式2GATE=0有卜輪有效K2|1M式3GATE=0卜半輪有效N/3|N/21方式4軟件GTE=0下-輪右效sw方式5謹(jǐn)件無卜輪有效N105.8254定時時間計算T=1/TmXNT:延遲時間Tm:CLK的頻率N:定時常數(shù)例:CLK為2.048MHz,N=0100H=256D則:T=(1/2.048)X256=125uS6.編程MOVAL,70H;設(shè)控制字OUT07H,AL;輸出至控制

40、字寄存器MOVAL,90H;設(shè)置計數(shù)值低字節(jié)OUT05H,AL;低字節(jié)輸出至計數(shù)通道1MOVAL,01H;設(shè)置計數(shù)值高字節(jié)OUT05H,AL;高字節(jié)輸出至計數(shù)通道17D6D5D4D3D2D1DO訃數(shù)器選群讀寫格武訃數(shù)方式選擇數(shù)制0:二進(jìn)制bBCD00:計數(shù)器000:數(shù)據(jù)鎖存命令000;方式。01:計數(shù)器i01:只讀寫低字節(jié)001:方式110;計數(shù)器210:只讀寫高字節(jié)010:方式211:讀出控制字11:先低后高0:二進(jìn)制bBCD1nn.古才MOVAL,40H;計數(shù)器1的鎖存命令OUT07H,AL;寫入至控制字寄存器INAL,05H;讀低8位MOVcl,al;存于CL中INAL,05H;讀高8位MOVCH,AL;存于CH中第九章:可編程并行接口8255A(10接口芯片)有三種基本的

溫馨提示

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

評論

0/150

提交評論