第10章-輸入輸出系統(tǒng)課件_第1頁(yè)
第10章-輸入輸出系統(tǒng)課件_第2頁(yè)
第10章-輸入輸出系統(tǒng)課件_第3頁(yè)
第10章-輸入輸出系統(tǒng)課件_第4頁(yè)
第10章-輸入輸出系統(tǒng)課件_第5頁(yè)
已閱讀5頁(yè),還剩99頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第10章輸入輸出系統(tǒng)10.1 I/O系統(tǒng)概述10.2 I/O接口10.3程序查詢方式10.4 中斷系統(tǒng)

10.5 程序中斷I/O控制方式10.6

直接存儲(chǔ)器訪問(wèn)DMA方式10.7

通道方式計(jì)算機(jī)的輸入輸出系統(tǒng)簡(jiǎn)稱I/O系統(tǒng)。I/O系統(tǒng)的組成外部設(shè)備設(shè)備控制器外設(shè)與處理機(jī)的連接I/O總線I/O接口管理部件(如通道)相關(guān)的軟件10.1I/O系統(tǒng)概述I/O系統(tǒng)概述長(zhǎng)期以來(lái),人們對(duì)I/O系統(tǒng)的作用和性能往往沒(méi)有給予足夠的重視。在談到計(jì)算機(jī)系統(tǒng)的性能時(shí),人們更多的是關(guān)注CPU的性能。I/O設(shè)備通常被稱為外圍設(shè)備。(外圍的就似乎沒(méi)那么重要了)I/O系統(tǒng)的性能要與CPU的性能相匹配,否則它就會(huì)成為整個(gè)系統(tǒng)的瓶頸。I/O系統(tǒng)概述主機(jī)與外設(shè)之間的連接方式可分為:總線方式、通道方式和I/O處理機(jī)方式總線連接方式一種簡(jiǎn)單的總線連接方式采用系統(tǒng)總線,把CPU、主存與各種外設(shè)連接起來(lái)。在CPU與存儲(chǔ)器之間,則用專用存儲(chǔ)總線進(jìn)行連接。優(yōu)點(diǎn):控制簡(jiǎn)單,而且系統(tǒng)易于擴(kuò)充。缺點(diǎn):所有外設(shè)都掛接在該系統(tǒng)總線上,每次只能實(shí)現(xiàn)一對(duì)外設(shè)或部件之間的連接。系統(tǒng)總線容易成為瓶頸。10.1.1主機(jī)與外設(shè)之間的連接方式I/O系統(tǒng)概述I/O系統(tǒng)概述一種在現(xiàn)代計(jì)算機(jī)中使用比較多的組織結(jié)構(gòu)總線型連接方式是目前大多數(shù)服務(wù)器和微型計(jì)算機(jī)所采用的連接模式系統(tǒng)模塊化程度高,I/O接口擴(kuò)充方便。但不適用于需要配備大量外設(shè)的場(chǎng)合。CPUCache主存I/O控制器圖形輸出I/O控制器總線適配器網(wǎng)絡(luò)CPU-主存總線I/O總線總線適配器AGP總線PCI總線I/O控制器I/O控制器總線適配器磁盤磁盤CDI/O系統(tǒng)概述通道連接方式從IBM360系列機(jī)開始,普遍采用了通道處理機(jī)技術(shù),由一種稱為通道的專用硬件來(lái)專門負(fù)責(zé)整個(gè)計(jì)算機(jī)系統(tǒng)的輸入/輸出工作。通道也稱為通道處理機(jī),因?yàn)樗軋?zhí)行指令,不過(guò)只能執(zhí)行有限的一組專用于輸入輸出的指令。這些指令稱為通道指令?!爸鳈C(jī)-通道-I/O接口(設(shè)備控制器)-外設(shè)”的4級(jí)I/O系統(tǒng)缺點(diǎn):實(shí)現(xiàn)成本比較高I/O系統(tǒng)概述I/O系統(tǒng)概述外圍處理機(jī)連接方式用現(xiàn)成的通用處理機(jī)來(lái)代替上述的通道,把所有跟I/O有關(guān)的工作都接管過(guò)去。通過(guò)編制程序?qū)崿F(xiàn)對(duì)I/O設(shè)備的控制,因而通用性好,適應(yīng)性強(qiáng)。巨型計(jì)算機(jī)往往采用這種方式,以充分發(fā)揮巨型計(jì)算機(jī)的超級(jí)計(jì)算能力。除了所有的I/O管理工作外,外圍處理機(jī)還把編輯、源程序編譯等幾乎所有的“外圍工作”(相對(duì)于CPU的計(jì)算工作而言)都接了過(guò)去。I/O系統(tǒng)概述對(duì)設(shè)備編址就是對(duì)設(shè)備接口中的寄存器進(jìn)行編址。這些寄存器經(jīng)常被稱為端口。每一臺(tái)設(shè)備需要若干個(gè)端口地址。對(duì)I/O設(shè)備的編址方式有兩種獨(dú)立編址CPU給I/O設(shè)備提供一個(gè)與主存地址空間分開、完全獨(dú)立的地址空間。I/O設(shè)備使用的地址稱為I/O地址或I/O端口地址。在CPU中設(shè)置專用的I/O指令來(lái)訪問(wèn)I/O設(shè)備。10.1.2I/O設(shè)備的編址方式I/O系統(tǒng)概述需要一個(gè)標(biāo)志信號(hào)來(lái)表示所訪問(wèn)的地址是I/O設(shè)備的地址(以區(qū)別于主存地址)。統(tǒng)一編址也稱為“存儲(chǔ)器映射I/O”。將一部分存儲(chǔ)器地址空間專門留出來(lái),分配給I/O設(shè)備。用訪存指令對(duì)這些地址進(jìn)行讀寫將引起I/O設(shè)備的數(shù)據(jù)傳輸。I/O系統(tǒng)概述

按照從簡(jiǎn)單到復(fù)雜、從低級(jí)到高級(jí)、從集中管理到分散管理的次序,數(shù)據(jù)傳送控制方式可以分為5種:程序查詢方式程序中斷方式DMA方式通道方式I/O處理機(jī)方式10.1.3數(shù)據(jù)傳送控制方式I/O系統(tǒng)概述程序查詢方式CPU和外設(shè)之間的數(shù)據(jù)傳送依靠計(jì)算機(jī)程序控制。在進(jìn)行輸入輸出操作后,CPU需要反復(fù)不斷地查詢?cè)O(shè)備狀態(tài),以確定該操作是否完成,以便進(jìn)行下一個(gè)I/O操作。所需要的硬件結(jié)構(gòu)比較簡(jiǎn)單,CPU與外設(shè)的操作能夠同步。但浪費(fèi)了大量的CPU時(shí)間。(程序經(jīng)常是在不停地查詢和等待)I/O系統(tǒng)概述程序中斷方式基本思想CPU在啟動(dòng)外設(shè)進(jìn)行I/O操作后,繼續(xù)執(zhí)行原來(lái)的程序;外設(shè)完成所指定的操作后,通過(guò)中斷系統(tǒng)向CPU報(bào)告;CPU暫時(shí)停止當(dāng)時(shí)正在執(zhí)行的程序,轉(zhuǎn)去執(zhí)行對(duì)該中斷進(jìn)行處理的中斷服務(wù)程序,啟動(dòng)下一個(gè)數(shù)據(jù)傳送或者進(jìn)行必要的后處理。處理完后,CPU再回到原來(lái)的程序繼續(xù)執(zhí)行。

在一定程度上實(shí)現(xiàn)CPU與外設(shè)之間的并行工作,而且能實(shí)現(xiàn)多臺(tái)外設(shè)之間的并行工作。

I/O系統(tǒng)概述DMA方式直接存儲(chǔ)器訪問(wèn)DMA(DirectMemoryAccess)在外設(shè)和主存之間開辟一條直接的數(shù)據(jù)通路,在DMA控制器的控制下,外設(shè)能直接與主存進(jìn)行數(shù)據(jù)交換,而不必經(jīng)過(guò)CPU。

DMA方式下,數(shù)據(jù)的傳送速度很高。但需要更多的硬件。通道方式進(jìn)一步把管理I/O的權(quán)利下放給一個(gè)被稱為通道的部件。

I/O系統(tǒng)概述通道:一種具有特殊功能的處理器,能執(zhí)行用于進(jìn)行輸入輸出操作的通道程序。當(dāng)程序需要與某外設(shè)交換一批數(shù)據(jù)時(shí),CPU會(huì)根據(jù)相應(yīng)的參數(shù)為之編制一個(gè)通道程序,然后執(zhí)行一條啟動(dòng)I/O指令。之后,CPU就可以繼續(xù)執(zhí)行原來(lái)的程序。而與外設(shè)的數(shù)據(jù)交換操作全部都是在通道的控制下完成的(通過(guò)執(zhí)行通道程序)。

I/O處理機(jī)方式I/O接口簡(jiǎn)介接口:指兩個(gè)硬件部件之間的交接部分。I/O接口:主機(jī)與外設(shè)或其它外部系統(tǒng)之間的接口邏輯。10.2I/O接口I/O接口不同的設(shè)備都有各自的設(shè)備控制器,但它們往往是通過(guò)標(biāo)準(zhǔn)化接口與主機(jī)相連。標(biāo)準(zhǔn)化接口:在結(jié)構(gòu)尺寸、接插連接、電平信號(hào)、邏輯電路和傳輸總線等方面都采用統(tǒng)一的標(biāo)準(zhǔn)。

I/O接口的基本功能數(shù)據(jù)格式轉(zhuǎn)換格式轉(zhuǎn)換:主機(jī)中的數(shù)據(jù)采用二進(jìn)制編碼,而外設(shè)大多是采用ASCII編碼。串、并轉(zhuǎn)換信號(hào)電平的變換數(shù)據(jù)緩存和傳送I/O接口設(shè)備尋址對(duì)CPU發(fā)過(guò)來(lái)的地址進(jìn)行譯碼,選擇相應(yīng)的外設(shè)及其端口。提供外設(shè)和接口的狀態(tài)實(shí)現(xiàn)主機(jī)對(duì)外設(shè)的通信和控制功能

I/O接口的組成I/O接口的基本組成如圖所示。數(shù)據(jù)線:傳送數(shù)據(jù)的一組連線,一般是雙向的;地址線:傳送設(shè)備地址,它通常是一組單向線;命令線:傳送CPU向設(shè)備發(fā)出的命令,也是一組單向線;狀態(tài)線:將外設(shè)和接口的狀態(tài)向CPU報(bào)告,也是一組單向線;I/O接口數(shù)據(jù)緩沖寄存器(DBR):用于暫存主機(jī)與外設(shè)交換的數(shù)據(jù)。它與數(shù)據(jù)線相連;控制寄存器(CR):用來(lái)寄存CPU發(fā)過(guò)來(lái)的I/O命令碼;設(shè)備狀態(tài)寄存器(DSR):用于存放外設(shè)和接口的狀態(tài)信息,與狀態(tài)線相連;(有的設(shè)備是把控制寄存器和設(shè)備狀態(tài)寄存器合并為一個(gè)“狀態(tài)/控制寄存器”(SCR))設(shè)備選擇邏輯:對(duì)地址線上的設(shè)備地址進(jìn)行譯碼,選中本設(shè)備;控制邏輯:產(chǎn)生I/O接口正常工作所需要的控制信號(hào)。I/O接口I/O接口的基本組成

采用這種方式的I/O接口比較簡(jiǎn)單。至少包含以下幾個(gè)部分:數(shù)據(jù)緩沖寄存器就緒觸發(fā)器忙/閑觸發(fā)器設(shè)備選擇邏輯等操作的流程圖10.3程序查詢方式中斷的概念中斷:CPU暫時(shí)中止現(xiàn)行程序的執(zhí)行,轉(zhuǎn)去執(zhí)行處理更加緊迫的事件的服務(wù)程序,處理完后又自動(dòng)返回原程序繼續(xù)執(zhí)行的過(guò)程。中斷系統(tǒng):計(jì)算機(jī)中實(shí)現(xiàn)中斷功能的軟硬件的總稱。注意10.4中斷系統(tǒng)10.4.1中斷概述中斷系統(tǒng)中斷過(guò)程實(shí)質(zhì)上是一種程序切換過(guò)程中斷具有隨機(jī)性中斷不具備重復(fù)性中斷的作用實(shí)現(xiàn)主機(jī)與外設(shè)的并行工作處理故障實(shí)現(xiàn)多道程序和分時(shí)操作實(shí)現(xiàn)實(shí)時(shí)控制實(shí)現(xiàn)人機(jī)聯(lián)系與通信實(shí)現(xiàn)程序的跟蹤調(diào)試中斷系統(tǒng)實(shí)現(xiàn)用戶程序與操作系統(tǒng)的聯(lián)系實(shí)現(xiàn)多機(jī)系統(tǒng)中各處理機(jī)之間的相互聯(lián)系及任務(wù)分配中斷的分類自愿中斷和強(qiáng)迫中斷自愿中斷又稱程序自中斷,是指由程序中預(yù)先安排的廣義指令引起的中斷。強(qiáng)迫中斷是隨機(jī)產(chǎn)生、不可預(yù)知的中斷。內(nèi)中斷與外中斷內(nèi)中斷:因主機(jī)內(nèi)部原因所引起的中斷,包括硬件故障中斷和自陷(trap)。中斷系統(tǒng)外中斷:主機(jī)以外的部件引起的中斷。如外設(shè)引起的I/O中斷、操作員通過(guò)控制臺(tái)對(duì)機(jī)器干預(yù)的中斷、其它機(jī)器或系統(tǒng)產(chǎn)生的外部信號(hào)中斷等。單重中斷與多重中斷如果在執(zhí)行中斷服務(wù)程序的過(guò)程中出現(xiàn)新的中斷時(shí),系統(tǒng)對(duì)新中斷不予理睬,只有在該服務(wù)程序執(zhí)行完后,才能響應(yīng),則稱這樣的中斷系統(tǒng)為單重中斷系統(tǒng)。如果CPU在執(zhí)行某個(gè)中斷服務(wù)程序時(shí),還可響應(yīng)優(yōu)先級(jí)別更高的中斷請(qǐng)求,則稱這樣的中斷系統(tǒng)為多重中斷系統(tǒng)。這種重疊處理中斷的現(xiàn)象又稱為中斷嵌套。中斷系統(tǒng)可屏蔽中斷和不可屏蔽中斷可屏蔽中斷:可以通過(guò)設(shè)置屏蔽碼使得CPU“看不到”的中斷。不可屏蔽中斷:指不能屏蔽的中斷。10.4.2中斷請(qǐng)求信號(hào)的建立、屏蔽與傳送中斷請(qǐng)求信號(hào)的建立與屏蔽中斷源:引起中斷的事件。中斷請(qǐng)求觸發(fā)器對(duì)于每一個(gè)中斷源,都設(shè)置一個(gè)相應(yīng)的中斷請(qǐng)求觸發(fā)器。中斷系統(tǒng)這些觸發(fā)器合在一起,就構(gòu)成了中斷請(qǐng)求寄存器,其內(nèi)容稱為中斷字。中斷屏蔽觸發(fā)器對(duì)一個(gè)中斷請(qǐng)求進(jìn)行屏蔽就是用一個(gè)二進(jìn)制位去阻止把該請(qǐng)求傳送到CPU。當(dāng)中斷屏蔽觸發(fā)器內(nèi)容為“1”時(shí),表示阻止(即屏蔽),為“0”表示不屏蔽。所有的中斷屏蔽觸發(fā)器構(gòu)成了一個(gè)屏蔽寄存器,其內(nèi)容稱為屏蔽碼。中斷系統(tǒng)中斷屏蔽中斷系統(tǒng)中斷請(qǐng)求信號(hào)的傳送

根據(jù)CPU中斷請(qǐng)求線數(shù)量的不同以及連接方式的不同,可以把傳送模式分為4種。各中斷源單獨(dú)設(shè)置自己的中斷請(qǐng)求線,每條請(qǐng)求線都直接送給CPU。優(yōu)點(diǎn):響應(yīng)速度快。缺點(diǎn):這種模式只適合于CPU具有足夠多中斷請(qǐng)求線的情況。而且中斷源難以擴(kuò)充。各中斷源的請(qǐng)求信號(hào)通過(guò)三態(tài)門電路匯集到一根公共的中斷請(qǐng)求線中斷系統(tǒng)在CPU外部設(shè)置一個(gè)中斷控制電路,由它負(fù)責(zé)把所有中斷源發(fā)出的中斷請(qǐng)求匯集起來(lái),通過(guò)或門向CPU請(qǐng)求中斷。采用上述兩種模式相結(jié)合的方式對(duì)于要求快速響應(yīng)的少數(shù)幾個(gè)中斷請(qǐng)求,采取獨(dú)立請(qǐng)求線方式;其余的中斷請(qǐng)求匯集到一根公共的請(qǐng)求線上。既能實(shí)現(xiàn)少數(shù)幾個(gè)中斷的快速響應(yīng),又不需要CPU有太多的引腳。中斷系統(tǒng)中斷請(qǐng)求信號(hào)的傳送模式中斷系統(tǒng)軟件查詢適用于所有中斷源公用一條中斷請(qǐng)求線的情況。CPU響應(yīng)中斷后,進(jìn)入一個(gè)查詢程序的入口。查詢程序按優(yōu)先順序逐個(gè)詢問(wèn)各中斷源是否已提出了中斷請(qǐng)求。如果有,則轉(zhuǎn)入相應(yīng)的中斷服務(wù)程序。如果沒(méi)有,就繼續(xù)往下查詢。查詢的順序是按優(yōu)先級(jí)別從高到低的順序進(jìn)行的。改變查詢的順序,就等于是改變了優(yōu)先級(jí)。10.4.3中斷源的識(shí)別與判優(yōu)中斷系統(tǒng)主要優(yōu)點(diǎn):靈活性好,通過(guò)改變程序,就可以靈活地改變優(yōu)先級(jí)別。主要缺點(diǎn):速度太慢。串行排隊(duì)鏈識(shí)別中斷源的串行排隊(duì)鏈中斷系統(tǒng)由硬件直接生成與中斷源對(duì)應(yīng)的編碼把所有可能作為中斷源的設(shè)備按優(yōu)先級(jí)從高到低的順序連接成一條鏈,有的書將之稱為菊花鏈。把與一個(gè)中斷源相對(duì)應(yīng)的電路稱為一個(gè)環(huán)節(jié)。INi表示其前一個(gè)環(huán)節(jié)是否有中斷請(qǐng)求,為“1”表示有。

電路是如何工作的?假設(shè)按照從左到右的順序第一個(gè)有中斷請(qǐng)求的是第I個(gè)環(huán)節(jié),則排隊(duì)結(jié)果中只有:

IPi=1

所有其它各輸出線IPj=0(j≠i)(假設(shè)INTA為“1”)中斷系統(tǒng)中斷系統(tǒng)對(duì)于任一個(gè)環(huán)節(jié)(設(shè)為k)來(lái)說(shuō),有:如果INk=0,則INk+1=IPk=INTRk如果INk=1,則INk+1=1,IPk=0對(duì)于第一個(gè)環(huán)節(jié)來(lái)說(shuō),由于IN1=0,INTRk=0,故IN2=0,IPi=0

依此類推,可知:對(duì)于每一個(gè)位于第i個(gè)環(huán)節(jié)左邊的環(huán)節(jié)(設(shè)為j)來(lái)說(shuō),都有INj=0,IPj=0。對(duì)于第i個(gè)環(huán)節(jié)來(lái)說(shuō),由于INi=0,INTRi=1,故INi+1=1,IPi=1。中斷系統(tǒng)在CPU響應(yīng)中斷服務(wù)請(qǐng)求并轉(zhuǎn)入公共的中斷服務(wù)程序之后,用一條專門的指令直接讀到具有最高優(yōu)先級(jí)的中斷源的編號(hào),然后通過(guò)執(zhí)行一條變址轉(zhuǎn)移指令,就能轉(zhuǎn)移到相應(yīng)的中斷服務(wù)程序入口。對(duì)于每一個(gè)位于第i個(gè)環(huán)節(jié)右邊的環(huán)節(jié)(設(shè)為m)來(lái)說(shuō),都有

INm=1,IPm=0IPi為“1”,將使得該環(huán)節(jié)把其對(duì)應(yīng)的編碼放到總線上,送給CPU。中斷系統(tǒng)INTAR1//取具有最高優(yōu)先權(quán)的中斷源編號(hào),放在R1中JMP@VTAB(R1)//轉(zhuǎn)向中斷服務(wù)程序入口(VTAB+(R1))VTAB:DEV1//第1個(gè)中斷源的中斷服務(wù)程序入口

DEV2//第2個(gè)中斷源的中斷服務(wù)程序入口

…DEVn//第n個(gè)中斷源的中斷服務(wù)程序入口中斷系統(tǒng)優(yōu)點(diǎn)中斷源的識(shí)別速度快實(shí)現(xiàn)比較簡(jiǎn)單兩個(gè)缺點(diǎn)靈活性比較差可靠性比較差獨(dú)立請(qǐng)求法基本原理各中斷源使用自己獨(dú)立的中斷請(qǐng)求信號(hào)線向CPU發(fā)請(qǐng)求。CPU內(nèi)部采用并行優(yōu)先級(jí)排隊(duì)電路對(duì)這些請(qǐng)求進(jìn)行排隊(duì),選擇其中優(yōu)先級(jí)最高的中斷源進(jìn)行響應(yīng)。中斷系統(tǒng)獨(dú)立請(qǐng)求法中斷系統(tǒng)一個(gè)有4個(gè)中斷請(qǐng)求的并行優(yōu)先級(jí)排隊(duì)電路中斷系統(tǒng)二維結(jié)構(gòu)的優(yōu)先排隊(duì)當(dāng)中斷源很多時(shí),可以把獨(dú)立請(qǐng)求法與串行排隊(duì)鏈法結(jié)合起來(lái)。把中斷源分成組,組之間采用獨(dú)立請(qǐng)求法,組內(nèi)采用串行排隊(duì)鏈法。組的優(yōu)先級(jí)稱為主優(yōu)先級(jí),同一組中的中斷源都有相同的主優(yōu)先級(jí),而組內(nèi)中斷源在該組中的優(yōu)先級(jí)稱為次優(yōu)先級(jí)。中斷系統(tǒng)中斷系統(tǒng)獲取中斷服務(wù)程序入口地址的方法獲取中斷服務(wù)程序入口地址的方法有兩種:向量中斷,非向量中斷向量中斷中斷向量:由中斷服務(wù)程序的入口地址及程序狀態(tài)字PSW組成的項(xiàng)。中斷向量表:一個(gè)由中斷向量構(gòu)成的表格。其中:PCi:第i個(gè)中斷服務(wù)程序的入口地址。PSWi:程序狀態(tài)字。中斷系統(tǒng)基本思想在主存中開辟一個(gè)專用的區(qū)域,用來(lái)存放中斷向量表。當(dāng)CPU響應(yīng)中斷時(shí),從中斷源獲取中斷源的編碼,然后據(jù)此計(jì)算對(duì)應(yīng)于該中斷的中斷向量的地址,并用此地址從中斷向量表取得服務(wù)程序的入口地址和PSW。把該入口地址裝入程序計(jì)數(shù)器PC,把PSW裝入機(jī)器的程序狀態(tài)字中,就實(shí)現(xiàn)了CPU到相應(yīng)中斷服務(wù)程序的跳轉(zhuǎn)。由CPU執(zhí)行一條中斷響應(yīng)隱指令來(lái)實(shí)現(xiàn)。所謂隱指令是指在指令系統(tǒng)中找不到該指令,是條特殊的指令。中斷系統(tǒng)非向量中斷用軟件來(lái)確定中斷服務(wù)程序的入口地址。當(dāng)CPU響應(yīng)中斷時(shí),只產(chǎn)生一個(gè)固定的地址——中斷查詢程序的入口地址;然后按此地址執(zhí)行查詢程序,通過(guò)軟件找到該中斷的中斷服務(wù)程序的入口。最后,通過(guò)執(zhí)行該中斷服務(wù)程序,對(duì)中斷進(jìn)行處理。中斷系統(tǒng)中斷響應(yīng)和處理過(guò)程的流程圖中斷響應(yīng)中斷響應(yīng):CPU接到中斷請(qǐng)求信號(hào)后,如果滿足響應(yīng)中斷的條件,CPU就會(huì)暫?,F(xiàn)行程序的執(zhí)行,保存程序狀態(tài)字,然后轉(zhuǎn)移到相應(yīng)的中斷處理程序。CPU響應(yīng)外部中斷的條件一條指令執(zhí)行結(jié)束;CPU接收到了中斷請(qǐng)求;CPU允許響應(yīng)中斷,即處于開中斷狀態(tài)。10.4.4中斷響應(yīng)與中斷處理中斷系統(tǒng)CPU響應(yīng)中斷后即進(jìn)入中斷響應(yīng)周期,完成以下操作:關(guān)中斷保存斷點(diǎn)保存其它硬件現(xiàn)場(chǎng)清除當(dāng)前正在被響應(yīng)的中斷請(qǐng)求,以防止重復(fù)響應(yīng)。轉(zhuǎn)入中斷服務(wù)程序入口中斷處理保護(hù)CPU現(xiàn)場(chǎng)設(shè)置屏蔽字,屏蔽同級(jí)和低級(jí)中斷。開中斷中斷系統(tǒng)進(jìn)行相應(yīng)的中斷處理關(guān)中斷恢復(fù)CPU現(xiàn)場(chǎng)開中斷返回被暫停的程序繼續(xù)執(zhí)行中斷系統(tǒng)多重中斷在CPU處理某一級(jí)中斷的過(guò)程中,又出現(xiàn)了新的中斷請(qǐng)求,CPU暫停原中斷的處理,轉(zhuǎn)去處理新的中斷。處理完畢后,再恢復(fù)原來(lái)中斷的處理。(也稱為中斷嵌套)多重中斷遵循以下原則如果目前請(qǐng)求中斷的優(yōu)先級(jí)高于正在處理的中斷的優(yōu)先級(jí),則CPU響應(yīng)這個(gè)中斷請(qǐng)求,否則CPU就不予理睬,必須等正在進(jìn)行的中斷處理完成后,再響應(yīng)該中斷。10.4.5多重中斷與中斷屏蔽中斷系統(tǒng)多重中斷中斷系統(tǒng)如何實(shí)現(xiàn)?

設(shè)置中斷屏蔽碼。屏蔽碼:由屏蔽位組成,每一個(gè)屏蔽位對(duì)應(yīng)于于一個(gè)中斷級(jí)別,它控制相應(yīng)的中斷級(jí)是否被禁止參加排隊(duì)。假設(shè)某計(jì)算機(jī)的中斷系統(tǒng)分為4級(jí),其中斷響應(yīng)和中斷處理的優(yōu)先次序相同,都是:1→2→3→4(按從高到低的次序)。則其屏蔽碼為:中斷系統(tǒng)中斷服務(wù)程序級(jí)別中斷級(jí)屏蔽位1級(jí)2級(jí)3級(jí)4級(jí)第1級(jí)第2級(jí)第3級(jí)第4級(jí)1000110011101111中斷級(jí)屏蔽碼舉例中斷系統(tǒng)

如果按時(shí)間先后次序,依次發(fā)生了第②③級(jí)中斷請(qǐng)求(同時(shí))、第④級(jí)中斷請(qǐng)求、第①②級(jí)中斷請(qǐng)求(同時(shí)),則CPU響應(yīng)并處理這些中斷請(qǐng)求的過(guò)程:中斷系統(tǒng)中斷處理次序?yàn)?→2→3→4的情況中斷系統(tǒng)修改屏蔽碼,改變對(duì)中斷的處理次序。對(duì)于上述例子,如果想把中斷的處理次序改為:1→4→3→2,那么,只需由操作系統(tǒng)將各中斷級(jí)的屏蔽碼改為:中斷服務(wù)程序級(jí)別中斷級(jí)屏蔽位1級(jí)2級(jí)3級(jí)4級(jí)第1級(jí)第2級(jí)第3級(jí)第4級(jí)1000111110111001中斷系統(tǒng)

假設(shè)在執(zhí)行用戶程序的過(guò)程中,同時(shí)發(fā)生了①②③④級(jí)中斷請(qǐng)求,則對(duì)這些請(qǐng)求的響應(yīng)和處理過(guò)程:

中斷處理次序?yàn)?→4→3→2的情況

程序中斷方式的基本接口BS:工作標(biāo)志觸發(fā)器為“1”表示設(shè)備正在工作。RD:準(zhǔn)備就緒觸發(fā)器。該觸發(fā)器用做中斷源觸發(fā)器。IM:中斷屏蔽觸發(fā)器“1”:表示屏蔽“0”:表示開放10.5程序中斷I/O控制方式程序中斷I/O控制方式程序中斷方式的接口

程序中斷I/O控制方式圖中,①~⑨表示在程序中斷方式下,從外設(shè)輸入一個(gè)數(shù)據(jù)的工作過(guò)程。CPU向該外設(shè)接口發(fā)ST信號(hào),把該外設(shè)接口中的BS置“1”,把RD置“0”。接口向外設(shè)發(fā)出啟動(dòng)信號(hào)。外設(shè)將數(shù)據(jù)傳送到數(shù)據(jù)緩沖寄存器。設(shè)備動(dòng)作完成,向接口發(fā)一控制信號(hào),將RD置“1”。IM為“0”時(shí),接口向CPU發(fā)出中斷請(qǐng)求信號(hào)IR。程序中斷I/O控制方式CPU在當(dāng)前指令執(zhí)行完后,若沒(méi)有更高優(yōu)先級(jí)的中斷請(qǐng)求,則向外設(shè)發(fā)出中斷響應(yīng)信號(hào)INTA,同時(shí)關(guān)中斷。根據(jù)本接口回送給CPU的中斷向量,CPU轉(zhuǎn)向該外設(shè)的中斷服務(wù)程序。中斷服務(wù)程序把接口中數(shù)據(jù)緩沖寄存器中的數(shù)據(jù)讀至CPU中的寄存器。CPU向外設(shè)接口發(fā)控制信號(hào)CLR,將接口中的BS和RD標(biāo)志復(fù)位。DMA(DirectMemoryAccess)是一種完全由硬件實(shí)現(xiàn)I/O數(shù)據(jù)傳送的工作方式。它在外設(shè)和主存之間開辟一條直接的數(shù)據(jù)通路,使得外設(shè)能直接與主存進(jìn)行數(shù)據(jù)交換,而不必經(jīng)過(guò)CPU。主要優(yōu)點(diǎn):速度快。能滿足高速I/O設(shè)備的要求,也有利于CPU效率的發(fā)揮。10.6直接存儲(chǔ)器訪問(wèn)DMA方式10.6.1DMA的基本概念直接存儲(chǔ)器訪問(wèn)DMA方式CPU暫停方式當(dāng)外設(shè)要求傳送一批數(shù)據(jù)時(shí),DMA控制器(DMAC)發(fā)一個(gè)信號(hào)給CPU,請(qǐng)求CPU讓出其對(duì)地址總線、數(shù)據(jù)總線及有關(guān)控制線的使用權(quán)。DMAC獲得總線控制權(quán)后,開始數(shù)據(jù)傳送。當(dāng)這批數(shù)據(jù)傳送完后,DMAC把總線控制權(quán)交還給CPU。優(yōu)點(diǎn):控制簡(jiǎn)單10.6.2DMA的傳送方式直接存儲(chǔ)器訪問(wèn)DMA方式缺點(diǎn):在DMA傳送期間,主存不是充分忙碌的,浪費(fèi)了存儲(chǔ)器的部分帶寬。解決辦法:在DMAC接口中設(shè)置一個(gè)速度較快的數(shù)據(jù)緩沖器,外設(shè)先與該緩沖器交換數(shù)據(jù),然后該緩沖器再與主存交換數(shù)據(jù)(輸入的情況),或者反之(輸出)。

周期挪用方式(周期竊取方式)當(dāng)外設(shè)需要使用系統(tǒng)總線傳送數(shù)據(jù)時(shí),CPU盡早地設(shè)法挪出一個(gè)總線周期給DMAC使用。DMAC傳輸完一個(gè)數(shù)據(jù)后,就立即把總線交還給CPU。有3種情況直接存儲(chǔ)器訪問(wèn)DMA方式當(dāng)DMA要求訪存時(shí),CPU正在執(zhí)行的指令也要求訪存,即產(chǎn)生了訪存沖突。

DMA的優(yōu)先權(quán)高于CPU。當(dāng)DMA要求訪存時(shí),CPU不需要訪存,那么這時(shí)DMA挪用1~2個(gè)存儲(chǔ)周期對(duì)CPU執(zhí)行程序沒(méi)有影響。當(dāng)DMA要求訪存時(shí),CPU正在訪存,此時(shí)須等待CPU訪存結(jié)束,DMA才能占用總線訪存。交替訪存方式(透明的DMA)按事先約定的規(guī)則讓CPU和DMAC在時(shí)間上錯(cuò)開輪流地使用總線,不需要總線使用權(quán)的申請(qǐng)、建立和歸還過(guò)程。直接存儲(chǔ)器訪問(wèn)DMA方式DMA控制器的基本組成寄存器DMA控制邏輯中斷控制邏輯寄存器主存地址寄存器MAR:存放當(dāng)前數(shù)據(jù)交換的主存地址。字?jǐn)?shù)計(jì)數(shù)器WCT:記錄已完成傳送的數(shù)據(jù)的個(gè)數(shù)。10.6.3DMA控制器的組成直接存儲(chǔ)器訪問(wèn)DMA方式直接存儲(chǔ)器訪問(wèn)DMA方式數(shù)據(jù)緩沖寄存器DBR:用來(lái)暫存當(dāng)前傳送的數(shù)據(jù)??刂茽顟B(tài)寄存器CSR:存放控制字和狀態(tài)字。設(shè)備地址寄存器DAR:存放外設(shè)的設(shè)備碼或者表示設(shè)備內(nèi)部地址的信息。DMA控制邏輯負(fù)責(zé)管理DMA的數(shù)據(jù)傳送過(guò)程,包括:DMA的預(yù)處理接收設(shè)備控制器送來(lái)的DMA請(qǐng)求信號(hào)向設(shè)備控制器回答DMA允許信號(hào)向系統(tǒng)申請(qǐng)總線以及控制總線實(shí)現(xiàn)DMA傳送控制等直接存儲(chǔ)器訪問(wèn)DMA方式中斷控制邏輯DMA中斷控制邏輯負(fù)責(zé)在DMA完成后向CPU發(fā)出中斷請(qǐng)求,申請(qǐng)CPU進(jìn)行后處理和進(jìn)行下一次DMA傳送的預(yù)處理(如果需要的話)。數(shù)據(jù)線、地址線和控制信號(hào)線直接存儲(chǔ)器訪問(wèn)DMA方式DMA的數(shù)據(jù)傳送過(guò)程可以分為3個(gè)階段:DMA傳送前預(yù)處理數(shù)據(jù)傳送傳送后處理

10.6.4DMA的數(shù)據(jù)傳送過(guò)程10.7通道方式10.7.1通道的作用和功能程序控制、中斷和DMA方式管理外圍設(shè)備會(huì)引起兩個(gè)問(wèn)題:所有外設(shè)的輸入/輸出工作均由CPU承擔(dān),CPU的計(jì)算工作經(jīng)常被打斷而去處理輸入/輸出的事務(wù),不能充分發(fā)揮CPU的計(jì)算能力。大型計(jì)算機(jī)系統(tǒng)的外設(shè)雖然很多,但同時(shí)工作的機(jī)會(huì)不是很多。解決上述問(wèn)題的方法:采用通道處理機(jī)

通道方式通道處理機(jī)能夠負(fù)擔(dān)外圍設(shè)備的大部分I/O工作。通道處理機(jī)(簡(jiǎn)稱通道):專門負(fù)責(zé)整個(gè)計(jì)算機(jī)系統(tǒng)的輸入/輸出工作。通道處理機(jī)只能執(zhí)行有限的一組輸入/輸出指令。通道方式一個(gè)典型的由CPU、通道、設(shè)備控制器、外設(shè)構(gòu)成的4級(jí)層次結(jié)構(gòu)的輸入/輸出系統(tǒng)。通道的功能接收CPU發(fā)來(lái)的I/O指令,并根據(jù)指令要求選擇指定的外設(shè)與通道相連接。執(zhí)行通道程序從主存中逐條取出通道指令,對(duì)通道指令進(jìn)行譯碼,并根據(jù)需要向被選中的設(shè)備控制器發(fā)出各種操作命令。給出外設(shè)中要進(jìn)行讀/寫操作的數(shù)據(jù)所在的地址如磁盤存儲(chǔ)器的柱面號(hào)、磁頭號(hào)、扇區(qū)號(hào)等。通道方式給出主存緩沖區(qū)的首地址該緩沖區(qū)存放從外設(shè)輸入的數(shù)據(jù)或者將要輸出到外設(shè)中去的數(shù)據(jù)??刂仆庠O(shè)與主存緩沖區(qū)之間的數(shù)據(jù)傳送的長(zhǎng)度對(duì)傳送的數(shù)據(jù)個(gè)數(shù)進(jìn)行計(jì)數(shù),并判斷數(shù)據(jù)傳送是否結(jié)束。指定傳送工作結(jié)束時(shí)要進(jìn)行的操作例如:將外設(shè)的中斷請(qǐng)求及通道的中斷請(qǐng)求送往CPU等。檢查外設(shè)的工作狀態(tài)是否正常,并將該狀態(tài)信息送往主存指定單元保存。在數(shù)據(jù)傳輸過(guò)程中完成必要的格式變換例如:把字拆分為字節(jié),或者把字節(jié)裝配成字等。通道方式通道的主要硬件寄存器數(shù)據(jù)緩沖寄存器主存地址計(jì)數(shù)器傳輸字節(jié)數(shù)計(jì)數(shù)器通道命令字寄存器通道狀態(tài)字寄存器控制邏輯分時(shí)控制地址分配數(shù)據(jù)傳送、裝配和拆分等通道方式通道對(duì)外設(shè)的控制通過(guò)輸入/輸出接口和設(shè)備控制器進(jìn)行通道與設(shè)備控制器之間一般采用標(biāo)準(zhǔn)的輸入/輸出接口來(lái)連接。通道通過(guò)標(biāo)準(zhǔn)接口把操作命令送到設(shè)備控制器,設(shè)備控制器解釋并執(zhí)行這些通道命令,完成命令指定的操作。設(shè)備控制器能夠記錄外設(shè)的狀態(tài),并把狀態(tài)信息送往通道和CPU。通道方式通道完成一次數(shù)據(jù)輸入/輸出的工作過(guò)程在用戶程序中使用訪管指令進(jìn)入管理程序,由管理程序生成一個(gè)通道程序,并啟動(dòng)通道。用戶在目標(biāo)程序中設(shè)置一條廣義指令,通過(guò)調(diào)用操作系統(tǒng)的管理程序來(lái)實(shí)現(xiàn)。管理程序根據(jù)廣義指令提供的參數(shù)來(lái)編制通道程序。啟動(dòng)輸入/輸出設(shè)備指令是一條主要的輸入/輸出指令,屬于特權(quán)指令。10.7.2通道的工作過(guò)程通道方式通道方式通道處理機(jī)執(zhí)行通道程序,完成指定的數(shù)據(jù)輸入/輸出工作。通道處理機(jī)執(zhí)行通道程序與CPU執(zhí)行用戶程序是并行的。通道程序結(jié)束后向CPU發(fā)中斷請(qǐng)求?!皢?dòng)I/O設(shè)備”指令的工作過(guò)程

通道方式CPU執(zhí)行程序和通道執(zhí)行通道程序的時(shí)間關(guān)系通道方式根據(jù)信息傳送方式的不同,將通道分為三種類型字節(jié)多路通道選擇通道數(shù)組多路通道三種類型的通道與CPU、設(shè)備控制器和外設(shè)的連接關(guān)系10.7.3通道的種類通道方式通道方式字節(jié)多路通道為多臺(tái)低速或中速的外設(shè)服務(wù)。以字節(jié)交叉的方式分時(shí)輪流地為它們服務(wù)。字節(jié)多路通道可以包含多個(gè)子通道,每個(gè)子通道連接一臺(tái)設(shè)備控

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論