




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、上海市教育委員會(huì)高等學(xué)校“十五”重點(diǎn)規(guī)劃教材現(xiàn)代微型計(jì)算機(jī)與接口教程(習(xí)題解答)主 編:楊文顯副主編:壽慶余編 著:楊晶鑫 黃春華 胡建人清 華 大 學(xué) 出 版 社習(xí) 題 解 答清 華 大 學(xué) 出 版 社1說(shuō) 明2習(xí) 題 一3習(xí) 題 二7習(xí) 題 三13習(xí) 題 四20習(xí) 題 五26習(xí) 題 六37習(xí) 題 七40習(xí) 題 八44習(xí) 題 九49習(xí) 題 十54習(xí) 題 十 一59說(shuō) 明為了方便購(gòu)買(mǎi)本書(shū)的讀者和使用本教材進(jìn)行教學(xué)的教師使用本書(shū),我們制作了本書(shū)的習(xí)題參考答案。為了維持正常的教學(xué)秩序,我們不向使用本教材的學(xué)生提供本習(xí)題答案。鑒于它的用途,若干答案的內(nèi)容并未局限于對(duì)題目的解答,而是闡述了與該習(xí)題有關(guān)
2、的知識(shí)。因此,許多習(xí)題的答案可以看作是本書(shū)內(nèi)容的延續(xù)。換個(gè)角度來(lái)說(shuō),它不是可供學(xué)生參考的“標(biāo)準(zhǔn)答案”。本書(shū)在2003年9月出版后,很快就收到了不少讀者的來(lái)信,索要本書(shū)的習(xí)題答案,這使得原本想“松口氣”的我們猝不及防,不得不在完成大量教學(xué)、科研的同時(shí)編寫(xiě)這本“習(xí)題答案”。在各位編者完成之后,主編對(duì)全文進(jìn)行了整理。雖然我們盡了自己的努力,但是,錯(cuò)誤和不足恐難避免。歡迎各位同行和讀者來(lái)信指正和交流。編者 2003-12-03 E_Mail: 習(xí) 題 一1. 8086CPU由哪幾個(gè)部件構(gòu)成?它們的主要功能各是什么?8086 CPU由指令執(zhí)行部件EU和總線接口部件BIU兩個(gè)部份組成。指令執(zhí)行部件主要功能
3、是執(zhí)行指令??偩€接口部件的主要功能是完成訪問(wèn)存儲(chǔ)器或I/O端口的操作: 形成訪問(wèn)存儲(chǔ)器的物理地址; 訪問(wèn)存儲(chǔ)器取得指令并暫存到指令隊(duì)列中等待執(zhí)行; 訪問(wèn)存儲(chǔ)器或I/O端口以讀取操作數(shù)參與EU運(yùn)算,或存放運(yùn)算結(jié)果。2. 什么是邏輯地址?什么是物理地址?它們各自如何表示?如何轉(zhuǎn)換?程序中使用的存儲(chǔ)器地址稱為邏輯地址,由16位“段基址”和16位“偏移地址”(段內(nèi)地址)組成。段基址表示一個(gè)段的起始地址的高16位。偏移地址表示段內(nèi)的一個(gè)單元距離段開(kāi)始位置的距離。訪問(wèn)存儲(chǔ)器的實(shí)際地址稱為物理地址,用20位二進(jìn)制表示。將兩個(gè)16位二進(jìn)制表示的邏輯地址錯(cuò)位相加,可以得到20位的物理地址:物理地址段基址
4、5;16 + 偏移地址在32位CPU的保護(hù)模式下,“邏輯地址”的表示產(chǎn)生了一些變化,請(qǐng)參考第8章的相關(guān)內(nèi)容。3. 什么是“堆?!保克惺裁从锰??在使用上有什么特點(diǎn)?堆棧是內(nèi)存中的一塊存儲(chǔ)區(qū),用來(lái)存放專用數(shù)據(jù)。例如,調(diào)用子程序時(shí)的入口參數(shù)、返回地址等,這些數(shù)據(jù)都按照“先進(jìn)后出”的規(guī)則進(jìn)行存取。SS存放堆棧段的段基址,SP存放當(dāng)前堆棧棧頂?shù)钠频刂?。?shù)據(jù)進(jìn)出堆棧要使用專門(mén)的堆棧操作指令,SP的值在執(zhí)行堆棧操作指令時(shí)根據(jù)規(guī)則自動(dòng)地進(jìn)行修改。X=36H=00110110BY=78H=01111000B (= 10111110BCF=1, SF=1, OF=0, PF=1, ZF=0, AF=14. 設(shè)
5、X=36H,Y=78H,進(jìn)行X+Y和XY運(yùn)算后FLAGS寄存器各狀態(tài)標(biāo)志位各是什么?X=36H=00110110BY=78H=01111000B (+= 10101110BCF=0, SF=1, OF=1, PF=0, ZF=0, AF=05. 按照傳輸方向和電氣特性劃分,CPU引腳信號(hào)有幾種類型?各適用于什么場(chǎng)合?CPU引腳傳輸?shù)男盘?hào)按照傳輸方向劃分,有以下幾種類型:輸出:信號(hào)從CPU向外部傳送;輸入:信號(hào)從外部送入CPU;雙向:信號(hào)有時(shí)從外部送入CPU,有時(shí)從CPU向外部傳送。雙向信號(hào)主要用于數(shù)據(jù)信號(hào)的傳輸;輸出信號(hào)用于傳輸?shù)刂沸盘?hào)和一些控制信號(hào);輸入信號(hào)主要用于傳輸外部的狀態(tài)信號(hào)(例如R
6、EADY)和請(qǐng)求(中斷、DMA)信號(hào)。按照信號(hào)的電器特性劃分,有以下幾種類型:一般信號(hào):用來(lái)傳輸數(shù)據(jù)/地址信號(hào)時(shí),高電平表示“1”,低電平表示“0”;用來(lái)表示正邏輯的控制/狀態(tài)信號(hào)時(shí),“1”表示有效,“0”表示信號(hào)無(wú)效;用來(lái)表示負(fù)邏輯的控制/狀態(tài)信號(hào)時(shí),“0”表示有效,“1”表示信號(hào)無(wú)效。三態(tài)信號(hào):除了高電平、低電平兩種狀態(tài)之外,CPU內(nèi)部還可以通過(guò)一個(gè)大的電阻阻斷內(nèi)外信號(hào)的傳送,CPU內(nèi)部的狀態(tài)與外部相互隔離,也稱為“懸浮態(tài)”。CPU放棄總線控制權(quán),允許其他設(shè)備使用總線時(shí),將相關(guān)信號(hào)置為“懸浮態(tài)”。6. 8086CPU以最小模式工作,現(xiàn)需要讀取內(nèi)存中首地址為20031H的一個(gè)字,如何執(zhí)行總線
7、讀周期?請(qǐng)具體分析。為了讀取內(nèi)存中首地址為20031H的一個(gè)字,需要執(zhí)行二個(gè)總線讀周期。第一個(gè)總線周期讀取20031H字節(jié)內(nèi)容,進(jìn)行的操作如下。T1狀態(tài): = 1,指出CPU是從內(nèi)存讀取數(shù)據(jù)。隨后CPU從地址/狀態(tài)復(fù)用線(A19/S6A16/S3)和地址/數(shù)據(jù)復(fù)用線(AD15AD0)上發(fā)出讀取存儲(chǔ)器的20位地址20031H。為了鎖存地址,CPU在T1狀態(tài)從ALE引腳輸出一個(gè)正脈沖作為地址鎖存信號(hào)。由于需要讀取高8位數(shù)據(jù)線上的數(shù)據(jù)(奇地址),= 0。為了控制總線收發(fā)器8286接受數(shù)據(jù), = 0。T2狀態(tài): 地址信息撤消,地址/數(shù)據(jù)線AD15AD0進(jìn)入高阻態(tài),讀信號(hào)開(kāi)始變?yōu)榈碗娖剑ㄓ行В?0,用
8、來(lái)開(kāi)放總線收發(fā)器8286。T3狀態(tài): CPU檢測(cè)READY引腳信號(hào)。若READY為高電平(有效)時(shí),表示存儲(chǔ)器或I/O端口已經(jīng)準(zhǔn)備好數(shù)據(jù),CPU在T3狀態(tài)結(jié)束時(shí)讀取該數(shù)據(jù)。若READY為低電平,則表示系統(tǒng)中掛接的存儲(chǔ)器或外設(shè)不能如期送出數(shù)據(jù),要求CPU在T3和T4狀態(tài)之間插入1個(gè)或幾個(gè)等待狀態(tài)Tw。TW狀態(tài):進(jìn)入TW狀態(tài)后,CPU在每個(gè)TW狀態(tài)的前沿(下降沿)采樣READY信號(hào),若為低電平,則繼續(xù)插入等待狀態(tài)TW 。若READY信號(hào)變?yōu)楦唠娖?,表示?shù)據(jù)已出現(xiàn)在數(shù)據(jù)總線上,CPU從AD15AD0讀取數(shù)據(jù)。T4狀態(tài):在T3(TW)和T4狀態(tài)交界的下降沿處,CPU對(duì)數(shù)據(jù)總線上的數(shù)據(jù)進(jìn)行采樣,完成讀取
9、數(shù)據(jù)的操作。第二個(gè)總線周期讀取地址為20032H字節(jié)的內(nèi)容。CPU發(fā)出的信號(hào)與第一個(gè)周期類似,區(qū)別在于T1狀態(tài)CPU發(fā)出存儲(chǔ)器地址為20032H,由于只需要讀取低8位數(shù)據(jù)線上的數(shù)據(jù)(偶地址),=1。在CPU內(nèi)部,從20031H讀入的低位字節(jié)和從20032H讀入的高位字節(jié)被拼裝成一個(gè)字。7. 8086CPU有幾種工作方式?各有什么特點(diǎn)?8086/8088 CPU有兩種工作模式:最大工作模式和最小工作模式。所謂最小工作模式,是指系統(tǒng)中只有一個(gè)8086/8088處理器,所有的總線控制信號(hào)都由8086/8088 CPU直接產(chǎn)生,構(gòu)成系統(tǒng)所需的總線控制邏輯部件最少,最小工作模式因此得名。最小模式也稱單處
10、理器模式。最大模式下,系統(tǒng)內(nèi)可以有一個(gè)以上的處理器,除了8086/8088作為“中央處理器”之外,還可以配置用于數(shù)值計(jì)算的8087“數(shù)值協(xié)處理器”、用于I/O管理的“I/O協(xié)處理器”8089。各個(gè)處理器發(fā)往總線的命令統(tǒng)一送往“總線控制器”,由它“仲裁”后發(fā)出。CPU兩種工作模式由引腳決定,接高電平,CPU工作在最小模式;將接地,CPU工作在最大模式。8. 分析8086CPU兩個(gè)中斷輸入引腳的區(qū)別,以及各自的使用場(chǎng)合。INTR用于輸入可屏蔽中斷請(qǐng)求信號(hào),電平觸發(fā),高電平有效。中斷允許標(biāo)志IF= 1時(shí)才能響應(yīng)INTR上的中斷請(qǐng)求。NMI用于輸入不可屏蔽中斷請(qǐng)求信號(hào),上升沿觸發(fā),不受中斷允許標(biāo)志的限
11、制。CPU一旦測(cè)試到NMI請(qǐng)求有效,當(dāng)前指令執(zhí)行完后自動(dòng)轉(zhuǎn)去執(zhí)行類型2的中斷服務(wù)程序。NMI引腳用于連接CPU外部的緊急中斷請(qǐng)求,例如內(nèi)存校驗(yàn)錯(cuò),電源掉電報(bào)警等。INTR引腳用于連接一般外部設(shè)備的中斷請(qǐng)求。9. 什么是時(shí)鐘周期、總線周期、指令周期?它們的時(shí)間長(zhǎng)短取決于哪些因素?時(shí)鐘周期:CPU連接的系統(tǒng)主時(shí)鐘CLK一個(gè)周期的時(shí)間。CLK信號(hào)頻率越高,時(shí)鐘周期越短??偩€周期:CPU通過(guò)外部總線對(duì)存儲(chǔ)器或I/O端口進(jìn)行一次讀/寫(xiě)操作的過(guò)程稱為總線周期。8086CPU總線周期一般由四個(gè)時(shí)鐘周期組成,存儲(chǔ)器/IO設(shè)備(接口)速度不能滿足CPU要求時(shí),可以增加一個(gè)或多個(gè)時(shí)鐘周期。指令周期: CPU執(zhí)行一
12、條指令的時(shí)間(包括取指令和執(zhí)行該指令所需的全部時(shí)間)稱為指令周期。指令周期的時(shí)間主要取決于主時(shí)鐘的頻率和指令的復(fù)雜程度,它也受到存儲(chǔ)器或IO設(shè)備接口工作速度的影響。10. 在一次最小模式總線讀周期中,8086CPU先后發(fā)出了哪些信號(hào)?各有什么用處?T1狀態(tài): 指出CPU是從內(nèi)存(1)還是從IO端口(0)讀取數(shù)據(jù)。隨后CPU從地址/狀態(tài)復(fù)用線(A19/S6A16/S3)和地址/數(shù)據(jù)復(fù)用線(AD15AD0)上發(fā)出讀取存儲(chǔ)器的20位地址,對(duì)IO端口訪問(wèn)時(shí)從AD15AD0上發(fā)出16位地址。為了鎖存地址,CPU在T1狀態(tài)從ALE引腳輸出一個(gè)正脈沖作為地址鎖存信號(hào)。如果需要讀取高8位數(shù)據(jù)線上的數(shù)據(jù)(奇地址
13、/讀取一個(gè)字),= 0。為了控制總線收發(fā)器8286數(shù)據(jù)傳輸方向, = 0。T2狀態(tài): 讀信號(hào)開(kāi)始變?yōu)榈碗娖剑ㄓ行В?0,用來(lái)開(kāi)放總線收發(fā)器8286。T3狀態(tài): CPU檢測(cè)READY引腳信號(hào)。若READY為高電平(有效),表示存儲(chǔ)器或I/O端口已經(jīng)準(zhǔn)備好數(shù)據(jù),進(jìn)入T4狀態(tài);若READY為低電平(無(wú)效),表示存儲(chǔ)器或I/O端口尚未準(zhǔn)備好數(shù)據(jù),插入一個(gè)或多個(gè)TW狀態(tài),直到READY變?yōu)楦唠娖?。T4狀態(tài):在T3(TW)和T4狀態(tài)交界的下降沿處,CPU對(duì)數(shù)據(jù)總線上的數(shù)據(jù)進(jìn)行采樣,完成讀取數(shù)據(jù)的操作。11. 結(jié)合指令“OUT 21H, AL”,具體敘述最大模式“總線寫(xiě)周期”總線上的相關(guān)信號(hào)。T1狀態(tài):地
14、址/數(shù)據(jù)復(fù)用線(AD15AD0)上出現(xiàn)訪問(wèn)IO端口的16位地址21H。由于地址為奇數(shù),需要通過(guò)高8位數(shù)據(jù)線訪問(wèn)端口,= 0。T2狀態(tài): = 0,表示本周期對(duì)IO端口進(jìn)行寫(xiě)操作。地址/數(shù)據(jù)復(fù)用線(AD15AD0)上出現(xiàn)來(lái)自AL的8位數(shù)據(jù)。T3狀態(tài):若READY為高電平(有效),表示I/O端口已經(jīng)準(zhǔn)備好接收數(shù)據(jù)。反之,表示I/O端口尚未準(zhǔn)備好接收數(shù)據(jù),需要CPU插入TW 周期進(jìn)行等待,直到READY出現(xiàn)高電平(有效)。T4狀態(tài):CPU結(jié)束本周期。習(xí) 題 二1. 內(nèi)存儲(chǔ)器主要分為哪兩類? 它們的主要區(qū)別是什么??jī)?nèi)存儲(chǔ)器分為隨機(jī)存取存儲(chǔ)器RAM(Radom Access Memory)和只讀存儲(chǔ)器RO
15、M(Read Only Memory)兩類。RAM中信息可以按地址讀出,也可以按地址寫(xiě)入。RAM具有易失性,掉電后原來(lái)存儲(chǔ)的信息全部丟失,不能恢復(fù)。ROM 中的信息可以按地址讀出,但是在普通狀態(tài)下不能寫(xiě)入,它的內(nèi)容一般不能被改變。ROM具有“非易失性”,電源關(guān)閉后,其中的信息仍然保持。2. 說(shuō)明SRAM、DRAM、MROM、PROM和EPROM的特點(diǎn)和用途。SRAM:靜態(tài)RAM,讀寫(xiě)速度快,但是集成度低,容量小,主要用作Cache或小系統(tǒng)的內(nèi)存儲(chǔ)器。DRAM:動(dòng)態(tài)RAM,讀寫(xiě)速度慢于靜態(tài)RAM,但是它的集成度高,單片容量大,現(xiàn)代微型計(jì)算機(jī)的“主存”均由DRAM構(gòu)成。MROM:掩膜ROM,由芯片
16、制作商在生產(chǎn)、制作時(shí)寫(xiě)入其中數(shù)據(jù),成本低,適合于批量較大、程序和數(shù)據(jù)已經(jīng)成熟、不需要修改的場(chǎng)合。PROM:可編程ROM,允許用戶自行寫(xiě)入芯片內(nèi)容。芯片出廠時(shí),所有位均處于全“0”或全“1”狀態(tài),數(shù)據(jù)寫(xiě)入后不能恢復(fù)。因此,PROM只能寫(xiě)入一次。EPROM:可擦除可編程只讀存儲(chǔ)器,可根據(jù)用戶的需求,多次寫(xiě)入和擦除,重復(fù)使用。用于系統(tǒng)開(kāi)發(fā),需要反復(fù)修改的場(chǎng)合。3. 已知一個(gè)SRAM芯片的容量為8K×8,該芯片有一個(gè)片選信號(hào)引腳和一個(gè)讀/寫(xiě)控制引腳,問(wèn)該芯片至少有多少個(gè)引腳?地址線多少條?數(shù)據(jù)線多少條?還有什么信號(hào)線?根據(jù)存儲(chǔ)芯片地址線數(shù)量計(jì)算公式,klog2(1024*8)= log2(2
17、13)=13,即總計(jì)有13根地址線。另有8根數(shù)據(jù)線、2根電源線。所以該芯片至少有25(=13+8+1+1+2)根引腳。4. 巳知一個(gè)DRAM芯片外部引腳信號(hào)中有4根數(shù)據(jù)線,7根地址線,計(jì)算它的容量。根據(jù)存儲(chǔ)容量計(jì)算公式S2k×I,可得該芯片的存儲(chǔ)容量為:214*4=16K×4bit(位),也可表示為64Kb=8KB(字節(jié))。5. 32M×8的DRAM芯片,其外部數(shù)據(jù)線和地址線為多少條?根據(jù)存儲(chǔ)芯片地址線數(shù)量計(jì)算公式,klog2(1024*1024*32)= log2(225)=25,即需要25根地址線。但是,由于DRAM芯片的地址采用分時(shí)輸入的方法,所以實(shí)際需要的
18、地址線只有理論值的一半,此處為13根。數(shù)據(jù)線8根是內(nèi)部的還是外部的?6. DRAM為什么需要定時(shí)刷新?DRAM靠MOS管極間電容存儲(chǔ)電荷的有無(wú)決定所存信息是0還是1,由于漏電流的存在,它存儲(chǔ)的信息不能長(zhǎng)時(shí)間保存,需要定時(shí)重新寫(xiě)入,稱為“刷新”。7. 74LS138譯碼器的接線如圖2.28所示,寫(xiě)出、所決定的內(nèi)存地址范圍。圖2.28 譯碼電路電路從圖看出,該存儲(chǔ)系統(tǒng)的片內(nèi)地址線有13根(A12-A0),是一個(gè)由8KB存儲(chǔ)芯片組成的存儲(chǔ)系統(tǒng),A17地址線不確定。它的地址分布為:00?0, CBA?, ?, ?, ?其中,CBA作為譯碼輸入,與輸出選擇有關(guān);“?”表示可以為“0”,也可以為“1”。于
19、是:對(duì)應(yīng)的內(nèi)存地址范圍是:00000H01FFFH;或20000H21FFFH。對(duì)應(yīng)的內(nèi)存地址范圍是:04000H05FFFH;或24000H25FFFH。對(duì)應(yīng)的內(nèi)存地址范圍是:08000H09FFFH;或28000H29FFFH。對(duì)應(yīng)的內(nèi)存地址范圍是:0C000H0DFFFH;或2C000H2DFFFH。8. 敘述EPROM的編程過(guò)程,并說(shuō)明EPROM和EEPROM的不同點(diǎn)。EPROM的編程過(guò)程標(biāo)準(zhǔn)編程方式:Vpp上加編程電壓,地址線、數(shù)據(jù)線上給出要編程單元的地址及其數(shù)據(jù),并使0、1。上述信號(hào)穩(wěn)定后,在端加上寬度為50±5ms的負(fù)脈沖,就可將一個(gè)字節(jié)的數(shù)據(jù)寫(xiě)入相應(yīng)的地址單元中。不斷
20、重復(fù)這個(gè)過(guò)程,將數(shù)據(jù)逐一寫(xiě)入??焖倬幊谭绞剑菏褂?00µs的編程脈沖依次寫(xiě)完所有要編程的單元,然后從頭開(kāi)始校驗(yàn)每個(gè)寫(xiě)入的字節(jié)。若寫(xiě)得不正確,則重寫(xiě)這個(gè)單元。寫(xiě)完后再校驗(yàn),不正確還可再寫(xiě),直到全部正確。EPROM和EEPROM的不同點(diǎn):EPROM芯片用紫外線光照射擦除芯片的內(nèi)容,擦除時(shí)需要把芯片從電路板上拔下,擦除操作對(duì)整個(gè)芯片進(jìn)行。EPROM芯片編程需要外加“高電壓”,所以需要專用的“編程器”才能實(shí)現(xiàn)。EPROM的編程一般情況下對(duì)整個(gè)芯片進(jìn)行。EEPROM芯片的擦除用電信號(hào)實(shí)現(xiàn),無(wú)需把芯片從電路板上拔下,可以進(jìn)行“在系統(tǒng)編程”。EEPROM以字節(jié)為單位重寫(xiě),EEPROM沒(méi)有單獨(dú)的擦除
21、操作,寫(xiě)入就意味著擦除了原來(lái)的內(nèi)容,所以使用比EPROM快速方便。相比較而言,EEPROM芯片的編程比較接近RAM的寫(xiě)入,它們之間的區(qū)別主要體現(xiàn)在速度上:RAM寫(xiě)入與讀出的速度相近,不需要其他的聯(lián)絡(luò)信號(hào);EEPROM的寫(xiě)入比起讀出明顯要慢,為了掌握寫(xiě)入時(shí)間,EEPROM通常設(shè)置了一根“狀態(tài)”引腳,供聯(lián)絡(luò)使用。9. 下列容量的ROM芯片除電源和地線,還有多少個(gè)輸入引腳和輸出引腳?寫(xiě)出信號(hào)名稱。(1)64×4 (2)512×8 (3)128K×8 (4)16K×8 (5)1M×16根據(jù)存儲(chǔ)容量計(jì)算公式可得以上各芯片的地址、數(shù)據(jù)引腳分別為:64
22、15;4: 地址線k= log2(64)= log2(26)= 6根,數(shù)據(jù)線=4根;512×8: 地址線k= log2(512)= log2(29)= 9根,數(shù)據(jù)線=8根;128k×8:地址線k= log2(128*1024)= log2(217)= 17根,數(shù)據(jù)線=8根;16k×8: 地址線k= log2(16*1024)= log2(214)= 14根,數(shù)據(jù)線=8根;1M×16: 地址線k= log2(1024*1024)= log2(220)= 20根,數(shù)據(jù)線=16根。此外,所有ROM芯片都需要一根片選信號(hào)引腳;對(duì)于PROM,EPROM通常還需要“
23、輸出允許”和“編程脈沖”輸入引腳。EEPROM芯片除了有“片選”、“輸出允許”和“寫(xiě)允許”外,通常還有表示“寫(xiě)入完成”的狀態(tài)信號(hào)引腳。10. 已知RAM芯片的容量為(1)16K×8 (2)32K×8 (3)64K×8 (4)2K×8 如果RAM的起始地址為3400H、則各RAM對(duì)應(yīng)的末地址為多少?存儲(chǔ)器的末地址=首地址+芯片內(nèi)字節(jié)數(shù)(容量)1上述各芯片對(duì)應(yīng)RAM的末地址為:16K×8:末地址是3400H+4000H1= 73FFH32K×8:末地址是3400H+8000H1= B3FFH64K×8:末地址是3400H+100
24、00H1= 133FFH2K×8: 末地址是3400H+800H1= 3BFFH11. 如果存儲(chǔ)器起始地址為1800H,末地址為1FFFH,求該存儲(chǔ)器的容量。該存儲(chǔ)器的容量為:(1FFFH1800H+1)×8 = 800H×8,該存儲(chǔ)器有2048×8個(gè)位,也可以寫(xiě)作2KB。12. 有一個(gè)存儲(chǔ)體,其地址線15條,數(shù)據(jù)線8條,則1)該存儲(chǔ)體能夠存儲(chǔ)多少個(gè)漢字?2)如果該存儲(chǔ)體由2K×4位的芯片組成,需要多少片?3)采用什么方法擴(kuò)展?分析各位地址線的使用。該存儲(chǔ)體容量為215×8=32KB,存儲(chǔ)一個(gè)漢字需要二個(gè)字節(jié),因此,它能夠存儲(chǔ)1638
25、4(16K)個(gè)漢字。需要2K×4位的芯片32片,(32K×8)/(2K×4)=32 ??刹捎米治蝗珨U(kuò)展方法,由2片4位的芯片組成1組8位的存儲(chǔ)單元,16組擴(kuò)展成32K的8位存儲(chǔ)體。芯片直接使用的地址線(片內(nèi)地址)11根(A0-A10),另外需要4根高位地址,連接到4-16譯碼器輸入端,產(chǎn)生16個(gè)譯碼信號(hào)用作16個(gè)芯片組的片選信號(hào)。剩余的地址線用來(lái)確定該存儲(chǔ)體的首地址。13. 試說(shuō)明Flash Memory芯片的特點(diǎn)及28F040的編程過(guò)程。Flash Memory也稱為“閃速存儲(chǔ)器”,有時(shí)直接稱之為“Flash”。Flash既有ROM非易失性的特點(diǎn),又能夠在線擦除
26、和重寫(xiě),既可讀又可寫(xiě),同時(shí)有很高的存取速度,具有集成度高,價(jià)格低,耗電少等優(yōu)點(diǎn)。目前存取速度已突破了30ns,掉電后信息可以保持10年。Flash的編程方法與E2PROM相同,28F040的編程寫(xiě)入過(guò)程采用字節(jié)編程方式。首先,向28F040狀態(tài)寄存器寫(xiě)入命令10H,再在指定的地址單元寫(xiě)入相應(yīng)數(shù)據(jù)。接著查詢狀態(tài),判斷這個(gè)字節(jié)是否寫(xiě)好,若寫(xiě)好則重復(fù)上面過(guò)程寫(xiě)入下一個(gè)字節(jié),直到全部字節(jié)寫(xiě)入。28F040的編程速度很快,一個(gè)字節(jié)的寫(xiě)入時(shí)間僅為8.6µs。14. 利用全地址譯碼將6264芯片接到8088系統(tǒng)總線上,地址范圍為30000H31FFFH,畫(huà)出邏輯圖。全地址譯碼連接圖全地址譯碼可以保
27、證存儲(chǔ)器芯片上的每一個(gè)單元在整個(gè)內(nèi)存空間中具有唯一的、獨(dú)占的一個(gè)地址。參考教材相關(guān)內(nèi)容,6264芯片有13根地址線,剩余的高位7根地址線通過(guò)譯碼組合確定該芯片的起始地址(30000H)。由30000H地址得出對(duì)應(yīng)的地址線狀態(tài)為:0011 000 0 0000 0000 0000 可以看出A13A19地址線為0011 000,所以譯碼組合應(yīng)邏輯為:= ···A16·A17·· =(····)·(A16·A17)= A13+A14+A15+A18+A19+ A16·A1
28、7具體邏輯如右圖所示。15. 若用2164芯片構(gòu)成容量為128KB的存儲(chǔ)器,需多少片2164? 至少需多少根地址線?其中多少根用于片內(nèi)尋址?多少根用于片選譯碼? 2164A是容量為64K×1位的動(dòng)態(tài)隨機(jī)存儲(chǔ)器芯片,構(gòu)成128KB的存儲(chǔ)器需要2164A芯片16片 128K×8/(64K×1)=16 。由于地址空間為128K,需要的地址線總數(shù)為17根(217=128K)。其中,片內(nèi)地址線16根(216 =64K),片選地址線1根(1716=1,)。每8個(gè)2164芯片構(gòu)成一組,進(jìn)行位擴(kuò)展,得到64KB存儲(chǔ)器。兩個(gè)這樣的“組”進(jìn)行地址擴(kuò)展,構(gòu)成128KB的存儲(chǔ)器。16.
29、某8088系統(tǒng)用2764 ROM芯片和6264 SRAM芯片構(gòu)成16KB的內(nèi)存。其中,RAM的地址范圍為FC000H-FDFFFH,ROM的地址范圍為FE000H-FFFFFH。試?yán)?4LS138譯碼,畫(huà)出存儲(chǔ)器與CPU的連接圖,并標(biāo)出總線信號(hào)名稱。2764和6264均為8KB的存儲(chǔ)芯片,需要13根地址線(A0A12)用于片內(nèi)尋址。8088系統(tǒng)的其他地址線(A13A19)用于產(chǎn)生片選信號(hào)。FC000H的地址線狀態(tài)為:1111 110 0 0000 0000 0000 FE000H的地址線狀態(tài)為:1111 111 0 0000 0000 0000將A13A15用作譯碼輸入,其他地址(A16A1
30、9=1111)用作譯碼控制,可以得到如下譯碼控制電路,連接如下圖所示。17. 存儲(chǔ)周期指的是( A )。A存儲(chǔ)器進(jìn)行連續(xù)讀或?qū)懖僮魉试S的最短時(shí)間間隔 B存儲(chǔ)器的讀出周期C存儲(chǔ)器進(jìn)行連續(xù)寫(xiě)操作所允許的最短時(shí)間間隔 D存儲(chǔ)器的寫(xiě)入周期存儲(chǔ)周期是指連續(xù)兩次訪問(wèn)存儲(chǔ)器之間所需的最小時(shí)間。存取時(shí)間是CPU訪問(wèn)一次存儲(chǔ)器(寫(xiě)入和讀出)所需的時(shí)間。存儲(chǔ)周期等于存取時(shí)間加上存儲(chǔ)器的恢復(fù)時(shí)間。所以應(yīng)選擇A。18. 某一EPROM芯片,其容量為32K×8,除電源和地線外,最小的輸入引腳和輸出引腳分別為( C )。A. 15和8; B32和8; C17和8; D18和10;容量為32K×8的E
31、PROM芯片,其數(shù)據(jù)線為8根,地址線為15根,片選線1根,讀寫(xiě)控制線1根。其中地址線、片選線、讀寫(xiě)控制線均為EPROM的輸入信號(hào),共17根。數(shù)據(jù)線在正常工作狀態(tài)下用于EPROM輸出,計(jì)8根。所以應(yīng)選擇C。19. 掩膜ROM在制造時(shí)通過(guò)光刻是否連接MOS管來(lái)確定0和1,如果對(duì)應(yīng)的某存儲(chǔ)單元位沒(méi)有連接MOS管,則該位信息為( C )。A不確定; B. 0; C1; D可能為0,也可能為1;掩膜ROM芯片內(nèi)每一個(gè)二進(jìn)制位對(duì)應(yīng)于一個(gè)MOS管,該位上存儲(chǔ)的信息取決于這個(gè)MOS管的柵極是否被連接到字線上。柵極被連接,該單元被選中時(shí),漏極與“地”相通,輸出低電平,該位存儲(chǔ)的信息就是0。柵極未連接時(shí),盡管字線
32、被選中,輸出端與“地”仍然不能導(dǎo)通,輸出高電平,對(duì)應(yīng)的信息為1。所以應(yīng)選擇C。20. SRAM和DRAM存儲(chǔ)原理不同,它們分別靠( A )來(lái)存儲(chǔ)0和1的。A雙穩(wěn)態(tài)觸發(fā)器的兩個(gè)穩(wěn)態(tài)和極間是否有足夠的電荷B內(nèi)部熔絲是否斷開(kāi)和雙穩(wěn)態(tài)觸發(fā)器C極間電荷和浮置柵是否積累足夠的電荷D極間是否有足夠的電荷和雙穩(wěn)態(tài)觸發(fā)器的兩個(gè)穩(wěn)態(tài)靜態(tài)隨機(jī)存儲(chǔ)器(SRAM)的每一個(gè)位存儲(chǔ)單元有一個(gè)雙穩(wěn)態(tài)觸發(fā)器,由4個(gè)晶體管組成,它們的狀態(tài)確定了該存儲(chǔ)單元存儲(chǔ)的1位二進(jìn)制信息。而動(dòng)態(tài)隨機(jī)存儲(chǔ)器(DRAM)一般采用單管電路組成,它由一個(gè)MOS管T1和一個(gè)電容C構(gòu)成。寫(xiě)入時(shí)其信息通過(guò)位線(數(shù)據(jù)線)存人電容C中(寫(xiě)入“1”對(duì)電容充電,寫(xiě)
33、入“0”則對(duì)電容放電);讀出時(shí)存儲(chǔ)在電容C上的電荷通過(guò)T1輸出到位線上。所以應(yīng)選擇A。習(xí) 題 三1 接口電路與外部設(shè)備之間傳送的信號(hào)有哪幾種?傳輸方向怎樣?數(shù)據(jù)信號(hào):對(duì)于輸入設(shè)備,數(shù)據(jù)信號(hào)從外設(shè)通過(guò)接口送往總線,對(duì)于輸出設(shè)備,數(shù)據(jù)信號(hào)從總線通過(guò)接口發(fā)往外部設(shè)備。狀態(tài)信號(hào):狀態(tài)信號(hào)表明外部設(shè)備當(dāng)前的工作狀態(tài),用來(lái)協(xié)調(diào)CPU與外部設(shè)備之間的操作。狀態(tài)信號(hào)總是從外部設(shè)備通過(guò)接口發(fā)往總線??刂菩盘?hào) :控制信號(hào)是CPU向外設(shè)發(fā)出的命令,它指定設(shè)備的工作方式,啟動(dòng)或停止設(shè)備。控制信號(hào)從CPU通過(guò)接口發(fā)往外部設(shè)備。2 接口電路有哪些功能?哪些功能是必需的?接口電路可以具備:設(shè)備選擇功能、信息傳輸功能、數(shù)據(jù)格
34、式轉(zhuǎn)換功能、聯(lián)絡(luò)功能、中斷管理功能、復(fù)位功能、可編程功能和錯(cuò)誤檢測(cè)等功能。其中設(shè)備選擇功能和信息傳輸功能是每一個(gè)接口電路所必備的。其他的功能是否需要?jiǎng)t由設(shè)備的特點(diǎn)和工作方式?jīng)Q定。3 I/O端口的編址有哪幾種方法?各有什么利弊?80X86系列CPU采用哪種方法?I/O端口的編址有兩種不同的方式。I/O端口與內(nèi)存統(tǒng)一編址:把內(nèi)存的一部分地址分配給I/O端口,一個(gè)8位端口占用一個(gè)內(nèi)存單元地址。已經(jīng)用于I/O端口的地址,存儲(chǔ)器不能再使用。I/O端口與內(nèi)存統(tǒng)一編址后,訪問(wèn)內(nèi)存儲(chǔ)器單元和I/O端口使用相同的指令,這有助于降低CPU電路的復(fù)雜性,并給使用者提供方便。但是,I/O端口占用內(nèi)存地址,相對(duì)減少了內(nèi)
35、存可用范圍。而且,由于難以區(qū)分訪問(wèn)內(nèi)存和I/O的指令,降低了程序的可讀性和可維護(hù)性。I/O端口與內(nèi)存獨(dú)立編址:這種編址方法中,內(nèi)存儲(chǔ)器和I/O端口各自有自己獨(dú)立的地址空間。訪問(wèn)I/O端口需要專門(mén)的I/O指令。80x86 CPU采用I/O端口獨(dú)立編址方式。4 按照傳輸信號(hào)的種類,I/O端口有幾種?它們信號(hào)的傳輸方向怎樣?按照傳輸信號(hào)的種類,I/O端口有三種:數(shù)據(jù)端口:數(shù)據(jù)信息從端口輸入CPU(輸入設(shè)備接口),或者從CPU寫(xiě)入端口(輸出設(shè)備接口);狀態(tài)端口:外設(shè)狀態(tài)信息從端口輸入CPU;控制端口:命令信息從CPU寫(xiě)入端口。5 I/O端口譯碼電路的作用是什么?在最小模式和最大模式下分別有哪些輸入信號(hào)
36、?I/O端口譯碼電路用于產(chǎn)生端口的讀寫(xiě)選擇信號(hào)。在最小模式下,譯碼電路接受來(lái)自總線的地址信號(hào)(16位),(= 0),或者信號(hào)。最大模式下,譯碼電路接受地址信號(hào)(16位),或者信號(hào)。6 外部設(shè)備數(shù)據(jù)傳送有哪幾種控制方式?從外部設(shè)備的角度,比較不同方式對(duì)外部設(shè)備的響應(yīng)速度。外部設(shè)備數(shù)據(jù)傳送有以下四種控制方式。直接傳送方式(也稱為無(wú)條件傳送方式、同步傳送方式):這種情況下,外部端口完全被動(dòng)地等待CPU的訪問(wèn),沒(méi)有確定的響應(yīng)速度,響應(yīng)時(shí)間取決于CPU忙碌的程度以及程序?qū)ν獠吭O(shè)備控制采取的策略。查詢方式:如果CPU在某一時(shí)刻只對(duì)一個(gè)外設(shè)采用查詢方式進(jìn)行數(shù)據(jù)傳輸,CPU的響應(yīng)延遲約為310個(gè)指令周期。響應(yīng)
37、速度快于中斷方式,慢于DMA方式。中斷方式:CPU的響應(yīng)延遲平均為幾十個(gè)指令周期,慢于查詢方式,但是這種方式可以同時(shí)管理多個(gè)外部設(shè)備。DMA方式:外部端口的傳輸請(qǐng)求由DMA控制器響應(yīng),由于DMAC是一個(gè)專用于傳輸控制的電路,任務(wù)單一,不發(fā)生DMA傳輸競(jìng)爭(zhēng)時(shí),響應(yīng)延遲僅為12個(gè)DMAC使用的時(shí)鐘周期,遠(yuǎn)快于中斷方式和查詢方式。7 敘述一次查詢式輸出過(guò)程中,接口內(nèi)各電路、信號(hào)的狀態(tài)變化過(guò)程。一個(gè)數(shù)據(jù)的查詢式輸出過(guò)程由二個(gè)階段組成:CPU從接口反復(fù)讀取狀態(tài)字:由地址譯碼電路產(chǎn)生狀態(tài)端口選擇信號(hào),該信號(hào)不影響接口內(nèi)部的狀態(tài)。外部設(shè)備輸出完成后,返回“確認(rèn)”信號(hào),該信號(hào)將狀態(tài)寄存器相關(guān)位(READY)置
38、位。如狀態(tài)字表明外設(shè)已處于“就緒”狀態(tài),則向數(shù)據(jù)端口傳送數(shù)據(jù)。由地址譯碼電路產(chǎn)生的數(shù)據(jù)端口選通信號(hào)一方面將數(shù)據(jù)總線上的數(shù)據(jù)寫(xiě)入數(shù)據(jù)寄存器,同時(shí)清除狀態(tài)寄存器中的相關(guān)位(READY),向輸出設(shè)備發(fā)出輸出啟動(dòng)信號(hào)。有的輸出接口設(shè)有控制端口,輸出啟動(dòng)信號(hào)通過(guò)寫(xiě)控制端口產(chǎn)生。8 比較程序中斷方式和查詢方式的區(qū)別,根據(jù)比較,指出中斷工作方式的優(yōu)缺點(diǎn)。中斷方式:外部設(shè)備工作完成后,通過(guò)“中斷請(qǐng)求”信號(hào)“主動(dòng)”向CPU“報(bào)告”。查詢方式:外部設(shè)備工作完成后,狀態(tài)信號(hào)儲(chǔ)存在接口電路內(nèi),被動(dòng)地等待CPU來(lái)讀取。根據(jù)上述比較,可以得到中斷工作方式的如下特點(diǎn):優(yōu)點(diǎn):1) CPU能夠及時(shí)了解外部設(shè)備的狀態(tài),從而對(duì)外部
39、設(shè)備IO請(qǐng)求進(jìn)行及時(shí)處理。2) 由于CPU“被動(dòng)”地等待外部設(shè)備的“中斷請(qǐng)求”,外部設(shè)備進(jìn)行輸入/輸出操作時(shí),CPU可以同時(shí)執(zhí)行其他的程序,CPU和外部設(shè)備“并行”工作。3) 由于同樣的原因,在中斷方式下,CPU可以同時(shí)管理多臺(tái)外部設(shè)備,CPU的效率得到提高。缺點(diǎn):1) 用中斷方式需要CPU增加相應(yīng)的管理邏輯,增加了CPU電路的復(fù)雜性。2) 由于CPU“被動(dòng)”地接收“中斷請(qǐng)求”信號(hào),CPU必須通過(guò)與外部的一個(gè)聯(lián)絡(luò)過(guò)程才能知道是那一個(gè)設(shè)備在申請(qǐng)中斷,這增加了響應(yīng)時(shí)間。為了從當(dāng)前任務(wù)轉(zhuǎn)移到中斷服務(wù),CPU必須保護(hù)原有的運(yùn)行環(huán)境,進(jìn)行“任務(wù)”的“切換”,這也會(huì)增加響應(yīng)時(shí)間。3) 有較多的設(shè)備使用中斷
40、方式時(shí),會(huì)產(chǎn)生“中斷申請(qǐng)”的“競(jìng)爭(zhēng)”。這一方面降低了響應(yīng)速度,另一方面增加了管理的復(fù)雜性。 9 比較DMA方式和程序中斷方式的區(qū)別,根據(jù)比較,指出DMA工作方式的優(yōu)缺點(diǎn)。中斷方式:外部設(shè)備每進(jìn)行一個(gè)數(shù)據(jù)的輸入/輸出,都要通過(guò)“中斷申請(qǐng)”要求CPU進(jìn)行處理。CPU通過(guò)執(zhí)行一段“中斷服務(wù)程序”完成數(shù)據(jù)的傳輸。DMA方式:CPU通過(guò)對(duì)DMAC的初始化,啟動(dòng)一個(gè)數(shù)據(jù)塊的傳輸操作。之后的數(shù)據(jù)傳輸通過(guò)信號(hào)的聯(lián)絡(luò),在外設(shè)接口和存儲(chǔ)器之間進(jìn)行,CPU只需簡(jiǎn)單地讓出總線,而無(wú)需其他操作。根據(jù)上述比較,可以得到DMA工作方式的如下特點(diǎn):優(yōu)點(diǎn):1) 對(duì)于CPU而言,它的任務(wù)僅僅是在一個(gè)數(shù)據(jù)塊傳輸之前對(duì)DMAC進(jìn)行初
41、始化,CPU用于傳輸控制的操作達(dá)到最小(不考慮與通道/IO處理器方式的比較),CPU的效率最高。CPU與外設(shè)“并行”工作。2) 外部設(shè)備一個(gè)數(shù)據(jù)輸入/輸出完成后,向DMAC申請(qǐng)進(jìn)行數(shù)據(jù)傳輸,響應(yīng)時(shí)間僅為DMAC的13個(gè)時(shí)鐘周期。響應(yīng)速度達(dá)到最快,可以滿足高速傳輸?shù)男枰?。缺點(diǎn):1) 實(shí)現(xiàn)DMA控制需要增加DMA控制器和總線控制邏輯,增加了系統(tǒng)的復(fù)雜性。2) DMA傳輸需要占用總線,并且具有較高的“優(yōu)先級(jí)”。這使得系統(tǒng)對(duì)其他設(shè)備的響應(yīng)速度不能得到明確的保證。10 某輸入設(shè)備接口數(shù)據(jù)端口、狀態(tài)端口、控制端口地址分別為70H, 71H, 72H。狀態(tài)端口D5=1表示輸入完成,控制端口D7=1表示啟動(dòng)設(shè)
42、備輸入(輸入完成后由設(shè)備清除該位)。從該設(shè)備輸入100個(gè)字節(jié)數(shù)據(jù),存入以BUFFER為首地址的緩沖區(qū)。如果啟動(dòng)該設(shè)備1秒后仍未完成一次輸入,則視為超時(shí)錯(cuò),顯示出錯(cuò)信息后返回。分別用8086匯編語(yǔ)言和C語(yǔ)言編寫(xiě)完成上述功能的I/O程序。匯編語(yǔ)言程序:DATASEGMENTBUFFERDB100 DUP(?)ERRORDB13, 10, “OVER TIME !”, 13, 10, “$”DATAENDSCODESEGMENTASSUMECS: CODE, DS: DATASTART: MOVAX, DATAMOVDS, AXMOVCX, 100LEABX, BUFFERONE:XORDX, DX
43、;DX用作響應(yīng)計(jì)時(shí)器,每輸入一個(gè)數(shù)據(jù)之前,其初值都應(yīng)為0MOVAL, 80HOUT72H, AL;啟動(dòng)輸入W:INAL, 71H;從 71H 端口讀入狀態(tài)字INCDX;記錄延遲時(shí)間TESTAL, 00100000B;0010 0000B,測(cè)試完成位JNZREAD;輸入完成,轉(zhuǎn)READ讀取數(shù)據(jù)CMPDX, 50000;假設(shè)循環(huán)50000次時(shí)間為1秒JBW;未超時(shí),繼續(xù)測(cè)試JMPOVERTIME;超過(guò)1秒,報(bào)告出錯(cuò)READ:INAL, 70H;從 70H 端口讀入數(shù)據(jù)MOVBX, AL;數(shù)據(jù)存入緩沖區(qū)INCBX;修改指針LOOPONE;100個(gè)數(shù)據(jù)尚未輸入完成,轉(zhuǎn)ONE繼續(xù)JMPDONE;100個(gè)
44、數(shù)據(jù)輸入完成,轉(zhuǎn)DONE結(jié)束程序OVERTIME:LEADX, ERRORMOVAH, 9INT21H;響應(yīng)超時(shí),顯示出錯(cuò)信息DONE:MOVAX, 4C00HINT21H;返回OSCODEENDSENDSTARTC語(yǔ)言程序:main( ) int i, status, time, buffer100 ; for( i=0; i<100; i+ )outportb( 0x72, 0x80 );/* 啟動(dòng)輸入 */ for( time = 0; time < 20000; time+ ) status = inportb( 0x71 );/* 讀狀態(tài) */ if ( status &
45、amp; 0x20) buffer i = inportb ( 0x70 ); exit; /* 讀數(shù)據(jù),保存 */ if ( time >= 20000 ) printf( “n Over Time ! n”); exit ; /* 超時(shí)報(bào)錯(cuò) */ 11 某輸出設(shè)備數(shù)據(jù)端口、狀態(tài)端口地址分別為220H, 221H。狀態(tài)端口D0=1表示輸出完成。將數(shù)據(jù)段中以STRING為首地址的20個(gè)字符(用七位ASCII代碼存儲(chǔ))添加水平和垂直校驗(yàn)發(fā)送到該外部設(shè)備。用8086匯編語(yǔ)言編寫(xiě)完成上述功能的I/O程序。匯編語(yǔ)言程序:DATASEGMENTSTRINGDB20 DUP ( ? )SUMDB0D
46、ATAENDSCODESEGMENTASSUMECS: CODE, DS: DATASTART: MOVAX, DATAMOVDS, AXMOVCX, 20LEABX, STRINGMOVSUM, 0; 垂直校驗(yàn)碼初值為0ONE:MOVDX, 221H; DX置為狀態(tài)端口地址INAL, DXTESTAL, 00000001B;0000 0001B測(cè)試輸出完成位JZONE;未完成,轉(zhuǎn)ONE繼續(xù)讀取狀態(tài)MOVAL, BX;從字符串取出一個(gè)字符的ASCII代碼ANDAL, 07FH;清除最高位,準(zhǔn)備置入校驗(yàn)位JPEOUTPUT;判代碼奇偶屬性,ORAL, 80H;奇數(shù)個(gè)“1”,最高位置1(偶校驗(yàn))O
47、UTPUT:MOVDX, 220HOUTDX, AL;輸出添加了校驗(yàn)位的代碼XORSUM, AL;生成垂直校驗(yàn)位INCBX;修改指針LOOPONE;20個(gè)數(shù)據(jù)尚未輸出完成,轉(zhuǎn)ONE繼續(xù)MOVDX, 221H;輸出垂直校驗(yàn)代碼LAST:INAL, DXTESTAL, 00000001B;0000 0001BJZLASTMOVAL, SUMMOVDX, 220HOUTDX, ALDONE:MOVAX, 4C00HINT21H;返回OSCODEENDSENDSTART12 試畫(huà)出矩陣式鍵盤(pán)查詢的程序流程圖。上述流程中假設(shè)鍵盤(pán)為8×8結(jié)構(gòu),如果有鍵按下,返回它的8位掃描碼。其中:最低3位為該
48、鍵所在列,次低3位為該鍵所在行,最高2位為0。如果沒(méi)有鍵按下,返回8位“1”。13 試畫(huà)出公用端口多位LED輸出的程序流程圖。習(xí) 題 四1 什么叫中斷?有哪幾種不同類型的中斷?由于某個(gè)事件的發(fā)生,CPU暫停當(dāng)前正在執(zhí)行的程序,轉(zhuǎn)而執(zhí)行處理該事件的一個(gè)程序。該程序執(zhí)行完成后,CPU接著執(zhí)行被暫停的程序。這個(gè)過(guò)程稱為中斷。根據(jù)中斷源的位置,有兩種類型的中斷。有的中斷源在CPU的內(nèi)部,稱為內(nèi)部中斷。大多數(shù)的中斷源在CPU的外部,稱為外部中斷。根據(jù)中斷引腳的不同,或者CPU響應(yīng)中斷的不同條件,也可以把中斷劃分為可屏蔽中斷和不可屏蔽中斷兩種。 2 什么是中斷類型?它有什么用處?用若干位二進(jìn)制表示的中斷源
49、的編號(hào),稱為中斷類型。中斷類型用來(lái)區(qū)分不同的中斷,使CPU能夠在中斷響應(yīng)時(shí)調(diào)出對(duì)應(yīng)的中斷服務(wù)程序進(jìn)行中斷處理。3 有哪幾種確定中斷優(yōu)先級(jí)的方法?說(shuō)明每一種方法各自的優(yōu)劣之處。確定中斷優(yōu)先權(quán)有四種可選的方法。(1) 軟件查詢法:采用程序查詢的方法確定中斷服務(wù)的順序。這種方法中斷邏輯最簡(jiǎn)單(基本上不需要外部中斷邏輯),優(yōu)先級(jí)可以靈活設(shè)置,但中斷響應(yīng)所需時(shí)間最長(zhǎng)。(2) 分類申請(qǐng)法:CPU分設(shè)二個(gè)中斷申請(qǐng)信號(hào)的輸入引腳。這種方法需要CPU提供條件。(3) 鏈?zhǔn)絻?yōu)先權(quán)排隊(duì):菊花鏈法。這種方法需要的外部中斷邏輯比較簡(jiǎn)單,容易實(shí)現(xiàn),但是設(shè)備較多時(shí)信號(hào)延遲大,對(duì)設(shè)備故障敏感。(4) 可編程中斷控制器: “向
50、量”優(yōu)先權(quán)排隊(duì)專用電路。這種方法功能最全面,控制靈活,可以通過(guò)程序設(shè)定中斷優(yōu)先權(quán)為固定的或循環(huán)的,但需要增加專用的中斷控制器。4 什么是中斷嵌套?使用中斷嵌套有什么好處?對(duì)于可屏蔽中斷,實(shí)現(xiàn)中斷嵌套的條件是什么?CPU在處理級(jí)別較低的中斷過(guò)程中,出現(xiàn)了級(jí)別較高的中斷請(qǐng)求。CPU停止執(zhí)行低級(jí)別中斷的處理程序而去優(yōu)先處理高級(jí)別中斷,等高級(jí)別中斷處理完畢后,再接著執(zhí)行低級(jí)別的未處理完的中斷處理程序,這種中斷處理方式稱為多重(級(jí))中斷或中斷嵌套。使用中斷嵌套可以使高優(yōu)先級(jí)別的中斷得到及時(shí)的響應(yīng)和處理。對(duì)于可屏蔽中斷,由于CPU在響應(yīng)中斷時(shí)已將IF清零,所以一定要在中斷處理程序中加入開(kāi)中斷指令,才有可能
51、進(jìn)行中斷嵌套。5 什么叫中斷屏蔽?如何設(shè)置I/O接口的中斷屏蔽?用程序的方法使某些中斷源的中斷請(qǐng)求不能夠發(fā)送到CPU,或者雖然能夠發(fā)送但是不能得到響應(yīng),這種方法稱為中斷屏蔽。在外設(shè)的接口內(nèi)增設(shè)一個(gè)中斷屏蔽觸發(fā)器(可以用D觸發(fā)器實(shí)現(xiàn)),該觸發(fā)器的端與中斷請(qǐng)求信號(hào)相“與”后連接到INTR。當(dāng) = 0時(shí),中斷請(qǐng)求不能發(fā)往INTR。通過(guò)設(shè)定中斷屏蔽觸發(fā)器的狀態(tài),可以控制中斷請(qǐng)求信號(hào)是否能夠送到INTR端。置IF= 0, 可以使80x86CPU不響應(yīng)來(lái)自INTR的可屏蔽中斷請(qǐng)求。6 什么是中斷向量?中斷類型為1FH的中斷向量為2345H:1234H,畫(huà)圖說(shuō)明它在中斷向量表中的安置位置。中斷服務(wù)程序的入口
52、地址稱為中斷向量。中斷類型為1FH,它的中斷向量放置在1FH×4=0000: 7CH開(kāi)始的位置上。如右圖。7 敘述一次可屏蔽中斷的全過(guò)程。(1) 中斷源請(qǐng)求中斷外部中斷源通過(guò)INTR引腳向CPU請(qǐng)求中斷。(2) 中斷響應(yīng) 中斷源提出中斷請(qǐng)求后,如果CPU處于允許中斷狀態(tài)(IF=1); 沒(méi)有不可屏蔽中斷請(qǐng)求和總線請(qǐng)求; 當(dāng)前指令執(zhí)行結(jié)束。則轉(zhuǎn)入中斷響應(yīng)周期。在中斷響應(yīng)周期: CPU取得中斷源的中斷類型; 將標(biāo)志寄存器FLAGS和CS、IP(斷點(diǎn))先后壓入堆棧保存; 清除自陷標(biāo)志位TF和中斷允許標(biāo)志位IF; 讀中斷向量表,獲得相應(yīng)的中斷服務(wù)程序入口地址,轉(zhuǎn)入中斷服務(wù)程序。(3)中斷服務(wù)
53、中斷服務(wù)程序的主要內(nèi)容包括: 保護(hù)現(xiàn)場(chǎng) 開(kāi)中斷 中斷處理 關(guān)中斷 恢復(fù)現(xiàn)場(chǎng) (4)中斷返回 8 簡(jiǎn)要敘述8259A內(nèi)部IRR, IMR, ISR三個(gè)寄存器各自的作用。三個(gè)寄存器長(zhǎng)度均為8位。IRR用來(lái)記錄引腳IR7IR0上由外部設(shè)備送來(lái)的中斷請(qǐng)求信號(hào)。當(dāng)外部中斷請(qǐng)求線IRi變?yōu)橛行r(shí),IRR中與之對(duì)應(yīng)的第i位被置1。IMR用于設(shè)置對(duì)中斷請(qǐng)求的屏蔽信號(hào)。此寄存器的第i位被置1時(shí),與之對(duì)應(yīng)的外部中斷請(qǐng)求線IRi被屏蔽,不能向CPU發(fā)出INT信號(hào)。可通過(guò)軟件設(shè)置IMR內(nèi)容,確定每一個(gè)中斷請(qǐng)求的屏蔽狀態(tài)。ISR用于記錄當(dāng)前正在被服務(wù)的所有中斷級(jí),包括尚未服務(wù)完而中途被更高優(yōu)先級(jí)打斷的中斷級(jí)。若CPU響
54、應(yīng)了IRi中斷請(qǐng)求,則ISR中與之對(duì)應(yīng)的第i位置1。ISR用于中斷優(yōu)先級(jí)管理。9 8259A是怎樣進(jìn)行中斷優(yōu)先權(quán)管理的?8259A通過(guò)以下兩種途徑實(shí)現(xiàn)對(duì)中斷優(yōu)先權(quán)的管理:(1) 通過(guò)設(shè)置中斷屏蔽寄存器IMR,可以屏蔽某些中斷請(qǐng)求,從而動(dòng)態(tài)地改變各請(qǐng)求端的優(yōu)先級(jí)別。(2) 8259A響應(yīng)某個(gè)中斷請(qǐng)求之后,將ISR寄存器對(duì)應(yīng)位置1。如果后續(xù)的中斷請(qǐng)求級(jí)別低于正在響應(yīng)的中斷請(qǐng)求,則該中斷不能立即被響應(yīng)。反之,如果新的中斷請(qǐng)求級(jí)別高于正在響應(yīng)的中斷請(qǐng)求,則允許進(jìn)行中斷嵌套。中斷服務(wù)結(jié)束時(shí),應(yīng)將ISR寄存器對(duì)應(yīng)位清零。10 特殊全嵌套方式有什么特點(diǎn)?它的使用場(chǎng)合是什么?特殊全嵌套方式一般用于級(jí)聯(lián)方式下的8259A主片。如果8259A主片在一次中斷處理尚未結(jié)束時(shí),收到了來(lái)自同一個(gè)引腳的第二次中斷請(qǐng)求,并且該8259A采用普通全嵌套方式,則它不會(huì)響應(yīng)來(lái)自同一個(gè)引腳的第二次中斷請(qǐng)求。如果該8259A采用特殊全嵌套方式,就會(huì)響應(yīng)該請(qǐng)求(中斷嵌套),從而可以及時(shí)響應(yīng)連接在同一從片8259A上,并且相對(duì)有較高優(yōu)先級(jí)別的中斷請(qǐng)求。11 向8259A發(fā)送“中斷結(jié)束”命令有什么作用?8259A有哪幾種中斷結(jié)束方式?分析各自的利弊。中斷服務(wù)完成時(shí),必須給8259A一個(gè)命令,使這個(gè)中斷級(jí)別在ISR中的相應(yīng)位清“0”,表
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 尊重老師班會(huì)課件
- 2024年吉林長(zhǎng)春中考地理真題及答案
- 公共車庫(kù)租賃及維護(hù)服務(wù)合同
- 綜合教學(xué)課件
- 醫(yī)療機(jī)構(gòu)社會(huì)責(zé)任與風(fēng)險(xiǎn)應(yīng)對(duì)考核試卷
- 公共設(shè)施管理中的技術(shù)創(chuàng)新與采納路徑考核試卷
- 2024年監(jiān)理工程師合同管理工程索賠知識(shí)點(diǎn)練習(xí)
- 印刷機(jī)械智能控制技術(shù)在印刷設(shè)備智能化改造中的應(yīng)用考核試卷
- 抗老化材料考核試卷
- 流程標(biāo)準(zhǔn)化與客戶生命周期管理考核試卷
- 重慶市智慧園林綠化管理信息系統(tǒng)-可行性研究報(bào)告(國(guó)信咨詢)
- 十七個(gè)崗位安全操作規(guī)程手冊(cè)
- 大學(xué)世界現(xiàn)代史世界當(dāng)代史名詞解釋主觀題復(fù)習(xí)資料
- 貴州省貴陽(yáng)市云巖區(qū)2023-2024學(xué)年四年級(jí)下學(xué)期期末語(yǔ)文試題
- QCT1177-2022汽車空調(diào)用冷凝器
- GB/T 4074.5-2024繞組線試驗(yàn)方法第5部分:電性能
- 2024年單獨(dú)考試招生嬰幼兒托育與管理專業(yè)考試題庫(kù)(含答案)
- 人工智能中的圖像識(shí)別技術(shù)
- 市場(chǎng)監(jiān)管培訓(xùn)課件
- 腫瘤科放療健康宣教
- 你的名字叫什么-音樂(lè)教案
評(píng)論
0/150
提交評(píng)論