第1章 緒論
1.?計算機分那幾類?各有什么特點?
答:傳統(tǒng)上分為三類:大型主機、小型機、微型機。大型主機一般為高性能的并行處理系統(tǒng), 存儲容量大,事物處理能力強,可為眾多用戶提供服務(wù)。小型機具有一定的數(shù)據(jù)處理能力,提供一定用戶規(guī)模的信息服務(wù),作為部門的信息服務(wù)中心。微型機一般指在辦公室或家庭的桌面或可移動的計算系統(tǒng),體積小、價格低、具有工業(yè)化標(biāo)準(zhǔn)體系結(jié)構(gòu),兼容性好。
2.?簡述微處理器、微計算機及微計算機系統(tǒng)三個術(shù)語的內(nèi)涵。
答:微處理器是微計算機系統(tǒng)的核心硬件部件,對系統(tǒng)的性能起決定性的影響。微計算機包括微處理器、存儲器、I/O接口電路及系統(tǒng)總線。微計算機系統(tǒng)是在微計算機的基礎(chǔ)上配上相應(yīng)的外部設(shè)備和各種軟件,形成一個完整的、獨立的信息處理系統(tǒng)。
3.?80X86微處理器有幾代?各代的名稱是什么?
答:從體系結(jié)構(gòu)上可分為3代: ??8080/8085:8位機。 -?8086/8088/80286:16位機。?80386/80486:32位機.
第2章 微處理器結(jié)構(gòu)及微計算機的組成
1.?8086是多少位的微處理器?為什么?
答:8086是16位的微處理器,其內(nèi)部數(shù)據(jù)通路為16位,對外的數(shù)據(jù)總線也是16位。
2.?EU與BIU各自的功能是什么?如何協(xié)同工作?
答:EU是執(zhí)行部件,主要的功能是執(zhí)行指令。BIU是總線接口部件,與片外存儲器及I/O接口電路傳輸數(shù)據(jù)。EU經(jīng)過BIU進(jìn)行片外操作數(shù)的訪問,BIU為EU提供將要執(zhí)行的指令。EU與BIU可分別獨立工作,當(dāng)EU不需BIU提供服務(wù)時,BIU可進(jìn)行填充指令隊列的操作。
3.?8086/8088與其前一代微處理器8085相比,內(nèi)部操作有什么改進(jìn)?
答:8085為8位機,在執(zhí)行指令過程中,取指令與執(zhí)行執(zhí)令都是串行的。8086/8088由于內(nèi)部有EU和BIU兩個功能部件,可重疊操作,提高了處理器的性能。
4.?8086/8088微處理器內(nèi)部有那些寄存器,它們的主要作用是什么?
答:執(zhí)行部件有8個16位寄存器,AX、BX、CX、DX、SP、BP、DI、SI。AX、BX、CX、DX一般作為通用數(shù)據(jù)寄存器。SP為堆棧指針存器,BP、DI、SI在間接尋址時作為地址寄存器或變址寄存器??偩€接口部件設(shè)有段寄存器CS、DS、SS、ES和指令指針寄存器IP。段寄存器存放段地址,與偏移地址共同形成存儲器的物理地址。IP的內(nèi)容為下一條將要執(zhí)行指令的偏移地址,與CS共同形成下一條指令的物理地址。
5.?8086對存儲器的管理為什么采用分段的辦法?
答:8086是一個16位的結(jié)構(gòu),采用分段管理辦法可形成超過16位的存儲器物理地址,擴大對存儲器的尋址范圍 (1MB,20位地址)。若不用分段方法,16位地址只能尋址64KB空間。
6.在8086中,邏輯地址、偏移地址、物理地址分別指的是什么?具體說明。
答:邏輯地址是在程序中對存儲器地址的一種表示方法,由段地址和段內(nèi)偏移地址兩部分組成,如1234H:0088H。偏移地址是指段內(nèi)某個存儲單元相對該段首地址的差值,是一個16位的二進(jìn)制代碼。物理地址是8086芯片引線送出的20位地址碼,用來指出一個特定的存儲單元。
7.給定一個存放數(shù)據(jù)的內(nèi)存單元的偏移地址是20C0H,(DS)=0C00EH,求出該內(nèi)存單元的物理地址。
答:物理地址:320F8H。
8.8086/8088為什么采用地址/數(shù)據(jù)引線復(fù)用技術(shù)?
答:考慮到芯片成本,8086/8088采用40條引線的封裝結(jié)構(gòu)。40條引線引出8086/8088的所有信號是不夠用的,采用地址/數(shù)據(jù)線復(fù)用引線方法可以解決這一矛盾,從邏輯角度,地址與數(shù)據(jù)信號不會同時出現(xiàn),二者可以分時復(fù)用同一組引線。
9.?8086與8088的主要區(qū)別是什么?
答:8086有16條數(shù)據(jù)信號引線,8088只有8條;8086片內(nèi)指令預(yù)取緩沖器深度為6字節(jié),8088只有4字節(jié)。
10.?怎樣確定8086的最大或最小工作模式?最大、最小模式產(chǎn)生控制信號的方法有何不同
答:引線MN/MX#的邏輯狀態(tài)決定8086的工作模式,MN/MX#引線接高電平,8086被設(shè)定為最小模式,MN/MX#引線接低電平,8086被設(shè)定為最大模式。
最小模式下的控制信號由相關(guān)引線直接提供;最大模式下控制信號由8288專用芯片譯碼后提供,8288的輸入為8086的S2#~S0#三條狀態(tài)信號引線提供。
11.?8086被復(fù)位以后,有關(guān)寄存器的狀態(tài)是什么?微處理器從何處開始執(zhí)行程序?
答:標(biāo)志寄存器、IP、DS、SS、ES和指令隊列置0,CS置全1。處理器從FFFFOH存儲單元取指令并開始執(zhí)行。
12.?8086基本總線周期是如何組成的?各狀態(tài)中完成什么基本操作?
答:基本總線周期由4個時鐘(CLK)周期組成,按時間順序定義為T1、T2、T3、T4。在T1期間8086發(fā)出訪問目的地的地址信號和地址鎖存選通信號ALE;T2期間發(fā)出讀寫命令信號RD#、WR#及其它相關(guān)信號;T3期間完成數(shù)據(jù)的訪問;T4結(jié)束該總線周期。
13.?結(jié)合8086最小模式下總線操作時序圖,說明ALE、M/IO#、DT/R#、RD#、READY信號的功能。
答:ALE為外部地址鎖存器的選通脈沖,在T1期間輸出;M/IO#確定總線操作的對象是存儲器還是I/O接口電路,在T1輸出;DT/R#為數(shù)據(jù)總線緩沖器的方向控制信號,在T1輸出;RD#為讀命令信號;在T2輸出;READY信號為存儲器或I/O接口“準(zhǔn)備好”信號,在T3期間給出,否則8086要在T3與T4間插入Tw等待狀態(tài)。
14.?8086中斷分哪兩類?8086可處理多少種中斷?
答:8086中斷可分為硬件中斷和軟件中斷兩類。8086可處理256種類型的中斷。
15.?8086可屏蔽中斷請求輸入線是什么?“可屏蔽”的涵義是什么?
答:可屏蔽中斷請求輸入線為INTR;“可屏蔽”是指該中斷請求可經(jīng)軟件清除標(biāo)志寄存器中IF位而被禁止。
16.?8086的中斷向量表如何組成?作用是什么?
答:把內(nèi)存0段中0~3FFH區(qū)域作為中斷向量表的專用存儲區(qū)。該區(qū)域存放256種中斷的處理程序的入口地址,每個入口地址占用4個存儲單元,分別存放入口的段地址與偏移地址。
17.8086如何響應(yīng)一個可屏蔽中斷請求?簡述響應(yīng)過程。
答:當(dāng)8086收到INTR的高電平信號時,在當(dāng)前指令執(zhí)行完且IF=1的條件下,8086在兩個總線周期中分別發(fā)出INTA#有效信號;在第二個INTA#期間,8086收到中斷源發(fā)來的一字節(jié)中斷類型碼;8086完成保護(hù)現(xiàn)場的操作,CS、IP內(nèi)容進(jìn)入堆棧,請除IF、TF;8086將類型碼乘4后得到中斷向量表的入口地址,從此地址開始讀取4字節(jié)的中斷處理程序的入口地址,8086從此地址開始執(zhí)行程序,完成了INTR中斷請求的響應(yīng)過程。
18.?什么是總線請求?8086在最小工作模式下,有關(guān)總線請求的信號引腳是什么?
答:系統(tǒng)中若存在多個可控制總線的主模塊時,其中之一若要使用總線進(jìn)行數(shù)據(jù)傳輸時,需向系統(tǒng)請求總線的控制權(quán),這就是一個總線請求的過程。8086在最小工作模式下有關(guān)總線請求的信號引腳是HOLD與HLDA。
19.?簡述在最小工作模式下,8086如何響應(yīng)一個總線請求?
答:外部總線主控模塊經(jīng)HOLD引線向8086發(fā)出總線請求信號;8086在每個時鐘周期的上升沿采樣HOLD引線;若發(fā)現(xiàn)HOLD=1則在當(dāng)前總線周期結(jié)束時(T4結(jié)束)發(fā)出總線請求的響應(yīng)信號HLDA;8086使地址、數(shù)據(jù)及控制總線進(jìn)入高阻狀態(tài),讓出總線控制權(quán),完成響應(yīng)過程。
20.在基于8086的微計算機系統(tǒng)中,存儲器是如何組織的?是如何與處理器總線連接的?
BHE#信號起什么作用?
答:8086為16位處理器,可訪問1M字節(jié)的存儲器空間;1M字節(jié)的存儲器分為兩個512K字節(jié)的存儲體,命名為偶字節(jié)體和奇字節(jié)體;偶體的數(shù)據(jù)線連接D7~D0,“體選”信號接地址線A0;奇體的數(shù)據(jù)線連接D15~D8,“體選”信號接BHE#信號;BHE#信號有效時允許訪問奇體中的高字節(jié)存儲單元,實現(xiàn)8086的低字節(jié)訪問、高字節(jié)訪問及字訪問。
21.“80386是一個32位微處理器”,這句話的涵義主要指的是什么?
答:指80386的數(shù)據(jù)總線為32位,片內(nèi)寄存器和主要功能部件均為32位,片內(nèi)數(shù)據(jù)通路為32位。
22.80X86系列微處理器采取與先前的微處理器兼容的技術(shù)路線,有什么好處?有什么不足?
答:好處是先前開發(fā)的軟件可以在新處理器組成的系統(tǒng)中運行,保護(hù)了軟件投資。缺點是處理器的結(jié)構(gòu)發(fā)展受到兼容的約束,為了保持兼容性增加了硅資源的開銷,增加了結(jié)構(gòu)的復(fù)雜性。
23.80386內(nèi)部結(jié)構(gòu)由哪幾部分組成?簡述各部分的作用。
答:80386內(nèi)部結(jié)構(gòu)由執(zhí)行部件(EU)、存儲器管理部件(MMU)和總線接口部件(BIU)三部分組成。EU包括指令預(yù)取部件、指令譯碼部件、控制部件、運算部件及保護(hù)檢測部件,主要功能是執(zhí)行指令。存儲器管理部件包括分段部件、分頁部件,實現(xiàn)對存儲器的分段分頁式的管理,將邏輯地址轉(zhuǎn)換成物理地址??偩€接口部件作用是進(jìn)行片外訪問:對存儲器及I/O接口的訪問、預(yù)取指令;另外的作用是進(jìn)行總線及中斷請求的控制
24.80386有幾種存儲器管理模式?都是什么?
答:80386有三種存儲器管理模式,分別是實地址方式、保護(hù)方式和虛擬8086方式
25.在不同的存儲器管理模式下,80386的段寄存器的作用是什么?
答:在實地址方式下,段寄存器與8086相同,存放段基地址。在保護(hù)方式下,每個段寄存器還有一個對應(yīng)的64位段描述符寄存器,段寄存器作為選擇器存放選擇符。在虛擬8086方式下,段寄存器的作用與8086相同。
26.試說明虛擬存儲器的涵義,它與物理存儲器有什么區(qū)別?80386虛擬地址空間有多大?
答:虛擬存儲器是程序員面對的一個巨大的、可尋址的存儲空間,這個空間是內(nèi)存與外存聯(lián)合形成的,在操作系統(tǒng)的管理下,程序可象訪問內(nèi)存一樣去訪問外存而獲得所需數(shù)據(jù)。物理存儲器是指機器實際擁有的內(nèi)存儲器,不包括外存。80386的虛擬地址空間為64TB大。
27.試說明描述符的分類及各描述符的作用。
答:描述符分為三類:存儲器段描述符、系統(tǒng)段描述符、門描述符。存儲器段描述符由8字節(jié)組成,它用來說明一個段中保存信息的情況。32位段基地址和20位段界限值定位了該段在存儲空間中的位置,其它有關(guān)位決定訪問權(quán)限及段的長度單位。系統(tǒng)段描述符與存儲器段描述符大多數(shù)字節(jié)段相同,有關(guān)訪問權(quán)及屬性字節(jié)段有些不同。門描述符用來改變程序的特權(quán)級別、切換任務(wù)的執(zhí)行以及指出中斷服務(wù)程序的入口。
28.描述符表的作用是什么?有幾類描述符表?
答:描述符表順序存放一系列描述符,描述符表定義了在80386系統(tǒng)中被使用的全部存儲器段。有3類描述符表,即全局描述符表、局部描述符表及中斷描述符表。
29.?80386的分段部件是如何將邏輯地址變?yōu)榫€性地址的?
答:分段部件根據(jù)段選擇符從全局描述符表或局部描述符表中取出對應(yīng)的段描述符。把段描述符32位段基地址與邏輯地址中的32位偏移量相加就形成了線性地址。
30.?80386中如何把線性地址變?yōu)槲锢淼刂罚?/span>
答:分段部件形成的32位線性地址中高10位作為尋址頁目錄表的偏移量,與控制寄存器CR3中頁目錄表基地址共同形成一個32位的地址指向頁表中的一個頁項,即為一個頁面描述符。該頁面項中高20位作為頁面基地址,線性地址的低12位為偏移量,相加后形成指向某一存儲單元的32位物理地址。若禁止分頁功能,線性地址就是物理地址。
31.?80386對中斷如何分類?
答:80386把中斷分為外部中斷和內(nèi)部中斷兩大類,外部中斷經(jīng)NMI和INTR引線輸入請求信號。內(nèi)部中斷也叫內(nèi)部異常中斷,分為陷阱中斷、內(nèi)部故障異常中斷、異常終止中斷。
32.?80386在保護(hù)方式下中斷描述符表與8086的中斷向量表有什么不同?
答:8086工作在實地址方式,向量表是在存儲器的0段中最低1024字節(jié)內(nèi)存中。80386在保護(hù)方式下要通過中斷描述符表中的描述符訪問虛擬空間的中斷向量,中斷描述符表的位置不是固定的,要由IDTR寄存器實現(xiàn)在虛擬空間的定位。
33.?簡述80386在保護(hù)方式下的中斷處理過程。
答:80386響應(yīng)中斷后,接收由中斷源提供的類型碼并將其乘8,與IDTR寄存器中基地址相加,指出中斷描述符的位置,讀出中斷描述符,依其中的段選擇符及條件決定從兩個描述符表LDT或GDT中的一個得到段描述符,形成中斷服務(wù)程序入口所在存儲器單元的線性地址。
?微計算機中處理器與I/O設(shè)備間數(shù)據(jù)傳輸控制方法
1.?試說明一般中斷系統(tǒng)的組成和功能。
答:處理器內(nèi)部應(yīng)有中斷請求信號的檢測電路,輸出中斷響應(yīng)信號,保存斷點的邏輯,轉(zhuǎn)向中斷處理程序的邏輯,中斷返回邏輯。系統(tǒng)中要有一中斷控制器,管理多個中斷源,提供處理機所需的中斷處理信息。系統(tǒng)中請求中斷處理的I/O接口電路要有提供中斷請求信號及接收中斷響應(yīng)信號的邏輯。
2.?什么是中斷類型碼、中斷向量、中斷向量表?在基于8086/8088的微機系統(tǒng)中,中斷類型碼和中斷向量之間有什么關(guān)系?
答:處理機可處理的每種中斷的編號為中斷類型碼。中斷向量是指中斷處理程序的入口地址,由處理機自動尋址。中斷向量表是存放所有類型中斷處理程序入口地址的一個默認(rèn)的內(nèi)存區(qū)域。在8086系統(tǒng)中,中斷類型碼乘4得到向量表的入口,從此處讀出4字節(jié)內(nèi)容即為中斷向量。
3.?什么是硬件中斷和軟件中斷?在PC機中兩者的處理過程有什么不同?
答:硬件中斷是通過中斷請求線輸入電信號來請求處理機進(jìn)行中斷服務(wù);軟件中斷是處理機內(nèi)部識別并進(jìn)行處理的中斷過程。硬件中斷一般是由中斷控制器提供中斷類型碼,處理機自動轉(zhuǎn)向中斷處理程序;軟件中斷完全由處理機內(nèi)部形成中斷處理程序的入口地址并轉(zhuǎn)向中斷處理程序,不需外部提供信息。
4.?試敘述基于8086/8088的微機系統(tǒng)處理硬件中斷的過程。
答:以INTR請求為例。當(dāng)8086收到INTR的高電平信號時,在當(dāng)前指令執(zhí)行完且IF=1的條件下,8086在兩個總線周期中分別發(fā)出INTA#有效信號;在第二個INTA#期間,8086收到中斷源發(fā)來的一字節(jié)中斷類型碼;8086完成保護(hù)現(xiàn)場的操作,CS、IP內(nèi)容進(jìn)入堆棧,清除IF、TF;8086將類型碼乘4后得到中斷向量入口地址,從此地址開始讀取4字節(jié)的中斷處理程序的入口地址,8086從此地址開始執(zhí)行程序,完成了INTR中斷請求的響應(yīng)過程。
5.?在PC機中如何使用“用戶中斷”入口請求中斷和進(jìn)行編程?
答:PC機中分配給用戶使用的中斷是IRQ9,經(jīng)擴展插槽B4引出,故把用戶的中斷請求線連接到B4上。在應(yīng)用程序中,利用25H號系統(tǒng)調(diào)用將中斷服務(wù)程序的入口地址寫入對應(yīng)0AH類型中斷對應(yīng)的中斷向量表中去。在應(yīng)用程序中把主片8259A D2屏蔽位清0,把從片8259A D1屏蔽位清0,使主片的IR2、從片的IR1可以輸入中斷請求。中斷服務(wù)程序結(jié)束前向主片8259A發(fā)中斷結(jié)束命令。應(yīng)用程序結(jié)束之前對主片的IR2和從片的IR1進(jìn)行屏蔽,關(guān)閉用戶中斷請求。
6.?8259A中斷控制器的功能是什么?
答:8259A中斷控制器可以接受8個中斷請求輸入并將它們寄存。對8個請求輸入進(jìn)行優(yōu)先級判斷,裁決出最高優(yōu)先級進(jìn)行處理,它可以支持多種優(yōu)先級處理方式。8259A可以對中斷請求輸入進(jìn)行屏蔽,阻止對其進(jìn)行處理。8259A支持多種中斷結(jié)束方式。8259A與微處理器連接方便,可提供中斷請求信號及發(fā)送中斷類型碼。8259A可以進(jìn)行級連以便形成多于8級輸入的中斷控制系統(tǒng)。
7.?8259A初始化編程過程完成那些功能?這些功能由那些ICW設(shè)定?
答:初始化編程用來確定8259A的工作方式。ICW1確定8259A工作的環(huán)境:處理器類型、中斷控制器是單片還是多片、請求信號的電特性。ICW2用來指定8個中斷請求的類型碼。ICW3在多片系統(tǒng)中確定主片與從片的連接關(guān)系。ICW4用來確定中斷處理的控制方法:中斷結(jié)束方式、嵌套方式、數(shù)據(jù)線緩沖等。
8.?8259A在初始化編程時設(shè)置為非中斷自動結(jié)束方式,中斷服務(wù)程序編寫時應(yīng)注意什么?
答:在中斷服務(wù)程序中,在返回主程序之前按排一條一般中斷結(jié)束命令指令,8259A將ISR中最高優(yōu)先級位置0,結(jié)束該級中斷處理以便為較低級別中斷請求服務(wù)。
9.?8259A的初始化命令字和操作命令字有什么區(qū)別?它們分別對應(yīng)于編程結(jié)構(gòu)中那些內(nèi)部寄存器?
答:8259A的工作方式通過微處理器向其寫入初始化命令字來確定。初始化命令字分別裝入ICW1~ICW4內(nèi)部寄存器。8259A在工作過程中,微處理器通過向其寫入操作命令字來控制它的工作過程。操作命令字分別裝入OCW1~OCW3內(nèi)部寄存器中。8259A占用兩個端口號,不同的命令字對應(yīng)不同的端口,再加上命令字本身的特征位及加載的順序就可以正確地把各種命令字寫入對應(yīng)的寄存器中。
10.8259A的中斷屏蔽寄存器IMR與8086中斷允許標(biāo)志IF有什么區(qū)別?
答:IF是8086微處理器內(nèi)部標(biāo)志寄存器的一位,若IF=0,8086就不響應(yīng)外部可屏蔽中斷請求INTR引線上的請求信號。8259A有8個中斷請求輸入線,IMR中的某位為1,就把對應(yīng)這位的中斷請求IR禁止掉,無法被8259A處理,也無法向8086處理器產(chǎn)生INTR請求。
11.?若8086系統(tǒng)采用單片8259A中斷控制器控制中斷,中斷類型碼給定為20H,中斷源的請求線與8259A的IR4相連,試問:對應(yīng)該中斷源的中斷向量表入口地址是什么?若中斷服務(wù)程序入口地址為4FE24H,則對應(yīng)該中斷源的中斷向量表內(nèi)容是什么,如何定位?
答:中斷向量表入口地址為:0段的0090H地址。對應(yīng)4FE24H中斷服務(wù)程序入口,在向量表中定位情況:(0090H)=24H、(0091H)=00H、(0092H)=E0H、(0093H)=4FH。
12.?試按照如下要求對8259A設(shè)定初始化命令字:8086系統(tǒng)中只有一片8259A,中斷請求信號使用電平觸發(fā)方式,全嵌套中斷優(yōu)先級,數(shù)據(jù)總線無緩沖,采用中斷自動結(jié)束方式。中斷類型碼為20H~27H,8259A的端口地址為B0H和B1H。
答:ICW1=1BH (送B0H端口),ICW2=20H (送B1H端口),ICW4=03H (送B1H端口)
13.?比較中斷與DMA兩種傳輸方式的特點。
答:中斷方式下,外設(shè)需與主機傳輸數(shù)據(jù)時要請求主給予中斷服務(wù),中斷當(dāng)前主程序的執(zhí)行,自動轉(zhuǎn)向?qū)?yīng)的中斷處理程序,控制數(shù)據(jù)的傳輸,過程始終是在處理器所執(zhí)行的指令控制之下。
直接存儲器訪問(DMA)方式下,系統(tǒng)中有一個DMA控制器,它是一個可驅(qū)動總線的主控部件。當(dāng)外設(shè)與主存儲器之間需要傳輸數(shù)據(jù)時,外設(shè)向DMA控制器發(fā)出DMA請求,DMA控制器向中央處理器發(fā)出總線請求,取得總線控制權(quán)以后,DMA控制器按照總線時序控制外設(shè)與存儲器間的數(shù)據(jù)傳輸而不是通過指令來控制數(shù)據(jù)傳輸,傳輸速度大大高于中斷方式。
14.?DMA控制器應(yīng)具有那些功能?
答:DMA控制器應(yīng)有DMA請求輸入線,接收I/O設(shè)備的DMA請求信號;DMA控制器應(yīng)有向主機發(fā)出總線請求的信號線和接收主機響應(yīng)的信號線;DMA控制器在取得總線控制權(quán)以后應(yīng)能發(fā)出內(nèi)存地址、I/O讀寫命令及存儲器讀寫命令控制I/O與存儲器間的數(shù)據(jù)傳輸過程。
15.?8237A只有8位數(shù)據(jù)線,為什么能完成16位數(shù)據(jù)的DMA傳送?
答:I/O與存儲器間在進(jìn)行DMA傳送過程中,數(shù)據(jù)是通過系統(tǒng)的數(shù)據(jù)總線傳送的,不經(jīng)過8237A的數(shù)據(jù)總線,系統(tǒng)數(shù)據(jù)總線是具有16位數(shù)據(jù)的傳輸能力的。
16.?8237A的地址線為什么是雙向的?
答:8237A的A0~A3地址線是雙向的,當(dāng)8237A被主機編程或讀狀態(tài)處于從屬狀態(tài),A0~A3為輸入地址信號,以便主機對其內(nèi)部寄存器進(jìn)行尋址訪問。當(dāng)8237A取得總線控制權(quán)進(jìn)行DMA傳送時,A0~A3輸出低4位地址信號供存儲器尋址對應(yīng)單元用,A0~A3必需是雙向的。
17.?說明8237A單字節(jié)DMA傳送數(shù)據(jù)的全過程。
答:8237A取得總線控制權(quán)以后進(jìn)行單字節(jié)的DMA傳送,傳送完一個字節(jié)以后修改字節(jié)計數(shù)器和地址寄存器,然后就將總線控制權(quán)放棄。若I/O的DMA請求信號DREQ繼續(xù)有效,8237A再次請求總線使用權(quán)進(jìn)行下一字節(jié)的傳送。
18.?8237A單字節(jié)DMA傳送與數(shù)據(jù)塊DMA傳送有什么不同?
答:單字節(jié)傳送方式下,8237A每傳送完一個字節(jié)數(shù)據(jù)就釋放總線,傳送下一字節(jié)時再請求總線的控制權(quán)。塊傳送方式下8237A必須把整個數(shù)據(jù)塊傳送完才釋放總線。
19.?8237A什么時候作為主模塊工作,什么時候作為從模塊工作?在這兩種工作模式下,控制信號處于什么狀態(tài),試作說明。
答:8237A取得總線控制權(quán)后,開始進(jìn)行DMA傳送過程,此時8237A作為主模塊工作。8237A在被處理器編程或讀取工作狀態(tài)時,處于從模塊工作狀態(tài)。
8237A處于從模塊時,若CS#=0、HLDA=0說明它正被編程或讀取狀態(tài),IOR#與IOW#為輸入,A0~A3為輸入。8237A處于主模塊時,輸出地址信號A0~A15 (低8位經(jīng)A0~A7輸出,高8位經(jīng)DB0~DB7輸出)。8237A還要輸出IOR#、IOW#、MEMR#、MEMW#、AEN、ADSTB等有效信號供DMA傳送過程使用。
20.?說明8237A初始化編程的步驟。
答:(1)寫屏蔽字,阻止某通道的DMA請求。(2)寫命令字(8號地址),確定信號有效電平、優(yōu)先級方式、通道工作允許等。(3)寫模式字(B號地址),確定某通道傳送方式、傳送類型、地址寄存器變化方式等。(4)置0先/后觸發(fā)器。(5)設(shè)置地址寄存器、字節(jié)數(shù)寄存器的初值。(6)清除某通道屏蔽位,允許8237A響應(yīng)其DMA請求。
21.?8237A選擇存儲器到存儲器的傳送模式必須具備那些條件?
答:必須使用8237A內(nèi)部的暫存器作為數(shù)據(jù)傳送的緩沖器。8237A通道0的地址寄存器存放存儲器的源地址、通道1的地址寄存器存放存儲器的目的地地址、字節(jié)計數(shù)器存放傳送的字節(jié)數(shù),建立通道0的軟件DMA請求來啟動這一傳輸過程。
?微機的基本接口技術(shù)
1.?簡述行列式鍵盤矩陣的讀入方法。
答:將行線接輸出口,列線接輸入口,采用行掃描法,先將某一行輸出為低電平,其它行輸出為高電平,用輸入口來查詢列線上的電平,逐次讀入列值,如果行線上的值為0時,列線上的值也為0,則表明有鍵按下。否則,接著讀入下一列,直到找到該行有按下的鍵為止。如該行沒有找到有鍵按下,就按此方法逐行找下去,直到掃描完全部的行和列。
2.?簡述用反轉(zhuǎn)法實現(xiàn)鍵的識別的基本方法。
答:?將題目中的鍵改為閉合鍵。用反轉(zhuǎn)法識別閉合鍵,需要用可編程的并行接口。行線和列線分別接在PA和PB 2個并行口上,首先讓行線上的PA口工作在輸出方式,列線上的PB口工作在輸入方式,通過編程使PA口都輸出低電平,然后讀取PB口的列線值,如果某一列線上的值為0,則判定改列有某一鍵按下。為了確定是哪一行要對PA和PB進(jìn)行反轉(zhuǎn),即對PA口重新進(jìn)行初始化工作在輸入方式,列線上的PB口工作在輸出方式,并將剛讀取的列線值從列線所接的PB口輸出,再讀取行線所接的PA口,取得行線上的輸入值,在閉合鍵所在的行線上的值必定為0。這樣,當(dāng)一個鍵被按下時,必定可讀得一對唯一的行值和列值。根據(jù)這一對行值和列值就可判斷是哪一行哪一列的鍵被按下。
3.?LED數(shù)碼管顯示器共陰極和共陽極的接法主要區(qū)別是什么?
答:LED數(shù)碼管顯示器共陰極的接法是發(fā)光二極管的陰極接地,當(dāng)數(shù)碼管的筆劃發(fā)光二極管的陽極為高電平時,該筆劃被點亮。共陽極的接法是發(fā)光二極管的陽極接高電平,當(dāng)數(shù)碼管的筆劃發(fā)光二極管的陰極為低電平時,該筆劃被點亮??傊饕獏^(qū)別在于LED數(shù)碼管的接法和驅(qū)動筆劃的數(shù)據(jù)電平的不同。
4.?試?yán)L圖說明LED數(shù)碼管顯示器的動態(tài)顯示原理。
答:使用書上的圖7.8在圖中LED數(shù)碼管是共陰極的,總共可帶動8位這樣的LED數(shù)碼管。動態(tài)驅(qū)動顯示接口與靜態(tài)驅(qū)動顯示接口的一個明顯特點是:動態(tài)驅(qū)動法將多位LED同名段的選擇線都并聯(lián)在一起,即8位中的所有同名段a接在一起,所有b段都接在一起……,這樣只要一個8位的鎖存器來控制段碼a,b,c,d,e,f,g就夠了。另外用一個鎖存器來控制點亮的位。因此需要2個8位的I/O端口。
????由于所有位的位選擇碼是用一個I/O端口控制,所有段的段選擇碼也是用一個I/O端口控制,因此在每個瞬間,8位LED只可能顯示相同的字符。要想每位顯示不同的字符,必須要采用掃描的顯示方式。即在每一瞬間只能使某一位顯示相應(yīng)的字符,在此瞬間,由位選擇控制的I/O端口在要顯示的位上送入選通電平(共陰極接法送入低電平,共陽極接法送入高電平),以保證讓該位顯示字符;再由段選擇控制的I/O端口輸出相應(yīng)字符的段選擇碼。如此循環(huán)下去,使每一位都顯示該位應(yīng)顯示的字符,并保持延時一段時間,然后再選中下一位,利用發(fā)光顯示器的余輝及人眼的視覺暫留特點,給人一種顯示器同時被點亮的效果。段選擇碼,位選擇碼在每送入一次后一般需要延時1~5ms時間。
?
5.?A/D和D/A轉(zhuǎn)換在微機應(yīng)用中分別起什么作用?
答:在微機應(yīng)用中A/D轉(zhuǎn)換器完成輸入模擬量到數(shù)字量的轉(zhuǎn)換,供微機采集數(shù)據(jù)。D/A轉(zhuǎn)換器完成微機輸出數(shù)字量到模擬量的轉(zhuǎn)換,實現(xiàn)微機控制。
6.?D/A轉(zhuǎn)換器和微機接口中的關(guān)鍵問題是什么?對不同的D/A芯片應(yīng)采用何種方法連接?
答:D/A轉(zhuǎn)換器和微機接口時主要注意兩點:第一要了解所選用的D/A轉(zhuǎn)換器本身是否帶有數(shù)據(jù)鎖存器,如果芯片內(nèi)部帶有鎖存器可以直接和CPU的數(shù)據(jù)總線相連接;如果芯片內(nèi)部不帶有鎖存器,在接口電路中需要通過數(shù)據(jù)鎖存器來連接CPU的數(shù)據(jù)總線和D/A轉(zhuǎn)換器的數(shù)據(jù)線。第二是要注意D/A轉(zhuǎn)換器的位數(shù)和所要連接的微機數(shù)據(jù)總線的位數(shù)是否一致。以便決定在需要加數(shù)據(jù)鎖存器時,加幾級鎖存器,如果CPU的數(shù)據(jù)總線是8位,使用的是大于8位的D/A轉(zhuǎn)換器,通常采用兩級緩沖結(jié)構(gòu)和CPU數(shù)據(jù)總線相連。
7.?什么叫D/A轉(zhuǎn)換器的分辨率?
答:D/A轉(zhuǎn)換器的分辨率指它所能分辨的最小輸出電壓與最大輸出電壓的比值。通常用D/A轉(zhuǎn)換器輸入數(shù)字量的位數(shù)來表示。
8.?若一個D/A轉(zhuǎn)換器的滿量程(對應(yīng)于數(shù)字量255)為10V。若是輸出信號不希望從0增長到最大,而是有一個下限2.0V,增長到上限8.0V。分別確定上下限所對應(yīng)的數(shù)。
答: 因為滿量程為10V,則每一步的電壓變化量為= 0.039V/步
??于是,下限是 ????????=51.3步 ???取51,即33H。
上限是?= 205.1步 ???取205,即CDH。
?
9.?DAC與8位總線的微機接口相連接時,如果采用帶兩級緩沖器的DAC芯片,為什么有時要用三條輸出指令才能完成10位或12位的數(shù)據(jù)轉(zhuǎn)換?
答:因為在使用內(nèi)部不帶數(shù)據(jù)寄存器的DAC時,常常需要在DAC前面增加數(shù)據(jù)緩沖器,用來鎖存CPU通過數(shù)據(jù)總線發(fā)出的數(shù)字。如果總線為8位,而DAC超過8位(例如10位或12位)時,CPU必須分2次才能把控制數(shù)字送入數(shù)據(jù)緩沖器,例如先送數(shù)據(jù)的低8位,然后送剩下的高位,因此需要執(zhí)行2條輸出指令。另外,為了避免DAC在得到局部輸入時,其輸出端輸出并不是最后結(jié)果的模擬量,通常采用2級數(shù)據(jù)緩存結(jié)構(gòu),相應(yīng)地CPU也需要再增加執(zhí)行一次輸出指令,使在第一級緩沖器中鎖存的數(shù)據(jù)經(jīng)第二級緩沖器后能一次加到DAC輸入端。第三條輸出指令僅僅是使第二級緩沖器得到一個選通信號。
?
10.?已知某DAC的輸入為12位二進(jìn)制數(shù),滿刻度輸出電壓Vom=10V,試求最小分辨率電壓VLSB和分辨率。
答:12位D/A的分辨率
最小分辨率電壓VLSB
?
??????????????????????????????????????
12. A/D轉(zhuǎn)換器和微機接口中的關(guān)鍵問題有哪些?
答:A/D轉(zhuǎn)換器和微機接口時的關(guān)鍵問題主要有6個。①?A/D轉(zhuǎn)換器輸出和CPU的接口方式,主要有2種連接方式:
一種是A/D芯片輸出端直接和系統(tǒng)總線相連;另一種是A/D芯片輸出端通過接口電路和總線相連。②?A/D轉(zhuǎn)換器的分辨率和微機數(shù)據(jù)總線的位數(shù)匹配:當(dāng)10位以上的A/D轉(zhuǎn)換器和8位數(shù)據(jù)總線連接時,由于數(shù)據(jù)要按字節(jié)分時讀出,因此從8位數(shù)據(jù)線上需分2次來讀取轉(zhuǎn)換的數(shù)據(jù)。設(shè)計接口時,數(shù)據(jù)寄存器要增加讀寫控制邏輯。③?A/D轉(zhuǎn)換的時間和CPU的時間配合問題:要注意A/D轉(zhuǎn)換的啟動方式,通常啟動信號分為電平控制啟動和脈沖啟動兩種。其中又有不同的極性要求。還要注意轉(zhuǎn)換后信號的處理。④A/D的控制和狀態(tài)信號。因為A/D轉(zhuǎn)換器的控制和狀態(tài)信號的類型與特征對接口有很大影響,在設(shè)計時必須要注意分析控制和狀態(tài)信號的使用條件。⑤?輸入模擬電壓的連接,特別是多路模擬電壓的切換控制。 ⑥?接地問題,為了減輕數(shù)字信號脈沖對模擬信號的干擾,數(shù)字地和模擬地要正確連接。
13. A/D轉(zhuǎn)換器為什么要進(jìn)行采樣?采樣頻率應(yīng)根據(jù)什么選定?
答:因為被轉(zhuǎn)換的模擬信號在時間上是連續(xù)的,瞬時值有無限多個,轉(zhuǎn)換過程需要一定的時間,不可能把每一個瞬時值都一一轉(zhuǎn)換成模擬量。因此對連續(xù)變化的模擬量要按一定的規(guī)律和周期取出其中的某一瞬時值,這個過程就是將模擬量離散化,稱之為采樣,采樣以后用若干個離散的瞬時值來表示原來的模擬量。??
通常為了使A/D輸出信號經(jīng)過D/A還原后能更好地反映輸入模擬信號的變化,根據(jù)采樣定理,采樣頻率一般要高于或至少等于輸入信號中最高頻率分量的2倍,就可以使被采樣的信號能夠代表原始的輸入信號。在輸入信號頻率不是太高的實際應(yīng)用中,一般取采樣頻率為最高頻率的4~8倍。
14.?若ADC輸入模擬電壓信號的最高頻率位20KHz,取樣頻率的下限是多少?完成一次A/D轉(zhuǎn)換時間的上限是多少?
答:取樣頻率的下限為20kHZ×2=40 kHZ?????完成一次轉(zhuǎn)換的最長時間是
?微計算機總線
1.?采用一種總線標(biāo)準(zhǔn)進(jìn)行微型計算機的硬件結(jié)構(gòu)設(shè)計具有什么優(yōu)點?
答:為適應(yīng)用戶不斷變化的要求,微機系統(tǒng)設(shè)計必須采用模塊化設(shè)計,不同的模塊組合形成一定的功能。模塊之間的連接關(guān)系采用標(biāo)準(zhǔn)的總線結(jié)構(gòu)可使不同功能的模塊便于互連,兼容性好、生命周期長。模塊采用標(biāo)準(zhǔn)化總線結(jié)構(gòu)設(shè)計可使模塊的生產(chǎn)供應(yīng)規(guī)模化、多元化、價格低、有利于用戶。
2.?一個總線的技術(shù)規(guī)范應(yīng)包括哪些部分?
答:總線技術(shù)規(guī)范應(yīng)包括:(1)機械結(jié)構(gòu)規(guī)范:模塊尺寸、總線插頭插座形式與結(jié)點數(shù)以及模塊與插頭插座的機械定位。(2)功能規(guī)范:總線信號名稱、功能以及相互作用的協(xié)議。(3)電氣規(guī)范:總線中每個信號工作時的有效電平、動態(tài)轉(zhuǎn)換時間、負(fù)載能力以及電氣性能的額定值與最大值。
3.?總線的定義是什么?簡述總線的發(fā)展過程。
答:總線就是兩個以上模塊(或子系統(tǒng))間傳送信息的公共通道,通過它模塊間可進(jìn)行數(shù)據(jù)、地址碼及命令的傳輸。
最早的標(biāo)準(zhǔn)化總線是S-100總線(1975),80年代初IBM PC/XT個人計算機采用8位ISA總線,之后又在IBM PC/AT機上推出16位ISA總線。隨著外設(shè)接口對總線性能要求的不斷提高,出現(xiàn)了EISA總線及PCI總線。PCI總線目前已被個人計算機廣泛采用,成為新的工業(yè)標(biāo)準(zhǔn)。
4.?微型計算機系統(tǒng)總線由哪三部分組成?它們各自的功能是什么?
答:由地址總線、數(shù)據(jù)總線和控制總線三部分組成。地址總線用于指出數(shù)據(jù)的來源或去向;數(shù)據(jù)總線提供了模塊間數(shù)據(jù)傳輸?shù)穆窂?;控制總線用來傳送各種控制信號以便控制數(shù)據(jù)、地址總線的操作及使用。
5.?擴充總線的作用是什么?它與系統(tǒng)總線的關(guān)系是什么?
答:擴充總線是將許多I/O接口連接在一起,集中起來經(jīng)橋接電路與系統(tǒng)總線相連,減輕系統(tǒng)總線的負(fù)載,提高系統(tǒng)性能。系統(tǒng)總線與擴充總線的之間有專門的連接電路,它們各自工作在不同的頻寬下,可適應(yīng)不同工作速度的模塊的需要。
6.?為什么要引入局部總線?它的特點是什么?
答:早期的擴充總線(ISA總線)工作頻率低,不能滿足象圖形、視頻、網(wǎng)絡(luò)接口等高數(shù)據(jù)傳輸率I/O設(shè)備的要求。在處理器的系統(tǒng)總線與傳統(tǒng)擴充總線之間插入一個總線層次,它的頻率高于傳統(tǒng)擴充總線,專門連接高速I/O設(shè)備,滿足它們對傳輸速率的要求。這一層次的總線就是局部總線。局部總線與系統(tǒng)總線經(jīng)橋接器相連,局部總線與傳統(tǒng)擴充總線也經(jīng)橋接器相連,三個層次的總線相互隔開,各自工作在不同的頻寬上,適應(yīng)不同模塊的需要。
7.?總線定時協(xié)議分哪幾種?各有什么特點?
答:總線有三種定時方法。(1)同步定時,信息傳輸由公共時鐘控制,總線信號中包括一個時鐘信號,各模塊上所有的操作都在時鐘開始時啟動。(2)異步定時,信息的傳輸?shù)牟僮骶稍椿蚰康牡奶囟ㄐ盘柼兯_定,總線上每一個操作的發(fā)生均取決于前一個操作的發(fā)生,總線操作過程不用公共時鐘來同步。(3)半同步定時,總線上各操作之間的時間間隔可以變化,但這個變化只允許為公共時鐘周期的整數(shù)倍,信號的出現(xiàn),采樣和結(jié)束以公共時鐘為基礎(chǔ)。
8.?總線上數(shù)據(jù)傳輸分哪幾種類型?各有什么特點?
答:分單周期方式和突發(fā)方式兩種。在單周期方式中,每個總線周期只傳送一個數(shù)據(jù)。在突發(fā)方式下,占用一次總線要進(jìn)行多個數(shù)據(jù)的傳輸,源模塊發(fā)出首地址去訪問目的模塊的數(shù)據(jù)1,以后的數(shù)據(jù)是在首地址的基礎(chǔ)上按一定的規(guī)則去尋址目地模塊。
9.?總線的指標(biāo)有哪幾項,它工作時一般由哪幾個過程組成?
答:總線的指標(biāo)有(1)總線寬度,一次總線操作可以傳輸?shù)臄?shù)據(jù)位數(shù);(2)總線工作頻率,總線上基本定時時鐘的頻率,它代表總線操作的最高頻率;(3)單個數(shù)據(jù)傳輸所用時鐘周期數(shù)??偩€上信息傳輸過程可分解為:(1)請求總線;(2)總線裁決;(3)尋址;(4)數(shù)據(jù)傳送;(5)錯誤檢查。
10.?為什么要進(jìn)行總線仲裁?
答:總線結(jié)構(gòu)的特點是,一個傳送信息的公共通路總線為多個模塊共同使用。但在某一時刻,只能允許一個主模塊使用總線進(jìn)行數(shù)據(jù)傳輸。當(dāng)有多個主模塊要占用總線進(jìn)行數(shù)據(jù)傳輸時,要有一個總線的請求及轉(zhuǎn)交的過程,首先按一定規(guī)則進(jìn)行總線使用權(quán)的仲裁,把總線的使用權(quán)交給優(yōu)先級最高的請求者。
11.?為什么集中式總線仲裁方式優(yōu)于菊花鏈?zhǔn)剑?/span>
答:菊花鏈?zhǔn)綖榇锌偩€仲裁邏輯,離處理器較遠(yuǎn)的主模塊因前級主模塊的占用而在較長時間內(nèi)得不到響應(yīng),優(yōu)先權(quán)的級別與邏輯上級連位置有關(guān),因此靈活性差,缺少公平性。
集中式為并行總線仲裁邏輯,請求與響應(yīng)信號都是獨立與仲裁邏輯相連,優(yōu)先級的處理可采用多種方式,不至因為某個請求設(shè)備的故障而造成整個仲裁邏輯的癱瘓,靈活性好。
12.?ISA總線信號分為多少組,它的主要功能是什么?
答:分為總線基本信號、總線訪問信號及總線控制信號??偩€基本信號主要用來提供基本定時時鐘、系統(tǒng)復(fù)位、電源和地信號??偩€訪問信號主要用來提供對總線目標(biāo)模塊訪問的地址、數(shù)據(jù)、訪問應(yīng)答控制信號??偩€控制信號的主要功能是提供中斷、DMA處理時的請求及響應(yīng)信號以及擴展模塊主控狀態(tài)的確定信號。
13.?ISA?16位總線是在ISA 8位總線基礎(chǔ)上擴充了哪些信號而形成的?
答:ISA?16位總線在ISA 8位總線基礎(chǔ)上把數(shù)據(jù)線由8位擴充到16位,把地址線由20位擴充到24位;還擴充了中斷請求信號、DMA請求與響應(yīng)信號;還增加了16位數(shù)據(jù)訪問的控制信號等。
14.PCI總線訪問時,怎樣的信號組合啟動一個總線的訪問周期,又怎樣結(jié)束一個訪問周期?
答:PCI總線上的主設(shè)備取得總線控制權(quán)以后,在CLK-1期間發(fā)出FRAME#有效信號、要訪問的從設(shè)備的地址信號及操作類型的命令字,從而啟動了一個總線訪問周期。結(jié)束一個訪問周期是通過使FRAME#信號變?yōu)闊o效且保持主設(shè)備準(zhǔn)備就緒信號IRDY#為有效,完成最后的數(shù)據(jù)傳送后結(jié)束這個總線操作。此外用STOP#信號從設(shè)備可以主動仃止數(shù)據(jù)訪問周期。
?先進(jìn)微處理器介紹
1.?提高微處理器性能的途徑有哪些?
答:(1)提高芯片內(nèi)部時鐘的工作頻率;(2)增加芯片數(shù)據(jù)總線的寬度,提高微處理器與片外傳送數(shù)據(jù)或指令代碼的速率,同時片內(nèi)的數(shù)據(jù)路徑也必然加寬,內(nèi)部的數(shù)據(jù)處理速度會加快。(3)采用能夠并行執(zhí)行指令的微體系結(jié)構(gòu)及其它相關(guān)技術(shù)。
2.?提高微處理器內(nèi)部執(zhí)行的并行性有哪些措施?
答:(1)采用超級流水線技術(shù)。把指令執(zhí)行的過程分成很多級,各級所對應(yīng)的操作可并行進(jìn)行,即多條指令在同一時刻完成不同級的操作,實現(xiàn)了指令的并行執(zhí)行。流水線級分的越多,可并行執(zhí)行的指令條數(shù)也越多。(2)采用超標(biāo)量技術(shù)。在芯片內(nèi)部設(shè)置多重功能相同或接近的功能部件,同一時刻可向多個功能部件分派指令去流水執(zhí)行,實現(xiàn)了指令執(zhí)行的并行化。
3.?奔騰微處理器采用什么技術(shù)來提高指令執(zhí)行的效率?
答:第一代奔騰微處理器采用了超標(biāo)量結(jié)構(gòu)來提高指令執(zhí)行的效率。它內(nèi)部設(shè)有兩條流水線,一個時鐘周期內(nèi)可發(fā)射兩條整數(shù)指令給兩條流水線去執(zhí)行,另外還有一個浮點部件可執(zhí)行浮點指令。這種多重功能部件的結(jié)構(gòu)就是一種超標(biāo)量的結(jié)構(gòu)。
4.高能奔騰微處理器與第一代奔騰微處理器相比,采取了哪幾種主要的技術(shù)措施來進(jìn)一步提高性能?
答:(1)采用了RISC的設(shè)計概念。高能奔騰把X86指令轉(zhuǎn)換成多個較小且易執(zhí)行的指令,這些轉(zhuǎn)換后的指令是三操作數(shù)格式,內(nèi)部設(shè)置大量物理寄存器,這是RISC結(jié)構(gòu)的特點,可以提高指令執(zhí)行的效率。(2)采用超級流水線與超標(biāo)量技術(shù),處理器具有較高的吞吐率,處理器工作頻率盡可能提高,增加了指令執(zhí)行的并行度,性能有明顯的改善。(3)采用動態(tài)執(zhí)行技術(shù),處理器對指令的執(zhí)行進(jìn)行調(diào)度,打破原有指令順序,對以后指令執(zhí)行的順序進(jìn)行預(yù)測,形成最佳執(zhí)行順序來達(dá)到最高的指令執(zhí)行并行度,避免因分支或數(shù)據(jù)相關(guān)等因素對指令執(zhí)行的并行性所產(chǎn)生的影響。
?