輸入輸出與中斷(微機第七章簡單總結)

I/O接口的作用

接口是介於 CPU 和外設之間的一種緩衝電路

在 CPU 和外設之間起到了速度匹配、信號轉換的作用

CPU 與外設交換信息

交換的信息分爲

  • 數據信息:可分爲數字量、模擬量、狀態量
  • 狀態信息:反映當前外設所處的工作狀態
  • 控制信息:CPU 通過接口傳送給外設的信息,用來設置外設(包括接口)的工作方式、控制外設的工作等
    在這裏插入圖片描述

在這裏插入圖片描述

I/O端口的編址

接口中每個端口都有一個地址編號,稱爲端口地址

  • 統一編址
  • 獨立編址

統一編址

對 I/O 端口和存儲1單元統一編排地址號,由 I/O 端口地址和存儲單元地址共同構成一個統一的地址空間(1MB)

在這裏插入圖片描述
優點

  • 簡化了指令系統的設計
  • I/O 端口和存儲單元用同樣的編址方式,給編程者提供了很大的方便

缺點

  • 減少了內存的地址可用範圍

獨立編址

建立兩個地址空間,一個爲內存地址空間(1MB),一個爲 I/O 地址空間(64kb),兩個地址空間相對獨立。

在這裏插入圖片描述

優點

  • 存儲器地址空間不受 I/O 端口地址空間的影響
  • 專用的輸入/輸出指令和訪問存儲器指令有明顯區別,便於理解和檢查

缺點

  • 專用 I/O 接口指令增加了指令系統的複雜性,且 I/O 指令類型少,程序設計靈活性較差
  • CPU 需提供專門的控制信號以區分對存儲器和 I/O 端

8086CPU組成的微機系統都採用獨立編址的方式

CPU 與外設之間數據傳送的方式

程序傳送的方式

通過執行程序的 I/O 指令來控制 CPU 與外設之間的數據交換

  • 無條件傳送:無需考慮外設的狀態
    • 程序設計和接口電路簡單
    • 默認外設狀態是準備好的
    • 適用於與簡單外設進行少量不頻繁的數據傳送
  • 查詢傳送(有條件傳送):需要考慮外設的狀態
    • 可以保證CPU與外設之間協調同步工作
    • 浪費 CPU 時間,實時性差
    • 適用於輸入/出不太頻繁且外設較少,對實時性要求不高的情況

中斷傳送的方式

當外設需要與 CPU發生信息交換時,外設向 CPU 發出請求信號,CPU 暫停正在執行的程序,去執行數據的輸入/出,數據傳送結束後,CPU繼續執行被暫停的程序

  • 不需要查詢等待,執行效率高
  • 接口電路相對複雜;浪費 CPU 的時間
  • 適用於少量的數據傳送

直接存儲器存取(DMA)方式

DMA方式適合在外設和存儲器之間進行大量的告訴數據交換,數據的傳送直接由專用的接口芯片(DMAC)來控制。

傳送過程中,CPU 暫停指令的執行並讓出總線控制權,由 DMA 控制器接管總線的控制權。

傳送速度快

中斷

名詞

1、中斷

計算機在執行正常程序過程中,當出現某種異常事件或某種外部請求時,處理器就暫停執行當前的程序,而轉去執行對異常事件或某種外部請求的處理操作。當處理完畢後,CPU再返回到被暫停執行的程序,繼續執行,這個過程稱爲程序中斷。

2、中斷系統

爲實現中斷功能而設置的相應硬件電路相應的軟件稱之爲中斷系統

3、中斷源

引起中斷的原因或發出中斷請求的來源成爲中斷源。

  • 硬件中斷源
  • 軟件中斷源

4、中斷處理過程

單箇中斷源的中斷過程:

中斷請求 =》中斷響應 =》保護斷點 =》中斷處理 =》中斷返回

中斷

中斷優先級

中斷請求是隨機發生的,當系統具有多箇中斷源時,有時會同時出現多箇中斷請求,CPU只能按一定的次序予以響應和處理,這個響應的次序稱爲中斷優先級。

  • 不同按高低

  • 低級讓高級

  • 高級封低級 :正在處理高優先級中斷時,低優先級發起請求,暫不響應

  • 同級等處理

中斷優先級的確定

  • 軟件查詢法
  • 硬件排隊電路發
  • 專用中斷控制芯片法

8086/8088中斷源類型

​ 8086/8088 CPU可以處理256種不同類型的中斷,每一種中斷都給定一個編號(0~255),稱爲中斷類型號,CPU根據中斷類型號來識別不同的中斷源。

在這裏插入圖片描述

8086/8088中斷優先級(高到低)

  • 軟件中斷(除單步中斷外)
  • 非屏蔽中斷
  • 可屏蔽中斷
  • 單步中斷

中斷向量表

所有中斷都是中斷服務程序來處理。

入口地址稱爲中斷向量,每個中斷向量包含一組段基址和偏移地址(邏輯地址),4個字節形式存放在中斷向量表中,中斷向量表位於內存00000H~003FFH,存放256箇中斷向量(1K字節)

中斷向量在中斷向量表中存放地址由中斷類型碼X4得到

中斷向量 是中斷服務子程序的入口地址

邏輯地址的範圍就是 0000H:0000H ~ 0000H:03FFH

求下列中斷類型號所對應的中斷向量表的邏輯地址

(1)2EH;(2)60H;(3)0A0H

邏輯地址 = 段基址 + 偏移地址

(1)2EH = 0010 1110;乘四相當於左移2位 = 1011 1000  = B8H =》 0000H:00B8H
(2)60H = 0100 0000;*4 = 1 1000 0000 = 0180H =》 0000H:0180H
(3)0A0H = 0000 1010 0000;*4 = 10 1000 0000 = 280H =》 0000H:0280H

8086中斷處理過程

在這裏插入圖片描述

將中斷服務程序入口地址置入中斷向量表的方法有兩種

  • DOS系統功能調用法
  • 直接裝入法
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章