計算機組成原理實驗:系統總線與系統接口(計算機組成原理實驗系統總線與總線接口)
學生實驗報告
實驗課名稱:計算機組成原理
實驗項目名稱:系統總線與系統接口
一、實驗名稱:
(1)系統總線和具有基本輸入輸出功能的總線接口實驗
(2)具有中斷控制功能的總線接口實驗
(3)具有DMA控制功能的總線接口實驗
二、實驗目的:
1)系統總線和具有基本輸入輸出功能的總線接口實驗
(1)理解總線的概念及其特性。
(2)掌握控制總線的功能和應用。
2)具有中斷控制功能的總線接口實驗
(1)掌握中斷控制信號線的功能和應用
(2)掌握在系統總線上設計中斷控制信號線的方法
3)具有DMA控制功能的總線接口實驗
(1)掌握DMA控制信號線的功能和應用
(2)掌握在系統總線上設計DMA控制信號線的方法
三、實驗要求:
總線是計算機中連接各個功能部件的紐帶,是計算機各部件之間進行信息傳輸的公共通路。總線不只是一組簡單的信號傳輸線,它還是- -組協議。分時與共享是總線的兩大特征。所謂共.享,在總線上可以掛接多個部件,它們都可以使用這一信息通路來和其他部件傳送信息。所謂分時,同一總線在同一時刻,只能有一個部件占領總線發送信息,其他部件要發送信息得在該部件發送完釋放總線后才能申請使用。總線結構是決定計算機性能、功能、可擴展性和標準化程度的重要因素。本章安排了三個實驗:系統總線和具有基本輸入輸出功能的總線接口實驗、具有中斷控制功能的總線接口實驗和具有DMA控制功能的總線接口實驗。
四、實驗內容:
1)系統總線和具有輸入輸出功能的總線接口實驗
由于存儲器和輸入、輸出設備最終是要掛接到外部總線上,所以需要外部總線提供數據信號、地址信號以及控制信號。在該實驗平臺中,外部總線分為數據總線、地址總線、和控制總線,分別為外設提供上述信號。外部總線和CPU內總線之間通過三態門連接,同時實現了內外總線的分離和對于數據流向的控制。地址總線可以為外部設備提供地址信號和片選信號。由地址總線的高位進行譯碼,系統的I/O地址譯碼原理見圖4-1-1 (在地址總線單元)。由于使用A6、A7進行譯碼,I/O 地址空間被分為四個區,如表4-1-1所示:
為了實現對于MEM和外設的讀寫操作,還需要一個讀寫控制邏輯,使得CPU能控制MEM和I/O設備的讀寫,實驗中的讀寫控制邏輯如圖4-1-2所示,T3的參與,可以保證寫脈寬與T3-致,T3由時序單元的TS3給出(時序單元的介紹見附錄2)。IOM用來選擇是對I/O設備還是對MEM進行讀寫操作,IOM=1 時對I/O設備進行讀寫操作,IOM=0時對MEM進行讀寫操作。RD=1時為讀,WR=1時為寫。
在理解讀寫控制邏輯的基礎上我們設計一個總線傳輸的實驗。它將幾種不同的設備掛至總線上,有存儲器、輸入設備、輸出設備、寄存器。這些設備都需要有三態輸出控制,按照傳輸要求恰當有序的控制它們,就可實現總線信息傳輸。
2)具有中斷控制功能的總線接口實驗
為了實現中斷控制,CPU必須有一個中斷使能寄存器,并且可以通過指令對該寄存器進行操作。設計下述中斷使能寄存器,其原理如圖4-2-1所示。其中EI為中斷允許信號,CPU開中斷指令STI對其置1,而CPU關中斷指令CLI對其置0。每條指令執行完時,若允許中斷,CPU給出開中斷使能標志STI,打開中斷使能寄存器,EI有效。EI 再和外部給出的中斷請求信號一起參與指令譯碼,使程序進入中斷處理流程。本實驗要求設計的系統總線具備有類X86的中斷功能,當外部中斷請求有效、CPU允許響應中斷,在當前指令執行完時,CPU將響應中斷。當CPU響應中斷時,將會向8259發送兩個連續的INTA號,請注意,8259是在接收到第一個INTA信號后鎖住向CPU的中斷請求信號INTR (高電平有效),并且在第二個INTA信號到達后將其變為低電平(自動EOI方式),所以,中斷請求信號IR0應該維持一段時間,直到CPU發送出第一個INTA信號,這才是一個有效的中斷請求。8259 在收到第二個INTA信號后,就會將中斷向量號發送到數據總線,CPU讀取中斷向量號,并轉入相應的中斷處理程序中。在讀取中斷向量時,需要從數據總線向CPU內總線傳送數據。所以需要設計數據緩沖控制邏輯,在INTA信號有效時,允許數據從數據總線流向CPU內總線。其原理圖如圖4-2-2所示。其中RD為CPU從外部讀取數據的控制信號。
在控制總線部分表現為當CPU開中斷允許信號STI有效、關中斷允許信號CLI無效時,中斷標志EI有效,當CPU開中斷允許信號STI無效、關中斷允許信號CLI有效時,中斷標志EI無效。EI無效時,外部的中斷請求信號不能發送給CPU。
3)具有DMA控制功能的總線接口實驗
有一類外設在使用時需要占用總線,其中的典型代表是DMA控制機。在使用這類外設時,總線的控制權要在CPU和外設之間進行切換,這就需要總線具有相應的信號來實現這種切換,避免總線競爭,使CPU和外設能夠正常工作。下面以DMA操作為例,設計相應的總線控制信號線。實驗原理圖如圖4-3-1所示。
進行DMA操作時,外設向DMAC(DMA控制機)發出DMA傳送請求,DMAC通過總線上的HOLD信號向CPU提出DMA請求。CPU在完成當前總線周期后對DMA請求做出響應。CPU的響應包括兩個方面,一方面讓出總線控制權,一方面將有效的HALD信號加到DMAC 上,通知DMAC可以使用總線進行數據傳輸。此時DMAC進行DMA傳輸,傳輸完成后,停岣CPU發HOLD信號,撤消總線請求,交還總線控制權。CPU在收到無效的HOLD信號后,一方面使HALD無效,另一方面又重新開始控制總線,實現正常的運行。
如圖4-3-1 所示,在每個機器周期的T4時刻根據HOLD信號來判斷是否有DMA請求,如果有,則產生有效的HALD信號,HALD信號-方面鎖死CPU的時鐘信號,使CPU保持當前狀態,等待DMA操作的結束。另-方面使控制緩沖、數據緩沖、地址緩沖都處于高阻狀態,隔斷CPU與外總線的聯系,將外總線交由DMAC控制。當DMA操作結束后,DMAC將HOLD信號置為無效,DMA控制邏輯在T4時刻將HALD信號置為無效,HALD信號一方面打開CPU的時鐘信號,使CPU開始正常運行。另一方面把控制緩沖、數據緩沖和地址緩沖交由CPU控制,恢復CPU對總線的控制權。
五、實驗設備及工具:
PC機一臺,TD-CMA實驗系統一套
六、實驗過程詳述:
1)系統總線和具有輸入輸出功能的總線接口實驗
1.讀寫控制邏輯設計實驗。
(1) 按照圖4-1-4實驗接線圖進行連線。
(2)具體操作步驟圖示如下:
首先將時序與操作臺單元的開關KKl、KK3置為‘運行’檔,開關KK2置為‘單拍’檔,按動CON單元的總清按鈕CLR,并執行下述操作。
①對MEM進行讀操作(WR=0, RD=1, IOM=0),此時E0滅,表示存儲器讀功能信號有效。
②對MEM進行寫操作(WR=1, RD=0, IOM=0),連續按動開關ST,觀察擴展單元數據指示燈,指示燈顯示為T3時刻時,E1滅,表示存儲器寫功能信號有效。
③對I/O進行讀操作(WR=0, RD=1, IOM=1),此時E2滅,表示I/O讀功能信號有效。
④對I/O進行寫操作(WR=1, RD=0, IOM=1),連續按動開關ST,觀察擴展單元數據指示燈,指示燈顯示為T3時刻時,E3滅,表示I/O寫功能信號有效。
2.基本輸入輸出功能的總線接口實驗。
(1)根據掛在總線上的幾個基本部件,設計一個簡單的流程:
①輸入設備將-一個數打入RO寄存器。
②輸入設備將另一個數打入地址寄存器。
③將R0寄存器中的數寫入到當前地址的存儲器中。
④將當前地址的存儲器中的數用LED數碼管顯示。
(2)按照圖4-1-5實驗接線圖進行連線。
(3)具體操作步驟圖示如下:
進入軟件界面,選擇菜單命令“[實驗] - [簡單模型機]”,打開簡單模型機實驗數據通路圖。將時序與操作臺單元的開關KK1、KK3置為‘ 運行’檔,開關KK2置為‘單拍’檔,CON單元所有開關置0 (由于總線有總線競爭報警功能,在操作中應當先關閉應關閉的輸出開關,再打開應打開的輸出開關,否則可能由于總線競爭導致實驗出錯),按動CON單元的總清按鈕CLR,然后通過運行程序,在數據通路圖中觀測程序的執行過程。
①輸入設備將11H打入R0寄存器。
將IN單元置00010001,K7置為1,關閉R0寄存器的輸出;K6置為1,打開RO寄存器的輸入; WR、RD、IOM分別置為0、1、1,對IN單元進行讀操作; LDAR置為0,不將數據總線的數打入地址寄存器。連續四次點圖形界面上的“單節拍運行”按扭(運行一個機器周期),觀察圖形界面,在T4時刻完成對寄存器R0的寫入操作。
②將R0中的數據11H打入存儲器01H單元。
將IN單元置00000001 (或其他數值)。K7置為1,關閉RO寄存器的輸出; K6置為0,關閉R0寄存器的輸入; WR、RD、IOM分別置為0、1、1,對IN單元進行讀操作; LDAR置為1,將數據總線的數打入地址寄存器。連續四次點擊圖形界面上的“單節拍運行”按扭,觀察圖形界面,在T3時刻完成對地址寄存器的寫入操作。先將WR、RD、IOM分別置為1、0、0,對存儲器進行寫操作;再把K7置為0,打開R0寄存器的輸出; K6置為0,關閉RO寄存器的輸入; LDAR 置為0,不將數據總線的數打入地址寄存器。連續四次點擊圖形界面上的“單節拍運行”按扭,觀察圖形界面,在T3時刻完成對存儲器的寫入操作。
2)具有中斷控制功能的總線接口實驗
(1)按照圖4-2-3實驗接線圖進行連線。
(2)具體操作步驟圖示如下:
①對總線進行置中斷操作(K6=1, K7=0),觀察控制總線部分的中斷允許指示燈EI,此時EI亮,表示允許響應外部中斷。按動時序與操作臺單元的開關KK,觀察控制總線單元的指示燈INTR,發現當開關KK按下時INTR變亮,表示總線將外部的中斷請求送到CPU。
②對總線進行清中斷操作(K6=0, K7=1),觀察控制總線部分的中斷允許指示燈EI,此時EI滅,表示禁止響應外部中斷。按動時序與操作臺單元的開關KK,觀察控制總線單元的指示燈INTR,發現當開關KK按下時INTR不變,仍然為滅,表示總線鎖死了外部的中斷請求。
③對總線進行置中斷操作(K6=1, K7=0),當CPU給出的中斷應答信號INTA’(K5=0)有效時,使用電壓表測量數據緩沖74LS245的DIR (第1腳),顯示為低,表示CPU允許外部送中斷向量號。3)具有DMA控制功能的總線接口實驗
(1)按照圖4-3-2實驗接線圖進行連線。
(2)具體操作步驟如下:
①將時序與操作臺單元的開關KK1、KK3置為‘運行’檔,開關KK2置為‘單拍’檔,按動CON單元的總清按鈕CLR,將CON單元的WR、RD、IOM 分別置為“0”、“1”、 “0”,此時XMRD為低,相應的指示燈E0滅。使用電壓表測量數據總線和地址總線左側的芯片74LS245的使能控制信號(第19腳),發現電壓為低,說明數據總線和地址總線與CPU連通。
②然后將CON單元的K7置為1,連續按動時序與操作臺單元的開關ST,T4時刻控制總線的指示燈HALD為亮,繼續按動開關ST,發現控制總線單元的時鐘信號指示燈T1一-T4 保持不變,說明CPU的時鐘被鎖死。此時XMRD為高阻態,相應的指示燈E0亮。使用萬用表測量數據總線和地址總線左側的芯片74LS245的使能控制信號(第19腳),發現電壓為高,說明總線和CPU的連接被阻斷。③將CON單元的K7置為0,按動時序與操作臺單元的開關ST,當時序信號走到T4時刻時,控制總線的指示燈HALD為滅,繼續按動開關ST,發現控制總線單元的時鐘信號指示燈T1–T4開始變化,說明CPU的時鐘被接通。此時XMRD受CPU控制,恢復有效為低,相應的指示燈E0滅。使用萬用表測量數據總線和地址總線左側的芯片74LS245的使能控制信號(第19腳),發現電壓為低,說明總線和CPU恢復連通。
六、實驗結果與分析
在三個不同的實驗中,都可以正確的得出運行結果,證明數據傳輸是沒有問題的,三種數據的輸入輸出方式有著本質上的區別,也就造成了CPU不同的工作效率。
七、心得體會:
通過這次實驗,使得自己對系統總線和總線接口有了更深的了解。總線作為CPU與外設、存儲器之間傳遞數據的“橋梁”,有著舉足輕重的作用。在數據/地址多路復用總線上,可以輸入輸出數據,起著溝通的作用。在不同的總線周期,執行不同的指令操作,總線上也傳遞著不同的數據。為了使CPU能夠具有更高的工作效率,產生了中斷這種技術。原來CPU必須不斷查詢外設,詢問其狀態,以便在需要的時候運行子程序。但是這種方法特別耗時,CPU一直在查詢外設狀態,無法執行自己的工作。有了中斷之后,CPU可以做著自己的工作,一旦外設發出中斷請求,CPU便轉向子程序,執行指令,執行完后再回到中斷處,這里一來CPU的工作效率大大提高。雖然中斷的產生使得CPU在需要的時候執行子程序,但是在傳送數據的時候,都是由CPU進行監控,一旦數據量非常大的時候,這時對CPU的負擔是非常大的。因為請求都是“外設-CPU-存儲器”或者“存儲器-CPU-外設”,無論何種方式,CPU都必須無時無刻對每一個數據進行監控。DMA是一直使得數據可以直接從“外設-存儲器”或者“存儲器-外設”,這樣一來,CPU便可以在數據傳輸過程中,繼續執行自己的操作,數據傳送過程則由DMA控制。這樣一來CPU的工作效率又大大提高了許多。通過這次的三個實驗,自己對計算機內部數據傳遞的方式有了深刻的了解,不同是方式有著不同的優缺點,在不同的需求場合下,需要合理的選擇適合的方法。
單片機 嵌入式
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。