版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
計(jì)算機(jī)組成原理朱華貴2017年11月16日計(jì)算機(jī)組成原理第9章輸入輸出系統(tǒng)朱華貴2017年11月16日計(jì)算機(jī)組成原理主機(jī)與外設(shè)之間的連接程序查詢方式程序中斷方式DMA方式通道方式。9.1主機(jī)與外設(shè)的連接9.2程序查詢方式及其接口9.3中斷系統(tǒng)和程序中斷方式9.4DMA方式及其接口9.5通道控制方式本章學(xué)習(xí)要求了解:接口的基本組成,接口和端口概念了解:程序查詢方式的特點(diǎn)和工作流程理解:程序中斷的概念掌握:CPU響應(yīng)中斷的條件和中斷隱指令概念理解:中斷的各個(gè)過(guò)程了解:DMA方式的特點(diǎn)和DMA接口的組成理解:DMA傳送方法和DMA傳送過(guò)程。了解:通道控制方式和通道控制的類型9.1主機(jī)與外設(shè)的連接各類外部設(shè)備與主機(jī)的連接方式復(fù)雜多變。主機(jī)和外設(shè)的連接方式:(1)輻射型連接(星型)結(jié)構(gòu)復(fù)雜、連線多,缺乏靈活性。(2)總線型連接結(jié)構(gòu)簡(jiǎn)單,易于擴(kuò)展。速度慢(3)結(jié)合型連接主機(jī)通過(guò)“通道”來(lái)管理外設(shè)主機(jī)與通道間采用輻射型連接,通道和外設(shè)間則采用總線型連接。計(jì)算機(jī)系統(tǒng)中接口的位置I/O接口是主機(jī)和外設(shè)之間的交接界面,主機(jī)和外設(shè)通過(guò)接口實(shí)現(xiàn)信息交換。設(shè)置接口的原因:緩解主機(jī)和外設(shè)在信息形式和工作速度上的差異。9.1.1輸入輸出接口1.接口的功能⑴實(shí)現(xiàn)主機(jī)和外設(shè)的通信聯(lián)絡(luò)控制
用同步控制電路來(lái)解決兩者的時(shí)間配合問(wèn)題。⑵進(jìn)行地址譯碼和設(shè)備選擇主機(jī)要與不同外設(shè)交換信息,當(dāng)CPU送來(lái)選擇外設(shè)的地址碼后,接口必須對(duì)地址進(jìn)行譯碼以產(chǎn)生設(shè)備選擇信息,使主機(jī)能和指定外設(shè)交互9.1.2接口的功能和基本組成1.接口的功能(續(xù))⑶實(shí)現(xiàn)數(shù)據(jù)緩沖傳送過(guò)程中,先將數(shù)據(jù)送入數(shù)據(jù)緩沖寄存器中,再送到輸出設(shè)備或主機(jī)中,以避免因速度不一致而丟失數(shù)據(jù)。⑷數(shù)據(jù)格式的變換
主機(jī)和外設(shè)采用不同數(shù)據(jù)格式,接口電路中必須具有實(shí)現(xiàn)各類數(shù)據(jù)相互轉(zhuǎn)換的功能。例如:并-串轉(zhuǎn)換、模-數(shù)轉(zhuǎn)換等。⑸傳遞控制命令和狀態(tài)信息當(dāng)CPU要啟動(dòng)某一外設(shè)時(shí),通過(guò)接口中的命令寄存器向外設(shè)發(fā)出啟動(dòng)命令;當(dāng)外設(shè)準(zhǔn)備就緒時(shí),則有“準(zhǔn)備好”狀態(tài)信息送回接口中的狀態(tài)寄存器。當(dāng)外設(shè)向CPU提出中斷請(qǐng)求和DMA請(qǐng)求時(shí),CPU也應(yīng)反饋?lái)憫?yīng)信號(hào)給外設(shè)。接口中分別傳送數(shù)據(jù)信息、控制信息和狀態(tài)信息,這些信息都通過(guò)數(shù)據(jù)總線來(lái)傳送,并送入接口中相應(yīng)的寄存器(又稱端口)。狀態(tài)信息(視為輸入數(shù)據(jù))
狀態(tài)寄存器控制信息(視為輸出數(shù)據(jù))
控制寄存器數(shù)據(jù)信息
數(shù)據(jù)寄存器2.接口的基本組成接口與端口的區(qū)別:端口:接口中可以被CPU直接訪問(wèn)的寄存器接口:由若干個(gè)端口及相應(yīng)的控制邏輯電路組成一個(gè)接口中包含數(shù)據(jù)端口、命令端口和狀態(tài)端口。有的端口只能寫或只能讀,有的端口既可以讀又可以寫。例如:對(duì)狀態(tài)端口只能讀,可將外設(shè)的狀態(tài)標(biāo)志送到CPU中去;對(duì)命令端口只能寫,可將CPU的各種控制命令發(fā)送給外設(shè)。2.接口的基本組成(續(xù))接口與主機(jī)、外設(shè)間的連接示意圖
⑴按數(shù)據(jù)傳送方式分類(串行接口、并行接口)⑵按主機(jī)訪問(wèn)I/O設(shè)備的控制方式分類(程序查詢接口、程序中斷接口、DMA直接存儲(chǔ)器存取接口、通道控制器接口)⑶按功能選擇的靈活性分類(可編程接口、不可編程接口)⑷按通用性分類(通用接口、專用接口)⑸按輸入輸出的信號(hào)分類(數(shù)字接口、模擬接口)⑹按應(yīng)用來(lái)分類(運(yùn)行輔助接口、用戶交互接口、傳感接口、控制接口)3.接口的類型必須對(duì)外設(shè)進(jìn)行編址才能在眾多外設(shè)中找出要與主機(jī)進(jìn)行信息交換的外設(shè)。外設(shè)識(shí)別:通過(guò)地址總線和接口電路中的外設(shè)識(shí)別電路來(lái)實(shí)現(xiàn)。9.1.3外設(shè)的識(shí)別與端口尋址I/O端口地址⑴獨(dú)立編址把I/O端口地址與存儲(chǔ)器地址分別進(jìn)行獨(dú)立的編址(都從全0開(kāi)始編址)。CPU訪問(wèn)主存時(shí),由主存讀寫控制線控制;訪問(wèn)外設(shè)時(shí),由I/O讀寫控制線控制1.端口地址編址方式⑵統(tǒng)一編址把端口地址與存儲(chǔ)器地址統(tǒng)一編址。
把I/O接口中的端口作為主存單元一樣進(jìn)行訪問(wèn),不設(shè)置專門的I/O指令I(lǐng)ntel80x86的I/O地址空間由216(64K)個(gè)獨(dú)立編址的8位端口組成。兩個(gè)連續(xù)的8位端口可作為16位端口處理;四個(gè)連續(xù)端口可作為32位端口處理。I/O地址空間最多能提供64K個(gè)8位端口、32K個(gè)16位端口、16K個(gè)32位端口或總?cè)萘坎怀^(guò)64KB的不同端口的組合。2.獨(dú)立編址方式的端口訪問(wèn)I/O芯片名稱
地址范圍
DMAC1DMAC2DMA頁(yè)面寄存器
0000-001FH00C0-00DFH0080-009FH
中斷控制器1中斷控制器2
0020-003FH00A0-00BFH
定時(shí)器并行接口芯片(鍵盤接口)RT/CMOSRAM協(xié)處理器0040-005FH0060-006FH0070-007FH00F0-00FFH系統(tǒng)板I/O接口芯片端口地址(0000H-00FFH):PC/AT/Pentium:A8=A9=0端口(256個(gè))為系統(tǒng)板所用,其他端口(768個(gè))為擴(kuò)展槽所用。80x86的I/O指令有直接尋址和間接尋址兩種直接尋址I/O端口的尋址范圍為00~FFH,至多為256個(gè)端口地址。間接尋址由DX寄存器(16位)間接給出I/O端口地址。最多可尋址216個(gè)端口地址。CPU一次可實(shí)現(xiàn)字節(jié)(8位)、字(16位)或雙字(32位)的數(shù)據(jù)傳送。32位端口應(yīng)對(duì)準(zhǔn)可被4整除的偶地址;16位端口應(yīng)對(duì)準(zhǔn)偶地址;8位端口可定位在偶地址,也可定位在奇地址。2.獨(dú)立編址方式的端口訪問(wèn)(續(xù))9.1.4
輸入輸出信息傳送控制方式主機(jī)和外設(shè)之間的信息傳送控制方式,經(jīng)歷了由低級(jí)到高級(jí)、由簡(jiǎn)單到復(fù)雜、由集中管理到各部件分散管理的發(fā)展過(guò)程,按其發(fā)展的先后次序和主機(jī)與外設(shè)并行工作的程度,可以分為4種。1.程序查詢方式程序直接控制方式,輸入和輸出完全通過(guò)CPU執(zhí)行程序來(lái)完成的。一旦某外設(shè)被啟動(dòng),主機(jī)將查詢這個(gè)外設(shè)的狀態(tài)位,看其是否準(zhǔn)備就緒?若外設(shè)未準(zhǔn)備就緒,主機(jī)將再次查詢,直到外設(shè)準(zhǔn)備就緒可執(zhí)行I/O操作。優(yōu)點(diǎn):控制簡(jiǎn)單缺點(diǎn):外設(shè)和主機(jī)、外設(shè)之間都不能同時(shí)工作,系統(tǒng)效率很低。CPU譯碼數(shù)據(jù)線M/IOWR或門地址線接口外設(shè)輸出CPU譯碼數(shù)據(jù)線M/IORD或門地址線接口外設(shè)輸入在啟動(dòng)外設(shè)后,主機(jī)繼續(xù)執(zhí)行原來(lái)的程序,外設(shè)在做好輸入輸出準(zhǔn)備時(shí),向主機(jī)發(fā)中斷請(qǐng)求,主機(jī)接到請(qǐng)求后就暫時(shí)中止原來(lái)執(zhí)行的程序,轉(zhuǎn)去執(zhí)行中斷服務(wù)程序?qū)ν獠空?qǐng)求進(jìn)行處理,在中斷處理完畢后返回原來(lái)的程序繼續(xù)執(zhí)行。優(yōu)點(diǎn):cpu不需要等待外設(shè)的輸入輸出操作缺點(diǎn):完成一次程序中斷需要許多輔助操作,主要適用于中、低速外設(shè)。2.程序中斷方式中斷方式主程序中斷服務(wù)子程序中斷申請(qǐng)信號(hào)在主存和外設(shè)之間開(kāi)辟直接的數(shù)據(jù)通路,主存和外設(shè)之間信息傳送時(shí)基本上不需要CPU介入。DMA方式只能進(jìn)行簡(jiǎn)單的數(shù)據(jù)傳送操作,在數(shù)據(jù)塊傳送的起始和結(jié)束時(shí)還需CPU及中斷系統(tǒng)進(jìn)行預(yù)處理和后處理。3.直接存儲(chǔ)器存取(DMA)方式ABDBCB
CPUDMACMemoryI/OHOLDHLDA(1)DMAC接收I/O接口的DMA請(qǐng)求,并向CPU發(fā)出總線請(qǐng)求信號(hào)HOLD;DMA的基本功能和步驟(2)當(dāng)CPU發(fā)出總線回答信號(hào)HLAD后,接管對(duì)總線的控制,進(jìn)入DMA傳送過(guò)程;(3)能實(shí)現(xiàn)有效的尋址,即能輸出地址信息并在數(shù)據(jù)傳送過(guò)程中自動(dòng)修改地址;(4)能向存儲(chǔ)器和I/O接口發(fā)出相應(yīng)的讀/寫控制信號(hào);(5)能控制數(shù)據(jù)傳送的字節(jié)數(shù),控制DMA傳送是否結(jié)束;(6)在DMA傳送結(jié)束后,能釋放總線給CPU,恢復(fù)CPU對(duì)總線的控制。在系統(tǒng)中設(shè)有通道控制部件,每個(gè)通道掛若干外設(shè),主機(jī)在執(zhí)行I/O操作時(shí),只需啟動(dòng)有關(guān)通道,通道將執(zhí)行通道程序,從而完成I/O操作。通道是一個(gè)具有特殊功能的處理器:獨(dú)立地執(zhí)行通道程序,產(chǎn)生相應(yīng)的控制信號(hào),實(shí)現(xiàn)對(duì)外設(shè)的統(tǒng)一管理和外設(shè)與主存之間的數(shù)據(jù)傳送。通道在CPU的I/O指令指揮下才能啟動(dòng)、停止或改變工作狀態(tài),是從屬于CPU的專用處理器。一個(gè)通道執(zhí)行輸入輸出過(guò)程全部由通道按照通道程序自行處理,不論交換信息多少,只打擾CPU兩次(啟動(dòng)和停止時(shí))。優(yōu)點(diǎn):主機(jī)、外設(shè)和通道可以并行工作,且一個(gè)通道可以控制多臺(tái)不同類型設(shè)備。目前,小型、微型機(jī)大多采用程序查詢方式、程序中斷方式和DMA方式;大、中型機(jī)多采用通道方式。4.I/O通道控制方式程序查詢方式的核心問(wèn)題在于需要不斷地查詢I/O設(shè)備是否準(zhǔn)備就緒。9.2程序查詢方式及其接口1.程序查詢的基本思想程序直接控制方式:由CPU執(zhí)行一段輸入輸出程序來(lái)實(shí)現(xiàn)主機(jī)與外設(shè)間的數(shù)據(jù)傳送CPU在程序中查詢外設(shè)的工作狀態(tài):如果外設(shè)尚未準(zhǔn)備就緒,CPU就循環(huán)等待,只有當(dāng)外設(shè)已作好準(zhǔn)備,CPU才能執(zhí)行I/O指令進(jìn)行數(shù)據(jù)傳送。9.2.1程序查詢方式2.程序查詢方式的工作流程①預(yù)置傳送參數(shù):傳送前,CPU執(zhí)行初始化程序,設(shè)置主存緩沖區(qū)首地址和傳送數(shù)據(jù)個(gè)數(shù)②向外設(shè)接口發(fā)出命令字:CPU執(zhí)行輸出指令向選定的外設(shè)接口發(fā)出命令字啟動(dòng)外設(shè)。③從外設(shè)接口取回狀態(tài)字:CPU執(zhí)行輸入指令從接口中取回狀態(tài)字,判斷是否可以數(shù)據(jù)傳送。④查詢外設(shè)標(biāo)志:CPU不斷查詢狀態(tài)標(biāo)志,直到這個(gè)外設(shè)發(fā)出“外設(shè)準(zhǔn)備就緒”信號(hào)為止。⑤傳送數(shù)據(jù):輸入時(shí),從接口的數(shù)據(jù)緩沖寄存器中接收數(shù)據(jù);輸出時(shí),將數(shù)據(jù)寫入接口的數(shù)據(jù)緩沖寄存器中。⑥修改傳送參數(shù):每進(jìn)行一次數(shù)據(jù)傳送,要修改傳送參數(shù),主存緩沖區(qū)地址加1,傳送個(gè)數(shù)計(jì)數(shù)器減1。⑦判斷傳送是否結(jié)束若傳送個(gè)數(shù)計(jì)數(shù)器為0,傳送結(jié)束若不為0,轉(zhuǎn)第③步,繼續(xù)傳送。預(yù)置傳送參數(shù)啟動(dòng)外設(shè)取外設(shè)狀態(tài)傳送一次數(shù)據(jù)修改傳送參數(shù)外設(shè)準(zhǔn)備就緒?傳送完否?YYNN結(jié)束輸出指令(OUT控制口,AL)輸入/輸出指令(INAL,數(shù)據(jù)口/OUT數(shù)據(jù)口,AL)輸入指令(INAL,狀態(tài)口)程序查詢方式流程最簡(jiǎn)單、硬件最少的I/O方式通常接口中至少有兩個(gè)寄存器:數(shù)據(jù)緩沖寄存器(數(shù)據(jù)端口:存放與CPU進(jìn)行傳送的數(shù)據(jù)信息;設(shè)備狀態(tài)寄存器(狀態(tài)端口):有多個(gè)標(biāo)志位,最重要的是“外設(shè)準(zhǔn)備就緒”標(biāo)志。9.2.2程序查詢方式接口中斷是現(xiàn)代計(jì)算機(jī)有效合理地發(fā)揮效能和提高效率的一個(gè)十分重要的功能。CPU中通常設(shè)有處理中斷的機(jī)構(gòu)——中斷系統(tǒng),以解決各種中斷的共性問(wèn)題。9.3中斷系統(tǒng)和程序中斷方式1.中斷的提出程序查詢方式雖簡(jiǎn)單,但存在明顯缺點(diǎn):⑴在查詢過(guò)程中,CPU長(zhǎng)期處于踏步等待狀態(tài),使系統(tǒng)效率大大降低;⑵CPU在一段時(shí)間內(nèi)只能和一臺(tái)外設(shè)交換信息,其他設(shè)備不能同時(shí)工作;⑶不能發(fā)現(xiàn)和處理預(yù)先無(wú)法估計(jì)的錯(cuò)誤和異常情況。9.3.1中斷的基本概念CPU在程序中安排好在某一時(shí)刻啟動(dòng)某一臺(tái)外設(shè),然后CPU繼續(xù)執(zhí)行原程序,不需要一直查看外設(shè)是否就緒。外設(shè)完成數(shù)據(jù)傳送的準(zhǔn)備工作時(shí),會(huì)主動(dòng)向CPU發(fā)出一個(gè)中斷請(qǐng)求,請(qǐng)求CPU為自己服務(wù)在可以響應(yīng)中斷的條件下,CPU暫停正在執(zhí)行的程序,轉(zhuǎn)去執(zhí)行中斷服務(wù)程序?yàn)橹袛嗾?qǐng)求者服務(wù),在中斷服務(wù)程序中完成一次數(shù)據(jù)傳送,之后CPU仍返回原程序,從斷點(diǎn)處繼續(xù)執(zhí)行。程序中斷方式的思想:程序中斷方式示意圖中斷的處理過(guò)程即是程序的切換過(guò)程:即從現(xiàn)行程序切換到中斷服務(wù)程序(保護(hù)斷點(diǎn)、保護(hù)現(xiàn)場(chǎng)),再?gòu)闹袛喾?wù)程序返回到現(xiàn)行程序(恢復(fù)現(xiàn)場(chǎng)、恢復(fù)斷點(diǎn))。中斷系統(tǒng):實(shí)現(xiàn)中斷功能的軟、硬件總稱CPU中配置中斷機(jī)構(gòu)外設(shè)接口中配置中斷控制器軟件上設(shè)計(jì)相應(yīng)的中斷服務(wù)程序。程序中斷的定義:在計(jì)算機(jī)執(zhí)行現(xiàn)行程序的過(guò)程中,當(dāng)出現(xiàn)某些急需處理的異常情況和特殊請(qǐng)求時(shí),CPU暫時(shí)中止現(xiàn)行程序,而轉(zhuǎn)去對(duì)隨機(jī)發(fā)生的更緊迫的事件進(jìn)行處理。在處理完畢后,CPU將自動(dòng)返回原來(lái)的程序繼續(xù)執(zhí)行。
①子程序的執(zhí)行是由程序員事先安排好的(call),而中斷服務(wù)程序的執(zhí)行則是由隨機(jī)的中斷事件引起的;②子程序的執(zhí)行受到主程序或上層子程序的控制,而中斷服務(wù)程序一般與被中斷的現(xiàn)行程序毫無(wú)關(guān)系;③不存在同時(shí)調(diào)用多個(gè)子程序的情況,而有可能多個(gè)外設(shè)會(huì)同時(shí)發(fā)出中斷請(qǐng)求。2.程序中斷與調(diào)用子程序的區(qū)別⑴自愿中斷和強(qiáng)迫中斷自愿中斷(程序自中斷):不是隨機(jī)產(chǎn)生的,而是程序中安排的有關(guān)指令。如:80x86系統(tǒng)中的軟中斷指令I(lǐng)NTn(調(diào)用系統(tǒng)服務(wù)程序)強(qiáng)迫中斷:隨機(jī)產(chǎn)生的中斷,不是程序中事先安排好的。這種中斷會(huì)強(qiáng)迫計(jì)算機(jī)中止現(xiàn)行程序并轉(zhuǎn)入中斷服務(wù)程序。3.中斷的基本類型⑵程序中斷和簡(jiǎn)單中斷程序中斷如前所述。簡(jiǎn)單中斷就是外設(shè)與主存間直接進(jìn)行信息交換的方法,即DMA方式。這種中斷不執(zhí)行中斷服務(wù)程序,不破壞現(xiàn)行程序的狀態(tài)。收到簡(jiǎn)單中斷請(qǐng)求時(shí),主機(jī)讓出幾個(gè)存取周期供外設(shè)與主存交換信息,然后繼續(xù)執(zhí)行程序。3.中斷的基本類型(續(xù))⑶內(nèi)中斷和外中斷內(nèi)中斷:由于CPU內(nèi)部硬件或軟件原因引起的中斷,如單步中斷、溢出中斷等。外中斷:CPU以外的部件引起的中斷??梢苑譃椴豢善帘沃袛嗪涂善帘沃袛鄡煞N。不可屏蔽中斷優(yōu)先級(jí)別較高,常用于應(yīng)急處理,如掉電、主存讀寫校驗(yàn)錯(cuò)等;可屏蔽中斷級(jí)別較低,常用于一般I/O設(shè)備的數(shù)據(jù)傳送。3.中斷的基本類型(續(xù))⑷向量中斷和非向量中斷向量中斷是指那些中斷服務(wù)程序的入口地址(向量地址)是由中斷事件自己提供的中斷。非向量中斷的中斷事件不能直接提供中斷服務(wù)程序的入口地址。⑸單重中斷和多重中斷單重中斷在CPU執(zhí)行中斷服務(wù)程序的過(guò)程中不能被再打斷。多重中斷在執(zhí)行某個(gè)中斷服務(wù)程序的過(guò)程中,CPU可去響應(yīng)級(jí)別更高的中斷請(qǐng)求,又稱為中斷嵌套。3.中斷的基本類型(續(xù))1.中斷源和中斷請(qǐng)求信號(hào)中斷源:中斷請(qǐng)求的來(lái)源,即引起中斷的事件。一臺(tái)計(jì)算機(jī)允許有多個(gè)中斷源。為了記錄中斷事件并區(qū)分不同的中斷源,可采用具有存儲(chǔ)功能的中斷請(qǐng)求觸發(fā)器(INTR)。當(dāng)某個(gè)中斷源有中斷請(qǐng)求時(shí),其相應(yīng)的中斷請(qǐng)求觸發(fā)器置成“1”狀態(tài)。中斷請(qǐng)求寄存器由多個(gè)觸發(fā)器組成。9.3.2中斷請(qǐng)求和中斷判優(yōu)⑴獨(dú)立請(qǐng)求線
每個(gè)中斷源單獨(dú)設(shè)置中斷請(qǐng)求線,將中斷請(qǐng)求信號(hào)直接送往CPU。⑵公共請(qǐng)求線
多個(gè)中斷源共有一根公共請(qǐng)求線。⑶二維結(jié)構(gòu)同一優(yōu)先級(jí)的中斷源采用一根公共的請(qǐng)求線;不同請(qǐng)求線上的中斷源優(yōu)先級(jí)不同。2.中斷請(qǐng)求信號(hào)的傳送全部中斷源應(yīng)根據(jù)中斷的性質(zhì)和處理的輕重緩急按照優(yōu)先級(jí)進(jìn)行排隊(duì)。中斷優(yōu)先級(jí)的原則:對(duì)那些提出中斷請(qǐng)求后需要立刻處理,否則就會(huì)造成嚴(yán)重后果的中斷源規(guī)定最高的優(yōu)先級(jí);而對(duì)那些可以延遲響應(yīng)和處理的中斷源規(guī)定較低的優(yōu)先級(jí)。3.中斷優(yōu)先級(jí)與判優(yōu)方法故障中斷>簡(jiǎn)單中斷(DMA)>外中斷(輸入>輸出)⑴軟件判優(yōu)法用程序來(lái)判別優(yōu)先級(jí)。接到中斷請(qǐng)求信號(hào)后,就執(zhí)行查詢程序,按優(yōu)先級(jí)大小逐個(gè)檢測(cè)中斷請(qǐng)求寄存器的各位狀態(tài),先檢測(cè)具有最高優(yōu)先級(jí)的中斷源,再檢測(cè)次高優(yōu)先級(jí)的中斷源,依此類推。
優(yōu)點(diǎn):簡(jiǎn)單,可以靈活地修改中斷源的優(yōu)先級(jí);缺點(diǎn):查詢判優(yōu)過(guò)程占用CPU時(shí)間,判優(yōu)速度慢。⑵硬件判優(yōu)電路
采用硬件判優(yōu)電路實(shí)現(xiàn)中斷優(yōu)先級(jí)的判定??晒?jié)省CPU時(shí)間,而且速度快,但是成本較高。判優(yōu)方法1.CPU響應(yīng)中斷的條件⑴CPU接收到中斷請(qǐng)求信號(hào)中斷源要發(fā)出請(qǐng)求,且CPU還要能接收到請(qǐng)求⑵CPU允許中斷(開(kāi)中斷)CPU內(nèi)部有一個(gè)中斷允許觸發(fā)器(EINT),只有EINT=1時(shí),CPU才可以響應(yīng)中斷源的中斷請(qǐng)求;如EINT=0,CPU不允許中斷。EINT由開(kāi)中斷指令來(lái)置位,由關(guān)中斷指令或硬件自動(dòng)使其復(fù)位。9.3.3中斷響應(yīng)和中斷處理⑶一條指令執(zhí)行完畢
這是CPU響應(yīng)中斷請(qǐng)求的時(shí)間限制條件。一般情況下,CPU在一條指令執(zhí)行完畢且沒(méi)有更緊迫的任務(wù)時(shí)才能響應(yīng)中斷請(qǐng)求。1.CPU響應(yīng)中斷的條件(續(xù))CPU響應(yīng)中斷之后,經(jīng)過(guò)某些操作,轉(zhuǎn)去執(zhí)行中斷服務(wù)程序。這些操作被稱為中斷隱指令?!镫[指令并不是指令系統(tǒng)中的一條真正的指令,它沒(méi)有操作碼,是一種不允許、也不可能為用戶使用的特殊指令。2.中斷隱指令中斷隱指令完成的操作主要有:⑴保存斷點(diǎn)
為了在中斷服務(wù)程序執(zhí)行完畢能正確返回原程序,必須將原程序的斷點(diǎn)(PC的內(nèi)容)保存起來(lái)⑵暫不允許中斷
暫不允許中斷即關(guān)中斷。在保護(hù)中斷現(xiàn)場(chǎng)(即CPU的主要寄存器狀態(tài))期間必須要關(guān)中斷。⑶引出中斷服務(wù)程序引出中斷服務(wù)程序的實(shí)質(zhì)就是取出中斷服務(wù)程序的入口地址送程序計(jì)數(shù)器PC。中斷隱指令的幾個(gè)操作在不同的計(jì)算機(jī)系統(tǒng)中的處理方法是各異的。在組合邏輯控制的計(jì)算機(jī)中,專門設(shè)置了一個(gè)中斷周期來(lái)完成中斷隱指令的任務(wù)。在存儲(chǔ)邏輯型(微程序)計(jì)算機(jī)中,安排了一段公共微程序來(lái)完成中斷隱指令的操作。3.中斷周期接收中斷請(qǐng)求后,想要進(jìn)入中斷服務(wù)程序有兩種方法:軟件的方法:程序判優(yōu)、尋找中斷源,執(zhí)行中斷隱指令并且轉(zhuǎn)入相應(yīng)的中斷服務(wù)程序。方便、靈活,硬件極簡(jiǎn)單,但效率是比較低的。硬件的方法:硬件能自動(dòng)形成并找出與該中斷源對(duì)應(yīng)的中斷服務(wù)程序的入口地址。即向量中斷。向量中斷:中斷源發(fā)出中斷請(qǐng)求后,CPU會(huì)進(jìn)行判優(yōu)處理。若決定響應(yīng),則向中斷源發(fā)出中斷響應(yīng)信號(hào)INTA。中斷源接到信號(hào)后就通過(guò)自己的向量地址形成部件向CPU發(fā)送向量地址,該地址會(huì)告訴CPU如何進(jìn)入中斷服務(wù)程序。4.進(jìn)入中斷服務(wù)程序工作完成允許中斷發(fā)中斷請(qǐng)求中斷優(yōu)先級(jí)判定選優(yōu)中斷響應(yīng)識(shí)別中斷源向量地址形成現(xiàn)場(chǎng)處理啟動(dòng)中斷服務(wù)程序向量地址_____INTRINTA中斷源
CPU工作完成允許中斷發(fā)中斷請(qǐng)求中斷優(yōu)先級(jí)判定選優(yōu)中斷響應(yīng)識(shí)別中斷源向量地址形成現(xiàn)場(chǎng)處理啟動(dòng)中斷服務(wù)程序向量地址通常有兩種情況:⑴向量地址是中斷服務(wù)程序的入口地址CPU直接根據(jù)地址進(jìn)入相應(yīng)中斷服務(wù)程序。⑵向量地址是中斷向量表的指針向量地址指向一個(gè)中斷向量表,從表中相應(yīng)單元中再取出中斷服務(wù)程序的入口地址,此時(shí)中斷源給出的向量地址是中斷服務(wù)程序入口地址的地址。中斷現(xiàn)場(chǎng):發(fā)生中斷時(shí)CPU的主要狀態(tài),包括最重要的斷點(diǎn),及一些通用寄存器的狀態(tài)?,F(xiàn)場(chǎng)保護(hù)的原因:現(xiàn)行程序和中斷服務(wù)程序運(yùn)行狀態(tài)的轉(zhuǎn)換。在中斷隱指令中,CPU硬件將自動(dòng)保存斷點(diǎn),有些計(jì)算機(jī)還自動(dòng)保存程序狀態(tài)寄存器(PSWR)的內(nèi)容。但是,要保證中斷返回后原程序能正確地繼續(xù)運(yùn)行,還有很多工作要做5.中斷現(xiàn)場(chǎng)的保護(hù)和恢復(fù)保護(hù)現(xiàn)場(chǎng):中斷服務(wù)程序開(kāi)始時(shí),由軟件去保存那些硬件沒(méi)有保存,而在中斷服務(wù)程序中又可能用到的寄存器的內(nèi)容,以便中斷返回時(shí)被恢復(fù)。軟、硬件保護(hù)現(xiàn)場(chǎng)和向量中斷一起使用過(guò)程:①把斷點(diǎn)和程序狀態(tài)字自動(dòng)壓入堆棧,即保護(hù)舊現(xiàn)場(chǎng);②接著根據(jù)中斷源送來(lái)的向量地址自動(dòng)取出中斷服務(wù)程序入口地址和新的程序狀態(tài)字,即建立新現(xiàn)場(chǎng);③最后由一些指令實(shí)現(xiàn)對(duì)必要的通用寄存器的保護(hù)。④恢復(fù)現(xiàn)場(chǎng)則是保護(hù)現(xiàn)場(chǎng)的逆處理。5.中斷現(xiàn)場(chǎng)的保護(hù)和恢復(fù)1.中斷嵌套多重中斷的能力:首先要能保護(hù)多個(gè)斷點(diǎn),而且先發(fā)生的中斷請(qǐng)求的斷點(diǎn),先保護(hù)后恢復(fù);后發(fā)生的中斷請(qǐng)求的斷點(diǎn),后保護(hù)先恢復(fù)。中斷嵌套實(shí)現(xiàn)的條件:使用堆棧保護(hù)現(xiàn)場(chǎng)在CPU進(jìn)入某一中斷服務(wù)程序之后,系統(tǒng)必須處于開(kāi)中斷狀態(tài)。9.3.4多重中斷與中斷屏蔽允許中斷(開(kāi)中斷)還是禁止中斷(關(guān)中斷)是由CPU中的中斷允許觸發(fā)器控制的,置“1”,則允許中斷;置“0”,則禁止中斷。下列情況應(yīng)開(kāi)中斷:⑴在中斷服務(wù)程序執(zhí)行完畢,恢復(fù)中斷現(xiàn)場(chǎng)之后⑵在多重中斷的情況下,保護(hù)中斷現(xiàn)場(chǎng)之后下列情況應(yīng)關(guān)中斷:⑴正在響應(yīng)某一級(jí)中斷請(qǐng)求時(shí);⑵在中斷服務(wù)程序的保護(hù)和恢復(fù)現(xiàn)場(chǎng)之前。2.允許和禁止中斷中斷屏蔽:中斷源發(fā)出的中斷請(qǐng)求并不一定能送到CPU去,可由程序控制是否封鎖部分中斷可為每個(gè)中斷源都相應(yīng)地配備一個(gè)中斷屏蔽觸發(fā)器(MASK),則每個(gè)中斷請(qǐng)求信號(hào)在送往判優(yōu)電路之前,會(huì)受到屏蔽觸發(fā)器的控制。當(dāng)MASK=1,表示對(duì)應(yīng)中斷源的請(qǐng)求被屏蔽中斷請(qǐng)求觸發(fā)器和中斷屏蔽觸發(fā)器是成對(duì)出現(xiàn)的。3.中斷屏蔽用程序設(shè)置的方法將屏蔽寄存器中的某一位置“1”,則對(duì)應(yīng)的中斷請(qǐng)求被封鎖,無(wú)法去參加排隊(duì)判優(yōu);若屏蔽寄存器中的某一位置“0”,才允許對(duì)應(yīng)的中斷請(qǐng)求送往CPU。★如何屏蔽?圖9-14中斷屏蔽寄存器的作用中斷屏蔽寄存器的作用取反輸出例:一個(gè)中斷系統(tǒng)有16個(gè)中斷源,每個(gè)中斷源按其優(yōu)先級(jí)別賦予一個(gè)屏蔽字。屏蔽字與中斷源的優(yōu)先級(jí)別是一一對(duì)應(yīng)的,“0”表示開(kāi)放,“1”表示屏蔽。第1級(jí)中斷源的屏蔽字是16個(gè)“1”,優(yōu)先級(jí)別最高,禁止本級(jí)和更低級(jí)的中斷請(qǐng)求;第16級(jí)中斷源的屏蔽字只有最低位為“1”,其余為“0”,優(yōu)先級(jí)別最低,僅禁止本級(jí)的中斷請(qǐng)求,而對(duì)其他高級(jí)的中斷請(qǐng)求全部開(kāi)放。中斷屏蔽設(shè)置方法各中斷源的屏蔽字中斷源的優(yōu)先級(jí)屏蔽字(16位)123┇1516111…111011…111001…111┇000…011000…001中斷屏蔽字的另一個(gè)作用是可以改變中斷優(yōu)先級(jí),即改變中斷處理次序,稱之為中斷升級(jí)。中斷處理次序和中斷響應(yīng)次序的不同:中斷響應(yīng)次序是由硬件排隊(duì)電路決定的,無(wú)法改變。中斷處理次序是可以由屏蔽碼來(lái)改變的。中斷處理次序可以不同于中斷響應(yīng)次序。4.中斷升級(jí)例如,某中斷系統(tǒng)有4個(gè)中斷源,每個(gè)中斷源對(duì)應(yīng)一個(gè)屏蔽碼。中斷響應(yīng)的優(yōu)先次序?yàn)?→2→3→4,中斷的處理次序和中斷的響應(yīng)次序一致。4.中斷升級(jí)(續(xù))程序級(jí)別屏
蔽
碼1級(jí)2級(jí)3級(jí)4級(jí)第1級(jí)第2級(jí)第3級(jí)第4級(jí)1000110011101111CPU的運(yùn)動(dòng)軌跡在不改變中斷響應(yīng)次序的條件下,通過(guò)改寫屏蔽碼可以改變中斷處理次序例:只需如圖改變中斷屏蔽碼,便可使中斷處理次序改為1→4→3→2,4.中斷升級(jí)(續(xù))程序級(jí)別
屏
蔽
碼1級(jí)2級(jí)3級(jí)4級(jí)第1級(jí)第2級(jí)第3級(jí)第4級(jí)1000111110111001處理次序改變后的CPU運(yùn)動(dòng)軌跡中斷全過(guò)程:從中斷源發(fā)出中斷請(qǐng)求開(kāi)始,CPU響應(yīng)這個(gè)請(qǐng)求,現(xiàn)行程序被中斷,轉(zhuǎn)至中斷服務(wù)程序,直到中斷服務(wù)程序執(zhí)行完畢,CPU再返回原程序繼續(xù)執(zhí)行的整個(gè)過(guò)程中斷全過(guò)程分為5個(gè)階段:①中斷請(qǐng)求②中斷判優(yōu)③中斷響應(yīng)④中斷處理(執(zhí)行中斷服務(wù)程序)⑤中斷返回。9.3.5中斷全過(guò)程圖9-17中斷處理過(guò)程中斷處理過(guò)程中斷處理過(guò)程基本上由3部分組成:第一部分:準(zhǔn)備部分,其基本功能是保護(hù)現(xiàn)場(chǎng),確定中斷源,最后開(kāi)放中斷,允許更高級(jí)的中斷請(qǐng)求打斷低級(jí)的中斷服務(wù)程序;第二部分:處理部分,即真正執(zhí)行具體的為某個(gè)中斷源服務(wù)的中斷服務(wù)程序;第三部分:結(jié)尾部分,首先要關(guān)中斷,以防止在恢復(fù)現(xiàn)場(chǎng)過(guò)程中被新的中斷請(qǐng)求打斷,接著恢復(fù)現(xiàn)場(chǎng),然后開(kāi)放中斷,以便返回原來(lái)的程序后可響應(yīng)其他的中斷請(qǐng)求。中斷服務(wù)程序的最后一條指令一定是中斷返回指令。
9.3.5中斷全過(guò)程(續(xù))具有中斷能力的外設(shè)接口是由程序查詢式接口再加上中斷控制機(jī)構(gòu)組成的。
中斷控制機(jī)構(gòu)包括:⑴中斷請(qǐng)求電路⑵中斷優(yōu)先電路⑶向量地址形成部件9.3.6程序中斷接口結(jié)構(gòu)
DMA方式是為了在主存與外設(shè)之間實(shí)現(xiàn)高速、批量數(shù)據(jù)交換而設(shè)置的。DMA方式的數(shù)據(jù)傳送直接依靠硬件(DMA控制器)來(lái)實(shí)現(xiàn),不需要執(zhí)行任何程序。9.4DMA方式及其接口1.DMA方式的特點(diǎn)出現(xiàn)原因:前兩種方式主要的工作都是由CPU執(zhí)行程序完成的,不能實(shí)現(xiàn)高速外設(shè)與主機(jī)的信息交換。定義:DMA方式是在外設(shè)和主存之間開(kāi)辟一條“直接數(shù)據(jù)通道”,數(shù)據(jù)傳輸時(shí)不需要CPU干預(yù)也不需要軟件介入。工作原理:外設(shè)通過(guò)DMA控制器(對(duì)數(shù)據(jù)傳送過(guò)程進(jìn)行控制的硬件)向CPU提出DMA傳送請(qǐng)求,CPU響應(yīng)之后將讓出系統(tǒng)總線,由DMA控制器接管總線進(jìn)行數(shù)據(jù)傳送。9.4.1DMA方式的基本概念DMA方式的特點(diǎn):⑴它使主存與CPU的固定聯(lián)系脫鉤,主存既可被CPU訪問(wèn),又可被外設(shè)訪問(wèn);⑵在數(shù)據(jù)塊傳送時(shí),主存地址的確定、傳送數(shù)據(jù)的計(jì)數(shù)等都由硬件電路直接實(shí)現(xiàn);⑶主存中要開(kāi)辟專用緩沖區(qū)供給和接收外設(shè)數(shù)據(jù);⑷DMA傳送速度快,CPU和外設(shè)并行工作。⑸傳送開(kāi)始前要通過(guò)程序進(jìn)行預(yù)處理,結(jié)束后要通過(guò)中斷方式進(jìn)行后處理。⑴中斷方式是程序切換,需要保護(hù)和恢復(fù)現(xiàn)場(chǎng);DMA方式除了開(kāi)始和結(jié)尾時(shí),不占用CPU的任何資源。⑵對(duì)中斷請(qǐng)求的響應(yīng)只能發(fā)生在每條指令執(zhí)行完畢時(shí);對(duì)DMA請(qǐng)求的響應(yīng)可以發(fā)生在每個(gè)機(jī)器周期結(jié)束時(shí)。2.DMA和中斷的區(qū)別取指令取源操作數(shù)取目的操作數(shù)執(zhí)行中斷斷點(diǎn)DMA斷點(diǎn)⑶中斷傳送過(guò)程需要CPU的干預(yù);而DMA傳送過(guò)程不需要CPU的干預(yù),適合于高速外設(shè)的成組數(shù)據(jù)傳送。⑷DMA請(qǐng)求的優(yōu)先級(jí)高于中斷請(qǐng)求。⑸中斷方式具有對(duì)異常事件的處理能力,而DMA方式僅局限于完成傳送數(shù)據(jù)塊的I/O操作。2.DMA和中斷的區(qū)別(續(xù))應(yīng)用于主存與高速外設(shè)間的簡(jiǎn)單數(shù)據(jù)傳送。如磁盤、磁帶、光盤等輔助存儲(chǔ)器以及其他帶有局部存儲(chǔ)器的外設(shè)、通信設(shè)備等。DMA傳送可用于快速的數(shù)據(jù)直傳。但其本身不能處理較復(fù)雜的事件。因此,在某些場(chǎng)合常綜合應(yīng)用DMA方式與程序中斷方式,二者互為補(bǔ)充。3.DMA方式的應(yīng)用1.DMA控制器的功能在數(shù)據(jù)傳送時(shí),DMA控制器接管CPU的地址總線、數(shù)據(jù)總線和控制總線,CPU的主存控制信號(hào)被禁止使用。在傳送結(jié)束后,恢復(fù)CPU的一切權(quán)利并開(kāi)始執(zhí)行其操作。DMA控制器具有控制系統(tǒng)總線的能力,即能夠像CPU一樣輸出地址信號(hào),接收或發(fā)出控制信號(hào),輸入或輸出數(shù)據(jù)信號(hào)。9.4.2DMA接口⑴接受外設(shè)發(fā)出的DMA請(qǐng)求,并向CPU發(fā)出總線請(qǐng)求;⑵收到CPU發(fā)出的總線響應(yīng)信號(hào)后,接管對(duì)總線的控制,進(jìn)入DMA操作周期;⑶確定傳送數(shù)據(jù)的主存單元地址及傳送長(zhǎng)度,并在傳送時(shí)自動(dòng)修改主存地址計(jì)數(shù)值和傳送長(zhǎng)度計(jì)數(shù)值;⑷規(guī)定數(shù)據(jù)在主存與外設(shè)之間的傳送方向,發(fā)出讀寫或其他控制信號(hào),執(zhí)行數(shù)據(jù)傳送的操作。⑸
向CPU報(bào)告DMA操作的結(jié)束。1.DMA控制器的功能圖9-20簡(jiǎn)單的DMA控制器
簡(jiǎn)單的DMA控制器
⑴主存地址計(jì)數(shù)器存放待交換數(shù)據(jù)的主存地址。其初始值為主存緩沖區(qū)的首地址,并在每傳送一個(gè)數(shù)據(jù)后,將地址計(jì)數(shù)器加“1”,直至這批數(shù)據(jù)傳送完畢。⑵傳送長(zhǎng)度計(jì)數(shù)器
記錄傳送數(shù)據(jù)塊的長(zhǎng)度。其初始值為傳送數(shù)據(jù)的總字?jǐn)?shù)或總字節(jié)數(shù),每傳送一個(gè)字或一個(gè)字節(jié),計(jì)數(shù)器自動(dòng)減“1”,當(dāng)值為0時(shí)表示數(shù)據(jù)已全部傳送完畢。
⑶數(shù)據(jù)緩沖寄存器2.DMA控制器的基本組成⑷DMA請(qǐng)求觸發(fā)器每當(dāng)外設(shè)準(zhǔn)備好數(shù)據(jù)后給出一個(gè)控制信號(hào),使DMA請(qǐng)求觸發(fā)器置位。⑸控制/狀態(tài)邏輯
由控制和時(shí)序電路以及狀態(tài)標(biāo)志等組成,用于指定傳送方向,修改傳送參數(shù),并對(duì)DMA請(qǐng)求信號(hào)和CPU響應(yīng)信號(hào)進(jìn)行協(xié)調(diào)和同步。⑹中斷機(jī)構(gòu)
當(dāng)一個(gè)數(shù)據(jù)塊傳送完畢后向CPU提出中斷請(qǐng)求,由CPU進(jìn)行傳送的結(jié)尾處理。⑴地址總線在DMA方式下,呈輸出狀態(tài),可對(duì)主存進(jìn)行地址選擇;在CPU方式下,呈輸入狀態(tài),可對(duì)DMA控制器中的有關(guān)寄存器進(jìn)行尋址。⑵數(shù)據(jù)總線在DMA方式下,用它進(jìn)行數(shù)據(jù)傳送;在CPU方式下,可對(duì)DMA控制器的有關(guān)寄存器進(jìn)行編程。3.DMA控制器的引出線⑶控制數(shù)據(jù)傳送方式的信號(hào)線
存儲(chǔ)器讀信號(hào)、存儲(chǔ)器寫信號(hào)、外設(shè)讀信號(hào)、外設(shè)寫信號(hào)。⑷DMA控制器與外設(shè)之間的聯(lián)絡(luò)信號(hào)線DMA請(qǐng)求信號(hào)DREQ(外設(shè)向DMA控制器);DMA響應(yīng)信號(hào)DACK(DMA控制器向外設(shè))。⑸DMA控制器與CPU之間的聯(lián)絡(luò)信號(hào)線總線請(qǐng)求HRQ(DMA控制器向CPU);總線響應(yīng)信號(hào)HLDA(CPU向DMA控制器)。4.DMA控制器的連接和傳送主存CPU
DMA控制器外設(shè)HRQHLDADREQDACKIOWIORMEMWMEMR數(shù)據(jù)總線地址總線DREQDREQDACKDACKHRQHRQHLDAHLDADMA控制器CPUCPUCPUDMA控制器CPU獲得總線控制權(quán)CPU獲得總線控制權(quán)DMA控制器獲得總線控制權(quán)外設(shè)將一個(gè)數(shù)據(jù)塊寫入主存時(shí)DMA控制器的操作過(guò)程:
①首先由外設(shè)向DMA控制器發(fā)出請(qǐng)求信號(hào)DREQ。
②DMA控制器向CPU發(fā)出總線請(qǐng)求信號(hào)HRQ。
③CPU向DMA控制器發(fā)出總線響應(yīng)信號(hào)HLDA,此時(shí),DMA控制器獲取了總線的控制權(quán)。
④DMA控制器向外設(shè)發(fā)出DMA響應(yīng)信號(hào)DACK,表示DMA控制器已控制了總線,允許外設(shè)與主存交換數(shù)據(jù)。⑤DMA控制器按主存地址計(jì)數(shù)器的內(nèi)容發(fā)出地址信號(hào)作為主存地址的選擇,同時(shí)主存地址計(jì)數(shù)器的內(nèi)容加1。
⑥D(zhuǎn)MA控制器發(fā)出信號(hào)到外設(shè),將外設(shè)數(shù)據(jù)讀入總線,同時(shí)發(fā)出信號(hào),將數(shù)據(jù)總線的數(shù)據(jù)寫入地址總線選中的主存單元。
⑦傳送長(zhǎng)度計(jì)數(shù)器減1。
重復(fù)⑤~⑦步驟,直到字節(jié)計(jì)數(shù)器減到0為止,數(shù)據(jù)塊的DMA方式傳送工作宣告完成。這時(shí),DMA控制器的HRQ降為低電平,總線控制權(quán)交還CPU。1.DMA傳送方法⑴CPU停止訪問(wèn)主存法用DMA請(qǐng)求信號(hào)迫使CPU在現(xiàn)行機(jī)器周期執(zhí)行完成之后讓出總線控制權(quán)。缺點(diǎn):每次DMA請(qǐng)求獲得批準(zhǔn),DMA控制器獲得總線控制權(quán)以后,連續(xù)占用若干個(gè)存取周期進(jìn)行成組連續(xù)的數(shù)據(jù)傳送,直至批量傳送結(jié)束,DMA控制器才把總線控制權(quán)交回CPU。9.4.3DMA傳送方法與傳送過(guò)程DMA不工作DMA不工作CPU控制并使用主存DMA控制并使用主存主存工作時(shí)間tDMA工作CPU停止訪問(wèn)主存法⑵存儲(chǔ)器分時(shí)法把原來(lái)的一個(gè)存取周期分成兩個(gè)時(shí)間片,一片分給CPU,一片分給DMA,使CPU和DMA交替地訪問(wèn)主存。這種方法無(wú)須申請(qǐng)和歸還總線,使總線控制權(quán)的轉(zhuǎn)移幾乎不需要什么時(shí)間,所以CPU既不停止現(xiàn)行程序的運(yùn)行,也不進(jìn)入保持狀態(tài),在CPU不知不覺(jué)中便進(jìn)行了DMA傳送;缺點(diǎn):當(dāng)無(wú)DMA請(qǐng)求時(shí),仍只能分一半時(shí)間給CPU。圖9-23(b)存儲(chǔ)器分時(shí)法CPU控制并使用主存DMA控制并使用主存主存工作時(shí)間t⑶周期挪用法動(dòng)態(tài)處理的方法。當(dāng)外設(shè)沒(méi)有DMA請(qǐng)求時(shí),CPU按程序要求訪問(wèn)主存;一旦外設(shè)有DMA請(qǐng)求并獲得CPU批準(zhǔn)后,CPU讓出一個(gè)周期的總線控制權(quán),由DMA控制器控制系統(tǒng)總線,挪用一個(gè)存取周期進(jìn)行一次數(shù)據(jù)傳送;然后,DMA控制器將總線控制權(quán)交回。重復(fù)上述過(guò)程,直至數(shù)據(jù)塊傳送完畢。高速主機(jī)系統(tǒng)常使用這種方法圖9-23(c)周期挪用法周期挪用法⑴DMA預(yù)處理在DMA傳送之前先要由CPU進(jìn)行初始化(執(zhí)行幾條I/O指令測(cè)試外設(shè)的狀態(tài)、向DMA控制器的有關(guān)寄存器置初值、設(shè)置傳送方向、啟動(dòng)該外部設(shè)備等)。之后,CPU繼續(xù)執(zhí)行原來(lái)的程序,在外設(shè)準(zhǔn)備好發(fā)送或接收的數(shù)據(jù)時(shí),外設(shè)向DMA控制器發(fā)DMA請(qǐng)求,再由DMA控制器向CPU發(fā)總線請(qǐng)求。⑵數(shù)據(jù)傳送若以數(shù)據(jù)塊為單位的傳送,過(guò)程見(jiàn)圖9-24.2.DMA傳送過(guò)程圖9-24DMA的數(shù)據(jù)傳送過(guò)程
DMA控制器在數(shù)據(jù)傳送過(guò)程中完成的工作⑶DMA后處理
當(dāng)傳送長(zhǎng)度計(jì)數(shù)器計(jì)到0時(shí),DMA操作結(jié)束,DMA控制器向CPU發(fā)中斷請(qǐng)求,CPU停止原來(lái)程序的執(zhí)行,轉(zhuǎn)去執(zhí)行中斷服務(wù)程序做DMA結(jié)束處理工作。
在大型計(jì)算機(jī)系統(tǒng)中,所連接的I/O設(shè)備數(shù)量多,輸入輸出頻繁,要求整體的速度快,單純依靠主CPU采取程序中斷和DMA等控制方式已不能滿足要求,于是通道控制方式被引入計(jì)算機(jī)系統(tǒng)。9.5通道控制方式1.通道控制方式與DMA方式的區(qū)別⑴DMA控制器是通過(guò)專門設(shè)計(jì)的硬件控制邏輯來(lái)實(shí)現(xiàn)對(duì)數(shù)據(jù)傳送的控制;而通道則是一個(gè)具有特殊功能的處理器,它具有自己的指令和程序,通過(guò)執(zhí)行通道程序來(lái)實(shí)現(xiàn)對(duì)數(shù)據(jù)傳送的控制,故通道具有更強(qiáng)的獨(dú)立處理數(shù)據(jù)輸入輸出的功能。
⑵DMA控制器通常只能控制一臺(tái)或少數(shù)幾臺(tái)同類設(shè)備;而一個(gè)通道則可以同時(shí)控制許多臺(tái)同類或不同類的設(shè)備。9.5.1通道的基本概念⑴接受CPU的I/O指令,按指令要求與指定的外設(shè)進(jìn)
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 新版五年級(jí)英語(yǔ)下冊(cè)教案
- 上課遲到檢討書(合集15篇)
- 行業(yè)調(diào)研報(bào)告匯編4篇
- 中考熱點(diǎn)素材集合15篇
- 電子公司實(shí)習(xí)報(bào)告匯編7篇
- 《呼蘭河傳》讀書筆記(15篇)
- 邊城讀書筆記(15篇)
- 喹諾酮類抗菌藥物合理使用的理性思考
- 七年級(jí)地理教學(xué)工作計(jì)劃范例(20篇)
- 入伍保留勞動(dòng)關(guān)系協(xié)議書(2篇)
- 2024版帶貨主播電商平臺(tái)合作服務(wù)合同范本3篇
- 2025公司資產(chǎn)劃轉(zhuǎn)合同
- 2024-2030年中國(guó)鋁汽車緊固件行業(yè)銷售規(guī)模與盈利前景預(yù)測(cè)報(bào)告
- 廣東省清遠(yuǎn)市2023-2024學(xué)年高一上學(xué)期期末質(zhì)量檢測(cè)物理試題(解析版)
- 2024-2025學(xué)年人教版數(shù)學(xué)五年級(jí)上冊(cè)期末檢測(cè)試卷(含答案)
- 《外盤期貨常識(shí)》課件
- 【MOOC】土力學(xué)-西安交通大學(xué) 中國(guó)大學(xué)慕課MOOC答案
- 工程設(shè)計(jì)-《工程勘察設(shè)計(jì)收費(fèi)標(biāo)準(zhǔn)》(2002年修訂本)-完整版
- 2024年展覽主場(chǎng)服務(wù)合同
- 工廠銑工安全培訓(xùn)課件
- 餐飲組織架構(gòu)圖(完整版)-20210618215128
評(píng)論
0/150
提交評(píng)論