全國計算機等級考試四級復習綱要:虛擬存儲器
(2)虛擬存儲的工作原理
虛擬存儲技術,實際上是將編寫程序時所用的虛擬地址(邏輯地址)轉換成較小的物理地址。在程序運行時隨時進行這種變換。為了便于主存與輔存之間信息的交換,虛擬存儲器一般采用二維或三維的復合地址格式。采用二維地址格式時,將整個存儲器劃分為若干頁(或段),每個頁(或段)又包括若干存儲單元。采用三維地址格式時將整個存儲空間分為若干段,每段分為若干頁,每頁又包括若干存儲單元。根據地址格式不同,虛擬存儲器分為:頁式虛擬存儲器、段式虛擬存儲器和段頁式虛擬存儲器。
在虛擬存儲器中邏輯地址與物理地址之間的對應稱為地址映象。通常有三種地址映象的方式:全相聯映象、直接映象和組相聯映象。
①全相聯映象
任一邏輯頁能映象到實際主存的任意頁面位置稱為全相聯映象,通常利用頁表法進行地址間的變換。
②直接映象
每個邏輯頁只能映象到一個特定頁面的方式稱為直接映象。如主存實際有2 P 頁,虛擬存儲器的邏輯空間有2 P 頁,則將邏輯空間按物理空間大小分為2 P -P塊,塊內各頁只能映象到主存的相應頁中。即所有各塊的第0頁對應主存的第0頁,各塊的第n頁對應主存的第n頁。若程序需要輪流使用第i塊和第j塊的第m頁,只能將兩頁交替在主存和輔存之間調入調出,形成存儲頁面的“抖動”。
(1)Cache的原理和作用Cache的工作原理基于對大量典型程序運行實例的分析。分析結果表明,在較短的時間間隔內,由程序產生的地址往往集中在存儲器邏輯地址空間很小的范圍內。指令地址的分布又是連續的,加上循環程序和子程序段的重復執行,對這些地址的訪問自然具有時間上集中分布的傾向。這種對局部范圍的存儲器地址頻繁訪問,對此范圍外的地址訪問甚少的現象稱為程序訪問的局部性。程序訪問的局部性為Cache的引入提供了理論依據。
Cache是緩沖技術在存儲體系中的一個具體應用。Cache處于主存與CPU之間,負責解決主存與CPU之間速度的協調問題。Cache中存放著主存的一部分副本(主存中的部分內容),當存儲器接到有關讀取指令時,先在Cache中查找此信息是否存在,若有則不經主存直接從Cache中取出;否則直接從主存中取出,同時寫入Cache,以備再次使用。當向存儲器寫入內容時,由輔助硬件采用各種方法保證主存中的內容同Cache中的內容保持一致。
為保證寫入時兩者內容一致的方法有:①將內容同時寫入主存和Cache;②數據僅寫入主存,若Cache中有此內容則將其釋放;③數據只寫入Cache,在規定的時候將修改過的Cache的內容寫入主存。
Cache的主要特點是:①存取速度快,一般Cache的速度完全可以跟上CPU的運算速度;②存儲量小,由于Cache的速度快,其價格也相當昂貴,因此為保證整個存儲器的性能價格比,一般采用適當容量的Cache,其容量小于主存。
(2)磁盤緩沖技術
磁盤緩沖技術的目的是減少由于主、輔存之間的速度差異對計算機總體性能的影響。磁盤是存儲系統中的輔助部分,其主要作用是用來存儲不常用的數據和程序等信息,減輕對主存容量的需求壓力。由于磁盤中的信息不能被計算機的其他部件直接調用,因此在信息的輸入/輸出過程中必須在主存中開辟一定的空單位和為與磁盤上信息交換的中間過渡區域稱為磁盤緩沖區。如從鍵盤(輸入設備)向磁盤中輸入一個信息,此信息必須通過總線先輸入到主存中的特定區域中,通過程序控制將信息存放到主存中對應于磁盤輸入/輸出的一個特定區域內,然后將此信息轉存到磁盤上。一般將主存中對應于磁盤的特定區域稱為磁盤緩沖區。
為了提高磁盤的讀寫速度,操作系統一般根據程序運行的需要設置磁盤緩沖區的大小及輸入/輸出操作。同Cache技術相類似,不立即覆蓋磁盤緩沖區的內容,當系統需要繼續讀入磁盤中的信息時,首先檢查磁盤緩沖區中是否有所需要的信息,若有則直接使用,否則根據信息的位置將磁盤上特定扇區的內容調入磁盤緩沖區后再加以使用。這樣可以提高磁盤的信息讀取速度,減少因磁盤存取速度慢對系統整體性能的影響
九、輸入與輸出系統
1.輸入輸出系統的發展
輸入輸出系統的發展大致分為五種方式,即程序控制的輸入輸出方式、中斷方式,DMA方式、輸入/輸出通道方式和I/O處理機等五種方式。
程序查詢方式和程序中斷方式適用于數據傳輸率比較低的外部設備。而DMA方式、通道方式和I/O處理機方式適用于數據傳輸率比較高的設備。目前,小型機和微型機大都采用程序查詢方式、程序中斷方式和DMA方式。通道方式I/O處理機方式大都用在中、大型計算機中。為了介紹方便,我們把通道方式和I/O處理機方式視為一種方式。
2.程序查詢方式
程序查詢方式又叫程序控制I/O方式。在這種方式中,數據在CPU和外部設備之間的傳送完全靠計算機程序控制,是在CPU主動控制下進行的,當輸入/輸出時,CPU暫停執行主程序,轉去執行輸入/輸出的服務程序,根據服務程序中的I/O指令進行數據傳送。
這是一種最簡單、最經濟的輸入/輸出方式。它只需很少的硬件,因此幾乎所有的機器都具有程序查詢方式。特別是在微、小型機中,常用程序查詢方式來實現低速設備的輸入輸出管理。
4.DMA方式
(1)DMA方式的基本概念
直接訪問內存DMA方式,是一種完全由硬件執行I/O交換的工作方式。在這種方式中,DMA控制器從CPU中完全接管對總線的控制,數據交換不經過CPU,而直接在內存儲器和I/O設備之間進行。DMA方式一般用于高速地傳送成組的數據。DMA控制器將向內存發出地址和控制信號、修改地址、對傳送的字的個數計數,并且以中斷方式向CPU報告傳送操作的結束。DMA方式的主要優點是速度快。由于CPU根本不參加傳送操作,因此就省去了CPU取指令、取數、送數等操作。在數據傳送過程中,也不象中斷方式那樣,要進行保存現場、恢復現場之類的工作。內存地址修改、傳送字個數的計數等,也不是由軟件實現,而是用硬件線路直接實現的。DMA的種類很多,但各種DMA至少能執行以下一些基本操作:①從外部設備發出DMA請求;
②CPU響應請求,把CPU工作改成DMA操作方式,DMA控制器從CPU接管總線的控制;③由DMA控制器對內存尋址,即決定數據傳送的內存單元首地址及數據傳送個數的計數,并執行數據傳送的操作;
④向CPU報告DMA操作的結束。
(2)DMA技術的出現,使得外部設備可以通過DMA控制器直接訪問內存,與此CPU可以繼續執行程序。那么DMA控制器與CPU怎樣分時使用內存呢?通常采用以下三種方法:①停止CPU訪問;②周期挪用;
③DMA與CPU交替訪問。
(3)基本的DMA控制器
一個DMA控制器實際上是采用DMA方式的外部設備與系統總線之間的接口電路。這個接口電路是在中斷接口的基礎上再加DMA機構組成。習慣DMA方式的接口電路稱為DMA控制器。
①內存地址計數器
用于存放內存中要交換的數據地址。在DMA傳送前,需通過程序將數據在內存中的起始位置(首地址)送到內存地址計數器。而當DMA傳送時,每交換一次數據,將地址計數器加“1”,從而以增量方式給出內存中要交換的一批數據的地址。
②字計數器
用于記錄傳送數據塊的長度(多少字數)。其內容也是在數據傳送之間由程序預置,交換的字數通常以補碼形式表示。在DMA傳送時,每傳送一個字,字計數器就加“1”,當計數器溢出即最高位產生進位時,表示這批數據傳送完畢,于是引起DMA控制器向CPU發出中斷信號。
③數據緩沖寄存器
用于暫存每次傳送的數據(一個字)。當輸入時,由設備(如磁盤)送往數據緩沖寄存器,再由緩沖寄存器通過數據總線送到內存。反之,輸出時,由內存通過數據總線送到數據緩沖寄存器,然后再送到設備。
④“DMA請求”標志
每當設備準備好一個數據字后給出一個控制信號,使“DMA”請求標志置“1”。該標志置位后向“控制/狀態”邏輯發出DMA請求,后者又向CPU發出總線使用權的請求(HOLD),CPU響應此請求后發回響應信號HLDA,“控制/狀態”邏輯接收此信號后發出DMA響應信號,使“DMA請求”標志復位,為交換下一個字做好準備。
⑤“控制/狀態”邏輯它由控制和時序電路,以及狀態標志等組成,用于修改內存地址計數器和字計數器,指定傳送類型(輸入輸出),并對“DMA請求”信號和CPU響應信號進行協調和同步。⑥中斷機構
當字計數器溢出時(全0),意味著一組數據交換完畢,由溢出信號觸發中斷機構,向CPU提出中斷報告。這里的中斷與前面介紹的I/O中斷所采用的技術相同,但中斷的目的不同,前面是為了數據的輸入或輸出,而這里是為了報告一組數據傳送結束。因此它們是I/O系統中不同的中斷事件。
5.通道方式
(1)通道的功能
DMA控制器的出現已經減輕了CPU對數據輸入輸出的控制,使得CPU的效率有顯著的提高。而通道的出現則進一步提高了CPU的效率。這是因為通道是一個特殊功能的處理器,它有自己的指令和程序專門負責數據輸入輸出的傳輸控制,而CPU將“傳輸控制”的功能下放給通道后只負責“數據處理”功能。這樣,通道與CPU分時使用內存,實現了CPU內部運算與I/O設備的并行工作。
通道的基本功能是執行通道指令、組織外部設備和內存進行數據傳輸,按I/O指令要求啟動外部設備,向CPU報告中斷等,具體有以下五項任務:
①接受CPU的I/O指令,按指令要求與指定的外部設備進行通信;
②從內存選取屬于該通道程序的通道指令,經譯碼后向設備控制器和設備發送各種命令;
③組織外部設備和內存之間進行數據傳送,并根據需要提供數據中間緩存的空間,以及提供數據存入內存的地址和傳送的數據量;
④從外部設備得到設備的狀態信息,形成并保存通道本身的狀態信息,根據要求將這些狀態信息送到內存的指定單元,供CPU使用;
⑤將外部設備的中斷請求和通道本身的中斷請求,按次序及時報告CPU。
(2)通道類型
根據通道的工作方式,通道可分為:①選擇通道。②數組多路通道。③字節多路通道。④通道適配器。
6.外部設備
外部設備分為輸入設備、輸出設備、輸入輸出兼用設備、外存設備、數據通信設備和過程控制設備等。
①輸入設備②輸出設備③漢字設備
④數據通信設備
⑤過程控制設備