日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

13 计算机组成原理第七章 输入/输出系统 I/O方式 I/O接口

發布時間:2024/7/5 windows 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 13 计算机组成原理第七章 输入/输出系统 I/O方式 I/O接口 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

      • 1 I/O接口
        • 1.1 接口定義
        • 1.2 I/O接口的功能(以單總線為例)
        • 1.3 I/O接口的基本結構
        • 1.4 接口與端口
        • 1.5 I/O端口及其編址
        • 1.6 I/O接口的類型
        • 1.7 I/O接口小結
      • 2 I/O方式
        • 2.1 I/O方式1-程序查詢方式
          • 2.1.1 程序查詢方式流程圖
          • 2.1.2 程序查詢方式接口
          • 2.1.3 程序查詢方式-例題
        • 2.2 I/O方式2-程序中斷方式
          • 2.2.1 程序中斷方式
          • 2.2.2 程序中斷方式-例題
          • 2.2.3 程序中斷方式小結
        • 2.3 I/O方式3-DMA方式
          • 2.3.1 DMA控制器
          • 2.3.2 DMA控制器結構
          • 2.3.3 DMA傳送過程
          • 2.3.4 DMA傳送方式
          • 2.3.5 DMA方式的特點
          • 2.3.6 DMA方式與中斷方式比較
          • 2.3.7 例題:CPU占用情況
          • 2.3.8 DMA方式小結

1 I/O接口

1.1 接口定義

接口可以看作是兩個部件之間的交接部分。

1.2 I/O接口的功能(以單總線為例)


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

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

  • 實現主機和外設的通信聯絡控制
  • 進行地址譯碼和設備選擇
  • 實現數據緩沖
  • 信號格式的轉換
  • 傳送控制命令和狀態信息
  • 接口的功能(具體操作)

  • 設備選址
  • 傳送命令
  • 傳送數據
  • 反映I/O設備的工作狀態
  • 1.3 I/O接口的基本結構

    內部接口:內部接口與系統總線相連,實質上是與內存、CPU相連。數據的傳輸方式只能是并行傳輸。
    外部接口:外部接口通過接口電纜與外設相連,外部接口的數據傳輸可能是串行方式,因此I/O接口需具有串/并轉換功能。

    CPU同外設之間的信息傳送實質是對接口中的某些寄存器(即端口)進行讀或寫

    1.4 接口與端口

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

    如何訪問I/O端口?

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

    1.5 I/O端口及其編址

  • 統一編址

    把I/O端口當做存儲器的單元進行地址分配,用統一的訪存指令就可以訪問I/O端口,又稱存儲器映射方式
  • CPU靠不同的地址碼區分內存和I/O設備,I/O地址要求相對固定在地址的某部分。

    如系統總線中地址線共10根,則可以訪問的存儲單元個數為210=1024個,假設要給10個l/O端口編址:

    (1)0–9表示I/O地址,10–1023為主存單元地址
    (2)0–1013表示主存單元地址,1014–1023為I/O地址
    (3)10–19表示I/O地址,0–9、20–1023為主存單元地址

    I/O編址連續,不可間斷

    優點:不需要專門的輸入/輸出指令,可使CPU訪問l/O的操作更靈活、更方便,還可使端口有較大的編址空間。
    缺點:端口占用了存儲器地址,使內存容量變小,而且,利用存儲器編址的I/O設備進行數據輸入/輸出操作,執行速度較慢。

  • 獨立編址

    I/O端口地址與存儲器地址無關,獨立編址CPU需要設置專門的輸入/輸出指令訪問端口,又稱I/O映射方式。
  • CPU靠不同的指令區分內存和I/O設備。

    優點:輸入/輸出指令與存儲器指令有明顯區別,程序編制清晰,便于理解。
    缺點:輸入/輸出指令少,一般只能對端口進行傳送操作,尤其需要CPU提供存儲器讀/寫、I/O設備讀/寫兩組控制信號,增加了控制的復雜性。

    1.6 I/O接口的類型

    按數據傳送方式可分為

    并行接口:一個字節或一個字所有位同時傳送。
    串行接口:一位一位地傳送。

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

    按主機訪問I/O設備的控制方式可分為

    程序查詢接口
    中斷接口
    DMA接口

    按功能選擇的靈活性可分為

    可編程接口
    不可編程接口

    1.7 I/O接口小結

    2 I/O方式

    2.1 I/O方式1-程序查詢方式

    2.1.1 程序查詢方式流程圖

    優點:接口設計簡單、設備量少。
    缺點:CPU在信息傳送過程中要花費很多時間用于查詢和等待,而且在一段時間內只能和一臺外設交換信息,效率大大降低。

    2.1.2 程序查詢方式接口


    程序查詢方式數據傳送是發生在CPU寄存器和I/O接口的數據緩沖寄存器之間,交換的單位是一個字

    2.1.3 程序查詢方式-例題

    在程序查詢方式的輸入/輸出系統中,假設不考慮處理時間,每一個查詢操作需要100個時鐘周期,CPU的時鐘頻率為50MHz。現有鼠標和硬盤兩個設備,而且CPU必須每秒對鼠標進行30次查詢,硬盤以32位字長為單位傳輸數據,即每32位被CPU查詢一次,傳輸率為2×220B/s。求CPU對這兩個設備查詢所花費的時間比率,由此可得出什么結論?

    時間的角度:

    一個時鐘周期為 1 / 50MHz = 20ns
    一個查詢操作耗時 100×20ns = 2000ns
    (1)鼠標

    每秒查詢鼠標耗時 30×2000ns = 60000ns
    查詢鼠標所花費的時間比率 = 60000ns / 1s = 0.006%
    對鼠標的查詢基本不影響CPU的性能

    (2)硬盤

    每32位需要查詢一次,每秒傳送 2×220B
    每秒需要查詢(2×220B)/ 32 = 219
    查詢硬盤耗時 219×2000ns = 512×1024×2000ns = 1.05×109ns(近似值)
    查詢硬盤所花費的時間比率=(1.05×109ns)/ 1s = 105%

    得出的結論:CPU將全部時間都用于對硬盤的查詢也不能滿足磁盤傳輸的要求

    頻率的角度:

    CPU的時鐘頻率為50MHz,即每秒50×105個時鐘周期
    (1)鼠標

    每秒查詢鼠標占用的時鐘周期數 30×100 = 3000
    查詢鼠標所花費的時間比率= 3000 /(50×105)= 0.006%
    對鼠標的查詢基本不影響CPU的性能

    (2)硬盤
    每秒需要查詢(2×220B)/ 32=219
    每秒查詢硬盤占用的時鐘周期數 219×100 = 5.24×107(近似值)
    查詢硬盤所花費的時間比率=(5.24×107)/(50×106)=105%

    得出的結論:CPU將全部時間都用于對硬盤的查詢也不能滿足磁盤傳輸的要求

    2.2 I/O方式2-程序中斷方式

    程序中斷的作用如下:

  • 實現CPU與I/O設備的并行工作。
  • 處理硬件故障和軟件錯誤。
  • 實現人機交互,用戶干預機器需要用到中斷系統。
  • 實現多道程序、分時操作,多道程序的切換需借助于中斷系統。
  • 實時處理需要借助中斷系統來實現快速響應。
  • 實現應用程序和操作系統(管態程序)的切換,稱為“軟中斷”。
  • 多處理器系統中各處理器之間的信息交流和任務切換。
  • 2.2.1 程序中斷方式

    2.2.2 程序中斷方式-例題

    假定CPU主頻為50MHz,CPI為4。設備D采用異步串行通信方式向主機傳送7位ASClI 字符,通信規程中有1位奇校驗位和1位停止位,從D接收啟動命令到字符送入l/0端口需要0.5ms。請回答下列問題,要求說明理由。
    (1)每傳送一個字符,在異步串行通信線上共需傳輸多少位?在設備D持續工作過程中,每秒鐘最多可向l/O端口送入多少個字符?

    至少包含1位起始位和1位停止位,停止位可能有多位。

    每傳送一個字符需要傳送1位起始位、7位數據位、1位校驗位、1位停止位,共需傳送10位。
    每0.5ms可送入1個字符
    每秒可送入1s / 0.5ms = 2000個字符

    (2)設備D采用中斷方式進行輸入/輸出,示意圖如下:

    I/O端口每收到一個字符申請一次中斷,中斷響應需10個時鐘周期,中斷服務程序共有20條指令,其中第15條指令啟動D工作。若CPU需從D讀取1000個字符,則完成這一任務所需時間大約是多少個時鐘周期?CPU用于完成這一任務的時間大約是多少個時鐘周期?在中斷響應階段CPU進行了哪些操作?

    • 主頻50MHz,時鐘周期為1 / 50MHz = 20ns
      0.5ms對應時鐘周期數為0.5ms / 20ns = 25000(統一單位ms→時鐘周期)
      傳送1個字符需要的時鐘周期數為 25000+10+15×4 = 25070(CPI=4,對應的含義是每條指令執行的時鐘周期是4,CPI即每條指令執行的時鐘周期數)
    • 傳送1000個字符需要的時鐘周期數為 25070×1000 = 25070000
      CPU用于該任務的時間大約為 1000×(10+20×4)= 9×104個時鐘周期
    • 中斷響應階段就是中斷隱指令:
  • 關中斷
  • 保存斷點(PC)
  • 引出中斷服務程序
  • 2.2.3 程序中斷方式小結

    2.3 I/O方式3-DMA方式

    2.3.1 DMA控制器


    每準備好一個數據都要中斷CPU,由CPU運行中斷服務程序來完成一次傳送
    磁盤機、磁帶機等高速設備需要大批量的數據傳送→CPU大量時間用于中斷服務由硬件實現控制大批量的數據傳送→DMA控制器

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

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

    2.3.2 DMA控制器結構

    :在DMA傳送過程中,DMA控制器將接管CPU的地址總線、數據總線和控制總線,CPU的主存控制信號被禁止使用。而當DMA傳送結束后,將恢復CPU的一切權利并開始執行其操作。

    2.3.3 DMA傳送過程

    數據傳送過程:

    上面兩個圖合并:

    2.3.4 DMA傳送方式

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

  • 停止CPU訪問主存
  • 控制簡單
    CPU處于不工作狀態或保持狀態
    未充分發揮CPU對主存的利用率

  • DMA與CPU交替訪存
  • 不需要總線使用權的申請、建立和歸還過程
    硬件邏輯更為復雜

  • 周期挪用(周期竊取)

  • DMA訪問主存有三種可能:

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

    2.3.5 DMA方式的特點

    主存和DMA接口之間有一條直接數據通路。
    由于DMA方式傳送數據不需要經過CPU,因此不必中斷現行程序,l/O與主機并行工作,程序和傳送并行工作。


    DMA方式具有下列特點:

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

    2.3.7 例題:CPU占用情況

    某計算機的CPU主頻為500MHz,CPI為5(即執行每條指令平均需5個時鐘周期)。假定某外設的數據傳輸率為0.5MB/s,采用中斷方式與主機進行數據傳送,以32位為傳輸單位,對應的中斷服務程序包含18條指令,中斷服務的其他開銷相當于2條指令的執行時間。請回答下列問題,要求給出計算過程。
    (1)在中斷方式下,CPU用于該外設1/0的時間占整個CPU時間的百分比是多少?


    中斷方式下占用CPU是中斷服務程序和中斷隱指令階段

    每傳送一次數據,占用CPU的時間為(18+2)×5 = 100個時鐘周期
    外設準備32位的數據需要的時間為 32bit ÷ 0.5MB/s = 8×10-6s
    每秒可準備的數據個數為 1s ÷ 8×10-6 = 125000個
    即每秒需中斷的次數為125000次
    每秒傳送次數=外設數據傳輸率 / 傳輸單位
    則1s內用于處理中斷的時鐘周期數(開銷)為 125000×100 = 12.5M個
    故CPU用于外設I/O 的時間占整個CPU時間的百分比為 12.5M ÷ 500M = 2.5%

    (2)當該外設的數據傳輸率達到5MB/s時,改用DMA方式傳送數據。假定每次DMA傳送塊大小為5000B,且DMA預處理和后處理的總開銷為500個時鐘周期,則CPU用于該外設l/0的時間占整個CPU時間的百分比是多少?
    (假設DMA與CPU之間沒有訪存沖突)

    當外設數據傳輸率提高到5MB/s時改用DMA方式傳送,每次DMA傳送一個數據塊,大小為5000B,則1s內需產生的DMA次數為 5MB÷5000B = 1000次
    CPU用于DMA處理的總開銷為 1000×500 = 0.5M
    一個時鐘周期CPU用于外設I/O的時間占整個CPU時間的百分比為 0.5M / 500M = 0.1%
    采用中斷方式時,若外設速度達到5MB/s,則故CPU用于外設I/O的時間占整個CPU時間的百分比25%

    2.3.8 DMA方式小結

    總結

    以上是生活随笔為你收集整理的13 计算机组成原理第七章 输入/输出系统 I/O方式 I/O接口的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。