計算機組成原理 第23講_DMA_第1頁
計算機組成原理 第23講_DMA_第2頁
計算機組成原理 第23講_DMA_第3頁
計算機組成原理 第23講_DMA_第4頁
計算機組成原理 第23講_DMA_第5頁
已閱讀5頁,還剩22頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、1實驗課題實驗課題5 組合組合邏輯控制單元設計邏輯控制單元設計實驗內容:實驗內容: 按照題目要求用硬布線(組合邏輯)控制法設計一個簡單模型機的控制單元CU(微操作信號產(chǎn)生電路),決定外部的端口(名稱、有效電平)和內部各元件的連接,畫出系統(tǒng)框圖和邏輯圖,設計仿真數(shù)據(jù),用VHDL編程和仿真。 一、主要元件設計一、主要元件設計 1指令譯碼器指令譯碼器 功能要求:3-8譯碼器。(2學時)2實驗課題實驗課題5 組合組合邏輯控制單元設計邏輯控制單元設計實驗內容:實驗內容: 一、主要元件設計一、主要元件設計 2控制單元控制單元 功能要求:功能要求: 假設該模型機有8條不同類型的指令。包括:算術運算、邏輯運算

2、、移位、數(shù)據(jù)傳送、訪存操作、轉移等。根據(jù)每條指令的功能和時序,分析其執(zhí)行過程中需要在各個階段產(chǎn)生的全部微操作,導出產(chǎn)生這些微操作控制信號的邏輯。 提示提示:需要決定指令周期包括哪幾個機器周期,每個機器周期包括幾拍,每拍包括幾個時鐘,以及時鐘周期是多少nS。有些操作可能還需要規(guī)定是在時鐘的上升沿或是在時鐘的下降沿進行。3實驗課題實驗課題5 組合組合邏輯控制單元設計邏輯控制單元設計 二、頂層設計二、頂層設計 用層次結構設計的方法設計一個控制單元CU(微操作控制信號產(chǎn)生電路)。包括指令譯碼器和控制單元。 功能要求功能要求: 能夠正確產(chǎn)生8條不同指令在執(zhí)行過程中(每個機器周期、每拍)發(fā)出的全部微操作。

3、 三、仿真三、仿真 設計仿真波形數(shù)據(jù),要考慮到所有可能的情況。在實驗報告中必須清楚說明仿真波形數(shù)據(jù)是怎樣設計的。提示提示:仿真輸入波形包括三級時序信號。計算機組成原理Principles of Computer Organization廣義雙語教學課程09/skyclass25/青島理工大學 校級精品課程http:/ 輸入輸出系統(tǒng)輸入輸出系統(tǒng)Chapter 10 Input/output SystemMany I/O tasks can be fairly complex and require logic to be applied to the data

4、 to convert formats and other similar duties.(3)In these situations the simplest solution is to ask the CPU to handle the logic, but due to the fact that the I/O devices are very slow, the CPU would end up wasting a huge amount of time (in computer perspective) sitting idle waiting for the data from

5、 the 6103 DMA輸入輸出方式輸入輸出方式 DMA是是I/O設備與主存儲器之間由硬件組成的直接數(shù)據(jù)通設備與主存儲器之間由硬件組成的直接數(shù)據(jù)通路,用于磁盤等高速路,用于磁盤等高速I/O設備與主存之間的成組數(shù)據(jù)傳送。設備與主存之間的成組數(shù)據(jù)傳送。DMA數(shù)據(jù)傳送是在數(shù)據(jù)傳送是在DMA控制器的控制下進行的。控制器的控制下進行的。Direct Memory A710.3.1 DMA的工作方式的工作方式DMA傳送需要使用系統(tǒng)總線傳送需要使用系統(tǒng)總線,因而有因而有4種可能的工作方式種可能的工作方式。1CPU暫停方式暫停方式 在在DMA進行一個數(shù)據(jù)塊的傳送期間進行一個數(shù)據(jù)塊的傳送期間,CPU放棄總線放

6、棄總線,不訪不訪問主存問主存。DMA完成一個數(shù)據(jù)塊的傳送后完成一個數(shù)據(jù)塊的傳送后,把總線控制權還給把總線控制權還給CPU。2交替方式交替方式 把每個總線周期分成兩個時間片,把每個總線周期分成兩個時間片,CPU和和DMA交替分時使交替分時使用總線。用總線。DMACPU總線周期83CPU周期竊取方式周期竊取方式 (Cycle-Stealing) DMA每傳送一個字節(jié)每傳送一個字節(jié)/字,占用(竊?。┳郑加茫ǜ`?。〤PU的一個總線的一個總線周期。周期。 在這個周期內,如果在這個周期內,如果CPU(進行內部操作)正好不使用總(進行內部操作)正好不使用總線,則對線,則對CPU的工作無影響。的工作無影響。

7、 如果如果CPU也需要使用總線,則必須等待也需要使用總線,則必須等待DMA傳送完成后(一傳送完成后(一個總線周期的時間)才能使用總線。個總線周期的時間)才能使用總線。94仲裁方式仲裁方式 當系統(tǒng)中有多個主控設備當系統(tǒng)中有多個主控設備(處理機處理機,通道通道,IOP,DMAC),每個主控設備要使用系統(tǒng)總線都必須申請。每個主控設備要使用系統(tǒng)總線都必須申請。 總線控制器根據(jù)申請總線的設備的優(yōu)先級做出仲裁,把總總線控制器根據(jù)申請總線的設備的優(yōu)先級做出仲裁,把總線在該周期的控制權交給優(yōu)先級最高的設備。線在該周期的控制權交給優(yōu)先級最高的設備。 取得總線控制權的設備可以在該周期內使用總線訪問存儲取得總線控制

8、權的設備可以在該周期內使用總線訪問存儲器或進行輸入器或進行輸入/輸出,然后交回總線控制權。輸出,然后交回總線控制權。DMA的優(yōu)先級高于的優(yōu)先級高于CPU和其他設備。和其他設備。實際在計算機系統(tǒng)中使用的是周期竊取方式和仲裁方式。實際在計算機系統(tǒng)中使用的是周期竊取方式和仲裁方式。1010.3.2 DMA控制器組成控制器組成 DMA接口(DMA控制器)包括多個設備寄存器、中斷控制和DMA控制邏輯等。1設備寄存器設備寄存器 主存地址寄存器主存地址寄存器MAR 初始值初始值為主存數(shù)據(jù)緩沖區(qū)主存數(shù)據(jù)緩沖區(qū)的首地址首地址,在傳輸前由程序寫入。在DMA傳送期間,每交換一個字,由硬件邏輯將MAR自動加1。 外設

9、地址寄存器外設地址寄存器ADR 存放I/O設備的設備碼,或者表示該設備信息存儲區(qū)的尋址信息。例如;磁盤的驅動器號、磁頭號、柱面號等。11 控制與狀態(tài)寄存器控制與狀態(tài)寄存器CSR存放控制字控制字和狀態(tài)字狀態(tài)字??刂谱质窃趥鬏斍坝沙绦驅懭氲?。 數(shù)據(jù)緩沖寄存器數(shù)據(jù)緩沖寄存器DBR 當主存與I/O設備的數(shù)據(jù)寬度不一致時,用于暫存I/O設備與主存?zhèn)魉偷臄?shù)據(jù)。 若DMA與主存之間是按字傳送的,而DMA與I/O設備之間是按字節(jié)或位傳送的時候,DMA還要做數(shù)據(jù)數(shù)據(jù)的裝配裝配和分拆分拆。 字數(shù)計數(shù)器字數(shù)計數(shù)器WC 在傳輸前由程序寫入傳送數(shù)據(jù)傳送數(shù)據(jù)的總字數(shù)總字數(shù)。每傳送一個字自每傳送一個字自動減動減1。當其內容

10、為0時表示傳輸結束。DMA控制器組成122中斷控制邏輯中斷控制邏輯 每當一個數(shù)據(jù)塊傳輸完畢一個數(shù)據(jù)塊傳輸完畢,DMA通過中斷請求CPU進行后處理和下次傳輸前的預處理。3DMA控制邏輯控制邏輯 一般包括設備碼選擇電路,DMA優(yōu)先排隊電路,產(chǎn)生DMA請求的線路等。在DMA取得總線控制權后,控制主存與I/O設備之間的數(shù)據(jù)傳送。 DMA與主機和DMA與I/O設備的接口接口,包括數(shù)據(jù)線、地址線、控制信號,以及有關收發(fā)和驅動線路。DMA控制器組成1310.3.3 DMA的數(shù)據(jù)傳送過程的數(shù)據(jù)傳送過程當當I/O設備準備好后,向設備準備好后,向DMA控制器發(fā)出傳送請求??刂破靼l(fā)出傳送請求。 DMA控制器用竊取處

11、理機一個總線周期的方法完成控制器用竊取處理機一個總線周期的方法完成I/O設備與主存儲器之間的直接數(shù)據(jù)傳送。設備與主存儲器之間的直接數(shù)據(jù)傳送。 當所要求的數(shù)據(jù)塊傳送完畢,當所要求的數(shù)據(jù)塊傳送完畢,DMA控制器向控制器向CPU發(fā)出中發(fā)出中斷請求。斷請求。CPU做一些傳送后處理工作。做一些傳送后處理工作。DMA數(shù)據(jù)傳送與數(shù)據(jù)傳送與CPU之間是并行工作的。之間是并行工作的。DMA的數(shù)據(jù)傳送過程可以分為三個階段:的數(shù)據(jù)傳送過程可以分為三個階段: 傳送前預處理,傳送前預處理, DMA數(shù)據(jù)傳送,數(shù)據(jù)傳送, 傳送后處理。傳送后處理。其中,第其中,第和第和第階段是階段是CPU執(zhí)行程序完成的,執(zhí)行程序完成的,第第

12、階段是在階段是在DMA控制器硬件邏輯控制下完成的??刂破饔布壿嬁刂葡峦瓿傻摹?41傳送前預處理傳送前預處理 CPU執(zhí)行一段程序,測試設備的狀態(tài),啟動將要進行執(zhí)行一段程序,測試設備的狀態(tài),啟動將要進行I/O的外部設備。的外部設備。將數(shù)據(jù)在主存儲器存放的首地址寫入主存地址寄存器,將數(shù)據(jù)在主存儲器存放的首地址寫入主存地址寄存器,然后,然后,CPU繼續(xù)執(zhí)行其他程序。繼續(xù)執(zhí)行其他程序。CPU對對DMA控制器進行初始化:控制器進行初始化:要傳送的數(shù)據(jù)字數(shù)寫入數(shù)據(jù)字數(shù)寄存器,要傳送的數(shù)據(jù)字數(shù)寫入數(shù)據(jù)字數(shù)寄存器,I/O設備的地址寫入設備地址寄存器,設備的地址寫入設備地址寄存器,傳送方式(輸入傳送方式(輸入/

13、輸出)寫入控制與狀態(tài)寄存器。輸出)寫入控制與狀態(tài)寄存器。DACK選通狀態(tài)INTRDRQ系統(tǒng)總線I/O接口數(shù)據(jù)端口 控制/狀態(tài)端口數(shù)據(jù)寄存器控制邏輯DMAC主存地址寄存器字計數(shù)器控制/狀態(tài)寄存器外設地址寄存器CPUMMHRQHLDAI/O設備DRQ:DMA請求HRQ:總線請求DACK:DMA響應HLDA:總線響應2DMA數(shù)據(jù)傳送數(shù)據(jù)傳送16wDMA數(shù)據(jù)輸入的過程數(shù)據(jù)輸入的過程 I/O設備啟動后,把準備好的數(shù)據(jù)送到設備啟動后,把準備好的數(shù)據(jù)送到I/O接口的數(shù)據(jù)緩沖接口的數(shù)據(jù)緩沖寄存器,向寄存器,向DMAC請求請求DMA傳送。傳送。 DMAC每傳送一個字向每傳送一個字向CPU發(fā)出總線請求發(fā)出總線請求

14、。CPU必須在當必須在當前機器周期結束時交出系統(tǒng)總線前機器周期結束時交出系統(tǒng)總線,并向并向DMAC發(fā)出總線允許信發(fā)出總線允許信號號。 DMAC取得總線控制權后,將主存地址寄存器中的內容送取得總線控制權后,將主存地址寄存器中的內容送上地址總線,發(fā)上地址總線,發(fā)I/O讀命令和存儲器寫命令。讀命令和存儲器寫命令。I/O接口將數(shù)據(jù)緩接口將數(shù)據(jù)緩沖寄存器中的內容送上數(shù)據(jù)總線,同時將數(shù)據(jù)寫入主存。沖寄存器中的內容送上數(shù)據(jù)總線,同時將數(shù)據(jù)寫入主存。 DMAC將字數(shù)寄存器減將字數(shù)寄存器減1,主存地址寄存器加,主存地址寄存器加1。如果字數(shù)寄存器減如果字數(shù)寄存器減1后不為后不為0,準備下一次輸入。,準備下一次輸入

15、。 如果字數(shù)寄存器如果字數(shù)寄存器 = 0,表示一組數(shù)據(jù)傳送結束,向,表示一組數(shù)據(jù)傳送結束,向CPU發(fā)中發(fā)中斷請求。斷請求。系統(tǒng)總線INTRDACKDRQCPUMMHRQHLDAI / O設備I/O接口數(shù)據(jù)端口控制/狀態(tài)端口數(shù)據(jù)寄存器控制邏輯DMAC主存地址寄存器字計數(shù)器控制/狀態(tài)寄存器外設地址寄存器數(shù)據(jù)緩沖寄存器 如果I/O設備的數(shù)據(jù)寬度小于存儲器的字長,就要由DMAC完成數(shù)據(jù)的拼接。 I/O設備把準備好的每個字節(jié)的數(shù)據(jù)送到I/O接口的數(shù)據(jù)緩沖寄存器,向DMAC請求DMA傳送。 DMAC將數(shù)據(jù)讀入。經(jīng)過若干次輸入,拼成一個完整的字后,DMAC向CPU發(fā)出總線請求,傳送一個字。18wDMA數(shù)據(jù)輸

16、出的過程數(shù)據(jù)輸出的過程 I/O設備啟動并做好數(shù)據(jù)接受的準備后,通過設備啟動并做好數(shù)據(jù)接受的準備后,通過I/O接口向接口向DMAC請求請求DMA傳送。傳送。 DMAC向向CPU發(fā)出總線請求。發(fā)出總線請求。CPU必須在當前機器周期結必須在當前機器周期結束時交出系統(tǒng)總線,并向束時交出系統(tǒng)總線,并向DMAC發(fā)出總線允許信號。發(fā)出總線允許信號。 DMAC取得總線控制權后,將主存地址寄存器中的內容送取得總線控制權后,將主存地址寄存器中的內容送上地址總線,發(fā)存儲器讀命令和上地址總線,發(fā)存儲器讀命令和I/O寫命令。將從主存讀出的寫命令。將從主存讀出的數(shù)據(jù)寫入數(shù)據(jù)寫入I/O接口的數(shù)據(jù)緩沖寄存器中,再送給輸出設備

17、。接口的數(shù)據(jù)緩沖寄存器中,再送給輸出設備。 DMAC將字數(shù)寄存器減將字數(shù)寄存器減1,主存地址寄存器加,主存地址寄存器加1。如果字數(shù)寄存器減如果字數(shù)寄存器減1后不為后不為0,準備下一次輸出。,準備下一次輸出。 如果字數(shù)寄存器如果字數(shù)寄存器 = 0,表示一組數(shù)據(jù)傳送結束,向,表示一組數(shù)據(jù)傳送結束,向CPU發(fā)中發(fā)中斷請求。斷請求。選通狀態(tài)INTRDACKDRQ系統(tǒng)總線I/O接口數(shù)據(jù)端口 控制/狀態(tài)端口數(shù)據(jù)寄存器控制邏輯DMAC主存地址寄存器字計數(shù)器控制/狀態(tài)寄存器外設地址寄存器CPUMMHRQHLDAI/O設備DRQ:DMA請求HRQ:總線請求DACK:DMA響應HLDA:總線響應wDMA數(shù)據(jù)輸出的

18、過程數(shù)據(jù)輸出的過程系統(tǒng)總線INTRDACKDRQCPUMMHRQHLDAI / O設備I/O接口數(shù)據(jù)端口控制/狀態(tài)端口數(shù)據(jù)寄存器控制邏輯DMAC主存地址寄存器字計數(shù)器控制/狀態(tài)寄存器外設地址寄存器數(shù)據(jù)緩沖寄存器 如果I/O設備的數(shù)據(jù)寬度小于存儲器的字長,就要由DMAC完成數(shù)據(jù)的分拆。DMAC把從主存讀出的數(shù)據(jù)字分拆成一個個字節(jié)。 I/O設備每發(fā)一次DMAC請求,就向I/O設備輸出一個字節(jié),直到一個數(shù)據(jù)字輸出完畢,再向CPU發(fā)出總線請求。213后處理階段后處理階段 CPU響應響應DMA的中斷請求后,如果需要繼續(xù)進行數(shù)據(jù)傳的中斷請求后,如果需要繼續(xù)進行數(shù)據(jù)傳送,就再次對送,就再次對DMAC進行初始

19、化。如果不需要繼續(xù)進行數(shù)據(jù)進行初始化。如果不需要繼續(xù)進行數(shù)據(jù)傳送,則停止外設。傳送,則停止外設。 DMA數(shù)據(jù)傳送,第一和第三階段是數(shù)據(jù)傳送,第一和第三階段是CPU執(zhí)行程序完成的,執(zhí)行程序完成的,第二階段是在第二階段是在DMA控制器硬件邏輯控制下完成的??刂破饔布壿嬁刂葡峦瓿傻摹?2Homework10- 8, 10, 11,12Very few computer languages include built-in support for fixed point values, because for most applications, binary or decimal floating

20、-point representations are usually simpler to use and accurate enough.Floating-point representations are easier to use than fixed-point representations, because they can handle a wider dynamic range and do not require programmers to specify the number of digits after the radix 23測驗 4請寫好自己的姓名、學號、班級一、

21、(20分) 設CPU有16條地址線,8條數(shù)據(jù)線,訪存控制信號 ,讀/寫信號 ?,F(xiàn)有存儲芯片ROM(2K8,4K4), RAM(4K8,1K4,16K1)。試從上述芯片中選用合適的芯片,畫出主存和CPU的連接圖,要求主存的地址空間分配如下:最小4K空間為系統(tǒng)程序區(qū),4096-16383為用戶程序區(qū)。請不要抄題,只寫題號請不要抄題,只寫題號 MREQWR /二、(共25分) 設主存容量為256K字,Cache容量為2K字,塊長為4。(1)設計Cache地址格式,Cache中可以裝入多少塊數(shù)據(jù)?(2)在直接映射方式下,設計主存地址格式。(3)在四路組相聯(lián)映射方式下,設計主存地址格式。(4)在全相聯(lián)映射方式下,設計主存地址格式。(5)若存儲字長為32位,存儲器按字節(jié)編址,寫出上述三種方式下主存的地址格式。測驗4測驗4三、(共25分)) 設CPU有16條地址線,8條數(shù)據(jù)線,用 作為訪問存儲器或I/O的控制信號(高電平為訪存,低電平為訪I/O), 為寫命令(低電平有效), 為讀命令(低電平有效)。試設計一個容量為64KB的采用低位交叉編址的8體并行結構存儲器。存儲體有寫 ,讀 ,片選 等控制信號(均為低電平有效)。畫出該存儲系統(tǒng)的連接圖,寫出每個存儲體的地址范圍。二、(共25分

溫馨提示

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

評論

0/150

提交評論