計算機組成原理筆記7-輸入輸出系統


基本概念*

I/O系統演變過程

  1. 早期: CPU和I/O串行工作,分散連接

    程序查詢方式:由CPU通過程序不斷查詢I/O設備是否已做好准備,從而控制I/O設備與主機交換信息。

  2. 接口模塊和DMA階段: CPU和I/O並行工作,總線連接

    中斷方式:只有I/O設備准備就緒並向CPU發出中斷請求時才予以響應。

    DMA方式:主存和I/O設備之間有一條直接數據通路,當主存和I/O設備交換信息時,無需調用中斷服務程序。

  3. 具有I/O通道結構的階段

    在系統中設有通道控制部件,每個通道都掛接若干個外設,主機在執行I/O命令時,只需啟動有關通道,通道將執行通道程序,從而完成I/O操作。

  4. 具有I/O處理機的階段

I/O系統基本組成*

一般來說,I/O系統由I/O軟件和I/O硬件兩部分構成。

  1. I/O軟件: 包括驅動程序、用戶程序、管理程序、升級補丁等

    通常采用I/O指令和通道指令實現CPU和I/O設備的信息交換。

    • I/O指令: CPU指令的一部分

      操作碼 命令碼 設備碼

      操作碼:識別I/O指令

      命令碼:做什么操作

      設備碼:對哪個設備進行操作

    • 通道指令: 通道自身的指令

      指出數據的首地址、傳送字數、操作命令

      通道指令放在主存中

      由CPU執行啟動I/O設備的指令,由通道代替CPU對I/O設備進行管理

  2. I/O硬件 包括外部設備、設備控制器和接口、I/O總線等。

I/O方式簡介

  1. 程序查詢方式

  2. 程序中斷方式

  3. DMA方式

外部設備*

外部設備也稱為外圍設備,是除了主機以外的、能直接或間接與計算機交換信息的裝置。

輸入設備:用於向計算機系統輸入命令和文本、數據等信息的部件。鍵盤和鼠標是最基本的輸入設備。如:鍵盤、鼠標。

輸出設備:用於將計算機系統中的信息輸出到計算機外部進行顯示、交換等的部件。

外存設備:是指除計算機內存及CPU緩存等以外的存儲器。硬磁盤、光盤等是最基本的外存設備。

顯示器

屏幕大小:以對角線長度表示,常用的有12~29英寸等。

分辨率:所能表示的像素個數,屏幕上每一個光點就是一個像素,以寬、高的像素的乘積表示,例如:800600,1024768和1280*1020等。

灰度級:灰度級是指黑白顯示器中所顯示的像素點的亮暗差別,在彩色顯示器中則表現為顏色的不同,灰度級越多,圖像層次越清楚逼真,典型的有8位(256級)、16位等。n位可以表示 \(2^n\) 種不同的亮度或顏色。

刷新:光點只能保持極短的時間便會消失,為此必須在光點消失之前再重新掃描顯示一遍,這個過程稱為刷新。

刷新頻率:單位時間內掃描整個屏幕內容的次數,按照人的視覺生理,刷新頻率大於30Hz時才不會感覺閃爍,通常顯示器刷新頻率在60~120Hz。

顯示存儲器(VRAM):也稱刷新存儲器,為了不斷提高刷新圖像的信號,必須把一幀圖像信息存儲在刷新存儲器中。其存儲容量由圖像分辨率和灰度級決定,分辨率最高,灰度級越多,刷新存儲器容量越大。

\[VARM容量=分辨率 \times 灰度級位數 \\ VARM帶寬=分辨率 \times 灰度級位數 \times 幀頻 \]

外存儲器

計算機的外存儲器又稱為輔助存儲器,目前主要使用磁表面存儲器。

所謂"磁表面存儲",是指某些磁性材料薄薄地塗在金屬綠或塑料表面上作為載磁體來存儲信息。磁盤存儲器、磁帶存儲器和磁鼓存儲器均屬於磁表面存儲器。

磁表面存儲器的優點:

  1. 存儲容量大,位價格低;
  2. 記錄介質可以重復使用;
  3. 記錄信息可以長期保存而不丟失,甚至可以脫機存檔;
  4. 非破環性讀出,讀出時不需要再生。

磁表面存儲器的缺點:

  1. 存取速度慢;
  2. 機械結構復雜;
  3. 對工作環境要求較高。

原理:當磁頭和磁性記錄介質由相對運動時,通過電磁轉換完成讀/寫操作。

編碼方式:按某種方案(規律),把一連串的二進制信息變換成存儲介質磁層中一個磁化翻轉狀態的序列,並使讀/寫控制i電路容易、可靠地實現轉換。

磁記錄方式:通常采用調頻制(FM)和改進型調頻制(MFM)的記錄方式。

外存儲器既可以作為輸入設備,也可以作為輸出設備。(既可以存數據,也可以讀數據)

磁盤存儲器

磁盤設備的組成:

  1. 存儲區域:

    一塊硬盤含有若干個記錄面,每個記錄面划分為若干條磁道,而每條磁道又划分為若干個扇區,扇區(也稱為快)是磁盤讀寫的最小單位,也就是說磁盤按塊存取。

    • 磁頭數(Heads):即記錄面數,表示硬盤總共有多少個磁頭,磁頭用於用於讀取/寫入盤片上記錄面的信息,一個記錄面對應一個磁頭。
    • 柱面數(Cylinders):表示硬盤每一面盤片上有多少條磁道。在一個盤組中,不同記錄面的相同編號(位置)的諸磁道構成一個圓柱面。
    • 扇區數(Sectors):表示每一條磁道上有多少個扇區。
  2. 硬盤存儲器:

    硬盤存儲器由磁盤驅動器、磁盤控制器和盤片組成。

    磁盤控制器:核心部件是磁頭組件和盤片組件,溫切斯特盤是一種可移動頭固定盤片的硬件存儲器。

    磁盤控制器:是硬盤存儲器和主機的接口,主流的標准有IDE、SCSI、SATA等。

磁盤的性能指標:

  1. 磁盤的容量:一個磁盤所能存儲的字節總數稱為磁盤容量。磁盤容量有非格式化容量和格式化容量之分。(容量:非格式化>格式化)

    非格式化容量是指磁記錄表面可以利用的磁化單元總數;

    格式化容量是指按照某種特定的記錄格式所能存儲信息的總量。

  2. 記錄密度:記錄密度是指盤片單位面機上記錄的二進制的信息量,通常以道密度、位密度和面密度表示。

    道密度是沿磁盤半徑方向單位長度上的磁盤數;

    位密度是磁道單位長度上能記錄的二進制代碼位數;

    面密度是位密度和道密度的乘積。

    注:磁盤所有磁道記錄的信息量一定是相等的,並不是圓越大信息越多,故每個磁道的位密度都不同。

  3. 平均存取時間:

    平均存取時間=尋道時間(磁頭移動到目的磁道)+旋轉延遲時間(磁頭定位道所在扇區)+傳輸時間(傳輸數據所花費的時間)

  4. 數據傳輸率:磁盤存儲器在單位時間內向主機傳送數據的字節數,稱為數據傳輸率。

    假設磁盤轉速為r(轉/秒),每條磁道容量為N個字節,則數據傳輸率為\(D_r=rN\)

磁盤地址:

主機向磁盤控制器發送尋址信息,磁盤的地址一般如圖所示:

驅動器號 柱面(磁道)號 盤面號 扇區號

磁盤的工作過程:

硬盤的主要操作是尋址、讀盤、寫盤。每個操作都對應一個控制字,硬盤工作時,第一步是取控制字,第二步是執行控制字。

硬盤屬於機械式部件,其讀寫操作時串行的,不可能在同一時刻既讀又寫,也不可能讀兩組數據或寫兩組數據。

磁盤陣列:

RAID(廉價冗余磁盤陣列)是將多個獨立的物理磁盤組成一個獨立的邏輯盤,數據在多個物理盤上分割交叉存儲、並行訪問,具有更好的存儲性能、可靠性和安全性。

RAID分級如下:

  • RAID0:無冗余和無校驗的磁盤陣列
  • RAID1:鏡像磁盤陣列
  • RAID2:采用糾錯的海明碼的磁盤陣列
  • RAID3:位交叉奇偶校驗的磁盤陣列
  • RAID4:塊交叉奇偶校驗的磁盤陣列
  • RAID5:無獨立校驗的奇偶校驗磁盤陣列

RAID通過同時使用多個磁盤,提高了傳輸率;通過在多個磁盤上並行存取來大幅提高存儲系統的數據吞吐量;通過鏡像功能,可以提高安全可靠性;通過數據校驗,可以提供容錯能力。

光盤存儲器

光盤存儲器是利用光學原理讀/寫信息的存儲裝置,它采用聚焦激光束對盤式介質以非接觸的方式記錄信息。

特點:存儲密度高,攜帶方便,成本低,容量大,存儲期限長,容易保存等

光盤的類型如下:

  • CD-ROM:只讀型光盤,只能讀出其中內容,不能寫入或修改。
  • CD-R:只可寫入一次信息,之后不可修改。
  • CD-RW:可讀可寫光盤,可以重復讀寫。
  • DVD-ROM:高容量的CD-ROM,DVD表示通用數字化多功能光盤。

固態硬盤

在微小型高檔筆記本電腦中,采用高性能Flash Memory作為硬盤來記錄數據,這種"硬盤"稱固態硬盤。

固態硬盤除了需要Flash Memory外,還需要其他硬件和軟件的支持。

注:閃存(Flash Memory)是在E2PROM的基礎上發展起來的,本質上是只讀存儲器。

I/O接口

功能

I/O接口(I/O控制器)是主機和外設之間的交接界面,通過接口可以實現主機和外設之間的信息交換。

[1999唐朔飛版]*

接口的功能(要解決的問題):

  1. 實現主機和外設的通信聯絡控制
  2. 進行地址譯碼和設備選擇
  3. 實現數據緩沖
  4. 信號格式的轉換
  5. 傳送控制命令和狀態信息

接口的功能(具體操作):

  1. 設備選址
  2. 傳送命令
  3. 傳送數據
  4. 反饋I/O設備的工作狀態

[2010袁春風版]

IO接口的作用:

  • 數據緩沖:通過數據緩沖寄存器(DBR)達到主機和外設工作速度的匹配
  • 錯誤或狀態檢測:通過狀態寄存器反饋設備的各種錯誤、狀態信息,供CPU查用
  • 控制和定時:接收從控制總線發來的控制信號,時鍾信號
  • 數據格式轉換:串-並、並-串等格式轉換
  • 與主機和設備通信:實現主機-I/O接口-I/O設備之間的通信

基本結構

[1999唐朔飛版]*

內部接口:內部接口與系統總線相連,實質上是與內存、CPU相連,實質上是與內存、CPU相連。數據的傳輸方式只能是並行傳輸的

外部接口:外部接口通過接口電纜與外設相連,外部接口的數據傳輸可能是串行方式,因此I/O接口需具有串/並轉換功能。

一個工作過程,以控制外設輸入為例:

[2010袁春風版]

image-20211001214733264

接口和端口

I/O端口是指接口電路中可以被CPU直接訪問的寄存器。

I/O端口要想能夠被CPU訪問,必須要有端口地址,每一個端口都對應着一個端口地址。

I/O端口及其編碼方式:

  1. 統一編址:

    把I/O端口當做存儲器的單元進行地址分配,用統一的訪存指令就可以訪問I/O端口,又稱為存儲器映射方式

    靠不同的地址碼區分內存和I/O設備,I/O地址要求相對固定在地址的某部分。

    優點:不需要專門的輸入/輸出指令,可是CPU訪問I/O的操作更靈活、更方便,還可使端口有較大的編址空間。

    缺點:端口占用了存儲器地址,使內存容量變小;外設尋址時間長(地址位數多,地址譯碼速度慢)

    (RISC機器常用)

  2. 獨立編址:

    I/O端口地址與存儲器地址無關,獨立編址CPU需要設置專門的輸入/輸出指令訪問端口,又稱I/O映射方式

    不同的指令區分內存和I/O設備。

    優點:使用專用I/O指令,程序編址清晰,便於理解。I/O端口地址位數多,地址譯碼速度塊快;I/O端口的地址不占用主存地址空間

    缺點:輸入/輸出指令少,一般只能對端口進行傳送操作,尤其需要CPU提供存儲器讀/寫,I/O設備讀/寫兩組控制信號,增加了控制的復雜性。

接口的類型

按數據傳送方式:

並行接口:一個字節或一個子所有位同時傳送。

串行接口:一位一位地傳送。

注:這里所說的數據傳送方式指的是外設和接口一側的傳送方式,而在主機和接口一側,數據總是並行傳送的。接口要完成數據格式轉換。

按主機訪問I/O設備的控制方式:程序查詢接口,中斷接口,DMA接口。

按功能選擇的靈活性:可編程接口,不可編程接口。

I/O方式

程序查詢方式

流程圖:

優點:接口設計簡單,設備量少。

缺點:CPU在信息傳送過程中要花費很多時間用於查詢和等待,而且在一段時間內只能和一台外設交換信息,效率大大降低。

接口結構:

CPU一旦啟動I/O,必須停止現行程序的運行,並在現行程序中插入一段程序。

主要特點:CPU有“踏步”等待現象,CPU與I/O串行工作。

優點:接口設計簡單,設備量少。

缺點:CPU在信息傳送過程中要花費很多時間用於查詢和等待,而且如果采用獨占查詢,則在一段時間內只能和一台外設交換信息,效率大大降低。

獨占查詢:CPU100%的時間都在查詢I/O狀態,完全串行

定時查詢:在保證數據不丟失的情況下,每隔一端時間CPU就查詢一次I/O狀態。查詢的間隔內CPU可以執行其他程序。

程序中斷方式

中斷的基本概念

程序中斷是指在計算機執行現行程序的過程中,出現某些急需處理的異常情況或特殊情況,CPU暫時中止現行程序,而轉去對這些異常情況或特殊請求進行處理,在處理完畢后CPU又自動返回到現行程序的斷點處,繼續執行原程序。

工作流程

  1. 中斷請求:中斷源向CPU發送中斷請求信號。
  2. 中斷響應:響應中斷的條件。中斷判優:多個中斷源同時提出請求。
  3. 中斷處理:中斷隱指令。中斷服務程序。

注:中斷隱指令----是指指令系統中沒有的指令,它由CPU在中斷響應周期自動完成。其功能是保護程序斷點、硬件關中斷、向量地址送PC(硬件向量法)或中斷識別程序入口地址送PC(軟件查詢法)。

中斷請求

中斷請求的分類:image-20211001222703215

中斷請求標記

image-20211001222936500

每個中斷源向CPU發出中斷請求的時間是隨機的。

為了記錄中斷事件並區分不同的中斷源,中斷系統需對每個中斷源設置中斷請求標記觸發器INTR,當其狀態為"1"時,表示中斷源有請求。

這些觸發器可組成中斷請求標記寄存器,該寄存器可集中在CPU中,也可分散在各個中斷源中。

對於外中斷,CPU是在統一的時刻即每條指令執行階段結束前向接口發出中斷查詢信號,以獲取I/O的中斷請求,也就是說,CPU響應中斷的時間是在每條指令執行階段的結束時刻

CPU響應中斷必須滿足以下3個條件:

  1. 中斷源有中斷請求
  2. CPU允許中斷即開中斷
  3. 一條指令執行完畢,且沒有更緊迫的任務。

中斷判優

實現: 既可以用硬件實現,也可用軟件實現;

硬件實現是通過硬件排隊器實現的,它既可以設置在CPU中,也可以分散在各個中斷源中;

軟件實現是通過查詢程序實現的。

優先級設置:

  1. 硬件故障中斷屬於最高級,其次是軟件中斷;
  2. 非屏蔽中斷優於可屏蔽中斷;
  3. DMA請求優於I/O設備傳送的中斷請求,
  4. 高速設備優於低速設備;
  5. 輸入設備優於輸出設備
  6. 實時設備優於普通設備。

中斷處理

過程:

中斷隱指令的主要任務:

  1. 關中斷:在中斷服務程序中,為了保護中斷現場(即CPU主要寄存器中的內容)期間不被新的中斷所打斷,必須關中斷,從而保證被中斷的程序在中斷服務程序執行完畢之后能接着正確低執行下去。

  2. 保存斷點:為了保證在中斷服務程序執行完畢后能正確地返回到原來的程序,必須將原來程序的斷點(即程序計數器(PC)的內容)保存起來。可以存入堆棧,也可以存入指定單元

  3. 引出中斷服務程序:引出中斷服務程序的實質就是取出中斷服務程序的入口地址並傳送給程序計數器(PC)。

    可通過軟件查詢法硬件向量法

    硬件向量法:硬件生向量地址,再由向量地址(中斷類型號)找到入口地址

    image-20211001223950940

中斷服務程序的主要任務:

  1. 保護現場:一是保存程序斷點(PC),已由中斷隱指令完成;二是保存通用寄存器和狀態寄存器的內容,由中斷服務程序完成。可以使用堆棧,可以是使用特定存儲單元。
  2. 中斷服務(設備服務):主體部分,如通過程序控制需打印的字符代碼送入打印機的緩沖存儲器中。
  3. 恢復現場:通過出棧指令或取數指令把之前保存的信息送回寄存器中。
  4. 中斷返回:通過中斷返回指令回到原程序斷點處。

單重中斷和多種中斷

單重中斷 多重中斷
中斷隱指令 關中斷 關中斷
保存斷點(PC) 保存斷點(PC)
送中斷向量 送中斷向量
中斷服務程序 保護現場 保護現場和屏蔽字
- 開中斷
執行中斷服務程序 執行中斷服務程序
- 關中斷
恢復現場 恢復現場和屏蔽字
開中斷 開中斷
中斷返回 中斷返回

中斷屏蔽技術

中斷屏蔽技術主要用於多重中斷,CPU要具有多重中斷的功能,須滿足下列條件。

  1. 在中斷服務程序中提前設置開中斷指令。
  2. 優先級別高的中斷源有權中斷優先級別低的中斷源。

每個中斷源都有一個屏蔽觸發器,1表示屏蔽該中斷源的請求,0表示可以正常申請,所有屏蔽觸發器組合在一起,便構成一個屏蔽字寄存器,屏蔽字寄存器的內容稱為屏蔽字。

小結

程序中斷的作用如下:

  1. 實現CPU與I/O設備的並行工作。
  2. 處理硬件故障和軟件錯誤。
  3. 實現人機交互,用戶干預機器需要用到中斷系統。
  4. 實現多道程序、分時操作,多道程序的切換需借助於中斷系統。
  5. 實現處理需要借助中斷系統來實現快速響應。
  6. 實現應用程序和操作系統(管態程序)的切換,稱為"軟中斷"。
  7. 多處理器系統中各處理器之間的信息交流和任務切換。

擴展*

DMA方式

DMA控制器

每准備好一個數據都要中斷CPU,由CPU運行中斷服務程序來完成一次傳送

磁盤機、磁帶機等高速設備需要大批量的數據傳送->CPU大量時間用於中斷服務

由硬件實現控制大批量的數據傳送->DMA控制器

在DMA方式中,當I/O設備需要進行數據傳送時,通過DMA控制器(DMA接口)向CPU提出DMA傳送請求,CPU響應之后將讓出系統總線,由DMA控制器接管總線進行數據傳送。其主要功能有:

  1. 接受外設發出的DMA請求,並向CPU發出總線請求。
  2. CPU響應此總線請求,發出總線響應信號,接管總線控制權,進入DMA操作周期。
  3. 確定傳送數據的主存單元地址及長度,並能自動修改主存地址計數和傳送長度計數。
  4. 規定數據在主存和外設間的傳送方向,發出讀寫等控制信號,執行數據傳送操作。
  5. 向CPU報告DMA操作的結束。

DMA控制器

中斷機構:當一個數據塊傳送完畢后觸發中斷機構,向CPU提出中斷請求。

控制/狀態邏輯:由控制和時序電路及狀態標志組成,用於指定傳送方向,修改傳送參數,並對DMA請求信號和CPU響應信號進行協調和同步。

DMA請求觸發器:每當I/O設備准備好數據后給出一個控制信號,使DMA請求觸發器置位。

主存地址計數器:簡稱AR,存放要交換數據的主存地址。

傳送地址長度計數器:簡稱WC,用來記錄傳送數據的長度,計數溢出時,數據即傳送完畢,自動發中斷請求信號。

數據緩沖寄存器:用於暫存每次傳送的數據。

DMA傳送過程

DMA傳送方式

主存和DMA控制器之間有一條數據通路,因此主存和I/O設備之間交換信息時,不通過CPU。但當I/O設備和CPU同時訪問主存時,可能發生沖突,為了有效地使用主存,DMA控制器與CPU通常采用以下3種方式使用主存。

  1. 停止CPU訪問主存

    控制簡單;CPU處於不工作狀態或保持狀態,未充分發揮CPU對主存的利用率。

  2. DMA與CPU交替訪存

    一個CPU周期分為\(C_1\)\(C_2\)兩個周期;\(C_1\)專供DMA訪存,\(C_2\)專供CPU訪存。

    不需要總線使用權的申請、建立和歸還過程。硬件邏輯更為復雜

  3. 周期挪用(周期竊取)

    DMA訪問主存有三種可能:

    • CPU此時不訪存(不沖突)
    • CPU正在訪存(存取周期結束讓出總線)
    • CPU和DMA同時請求訪存(I/O訪存優先)

DMA方式的特點

主存和DMA接口之間有一條直接數據通路。

由於DMA方式傳輸數據不需要經過CPU,因此不必中斷現行程序,I/O與主機並行工作,程序和傳送並行工作

DMA方式具有下列特點;

  1. 它使主存與CPU的固定聯系脫鈎,主存既可被CPU訪問,又可被外設訪問。
  2. 在數據塊傳送時,主存地址的確定、傳送數據的計數等都由硬件電路直接實現。
  3. 主存中要開辟專用緩沖區,及時供給和接收外設的數據。
  4. DMA傳送速度快,CPU和外設並行工作,提高了系統效率。
  5. DMA在傳送開始前要通過程序進行預處理,結束后要通過中斷方式進行后處理。

DMA方式與中斷方式

中斷 DMA
數據傳送 程序控制
程序的切換->保存和恢復現場
硬件控制
CPU只需進行預處理和后處理
中斷請求 傳送數據 后處理
響應 指令執行周期結束后響應中斷 每個機器周期結束均可,總線空閑時可響應DMA請求
場景 CPU控制,低速設備 DMA控制器控制,高速設備
優先級 優先級低於DMA 優先級高於中斷
異常處理 能處理異常事件 僅傳送數據


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM