(4)非屏蔽中斷輸入信號負跳變信號觸發。非屏蔽中斷請求優先於胃請求,且總是在出前指令末尾被識別,與允許中斷的觸發器的伏態無關,即不能被軟件禁止。使自動地轉到的位置重新啟動,即自動地把程序計數器內容置,此時在接受中斷前的程序計數器的內容自動地保在外部堆棧中,以便中斷服務結束能返回到被中斷的程序。應注意的是:連續的周期能夠阻礙當前指令流程的結束,且信號將優先於對的作用。
(5)複位信號
輸入,低電平有效。此信號使程序計數器清“0”,並處於初始狀態:
①允許中斷觸發器處於禁止狀態;
②置寄存器的內容。
③置入存器的內容。
④複位信號有效時,地址總線和數據總線處於高阻狀態,且所有的輸出控製信號均為無效。
3.第三類:係統總線的控製信號
(1)總線請求信號輸入,低電平為有效。此信號用來請求使用的地址總線、數據總線和三態輸出控製信號線,使它們處於高阻抗狀態,以使其他設備能夠控製這鸕總線。當起作用時,一旦當前的口機器周期結束,將使它們處於高阻狀態。
(2)總線回答信號輸出,低電平有效。此信號用來向請求的設備指出的地址總線、數據總線和三態控製位號線已經呈現高阻狀態,外麵的設備現在可以控製這些信號線。
2.2-2 Z80和8080讀、寫和中斷信號的對比
用戶在使用Z80和8080支持芯片組成係統時要注意,盡管Z80的指令係統與8080是向下兼容的,然而,兩者的信號線不能兼容。下述一些信號線綜合方式可供參考。
係統控製器的存儲器讀、存儲器寫、1/0讀和1/0寫四根信號線是分開的。
Z80沒有中斷響應信號,這隻要把和結合起來就可以產生。
2.3 Z80-CPU 的時序
動作是周期性的,需要精確的定時。基本定時脈衝由外部振蕩器產生,接至的輸入端。兩個定時脈衝上升沿之間的持續時間是一個時鍾周期,它等於機器處於一種狀態的持續時間,因此也叫做7狀態,或7周期,周期的長短是固定的,它取決於時鍾頻率。
有些指令在執行時自動插入等待狀態或通過—信號,請求插入等待狀態。這時一個周期就可能多於4個狀態。也就是說機器周期長短是不固定的。有下列七個基本機器周期,取指令操作碼、存儲器讀或寫、1/0設備讀或寫、總線請求響應、中斷要求響應、非屏蔽中斷請求響應,以及指令退出。一條指令從取出到執行完畢的持續時間叫做指令周期。根據指令內容的不同,執行一條指令可能端要一至六個擬周期,長短與指令種類有關。
任何一條指令的第一機器周期從是一個取指令操作碼周期,它可能有四個、五個或六個周期。其次的兩個機器周期是執行與存儲器或1/0設備之間的數據傳送,它們包括三至五個7周期。這些機器周期都可能因插入等待狀態而延長。
2.3-1 取指令操作碼周期
從機器周期(取指令操作碼)的波形的內容在周期一開始就放到地址總線上即利用的上升沿實現的內容送到地址總線上,同時運變低。經過半個時鍾周期後,應信號發生作用(變低)。由於這時發給存儲器的地址已經穩定,所以的下降沿可以直接用來作為存儲器的片選信號。而1信號也發生作用(變低),和一起。打開存儲器數據輸出的三態門,給定地址的存儲器的數據放到的數據總線上。是在的上升沿,從數據總線上取出來自存儲器的數據(即指令操作碼)的,同時這個上升沿又被用來關閉和信號(恢複高電平)。這樣,便可以保證在不起作用以前就已經把數據取入(存入指令寄存器)。是用來刷新動態存儲器的時間利用這段時間對取來的指令譯碼。而在這段時間。在時間內,地址總線的低7位包含一個存儲器刷新地址,同時,信號起作用(變低),作為動態存儲器刷新讀出信號。注意,在刷新時期不產生信號。以防止數據從存儲器進入到數據總線。而頁位號和信號一起用來執行對一行存儲單元的刷新讀出。
2.3-2存儲器讀和寫周期
表示存儲器讀和寫的信號波形,這兩種周期包含三個時鍾時期。若存儲器通過信號請求等待,就會插入,則多於三個時鍾周期。與取指令周期一樣,用了和信號作為打開存儲器數據輸出的三態門。在存儲器寫周期中,當地址穩力線將起作用,這可以用來作為任何半導體存儲器的讀/寫脈衝。胃言號在地址總線和數據總線改變其狀態以前半個時鍾周期的時候重新升高(不起作用)。
必須注意,在存儲器讀周期中,數據是在時鍾後沿從數據總線上檢取的而在周期內,數據是用時鍾的前沿檢取的。此外,在時鍾的下降沿去檢測了線,線上是高電平,表示沒有請求插入等待狀態7議的信號。如果存儲器速度慢,則在12時鍾下降前,應把胃線拉低,以便插入議。
描述請求信號如何延長存儲器讀和寫周期,這兩個周期畫在同一張圖上。然讀和寫周期是永遠不會同時出現的,
2.3-3輸入和輸出周期
注意,這裏在以後自動插入一個等待伏態了這是由線路工作速度限製所引起的。因為在1/0操作時,在信號變低(起作用)到口必須檢測信號(72時鍾後沿)之間的時間太短,因此,如果不插入這個,則一旦真有請求等待信號作用時,端口便有是夠的時間去啟動等待信號線。
2.3-4總線請求響應周期
總線求響應周期橾作。在任何機器周期的開啟一個時鍾脈衝上升沿去檢取總線諒求信號。
將在下一個時鍾脈衝的上升沿發出入義(變低),同時將地址總線、數據總線和三態的控製總線置於高阻抗狀態。這時,外圍設備將接管總線,而使數據直接在存儲器和外圍設備之間進行交換,也就是進入總線可用狀態。,在總線可用狀態,用上升沿去檢取線。一旦是高電平,就立即結束總線請求狀態,進入下一個機器周期。
響應總線請求的最長時間是一個機器周期長度。假如用戶要使用很長的周期,而該Z80係統又是用了動態存儲器,那末,在整個總線浮空期間,必須由外麵的邏輯電路來執行動態存儲器的刷新操作。當處於總線請求周期。
2.3-5中斷請求響應周期
Z80有兩條中斷請求線,一條是屏蔽中斷請求線矹,另一條是非屏蔽中斷請求線
屏蔽中斷請求信號在執行任何指令的最後一個時鍾脈衝的上升沿去檢取中斷請求信號。假如內部軟件控製的中斷允許觸發器沒有置,或者信號正在作用(低電平),則將不會接受這個請求。如果信號被接受,則產生一個特殊的周期。在這個周期內。用這兩個信號使申請中斷設備把8位地址矢量放到數據總線上(這個矢量的形成取決於Z80的中斷響應方式,詳見第五章)。此外,在這個中斷響應周期中,自動插入兩個等待狀態,其目的是使外麵線路有是夠時間實現優先權判別的中斷管理。這兩個等待狀態使有是夠時間來識別哪一個1/0設備應該送出中斷響應矢量。
它檢取目信號的時間與屏蔽中斷一樣,但此信號優先於屏蔽中斷,而且不受觸發器的禁止。以對非屏蔽中斷的響應類似於正常的取指令周期。而差別隻是不管數據總線上的內容,自動把內容存儲到外部堆找中去,然後轉移到重新啟動。
2.3-6暫停指令周期
當執行軟件暫停指令時,開始執行空操作,一直到接受中斷請求為止(可以是屏蔽中斷請求也可以是非屏蔽中斷請求)。在時鍾的上升沿去檢取這兩條線上的中斷請求。在接受中斷請求以後,將在下一個時鍾脈衝的上升沿退出暫停狀態。其後一個周期將是一個中斷響應周期。這個中斷響應周期的形式將取決於接受的是屏蔽中斷還是非屏蔽中斷。如果兩種中斷同時到達,則將優先接受非屏蔽中斷。在暫停狀態執行空操作指令的目的是維持存儲器刷新。在暫停狀態的每一個機器周期是一個正常的周期。隻不過從存儲器來的數據不被接收。同時在內部強迫執行空操作指令。在暫停狀態時,有一個暫停信號向外界輸出,表示口正處在暫停狀態。