接口技術第六章——輸入輸出接口及數據傳輸控制方式總結


正在學習接口技術和計算機組成原理,中間有一些重疊的部分就放在一起了,至於DMA,中斷之類的會放在后面講解

6.1 接口綜述

硬件接口通常稱為I/O接口,把外圍設備同微型計算機連接起來的電路稱為外設接口電路,簡稱外設接口。I/O接口是CPU同外界進行信息交換的中轉站

使用接口的原因

  1. 速度不匹配 外設外慢
  2. 時序不匹配 各個外部設備都有自己的定時控制電路,以自己的速度進行傳輸,同CPU的時序不匹配
  3. 信息格式不匹配,不同的外設存儲和處理信息的格式不同
  4. 信息類型不匹配,有些是數字電路,有些是模擬電路

 

CPU與外設之間所傳送的數據類型

  1. 數據信息 包括模擬量,數字量,開關量,可以輸入也可以輸出
  2. 狀態信息 這是I/O端口送給CPU的有關本端口所對應的外設當前狀態的信息,供CPU參考分析
  3. 控制信息 這是CPU送給I/O設備的控制命令,使相應的外部設備完成特定的操作

在8086/8088中,這三種信息的輸入輸出基本一致,可以分發不同的端口地址,在端口地址相同的情況下,可以規定操作的順序,或者在輸入輸出的數據中設置特征位

 

接口的功能(背)

  1. 執行CPU命令 CPU將對外設的控制命令發到接口電路的命令寄存器中,以便控制外設按要求進行工作
  2. 返回外設狀態 通過外設寄存器(狀態口)完成,包括正常工作狀態和故障狀態
  3. 數據緩沖的功能 (平滑作用)接口電路中的數據寄存器(數據口)對CPU與外設設備之間的數據進行中轉
  4. 設備尋址的功能 CPU在某些時刻只能和一台外設交換數據,CPU發給的地址信息經過接口電路中的地址譯碼選中I/O設備
  5. 信號轉化的功能 ADC轉化啊,電平轉化啊之類的
  6. 數據寬度與數據格式轉換的功能 串並行轉化的功能之類的

 

 

端口及編址方式

端口是指接口電路中能被微處理器直接訪問的寄存器的地址

微處理器通過這些地址(端口)向接口電路中的寄存器發送命令、讀取狀態、和傳送數據。

計算機給接口電路中的每一個寄存器都分配一個端口,CPU在訪問的時候,只需要指明他們的端口地址,不需要知道是訪問什么寄存器。這樣,在輸入輸出程序中訪問端口就是訪問接口電路的寄存器,通常所說的IO操作就是對IO端口的操作,即CPU所訪問的是與IO設備相關的端口,而不是IO設備本身

 

 

 

 

 

輸入輸出的方式

輸入/輸出接口分類:

       1、按數據傳送方式分:串行、並行

       2、按CPU訪問外設的控制方式:

          程序查詢、中斷、DMA、通道控制、I/O處理機

       3、按是否需要統一的控制時鍾:同步、異步

       4、按通用性:通用、專用

 

IO端口的編址方式

寄存器映像編址和獨立編址

寄存器編址就是把IO端口地址置於存儲器空間,和存儲單元統一編制

優點:存儲器的各種尋址方式都可以用來尋址端口(可以用一個指令系統),缺點:占用存儲器地址,而且端口地址必須和存儲器長度一樣,運行速度慢

獨立編址:把接口的端口地址單獨編址,在計算機中形成兩個獨立的編址空間。優點:不占用存儲器空間,有專門的IO指令,IO指令,運行的快,而且IO操作和存儲器操作分開,程序可讀性好,缺點就是要重新設計一個新的指令系統

 

IO端口地址譯碼

三種譯碼電路——固定端口地址譯碼,固定多端口譯碼電路和可選式地址譯碼電路

 

  1. 固定式單端口地址譯碼電路

固定式單端口地址譯碼電路是指該譯碼電路只能產生一個不可更改的端口地址

見課本240頁及筆記

 

  1. 固定式多端口地址譯碼電路

固定式多端口地址譯碼電路能同時譯出多個地址,但每個地址是固定不變的

如74LS138(38譯碼器),74LS154(4-16譯碼器),74LS139(2-4譯碼器)

 

74138的符號圖如下

 

 

 

 

 

A0-A2是輸入端,Y0-Y7是輸出端,E2a和E2b低電平有效,E1高電平有效,這三個是使能端,E2A和E2B都是低電平有效,E1是高電平有效

  1. 可選式地址譯碼電路

如果用戶要求接口電路的端口地址能適應不同的地址分配場合,或者系統以后擴展留下空間

介紹一種由比較器組成的可選式譯碼電路

 

 

 

首先要知道這個如何工作,就得先知道比較器和三八譯碼器如何工作

三八譯碼器的工作原理在上面,不贅述了

下面來講講74LS85比較器

這玩意有八個端子,A0-A3,B0-B3,我們觀察到,A=B是連在了VCC上,所以這個玩意的功能是要求A和B要想等

那這個東西的比較法則如何呢

真值表如下

 

首先比較高位,高位不相等直接輸出

然后逐位開始比較,到最后都相等的時候,輸出A=B端口為1

如果A=B,則輸出和輸入是相等的

如果A<B,  則輸出中A<B is high with A=B and A>B is low

反之亦然

所以該比較器可選譯碼電路就是如下原理

A8-A11連接了74LS85芯片的A0-A3,現在當S0-S3的開關都打開,則B0-B3為1111,則A0-A3為1111,則A8-A11為1111

A6,A7為38譯碼器的使能端,為00

A3-A5為選擇端口,如果選擇Y2,則A5-A3為010

A0-A2為任意

 

IO指令

  1. IO端口尋址 分為兩種,直接尋址和間接尋址
    1. 直接尋址,范圍是0-255

指令格式 IN AL,32H ;32H為8為端口地址

  1. 間接端口尋址

間接端口尋址由DX寄存器指出端口地址

指令格式為 IN AL,DX

記住,間接端口尋址的范圍是0-65535,必須要通過DX來間接尋址

2 IO操作指令

  1. 輸入指令

格式: IN 累加器,端口

例如:IN AL ,21H ;把端口21H的8位數據放入AL中

         MOV DX,210H

         IN AX ,DX;把端口210H和202H放入AX中

  1. 輸出指令

格式 OUT 端口,累加器

OUT 22H,AL;把AL的內容放入22H中

MOV DX,511H

OUT DX,AX

 

 

 

 

CPU與外設數據的傳輸控制方式

有三種形式:程序查詢,中斷,DMA,(大型機巨型機的通道)

程序控制方式是指輸入輸出指令實現信息傳輸的方式,是一種軟件控制方式,根據程序控制的方法不同,可以分為無條件傳輸方式和有條件傳輸方式

 

無條件傳輸

 

 

 

這個無條件選擇就是當RD為低電平(非門轉化為1),IO/M(上划線)為高電平的時候,與門為1,經過兩個非門后為1,到三態緩沖器,三態緩沖器打開,數據經數據總線送到CPU中

輸出類似

 

在這種方式下,CPU不需要知道外設的工作狀態,只需每隔一段時間,CPU與外設進行數據交換,進行數據的發送和接受

 

有條件程序查詢式

條件傳送方式又稱查詢方式,即通過程序查詢相應設備的狀態,如果該設備未處於“准備好的狀態”則CPU不能進行輸入輸出操作

邏輯圖如下:

 

 

具體電路圖如下:

 

當輸入設備准備好數據之后,發出選通信號。它一方面把輸入數據鎖存到數據鎖存器中,另一方面使狀態標志觸發器置1。狀態標志是一位信號,通過緩沖器后,接到CPU數據總線的某一位上,假設接至D7位。CPU先讀狀態口,查詢D7是否為1。若D7=1,表示輸入數據已經准備好,再讀數據口,取走輸入數據,同時使狀態標志觸發器復位。

 

數據傳送過程的3個步驟:

①CPU先讀取狀態字

②檢查狀態字是否表明數據准備就緒

③如果准備就緒,則執行輸入指令讀取數據,且使狀態位清零。這樣便開始下一個數據傳輸過程。

 

/*****自我總結

輸入的工作原理如下:

當外設准備好的時候,會發送選通信號,一方面數據進入鎖存器,另一方面觸發器D,使READY信號發送。當CPU來讀的時候,IO/M選通,RD為0,地址譯碼,與門輸出為1,經過兩個非門為1,三態緩存器選通,READY信號通過數據總線送到CPU,然后開始開始讀鎖存器內的數據,同時狀態位清零

******/

輸出的電路圖如下

 

輸出過程:

  當前輸出設備空閑時,狀態標志觸發器清0。

  CPU在輸出數據之前,先讀取狀態信息。假設忙閑標志接至數據線D0位,當D0=0時,表示輸出設備空閑,CPU再對數據口執行輸出指令。

  數據口選中信號一方面把輸出數據寫入鎖存器,一方面使狀態標志觸發器置1,通知輸出設備。當輸出設備取走當前數據后,向接口發出確認信號ACK,使狀態標志觸發器清0, 表示輸出設備空閑。

 

/******自我總結

工作原理:CPU通過地址總線,經過地址譯碼器,輸出數據端口,IO/M為0,WD為1,發送選通信號,數據進入接口鎖存器和觸發器D為1,這個D有兩個作用,一個告訴外設可以讀取數據了,另一個讓狀態寄存器為BUSY,防止CPU繼續寫數據。

當外設把數據都讀完后,回送一個ACK,讓觸發器復位,D為0,清空狀態寄存器。

*******/

總結:得多看看,每次傳送數據的時候都會有一個狀態信息,然后讀完數據都會復位

優點:軟件比較簡單

缺點:CPU效率低,數據傳送的實時性差,速度較慢

 

中斷

   中斷控制的輸入和輸出方式,也稱中斷傳送方式,即當外設的輸入數據准備好或接收數據的鎖存器為空時,主動向CPU發出中斷請求,使CPU中斷原來執行的程序(主程序),轉去執行為外設服務的輸入或輸出操作,服務完畢,CPU再繼續執行原來的程序。 

   中斷傳送方式中, CPU和外設(甚至多個外設)可同時工作, 從而大大提高了CPU的效率和控制程序執行的實時性。必須經過 (1)暫停主程序,實現程序的轉移,即中斷響應。(2)保護和恢復有關寄存器內容。(3)執行I/O操作,並實現內存到累加器再到端口之間的傳送。(4)實現中斷返回。

 

輸入設備將數據送到鎖存器中,同時發送選通信號,選通信號一方面讓數據進入三態緩沖期,另一方面令D為1,經過與門讓INTR為1,發送中斷請求。當CPU收到中斷請求之后,會通過地址譯碼器和讀寫信號,經過與非門。與非門發送的信號一方面打開三態緩沖期,讓數據進入數據總線,另一方面復位觸發器,D為0.中斷完成。

DMA
數據在I/O接口與存儲器之間的傳送,不經CPU的干預,而是在專用硬件電路的控制下直接傳送。這種方法稱為DMA 。在這種方式下,傳送的速度就只取決於存儲器和外設的工作速度。這大大提高了數據傳送速度。

DMA傳送主要應用於高速度大批量數據傳送的系統中,如磁盤存取、圖像處理、高速數據采集系統等,以提高數據的吞吐量。

DMA傳送一般有三種形式

①存儲器與I/O設備之間的數據傳送;

②存儲器與存儲器之間的數據傳送;

③I/O設備與I/O設備之間的傳送。

 

DMA控制器必須有以下功能:

①能接收外設發出的DMA 請求信號,然后向CPU 發出總線接管請求信號。

②當CPU發出總線請求允許信號並放棄對總線的控制后,DMAC能接替對總線的控制,進入DMA方式。

③DMAC得到總線控制權后,要往地址總線發送地址信號,能修改地址指針,並能發出讀/寫控制信號。

④能決定本次DMA傳送的字節數,判斷DMA傳送是否結束。

⑤DMA過程結束時,能發出DMA 結束信號,將總線控制權交還給CPU

 

計原中一些概念

輸入輸出系統:主要作用是連通計算機的各個功能部件和設備,在它們之間進行數據交換。

輸入輸出系統的基本功能:是管理主機和外設以及外設與外設之間的信息交換,由硬件和軟件共同完成此項任務,基本原則是:不丟失數據,快速傳輸數據,成本低廉,主機和外設、外設和外設之間盡可能並行工作已充分發揮各自的潛力

輸入輸出設備的重要任務

  1. 將用戶編寫的程序/數據輸入至主機
  2. 將計算結果輸出給用戶
  3. 實現輸入/輸出系統與主機協調工作

 

計算機總線:計算機各部件之間的公共通道(包括數據總線,控制總線和地址總線)

主機與外設的接口信息

  1. 數據信息 可以通過輸入設備送到計算機的輸入數據
  2. 控制信息 CPU對外設的控制信息或管理命令
  3. 狀態信息 表示外設的狀態
  4. 聯絡信息 主機和外設間工作的時間配合信息
  5. 外設識別信息 I/O尋址的信息

 

數據傳送的方式:異步和同步

CPU訪問的方式:程序查詢式,中斷式,DMA式,通道式

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM