第9章輸入輸出系統_第1頁
第9章輸入輸出系統_第2頁
第9章輸入輸出系統_第3頁
第9章輸入輸出系統_第4頁
第9章輸入輸出系統_第5頁
已閱讀5頁,還剩120頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院第第9章章輸入輸出輸入輸出系統系統 計算機組成原理計算機組成原理第第9章章 計算機的輸入輸出系統是整個計計算機的輸入輸出系統是整個計算機系統中最具有多樣性和復雜性的算機系統中最具有多樣性和復雜性的部分,本章首先介紹主機與外設之間部分,本章首先介紹主機與外設之間的連接問題,接著重點介紹程序查詢的連接問題,接著重點介紹程序查詢方式、程序中斷方式、方式、程序中斷方式、DMA方式和通方式和通道方式。道方式。北京理工大學計算機學院北京理工大學計算機學院計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院第第9章章

2、9.1 主機與外設的連接主機與外設的連接9.2 程序查詢方式及其接口程序查詢方式及其接口9.3 中斷系統和程序中斷方式中斷系統和程序中斷方式9.4 DMA方式及其接口方式及其接口9.5 通道控制方式通道控制方式計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院9.1 主機與外設的連接主機與外設的連接9.1.1 輸入輸出接口輸入輸出接口 主機和外設的連接方式有輻射型連接、主機和外設的連接方式有輻射型連接、總線型連接等。輸入總線型連接等。輸入/輸出接口(輸出接口(I/O接口)接口)是主機和外設之間的交接界面,通過接口是主機和外設之間的交接界面,通過接口可以實現主機和外設之間的

3、信息交換。可以實現主機和外設之間的信息交換。 主機和外設各自具有自己的工作特點,主機和外設各自具有自己的工作特點,它們在信息形式和工作速度上具有很大的它們在信息形式和工作速度上具有很大的差異,接口正是為了解決這些差異而設置差異,接口正是為了解決這些差異而設置的。的。 計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院9.1 主機與外設的連接主機與外設的連接 主機和外設之間需要交換的信息主機和外設之間需要交換的信息有:有:1. 數據信息數據信息 這類信息可以是通過輸入設備送到計這類信息可以是通過輸入設備送到計算機的輸入數據,也可以是經過計算機運算算機的輸入數據,也可以是經過

4、計算機運算處理和加工后,送到輸出設備的結果數據。處理和加工后,送到輸出設備的結果數據。傳送可以是并行的,也可以是串行的。傳送可以是并行的,也可以是串行的。2. 控制信息控制信息 這是這是CPU對外設的控制信息或管理命對外設的控制信息或管理命令,如外設的啟動和停止控制、令,如外設的啟動和停止控制、 輸入或輸輸入或輸出操作的指定、工作方式的選擇、中斷功能出操作的指定、工作方式的選擇、中斷功能的允許和禁止等。的允許和禁止等。計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院9.1 主機與外設的連接主機與外設的連接3. 狀態信息狀態信息 這類信息用來標志外設的工作狀態,這類信息用

5、來標志外設的工作狀態,比如,輸入設備數據準備好標志,輸出設備比如,輸入設備數據準備好標志,輸出設備忙閑標志等。忙閑標志等。CPU在必要時可通過對它的查在必要時可通過對它的查詢來決定下一步的操作。詢來決定下一步的操作。4. 聯絡信息聯絡信息 這是主機和外設間工作的時間配合信這是主機和外設間工作的時間配合信息,它與主機和外設間的信息交換方式密切息,它與主機和外設間的信息交換方式密切相關。通過聯絡信息可以決定不同工作速度相關。通過聯絡信息可以決定不同工作速度的外設和主機之間交換信息的最佳時刻,以的外設和主機之間交換信息的最佳時刻,以保證整個計算機系統能統一協調地工作。保證整個計算機系統能統一協調地工

6、作。計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院9.1 主機與外設的連接主機與外設的連接5. 外設識別信息外設識別信息 這是這是I/O尋址的信息,使尋址的信息,使CPU能從眾能從眾多的外設中尋找出與自己進行信息交換的多的外設中尋找出與自己進行信息交換的唯唯一外部設備。一外部設備。計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院9.1 主機與外設的連接主機與外設的連接9.1.2 接口的功能和基本組成接口的功能和基本組成1.接口的功能接口的功能(1) 實現主機和外設的通信聯絡控制實現主機和外設的通信聯絡控制 接口中的同步控制電路用來解決主機接口中

7、的同步控制電路用來解決主機與外設的時間配合問題。與外設的時間配合問題。(2) 進行地址譯碼和設備選擇進行地址譯碼和設備選擇 當當CPU送來選擇外設的地址碼后,接送來選擇外設的地址碼后,接口必須對地址進行譯碼以產生設備選擇信口必須對地址進行譯碼以產生設備選擇信息,使主機能和指定外設交換信息。息,使主機能和指定外設交換信息。計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院9.1 主機與外設的連接主機與外設的連接(3) 實現數據緩沖實現數據緩沖 在接口電路中,一般設置有一個或幾在接口電路中,一般設置有一個或幾個數據緩沖寄存器,用于數據的暫存,以個數據緩沖寄存器,用于數據的暫存

8、,以避免因速度不一致而丟失數據。避免因速度不一致而丟失數據。在傳送過在傳送過程中,先將數據送入數據緩沖寄存器中,程中,先將數據送入數據緩沖寄存器中,然后再送到輸出設備或主機中去。然后再送到輸出設備或主機中去。(4) 數據格式的變換數據格式的變換 在輸入或輸出操作過程中,為了滿足在輸入或輸出操作過程中,為了滿足主機或外設的各自要求,接口電路中必須主機或外設的各自要求,接口電路中必須具有完成各類數據相互轉換的功能。具有完成各類數據相互轉換的功能。計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院9.1 主機與外設的連接主機與外設的連接(5) 傳遞控制命令和狀態信息傳遞控制命令

9、和狀態信息 當當CPU要啟動某一外設時,通過接口要啟動某一外設時,通過接口中的控制命令寄存器向外設發出啟動命令;中的控制命令寄存器向外設發出啟動命令;當外設準備就緒時,則有狀態信息送回接當外設準備就緒時,則有狀態信息送回接口中的狀態寄存器,為口中的狀態寄存器,為CPU 提供反饋信息,提供反饋信息,告訴告訴CPU,I/O設備已經具備和設備已經具備和CPU交換數交換數據的條件。當外設向據的條件。當外設向CPU提出中斷請求和提出中斷請求和DMA請求時,請求時,CPU也有相應的響應信號反也有相應的響應信號反饋給外設。饋給外設。計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院9.

10、1 主機與外設的連接主機與外設的連接2. 接口的基本組成接口的基本組成 接口中要分別傳送數據信息、控制信接口中要分別傳送數據信息、控制信息和狀態信息,息和狀態信息,數據信息、控制信息和狀態數據信息、控制信息和狀態信息都通過數據總線來傳送。信息都通過數據總線來傳送。大多數計算機大多數計算機都把都把I/O設備的狀態信息視為輸入數據,而設備的狀態信息視為輸入數據,而把控制信息看成輸出數據,并在接口中分設把控制信息看成輸出數據,并在接口中分設各自相應的寄存器,賦以不同的端口地址,各自相應的寄存器,賦以不同的端口地址,各種信息分時地使用數據總線傳送到各自的各種信息分時地使用數據總線傳送到各自的寄存器中。

11、寄存器中。計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院9.1 主機與外設的連接主機與外設的連接主主機機外設識別外設識別數據數據/命令命令/狀態狀態控制電路控制電路地址信息地址信息控制聯絡控制聯絡信息信息數據數據(并并)外設外設控制聯絡控制聯絡數據數據(并并/串串)接口接口計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院9.1 主機與外設的連接主機與外設的連接 接口與端口是兩個不同的概念。接口與端口是兩個不同的概念。端口端口是指接口電路中可以進行讀是指接口電路中可以進行讀/寫的寄存器寫的寄存器,若干個端口加上相應的控制邏輯電路才組成若干個端口加

12、上相應的控制邏輯電路才組成接口。接口。計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院9.1 主機與外設的連接主機與外設的連接 通常,一個接口中包含有數據端口、通常,一個接口中包含有數據端口、控制端口和狀態端口。存放數據信息的寄控制端口和狀態端口。存放數據信息的寄存器稱為數據端口,存放控制命令的端口存器稱為數據端口,存放控制命令的端口稱為命令端口,存放狀態信息的寄存器稱稱為命令端口,存放狀態信息的寄存器稱為狀態端口。為狀態端口。CPU通過輸入指令可以從有通過輸入指令可以從有關端口中讀出信息,通過輸出指令可以把關端口中讀出信息,通過輸出指令可以把信息寫入有關端口。信息寫入

13、有關端口。對狀態端口只進行輸對狀態端口只進行輸入操作入操作,將設備狀態標志送到,將設備狀態標志送到CPU 中去;中去;對命令端口只進行輸出操作對命令端口只進行輸出操作,CPU將向外將向外設發送各種控制命令。因此,在有的接口設發送各種控制命令。因此,在有的接口電路中狀態信息和控制信息共用一個寄存電路中狀態信息和控制信息共用一個寄存器,稱之為設備的控制狀態寄存器。器,稱之為設備的控制狀態寄存器。 計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院9.1 主機與外設的連接主機與外設的連接3. 接口的類型接口的類型(1) 按數據傳送方式分類按數據傳送方式分類 有串行接口和并行接口

14、。有串行接口和并行接口。這里所說的這里所說的數據傳送方式指的是外設和接口一側的傳數據傳送方式指的是外設和接口一側的傳送方式,而在主機和接口一側,數據總是送方式,而在主機和接口一側,數據總是并行傳送的。并行傳送的。 (2) 按主機訪問按主機訪問I/O設備的控制方式分類設備的控制方式分類 可分為程序查詢式接口、中斷接口、可分為程序查詢式接口、中斷接口、DMA接口接口等等。(3) 按功能選擇的靈活性分類按功能選擇的靈活性分類 有可編程接口和不可編程接口。有可編程接口和不可編程接口。計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院9.1 主機與外設的連接主機與外設的連接(4)

15、按通用性分類按通用性分類 有通用接口和專用接口。有通用接口和專用接口。 (5) 按輸入按輸入/輸出的信號分類輸出的信號分類 有數字接口和模擬接口。有數字接口和模擬接口。(6) 按應用來分類按應用來分類 運行輔助接口。運行輔助接口。 用戶交互接口。用戶交互接口。 傳感接口。傳感接口。 控制接口??刂平涌凇S嬎銠C組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院9.1 主機與外設的連接主機與外設的連接9.1.3 外設的識別與端口尋址外設的識別與端口尋址 外設識別是通過地址總線和接口電路外設識別是通過地址總線和接口電路中的外設識別電路來實現的,中的外設識別電路來實現的,I/O端口地址

16、端口地址就是主機與外設直接通信的地址,就是主機與外設直接通信的地址,CPU可可以通過端口發送命令、讀取狀態和傳送數據。以通過端口發送命令、讀取狀態和傳送數據。1.端口地址編址方式端口地址編址方式 I/O端口編址方式有兩種:一種是端口編址方式有兩種:一種是I/O映射方式,即把映射方式,即把I/O端口地址與主存單元地端口地址與主存單元地址分別進行獨立的編址;另一種是存儲器映址分別進行獨立的編址;另一種是存儲器映射方式,即把端口地址與主存單元地址統一射方式,即把端口地址與主存單元地址統一編址。編址。計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院9.1 主機與外設的連接主機與

17、外設的連接(1)獨立編址獨立編址 主存地址空間和主存地址空間和I/O端口地址空間是相對端口地址空間是相對獨立的,分別單獨編址。比如,在獨立的,分別單獨編址。比如,在8086中,中,其主存地址范圍是從其主存地址范圍是從00000HFFFFFH連續連續的的1MB,其,其I/O端口的地址范圍從端口的地址范圍從0000HFFFFH,它們互相獨立,互不影響。,它們互相獨立,互不影響。CPU訪訪問主存時,由主存讀問主存時,由主存讀/寫控制線控制;訪問外寫控制線控制;訪問外設時,由設時,由I/O讀讀/寫控制線控制,所以在指令系寫控制線控制,所以在指令系統中必須統中必須設置專門的設置專門的I/O指令指令。當。

18、當CPU使用使用I/O指令時,其指令的地址字段直接或間接的指令時,其指令的地址字段直接或間接的指示出端口地址。指示出端口地址。計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院9.1 主機與外設的連接主機與外設的連接(2) 統一編址統一編址 I/O端口地址和主存單元的地址是統一端口地址和主存單元的地址是統一編址的,把編址的,把I/O接口中的端口作為主存單元接口中的端口作為主存單元一樣進行訪問,一樣進行訪問,不設置專門的不設置專門的I/O指令指令。 每個外設至少有兩個寄存器:控制狀每個外設至少有兩個寄存器:控制狀態寄存器和數據緩沖寄存器,外設寄存器態寄存器和數據緩沖寄存器,

19、外設寄存器的地址碼是連續的。在的地址碼是連續的。在PDP-11中,把主存中,把主存的高的高4KB地址空間留給外設接口寄存器和地址空間留給外設接口寄存器和CPU內部寄存器使用,這內部寄存器使用,這4KB存儲空間不存儲空間不允許用戶再存放其他內容。允許用戶再存放其他內容。 計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院9.1 主機與外設的連接主機與外設的連接2.獨立編址方式的端口訪問獨立編址方式的端口訪問 Intel 80 x86最多可直接尋址最多可直接尋址256個個字節字節端口端口,可間接尋址,可間接尋址65536 個個字節端口字節端口。 任意兩個連續的任意兩個連續的8

20、位端口可作為位端口可作為16位位端口處理;四個連續的端口處理;四個連續的8位端口可作為位端口可作為32位位端口處理。因此,端口處理。因此,I/O地址空間最多能提供地址空間最多能提供64K個個8位端口、位端口、32K個個16位端口、位端口、16K個個32位端口或總容量不超過位端口或總容量不超過64KB的不同端口的不同端口的組合。的組合。計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院9.1 主機與外設的連接主機與外設的連接 80 x86的專用的專用I/O指令指令IN和和OUT有直接有直接尋址和間接尋址兩種類型。直接尋址尋址和間接尋址兩種類型。直接尋址I/O端端口的尋址范圍

21、為口的尋址范圍為00FFH,至多為,至多為256個端個端口地址。這時程序可以指定:口地址。這時程序可以指定: 編號編號0到到255的的256個個8位端口;位端口; 編號編號0、2、4 252、254的的128個個16位位端口;端口; 編號編號0、4、8 248、252的的64個個32位端位端口。口。計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院9.1 主機與外設的連接主機與外設的連接 間接尋址由間接尋址由DX寄存器間接給出寄存器間接給出I/O端端口地址??诘刂?。DX寄存器長寄存器長16位,位,尋址范圍為尋址范圍為0000FFFFH,最多可,最多可尋址尋址216=64K

22、個端口個端口地址,這時程序可指定:地址,這時程序可指定: 編號編號0到到65535的的65536個個8位端口;位端口; 編號編號0、2、4 65532、65534的的32768個個16位端口;位端口; 編號編號0、4、8 65528、65532的的16384個個32位端口。位端口。計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院9.1 主機與外設的連接主機與外設的連接 CPU一次可實現字節(一次可實現字節(8位)、字位)、字(16位)或雙字(位)或雙字(32位)的數據傳送,與位)的數據傳送,與存儲器中的雙字一樣。存儲器中的雙字一樣。32位端口應對準可位端口應對準可被被4

23、整除的偶地址,與存儲器中的字一樣,整除的偶地址,與存儲器中的字一樣,16位端口應對準偶地址,位端口應對準偶地址,8位端口可定位在位端口可定位在偶地址,也可定位在奇地址。偶地址,也可定位在奇地址。計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院 9.1 主機與外設的連接主機與外設的連接9.1.4 輸入輸入/輸出信息傳送控制方式輸出信息傳送控制方式 主機和外設之間的信息傳送控制方式,主機和外設之間的信息傳送控制方式,經歷了由低級到高級、由簡單到復雜、由集經歷了由低級到高級、由簡單到復雜、由集中管理到各部件分散管理的發展過程,按其中管理到各部件分散管理的發展過程,按其發展的先

24、后次序和主機與外設并行工作的程發展的先后次序和主機與外設并行工作的程度,可以分為四種。度,可以分為四種。計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院 9.1 主機與外設的連接主機與外設的連接1. 程序查詢方式程序查詢方式 程序查詢方式是一種程序直接控制方程序查詢方式是一種程序直接控制方式,這是主機與外設間進行信息交換的最簡式,這是主機與外設間進行信息交換的最簡單方式,輸入和輸出完全是通過單方式,輸入和輸出完全是通過CPU執行執行程序來完成的。程序來完成的。 這種方式控制簡單,但外設和主機不這種方式控制簡單,但外設和主機不能同時工作,各外設之間也不能同時工作,能同時工

25、作,各外設之間也不能同時工作,系統效率很低,因此,僅適用于外設的數目系統效率很低,因此,僅適用于外設的數目不多,對不多,對I/O處理的實時要求不那么高,處理的實時要求不那么高,CPU的操作任務比較單一,并不很忙的情的操作任務比較單一,并不很忙的情況。況。計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院9.1 主機與外設的連接主機與外設的連接2. 程序中斷方式程序中斷方式 外設在作好輸入外設在作好輸入/輸出準備時,向主機輸出準備時,向主機發中斷請求,主機接到請求后就暫時中止原發中斷請求,主機接到請求后就暫時中止原來執行的程序,轉去執行中斷服務程序對外來執行的程序,轉去執行

26、中斷服務程序對外部請求進行處理,在中斷處理完畢后返回原部請求進行處理,在中斷處理完畢后返回原來的程序繼續執行。來的程序繼續執行。 程序中斷不僅允許主機和外設同時并程序中斷不僅允許主機和外設同時并行工作,并且允許一臺主機管理多臺外設。行工作,并且允許一臺主機管理多臺外設。但是完成一次程序中斷需要許多輔助操作,但是完成一次程序中斷需要許多輔助操作,可能使可能使CPU應接不暇;對于一些高速外設,應接不暇;對于一些高速外設,可能會造成信息丟失,因此,它主要適用于可能會造成信息丟失,因此,它主要適用于中、低速外設。中、低速外設。 計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院9

27、.1 主機與外設的連接主機與外設的連接3. 直接存儲器存?。ㄖ苯哟鎯ζ鞔嫒。―MA)方式)方式 DMA方式是在主存儲器和外部設備之方式是在主存儲器和外部設備之間開辟直接的數據通路,可以進行基本上不間開辟直接的數據通路,可以進行基本上不需要需要CPU介入的主存和外設之間的信息傳介入的主存和外設之間的信息傳送,這樣不僅能保證送,這樣不僅能保證CPU的高效率,而且的高效率,而且能滿足高速外設的需要。能滿足高速外設的需要。 DMA方式只能進行簡單的數據傳送操方式只能進行簡單的數據傳送操作,在數據塊傳送的起始和結束時還需作,在數據塊傳送的起始和結束時還需CPU及中斷系統進行預處理和后處理。及中斷系統進行

28、預處理和后處理。 計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院9.1 主機與外設的連接主機與外設的連接4. I/O通道控制方式通道控制方式 通道是一個具有特殊功能的處理器,通道是一個具有特殊功能的處理器,它能獨立地執行通道程序,產生相應的控它能獨立地執行通道程序,產生相應的控制信號,實現對外設的統一管理和外設與制信號,實現對外設的統一管理和外設與主存之間的數據傳送。但它不是一個完全主存之間的數據傳送。但它不是一個完全獨立的處理機,它要在獨立的處理機,它要在CPU的的I/O指令指揮指令指揮下才能啟動、停止或改變工作狀態,是從下才能啟動、停止或改變工作狀態,是從屬于屬于

29、CPU的一個專用處理器。的一個專用處理器。 一個通道執行輸入一個通道執行輸入/輸出過程全部由通輸出過程全部由通道按照通道程序自行處理,不論交換信息道按照通道程序自行處理,不論交換信息多少,只打擾多少,只打擾CPU兩次(啟動和停止時)。兩次(啟動和停止時)。計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院第第9章章9.1 主機與外設的連接主機與外設的連接9.2 程序查詢方式及其接口程序查詢方式及其接口9.3 中斷系統和程序中斷方式中斷系統和程序中斷方式9.4 DMA方式及其接口方式及其接口9.5 通道控制方式通道控制方式計算機組成原理計算機組成原理北京理工大學計算機學院北

30、京理工大學計算機學院9.2 程序查詢方式及其接口程序查詢方式及其接口9.2.1 程序查詢方式程序查詢方式1. 程序查詢的基本思想程序查詢的基本思想 由由CPU執行一段輸入、輸出程序來實執行一段輸入、輸出程序來實現主存與外設之間的數據傳送方式,叫做程現主存與外設之間的數據傳送方式,叫做程序直接控制方式。根據外設的不同性質,這序直接控制方式。根據外設的不同性質,這種傳送方式又可分為無條件傳送和程序查詢種傳送方式又可分為無條件傳送和程序查詢方式兩種。方式兩種。 在無條件傳送方式中,在無條件傳送方式中,I/O接口總是準接口總是準備好接收主機的輸出數據,或總是準備好向備好接收主機的輸出數據,或總是準備好

31、向主機輸入的數據,因而主機輸入的數據,因而CPU無需查詢外設無需查詢外設的工作狀態,而默認外設始終處于準備就緒的工作狀態,而默認外設始終處于準備就緒狀態。狀態。計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院9.2 程序查詢方式及其接口程序查詢方式及其接口 許多外設的工作狀態是很難事先預知許多外設的工作狀態是很難事先預知的,為了保證數據傳送的正確進行,就要的,為了保證數據傳送的正確進行,就要求求CPU在程序中查詢外設的工作狀態,如在程序中查詢外設的工作狀態,如果外設尚未準備就緒,果外設尚未準備就緒,CPU就等待,只有就等待,只有外設已作好準備,外設已作好準備,CPU才能

32、執行才能執行I/O指令,指令,這就是程序查詢方式。這就是程序查詢方式。計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院9.2 程序查詢方式及其接口程序查詢方式及其接口2. 程序查詢方式的工作流程程序查詢方式的工作流程(1) 預置傳送參數預置傳送參數 在傳送數據之前,由在傳送數據之前,由CPU執行一段程執行一段程序,預置傳送參數。傳送參數包括存取數序,預置傳送參數。傳送參數包括存取數據的主存緩沖區首地址和傳送數據的個數。據的主存緩沖區首地址和傳送數據的個數。(2) 向向I/O接口發命令字接口發命令字 當當CPU選中某臺外設時,執行輸出指選中某臺外設時,執行輸出指令向令向I

33、/O接口發出命令字,啟動外設,為接接口發出命令字,啟動外設,為接收數據或發送數據的操作做準備。收數據或發送數據的操作做準備。計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院9.2 程序查詢方式及其接口程序查詢方式及其接口(3) 從從I/O接口取回狀態字接口取回狀態字 CPU執行輸入指令,從執行輸入指令,從I/O接口中取回接口中取回狀態字并進行測試,判斷數據傳送是否可以狀態字并進行測試,判斷數據傳送是否可以進行。進行。(4) 查詢外設標志查詢外設標志 CPU不斷查詢狀態標志,如果外設沒不斷查詢狀態標志,如果外設沒有準備就緒,有準備就緒,CPU就踏步進行等待,一直到就踏步進

34、行等待,一直到這個外設準備就緒,并發出這個外設準備就緒,并發出“準備就緒準備就緒”信信號為止。號為止。計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院9.2 程序查詢方式及其接口程序查詢方式及其接口(5) 傳送數據傳送數據 只有外設準備好,才能實現主機與外只有外設準備好,才能實現主機與外設間的一次數據傳送。輸入時,設間的一次數據傳送。輸入時,CPU執行執行輸入指令,從輸入指令,從I/O接口的數據緩沖寄存器中接口的數據緩沖寄存器中接收數據;輸出時,接收數據;輸出時,CPU執行輸出指令,執行輸出指令,將數據寫入將數據寫入I/O接口的數據緩沖寄存器。接口的數據緩沖寄存器。(6

35、) 修改傳送參數修改傳送參數 每進行一次數據傳送,需要修改傳送每進行一次數據傳送,需要修改傳送參數,其中包括主存緩沖區地址加參數,其中包括主存緩沖區地址加1,傳,傳送個數減送個數減1。計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院9.2 程序查詢方式及其接口程序查詢方式及其接口(7) 判斷傳送是否結束判斷傳送是否結束 如果傳送個數不為如果傳送個數不為0,則轉第,則轉第3步,繼步,繼續傳送,直到傳送結束為止。續傳送,直到傳送結束為止。計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院9.2 程序查詢方式及其接口程序查詢方式及其接口預置傳送參數預置傳

36、送參數啟動外設啟動外設取外設狀態取外設狀態傳送一次數據傳送一次數據修改傳送參數修改傳送參數外設準備就緒外設準備就緒?傳送完否傳送完否?YYNN結束結束輸出指令輸出指令(OUT 控制口控制口,AL)輸入輸入/輸出指令輸出指令(IN AL,數據口數據口/OUT 數據口數據口,AL)輸入指令輸入指令(IN AL,狀態口狀態口)計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院9.2 程序查詢方式及其接口程序查詢方式及其接口9.2.2 程序查詢方式接口程序查詢方式接口 最簡單、經濟的最簡單、經濟的I/O方式,只需很少的方式,只需很少的硬件。硬件。 通常接口中通常接口中至少有兩個寄

37、存器至少有兩個寄存器,一個是,一個是數據緩沖寄存器,即數據端口,用來存放與數據緩沖寄存器,即數據端口,用來存放與CPU進行傳送的數據信息,另一個是供進行傳送的數據信息,另一個是供CPU查詢的設備狀態寄存器,即狀態端口,這個查詢的設備狀態寄存器,即狀態端口,這個寄存器由多個標志位組成,其中最重要的是寄存器由多個標志位組成,其中最重要的是設備準備就緒標志。當設備準備就緒標志。當CPU得到這位信息后得到這位信息后就進行判斷,以決定下一步是繼續循環等待就進行判斷,以決定下一步是繼續循環等待還是進行還是進行I/O傳送,也有些計算機僅設置狀傳送,也有些計算機僅設置狀態標志觸發態標志觸發器,其作用與設備狀態

38、寄存器相器,其作用與設備狀態寄存器相同。同。計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院9.2 程序查詢方式及其接口程序查詢方式及其接口輸入接口輸入接口地址譯碼A7 A0D7D0_RDIO/_M輸入設備三態緩沖器(1)_EN三態緩沖器(8)_EN鎖存器(8)CPCPDQ+5VReadyIBFSTBD0R輸入輸入IBFIBFSTBSTB設備設備鎖存器鎖存器(8)(8)CPCPCPCPD DQ QReadyReadyR R三態三態緩沖器緩沖器(8)(8)_ENENCPCPD DQ QReadyReadyR R三態三態緩沖器緩沖器(1)(1)ENEN計算機組成原理計算機組

39、成原理北京理工大學計算機學院北京理工大學計算機學院第第9章章9.1 主機與外設的連接主機與外設的連接9.2 程序查詢方式及其接口程序查詢方式及其接口9.3 中斷系統和程序中斷方式中斷系統和程序中斷方式9.4 DMA方式及其接口方式及其接口9.5 通道控制方式通道控制方式計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院9.3 中斷系統和程序中斷方式中斷系統和程序中斷方式9.3.1 中斷的基本概念中斷的基本概念1.中斷的提出中斷的提出 程序查詢方式存在著下列明顯的缺點。程序查詢方式存在著下列明顯的缺點。 在查詢過程中,在查詢過程中,CPU長期處于踏步等待長期處于踏步等待狀態

40、,使系統效率大大降低。狀態,使系統效率大大降低。 CPU在一段時間內只能和一臺外設交換在一段時間內只能和一臺外設交換信息,其它設備不能同時工作。信息,其它設備不能同時工作。 不能發現和處理預先無法估計的錯誤和不能發現和處理預先無法估計的錯誤和異常情況。異常情況。計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院9.3 中斷系統和程序中斷方式中斷系統和程序中斷方式啟動啟動工作工作工作工作完成完成完成完成響應響應響應響應中斷請求中斷請求中斷請求中斷請求中斷返回中斷返回中斷返回中斷返回外部設備外部設備中斷服務程序中斷服務程序現行程序現行程序CPU計算機組成原理計算機組成原理北京

41、理工大學計算機學院北京理工大學計算機學院9.3 中斷系統和程序中斷方式中斷系統和程序中斷方式 為了提高輸入為了提高輸入/輸出能力和輸出能力和CPU的效率,的效率,50年代中期,中斷傳送方式被引進計算機系年代中期,中斷傳送方式被引進計算機系統。統。 現代計算機,無論是巨型機、大型機、現代計算機,無論是巨型機、大型機、小型機還是微型機無不具有中斷能力。小型機還是微型機無不具有中斷能力。 中斷系統是計算機實現中斷功能的軟中斷系統是計算機實現中斷功能的軟、硬件總稱。一般在、硬件總稱。一般在CPU中配置中斷機構,中配置中斷機構,在外設接口中配置中斷控制器,在軟件上設在外設接口中配置中斷控制器,在軟件上設

42、計相應的中斷服務程序。計相應的中斷服務程序。計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院9.3 中斷系統和程序中斷方式中斷系統和程序中斷方式2. 程序中斷與調用子程序的區別程序中斷與調用子程序的區別 表面上看起來,計算機的中斷處理過表面上看起來,計算機的中斷處理過程有點類似于調用子程序的過程,這里現程有點類似于調用子程序的過程,這里現行程序相當于主程序,中斷服務程序相當行程序相當于主程序,中斷服務程序相當于子程序。但是,它們之間卻是有著本質于子程序。但是,它們之間卻是有著本質上的區別的。上的區別的。計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機

43、學院9.3 中斷系統和程序中斷方式中斷系統和程序中斷方式 (1)子程序的執行是由程序員事先安排好的子程序的執行是由程序員事先安排好的(由一條調用子程序指令轉入),而中斷(由一條調用子程序指令轉入),而中斷服務程序的執行則是由隨機的中斷事件引服務程序的執行則是由隨機的中斷事件引起的;起的; (2)子程序的執行受到主程序或上層子程序子程序的執行受到主程序或上層子程序的控制,的控制, 而中斷服務程序一般與被中斷的而中斷服務程序一般與被中斷的現行程序毫無關系;現行程序毫無關系; (3)不存在同時調用多個子程序的情況,而不存在同時調用多個子程序的情況,而有可能發生多個外設同時請求有可能發生多個外設同時請

44、求CPU為自己為自己服務的情況。服務的情況。計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院9.3 中斷系統和程序中斷方式中斷系統和程序中斷方式3. 中斷的基本類型中斷的基本類型(1) 自愿中斷和強迫中斷自愿中斷和強迫中斷 自愿中斷又稱程序自中斷,它不是隨自愿中斷又稱程序自中斷,它不是隨機產生的中斷,而是在程序中安排的有關機產生的中斷,而是在程序中安排的有關指令,這些指令可以使機器進入中斷處理指令,這些指令可以使機器進入中斷處理的過程,如:指令系統中的軟件中斷指令的過程,如:指令系統中的軟件中斷指令等。等。 強迫中斷強迫中斷是隨機產生的中斷,不是程是隨機產生的中斷,不是

45、程序中事先安排好的。當這種中斷產生后,序中事先安排好的。當這種中斷產生后,由中斷系統強迫計算機中止現行程序并轉由中斷系統強迫計算機中止現行程序并轉入中斷服務程序。入中斷服務程序。計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院9.3 中斷系統和程序中斷方式中斷系統和程序中斷方式(2) 程序中斷和簡單中斷程序中斷和簡單中斷 程序中斷程序中斷就是我們前面提到的中斷,就是我們前面提到的中斷,主機在響應中斷請求后,通過執行一段中主機在響應中斷請求后,通過執行一段中斷服務程序來處理更緊迫的任務。斷服務程序來處理更緊迫的任務。 簡單中斷就是外設與主存間直接進行簡單中斷就是外設與主存

46、間直接進行信息交換的方法,即信息交換的方法,即DMA方式。這種方式。這種“中中斷斷”不去執行中斷服務程序,故不破壞現不去執行中斷服務程序,故不破壞現行程序的狀態。主機發現有簡單中斷請求行程序的狀態。主機發現有簡單中斷請求(也就是(也就是DMA請求)時,將讓出一個或幾請求)時,將讓出一個或幾個存取周期供外設與主存交換信息,然后個存取周期供外設與主存交換信息,然后繼續執行程序。繼續執行程序。計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院9.3 中斷系統和程序中斷方式中斷系統和程序中斷方式(3)內中斷和外中斷內中斷和外中斷 內中斷是指由于內中斷是指由于CPU內部硬件或軟件內

47、部硬件或軟件原因引起的中斷。原因引起的中斷。 外中斷外中斷是指是指CPU以外的部件引起的中以外的部件引起的中斷。斷。計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院9.3 中斷系統和程序中斷方式中斷系統和程序中斷方式(4) 向量中斷和非向量中斷向量中斷和非向量中斷 向量中斷向量中斷是指那些中斷服務程序的入是指那些中斷服務程序的入口地址是由中斷事件自己提供的中斷。中口地址是由中斷事件自己提供的中斷。中斷事件在提出中斷請求的同時,通過硬件斷事件在提出中斷請求的同時,通過硬件向主機提供中斷服務程序入口地址,即向向主機提供中斷服務程序入口地址,即向量地址。量地址。 非向量中斷非

48、向量中斷的中斷事件不能直接提供的中斷事件不能直接提供中斷服務程序的入口地址,而由中斷服務程序的入口地址,而由CPU 查詢查詢之后得到。之后得到。計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院9.3 中斷系統和程序中斷方式中斷系統和程序中斷方式 (5) 單重中斷和多重中斷單重中斷和多重中斷 單重中斷單重中斷在在CPU執行中斷服務程序的執行中斷服務程序的過程中不能被再打斷。過程中不能被再打斷。 多重中斷多重中斷在執行某個中斷服務程序的在執行某個中斷服務程序的過程中,過程中,CPU 可去響應級別更高的中斷請可去響應級別更高的中斷請求,又稱為中斷嵌套。求,又稱為中斷嵌套。計算

49、機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院9.3 中斷系統和程序中斷方式中斷系統和程序中斷方式9.3.2 中斷請求中斷請求和中斷判優和中斷判優1. 中斷源和中斷請求中斷源和中斷請求信號信號 中斷源是指中斷的來源,即任何引起計中斷源是指中斷的來源,即任何引起計算機中斷的事件算機中斷的事件,一般計算機都有多個中斷,一般計算機都有多個中斷源。由于每個中斷源向源。由于每個中斷源向CPU發出中斷請求的發出中斷請求的時間是隨機的,為了記錄中斷事件并區分不時間是隨機的,為了記錄中斷事件并區分不同的中斷源,可采用具有存儲功能的觸發器同的中斷源,可采用具有存儲功能的觸發器來記錄中斷源,

50、稱為中斷請求觸發器。當某來記錄中斷源,稱為中斷請求觸發器。當某一個中斷源有中斷請求時,其相應的中斷請一個中斷源有中斷請求時,其相應的中斷請求觸發器置成求觸發器置成“1”狀態,狀態,此時,該中斷源向此時,該中斷源向CPU發出中斷請求信號。發出中斷請求信號。計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院9.3 中斷系統和程序中斷方式中斷系統和程序中斷方式 多個中斷請求觸發器構成一個中斷請多個中斷請求觸發器構成一個中斷請求寄存器,其中每一位對應一個中斷源,求寄存器,其中每一位對應一個中斷源,中斷請求寄存器的內容稱為中斷字或中斷中斷請求寄存器的內容稱為中斷字或中斷碼,中斷字中

51、為碼,中斷字中為“1”的位就表示對應的中的位就表示對應的中斷源有中斷請求。斷源有中斷請求。計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院9.3 中斷系統和程序中斷方式中斷系統和程序中斷方式2. 中斷請求信號的傳送中斷請求信號的傳送(1)獨立請求線獨立請求線 每個中斷源單獨設置中斷請求線,將每個中斷源單獨設置中斷請求線,將中斷請求信號直接送往中斷請求信號直接送往CPU,這種方式的,這種方式的特點是特點是CPU在接到中斷請求的同時也就知在接到中斷請求的同時也就知道了中斷源是誰,其中斷服務程序的入口道了中斷源是誰,其中斷服務程序的入口地址在哪里。地址在哪里。計算機組成原理計

52、算機組成原理北京理工大學計算機學院北京理工大學計算機學院9.3 中斷系統和程序中斷方式中斷系統和程序中斷方式(2) 公共請求線公共請求線 多個中斷源共有一根公共請求線,這多個中斷源共有一根公共請求線,這種方式的特點是在負載允許的情況下,中種方式的特點是在負載允許的情況下,中斷源的數目可隨意擴充,但斷源的數目可隨意擴充,但CPU在接到中在接到中斷請求后,必須通過軟件或硬件的方法來斷請求后,必須通過軟件或硬件的方法來識別中斷源,然后再找出中斷服務程序的識別中斷源,然后再找出中斷服務程序的入口地址。入口地址。(3) 二維結構二維結構 將中斷請求線連成二維結構,同一優將中斷請求線連成二維結構,同一優先

53、級別的中斷源,先級別的中斷源, 采用一根公共的請求線,采用一根公共的請求線,不同請求線上的中斷源優先級別不同,這不同請求線上的中斷源優先級別不同,這種方式綜合了前兩種方式的優點,在中斷種方式綜合了前兩種方式的優點,在中斷源較多的系統中常采用這種方式。源較多的系統中常采用這種方式。計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院9.3 中斷系統和程序中斷方式中斷系統和程序中斷方式3. 中斷優先級與判優方法中斷優先級與判優方法 當多個中斷源同時發出中斷請求時,當多個中斷源同時發出中斷請求時,CPU在任何瞬間只能接受一個中斷源的請求。在任何瞬間只能接受一個中斷源的請求。通常,

54、把全部中斷源按中斷的性質和處理的通常,把全部中斷源按中斷的性質和處理的輕重緩急安排優先級,并進行排隊。輕重緩急安排優先級,并進行排隊。 確定中斷優先級的原則是:對那些提確定中斷優先級的原則是:對那些提出中斷請求后需要立刻處理,否則就會造成出中斷請求后需要立刻處理,否則就會造成嚴重后果的中斷源規定最高的優先級;而對嚴重后果的中斷源規定最高的優先級;而對那些可以延遲響應和處理的中斷源規定較低那些可以延遲響應和處理的中斷源規定較低的優先級。如故障中斷一般優先級較高,接的優先級。如故障中斷一般優先級較高,接著才是著才是I/O設備中斷。而在設備中斷。而在I/O設備中又可以設備中又可以根據各個設備的速度來

55、決定優先級。根據各個設備的速度來決定優先級。計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院9.3 中斷系統和程序中斷方式中斷系統和程序中斷方式 每個中斷源均有一個為其服務的中斷服每個中斷源均有一個為其服務的中斷服務程序,每個中斷服務程序都有與之對應的務程序,每個中斷服務程序都有與之對應的優先級別。另外,優先級別。另外,CPU正在執行的程序也有正在執行的程序也有優先級。只有當某個中斷源的優先級別高于優先級。只有當某個中斷源的優先級別高于CPU現在的優先級時,才能中止現在的優先級時,才能中止CPU執行執行現在的程序?,F在的程序。計算機組成原理計算機組成原理北京理工大學計算

56、機學院北京理工大學計算機學院9.3 中斷系統和程序中斷方式中斷系統和程序中斷方式(1) 軟件判優法軟件判優法 軟件判優法,軟件判優法,就是用程序來判別就是用程序來判別優先級,這是最簡優先級,這是最簡單的中斷判優方法。單的中斷判優方法。INT1?INT2?INT3?INTn?對1號中斷源服務對2號中斷源服務對3號中斷源服務對n號中斷源服務YYYYNNNN計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院9.3 中斷系統和程序中斷方式中斷系統和程序中斷方式 當當CPU接到中斷請求信號后,就執行接到中斷請求信號后,就執行查詢程序,逐個檢測中斷請求寄存器的各查詢程序,逐個檢測中斷

57、請求寄存器的各位狀態,檢測順序是按優先級的大小排列位狀態,檢測順序是按優先級的大小排列的,最先檢測的中斷源具有最高的優先級,的,最先檢測的中斷源具有最高的優先級,其次檢測的中斷源具有次高優先級,如此其次檢測的中斷源具有次高優先級,如此下去,最后檢測的中斷源具有最低的優先下去,最后檢測的中斷源具有最低的優先級。級。 顯然,軟件判優是與識別中斷源結合顯然,軟件判優是與識別中斷源結合在一起的,當查詢到中斷請求信號的發出在一起的,當查詢到中斷請求信號的發出者,也就是找到了中斷源,程序立即可以者,也就是找到了中斷源,程序立即可以轉入對應的中斷服務程序中去。轉入對應的中斷服務程序中去。計算機組成原理計算機

58、組成原理北京理工大學計算機學院北京理工大學計算機學院9.3 中斷系統和程序中斷方式中斷系統和程序中斷方式(2) 硬件判優電路硬件判優電路 采用硬件實現中斷優先級判定可節省采用硬件實現中斷優先級判定可節省CPU時間,而且速度快,但是成本較高。時間,而且速度快,但是成本較高。 根據中斷請求信號的傳送方式不同,根據中斷請求信號的傳送方式不同,有不同的優先排隊電路,常見的有以下幾有不同的優先排隊電路,常見的有以下幾種方案。種方案。 獨立請求線的優先排隊電路獨立請求線的優先排隊電路 公共請求線的優先排隊電路公共請求線的優先排隊電路計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院9

59、.3 中斷系統和程序中斷方式中斷系統和程序中斷方式9.3.3 中斷響應和中斷處理中斷響應和中斷處理1. CPU響應中斷的條件響應中斷的條件(1) CPU接收到中斷請求信號接收到中斷請求信號 首先中斷源要發出中斷請求,同時首先中斷源要發出中斷請求,同時CPU還要接收到這個中斷請求信號。還要接收到這個中斷請求信號。(2) CPU允許中斷允許中斷 CPU允許中斷即開中斷。允許中斷即開中斷。CPU內部有內部有一個中斷允許觸發器,只有當其被置位時,一個中斷允許觸發器,只有當其被置位時,CPU才可能響應中斷源的中斷請求(中斷才可能響應中斷源的中斷請求(中斷開放)。如其被復位,開放)。如其被復位,CPU處于

60、不可中斷處于不可中斷狀態,即使中斷源有中斷請求,狀態,即使中斷源有中斷請求,CPU也不也不響應(中斷關閉)。響應(中斷關閉)。計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院9.3 中斷系統和程序中斷方式中斷系統和程序中斷方式(3) 一條指令執行完畢一條指令執行完畢 一般情況下,一般情況下,CPU在一條指令執行完在一條指令執行完畢,且沒有更緊迫的任務時才能響應中斷畢,且沒有更緊迫的任務時才能響應中斷請求。請求。計算機組成原理計算機組成原理北京理工大學計算機學院北京理工大學計算機學院9.3 中斷系統和程序中斷方式中斷系統和程序中斷方式2. 中斷隱指令中斷隱指令 CPU響應

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論