現(xiàn)代微型計(jì)算機(jī)原理與接口技術(shù)習(xí)題解答_第1頁
現(xiàn)代微型計(jì)算機(jī)原理與接口技術(shù)習(xí)題解答_第2頁
現(xiàn)代微型計(jì)算機(jī)原理與接口技術(shù)習(xí)題解答_第3頁
現(xiàn)代微型計(jì)算機(jī)原理與接口技術(shù)習(xí)題解答_第4頁
現(xiàn)代微型計(jì)算機(jī)原理與接口技術(shù)習(xí)題解答_第5頁
已閱讀5頁,還剩100頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、全國高等學(xué)?!笆?#160;一五”重點(diǎn)規(guī)劃教材現(xiàn)代微型計(jì)算機(jī)原理與接口技術(shù)教程(習(xí)題解答)主 編:楊文顯副主編:楊晶鑫編 著: 黃春華 胡建人 宓雙清 華 大 學(xué) 出 版 社習(xí) 題 一1. 8086CPU由哪幾個(gè)部件構(gòu)成?它們的主要功能各是什么?8086 CPU由指令執(zhí)行部件EU和總線接口部件BIU兩個(gè)部份組成。指令執(zhí)行部件主要功能是執(zhí)行指令??偩€接口部件的主要功能是完成訪問存儲(chǔ)器或I/O端口的操作: 形成訪問存儲(chǔ)器的物理地址; 訪問存儲(chǔ)器取得指令并暫存到指令隊(duì)列中等待執(zhí)行; 訪問存儲(chǔ)器或I/O端口以讀取操作數(shù)參與EU運(yùn)算,或存放運(yùn)算結(jié)果。2. 什么是邏輯地址?什么是物理地址?它們各自如何表示

2、?如何轉(zhuǎn)換?程序中使用的存儲(chǔ)器地址稱為邏輯地址,由16位“段基址”和16位“偏移地址”(段內(nèi)地址)組成。段基址表示一個(gè)段的起始地址的高16位。偏移地址表示段內(nèi)的一個(gè)單元距離段開始位置的距離。訪問存儲(chǔ)器的實(shí)際地址稱為物理地址,用20位二進(jìn)制表示。將兩個(gè)16位二進(jìn)制表示的邏輯地址錯(cuò)位相加,可以得到20位的物理地址:物理地址段基址×16 + 偏移地址在32位CPU的保護(hù)模式下,“邏輯地址”的表示產(chǎn)生了一些變化,請(qǐng)參考第8章的相關(guān)內(nèi)容。3. 什么是“堆棧”?它有什么用處?在使用上有什么特點(diǎn)?堆棧是內(nèi)存中的一塊存儲(chǔ)區(qū),用來存放專用數(shù)據(jù)。例如,調(diào)用子程序時(shí)的入口參數(shù)、返回地址等,這些數(shù)據(jù)都按照“

3、先進(jìn)后出”的規(guī)則進(jìn)行存取。SS存放堆棧段的段基址,SP存放當(dāng)前堆棧棧頂?shù)钠频刂贰?shù)據(jù)進(jì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è)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. 按照傳輸方向和電氣特

4、性劃分,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)(例如READY)和請(qǐng)求(中斷、DMA)信號(hào)。按照信號(hào)的電器特性劃分,有以下幾種類型:一般信號(hào):用來傳輸數(shù)據(jù)/地址信號(hào)時(shí),高電平表示“1”,低電平表示“0”;用來表示正邏輯的控制/狀態(tài)信號(hào)時(shí),“1”表示有效,“0”表示信號(hào)無效;用來表示負(fù)邏輯的控制/狀態(tài)信號(hào)時(shí),“0”表示有

5、效,“1”表示信號(hào)無效。三態(tài)信號(hào):除了高電平、低電平兩種狀態(tài)之外,CPU內(nèi)部還可以通過一個(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í)行總線讀周期?請(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ù)用線

6、(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)開始變?yōu)榈碗娖剑ㄓ行В?0,用來開放總線收發(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狀

7、態(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)行采樣,完成讀取數(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讀入的高位字

8、節(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)所需的總線控制邏輯部件最少,最小工作模式因此得名。最小模式也稱單處理器模式。最大模式下,系統(tǒng)內(nèi)可以有一個(gè)以上的處理器,除了8086/8088作為“中央處理器”之外,還可以配置用于數(shù)值計(jì)算的8087“數(shù)值協(xié)處理器”、用于I/O管理的“I/O協(xié)處理器”8089。各個(gè)處理器發(fā)往總線的命令統(tǒng)一送往“總線控制器”,由它“仲裁”后發(fā)出。CPU兩

9、種工作模式由引腳決定,接高電平,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)志的限制。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)短取決于

10、哪些因素?時(shí)鐘周期:CPU連接的系統(tǒng)主時(shí)鐘CLK一個(gè)周期的時(shí)間。CLK信號(hào)頻率越高,時(shí)鐘周期越短??偩€周期:CPU通過外部總線對(duì)存儲(chǔ)器或I/O端口進(jìn)行一次讀/寫操作的過程稱為總線周期。8086CPU總線周期一般由四個(gè)時(shí)鐘周期組成,存儲(chǔ)器/IO設(shè)備(接口)速度不能滿足CPU要求時(shí),可以增加一個(gè)或多個(gè)時(shí)鐘周期。指令周期:CPU執(zhí)行一條指令的時(shí)間(包括取指令和執(zhí)行該指令所需的全部時(shí)間)稱為指令周期。指令周期的時(shí)間主要取決于主時(shí)鐘的頻率和指令的復(fù)雜程度,它也受到存儲(chǔ)器或IO設(shè)備接口工作速度的影響。10. 在一次最小模式總線讀周期中,8086CPU先后發(fā)出了哪些信號(hào)?各有什么用處?T1狀態(tài): 指出CPU

11、是從內(nèi)存(1)還是從IO端口(0)讀取數(shù)據(jù)。隨后CPU從地址/狀態(tài)復(fù)用線(A19/S6A16/S3)和地址/數(shù)據(jù)復(fù)用線(AD15AD0)上發(fā)出讀取存儲(chǔ)器的20位地址,對(duì)IO端口訪問時(shí)從AD15AD0上發(fā)出16位地址。為了鎖存地址,CPU在T1狀態(tài)從ALE引腳輸出一個(gè)正脈沖作為地址鎖存信號(hào)。如果需要讀取高8位數(shù)據(jù)線上的數(shù)據(jù)(奇地址/讀取一個(gè)字),= 0。為了控制總線收發(fā)器8286數(shù)據(jù)傳輸方向, = 0。T2狀態(tài): 讀信號(hào)開始變?yōu)榈碗娖剑ㄓ行В?0,用來開放總線收發(fā)器8286。T3狀態(tài): CPU檢測(cè)READY引腳信號(hào)。若READY為高電平(有效),表示存儲(chǔ)器或I/O端口已經(jīng)準(zhǔn)備好數(shù)據(jù),進(jìn)入T4狀

12、態(tài);若READY為低電平(無效),表示存儲(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”,具體敘述最大模式“總線寫周期”總線上的相關(guān)信號(hào)。T1狀態(tài):地址/數(shù)據(jù)復(fù)用線(AD15AD0)上出現(xiàn)訪問IO端口的16位地址21H。由于地址為奇數(shù),需要通過高8位數(shù)據(jù)線訪問端口,= 0。T2狀態(tài):= 0,表示本周期對(duì)IO端口進(jìn)行寫操作。地址/數(shù)據(jù)復(fù)用線(AD15AD0)上出現(xiàn)來自AL的8位數(shù)據(jù)。T3狀態(tài):若READY為高電平(有效

13、),表示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ǔ)器ROM(Read Only Memory)兩類。RAM中信息可以按地址讀出,也可以按地址寫入。RAM具有易失性,掉電后原來存儲(chǔ)的信息全部丟失,不能恢復(fù)。ROM 中的信息可以按地址讀出,但是在普通狀態(tài)下不能寫入,它的內(nèi)容一般不能被改變。ROM具有“非易失性”,電源關(guān)閉后,其中的

14、信息仍然保持。2. 說明SRAM、DRAM、MROM、PROM和EPROM的特點(diǎn)和用途。SRAM:靜態(tài)RAM,讀寫速度快,但是集成度低,容量小,主要用作Cache或小系統(tǒng)的內(nèi)存儲(chǔ)器。DRAM:動(dòng)態(tài)RAM,讀寫速度慢于靜態(tài)RAM,但是它的集成度高,單片容量大,現(xiàn)代微型計(jì)算機(jī)的“主存”均由DRAM構(gòu)成。MROM:掩膜ROM,由芯片制作商在生產(chǎn)、制作時(shí)寫入其中數(shù)據(jù),成本低,適合于批量較大、程序和數(shù)據(jù)已經(jīng)成熟、不需要修改的場(chǎng)合。PROM:可編程ROM,允許用戶自行寫入芯片內(nèi)容。芯片出廠時(shí),所有位均處于全“0”或全“1”狀態(tài),數(shù)據(jù)寫入后不能恢復(fù)。因此,PROM只能寫入一次。EPROM:可擦除可編程只讀存

15、儲(chǔ)器,可根據(jù)用戶的需求,多次寫入和擦除,重復(fù)使用。用于系統(tǒng)開發(fā),需要反復(fù)修改的場(chǎng)合。3. 已知一個(gè)SRAM芯片的容量為8K×8b,該芯片有一個(gè)片選信號(hào)引腳和一個(gè)讀/寫控制引腳,問該芯片至少有多少個(gè)引腳?地址線多少條?數(shù)據(jù)線多少條? 根據(jù)存儲(chǔ)芯片地址線數(shù)量計(jì)算公式,klog2(1024*8)= log2(213)=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&

16、#215;4bit(位),也可表示為64Kb=8KB(字節(jié))。5. 32M×8b的DRAM芯片,其外部數(shù)據(jù)線和地址線為多少條?根據(jù)存儲(chǔ)芯片地址線數(shù)量計(jì)算公式,klog2(1024*1024*32)= log2(225)=25,即需要25根地址線。但是,由于DRAM芯片的地址采用分時(shí)輸入的方法,所以實(shí)際需要的地址線只有理論值的一半,此處為13根。數(shù)據(jù)線8根。6. DRAM為什么需要定時(shí)刷新?DRAM靠MOS管極間電容存儲(chǔ)電荷的有無決定所存信息是0還是1,由于漏電流的存在,它存儲(chǔ)的信息不能長(zhǎng)時(shí)間保存,需要定時(shí)重新寫入,稱為“刷新”。7. 74LS138譯碼器的接線如圖2.28所示,寫出、

17、所決定的內(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”。于是:對(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;或2C000H2DF

18、FFH。8. 敘述EPROM的編程過程,并說明EPROM和EEPROM的不同點(diǎn)。EPROM的編程過程標(biāo)準(zhǔn)編程方式:Vpp上加編程電壓,地址線、數(shù)據(jù)線上給出要編程單元的地址及其數(shù)據(jù),并使0、1。上述信號(hào)穩(wěn)定后,在端加上寬度為50±5ms的負(fù)脈沖,就可將一個(gè)字節(jié)的數(shù)據(jù)寫入相應(yīng)的地址單元中。不斷重復(fù)這個(gè)過程,將數(shù)據(jù)逐一寫入??焖倬幊谭绞剑菏褂?00µs的編程脈沖依次寫完所有要編程的單元,然后從頭開始校驗(yàn)每個(gè)寫入的字節(jié)。若寫得不正確,則重寫這個(gè)單元。寫完后再校驗(yàn),不正確還可再寫,直到全部正確。EPROM和EEPROM的不同點(diǎn):EPROM芯片用紫外線光照射擦除芯片的內(nèi)容,擦除時(shí)需要把

19、芯片從電路板上拔下,擦除操作對(duì)整個(gè)芯片進(jìn)行。EPROM芯片編程需要外加“高電壓”,所以需要專用的“編程器”才能實(shí)現(xiàn)。EPROM的編程一般情況下對(duì)整個(gè)芯片進(jìn)行。EEPROM芯片的擦除用電信號(hào)實(shí)現(xiàn),無需把芯片從電路板上拔下,可以進(jìn)行“在系統(tǒng)編程”。EEPROM以字節(jié)為單位重寫,EEPROM沒有單獨(dú)的擦除操作,寫入就意味著擦除了原來的內(nèi)容,所以使用比EPROM快速方便。相比較而言,EEPROM芯片的編程比較接近RAM的寫入,它們之間的區(qū)別主要體現(xiàn)在速度上:RAM寫入與讀出的速度相近,不需要其他的聯(lián)絡(luò)信號(hào);EEPROM的寫入比起讀出明顯要慢,為了掌握寫入時(shí)間,EEPROM通常設(shè)置了一根“狀態(tài)”引腳,供

20、聯(lián)絡(luò)使用。9. 下列容量的ROM芯片除電源和地線,還有多少個(gè)輸入引腳和輸出引腳?寫出信號(hào)名稱。(1)64×4 (2)512×8 (3)128K×8 (4)16K×8 (5)1M×16根據(jù)存儲(chǔ)容量計(jì)算公式可得以上各芯片的地址、數(shù)據(jù)引腳分別為:64×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

21、×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通常還需要“輸出允許”和“編程脈沖”輸入引腳。EEPROM芯片除了有“片選”、“輸出允許”和“寫允許”外,通常還有表示“寫入完成”的狀態(tài)信號(hào)引腳。10. 已知RAM芯片的容量為(1)16K×8 (2)32K×8 (3)64K×8(4)2K×8 如果RAM的起始地址為340

22、0H、則各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+10000H1= 133FFH2K×8: 末地址是3400H+800H1= 3BFFH11. 如果存儲(chǔ)器起始地址為1800H,末地址為1FFFH,求該存儲(chǔ)器的容量。該存儲(chǔ)器的容量為:(1FFFH1800H+1)×8 = 800H×8,該存儲(chǔ)器有2048×8個(gè)位,也可以

23、寫作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ǔ)16384(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

24、譯碼器輸入端,產(chǎn)生16個(gè)譯碼信號(hào)用作16個(gè)芯片組的片選信號(hào)。剩余的地址線用來確定該存儲(chǔ)體的首地址。13. 試說明Flash Memory芯片的特點(diǎn)及28F040的編程過程。Flash Memory也稱為“閃速存儲(chǔ)器”,有時(shí)直接稱之為“Flash”。Flash既有ROM非易失性的特點(diǎn),又能夠在線擦除和重寫,既可讀又可寫,同時(shí)有很高的存取速度,具有集成度高,價(jià)格低,耗電少等優(yōu)點(diǎn)。目前存取速度已突破了30ns,掉電后信息可以保持10年。Flash的編程方法與E2PROM相同,28F040的編程寫入過程采用字節(jié)編程方式。首先,向28F040狀態(tài)寄存器寫入命令10H,再在指定的地址單元寫入相應(yīng)數(shù)據(jù)。接著

25、查詢狀態(tài),判斷這個(gè)字節(jié)是否寫好,若寫好則重復(fù)上面過程寫入下一個(gè)字節(jié),直到全部字節(jié)寫入。28F040的編程速度很快,一個(gè)字節(jié)的寫入時(shí)間僅為8.6µs。14. 利用全地址譯碼將6264芯片接到8088系統(tǒng)總線上,地址范圍為30000H31FFFH,畫出邏輯圖。全地址譯碼連接圖全地址譯碼可以保證存儲(chǔ)器芯片上的每一個(gè)單元在整個(gè)內(nèi)存空間中具有唯一的、獨(dú)占的一個(gè)地址。參考教材相關(guān)內(nèi)容,6264芯片有13根地址線,剩余的高位7根地址線通過譯碼組合確定該芯片的起始地址(30000H)。由30000H地址得出對(duì)應(yīng)的地址線狀態(tài)為:0011 000 0 0000 0000 0000 可以看出A13A19地

26、址線為0011 000,所以譯碼組合應(yīng)邏輯為:= ···A16·A17·· =(····)·(A16·A17)= A13+A14+A15+A18+A19+ A16·A17具體邏輯如右圖所示。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/(64

27、K×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. 某8088系統(tǒng)用2764 ROM芯片和6264 SRAM芯片構(gòu)成16KB的內(nèi)存。其中,RAM的地址范圍為FC000H-FDFFFH,ROM的地址范圍為FE000H-FFFFFH。試?yán)?4LS138譯碼,畫出存儲(chǔ)器與CPU的連接圖,并標(biāo)出總線信號(hào)名稱。2764和6264均為8KB的存儲(chǔ)芯片,需要13根

28、地址線(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用作譯碼輸入,其他地址(A16A19=1111)用作譯碼控制,可以得到如下譯碼控制電路,連接如下圖所示。17. 存儲(chǔ)周期指的是( A )。A存儲(chǔ)器進(jìn)行連續(xù)讀或?qū)懖僮魉试S的最短時(shí)間間隔 B存儲(chǔ)器的讀出周期C存儲(chǔ)器進(jìn)行連續(xù)寫操作所允許的最短時(shí)間間隔 D存儲(chǔ)器的寫入周期存儲(chǔ)周期是指連續(xù)兩次訪問存儲(chǔ)器之間所需的最小時(shí)間。存取時(shí)間是CPU訪問

29、一次存儲(chǔ)器(寫入和讀出)所需的時(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的EPROM芯片,其數(shù)據(jù)線為8根,地址線為15根,片選線1根,讀寫控制線1根。其中地址線、片選線、讀寫控制線均為EPROM的輸入信號(hào),共17根。數(shù)據(jù)線在正常工作狀態(tài)下用于EPROM輸出,計(jì)8根。所以應(yīng)選擇C。19. 掩膜ROM在制造時(shí)通過光刻是否連接MOS管來確定0和1,如果對(duì)應(yīng)的某存儲(chǔ)單元位沒有連接MO

30、S管,則該位信息為( 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í),盡管字線被選中,輸出端與“地”仍然不能導(dǎo)通,輸出高電平,對(duì)應(yīng)的信息為1。所以應(yīng)選擇C。20. SRAM和DRAM存儲(chǔ)原理不同,它們分別靠( A )來存儲(chǔ)0和1的。A雙穩(wěn)態(tài)觸發(fā)器的兩個(gè)穩(wěn)態(tài)和極間是否有足夠的電荷B內(nèi)部熔絲是否斷開和雙穩(wěn)態(tài)觸發(fā)器C極間電荷和浮置柵是否積累足夠的電荷D極間是否有足夠的電荷和雙穩(wěn)態(tài)觸發(fā)

31、器的兩個(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)成。寫入時(shí)其信息通過位線(數(shù)據(jù)線)存人電容C中(寫入“1”對(duì)電容充電,寫入“0”則對(duì)電容放電);讀出時(shí)存儲(chǔ)在電容C上的電荷通過T1輸出到位線上。所以應(yīng)選擇A。習(xí) 題 三1. 如果用24b儲(chǔ)存一個(gè)無符號(hào)數(shù),這個(gè)數(shù)的范圍是什么?如果儲(chǔ)存的是一個(gè)補(bǔ)碼表示的有符號(hào)數(shù),那么這個(gè)數(shù)的范圍又是什么?答:如果用24b儲(chǔ)存一個(gè)無符號(hào)數(shù),這個(gè)數(shù)的范圍應(yīng)為:0224-1如果用24b儲(chǔ)存一個(gè)補(bǔ)碼

32、表示的有符號(hào)數(shù),這個(gè)數(shù)的范圍應(yīng)為:-223+223-12. 用符號(hào)“”把下面的數(shù)按從大到小的順序“連接”起來X1補(bǔ)=10110111 X2原=10110111 X3反=10110111 X4補(bǔ)=10110110 X5無符號(hào)數(shù)=10110111解:X1=-0100 1001B, X2=-011 0111B, X3=-0100 1000B, X4=-0100 1010B, X5=+1011 0111B 因此:X5>X2>X3>X1>X43. 用8位補(bǔ)碼完成下列運(yùn)算,用二進(jìn)制“真值”的格式給出運(yùn)算結(jié)果,并指出運(yùn)算后CF、OF、ZF、SF、PF標(biāo)志位的狀態(tài)。(1)127+126

33、(2)126-127(3)-100-120(4)-100-(-120)解: (1)127+126127補(bǔ)=0111 1111,126補(bǔ)=0111 1110,127+126補(bǔ)=1111 1101,127+126=-0000 0011(溢出)COZSP=01010(2)126-127126補(bǔ)=0111 1110,-127補(bǔ)=1000 0001,126-127補(bǔ)=1111 1111,126-127=-000 0001COZSP=10011(3)-100-120-100補(bǔ)=1001 1100,-120補(bǔ)=1000 1000,-100-120補(bǔ)=0010 0100,-100-120=+0010 0100

34、(溢出)COZSP=01001(4)-100-(-120)-100補(bǔ)=1001 1100,-120補(bǔ)=1000 1000, -120補(bǔ)求補(bǔ)=0111 1000,-100-(-120)補(bǔ)=0001 0100,-100-(-120)=+0001 0100COZSP=000014. “看作”是:(1)二進(jìn)制無符號(hào)數(shù)(2)二進(jìn)制補(bǔ)碼(3)壓縮BCD碼(4)非壓縮BCD碼 哪一種情況下它代表的“值”最大?答:看作二進(jìn)制無符號(hào)數(shù)時(shí),它代表的“值”最大。分析:看作二進(jìn)制補(bǔ)碼時(shí),它代表一個(gè)負(fù)數(shù),而其它的情況下,它均為正數(shù)。因此,看作二進(jìn)制補(bǔ)碼時(shí),它代表的值最小。把這組代碼用十六進(jìn)制數(shù)字形式寫出:9758 對(duì)于

35、無符號(hào)數(shù),它的值等于十六進(jìn)制的9758H;對(duì)于壓縮BCD碼,它的值等于十進(jìn)制的9758,顯然小于9758H;對(duì)于非壓縮BCD碼,它的值等于十進(jìn)制的78,顯然更小于9758H;因此,看作二進(jìn)制無符號(hào)數(shù)時(shí),它代表的“值”最大。5. 某數(shù)據(jù)段內(nèi)有如下數(shù)據(jù)定義:Xdb30, 30H, ABC, 2-3, ?, 11001010Bdw0FFH,-2, “CD”Ydd20 dup(15, 3 dup(?), 0)Zdb3 dup(?)WdwZ-X假設(shè)變量X的偏移地址為20H。(1) 寫出變量X各數(shù)據(jù)在內(nèi)存中的具體位置和相關(guān)內(nèi)存單元的值。(2) 寫出變量Y,Z的偏移地址。(3) 寫出變量W的值答:(1)變量

36、X各數(shù)據(jù)在內(nèi)存中的具體位置和相關(guān)內(nèi)存單元的值如右圖。變量Y的偏移地址為002EH;變量Z的偏移地址為002EH+4×5×20=01BEH變量W的值等于變量Z和X偏移地址之差01BEH-0020H=019EH它等于變量X、Y所占用內(nèi)存單元的字節(jié)數(shù)。6. 下列指令的源操作數(shù)段基址在哪個(gè)段寄存器中?(1)MOVAX, BPSI(2)MOVAX, CS:8DI(3)MOVAX, 2EBP*1(4)MOVAX, FS:4ESP(5)MOVAX, 2EBPEAX(6)MOVAX, ECXEBP*4(7)MOCAX, EDXEBP(8)MOVAX, ES:10EBPEAX*2答:各指令源

37、操作數(shù)段基址使用的段寄存器如下:(1) SS(2) CS(3) SS(4) FS(5) SS(6) DS(7) DS(8) ES7. 判斷下列指令是否正確。若不正確,指出錯(cuò)誤原因(1)MOVAX, EBX (2)MOVSI, DL(3)MOVEBP, ESPEAX*3(4)LEAAX, 3006H(5)MOVBPDI, 0 (6)MOVSI, DI(7)MOVES, 1000H (8)MOVAX, X+2(9)MOVAX, CX+2 (10)MOVEAXEAX*2, AL答: (1)指令MOVAX, EBX是正確的。(2)指令MOVSI, DL是錯(cuò)誤的,兩個(gè)操作數(shù)類型不匹配。(3)指令MOVE

38、BP, ESPEAX*3 是錯(cuò)誤的,比例因子不能為3。(4)指令LEAAX, 3006H是錯(cuò)誤的,LEA指令的源操作數(shù)必須為內(nèi)存操作數(shù)。(5)指令MOVBPDI, 0是錯(cuò)誤的,操作數(shù)類型無法確定。(6)指令MOVSI, DI 是錯(cuò)誤的,不能同時(shí)出現(xiàn)兩個(gè)內(nèi)存操作數(shù)。(7)指令MOVES, 1000H是錯(cuò)誤的,裝載段寄存器時(shí),源操作數(shù)不能為立即數(shù)。(8)如果“X”是用常數(shù)表達(dá)式定義的符號(hào)(例如:X EQU 5+6),或者是用“DW”定義的內(nèi)存變量,指令MOVAX, X+2是正確的。否則這條指令是錯(cuò)誤的。(9)指令MOVAX, CX+2是錯(cuò)誤的,源操作數(shù)表達(dá)式CX+2不是一個(gè)可以直接計(jì)算的“常數(shù)表達(dá)

39、式”。(10)指令MOVEAXEAX*2, AL是正確的。8. 現(xiàn)有(DS)=2000H ,(BX)=0100H,(SI)=0002H,(20100H)=12H,(20101H)=34H,(20102H)=56H,(20103H)=78H,(21200H)=2AH,(21201H)=4CH,(21202H)=0B7H,(21203H)=65H,說明下列指令執(zhí)行后AX寄存器的內(nèi)容。(1)MOVAX, 1200H(2)MOVAX, BX(3)MOVAX, 1200H(4)MOVAX, BX(5)MOVAX, 1100HBX(6)MOVAX, BXSI(7)MOVAX, 1100HBXSI答 :(1

40、)指令MOVAX, 1200H執(zhí)行后,(AX)=1200H (立即數(shù)操作數(shù))。(2)指令MOVAX, BX執(zhí)行后,(AX)=0100H (寄存器操作數(shù))。(3)指令MOVAX, 1200H 執(zhí)行后,(AX)=4C2AH(直接地址,EA=1200H)(4)指令MOVAX, BX 執(zhí)行后,(AX)=3412H(寄存器間接尋址,EA=0100H)(5)指令MOVAX, 1100HBX 執(zhí)行后,(AX)= 4C2AH(相對(duì)地址,EA=1200H)(6)指令MOVAX, BXSI 執(zhí)行后,(AX)=7856H(基址變址尋址,EA=0102H)(7)指令MOVAX, 1100HBXSI 執(zhí)行后,(AX)=

41、65B7H(相對(duì)基址變址尋址,EA=1202H)9. 下面兩條指令的功能有什么區(qū)別?MOVAX, BXMOVAX, BX答:指令“MOV AX, BX”把BX寄存器的內(nèi)容裝入到AX中。指令“MOVAX, BX”把內(nèi)存儲(chǔ)器一個(gè)字的內(nèi)容裝入AX寄存器。該字的段基址在DS中,偏移地址在BX中。10. 寫出執(zhí)行以下計(jì)算的指令序列,其中各變量均為16位有符號(hào)數(shù)。(1) ZW+(Z-X)(2) ZW-(X+6)-(R+9)(3) Z(W*X)/(Y+6), R余數(shù)(4) Z(W-X)/(5*Y)*2解:(1)MOVAX, WMOVBX, ZSUBBX, XADDAX, BXMOVZ, AX(2)MOVAX

42、, WMOVBX, XADDBX, 6SUBAX, BXMOVBX, RADDBX, 9SUB AX, BXMOVZ, AX(3)MOVAX, WIMULXMOVBX, YADDBX, 9IDIVBXMOVZ, AXMOVR, DX(4)MOVAX, YMOVBX, 5IMULBXMOVBX, AXMOVAX, WSUBAX, XMOVCX, 2IMULCXIDIVBXMOVZ, AX11. 一個(gè)雙字長(zhǎng)有符號(hào)數(shù)存放在DX(高位)AX(低位)中,寫出求該數(shù)相反數(shù)的指令序列。結(jié)果仍存入DX,AX寄存器解:NOTDX;首先將(DX, AX)取反NOTAXADDAX, 1;最低位加1,注意:不能用IN

43、C指令A(yù)DCDX, 0;把進(jìn)位(如果有)傳遞到高位12. 內(nèi)存緩沖區(qū)BUFFER定義如下,按照要求,寫出指令序列BUFFERDB20 DUP(?)(1) 將緩沖區(qū)全部置為0,并使執(zhí)行時(shí)間最短(2) 將緩沖區(qū)全部置為空格字符(ASCII代碼20H),使用的指令條數(shù)最少(3) 將緩沖區(qū)各字節(jié)依次設(shè)置為0,1,2,3,4,19(4) 將緩沖區(qū)各字節(jié)依次設(shè)置為0,-1,-2,-3,-4,-19(5) 將緩沖區(qū)各字節(jié)依次設(shè)置為30,29,28,27,11(6) 將緩沖區(qū)各字節(jié)依次設(shè)置為0,2,4,6,8,38(7) 將緩沖區(qū)各字節(jié)依次設(shè)置為0,1,2,3,0,1,2,3,3解:(1)XOREAX, EA

44、XMOVDWORD PTR BUFFER, EAXMOVDWORD PTR BUFFER+4, EAXMOVDWORD PTR BUFFER+8, EAXMOVDWORD PTR BUFFER+12, EAXMOVDWORD PTR BUFFER+16, EAX(2)MOVAL, 20HMOVCX, 20LEABX, BUFFERONE:MOVBX, ALINCBXLOOPONE(3)XORBX, BXMOVCX, 20ONE:MOVBUFFERBX, BLINCBXLOOPONE(4)XORBX, BXXORAL, ALMOVCX, 20ONE:MOVBUFFERBX, ALINCBXDEC

45、ALLOOPONE(5)XORBX, BXMOVAL, 30MOVCX, 20ONE:MOVBUFFERBX, ALINCBXDECALLOOPONE(6)XORBX, BXXORAL, ALMOVCX, 20ONE:MOVBUFFERBX, ALINCBXADDAL, 2LOOPONE(7)XORBX, BXMOVCX, 5ONE:MOVBUFFERBX, 0MOVBUFFERBX+1, 1MOVBUFFERBX+2, 2MOVBUFFERBX+3, 3ADDBX, 4LOOPONE13. 編寫循環(huán)結(jié)構(gòu)程序,進(jìn)行下列計(jì)算,結(jié)果存入RESULT內(nèi)存單元(1) 1+2+3+4+5+6+ +100

46、(2) 1+3+5+7+9+11+ +99(3) 2+4+6+8+10+ +100(4) 1+4+7+10+13+ +100(5) 11+22+33+44+ +99解:(1)CODESEGMENTASSUMECS: CODERESULTDW?START:XORAX, AXMOVCX, 100AGAIN:ADDAX, CXLOOPAGAINMOVRESULT, AXMOVAX, 4C00HINT21HCODEENDSENDSTART(2)CODESEGMENTASSUMECS: CODERESULTDW?START:XORAX, AXMOVCX, 50MOVBX, 1AGAIN:ADDAX, B

47、XADDBX, 2LOOPAGAINMOVRESULT, AXMOVAX, 4C00HINT21HCODEENDSENDSTART(3)CODESEGMENTASSUMECS: CODERESULTDW?START:XORAX, AXMOVCX, 50MOVBX, 2AGAIN:ADDAX, BXADDBX, 2LOOPAGAINMOVRESULT, AXMOVAX, 4C00HINT21HCODEENDSENDSTART(4)CODESEGMENTASSUMECS: CODERESULTDW?START:XORAX, AXMOVCX, 34MOVBX, 1AGAIN:ADDAX, BXADD

48、BX, 3LOOPAGAINMOVRESULT, AXMOVAX, 4C00HINT21HCODEENDSENDSTART(5)CODESEGMENTASSUMECS: CODERESULTDW?START:XORAX, AXMOVCX, 9MOVBX, 11AGAIN:ADDAX, BXADDBX, 11LOOPAGAINMOVRESULT, AXMOVAX, 4C00HINT21HCODEENDSENDSTART14. 已知ARRAY是5行5列的有符號(hào)字?jǐn)?shù)組,編寫程序,進(jìn)行下列計(jì)算(假設(shè)和仍然為16b,不會(huì)產(chǎn)生溢出)(1) 求該數(shù)組第4列所有元素之和(列號(hào)從0開始)(2) 求該數(shù)組第3行所

49、有元素之和(行號(hào)從0開始)(3) 求該數(shù)組正對(duì)角線上所有元素之和(4) 求該數(shù)組反對(duì)角線上所有元素之和解:假設(shè)數(shù)據(jù)段已定義如下:DATASEGMENTARRAYDW1, 6, 9, 23,12;定義數(shù)組ARRAYDW54, 23, 15, -92, 37;每一行5個(gè)數(shù)據(jù)DW-99, 231, 76, 81, 90;共5行DW33, 67, 81, -99, 0;共計(jì)25個(gè)數(shù)據(jù)DW123, -52, 77, -180, 89SUMDW?;SUM存放結(jié)果DATAENDS(1)CODESEGMENTASSUMECS: CODE, DS: DATASTART:MOVAX, DATAMOVDS, AXM

50、OVAX, 0;累加器在循環(huán)之前清零MOVCX, 5;計(jì)數(shù)器置初值MOVSI, 4*2;第1行第4列元素在數(shù)組內(nèi)的位移NEXT:ADDAX, ARRAYSIADDSI, 5*2;SI指向下一行第4列元素LOOPNEXTMOVSUM, AXMOVAX, 4C00HINT21HCODEENDSENDSTART(2)CODESEGMENTASSUMECS: CODE, DS: DATASTART:MOVAX, DATAMOVDS, AXMOVAX, 0;累加器在循環(huán)之前清零MOVCX, 5;計(jì)數(shù)器置初值MOVSI, 3*5*2;第3行第0列元素在數(shù)組內(nèi)的位移NEXT:ADDAX, ARRAYSIAD

51、DSI, 2;SI指向本行下一列元素LOOPNEXTMOVSUM, AXMOVAX, 4C00HINT21HCODEENDSENDSTART(3)CODESEGMENTASSUMECS: CODE, DS: DATASTART:MOVAX, DATAMOVDS, AXMOVAX, 0;累加器在循環(huán)之前清零MOVCX, 5;計(jì)數(shù)器置初值MOVSI, 0;第0行第0列元素在數(shù)組內(nèi)的位移NEXT:ADDAX, ARRAYSIADDSI, 5*2+2;SI指向正對(duì)角線上下一個(gè)元素LOOPNEXTMOVSUM, AXMOVAX, 4C00HINT21HCODEENDSENDSTART(4)CODESEGMENTASSUMECS: CODE, DS: D

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論