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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

计算机组成原理(哈工大刘宏伟)135讲(二)

發(fā)布時間:2025/3/19 编程问答 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 计算机组成原理(哈工大刘宏伟)135讲(二) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

第5章 輸入輸出系統(tǒng)

5.1 概述

輸入輸出系統(tǒng)的發(fā)展概況

輸入輸出系統(tǒng)的組成

1.I/O軟件

  • 設(shè)備 通過 接口 連接在 總線 上,和 主機 進行信息交互

I/O設(shè)備與主機的聯(lián)系方式

  • I/O設(shè)備編址方式 :
    1.統(tǒng)一編址 :就是把 I/O設(shè)備的地址 看成是 內(nèi)存地址的一部分;這種情況下,cpu可以直接利用取數(shù)或者存數(shù)指令對I/O設(shè)備進行訪問/控制,不需要單獨的I/O指令,只要取數(shù)(存數(shù))指令中的地址落在了I/O設(shè)備;如果內(nèi)存系統(tǒng)的編址空間比較大,就可以使用這種
    2.不統(tǒng)一編址 :在內(nèi)存地址空間以外專門設(shè)立一個地址空間,為了區(qū)分一條指令 究竟是對 內(nèi)存進行操作還是I/O進行操作,在單獨編址的計算機中,輸入輸出系統(tǒng)就不能再采用計算機系統(tǒng)原有的取數(shù)存數(shù)指令,要有專用的I/O指令對它控制

  • 數(shù)據(jù)傳送方式 :(與第三章同)
    1.串行 :數(shù)據(jù)一位一位的進行傳輸,傳輸速度比較慢,但適合進行 遠程傳輸
    2.并行 :同時有多位數(shù)據(jù)在數(shù)據(jù)線上傳輸,通常數(shù)據(jù)線的條數(shù)是8的倍數(shù)

  • 聯(lián)絡(luò)方式 :主要是外部設(shè)備接收或者發(fā)送數(shù)據(jù)的相應(yīng)情況
    異步 分成 兩種,可以 并行傳輸,也可以 串行傳輸;cpu與接口之間一般都是并行傳輸
    同步工作 :設(shè)備和主機之間如果要 同步工作 的話,必須有一個定寬定距的時標(biāo),來控制在某一個時間點必須開始某一項工作,在某一個時間點某一項工作必須結(jié)束

  • 連接方式 :
    輻射式連接 :其實就是 分散式連接,增加一個I/O設(shè)備,在主機中就需要增加一套控制電路,對這個設(shè)備進行控制,早期由于外部設(shè)備數(shù)量比較少,采用這種方式,而現(xiàn)在外部設(shè)備越來越多,不合適
    總線連接 :外部設(shè)備 通過 接口,和主機進行連接,接口可以向外部設(shè)備傳送主機的控制命令,可以向主機傳送外部設(shè)備的狀態(tài)信息,同樣,接口還可以完成信息傳送,還可以用來在接口緩存;只要外部設(shè)備采用標(biāo)準(zhǔn)接口的方式,就可以增刪設(shè)備

I/O設(shè)備與主機信息傳送的控制方式

  • 程序查詢方式 :
    這是最早的方式
    在這種方式中,cpu與外設(shè)采用 串行 方式進行工作
  • 程序中斷方式 :
    這種方式中cpu實現(xiàn)了與I/O設(shè)備之間 部分的并行工作,也就是在I/O設(shè)備進行數(shù)據(jù)準(zhǔn)備時,cpu還可以執(zhí)行自己的程序,不需要停
  • DMA方式 :
    這種方式把cpu進一步的從 數(shù)據(jù)的輸入輸出 這個工作中解放出來,使外部設(shè)備與內(nèi)存之間可以建立直接的的連接,由dma接口,或者dma控制器直接控制外部設(shè)備和內(nèi)存之間進行數(shù)據(jù)交換

  • 這種方式,cpu效率非常低;這種方式中,內(nèi)存與I/O之間要想進行數(shù)據(jù)交換的話,必須要通過cpu,先要送入cpu之中

  • 是對第一種方式的一個改進,在這種方式中,cpu一定程度上從數(shù)據(jù)的輸入輸出工作中解放出來

  • I/O工作可以分成兩個階段 :1.數(shù)據(jù)準(zhǔn)備階段,也就是自身準(zhǔn)備;2.才是與主機交換信息。在程序查詢方式中,這兩個階段cpu都要工作都要參與。而在 中斷方式中,第一個階段是cpu與I/O是 并行工作的

  • 在 中斷 方式中,要想輸入一個數(shù)據(jù),把它輸入到內(nèi)存中去,依然是先要把這個數(shù)據(jù)讀入cpu,然后從cpu寫入到內(nèi)存,或者是發(fā)給I/O設(shè)備。也就是說,即使是中斷方式,內(nèi)存、cpu、I/O設(shè)備這三者的關(guān)系,依然是cpu在兩者的中間,內(nèi)存和外設(shè)在兩邊,它們兩者之間如果要進行信息的傳輸,依然需要cpu的參與,所以即使是在 中斷 的方式中,數(shù)據(jù)的傳輸過程,依然需要cpu來做

  • DMA方式中,cpu被進一步的從數(shù)據(jù)的輸入輸出工作中解放出來

  • 這種方式,在內(nèi)存和I/O之間建立了直接的通路

  • 在這個周期中,cpu不能使用總線對內(nèi)存進行訪問,這個周期結(jié)束以后,I/O設(shè)備可以繼續(xù)進行準(zhǔn)備,cpu可以繼續(xù)執(zhí)行現(xiàn)行的程序,也就是說,這個周期結(jié)束后,總線的控制權(quán)、對內(nèi)存的使用權(quán)又歸還給了cpu,在這一個存取周期中,cpu雖然不能使用系統(tǒng)的總線,不能使用內(nèi)存,不能進行訪存操作,但是在這個周期中,cpu還是可以執(zhí)行

5.2 I/O設(shè)備

概述

輸入設(shè)備

輸出設(shè)備

其他、多媒體技術(shù)

5.3 I/O接口

概述

接口的功能和組成


  • 狀態(tài)標(biāo)記 由 觸發(fā)器 實現(xiàn)

接口類型

5.4 程序查詢方式

程序查詢流程


  • 因為 程序查詢方式 中,要完成內(nèi)存與外設(shè)之間數(shù)據(jù)的輸入輸出,需要借助cpu中的某一個寄存器對數(shù)據(jù)進行暫存
  • 設(shè)置計數(shù)器的值,是為了控制我們傳輸?shù)臄?shù)據(jù)量
  • 設(shè)置計數(shù)值,有兩種方式 :1.如果我們要傳輸n個字,計數(shù)器的值就設(shè)為n,每完成一個字的傳輸,計數(shù)器的值就減1,直到減為0;2.把計數(shù)器的值設(shè)為-n,并且這個負(fù)數(shù)用補碼來表示,直到計數(shù)器發(fā)生溢出,里面的值變?yōu)?
  • 設(shè)置計數(shù)值后,為了完成內(nèi)存與I/O之間數(shù)據(jù)傳輸,我們要知道內(nèi)存的這個塊的起始地址,因此要設(shè)置主存緩沖區(qū)的地址,我們保存數(shù)據(jù)或者讀取數(shù)據(jù)就從這個緩沖區(qū)的起始地址開始
  • 然后就可以啟動外部設(shè)備,然后,因為我們是 程序查詢方式,cpu開始查詢I/O接口的狀態(tài)是否準(zhǔn)備好,如果沒有準(zhǔn)備好,cpu就原地踏步反復(fù)進行查詢,一直到狀態(tài)標(biāo)志表明數(shù)據(jù)已經(jīng)準(zhǔn)備好了,這個查詢才會停止,
  • 傳送好后,修改主存地址,+1或者-1,為輸入或者輸出下一個數(shù)據(jù)進行準(zhǔn)備,同時,為了表面還有多少數(shù)據(jù)需要傳輸,計數(shù)器的值也要進行修改,+1或者-1

程序查詢方式的接口電路


  • 首先需要 SEL信號 有效且 啟動命令 有效,這個I/O接口電路才會開始工作
  • 以 輸入數(shù)據(jù) 為例 :
    cpu通過 地址線 給出外部設(shè)備的地址
    設(shè)備選擇電路把自己的地址或者端口號和地址線上的地址進行比較,如果相同,說明這次啟動的是連接在這個接口上的設(shè)備,SEL這個信號會有效
    在啟動命令和SEL都有效的前提下,我們對兩個狀態(tài)標(biāo)記進行質(zhì)問,到目前為止,是cpu發(fā)出讀命令,設(shè)備還沒開始工作,因此 標(biāo)記D 應(yīng)該為0,表示數(shù)據(jù)還沒有準(zhǔn)備好
    B1后,表示設(shè)備忙,設(shè)備開始工作,把數(shù)據(jù)準(zhǔn)備好,并且通過輸入的數(shù)據(jù)線把它保存到DBR,此時,設(shè)備的工作結(jié)束,設(shè)備會通過設(shè)備的狀態(tài)線向接口電路送入工作結(jié)束信號,這個信號會修改接口電路中的兩個標(biāo)記,此時,標(biāo)記D應(yīng)該被修改為1,表示數(shù)據(jù)已經(jīng)準(zhǔn)備好了,同時標(biāo)記B被改為0,表示設(shè)備已經(jīng)工作完成,不忙了
    在這個過程中,一直到D信號變成1之前,cpu都在原地踏步進行查詢,就是查詢D是否變成了1,查詢到D為1說明數(shù)據(jù)已經(jīng)被放入到DBR中了,cpu可以進行數(shù)據(jù)傳輸了,cpu就通過數(shù)據(jù)線把數(shù)據(jù)進行讀入

5.5 程序中斷方式

中斷的概念

  • 中斷 指的是,cpu在執(zhí)行程序的過程中,如果發(fā)生意外事件,或者特殊事件,cpu要中斷當(dāng)前程序的處理,或者當(dāng)前程序的執(zhí)行,轉(zhuǎn)而去處理特殊事件,或者是異常事件;處理結(jié)束后,要返回到被中斷程序的程序斷點繼續(xù)執(zhí)行原來程序

I/O中斷的產(chǎn)生

程序中斷方式的接口電路

  • 程序中斷方式的接口電路,除了選址、數(shù)據(jù)緩存等等,還需要圖上這些
  • 1.需要 中斷請求標(biāo)志,由外設(shè)對中斷請求標(biāo)志進行設(shè)置,表示有中斷請求;這個中斷請求標(biāo)志能否變成中斷請求信號向cpu發(fā)出中斷請求,還要看這個中斷請求標(biāo)志是否會被屏蔽掉,所以我們需要一個中斷屏蔽觸發(fā)器,因為有的時候,計算機正在執(zhí)行的程序,或者正在執(zhí)行的中斷服務(wù)程序,它的重要性要比這個設(shè)備提出的中斷請求的重要性要高,那么這個中斷標(biāo)志就會被屏蔽掉,不會對cpu發(fā)出中斷請求
  • 2.我們要用 排隊電路,在同一個時刻,向cpu發(fā)出中斷請求的可能有多個設(shè)備,這些設(shè)備的優(yōu)先級不同,比如高速設(shè)備的優(yōu)先級比較高,不然保存的數(shù)據(jù)可能丟失。經(jīng)過排隊器后,只有優(yōu)先級最高的那個設(shè)備提出的中斷可以被響應(yīng)
  • 如果要響應(yīng)這個中斷,去執(zhí)行中斷服務(wù)程序,cpu必須要知道中斷服務(wù)程序的入口地址,也就是中斷服務(wù)程序在內(nèi)存中的起始地址,因此要采用 中斷向量地址形成部件

  • 當(dāng) 完成觸發(fā)器D =1時,設(shè)備已經(jīng)準(zhǔn)備好數(shù)據(jù)了并且把數(shù)據(jù)放在了DBR中,MASK若為0不被屏蔽,此時,中斷請求觸發(fā)器被設(shè)置為1,表示有中斷請求,另外,指令執(zhí)行周期結(jié)束前,cpu會發(fā)出中斷查詢信號,這個中斷查詢信號會是INTR的D端的輸入,產(chǎn)生中斷請求



  • 排隊有兩種方式,一種是通過硬件實現(xiàn),另一種是軟件

  • 有兩種方式完成硬件實現(xiàn) :將排隊電路集中放在cpu內(nèi)部,也可以把硬件的排隊電路放在每一個接口中,然后連接在一起,組成一個鏈,這樣是鏈?zhǔn)脚抨犉?/p>

  • 軟件方式實現(xiàn)排隊,實際上是通過查詢的方法,中斷的優(yōu)先級在一個表格中進行規(guī)定

  • 圖上是 鏈?zhǔn)脚抨犉?br />

  • 中斷向量,可以理解成中斷服務(wù)程序的入口地址

  • 向量地址 指的是 中斷向量保存的內(nèi)存單元的地址

I/O中斷處理過程


中斷服務(wù)程序流程



5.6 DMA方式

DMA方式的特點



  • 這里提到的 周期 ,指的是 訪存周期(內(nèi)存訪問周期)

  • 這種情況下,與上一種相比,cpu可以利用這個 間隙 進行訪存操作,使主存儲器和總線的利用率更高

  • 這種方式中,由于不需要DMA提出申請,建立對總線的控制權(quán)和對內(nèi)存的使用權(quán),因此,速度會比較快

DMA接口的功能和組成


DMA的工作過程








DMA接口的類型


  • 通道 也是一種 小型的DMA接口

  • 速度越高的設(shè)備,優(yōu)先級 越高

總結(jié)

以上是生活随笔為你收集整理的计算机组成原理(哈工大刘宏伟)135讲(二)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。