io口的作用


I/O接口的作用
    主機與外界交換信息稱為輸入/輸出(I/O)。主機與外界的信息交換是通過輸入/輸出設備進行的。一般的輸入/輸出設備都是機械的或機電相結合的產物,比方常規的外設有鍵盤、顯示器、打印機、掃描儀、磁盤機、鼠標器等,它們相對於快速的中央處理器來說,速度要慢得多。此外,不同外設的信號形式、數據格式也各不同樣。

因此,外部設備不能與CPU直接相連,須要通過對應的電路來完畢它們之間的速度匹配、信號轉換,並完畢某些控制功能。

通常把介於主機和外設之間的一種緩沖電路稱為I/O接口電路。簡稱I/O接口(Interface)。如圖7.1所看到的。對於主機,I/O接口提供了外部設備的工作狀態及數據。對於外部設備,I/O接口記憶了主機送給外設的一切命令和數據。從而使主機與外設之間協調一致地工作。
    對於微型計算機來說,設計微處理器CPU時。並不設計它與外設之間的接口部分,而是將輸入/輸出設備的接口電路設計成相對獨立的部件。通過它們將各種類型的外設與CPU連接起來構成完整的微型計算機硬件系統。 所以,一台微型計算機的輸入/輸出系統應該包含I/O接口、I/O設備及相關的控制軟件。一個微機系統的綜合處理能力、系統的可靠性、兼容性、性能價格比、甚至在某個場合是否能使用都和I/O系統有着密切的關系。輸入/輸出系統是計算機系統的重要組成部分之中的一個。不論什么一台高性能計算機,假設沒有高質量的輸入/輸出系統與之配合工作,計算機的高性能便無法發揮出來。
    7.1.2 CPU與外設交換的信息
    主機與I/O設備之間交換的信息可分為數據信息、狀態信息和控制信息三類。
    一.數據信息
    數據信息又分為數字量、模擬量和開關量三種形式。


    1. 數字量
    數字量是計算機能夠直接發送、接收和處理的數據。

比如由鍵盤、顯示器、打印機及磁盤等I/O外設與 CPU交換的信息,它們是以二進制形式表示的數或以ASCII碼表示的數符。
    2. 模擬量
    當計算機應用於控制系統中時,輸入的信息一般為來自現場的連續變化的物理量,如溫度、壓力、流量、位移、濕度等。這些物理量通過傳感器並經放大處理得到模擬電壓或電流。這些模擬量必需先經過模擬量向數字量的轉換(A/D轉換)后才干輸入計算機。反過來,計算機輸出的控制信號都是數字量,也必須先經過數字量向模擬量的轉換(D/A轉換)。把數字量轉換成模擬量才干去控制現場。
    3. 開關量
    開關量可表示兩個狀態。如開關的斷開和閉合,機器的運轉與停止。閥門的打開與關閉等。

這些開關量通常要經過對應的電平轉換才干與計算機連接。開關量僅僅要用一位二進數就可以表示。


    二.狀態信息
    狀態信息作為CPU與外設之間交換數據時的聯絡信息,反映了當前外設所處的工作狀態。是外設通過接口送往CPU的。CPU通過對外設狀態信號的讀取。可得知輸入設備的數據是否准備好、輸出設備是否空暇等情況。

對於輸入設備,一般用准備好(READY)信號的高低來表明待輸入的數據是否准備就緒。對於輸出設備,則用忙(BUSY)信號的高低表示輸出設備是否處於空暇狀態,如為空暇狀態,則可接收CPU輸出的信息。否則CPU要暫停送數。因此,狀態信息可以保障CPU與外設正確進行數據交換。
    三.控制信息
    控制信息是CPU通過接口傳送給外設的。CPU通過發送控制信息設置外設(包含接口)的工作模式、控制外設的工作。如外設的啟動信號和停止信號就是常見的控制信息。

實際上,控制信息往往隨着外設的詳細工作原理不同而含義不同。
    盡管數據信息、狀態信息和控制信息含義各不同樣,但在微型計算機系統中,CPU通過接口和外設交換信息時。僅僅能用輸入指令(IN)和輸出指令 (OUT)傳送數據。所以狀態信息、控制信息也是被作為數據信息來傳送的。即把狀態信息作為—種輸入數據。而把控制信息作為一種輸出數據,這樣,狀態信息和控制信息也通過數據總線來傳送。但在接口中。這三種信息是在不同的寄存器中分別存放的。
    7.1.3 I/O接口的基本結構
    I/O接口的基本結構如圖7.2所看到的。每一個接口電路中都包括一組寄存器。 CPU和外設進行信息交換時。各類信息在接口中存入不同的寄存器,一般稱這些寄存器為I/Oport,簡稱為口(Port)。用來保存CPU和外設之間傳送的數據(如數字、字符及某種特定的編碼等)、對輸入/輸出數據起緩沖作用的數據寄存器稱為數據port;用來存放外設或者接口部件本身狀態的狀態寄存器稱為狀態port。用來存放CPU發往外設的控制命令的控制寄存器稱為控制port。
    正如每一個存儲單元都有一個物理地址一樣,每一個port也有一個地址與之相相應,該地址稱為port地址。有了port地址,CPU對外設的輸入/輸出操作實際上就是對I/O接口中各port的讀/寫操作。數據port通常是雙向的,數據是輸入還是輸出,取決於對該port地址進行操作時CPU發往接口電路的讀/寫控制信號。因為狀態port僅僅作輸入操作、控制port僅僅作輸出操作,所以。有時為了節省系統地址空間,在設計接口時往往將這兩個port共用一個port地址,再用讀/寫信號來分別選擇訪問。
    應該指出,輸入/輸出操作所用到的地址總是對port而言,而不是對接口而言的。

接口和port是兩個不同的概念。若干個port加上對應的控制電路才構成接口。


     7.1.4 I/Oport的編址
    微型計算機系統中I/Oport編址方式有兩種:即I/Oport與內存單元統一編址和 I/Oport與內存單元獨立編址。
    一.I/Oport與內存單元統一編址
    這樣的編址方式,是對I/Oport和存儲單元依照存儲單元的編址方法統一編排地址號,由I/Oport地址和存儲單元地址共同構成一個統一的地址空間,比如,對於一個有16根地址線的微機系統。若採用統一編址方式,其地址空間的結構如圖7.3所看到的。

採用統一編址方式后,CPU對I/Oport的輸入/輸出操作如同對存儲單元的讀/寫操作一樣,全部訪問內存的指令相同都可用於訪問I/Oport。因此無需專門的I/O指令,從而簡化了指令系統的設計;同一時候。對存儲器的各種尋址方式也相同適用於對I/Oport的訪問。給使用者提供了非常大的方便。但因為 I/Oport占用了一部分存儲器地址空間。相對降低了內存的地址可用范圍。


    二.I/Oport與內存單元獨立編址
    在這樣的編址方式中,建立了兩個地址空間。一個為內存地址空間,一個為I/O地址空間。

內存地址空間和I/O地址空間是相對獨立的。通過控制總線來確定CPU究竟要訪問內存還是I/Oport。

為確保控制總線發出正確的信號,除了要有訪問內存的指令之外,系統還要提供用於CPU與I/Oport之間進行傳輸數據的輸入/輸出指令。
    80x86CPU組成的微機系統都採用獨立編址方式。

在8086/8088系統中,共同擁有20根地址線對內存尋址,內存的地址范圍是00000H~FFFFFH;用地址總線的低16位對I/Oport尋址,所以I/Oport的地址范圍從 0000H~FFFFH,如圖7.4所看到的。CPU在訪問內存和外設時,使用了不同的控制信號來加以區分。比如,當8086CPU的M/IO信號為1時,表示地址總線上的地址是一個內存地址。為0時,則表示地址總線上的地址是一個port地址。
    採用獨立編址方式后,存儲器地址空間不受I/Oport地址空間影響,專用的輸入/輸出指令與訪問存儲器指令有明顯差別。便於理解和檢查。可是,專用I/O指令添加了指令系統復雜性,且I/O指令類型少,程序設計靈活性較差;此外。還要求CPU提供專門的控制信號以區分對存儲器和I/Oport的操作,添加了控制邏輯的復雜性。
    三、I/Oport的地址譯碼
    微機系統經常使用的I/O接口電路一般都被設計成通用的I/O接口芯片。一個接口芯片內部能夠有若干可尋址的port。

因此,全部接口芯片都有片選信號線和用於片內port尋址的地址線。比如,某接口芯片內有四個port地址。則該芯片外就會有兩根地址線。

本書第八章中將具體介紹幾種經常使用的I/O接口芯片。
    I/Oport地址譯碼的方法多樣,一般的原則是把CPU用於I/Oport尋址的地址線分為高位地址線和低位地址線兩部分。將低位地址線直接連到I/O接口芯片的對應地址引腳,實現片內尋址,即選中片內的port;將高位地址線與CPU的控制信號組合。經地址譯碼電路產生I/O接口芯片的片選信號。

 
 IO接口的作用 - 雨水天窗 - m13243180187的博客


免責聲明!

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



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