版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
WilliamStallings
計(jì)算機(jī)組成與結(jié)構(gòu)(第8版)
第七章輸入/輸出(Input/Output)I/O的問(wèn)題多種多樣的外部設(shè)備傳輸?shù)臄?shù)據(jù)量不同傳輸速度不同不同的數(shù)據(jù)格式外接設(shè)備的速度比CPU和RAM要慢(有些要快)因此,需要I/O模塊(I/O模塊)I/O模塊對(duì)CPU和內(nèi)存的接口對(duì)一個(gè)或多個(gè)外接設(shè)備的接口I/O模塊的通用模型外部設(shè)備人可讀設(shè)備顯示器,打印機(jī),鍵盤機(jī)器可讀設(shè)備監(jiān)控與控制通信設(shè)備調(diào)制解調(diào)器網(wǎng)絡(luò)接口卡(NIC)外部設(shè)備框圖I/O模塊功能控制和定時(shí)處理器通信設(shè)備通信數(shù)據(jù)緩沖錯(cuò)誤檢測(cè)I/O步驟CPU檢查I/O模塊設(shè)備的狀態(tài)I/O設(shè)備返回狀態(tài)給CPU當(dāng)I/O設(shè)備就緒,CPU發(fā)起數(shù)據(jù)傳輸請(qǐng)求I/O模塊從外部設(shè)備取得數(shù)據(jù)I/O模塊將數(shù)據(jù)傳輸給CPU在輸出數(shù)據(jù)和直接內(nèi)存接入(DMA)等情況下,I/O步驟略有不同。I/O模塊框圖I/O模塊的控制方式對(duì)CPU顯示或者隱藏外部設(shè)備的屬性支持一個(gè)或者多個(gè)設(shè)備直接控制設(shè)備功能或讓CPU控制與操作系統(tǒng)相關(guān)的控制例如UNIX操作系統(tǒng)把一切外部設(shè)備都當(dāng)做文件來(lái)處理I/O技術(shù)編程式中斷主導(dǎo)式直接內(nèi)存讀寫(xiě)(DMA)數(shù)據(jù)塊輸入的三種技術(shù)編程式I/OCPU直接控制I/O感知狀態(tài)讀寫(xiě)指令數(shù)據(jù)傳輸CPU等待I/O模塊完成任務(wù)浪費(fèi)CPU時(shí)間編程式I/O細(xì)節(jié)CPU請(qǐng)求I/O操作I/O模塊執(zhí)行操作I/O模塊設(shè)置狀態(tài)位CPU周期性檢查狀態(tài)位I/O模塊不直接向CPU報(bào)告狀態(tài)I/O模塊不產(chǎn)生CPU中斷CPU或者(浪費(fèi)時(shí)間)等待或者切換到別的任務(wù)I/O指令CPU指定地址確定對(duì)象模塊和設(shè)備(如果有多于一個(gè)設(shè)備)CPU發(fā)出指令控制指令-告訴模塊干什么例如:讓磁盤轉(zhuǎn)動(dòng)起來(lái)測(cè)試指令-檢查狀態(tài)例如:通電了么?有差錯(cuò)么?讀寫(xiě)指令模塊通過(guò)緩沖區(qū)向設(shè)備發(fā)送或接收數(shù)據(jù)I/O設(shè)備的地址編程I/O模式下設(shè)備地址很像內(nèi)存地址(從CPU的視角)每個(gè)設(shè)備有獨(dú)特的識(shí)別號(hào)CPU指令包含識(shí)別號(hào)(地址)I/O映射存儲(chǔ)器映射I/O設(shè)備和內(nèi)存共享地址空間I/O看起來(lái)就像內(nèi)存讀寫(xiě)不需要為I/O單獨(dú)設(shè)計(jì)指令內(nèi)存讀寫(xiě)指令已經(jīng)足夠豐富分離式I/O單獨(dú)的地址空間需要I/O和內(nèi)存選擇控制線特別的I/O指令指令集合有限存儲(chǔ)器映射和分離式I/O地址指令操作數(shù)解釋200LoadAC“1”裝入累加器StoreAC517啟動(dòng)鍵盤讀202LoadAC517取狀態(tài)字節(jié)BranchifSign=0202循環(huán)直至就緒LoadAC516裝入數(shù)據(jù)字節(jié)存儲(chǔ)器映射式I/O地址指令操作數(shù)解釋200StartI/O5啟動(dòng)鍵盤讀201TestI/O5檢測(cè)是否完成BranchNotReady201循環(huán)直至完成In5裝入數(shù)據(jù)字節(jié)(b)分離式I/O中斷驅(qū)動(dòng)式I/O克服了CPU等待浪費(fèi)的問(wèn)題不需要CPU反復(fù)檢測(cè)設(shè)備狀態(tài)I/O模塊準(zhǔn)備就緒后產(chǎn)生中斷中斷驅(qū)動(dòng)式I/O的基本操作CPU發(fā)出讀指令I(lǐng)/O模塊從外設(shè)取得數(shù)據(jù),與此同時(shí)CPU在執(zhí)行其它任務(wù)I/O模塊產(chǎn)生CPU中斷CPU請(qǐng)求數(shù)據(jù)I/O模塊傳輸數(shù)據(jù)簡(jiǎn)單中斷處理CPU視角發(fā)出讀指令執(zhí)行其它任務(wù)在每個(gè)指令周期完成后檢查中斷如果被中斷保存上下文(寄存器)中斷進(jìn)程取得數(shù)據(jù)并存儲(chǔ)參考操作系統(tǒng)講義中斷時(shí)存儲(chǔ)器和寄存器的變化設(shè)計(jì)細(xì)節(jié)如何確定是哪個(gè)模塊產(chǎn)生的中斷?如何應(yīng)對(duì)多個(gè)中斷并發(fā)的情況?也就是說(shuō),中斷處理程序被中斷的情況確定產(chǎn)生中斷的模塊(1)每個(gè)模塊一條單獨(dú)的中斷線PC可外接的設(shè)備總數(shù)有限軟件輪詢CPU逐個(gè)模塊進(jìn)行詢問(wèn)速度緩慢確定產(chǎn)生中斷的模塊(2)菊花鏈或硬件輪詢中斷應(yīng)答沿著硬件鏈傳遞對(duì)應(yīng)模塊負(fù)責(zé)把中斷向量通過(guò)總線傳給CPUCPU根據(jù)中斷向量選擇對(duì)應(yīng)的中斷處理程序總線仲裁在產(chǎn)生中斷之前,模塊必須申請(qǐng)到總線的控制權(quán)例如:PCI和SCSI多重中斷每一條中斷線都有它的優(yōu)先級(jí)高優(yōu)先級(jí)中斷可以打斷低優(yōu)先級(jí)中斷的處理在總線仲裁情況下,只有當(dāng)前控制權(quán)的模塊可以產(chǎn)生中斷例子–PC總線80x86只有一條中斷線8086系統(tǒng)使用一個(gè)8259A中斷控制器8259A有8條中斷線事件序列8259A收到中斷8259A判斷中斷優(yōu)先級(jí)8259A通知8086(在INTR線上產(chǎn)生高電平信號(hào))CPU應(yīng)答8259A把對(duì)應(yīng)的中斷向量放到總線上CPU處理中斷ISA總線中斷系統(tǒng)ISA總線包含級(jí)聯(lián)的兩個(gè)8259As通過(guò)2號(hào)中斷相連對(duì)外提供15條中斷線8*2–1=15,少的那條線用于級(jí)聯(lián)IRQ9用于重定向所有發(fā)向IRQ2的中斷請(qǐng)求后向兼容性集成在芯片組里82C59A中斷控制器Intel82C55A
可編程外設(shè)接口82C55A的鍵盤/顯示器接口直接內(nèi)存訪問(wèn)中斷驅(qū)動(dòng)式和編程式I/O需要CPU的主動(dòng)干預(yù)傳輸速率受限占用CPU資源DMA提供了另一種解決方案DMA功能需要在總線上添加額外的硬件模塊DMA控制器接手了CPU在I/O中的任務(wù)典型DMA框圖DMA操作CPU通知DMA控制器:讀/寫(xiě)設(shè)備地址內(nèi)存數(shù)據(jù)塊的起始地址需要傳輸?shù)臄?shù)據(jù)總量CPU繼續(xù)執(zhí)行其它任務(wù)DMA控制器負(fù)責(zé)數(shù)據(jù)傳輸DMA完成數(shù)據(jù)傳輸后發(fā)出中斷通知CPUDMA傳輸中的指令周期竊取DMA控制器占用總線一個(gè)時(shí)鐘周期傳輸一個(gè)字的數(shù)據(jù)不產(chǎn)生中斷CPU不需要進(jìn)行上下文切換CPU在需要使用總線時(shí)暫時(shí)掛起即取數(shù)據(jù)或?qū)憯?shù)據(jù)時(shí)CPU速度有下降但仍比讓CPU來(lái)控制I/O時(shí)要快CPU指令周期中的DMA斷點(diǎn)和中斷斷點(diǎn)附加思考緩存(cache)對(duì)DMA的影響有哪些?在主板上集成緩存如何?提示:有多少總線資源?DMA配置(1)單總線,分離的DMA控制器每1次數(shù)據(jù)傳輸需要占用2次總線I/O到DMADMA到存儲(chǔ)器CPU掛起2次DMAConfigurations(2)單總線,集成的DMA控制器控制器可以支持多于1個(gè)外設(shè)每1次傳輸占用總線1次DMA到存儲(chǔ)器CPU掛起1次DMAConfigurations(3)獨(dú)立的I/O總線總線支持所有支持DMA的外設(shè)每1次傳輸占用總線1次DMA到存儲(chǔ)器CPU掛起1次Intel8237ADMA控制器提供到80x86系列CPU和DRAM的接口當(dāng)DMA模塊需要使用總線時(shí),它發(fā)送HOLD信號(hào)給CPUCPU回應(yīng)HLDA信號(hào)(對(duì)HOLD信號(hào)的應(yīng)答)準(zhǔn)許DMA模塊使用總線例:從內(nèi)存到硬盤傳輸數(shù)據(jù)設(shè)備請(qǐng)求DMA服務(wù)(對(duì)DREQ線置高電平)DMA對(duì)HRQ線置高電平(HOLD請(qǐng)求)CPU完成當(dāng)前指令對(duì)總線的占用,然后回應(yīng)以HDLA(對(duì)HOLD的應(yīng)答).在整個(gè)DMA傳輸過(guò)程中,HOLD信號(hào)都保持高電平DMA發(fā)送DACK信號(hào)給設(shè)備(DMA應(yīng)答),通知設(shè)備開(kāi)始傳輸DMA把內(nèi)存數(shù)據(jù)塊的首地址放到地址總線上并發(fā)送MEMR信號(hào)讀數(shù)據(jù);DMA然后用IOW信號(hào)對(duì)外設(shè)進(jìn)行寫(xiě)操作.DMA減計(jì)數(shù)器并增地址指針,然后重復(fù)以上操作直到計(jì)數(shù)器為0.DMA取消HRQ線上的高電平,把總線控制權(quán)交還給CPU8237DMA對(duì)系統(tǒng)總線的使用飛越式DMA控制器當(dāng)DMA占用總線時(shí),處理器處于空閑狀態(tài)當(dāng)處理器占用總線時(shí),DMA處于空閑狀態(tài)稱之為飛越式(fly-by)DMA控制器數(shù)據(jù)不流經(jīng)DMA芯片,也不在其上緩存DMA只在I/O端口和內(nèi)存之間傳輸數(shù)據(jù)DMA不在兩個(gè)I/O端口之間或者兩個(gè)內(nèi)存區(qū)域之間傳輸數(shù)據(jù)DMA通過(guò)寄存器可以實(shí)現(xiàn)內(nèi)存到內(nèi)存之間的數(shù)據(jù)傳輸8237包含4個(gè)DMA通道可分別獨(dú)立編程控制任何時(shí)候可以啟用任何通道編號(hào)為0,1,2,和3I/O通道I/O設(shè)備越來(lái)越復(fù)雜例如3D顯卡CPU通過(guò)控制I/O控制器來(lái)實(shí)現(xiàn)數(shù)據(jù)傳輸I/O控制器負(fù)責(zé)完整的傳輸操作提高速度減輕CPU工作負(fù)荷專用硬件可以比CPU更快I/O通道架構(gòu)接口把設(shè)備連接在一起串行還是并行?專用的處理器/存儲(chǔ)器/總線?例子:FireWire,InfiniBandIEEE1394FireWire高性能串行總線快速低成本容易實(shí)現(xiàn)在數(shù)碼相機(jī),錄像機(jī)和電視中使用FireWire配置菊花鏈1個(gè)端口上最多連接63個(gè)設(shè)備實(shí)際上是64個(gè),有1個(gè)設(shè)備是接口本身最多1022根總線可以用橋接的方式互相連接自動(dòng)配置無(wú)需總線終結(jié)器(端連接器)可以使用樹(shù)狀結(jié)構(gòu)簡(jiǎn)單的FireWire配置示例FireWire3層協(xié)議棧物理層傳輸媒介,電氣和數(shù)據(jù)傳輸特性鏈路層以數(shù)據(jù)包為單位傳輸數(shù)據(jù)業(yè)務(wù)層請(qǐng)求-應(yīng)答協(xié)議FireWire協(xié)議棧FireWire–物理層數(shù)據(jù)傳輸速率從25Mbps到400Mbps兩種仲裁方式樹(shù)狀結(jié)構(gòu)下(線性菊花鏈?zhǔn)翘厥獾臉?shù)狀結(jié)構(gòu))根節(jié)點(diǎn)成為仲裁器先到先服務(wù)原則對(duì)于并發(fā)請(qǐng)求,按自然優(yōu)先級(jí)裁決也即是,靠近根節(jié)點(diǎn)的設(shè)備具有高優(yōu)先級(jí)公平仲裁緊急仲裁FireWire–鏈路層兩種傳輸類型異步將可變數(shù)量的數(shù)據(jù)和幾個(gè)字節(jié)的傳輸層信息打包傳輸對(duì)顯示地址發(fā)送收到數(shù)據(jù)需要確認(rèn)應(yīng)答同步將可變數(shù)量的數(shù)據(jù)以一系列固定大小的包形式、按規(guī)則的間隔傳輸
簡(jiǎn)單的尋址方式
無(wú)需返回確認(rèn)信息
FireWire子動(dòng)作
(a)異步子動(dòng)作舉例(b)串接的異步子動(dòng)作舉例(c)同步子動(dòng)作舉例InfiniBand瞄準(zhǔn)高端服務(wù)器市場(chǎng)的一種I/O規(guī)范由FutureI/O(Cisco,HP,Compaq,IBM)和NextGenerationI/O(Intel)合并而成版本1于2001年上半年發(fā)布一種體系結(jié)構(gòu)和處理器與智能I/O設(shè)備之間的數(shù)據(jù)流傳輸?shù)囊?guī)范
目標(biāo)是取代服務(wù)器上的PCI接口協(xié)議提升了容量,可擴(kuò)展性和靈活性InfiniBand
架構(gòu)用于遠(yuǎn)程存儲(chǔ),網(wǎng)絡(luò)和服務(wù)器之間的鏈接服務(wù)器、遠(yuǎn)程存儲(chǔ)器以及其它網(wǎng)絡(luò)設(shè)備連接到由交換器和鏈路組成的中央網(wǎng)帶
支持很高的服務(wù)器密度可擴(kuò)展的數(shù)據(jù)中心可按需求加入獨(dú)立節(jié)點(diǎn)I/O傳輸距離(以服務(wù)器為中心)17m銅線
300m多模光纖
10km單
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 空調(diào)部門工作年終總結(jié)(3篇)
- 職業(yè)健康監(jiān)護(hù)中的健康影響因素分析
- 傳聲港新聞源軟文平臺(tái)服務(wù)白皮書(shū)
- 職業(yè)健康促進(jìn)的成本敏感性分析
- 黑龍江2025年黑龍江生態(tài)工程職業(yè)學(xué)院招聘教師-輔導(dǎo)員45人筆試歷年參考題庫(kù)附帶答案詳解
- 職業(yè)健康與員工職業(yè)發(fā)展:醫(yī)療領(lǐng)導(dǎo)力健康素養(yǎng)
- 蘇州江蘇蘇州常熟市衛(wèi)生健康系統(tǒng)招聘編外勞動(dòng)合同制工作人員9人筆試歷年參考題庫(kù)附帶答案詳解
- 眉山2025年四川眉山仁壽縣鄉(xiāng)鎮(zhèn)事業(yè)單位從服務(wù)基層項(xiàng)目人員中招聘27人筆試歷年參考題庫(kù)附帶答案詳解
- 溫州浙江溫州甌海區(qū)公安分局招聘警務(wù)輔助人員40人筆試歷年參考題庫(kù)附帶答案詳解
- 浙江2025年浙江省氣象部門招聘工作人員8人(第二批)筆試歷年參考題庫(kù)附帶答案詳解
- 帶式輸送機(jī)運(yùn)輸巷作為進(jìn)風(fēng)巷專項(xiàng)安全技術(shù)措施
- 大連醫(yī)院應(yīng)急預(yù)案(3篇)
- 合成生物學(xué)在呼吸系統(tǒng)疾病治療中的應(yīng)用
- 開(kāi)拓智慧農(nóng)業(yè)的商業(yè)計(jì)劃書(shū)
- 2026屆黑龍江省優(yōu)才計(jì)劃 中學(xué)生標(biāo)準(zhǔn)學(xué)術(shù)能力測(cè)試高三數(shù)學(xué)聯(lián)考試題(含解析)
- 軟件項(xiàng)目績(jī)效考核制度方案
- 春節(jié)前停工停產(chǎn)安全培訓(xùn)課件
- 潔凈室安全管理培訓(xùn)內(nèi)容課件
- 真性紅細(xì)胞增多癥
- 臨床檢驗(yàn)初級(jí)師歷年試題及答案2025版
- 干部教育培訓(xùn)行業(yè)跨境出海戰(zhàn)略研究報(bào)告
評(píng)論
0/150
提交評(píng)論