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