3.中斷方式
1/0控製方式中,條件傳送方式即查詢方式最顯著的缺點是占用大量的工作時間,一般情況下難於滿是實時控製係統對1/0工作的要求。因為在查詢方式中,處於主動地位,外設處於消極等待被查詢的被動地位,而在一般實時控製係統中,外設薑求服務是隨機的,而且往往不止一種外設而有數種、數十種以至數百種,這就很難實現係統中每一種外設都工作在最佳工作狀態。也就是說,一旦某一種外設要求與配合工作,口應以最快的速度、最短的時間來響應它,與其配合工作。這就要求係統中的外設也具有某種主動電請配合工作的“權利”。
比如,當某外設已把數據準備好。如模-數轉換接口的櫝擬量已轉換成數字量,等待來采集,這時它就可以立刻向口發出請求,要求中止;目前的工作,而將它轉換好的輸入數據取走。這就是1/0控製方式中的中斷控製方式。Z80係統中,中斷方式功能是很強的,在每一條指今執行的結尾階段,都去查詢有沒有中斷請求,若有就暫停現行程序的執行,轉去為請中斷的某個外設服務,完成數據交換的工作。當然,由於在一個具有多台外設的係統中,在某一時刻往往不止一台外設提出中斷申請,這就引入所謂中斷優先權、中斷排隊和中斷嵌套等技術問題。
1/0控製方式中的中斷方式,雖然解決了在條件傳送方式中,由於反複查詢標誌位的狀態而浪費大量工作時間這一問題,但在中斷方式中,信息的交換還是依靠執行中斷服務程序來完成的。在中斷服務程序中,不僅要有完成信息傳輸的主要程序段,還必須設置有保護斷點處的現場、服務完畢恢複斷點處的現場的程序段,而執行這些程序是要花費不少時間的。所以對高速的外設,如軟磁盤控製器,用中斷方式來傳輸信息就顯得太慢了。經上麵分折,造成數據傳輸速度慢的主要原因,是由於數據的傳輸是靠執行程序來實現的。為此,提出了數據在1/0接口與主存儲器之間的傳送,能否不經的幹預,而在專門的硬件電路控製下高速直接傳送的問題。
7.2 Z80-PIO 並行輸入/輸出接口芯片
7.2-1 概述
Z80可編程並行輸入/輸出接口電路,是一種逋用1/0芯片。可以利用程序改變它的工作方式,使其能與多種外部設備違接而不必修改硬件電路。所以用它作為微型機與外部設備的接口電路,是很方便、靈活的。
Z80(以下簡稱朽。)的主要功能,每片10有兩個幾乎一樣的8位口,即入口和出口;每個口有二根“聯絡”線,用作信息的傳送。
具有四種可編程工作方式:①字節輸入;②字節輸出;③字節輸入/輸出(也叫做雙向工作方式,隻有具有這種功能);④位輸入/輸出(也稱位控)。所有工作方式,都可以用程序設定。
有實現鏈式優先權中斷邏輯,利用中斷允許入線和中斷允許出,實現中斷排隊。采用中斷方式傳送數據時,是在中斷方式控製下實現的它能自動提供中斷矢量(低字節),而不需要另加邏輯電路。
全部輸入、輸出電平都與電平兼容。輸出線都能驅動複合晶體管單一的5電源和單相時鍾信號。
根據係統時鍾頻率,選用不同型號的,分別用於係統時鍾。40條引腳。外殼封裝分別有三種:陶瓷、陶瓷浸漬和塑料。
內部是由總線接口、內部控製邏輯、中斷控製邏輯、4口1/0邏輯和8口1/0邏輯等電路組成。總線接口允許不要外加邏輯電路,直接與連接。當然,若要組成較大的係統,還得增加驅動器、口地址譯碼器等。內部控製邏輯使口數據總線與外部設備接口同步。6口或8口1/0(兩個1/0口幾乎是一樣的),每個口由數據輸入寄存器、數據輸出寄存器、聯絡控製邏輯和控製寄存器等組成。
隻用於位控方式,由外設1/0線達到指定狀態產生中斷請求,外設與之間的數據傳送,都通過數據輸入寄存器和數據輸出寄存器。通過指令將數據寫入輸出寄存器(8位);通過指令從輸入寄存器將數據讀入哪。
方式控製寄存器在四種方式中選定一種,指定在字節輸入、字節輸出、字節輸入/輸出或位輸入/輸出工作方式中的一種方式工作。
輸入/輸出選擇寄存器(8位)決定在位輸入/輸出工作方式時,8根數據引腳中哪一根(位)是輸入線,哪一根(位)是輸出線。這個寄存器中的每一位控製相對應的一根口數據引腳(位)。若此寄存器某位是“1”,相對應的口數據引腳(位)是輸入;寄存器某位是“0”,即相對應的口數據引腳(位)是輸出。
屏蔽控製寄存器(2位)隻用於位輸入/輸出(位控)工作方式。由它來設定口子輸入線請求中斷的兩個條件:第一,口子輸入線(位)是高電平有效還是低電平有效;第二,任意一根未被屏蔽的輸入線(位)有效時即可請求中斷(“或”的關係),還是要在所有未被屏蔽的輸入線(位)都有效時才能請求中斷(“與”的關係)。
屏蔽寄存器(8位)規定口子的某一位被屏蔽或不被屏蔽。當它的某一位被置為“1”,對應口子的位即被屏蔽;反之,置成“0”,對應口子的位即不被屏蔽而有效。屏蔽寄存器、屏蔽控製寄存器和輸入/輸出選擇寄存器三者僅用於位輸入/輸出(位控)工作方式,
每個口子總共有六個寄存器,上麵介紹的啟四個寄存器統稱為控製寄存器,對於向一個口隻占用一個地址。而前兩個數據寄存器對於同一個口也隻占用一個口地址。
中斷控製邏輯的功能是:在外部設備有中斷請求時,能記下中斷請求(中斷掛號)。這時如果它的上級沒有中斷請求(即1)時,向發出中斷請求信號。當級中斷請求被響應時,使封鎖下級中斷請求,在發出中斷響應信號和有效時,把中斷矢量寄存器的內容送上數據總線,並把變為高電平;在中斷返回後,使恢複初始伏態。
7.2-2 PIO 的框圖和引腳
選定控製寄存器還是數據寄存器的輸入信號。當該信號為高電平時,訪問控製寄存器,通過數據總線寫入的信息是命令;當該信號為低電平時,訪問數據寄存器,即通過數據總線傳送數據。通常將此引腳接至的地址總線入位。
1.由三根信號線的含義和連接,決定了的地址。通常一片占有四個相鄰的口地址。對不同的微型機係統或不同連接的芯片,地址可能是不同的。
取指令機器周期信號輸入,低電平有效,把它作一些內部操作的同步脈衝。是周期由輸入,低電平有效。是中斷允許輸入信號輸入,高電平有效、當用了一個以上的中斷源器件時,本信號被用來構成優先權中斷鏈。
2.寄存器準備好(輸出,高電平有效)。此信號的功能與選定的工作方式之關係如下,
①輸出方式:當變為有效時,表示的輸出寄存器已經裝有數據信息且數據總線入,上的數據也已經穩定了。也就是說,向外部設備傳送數據信息已經作好準備了。
②輸入方式:當的輸入寄存器已空比如已取過數據、已準備好接受外部設備送來的信息時,就有效。