計(jì)算機(jī)組成原理 第23講-DMA課件_第1頁(yè)
計(jì)算機(jī)組成原理 第23講-DMA課件_第2頁(yè)
計(jì)算機(jī)組成原理 第23講-DMA課件_第3頁(yè)
計(jì)算機(jī)組成原理 第23講-DMA課件_第4頁(yè)
計(jì)算機(jī)組成原理 第23講-DMA課件_第5頁(yè)
已閱讀5頁(yè),還剩22頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

實(shí)驗(yàn)課題5組合邏輯控制單元設(shè)計(jì)實(shí)驗(yàn)內(nèi)容:按照題目要求用硬布線(組合邏輯)控制法設(shè)計(jì)一個(gè)簡(jiǎn)單模型機(jī)的控制單元CU(微操作信號(hào)產(chǎn)生電路),決定外部的端口(名稱(chēng)、有效電平)和內(nèi)部各元件的連接,畫(huà)出系統(tǒng)框圖和邏輯圖,設(shè)計(jì)仿真數(shù)據(jù),用VHDL編程和仿真。一、主要元件設(shè)計(jì)1.指令譯碼器功能要求:3-8譯碼器。(2學(xué)時(shí))1jlsheng@實(shí)驗(yàn)課題5組合邏輯控制單元設(shè)計(jì)實(shí)驗(yàn)內(nèi)容:一、主要元件設(shè)計(jì)

2.控制單元

功能要求:假設(shè)該模型機(jī)有8條不同類(lèi)型的指令。包括:算術(shù)運(yùn)算、邏輯運(yùn)算、移位、數(shù)據(jù)傳送、訪存操作、轉(zhuǎn)移等。根據(jù)每條指令的功能和時(shí)序,分析其執(zhí)行過(guò)程中需要在各個(gè)階段產(chǎn)生的全部微操作,導(dǎo)出產(chǎn)生這些微操作控制信號(hào)的邏輯。

提示:需要決定指令周期包括哪幾個(gè)機(jī)器周期,每個(gè)機(jī)器周期包括幾拍,每拍包括幾個(gè)時(shí)鐘,以及時(shí)鐘周期是多少nS。有些操作可能還需要規(guī)定是在時(shí)鐘的上升沿或是在時(shí)鐘的下降沿進(jìn)行。2jlsheng@實(shí)驗(yàn)課題5組合邏輯控制單元設(shè)計(jì)二、頂層設(shè)計(jì)用層次結(jié)構(gòu)設(shè)計(jì)的方法設(shè)計(jì)一個(gè)控制單元CU(微操作控制信號(hào)產(chǎn)生電路)。包括指令譯碼器和控制單元。

功能要求:能夠正確產(chǎn)生8條不同指令在執(zhí)行過(guò)程中(每個(gè)機(jī)器周期、每拍)發(fā)出的全部微操作。三、仿真

設(shè)計(jì)仿真波形數(shù)據(jù),要考慮到所有可能的情況。在實(shí)驗(yàn)報(bào)告中必須清楚說(shuō)明仿真波形數(shù)據(jù)是怎樣設(shè)計(jì)的。提示:仿真輸入波形包括三級(jí)時(shí)序信號(hào)。3jlsheng@計(jì)算機(jī)組成原理Principlesof

ComputerOrganization廣義雙語(yǔ)教學(xué)課程09/skyclass25/青島理工大學(xué)

校級(jí)精品課程/ec/C84/4jlsheng@第10章輸入輸出系統(tǒng)Chapter10Input/outputSystemManyI/Otaskscanbefairlycomplexandrequirelogictobeappliedtothedatatoconvertformatsandothersimilarduties.(3)InthesesituationsthesimplestsolutionistoasktheCPUtohandlethelogic,butduetothefactthattheI/Odevicesareveryslow,theCPUwouldendupwastingahugeamountoftime(incomputerperspective)sittingidlewaitingforthedatafromthedevice..5jlsheng@§10.3DMA輸入輸出方式DMA是I/O設(shè)備與主存儲(chǔ)器之間由硬件組成的直接數(shù)據(jù)通路,用于磁盤(pán)等高速I(mǎi)/O設(shè)備與主存之間的成組數(shù)據(jù)傳送。DMA數(shù)據(jù)傳送是在DMA控制器的控制下進(jìn)行的。DirectMemoryAccess6jlsheng@§10.3.1DMA的工作方式DMA傳送需要使用系統(tǒng)總線,因而有4種可能的工作方式。1.CPU暫停方式在DMA進(jìn)行一個(gè)數(shù)據(jù)塊的傳送期間,CPU放棄總線,不訪問(wèn)主存。DMA完成一個(gè)數(shù)據(jù)塊的傳送后,把總線控制權(quán)還給CPU。2.交替方式把每個(gè)總線周期分成兩個(gè)時(shí)間片,CPU和DMA交替分時(shí)使用總線。DMACPU總線周期7jlsheng@3.CPU周期竊取方式(Cycle-Stealing)DMA每傳送一個(gè)字節(jié)/字,占用(竊?。〤PU的一個(gè)總線周期。在這個(gè)周期內(nèi),如果CPU(進(jìn)行內(nèi)部操作)正好不使用總線,則對(duì)CPU的工作無(wú)影響。如果CPU也需要使用總線,則必須等待DMA傳送完成后(一個(gè)總線周期的時(shí)間)才能使用總線。8jlsheng@4.仲裁方式當(dāng)系統(tǒng)中有多個(gè)主控設(shè)備(處理機(jī),通道,IOP,DMAC),每個(gè)主控設(shè)備要使用系統(tǒng)總線都必須申請(qǐng)??偩€控制器根據(jù)申請(qǐng)總線的設(shè)備的優(yōu)先級(jí)做出仲裁,把總線在該周期的控制權(quán)交給優(yōu)先級(jí)最高的設(shè)備。取得總線控制權(quán)的設(shè)備可以在該周期內(nèi)使用總線訪問(wèn)存儲(chǔ)器或進(jìn)行輸入/輸出,然后交回總線控制權(quán)。DMA的優(yōu)先級(jí)高于CPU和其他設(shè)備。實(shí)際在計(jì)算機(jī)系統(tǒng)中使用的是周期竊取方式和仲裁方式。9jlsheng@§10.3.2DMA控制器組成DMA接口(DMA控制器)包括多個(gè)設(shè)備寄存器、中斷控制和DMA控制邏輯等。1.設(shè)備寄存器①主存地址寄存器MAR

初始值為主存數(shù)據(jù)緩沖區(qū)的首地址,在傳輸前由程序?qū)懭?。在DMA傳送期間,每交換一個(gè)字,由硬件邏輯將MAR自動(dòng)加1。②外設(shè)地址寄存器ADR存放I/O設(shè)備的設(shè)備碼,或者表示該設(shè)備信息存儲(chǔ)區(qū)的尋址信息。例如;磁盤(pán)的驅(qū)動(dòng)器號(hào)、磁頭號(hào)、柱面號(hào)等。10jlsheng@④控制與狀態(tài)寄存器CSR存放控制字和狀態(tài)字??刂谱质窃趥鬏斍坝沙绦?qū)懭氲?。⑤?shù)據(jù)緩沖寄存器DBR當(dāng)主存與I/O設(shè)備的數(shù)據(jù)寬度不一致時(shí),用于暫存I/O設(shè)備與主存?zhèn)魉偷臄?shù)據(jù)。若DMA與主存之間是按字傳送的,而DMA與I/O設(shè)備之間是按字節(jié)或位傳送的時(shí)候,DMA還要做數(shù)據(jù)的裝配和分拆。③字?jǐn)?shù)計(jì)數(shù)器WC在傳輸前由程序?qū)懭雮魉蛿?shù)據(jù)的總字?jǐn)?shù)。每傳送一個(gè)字自動(dòng)減1。當(dāng)其內(nèi)容為0時(shí)表示傳輸結(jié)束。DMA控制器組成11jlsheng@2.中斷控制邏輯每當(dāng)一個(gè)數(shù)據(jù)塊傳輸完畢,DMA通過(guò)中斷請(qǐng)求CPU進(jìn)行后處理和下次傳輸前的預(yù)處理。3.DMA控制邏輯一般包括設(shè)備碼選擇電路,DMA優(yōu)先排隊(duì)電路,產(chǎn)生DMA請(qǐng)求的線路等。在DMA取得總線控制權(quán)后,控制主存與I/O設(shè)備之間的數(shù)據(jù)傳送。DMA與主機(jī)和DMA與I/O設(shè)備的接口,包括數(shù)據(jù)線、地址線、控制信號(hào),以及有關(guān)收發(fā)和驅(qū)動(dòng)線路。DMA控制器組成12jlsheng@§10.3.3DMA的數(shù)據(jù)傳送過(guò)程當(dāng)I/O設(shè)備準(zhǔn)備好后,向DMA控制器發(fā)出傳送請(qǐng)求。DMA控制器用竊取處理機(jī)一個(gè)總線周期的方法完成I/O設(shè)備與主存儲(chǔ)器之間的直接數(shù)據(jù)傳送。當(dāng)所要求的數(shù)據(jù)塊傳送完畢,DMA控制器向CPU發(fā)出中斷請(qǐng)求。CPU做一些傳送后處理工作。DMA數(shù)據(jù)傳送與CPU之間是并行工作的。DMA的數(shù)據(jù)傳送過(guò)程可以分為三個(gè)階段:①傳送前預(yù)處理,②DMA數(shù)據(jù)傳送,③傳送后處理。其中,第①和第③階段是CPU執(zhí)行程序完成的,第②階段是在DMA控制器硬件邏輯控制下完成的。13jlsheng@1.傳送前預(yù)處理CPU執(zhí)行一段程序,測(cè)試設(shè)備的狀態(tài),啟動(dòng)將要進(jìn)行I/O的外部設(shè)備。將數(shù)據(jù)在主存儲(chǔ)器存放的首地址寫(xiě)入主存地址寄存器,然后,CPU繼續(xù)執(zhí)行其他程序。CPU對(duì)DMA控制器進(jìn)行初始化:要傳送的數(shù)據(jù)字?jǐn)?shù)寫(xiě)入數(shù)據(jù)字?jǐn)?shù)寄存器,I/O設(shè)備的地址寫(xiě)入設(shè)備地址寄存器,傳送方式(輸入/輸出)寫(xiě)入控制與狀態(tài)寄存器。14jlsheng@DACK選通狀態(tài)INTRDRQ系統(tǒng)總線I/O接口數(shù)據(jù)端口控制/狀態(tài)端口數(shù)據(jù)寄存器控制邏輯DMAC主存地址寄存器字計(jì)數(shù)器控制/狀態(tài)寄存器外設(shè)地址寄存器CPUMMHRQHLDAI/O設(shè)備DRQ:DMA請(qǐng)求HRQ:總線請(qǐng)求DACK:DMA響應(yīng)HLDA:總線響應(yīng)2.DMA數(shù)據(jù)傳送15jlsheng@DMA數(shù)據(jù)輸入的過(guò)程I/O設(shè)備啟動(dòng)后,把準(zhǔn)備好的數(shù)據(jù)送到I/O接口的數(shù)據(jù)緩沖寄存器,向DMAC請(qǐng)求DMA傳送。DMAC每傳送一個(gè)字向CPU發(fā)出總線請(qǐng)求。CPU必須在當(dāng)前機(jī)器周期結(jié)束時(shí)交出系統(tǒng)總線,并向DMAC發(fā)出總線允許信號(hào)。DMAC取得總線控制權(quán)后,將主存地址寄存器中的內(nèi)容送上地址總線,發(fā)I/O讀命令和存儲(chǔ)器寫(xiě)命令。I/O接口將數(shù)據(jù)緩沖寄存器中的內(nèi)容送上數(shù)據(jù)總線,同時(shí)將數(shù)據(jù)寫(xiě)入主存。DMAC將字?jǐn)?shù)寄存器減1,主存地址寄存器加1。如果字?jǐn)?shù)寄存器減1后不為0,準(zhǔn)備下一次輸入。如果字?jǐn)?shù)寄存器=0,表示一組數(shù)據(jù)傳送結(jié)束,向CPU發(fā)中斷請(qǐng)求。16jlsheng@系統(tǒng)總線INTRDACKDRQCPUMMHRQHLDAI/O設(shè)備I/O接口數(shù)據(jù)端口控制/狀態(tài)端口數(shù)據(jù)寄存器控制邏輯DMAC主存地址寄存器字計(jì)數(shù)器控制/狀態(tài)寄存器外設(shè)地址寄存器數(shù)據(jù)緩沖寄存器如果I/O設(shè)備的數(shù)據(jù)寬度小于存儲(chǔ)器的字長(zhǎng),就要由DMAC完成數(shù)據(jù)的拼接。I/O設(shè)備把準(zhǔn)備好的每個(gè)字節(jié)的數(shù)據(jù)送到I/O接口的數(shù)據(jù)緩沖寄存器,向DMAC請(qǐng)求DMA傳送。DMAC將數(shù)據(jù)讀入。經(jīng)過(guò)若干次輸入,拼成一個(gè)完整的字后,DMAC向CPU發(fā)出總線請(qǐng)求,傳送一個(gè)字。17jlsheng@DMA數(shù)據(jù)輸出的過(guò)程I/O設(shè)備啟動(dòng)并做好數(shù)據(jù)接受的準(zhǔn)備后,通過(guò)I/O接口向DMAC請(qǐng)求DMA傳送。DMAC向CPU發(fā)出總線請(qǐng)求。CPU必須在當(dāng)前機(jī)器周期結(jié)束時(shí)交出系統(tǒng)總線,并向DMAC發(fā)出總線允許信號(hào)。DMAC取得總線控制權(quán)后,將主存地址寄存器中的內(nèi)容送上地址總線,發(fā)存儲(chǔ)器讀命令和I/O寫(xiě)命令。將從主存讀出的數(shù)據(jù)寫(xiě)入I/O接口的數(shù)據(jù)緩沖寄存器中,再送給輸出設(shè)備。DMAC將字?jǐn)?shù)寄存器減1,主存地址寄存器加1。如果字?jǐn)?shù)寄存器減1后不為0,準(zhǔn)備下一次輸出。如果字?jǐn)?shù)寄存器=0,表示一組數(shù)據(jù)傳送結(jié)束,向CPU發(fā)中斷請(qǐng)求。18jlsheng@選通狀態(tài)INTRDACKDRQ系統(tǒng)總線I/O接口數(shù)據(jù)端口控制/狀態(tài)端口數(shù)據(jù)寄存器控制邏輯DMAC主存地址寄存器字計(jì)數(shù)器控制/狀態(tài)寄存器外設(shè)地址寄存器CPUMMHRQHLDAI/O設(shè)備DRQ:DMA請(qǐng)求HRQ:總線請(qǐng)求DACK:DMA響應(yīng)HLDA:總線響應(yīng)DMA數(shù)據(jù)輸出的過(guò)程19jlsheng@系統(tǒng)總線INTRDACKDRQCPUMMHRQHLDAI/O設(shè)備I/O接口數(shù)據(jù)端口控制/狀態(tài)端口數(shù)據(jù)寄存器控制邏輯DMAC主存地址寄存器字計(jì)數(shù)器控制/狀態(tài)寄存器外設(shè)地址寄存器數(shù)據(jù)緩沖寄存器如果I/O設(shè)備的數(shù)據(jù)寬度小于存儲(chǔ)器的字長(zhǎng),就要由DMAC完成數(shù)據(jù)的分拆。DMAC把從主存讀出的數(shù)據(jù)字分拆成一個(gè)個(gè)字節(jié)。I/O設(shè)備每發(fā)一次DMAC請(qǐng)求,就向I/O設(shè)備輸出一個(gè)字節(jié),直到一個(gè)數(shù)據(jù)字輸出完畢,再向CPU發(fā)出總線請(qǐng)求。20jlsheng@3.后處理階段CPU響應(yīng)DMA的中斷請(qǐng)求后,如果需要繼續(xù)進(jìn)行數(shù)據(jù)傳送,就再次對(duì)DMAC進(jìn)行初始化。如果不需要繼續(xù)進(jìn)行數(shù)據(jù)傳送,則停止外設(shè)。DMA數(shù)據(jù)傳送,第一和第三階段是CPU執(zhí)行程序完成的,第二階段是在DMA控制器硬件邏輯控制下完成的。21jlsheng@Homework10-8,10,11,12Veryfewcomputerlanguagesincludebuilt-insupportforfixedpointvalues,becauseformostapplications,binaryordecimalfloating-pointrepresentationsareusuallysimplertouseandaccurateenough.Floating-pointrepresentationsareeasiertousethanfixed-pointrepresentations,becausetheycanhandleawiderdynamicrangeanddonotrequireprogrammerstospecifythenumberofdigitsaftertheradixpoint.22jlsheng@測(cè)驗(yàn)4請(qǐng)寫(xiě)好自己的姓名、學(xué)號(hào)、班級(jí)23jlsheng@一、(20分)

設(shè)CPU有16條地址線,8條數(shù)據(jù)線,訪存控制信號(hào),讀/寫(xiě)信號(hào)。現(xiàn)有存儲(chǔ)芯片ROM(2K×8,4K×4),RAM(4K×8,1K×4,16K×1)。試從上述芯片中選用合適的芯片,畫(huà)出主存和CPU的連接圖,要求主存的地址空間分配如下:最小4K空間為系統(tǒng)程序區(qū),4096-16383為用戶(hù)程序區(qū)。請(qǐng)不要抄題,只寫(xiě)題號(hào)

二、(共25分)設(shè)主存容量為256K字,Cache容量為2K字,塊長(zhǎng)為4。(1)設(shè)計(jì)Cache地址格式,Cache中可以裝入多少塊數(shù)據(jù)?(2)在直接映射方式下,設(shè)計(jì)主存地址格式。(3)在四路組相聯(lián)映射方式下,設(shè)計(jì)主存地址格式。(4)在全相聯(lián)映射方式下,設(shè)計(jì)主存地址格式。(5)若存儲(chǔ)字長(zhǎng)為32位,存儲(chǔ)器按字節(jié)編址,寫(xiě)出上述三種方式下主存的地址格式。測(cè)驗(yàn)4測(cè)驗(yàn)4三、(共25分))設(shè)CPU有16條地址線,8條數(shù)據(jù)線,用作為訪問(wèn)存儲(chǔ)器或I/O的控制信號(hào)(高電平為訪存,低電平為訪I/O),為寫(xiě)命令(低電平有效),為讀命令(低電平有效)。試設(shè)計(jì)一個(gè)容量為64KB的采用低位交叉編址的8體并行結(jié)構(gòu)存儲(chǔ)器。存儲(chǔ)體有寫(xiě),讀,片選等控制信號(hào)(均為低電平有效)。畫(huà)出該存儲(chǔ)系統(tǒng)的連接圖,寫(xiě)出每個(gè)存儲(chǔ)體的地址范圍。二、(共25分)設(shè)主存容量為256K字,Cache容量為2K字,塊長(zhǎng)為4(1)設(shè)計(jì)Cache地址格式,Cache中可以裝入多少塊數(shù)據(jù)?(2)在直接映射方式下,設(shè)計(jì)主存地址格式。(3)在四路組相聯(lián)映射方式下,設(shè)計(jì)主存地址格式。(4)在全相聯(lián)映射方式下,設(shè)計(jì)主存地址格式。(5)若存儲(chǔ)字長(zhǎng)為32位,存儲(chǔ)器按字節(jié)編址,寫(xiě)出上述三種方式下主存的地址格式。請(qǐng)不要抄題,只寫(xiě)題號(hào)

測(cè)驗(yàn)4三、(共2

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論