第5章?8086 系統(tǒng)時序和微機總線?習題答案(部分)
5.1 什么是時鐘周期、總線周期、指令周期?
答:8086CPU 執(zhí)行一條指令是由取指令、譯碼和執(zhí)行等操作組成的,為了使?8086CPU
的各種操作協(xié)調(diào)同步進行,8086CPU 必須在時鐘信號?CLK 控制下工作,時鐘信號是一個
周期性的脈沖信號,一個時鐘脈沖的時間長度稱為一個時鐘周期(Clock Cycle),是時鐘頻率
(主頻)的倒數(shù),時鐘周期是計算機系統(tǒng)中的時間基準。8086CPU 要通過總線才能與外部交換信息,CPU 通過總線接口單元與外部交換一次信息,稱為一次總線操作,所耗用的時間稱為一個總線周期(Bus Cycle),也稱機器周期(MachineCycle)。一個總線周期由若干個時鐘周期組成,總線操作的類型不同,總線周期也不同。一個總線周期內(nèi)完成的數(shù)據(jù)傳輸,一般有傳送地址和傳送數(shù)據(jù)兩個過程。8086CPU 執(zhí)行一條指令所需要的時間稱為指令周期(Instruction Cycle),一個指令周期由若干個總線周期組成,
5.3 8086 和8088 有何區(qū)別?
答:這兩種CPU 的主要區(qū)別如下:
⑴?外部數(shù)據(jù)總線位數(shù):8086 CPU 的外部數(shù)據(jù)總線有16 位,在一個總線周期內(nèi)可輸入/
輸出一個字(16 位數(shù)據(jù)),使系統(tǒng)處理數(shù)據(jù)和對中斷響應的速度得以加快;而8088 CPU 的
外部數(shù)據(jù)總線為8 位,在一個總線周期內(nèi)只能輸入/輸出一個字節(jié)(8 位數(shù)據(jù))。
⑵?指令隊列容量:8086 CPU 的指令隊列可容納6 個字節(jié),且在每個總線周期中從存儲
器中取出2 個字節(jié)的指令代碼填入指令隊列,這可提高取指操作和其它操作的并行率,從而
提高系統(tǒng)工作速度;而8088 CPU 的指令隊列只能容納4 個字節(jié),且在每個總線周期中能取
一個字節(jié)的指令代碼,從而增長了總線取指令的時間,在一定條件下可能影響取指令操作和
其它操作的并行率。
⑶?引腳特性:兩種CPU 的引腳功能是相同的,但有以下幾點不同:
1) AD15~AD0 的定義不同:在8086 中都定義為地址/數(shù)據(jù)復用總線;而8088 中,由于
只需8 條數(shù)據(jù)總線,因此,對應于8086 的AD15~AD8 這8 條引腳定義為A15~A8,只作
地址線使用。
2) 34 腳的定義不同:在8086 中定義為BHE信號;而在8088 中定義為SSO,它與DT / R,
IO /M一起用作最小方式下的周期狀態(tài)信號。
3) 28 腳的相位不同,在8086 中為M / IO;而在8088 中被倒相,改為IO/M,以便與
8080/8085 系統(tǒng)的總線結(jié)構兼容。
5.4 8086 是怎樣解決地址線和數(shù)據(jù)線的復用問題的?ALE 的作用是什么?
答:(1)、AD15-AD0 采用分時的多路轉(zhuǎn)換方法來實現(xiàn)對地址線和數(shù)據(jù)線的復用。在總
線周期T1 狀態(tài)下,這些引線表示為低16 位地址線,在總線周期為T2、T3、TW 狀態(tài),這
些引線用作數(shù)據(jù)總線,可見對復用信號是用時間來加以劃分的,他要求在T1 狀態(tài)下先出現(xiàn)
低16 位地址時,用地址鎖存器加以鎖存,隨后的T 狀態(tài),即使這些用作數(shù)據(jù)線,而低16
位地址線的地址狀態(tài)去被記錄保存下來,并達到地址總線上。
(2)、ALE 是地址鎖存允許信號,高電平有效。