『壹』 比較通道,dma,中斷三種基本l/o方式的異同點
一、相同點:通道、DMA、中斷三種基本I/O方式均為外圍設備和內存之間的輸入/輸出控制方式。
二、不同胡吵點:
1、驅動方式不同:
中斷:允許I/O設備主動打斷CPU的運行並請求服務,從而「解放」CPU,使得其向I/O控制器發送讀命猜做局令後可以繼續做其他有用的工作;
DMA:直接存儲器存取方式的基本思想是在I/O設備和內存之間開辟直接的數據交換通路,徹底「解放」 CPU;
I/O通道方式:DMA方式的發展,它可以進一步減少CPU的干預,即把對一個數據塊的讀(或寫)為單位的干預,減少為對一組數據塊的讀(或寫)及有關的控制和管理為單位的干預。穗讓
2、適用場景不同:
中斷:適用於高效場合
DMA:不需要CPU干預介入的控制器來控制內存與外設之間的數據交流的場合
I/O通道方式:適用於以位元組為單位的干預,同時實現CPU、通道和I/O設備三者並行操作的場合
3、處理方法不同:
中斷:在系統中具有多個中斷源的情況下,常用的處理方法有,多中斷信號線法.中斷軟體查詢法.雛菊鏈法、匯流排仲裁法和中斷向量表法。
DMA:獲取匯流排的3種方式分別為:暫停方式、周期竊取方式和共享方式。
I/O通道方式:通道是一種通過執行通道程序管理I/O操作的控制器,它使主機與1/0操作之間達到更高的並行程度。按照所採取的傳送方式,可將通道分為位元組多路通道、選擇通道和數組多路通道3種。
『貳』 直接存儲器存取(DMA)方式是__方式
DMA(Direct Memory Access),即直接存儲器存取,是一種快速傳送數據的機制。數據傳遞可以從適配卡到內存,從內存到適配卡或從一段內存到另一段內存。
-------------------------------------------------
DMA方式的數據傳送過程
DMA方式具有如下特點:
1、 外部設備的輸入輸出請求直接發給主儲存器。
主存儲器既可以被CPU訪問,也可以被外圍設備訪問。因此,在主存儲器中通常要有一個存儲管理部件來為各種訪問主存儲器的申請排隊,一般計算機系統把外圍設備的訪問申請安排在最高優先順序。
2、 不需要做保存現場和恢復現場等工作,從而使DMA方式的工作速度大大加快。
由於在外圍設備與主存儲器之間傳送數據不需要執行程序,因此,也不動用CPU中的數據寄存器和指令計數器等。
3、在DMA控制器中,除了需要設置數據緩沖寄存器、設備狀態寄存器或控制寄存器之外,還要設置主存儲器地址寄存器,設備地址寄存器和數據交換個數計數器。
外圍設備與主存儲器之間的整個數據交換過程全部要在硬體控制下完成。另外,由於外圍設備一般是以位元組為單位傳送的,而主存儲器是以字為單位訪問的,因此,在DMA控制器中還要有從位元組裝配成字和從字拆卸成位元組的硬體。
4、在DMA方式開始之前要對DMA控制器進行初始化,包括向DMA控制器傳送主存緩沖區首地址、設備地址、交換的數據塊的長度等,並啟動設備開始工 作。在DMA方式結束之後,要向CPU申請中斷,在中斷服務程序中對主存儲器中數據緩沖區進行後處理。如果需要繼續傳送數據的話,要再次對DMA控制器進 行初始化。
5、在DMA方式中,CPU不僅能夠與外圍設備並行工作,而且整個數據的傳送過程不需要CPU的干預。如果主存儲器的頻帶寬度足夠的話,外圍設備的工作可以絲毫不影響CPU運行它自身的程序。
DMA方式的工作流程如下:
對於輸入設備:
從輸入介質上讀一個位元組或字到DMA控制器中的數據緩沖寄存器BD中,如果輸入設備是面向字元的,則要把讀入的字元裝配成字。
若一個字還沒有裝配滿,則返回到上面;若校驗出錯,則發中斷申請;若一個字已經裝配滿,則將BD中的數據送入主存數據寄存器。
把主存地址寄存器BA(在DMA控制器中)中的地址送入主存地址寄存器,並且將BA中的地址增值至下一個字地址。
把DMA控制器內的數據交換個數計數器BC中的內容減"1"。
若BC中的內容為"0",則整個DMA數據傳送過程全部結束,否則返回到最上面繼續進行。
對於輸出設備:
把主存地址寄存器BA(在DMA控制器中)中的地址送入主存地址寄存器,並啟動主存儲器,同時將BA中的地址增值至下一個字地址。
將主存儲器數據寄存器中的數據送入DMA控制器的數據緩沖寄存器BD中。如果輸出設備是面向字元的,則要把BD中的數據拆卸字元。
把BD中數據逐個字元(對於面向字元的設備)或整個字寫到輸出介質上。
把DMA控制器內的數據交換個數計數器BC中的內容減"1"。
若BC中的內容為"0",則整個DMA數據傳送過程全部結束,否則返回到最上面繼續進行。
目前使用的DMA方式實際上有如下三種:
1、周期竊取方式
在每一條指令執行結束時,CPU測試有沒有DMA服務申請,如果有,則CPU進入一個DMA周期。在DMA周期中借用CPU完成上面所列出的DMA工作流程。包括數據和主存地址的傳送,交換個數計數器中的內容減"1",主存地址的增值及一些測試判斷等。
採用周期竊取方式時,主存儲器可以不與外圍設備直接相連接,而只與CPU連接,即仍然可以採用如圖4.4那樣的連接方式,因為外圍設備與主存儲器的數據交換與程序控制輸入輸出方式和中斷輸入輸出方式一樣都是要經過CPU的。
周期竊取方式與程序控制輸入輸出方式和中斷輸入輸出方式的不同處主要在:它不需要使用程序來完成數據的輸入或輸出,只是借用了一個CPU的周期來完成DMA流程。因此,其工作速度是很快的。
周期竊取方式的優點是硬體結構很簡單,比較容易實現。缺點是在數據輸入或輸出過程種實際上佔用了CPU的時間。
2、直接存取方式
這是一種真正的DMA方式。DMA控制器的數據傳送申請不是發向CPU,而是直接發往主存儲器。在得到主存儲器的響應之後,整個DMA工作流程全部在DMA控制器中用硬體完成。
直接存取方式的優點與缺點正好與周期竊取方式相反。
目前的多數計算機系統均採用直接存取方式工作。
3、數據塊傳送方式
在設備控制器中設置一個比較大的數據緩沖存儲器,一般要能夠存放下一個數據塊,如在軟磁碟存儲器中通常設置512個位元組的數據緩沖存儲器。與設備介質之間的數據交換在數據緩沖存儲器中進行。設備控制器與主存儲器之間的數據交換以數據塊為單位,並採用程序中斷方式進行。
數據塊傳送方式實際上並不是DMA方式,只是它在每次中斷輸入輸出過程中是以數據塊為單位獲得或發送數據的,這一點與上面兩種DMA方式相同,因此,通常也把這種輸入輸出方式歸入DMA方式。
採用數據塊傳送方式的外圍設備還有行式列印機,激光列印機,卡片閱讀機,部分繪圖儀等。
『叄』 存儲器的存儲方式
存儲器中數據常用的存取方式有順序存取、直接存取、隨機存取和相聯存取等四種。
(1)順序存取:存儲器的數據以記錄的形式進行組織。對數據的訪問必須按特定的線性順序進行。磁帶存儲器採用順序存取的方式。
(2)直接存取:與順序存取相似,直接存取也使用一個共享的讀寫裝置對所有的數據進行訪問。但是,每個數據塊都擁有惟一的地址標識,讀寫裝置可以直接移動到目的數據塊的所在位置進行訪問。存取時間也是可變的。磁碟存儲器採用直接存取的方式。
(3)隨機存取:存儲器的每一個可定址單元都具有自己惟一的地址和讀寫裝置,系統可以在相同的時間內對任意一個存儲單元的數據進行訪問,而與先前的訪問序列無關。主存儲器採用隨機存取的方式。
(4)相聯存取:相聯存取也是一種隨機存取的形式,但是選擇某一單元進行讀寫是取決於其內容而不是其地址。與普通的隨機存取方式一樣,每個單元都有自己的讀寫裝置,讀寫時間也是一個常數。使用相聯存取方式,可以對所有的存儲單元的特定位進行比較,選擇符合條件的單元進行訪問。為了提高地址映射的速度,cache採取相聯存取的方式。
存儲器系統的性能主要由存取時間、存儲器帶寬、存儲器周期和數據傳輸率等來衡量。
『肆』 隨機存取與直接存取有什麼區別
隨機存取和直接存取是同一個概念,兩者沒有任何的區別,可以通過下標直接訪問的那種數據結構,與存儲位置無關,例如數組。隨機存儲最典型的代表為鏈式存儲。
隨機存取和具有邏輯上相鄰的節點物理上不必相鄰;插入、刪除數據靈活,不必移動節點,只要改變節點中的指針;每個結點是由數據域和指針域組成的特點。
(4)什麼叫直接存儲器存取方式擴展閱讀
隨機存取存儲器依賴電容器存儲數據。電容器充滿電後代表1(二進制),未充電的代表0。由於電容器或多或少有漏電的情形,若不作特別處理,數據會漸漸隨時間流失。刷新是指定期讀取電容器的狀態,然後按照原來的狀態重新為電容器充電,彌補流失了的電荷。
隨機存取存儲器(RAM)是計算機存儲器中最為人熟知的一種。之所以RAM被稱為「隨機存儲」,是因為您可以直接訪問任一個存儲單元,只要您知道該單元所在記憶行和記憶列的地址即可。
『伍』 I/O數據有幾種傳送方式各有什麼特點
I/O數據有幾種傳送方式?各有什麼特點?
程序方式:指用輸入/輸出指令,來控制信息傳輸的方式,是一種軟體控制方式,根據程序控制的方法不同,又可以分為無條件傳送方式和條件傳送方式。
無條件傳送方式接姿猛口簡單,適用於那些能隨時讀寫的設備。條件傳送方式(查詢方式) 的特點是介面電路簡單,CPU利用率低(程序循環等待),介面需向CPU提供查詢狀態。適用於CPU不太忙,傳送速度要求不高的場合。要求各種外設不能同時工作,外設處於被動狀態。
中斷方式:當外設准備好時,由外設通過介面電路向CPU發出中斷請求信號,CPU在允許的情況下,暫停執行當前正在執行的程序,響應外設中斷,轉入執行相應的中斷服務子程序,與外設進行一次數據傳送,數據傳送結束後,CPU返回繼續執行原來被中斷的程序。其特點是CPU的利用率高,外設具有申請CPU中斷的主動權, CPU和外設之間處於並行工作狀態。但中斷服務需要保護斷點和恢復斷點(佔用存儲空間,降低速度), CPU和外設之間需要中斷控制器。適用於CPU的任務較忙、傳送速度要求不高的場合,尤其適合實時控制中的緊急事件處理。
存儲器直接存取方式(DMA):外設利用專用的介面(DMA控制器)直接與存儲器進行高速數據傳送,並不經過CPU(CPU不參與數據傳送工作),匯流排控制權不在CPU處,而由DMA 控制器控制。其特點是介面電路復雜,硬體開銷大。大批量數據傳送速度極快。適用於存儲器與存儲器之間、存儲器與外設之間的大批量數據傳送的場合。
I/O輸入/輸出(Input/Output),分為IO設備和IO介面兩個部分。 在POSIX兼容的系統上,例如Linux系統[1] ,I/O操作可以有多種方式,比如DIO(Direct I/O),AIO(Asynchronous I/O,非同步I/O),Memory-Mapped I/O(內存映射I/O)等,不同的I/O方式有不同的實現方式和性能,在不同的應用中可以按情況選擇不同的I/O方式。
I/O數據有幾種傳送方式?各有什麼特點?求解
程序方式:指用輸入/輸出指令,來控制信息傳輸的方式,是一種軟體控制方式,根據程序控制的方法不同,又可以分為無條件傳送方式和條件傳送方式。
無條件傳送方式介面簡單,適用於那些能隨時讀寫的設備。條件傳送方式(查詢方式) 的特點是介面跡兄橋電路簡單,CPU利用率低(程序循環等待),介面需向CPU提供查詢狀態。適用於CPU不太忙,傳送速度要求不高的場合。要求各種外設不能同時工作,外設處於被動狀態。
中斷方式:當外設准備好時,由外設通過介面電路向CPU發出中斷請求信號,CPU在允許的情況下,暫停執行當前正在執行的程序,響塵螞應外設中斷,轉入執行相應的中斷服務子程序,與外設進行一次數據傳送,數據傳送結束後,CPU返回繼續執行原來被中斷的程序。其特點是CPU的利用率高,外設具有申請CPU中斷的主動權, CPU和外設之間處於並行工作狀態。但中斷服務需要保護斷點和恢復斷點(佔用存儲空間,降低速度), CPU和外設之間需要中斷控制器。適用於CPU的任務較忙、傳送速度要求不高的場合,尤其適合實時控制中的緊急事件處理。
存儲器直接存取方式(DMA):外設利用專用的介面(DMA控制器)直接與存儲器進行高速數據傳送,並不經過CPU(CPU不參與數據傳送工作),匯流排控制權不在CPU處,而由DMA 控制器控制。其特點是介面電路復雜,硬體開銷大。大批量數據傳送速度極快。適用於存儲器與存儲器之間、存儲器與外設之間的大批量數據傳送的場合。
I/O埠的編址方式有幾種?各有什麼特點?
有兩種,即獨立編址和統一編址。 1.獨立編址(專用的I/O埠編址)----存儲器和I/O埠在兩個獨立的地址空間中 (1)優點:I/O埠的地址碼較短,解碼電路簡單,存儲器同I/O埠的操作指令不同,程序比較清晰;存儲器和I/O埠的控制結構相互獨立,可以分別設計 (2)缺點:需要有專用的I/O指令,程序設計的靈活性較差 2.統一編址(存儲器映像編址)----存儲器和I/O埠共用統一的地址空間,當一個地址空間分配給I/O埠以後,存儲器就不能再佔有這一部分的地址空間 (1)優點:不需要專用的I/O指令,任何對存儲器數據進行操作的指令都可用於I/O埠的數據操作,程序設計比較靈活;由於I/O埠的地址空間是內存空間的一部分,這樣,I/O埠的地址空間可大可小,從而使外設的數量幾乎不受限制 (2)缺點:I/O埠佔用了內存空間的一部分,影響了系統的內存容量;訪問I/O埠也要同訪問內存一樣,由於內存地址較長,導致執行時間增加
CPU傳送數據最快的I/O方式是什麼傳送方式?
C
CPU的I/O傳送控制方式中,效率高、實時性強的方式是 中斷傳送
CPU的I/O傳送控制方式中,傳送速度最快的方式為 DMA傳送
數控車床主軸有幾種傳動方式?各有什麼特點
對於機床主軸,傳動件的作用是以一定的功率和最佳切削速度完成切削加工。按傳動功能不同可將主傳動作如下分類:
1、有變速功能的傳動:為了簡化結構、在傳動設計時,將主軸當做傳動變速組,常用變速副是滑移齒輪組。為了保證主軸傳動精度及動平衡,可將固定齒輪裝於主軸上或在主軸上裝換檔離合器,這類傳動副多裝與兩支承中間。對於不頻繁的變速,可用交換齒輪、塔輪結構等,此時變速傳動副多裝於主軸尾端。
2、固定變速傳動方式:這種傳動方式是為了將主軸運動速度(或扭矩)調整到適當范圍。考慮到受力和安裝、調整的方便,固定傳動組可裝在兩支承之外,盡量靠近某一支承,以減少對主軸的彎矩作用,或採用卸荷機構。常用的傳動方式有齒輪方式、帶傳動、鏈傳動等。
3、主軸功能部件:將原動機與主軸傳動合為一體,組成一個獨立的功能部件,如用於磨削加工的各類磨床用主軸部件或用於組合機床的標准主軸組(又稱主軸單元)。們的共同特點是主軸本身無變速功能,主軸轉速的調節可採用機械變速器或與電氣、液(氣)壓控制等方式,但可調范圍小。
在i/o數據傳送方式中,中斷方式和dna方式有什麼主要異同
dna?不是dma么……中斷是由軟體或外部需要進行數據傳輸時,向cpu提出中斷申請,經cpu回傳信號後開始數據傳遞。而dma不經由cpu的控制,直接進行數據的存取傳遞。
cpu與外設的數據傳送方式有哪些?各有什麼特點?用在什麼場合?
8.2 CPU與外設數據傳送的方式
8.2.1 查詢傳送方式
CPU與I/O設備的工作往往是非同步的,很難保證當CPU執行輸入操作時,外設已把要輸入的信息准備好了;而當CPU執行輸出時,外設的寄存器(用於存放CPU輸出數據的寄存器)一定是空的.所以,通常程序控制的傳送方式在傳送之前,必須要查詢一下外設的狀態,當外設准備就緒了才傳送;若未准備好,則CPU等待.
1.查詢式輸入
在輸入時,CPU必須了解外設的狀態,看外設是否准備好.
當輸入設備的數據已准備好後,發出一個選通信號,一邊把數據送入鎖存器,一邊使D觸發器為"1",給出"准備好"Ready的狀態信號.而數據與狀態必須由不同的埠輸至CPU數據匯流排.當CPU要由外設輸入信息時,先輸入狀態信息,檢查數據是否已准備好,當數據已經准備好後,才輸入數據.讀入數據的指令,使狀態信息清"0".
這種查詢輸入方式的程序流程圖,如圖8-11所示.
2.查詢式輸出
同樣的,在輸出時CPU也必須了解外設的狀態,看外設是否有空(即外設不是正處在輸出狀態,或外設的數據寄存器是空的,可以接收CPU輸出的信息),若有空,則CPU執行輸出指令,否則就等待.
查詢式輸出的程序流程圖如圖8-14所示.
8.2.2 中斷傳送方式
在上述的查詢傳送方式中,CPU要不斷地詢問外設,當外設沒有準備好時,CPU要等待,不能進行別的操作,這樣就浪費了CPU的時間.而且許多外設的速度是較低的,如鍵盤,列印機等等,它們輸入或輸出一個數據的速度是很慢的,在這個過程中,CPU可以執行大量的指令.為了提高CPU的效率,可採用中斷的傳送方式:在輸入時,若外設的輸入數據已存入寄存器;在輸出時,若外設已把上一個數據輸出,輸出寄存器已空,由外設向CPU 發出中斷請求,CPU就暫停原執行的程序( 即實現中斷),轉去執行輸入或輸出操作(中斷服務),待輸入輸出操作完成後即返回,CPU再繼續執行原來的程序.這樣就可以大大提高CPU的效率,而且允許CPU與外設(甚至多個外設)同時工作.
8.2.3 直接數據通道傳送(DMA)
中斷傳送仍是由CPU通過程序來傳送,每次要保護斷點,保護現場需用多條指令,每條指令要有取指和執行時間.這對於一個高速I/O設備,以及成組交換數據的情況,例如磁碟與內存間的信息交換,就顯得速度太慢了.
所以希望用硬體在外設與內存間直接進行數據交換(DMA),而不通過CPU,這樣數據傳送的速度的上限就取決於存儲器的工作速度.但是,通常系統的地址和數據匯流排以及一些控制信號線(例如IO/,,等)是由CPU管理的.在DMA方式時,就希望CPU把這些匯流排讓出來(即CPU連到這些匯流排上的線處於第三態——高阻狀態),而由DMA控制器接管,控制傳送的位元組數,判斷DMA是否結束,以及發出DMA結束等信號.這些都是由硬體實現的.
1.DMA控制器的基本功能
DMAC是控制存儲器和外部設備之間直接高速地傳送數據的硬體電路,它應能取代CPU,用硬體完成圖8-17所示的各項功能.具體地說應具有如下功能:
(1)能接收外設的請求,向CPU發出DMA請求信號.
(2)當CPU發出DMA響應信號之後,接管對匯流排的控制,進入DMA方式.
(3)能定址存儲器,即能輸出地址信息和修改地址.
(4)能向存儲器和外設發出相應的讀/寫控制信號.
(5)能控制傳送的位元組數,判斷DMA傳送是否結束.
(6)在DMA傳送結束以後,能結束DMA請求信號,釋放匯流排,使CPU恢復正常工作.
2.DMA傳送方式
各種DMAC一般都有兩種基本的DMA傳送方式:
(1)單位元組方式:每次DMA請求只傳送一個位元組數據,每傳送完一個位元組,都撤除DMA請求信號,釋放匯流排.
(2)位元組(字元)組方式:每次DMA請求連續傳送一個數據塊,待規定長度的數據塊傳送完了以後,才撤除DMA請求,釋放匯流排.
細胞增殖有幾種方式?各有什麼特點?
真核細胞增殖分為有絲分裂,無絲分裂和減數分裂。
一.
有絲分裂過程包括1.物質准備(間期),2.細胞分裂 其中間期時間較長
間期細胞體積變大,有核膜核仁,和成絲狀的染色質,此時染色質復制,包括DNA和Pr.復制
分列期分為以下幾個階段
1.前期;核膜核仁消失,染色質高度螺旋化變成染色體。細胞兩極發出紡錘絲形成紡錘體
2.中期;染色體著絲點排列在赤道板上,染色體數目形態清晰,便於觀察
3.後期;著絲點一分為二,姐妹染色單體分離,在紡錘絲牽引下移向兩級,染色體數目暫時加倍,染色單體數目為0.
4.末期;核膜核仁重新出現,紡錘體消失,染色體消失變成了染色質,赤道板位置出現了細胞板,將細胞一分為二.
二.無絲分裂。
沒有紡錘絲的出現,沒有染色體的變化,始終有細胞核。
三.減數分裂
減數分裂只發生在真核生物有性生殖的過程中。
原核生物為二分裂方法。
希望可以幫到你。。
主機與外部設備之間的數據傳送方式有哪些?各有什麼特點
1.程序查詢方式
2.中斷方式
3.DMA方式
4.通道方式
特點啥的就不是很清楚了哎
『陸』 微機中,cpu與外設之間有哪幾種傳送的方式,他們的工作原理是什麼啊!!
方式有四種:程序直接控制方式、中斷控制方式、DMA方式、通道方式。
(1)程序直接控制方式:就是由用戶進程直接控制內存或CPU和外圍設備之間的信息傳送。這種方式控制者都是用戶進程。
(2)中斷控制方式:被用來控制外圍設備和內存與CPU之間的數據傳送。這種方式要求CPU與設備(或控制器)之間有相應的中斷請求線,而且在設備控制器的控制狀態寄存器的相應的中斷允許位。
(3)DMA方式:又稱直接存取方式。其基本思想是在外圍設備和內存之間開辟直接滑頃攜的數據交換通道。
(4)通道方式:與DMA方式相類似,也是一種以內存為中心,實現設備和內存直接交換數據的控制方式。
知識延展:
1. 中央處理器(CPU,Central Processing Unit)是一塊超大規模的集成電路,是一台計算機的運算核心和控制核心。主要包括運算器和控制器兩大部件。此外,還包括若干個寄存器和高速緩沖存儲器及實現它們之間聯系的數據、控制及狀態的匯流排。
2. 中央處理器擁有多線程、多核心、 亂序執行、NUMA技術、分枝技術和SMP等多項處理技術,與內部存乎兆儲器和輸入/輸出設備合稱為電子計算機三信伏大核心部件。其功能主要是解釋計算機指令以及處理計算機軟體中的數據。
『柒』 直接存儲器存取的用途
DMA方式主要適用於一些高速的I/O設備。這些設備傳輸位元組或字的速度非常快。對於這類高速I/O設備,如果用輸入輸出指令櫻晌或採用中斷的方法來傳輸位元組信息,會大量佔用CPU的時間,同時也容易造成數據的丟失。而DMA方式能使I/O設備直接和存儲器進行成批數據的快速傳送。
DMA控制器或介面一般包括四個寄存器:
狀態控制寄存器、數據寄存器、地址寄存器和位元組計數器。
這些寄存器在信息傳送之前需要進行初始化設置。即在輸入輸出程序中用匯編語言謹州指脊晌鋒令對各個寄存器寫入初始化控制字。
『捌』 直接存儲器存取的工作原理
一個設備介面試圖通過匯流排直接向另一個設備發送數據(一般是大批量的數據),它會先向CPU發送DMA請求信號脊態或。外設通過DMA的一種專門介面電路――DMA控制器(DMAC),向CPU提出接管匯流排控制權的匯流排請求,CPU收到該信號後,在當前的匯流排周期結束後,會按DMA信號的優先順序和提出DMA請求的先後順序響應DMA信號。CPU對閉拿某個設備介面響應DMA請求時,會讓出匯流排控制權。於是在DMA控制器的管理下,外設和存儲器直接進行數據交換,而不需CPU干預。數據傳送完畢後,設備介面會向CPU發送DMA結束信號,交還匯流排控制權。
實現DMA傳送的基本操作如下:
(1)外設可通過DMA控制器向CPU發出DMA請求:
(2)CPU響應DMA請求,系統櫻伍轉變為DMA工作方式,並把匯流排控制權交給DMA控制器;
(3)由DMA控制器發送存儲器地址,並決定傳送數據塊的長度;
(4)執行DMA傳送;
(5)DMA操作結束,並把匯流排控制權交還CPU。
『玖』 計算機組成原理(三)存儲系統
輔存中的數據要調入主存後才能被CPU訪問
按存儲介質,存儲器可分為磁表面存儲器(磁碟、磁帶)、磁心存儲器半導體存儲器(MOS型存儲器、雙極型存儲器)和光存儲器(光碟)。
隨機存取存儲器(RAM):讀寫任何一個存儲單元所需時間都相同,與存儲單元所在的物理位置無關,如內存條等
順序存取存儲器(SAM):讀寫一個存儲單元所需時間取決於存儲單元所在的物理位置,如磁碟等
直接存取存儲器(DAM):既有隨機存取特性,也有順序存取特性。先直接選取信息所在區域,然後按順序方式存取。如硬碟等
相聯存儲器,即可以按內容訪問的存儲器(CAM)可以按照內容檢索到存儲位置進行讀寫,「快表」就是一種相聯存儲器
讀寫存儲器—即可讀、也可寫(如:磁碟、內存、Cache)
只讀存儲器—只能讀,不能寫(如:實體音樂專輯通常採用CD-ROM,實體電影採用藍光光碟,BIOS通常寫在ROM中)
斷電後,存儲信息消失的存儲器——易失性存儲器(主存、Cache)
斷電後,存儲信息依然保持的存儲器——非易失性存儲器(磁碟、光碟)
信息讀出後,原存儲信息被破壞——破壞性讀出(如DRAM晶元,讀出數據後要進行重寫)
信息讀出後,原存儲信息不被破壞——非破壞性讀出(如SRAM晶元、磁碟、光碟)
存儲器晶元的基本電路如下
封裝後如下圖所示
圖中的每條線都會對應一個金屬引腳,另外還有供電引腳、接地引腳,故可以由此求引腳數目
n位地址對應2 n 個存儲單元
假如有8k×8位的存儲晶元,即
現代計算機通常按位元組編址,即每個位元組對應一個地址
但也支持按位元組定址、按字定址、按半字定址、按雙字定址
(Dynamic Random Access Memory,DRAM)即動態RAM,使用柵極電容存儲信息
(Static Random Access Memory,SRAM)即靜態RAM,使用雙穩態觸發器存儲信息
DRAM用於主存、SRAM用於Cache,兩者都屬於易失性存儲器
簡單模型下需要有 根選通線,而行列地址下僅需 根選通線
ROM晶元具有非易失性,斷電後數據不會丟失
主板上的BIOS晶元(ROM),存儲了「自舉裝入程序」,負責引導裝入操作系統(開機)。邏輯上,主存由 輔存RAM+ROM組成,且二者常統一編址
位擴展的連接方式是將多個存儲晶元的地址端、片選端和讀寫控制端相應並聯,數據端分別引出。
字擴展是指增加存儲器中字的數量,而位數不變。字擴展將晶元的地址線、數據線、讀寫控制線相應並聯,而由片選信號來區分各晶元的地址范圍。
實際上,存儲器往往需要同時擴充字和位。字位同時擴展是指既增加存儲字的數量,又增加存儲字長。
兩個埠對同一主存操作有以下4種情況:
當出現(3)(4)時,置「忙」信號為0,由判斷邏輯決定暫時關閉一個埠(即被延時),未被關閉的埠正常訪問,被關閉的埠延長一個很短的時間段後再訪問。
多體並行存儲器由多體模塊組成。每個模塊都有相同的容量和存取速度,各模塊都有獨立的讀寫控制電路、地址寄存器和數據寄存器。它們既能並行工作,又能交義工作。多體並行存儲器分為高位交叉編址(順序方式)和低位交叉編址(交叉方式)兩種.
①高位交叉編址
②低位交叉編址
採用「流水線」的方式並行存取(宏觀上並行,微觀上串列),連續取n個存儲字耗時可縮短為
宏觀上,一個存儲周期內,m體交叉存儲器可以提供的數據量為單個模塊的m倍。存取周期為T,存取時間/匯流排傳輸周期為r,為了使流水線不間斷,應保證模塊數
單體多字系統的特點是存儲器中只有一個存儲體,每個存儲單元存儲m個字,匯流排寬度也為m個字。一次並行讀出m個字,地址必須順序排列並處於同一存儲單元。
缺點:每次只能同時取m個字,不能單獨取其中某個字;指令和數據在主存內必須是連續存放的
為便於Cache 和主存之間交換信息,Cache 和主存都被劃分為相等的塊,Cache 塊又稱Cache 行,每塊由若干位元組組成。塊的長度稱為塊長(Cache 行長)。由於Cache 的容量遠小於主存的容盤,所以Cache中的塊數要遠少於主存中的塊數,它僅保存主存中最活躍的若干塊的副本。因此 Cache 按照某種策略,預測CPU在未來一段時間內欲訪存的數據,將其裝入Cache.
將某些主存塊復制到Cache中,緩和CPU與主存之間的速度矛盾
CPU欲訪問的信息已在Cache中的比率稱為命中率H。先訪問Cache,若Cache未命中再訪問主存,系統的平均訪問時間t 為
同時訪問Cache和主存,若Cache命中則立即停止訪問主存系統的平均訪問時間t 為
空間局部性:在最近的未來要用到的信息(指令和數據),很可能與現在正在使用的信息在存儲空間上是鄰近的
時間局部性:在最近的未來要用到的信息,很可能是現在正在使用的信息
基於局部性原理,不難想到,可以把CPU目前訪問的地址「周圍」的部分數據放到Cache中
直接映射方式不需要考慮替換演算法,僅全相聯映射和組相聯映射需要考慮
①隨機演算法(RAND):若Cache已滿,則隨機選擇一塊替換。實現簡單,但完全沒考慮局部性原理,命中率低,實際效果很不穩定
②先進先出演算法(FIFO):若Cache已滿,則替換最先被調入Cache的塊。實現簡單,依然沒考慮局部性原理
③近期最少使用演算法(LRU):為每一個Cache塊設置一個「計數器」,用於記錄每個Cache塊已經有多久沒被訪問了。當Cache滿後替換「計數器」最大的.基於「局部性原理」,LRU演算法的實際運行效果優秀,Cache命中率高。
④最不經常使用演算法(LFU):為每一個Cache塊設置一個「計數器」,用於記錄每個Cache塊被訪問過幾次。當Cache滿後替換「計數器」最小的.並沒有很好地遵循局部性原理,因此實際運行效果不如LRU
現代計算機常採用多級Cache,各級Cache之間常採用「全寫法+非寫分配法」;Cache-主存之間常採用「寫回法+寫分配法」
寫回法(write-back):當CPU對Cache寫命中時,只修改Cache的內容,而不立即寫入主存,只有當此塊被換出時才寫回主存。減少了訪存次數,但存在數據不一致的隱患。
全寫法(寫直通法,write-through):當CPU對Cache寫命中時,必須把數據同時寫入Cache和主存,一般使用寫緩沖(write buffer)。使用寫緩沖,CPU寫的速度很快,若寫操作不頻繁,則效果很好。若寫操作很頻繁,可能會因為寫緩沖飽和而發生阻塞訪存次數增加,速度變慢,但更能保證數據一致性
寫分配法(write-allocate):當CPU對Cache寫不命中時,把主存中的塊調入Cache,在Cache中修改。通常搭配寫回法使用。
非寫分配法(not-write-allocate):當CPU對Cache寫不命中時只寫入主存,不調入Cache。搭配全寫法使用。
頁式存儲系統:一個程序(進程)在邏輯上被分為若干個大小相等的「頁面」, 「頁面」大小與「塊」的大小相同 。每個頁面可以離散地放入不同的主存塊中。CPU執行的機器指令中,使用的是「邏輯地址」,因此需要通「頁表」將邏輯地址轉為物理地址。頁表的作用:記錄了每個邏輯頁面存放在哪個主存塊中
邏輯地址(虛地址):程序員視角看到的地址
物理地址(實地址):實際在主存中的地址
快表是一種「相聯存儲器」,可以按內容尋訪,表中存儲的是頁表項的副本;Cache中存儲的是主存塊的副本
地址映射表中每一行都有對應的標記項
主存-輔存:實現虛擬存儲系統,解決了主存容量不夠的問題
Cache-主存:解決了主存與CPU速度不匹配的問題