7.1 概述
般微型計算機係統的硬件電路是由口、存儲器和外部設備構成。通過外放設備采集外界的信息,對信息進行處理後,再通過外部設備將結果送給外界,如顯示、打印、存儲或發出各種控製信號去驅動各種執行機構。外部設備是計算機係統不可缺少的組成部分。而且,為增加微型計算機的功能,常常麵臨著擴充外部設備的任務。外部設備要通過接口電路才能和主機相接。所以,了解有關輸入/輸出接口電路的組成,它們如何和口連接,以及其控製程序的編製等等是十分重要的。
對外部設備的輸入/輸出操作和對存儲器的讀/寫操作很相似。輸入周期炎似於存儲器讀周期,輸出周期類似於存儲器寫周期。但是存儲器和外部設備相比,有很多不同的地方。比如,存儲器一般是由大規模或超大規模半導體集成電路芯片組成,與外部設備相比,它的種類隻是有哏的幾種,存儲器是記憶部件,它能保存信息。而且每一個單元的字長都一樣,例如都是一個字節。因此可以和存儲器直接連接。但外部設備則不然,它的種類繁多,有機械式、電動式、電子式、光電式等等。信號的種類也有各種各樣:有數字量、模擬量有電壓信號、電流信號……信號的傳輸速率範圍也很大。
例如,傳感器每1分鍾隻能提供一個數據,手動鍵盤字符之間的輸入間隔在秒級範圍,電傳打字機每秒能傳遞100位的信息,而軟磁盤設備傳送速率卻高達每秒250000位。另外,外部設備的信息字長也長短不一,有的比8位短,有的則比8位長。因此,外部設備一般都要通過接口電路才能和口的總線相連接。口通過接口電路對輸出輸入信息進行變換、緩存、鎖存等等。“變換”包括數字量一模擬量的變換、電平變換等等。還有“聯絡”等作用,例如發來信號告訴輸入設備是否已準備好輸入信息,輸出設備是否不“忙”,可以接收信息等等。接口電路可以很簡單,例如一個三態緩衝器,或者一個觸發器,就可以構成一個輸入或輸出接口電路。但也有較複雜的、可以編程控製的接口電路。
接口電路(芯片)和各種總線技術,功能極強。當然其中有些的複雜程度與口不相上下,大多數是專為配合微型機使用而設計的,所以一般隻要加入不多的簡單的硬件電路,就可以直接與直接連用。但是,為了完成口與外部設備之間信息傳送,除了要具備接口硬件電路之外,往往更重要的是要編製複雜的程序,對接口電路進行控製。所以接口技術是“軟、硬”結合的技術,這是它的一個顯著的特點。隨著大規模和超大規模半導體集成電路技術的發展,各種功能齊全、編程控製的接口芯片以皮近期興起的各種各樣專用或通用的“總線”技術,對發展微型機事業起了極大的推動作用,使微型機更加深入到社會各個領域,成為入們生活中一個不可缺少的有用工具。
因此,我們可以肯定:一個微型機係統功能的強弱,在極大程度上決定於此係統的接口性能如何,外部設備是否齊全,其性能是否優良等等。
7.1-1 輸入/輸出(I/O)接口的編址方式
輸入/輸出有以下兩種編址方式。
1.輸入/輸出和存儲器統一編址方式
Z80是屬於單總線的組織結構體係,與存儲器之間,或者;與1/0接口之間的信息交換,都是通過同一組總線進行的。因此,可以把1/0接口看成存儲器區域中某一個單元,而占用存儲器區域中某個地址或某一區域的地址號。例如1.803微型機,在64X0存儲器區域中,顯示緩衝區就占據了從3000到共1024個存儲器單元的地址號;行式打印機接口地址占用372811單元地址,等等。這種統一編址方式的優點是可以用訪問存儲器的指令來訪問1/0接口。而訪問存儲器的指令較豐富,功能也比較強。不僅有一般的傳送指令,還有算術、邏輯運算以及各種移位指令,可以象對待存儲器那樣,直接對1/0接口的信息(數據)進行處理,而不必有預先送入寄存器等手續。這種編址方式的缺點是,1/0接口占用了存儲器的一部分區域地址。角戶能用來存儲程序和數據的區域,相對來講就少了。
2.微型機存儲器區域地址的分配
接口單獨編址方式輸入/輸出的地址區域和存儲器的地址,分別各自單獨編排。訪問1/0接口使用專設的1/0指令。存儲器和1/0接口地址的選中信號,是靠口的控製位號巧和來區分的。若是訪問1/0接口,即信號有效,而隻信號無效;反之,如果是訪問存儲器。雖然在訪問某個1/0接口時的16根地址線都是有效的,這時1/0接口地址號會與某個存儲器單元的地址號相同,但由於使用了和—信號而不會發生錯誤。會正確地選擇1/0接口,而不會訪問存儲器。這種單獨編址的方式的優點是1/0接口不占用存儲器區域的地址號。其缺點母訪問1/0接口的指令不多,功能也不強,一般都是傳送類指令。
7.1-2 輸入輸出(I/O)的控製方式
和1/0接口之間的信息交換,有以下三種控製方式,
1.程序傳送
所有的信息交換都是在程序的控製下進行的。程序傳送方式又分為無條件傳送和有條件傳送兩類。、
(1)無條件傳送這種傳送方式,一般用在與低速1/0接口之間交換信息,比如與數據狀態每秒鍾改變不到幾次的設備交換信息。這類1/0接口包括120顯示器、打印機、開關、繼電器和機械式傳感器等等。這種設備用作輸入時,數據保持時間對於;的處理速度慢得多。因此,輸入的據就用不著另加鎖存器,直接使用三態緩衝器與;總線連接就可以了,外界數據送到緩衝器輸入端,執行指令。
(2)權入
由地址使相應的口地址譯碼器輸出有效,信號機、有效,三態緩衝器被選通,將早已準備好的數據讀入口的累加器。因為執行一次數據讀入隻需要幾個微秒,而外界數據在緩衝器輸入端保持的時間可達秒級或幾十毫秒數量級,因此輸入數據不必鎖存。
但在作為輸出設備使用時,一般都要求有鎖存,也就是要求輸出的數據應該在輸出設備接口電路的輸出端保持一段時間。這個時間的長短,應該和外部接收設備的動作時間相適應。
無條件傳送方式的接口電路和控製程序都較簡單,要注意的是:在輸入時,要保證輸入的數據已經準備好;在輸出時,外部設備已將上次送出的數據取走,可以接收新的數據了,否則就可能讀入不正確的數據,或外部接受設備收到的是不完全的數據。這就是一般所講的“數據衝突”。
2.條件傳送
條件傳送也稱為程序查詢。在接口電路中,除了具有一般的數據緩衝器外,還設有狀態標誌位,用來反映接口中數據的準備情況。比如,輸入時,若數據已準備好,則將標誌位置位;輸出時,若數據已“空”,也把標誌位置位;在工作時,首先讀入標誌位,判別標誌位的狀態,從而決定數據傳送的準確時刻。這種方式的優點是:在簡化接口硬件電路的情況下,比無條件傳送方式容易實現數據的準確傳送,控製程序也較容易編製。缺點是口需要不斷查詢標誌位的狀態,這樣就會占用;的工作時間。尤其是與中、慢速的外設交換信息時,真正花費於傳送數據的時間是極少的,而絕大部分時間都消耗在查詢上了,所以,這種方式大多數用於單台外設的係統中。