计算机组成原理第7章-输入/输出系统
寫在前面:本文參考王道論壇主編的 計算機組成原理單科教材。
文章目錄
- 7.1I/O系統基本概念
- 7.2 外部設備
- 7.3 I/O接口
- 7.4 I/O方式
- 7.4.1 程序查詢方式
- 7.4.2 程序中斷方式
- 1. 中斷的基本概念
- 2 程序中斷工作流程
- 2016年408統考真題中斷的大題(有點難!!!)
- 7.4.3 DMA方式
7.1I/O系統基本概念
7.2 外部設備
7.3 I/O接口
I/O接口(I/O控制器)是主機和外設之間的交接界面,通過接口實現主機和外設之間的信息交換。
I/O端口是指接口電路中可被CPU直接訪問的寄存器,主要有數據端口、狀態端口和控制端口,若干端口加上響應的控制邏輯電路組成接口。
I/O端口要想能夠被CPU訪問,就必須對各個端口進行編號,每個端口對應一個端口地址。而對I/O端口的編址方式有與存儲器統一編址和獨立編址兩種。
對數據緩沖寄存器、狀態/控制寄存器的訪問操作是通過相應的指令完成的,通常稱這些指令為I/O指令,I/O指令只能在操作系統內核的底層I/O軟件中使用,它們是一種特權指令。
答:三個全對。
7.4 I/O方式
輸入/輸出系統實現主機與I/O設備之間的數據傳送,可以采用不同的控制方式,各種方式在代價、性能、解決問題的著重點等各方面各不相同,常用的I/O方式有程序查詢、程序中斷、DMA和通道等,其中前兩種更依賴于CPU中程序指令的執行。
7.4.1 程序查詢方式
信息交換的控制完全由主機執行程序實現,程序查詢方式接口中設置一個數據緩沖寄存器(數據端口)和一個設備狀態寄存器(狀態端口)。主機進行I/O操作時,先發出尋訪信號,讀取設備的狀態并根據狀態決定下一步操作究竟是進行數據傳送還是等待。
CPU不斷查詢I/O設備狀態,直到外設準備就緒。
程序查詢方式的特點:
CPU有“踏步”等待現象,CPU與I/O串行工作。
7.4.2 程序中斷方式
中斷是現代計算機有效合理發揮效能和提高效率的一個十分重要的功能。 CPU中通常設有處理中斷的機構–中斷系統,以解決各種中斷的共性問題。
1. 中斷的基本概念
程序中斷是指在計算機執行現場程序的過程中,出現某些急需處理的異常情況或特殊請求,CPU暫時中止現行程序,而轉去對這些異常情況或特殊情況進行處理,在處理完畢后CPU又自動回到現行程序的斷點處,繼續執行原程序。
程序中斷的作用如下:
1實現 CPU和I/O設備的并行工作。
2 處理硬件故障和軟件錯誤。
3 實現人機交互,用于干預機器需要用到中斷。
4 實現多道程序、分時操作,多道程序的切換需要借助于中斷系統。
5 實時處理需要借助中斷系統來實現快速響應。
6實現應用程序和操作系統(管態程序)的切換,稱為“軟中斷”。
7 多處理器系統中各處理器之間的信息交流和任務切換。
程序中斷方式的思想: CPU在程序中安排好在某個時刻啟動某臺外設,然后CPU繼續執行原來的程序,不需要像查詢方式那樣一直在等待外設準備就緒。一旦外設完成數據傳送的準備工作,就主動向CPU發出中斷請求,請求CPU為自己服務。 在可以響應中斷的條件下,CPU暫時中止正在執行的程序,轉去執行中斷服務程序為外設服務,在中斷服務程序中完成主機與外設的數據傳送,傳送完成后,CPU返回原來的程序。
2 程序中斷工作流程
1)中斷請求
中斷請求是指中斷源向CPU發送中斷請求信號。
中斷源是請求CPU中斷的設備或事件,一臺計算機允許有多個中斷源。
1內中斷和外中斷
外中斷是指來自處理器和內存以外的部件引起的中斷,包括I/O設備發出的I/O中斷、外部信號中斷(如用于按Esc鍵),以及各種定時器引起的時鐘中斷等。 外部中斷在狹義上稱為中斷。
內中斷主要是指在處理器和內存內部產生的中斷,主要分為三類
2 硬件中斷和軟件中斷
硬件中斷:通過外部的硬件產生的中斷。硬件中斷屬于外中斷。
軟件中斷:通過某條指令產生的中斷,這種中斷可以通過編程實現。軟件中斷是內中斷。
3 非屏蔽中斷和可屏蔽中斷
非屏蔽中斷:是一種硬件中斷,此種中斷通過不可屏蔽中斷請求NMI 控制,不受中斷標志位IF的影響,即使在關中斷(IF=0)的情況下也會被響應。
可屏蔽中斷:也是一種硬件中斷,此種中斷通過中斷請求標記觸發器INTR控制,且受中斷標志位IF的影響,在關中斷的情況下不接受中斷請求。
2) CPU響應中斷的條件
三個條件:1)中斷源有中斷請求;2)CPU允許中斷及開中斷;3)一條指令執行完畢,且沒有更緊迫的任務。
3)中斷隱指令
CPU響應中斷后,經過某些操作,轉去執行中斷服務程序。這些操作是由硬件直接實現的,我們稱它為中斷隱指令。 中斷隱指令并不是指令系統中的一條真正的指令,它沒有操作碼,所以中斷隱指令是一種不允許也不可能為用戶使用的特殊指令。
下面中斷隱指令很重要!!!常考,爛熟于心。
中斷隱指令完成的工作:
1)關中斷。
2)保存斷點。
3)引出中斷服務程序。
4)中斷向量
不同的設備有不同的中斷服務程序,每個中斷服務程序都有一個入口地址,CPU必須找到這個中斷程序入口地址, 即中斷向量,把系統中的全部中斷向量集中起來存放到存儲器的某個區域內,這個存放中斷向量的存儲區就稱為中斷向量表,即中斷服務程序入口地址表。
CPU響應中斷后,終端硬件會自動將中斷向量地址傳送到CPU,由CPU實現程序的切換,這種方法稱為中斷向量法,采用中斷向量法的中斷稱為向量中斷。
注意:
中斷向量是中斷服務程序的入口地址;中斷向量地址是中斷服務程序的入口地址的地址。
5)中斷處理過程
(多重中斷)中斷服務程序的工作:
1)保護現場和屏蔽字。 現場信息一般是指程序狀態字、中斷屏蔽寄存器和CPU中某些寄存器的內容。
2)開中斷。 允許更高級別中斷請求得到響應,實現中斷嵌套。
3)執行中斷服務程序。
4)關中斷。 保證在恢復現場和屏蔽字時不被中斷。
5)恢復現場和屏蔽字。 將現場和屏蔽字恢復到原來的狀態。
6)開中斷、中斷返回。 中斷服務程序的最后一條指令通常是一條中斷返回指令,使其返回到源程序的斷點處。
單級中斷,中斷服務程序執行順序
2016年408統考真題中斷的大題(有點難!!!)
7.4.3 DMA方式
DMA方式是一種完全由硬件進行成組信息傳送的控制方式,它具有程序中斷方式的特點,即在數據準備階段,CPU與外設并行工作。DMA方式在外設和主存之間開辟了一條“直接數據通道”,信息傳送不再經過CPU,降低了CPU在傳送數據時的開銷,因此稱為直接存儲器存儲方式(DMA).由于數據傳送不經過CPU,也就不需要保護、恢復CPU現場等繁瑣的操作。
這種方式適合磁盤機、磁帶機等高速設備大批量數據的傳送,它的硬件開銷比較大。 在DMA方式中,中斷的作用僅僅局限于故障和正常傳送結束時的處理。
1 DMA方式的特點
2 DMA控制器的組成
在DMA方式中,對數據傳送進行控制的硬件稱為DMA控制器(CMA接口),當I/O設備需要進行數據交換時,通過DMA控制器向CPU提出DMA傳送請求,CPU響應后將讓出系統總線,由DMA控制器接管總線進行數據傳送。
主存地址計數器(AR):保存要交換數據的主存地址;
傳送長度計數器(WC):記錄傳送數據的長度,計數溢出時,即傳送數據完畢,自動發中斷請求信號;
數據緩沖寄存器:暫存每次傳送的數據;
DMA請求觸發器: 當當I/O設備準備好數據后,給出一個控制信號,使DMA請求觸發器置位;
“控制/狀態”邏輯:由控制和時序電路及狀態標志組成,由于指定傳送方向,修改傳送參數,并對DMA請求信號和CPU響應信號進行協調和同步。
中斷機構:當一個數據塊傳送完畢后觸發中斷機構,向CPU提出中斷請求。
3DMA的傳送方式
主存和DMA控制器之間有一條數據通路,因此主存和I/O設備之間交換信息時,不通過CPU。但當I/O設備和CPU同時訪問主存時,可能發生沖突,為了有效使用主存,DMA控制器和CPU通常采用以下三種方式使用主存:
1)停止CPU訪問主存
2) DMA與 CPU交替訪存
3) 周期挪用(周期竊取)。這種方式是以上兩種方式的折中。當I/O設備沒有DMA請求時,CPU按程序的要求訪問主存,一旦I/O設備有了DMA請求, 就會遇到3種情況。
第一種是此時CPU不在訪存,因此I/O設備的訪存請求與CPU未發生沖突;
第二種是CPU正在訪存,此時必須待存儲周期結束后,CPU再將總線占有權讓出;
第三種是I/O設備和CPU同時請求訪存,出現訪存沖突,此時CPU要暫時放棄總線占有權,由I/O設備挪用一個或幾個存取周期(即 I/O訪存優先)。
4 DMA的傳送過程
5.DMA方式和中斷方式的區別
| 數據傳送 | 程序控制 程序的切換→保護和恢復現場 | 硬件控制 CPU只需要進行預處理和后處理 |
| 中斷請求 | 傳送數據 | 后處理 |
| 響應 | 指令執行周期結束后響應中斷 | 每個機器周期結束均可,總線空閑時即可響應DMA請求 |
| 場景 | CPU控制,低速設備 | DMA控制器控制,高速設備 |
| 優先級 | 優先級低于DMA | 優先級高于中斷 |
| 異常處理 | 能處理異常事件 | 僅傳送數據 |
總結
以上是生活随笔為你收集整理的计算机组成原理第7章-输入/输出系统的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算机组成原理第6章-总线
- 下一篇: 计算机组成原理第3章-存储系统