微處理器系統(tǒng)與嵌入式系統(tǒng)1-7章最全答案合集_第1頁
微處理器系統(tǒng)與嵌入式系統(tǒng)1-7章最全答案合集_第2頁
微處理器系統(tǒng)與嵌入式系統(tǒng)1-7章最全答案合集_第3頁
微處理器系統(tǒng)與嵌入式系統(tǒng)1-7章最全答案合集_第4頁
微處理器系統(tǒng)與嵌入式系統(tǒng)1-7章最全答案合集_第5頁
已閱讀5頁,還剩15頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、“微處理器系統(tǒng)原理與嵌入式系統(tǒng)設計”第一章習題解答什么是程序存儲式計算機程序存儲式計算機指采用存儲程序原理工作的計算機。存儲程序原理又稱“馮諾依曼原理”,其核心思想包括:程序由指令組成,并和數(shù)據(jù)一起存放在存儲器中;計算機啟動后,能自動地按照程序指令的邏輯順序逐條把指令從存儲器中 讀出來,自動完成由程序所描述的處理工作。通用計算機的幾個主要部件是什么主機(CPUU主板、內(nèi)存);外設(硬盤/光驅(qū)、顯示器/顯卡、鍵盤/鼠標、聲卡/音箱);以集成電路級別而言,計算機系統(tǒng)的三個主要組成部分是什么中央處理器、存儲器芯片、總線接口芯片闡述摩爾定律。每18個月,芯片的晶體管密度提高一倍,運算性能提高一倍,而價

2、格下降一半。討論:摩爾定律有什么限制,可以使用哪些方式克服這些限制摩爾定律還 會持續(xù)多久在摩爾定律之后電路將如何演化摩爾定律不能逾越的四個鴻溝:基本大小的限制、散熱、電流泄露、熱噪。具體 問題如:晶體管體積繼續(xù)縮小的物理極限,高主頻導致的高溫解決辦法:采用納米材料、變相材料等取代硅、光學互聯(lián)、3D、加速器技術(shù)、多內(nèi)核(為了降低功耗與制造成本,深度集成仍是目前半導體行業(yè)努力的方向,但這不 可能永無止,因為工藝再先進也不可能將半導體做的比原子更小。用作絕緣材料的二 氧化硅,已逼近極限,如繼續(xù)縮小將導致漏電、散熱等物理瓶頸,數(shù)量集成趨勢終有 終結(jié)的一天。一旦芯片上線條寬度達到納米數(shù)量級時,相當于只有

3、幾個分子的大小, 這種情況下材料的物理、化學性能將發(fā)生質(zhì)的變化,致使采用現(xiàn)行工藝的半導體器件 不能正常工作,摩爾定律也就要走到它的盡頭了。業(yè)界專家預計,芯片性能的增長速 度將在今后幾年趨緩,一般認為摩爾定律能再適用10年左右,其制約的因素一是技術(shù),二是經(jīng)濟。)試以實例說明計算機系統(tǒng)結(jié)構(gòu)、計算機組成與計算機實現(xiàn)之間的相互關系與相互影響。計算機系統(tǒng)結(jié)構(gòu)主要是指程序員關心的計算機概念結(jié)構(gòu)與功能特性,而計算機組 成原理則偏重從硬件角度關注物理機器的組織,更底層的器件技術(shù)和微組裝技術(shù)則稱 為計算機實現(xiàn)。例如:確定指令集中是否有乘法指令屬于計算機體系結(jié)構(gòu)的內(nèi)容,而 乘法指令是由專門的乘法器實現(xiàn)還是用加法器

4、實現(xiàn)則屬于計算機組成原理的內(nèi)容,乘 法/加法器底層的物理器件類型及微組裝技術(shù)則屬于計算機實現(xiàn)的內(nèi)容。同一計算機制造商提供的不同系列的計算機通常采用不同的結(jié)構(gòu),而同系列的計 算機則具有相同的結(jié)構(gòu)和不同的組織,因此同一系列的不同型號計算機價格和性能特 點也不相同。如某系列機都支持相同的指令系統(tǒng),但其中的低檔機可采用順序方式對 指令進行分析、處理,而高檔機則可采用流水或其它并行處理方式;或某系列機都支 持相同的數(shù)據(jù)形式(如16/32位的定點數(shù)、32/64/128 位的浮點數(shù)),但其中的低檔機可采用采用較窄的數(shù)據(jù)通路寬度(8位或16位),而高檔機則可采用較寬的數(shù)據(jù)通路寬度(32位)。另一方面,顯然計算

5、機現(xiàn)階段能達到的實現(xiàn)技術(shù)會直接制約其可采用的系統(tǒng)結(jié)構(gòu) 和組成方法。區(qū)分微處理器的關鍵特征是什么微處理器可通過以下兩個基本特征來區(qū)分:字長:表示 CPU一次傳送或處理數(shù)據(jù)的最大二進制位數(shù)。通常與CPU的數(shù)據(jù)總線寬度、寄存器寬度以及ALU寬度一致。主頻:通常以 MHz表示,決定 CPU內(nèi)的最小時鐘速率,從而決定處理器每 秒可執(zhí)行的指令數(shù)目。某測試程序在一個 40 MHz處理器上運行,其目標代碼有100 000條指令, 由如下各類指令及其時鐘周期計數(shù)混合組成,試確定這個程序的有效 CPI、MIPS的值和執(zhí)行時間。指令類型指令計數(shù)時鐘周期計數(shù)整數(shù)算術(shù)45 0001數(shù)據(jù)傳送32 0002浮點數(shù)15 00

6、02控制傳送80002Cycles Per Instruction(CPI)二(45000/100000)*1+(32000/100000)*2+(15000/100000)*2+(8000/100000)*2 =*1+*2+*2+*2=Million Instructions Per Second(MIPS)=40/=執(zhí)行時間T二(100000*(1/(40*106) )=4*10-3= *10-3 s=存儲器分層結(jié)構(gòu)是如何提高性能的常用的存儲設備或技術(shù)有很多,通常來說速度越快則每位價格越高。因此現(xiàn)代計 算機系統(tǒng)通常把不同容量、不同速度的存儲設備按一定的層次結(jié)構(gòu)組織起來,形成一M1 (最靠近

7、CPU的存儲個統(tǒng)一的存儲系統(tǒng),以解決存儲容量、存取速度和價格之間的矛盾。 多層次存儲系統(tǒng)要達到的目標是:整個存儲系統(tǒng)速度接近層)而價格和容量接近Mn (最遠離 CPU的存儲層)。這就要求越靠近CPU的存儲設備速度越快,當然每位價格也就越高,容量也就越小。由于絕大多數(shù)程序訪問具有局部CPU的存儲器中。M1 “失效”則將 M2M3,依此類推。這樣 整個系統(tǒng)的性能也性原理,因此可以把近期CPU需要使用的程序和數(shù)據(jù)放在盡可能靠近CPU訪問存儲器時,首先是訪問M1,若M1 “命中”則直接存取,若中包含所需數(shù)據(jù)的塊或頁調(diào)入M1;若在 M2中也找不到,就訪問CPU對存儲器的大部分訪問操作都可以針對速度較快的

8、存儲層完成, 就得到了提高。說明RISC架構(gòu)與CISC架構(gòu)之間的區(qū)別RISCCISC設計重點降低指令執(zhí)行的硬件復雜度,但對編譯器有更局的要求側(cè)重指令執(zhí)行的 硬件功能性,控制 器的硬件設計復雜指令集指令種類少,長度固定,且執(zhí)行簡單,可在 單時鐘周期完成指令復雜,長度通常不固定,執(zhí)行 也需要多個周期流水線指令處理過程可被拆分成能夠被流水線并行執(zhí)行的規(guī)則步驟指令執(zhí)行通常需要調(diào)用微程序加器有更多的通用寄存器專用寄存器較多。load-store 結(jié)構(gòu)為避免耗時的 訪存操作,把訪存與數(shù)據(jù)處理 分開。處理器能夠直接處理內(nèi)存中的數(shù) 據(jù)。RISC,CISC的一些看法誤區(qū):RISC指令都是簡單指令LDREQ R0

9、,R1,R2,LSR #16! 指令的強大,一般的CISC處理器望塵莫及。RISC的“簡單”是指指令集的執(zhí)行時間、指令長度、指令格式整齊劃一。CISC的復雜指令速度慢、執(zhí)行效率很低現(xiàn)代CISC處理器具有非常長的流水線( PIII采用了 25級的流水線),執(zhí)行速度 快。但老的 CPU執(zhí)行速度可能較慢。但RISC不管是老的 CPU還是新的 CPU,指令執(zhí)行時間都是相同的,不需要在對 指令執(zhí)行作出優(yōu)化。CISC寄存器與 RISC相當。RISC處理器比CISC處理器需要更多的寄存器 這不是一個需求問題,而是一個實現(xiàn)問題。所以有的 般情況RISC需要比較多的寄存器。RISC都有流水線ARM2沒有采用流水

10、線。理微處理器系統(tǒng)原理與嵌入式系統(tǒng)設計”第三章習題解答什么是馮諾伊曼計算機結(jié)構(gòu)其運行的基本原理如何馮.諾依曼計算機由運算器、控制器、存儲器、輸入設備和輸出設備構(gòu)成,采用二進制 表示信息,以存儲器為中心,按存儲程序原理工作。存儲程序原理指編好的程序首先放入存儲器,開始工作后,由控制器自動、高速依次 從存儲器中取出指令并執(zhí)行。微處理器的體系結(jié)構(gòu)可以分為幾種試分別說明各種體系結(jié)構(gòu)的優(yōu)缺點。優(yōu)點缺點隨機邏輯針對指令硬件做了專門的優(yōu)化,所用的邏 輯門數(shù)少,制造費用低。指令集設計與硬件電路設計緊密相 關,設計過程復雜,難以實現(xiàn)復雜 指令,設計難以重用。微碼體系 結(jié)構(gòu)相比于硬件,微代碼不容易出錯,建立微代碼

11、比較省時,改動微代他更為容易,CPU 版本升級簡單。微代碼的開銷大于硬件實現(xiàn),微控 制必須要比CPU!行速度更局。流水線體 系結(jié)構(gòu)并行的執(zhí)行不同指令的不同階段,提高了 指令的吞吐率,增強了處理器性能。處理器設計較為困難,在設計中需 要解決數(shù)多種沖突問題超標里體 系結(jié)構(gòu)實現(xiàn)了真正的并行執(zhí)行,讓MIPS可以大于 時鐘頻率。更多的硬件資源,設計極其復雜高級編程語言、匯編語言以及機器語言之間有哪些不同機器語言是直接用二進制代碼表達的計算機語言。指令用“0”和“ 1”組成,并分成若干段,各段的編碼表示不同的含義。機器語言面向硬件, 是唯一可以由硬件直接執(zhí)行的語言。匯編語言采用符號代替機器語言中的二進制碼

12、:用助記符(Mnemonic)代替操作碼,用地址符號(Symbol)或標號(Label)代替地址碼。匯編語言與機器語言一一對應,因此不具有 移植性,但更易于讀寫和理解。匯編語言源程序需要匯編成機器語言才能交給硬件執(zhí)行。高級編程語言語法和結(jié)構(gòu)更類似普通英文,且由于遠離對硬件的直接操作,因此移植 性較好。高級語言源程序需要編譯(或解釋)成機器語言才能交給硬件執(zhí)行。什么是計算功能指令、數(shù)據(jù)傳輸指令以及控制流程指令計算功能指令:對數(shù)據(jù)進行處理完成算術(shù)運算或邏輯運算等的指令。數(shù)據(jù)傳輸指令:負責把數(shù)據(jù)、地址或立即數(shù)傳送到寄存器、I/O端口或存儲單元中,或者反方向傳送的指令??刂屏鞒讨噶睿河脕砜刂瞥绦驁?zhí)行流

13、程的指令,有測試、轉(zhuǎn)移、跳轉(zhuǎn)等子類。解釋跳轉(zhuǎn)、分支、調(diào)用以及中斷所需進行的操作。跳轉(zhuǎn):根據(jù)“跳轉(zhuǎn)”指令指計算目的地址,修改程序指針。分支:根據(jù)“分支”指令判斷執(zhí)行條件,計算跳轉(zhuǎn)地址,修改程序指針。調(diào)用:保存斷點,根據(jù)“調(diào)用”指令計算子程序入口地址,修改程序指針,執(zhí)行完畢 后恢復斷點。中斷:保護斷點及現(xiàn)場,查找中斷向量表以確定中斷程序入口地址,修改程序指針, 執(zhí)行完畢后恢復現(xiàn)場及斷點。固定長度指令編碼有什么優(yōu)缺點可以簡化硬件設計、減小指令譯碼的時間,但指令編碼的效率不高,信息冗余度大, 可擴展性差。在處理器工彳頻率、CPI和處理器性能方面,哪些因素會增加流水線深度時鐘周期越小,則要求組合電路的延

14、遲越小,流水線級數(shù)越多,但過多的流水線無助 于處理器工作頻率的提高。CPI越大,為了提高運算效率則流水級數(shù)需求越多。處理器性能和流水線級數(shù)是一個動態(tài)平衡的關系,需要具體在設計流水線的同時考慮 沖突。一個時鐘頻率為 GHz的非流水式處理器,其平均 CPI是4。此處理器的升級版本引入了 5級流水。然而,由于如鎖存延遲這樣的流水線內(nèi)部延遲,使新版處理器的時鐘頻率必須降低到 2 GHz。(1)對一典型程序,新版所實現(xiàn)的加速比是多少(2)新、舊兩版處理器的MIPS各是多少(1)對于一個有N條指令的程序來說:非流水式處理器的總執(zhí)行時間T0(4N)/(2.5109)1.6N109s5級流水處理器的總執(zhí)行時間

15、T1(N5 1)/(2109)2(N4) 10 9s加速比=T02型,N很大時加速比T1N 4(2)非流水式處理器CPI=4,則其執(zhí)行速度 =2500MHz/4=625MIPS5 級流水處理器 CPI=1 ,則其執(zhí)行速度=2000 MHz /1=2000 MIPS 。隨機邏輯體系結(jié)構(gòu)的處理器的特點是什么詳細說明各部件的作用。隨機邏輯的特點是指令集設計與硬件的邏輯設計緊密相關,通過針對特定指令集進行硬件的優(yōu)化設計來得到邏輯門最小化的處理器,以此減小電路規(guī)模并降低制造費用。主要部件包括:產(chǎn)生程序地址的程序計數(shù)器,存儲指令的指令寄存器,解釋指令的控制邏輯,存放數(shù)據(jù)的通用寄存器堆,以及執(zhí)行指令的ALU

16、等幾個主要部分構(gòu)成。分別詳細說明采用可變時鐘周期與多時鐘周期改進隨機邏輯體系結(jié)構(gòu)的原理。CPU內(nèi)部時序信號的定時方式可以分成同步控制、異步控制、聯(lián)合控制三種方式。其中同步控制指在任何情況下,所有指令在執(zhí)行時所需的機器周期數(shù)和時鐘周期數(shù)都固定不變。同步控制的一種實現(xiàn)方式就是可變時鐘周期,指CPU根據(jù)當前指令的操作特性調(diào)整時鐘周期, 將大多數(shù)指令操作安排在一個較短的機器周期內(nèi)完成, 對某些復雜操作, 則采 取延長機器周期的辦法來解決。而異步控制的一種實現(xiàn)方式就是多時鐘周期,指時鐘周期不變,但CPU每條指令的執(zhí)行周期可由多少不等的機器周期數(shù)組成。什么是微代碼體系結(jié)構(gòu)微指令的作用是什么在微碼結(jié)構(gòu)中,控

17、制單元的輸入和輸出之間被視為一個內(nèi)存系統(tǒng)。控制信號存放在一個微程序內(nèi)存中, 指令執(zhí)行過程中的每一個時鐘周期, 處理器從微程序內(nèi)存中讀取一個控制 字作為指令執(zhí)行的控制信號并輸出。微指令只實現(xiàn)必要的基本操作,可以直接被硬件執(zhí)行。通過編寫由微指令構(gòu)成的微代碼, 可以實現(xiàn)復雜的指令功能。 微指令使處理器硬件設計與指令集設計相分離, 有助于指令 集的修改與升級,并有助于實現(xiàn)復雜的指令。微碼體系結(jié)構(gòu)與隨機邏輯體系結(jié)構(gòu)有什么區(qū)別( 1 ) 指令集的改變導致不同的硬件設計開銷。在設計隨機邏輯結(jié)構(gòu)時,指令集和硬件必須同步設計和優(yōu)化,因此設計隨機邏輯的結(jié)構(gòu)比設計微碼結(jié)構(gòu)復雜得多, 而且硬件和指令集二者中任意一個變

18、化, 就會導致另外一個變 化。在微碼結(jié)構(gòu)中,指令設計通過為微碼ROM編寫微碼程序來實現(xiàn)的,指令集的設計并不直接影響現(xiàn)有的硬件設計。因此,一旦修改了指令集,并不需要重新設計新的硬件。( 2 )從性能上比較隨機邏輯在指令集和硬件設計上都進行了優(yōu)化,因此在二者采用相同指令集時隨機邏輯結(jié)構(gòu)要更快一些。 但微碼結(jié)構(gòu)可以實現(xiàn)更復雜指令集, 因此可以用較少的指令完成復雜的 功能,尤其在存儲器速度受限時,微碼結(jié)構(gòu)性能更優(yōu)。5 階段如果可能,說明流水線體系結(jié)構(gòu)中的 4 個階段的操作。能否把流水線結(jié)構(gòu)分為試給出你的方案。流水線若分為四個階段應包括:取指,譯碼,執(zhí)行,數(shù)據(jù)回寫流水線若分為五個階段應包括:取指,譯碼,

19、執(zhí)行,存儲器操作,數(shù)據(jù)回寫什么是超標量體系結(jié)構(gòu)超標量是通過內(nèi)置多條流水線或多個流水部件以實現(xiàn)多條指令的同時執(zhí)行,其實質(zhì)是以空間換取時間。而超流水線是通過細化流水、提高主頻,使得在一個機器周期內(nèi)完成一步甚至多步操作,其實質(zhì)是以時間換取空間。指令的亂序執(zhí)行可以帶來什么好處通過將指令執(zhí)行順序重新排序,讓滿足執(zhí)行條件的指令盡早地執(zhí)行,從而提高處理器性能。指令的亂序執(zhí)行可以減少流水線沖突,減輕流水操作時由于數(shù)據(jù)等待、控制等待、資源沖突等中斷時,其他無關指令也必須等待的問題,從而提高了流水線的效率。討論:假設處理器速度和主存儲器時延之間的差距不斷增大,計算機性能是否可能決定于存儲器訪問時間在這種情況下,哪

20、些微處理器架構(gòu)特性會提高處理器性能哪些不會如果計算機具有一個比現(xiàn)在快100 倍的處理器,但是存儲器速度僅僅是現(xiàn)在存儲器的兩倍,這樣的計算機和當前計算機在設計方法上有什么區(qū)別可能。如果出現(xiàn)這種情況,采用微碼結(jié)構(gòu)、流水線結(jié)構(gòu)以及超標量結(jié)構(gòu)(一次取多條指令)都可以提高處理器性能,尤其是微碼結(jié)構(gòu)。而隨機邏輯結(jié)構(gòu)則不合適。如果出現(xiàn)一個比現(xiàn)在速度快100 倍的處理器,而存儲器速度僅快兩倍,則設計計算機體系結(jié)構(gòu)時首先應該考慮如何盡量減少訪問存儲器的次數(shù)。“微處理器系統(tǒng)原理與嵌入式系統(tǒng)設計”第四章習題解答地址映像方法有哪幾種它們各有什么優(yōu)缺點( 1 ) 內(nèi)存地址映射指內(nèi)存虛擬地址空間到物理地址空間的轉(zhuǎn)換。分頁

21、技術(shù):特點是頁的大小固定;優(yōu)點是程序不必連續(xù)存放,因此沒有外碎片(每個內(nèi)碎片不超過頁大小) ;缺點是增加了硬件成本(如需要地址變換機構(gòu))和系統(tǒng)開銷(如需要好的調(diào)頁算法) 。分段技術(shù):特點是段的大小可變;優(yōu)點是每個段按內(nèi)容獨立,因此可以分別編寫和編譯, 可以針對不同類型的段采取不同的保護, 可以按段為單位來進行共享 (包括通過動態(tài)鏈接進行代碼共享) ;缺點是會導致碎片。( 2 ) I/O 地址映射指系統(tǒng)中 I/O 端口的編址方式。獨立編址技術(shù):優(yōu)點是系統(tǒng)中存儲單元和 I/O 端口的數(shù)量可達到最大;缺點是需專門信號來指示系統(tǒng)地址線上出現(xiàn)的是存儲單元地址還是端口地址, I/O 指令的功能比較弱。存儲

22、器映像編址技術(shù):優(yōu)點是對端口操作和存儲器單元操作完全一樣,因此系統(tǒng)簡單,并且對端口操作的指令比較多;缺點是CPU(寸存儲單元和I/O單口的實際尋址空間都小于其 最大尋址空間。EPROM存儲器芯片在沒有寫入信息時,各個單元的內(nèi)容是什么某SRAM單元中存放有一個數(shù)據(jù)(如5AH) , CPU等它讀取后,該單元的內(nèi)容是什么EPROW儲器芯片在沒有寫入信息時,各個單元的內(nèi)容均為全“1”。SRAM非破壞性讀出,因此該單元的內(nèi)容在讀取后保持不變。下列ROMS片各需要多少個地址輸入端多少個數(shù)據(jù)輸出端 16 X4 位 (2) 32 X8 位 (3) 256 X4 位 (4) 512 X 8 位16X4位=24*

23、4bit ,因此有4個地址輸入端和4個數(shù)據(jù)輸出端。32X8位=25*4bit ,因此有5個地址輸入端,8個數(shù)據(jù)輸出端。256X 4=28*4bit ,因此有8個地址輸入端,4個數(shù)據(jù)輸出端。512X8=29*4bit ,因此有9個地址輸入端,8個數(shù)據(jù)輸出端。某計算機系統(tǒng)中 ROM% 6K,最后一個單元的地址為9BFFH RAMfe 3K。已知其地址為連續(xù)的,且ROMS前,RAMfc后,求該存儲器的首地址和末地址。該存儲器的首地址(第一個RO郵元地址)為:9BFFH-6K+1=9C00H-1800H=8400H該存儲器末地址(最后一個RAMW1元地址)為:9BFFH+3K=9BFFH+0C00H=

24、0A7FFH若某系統(tǒng)有16條地址線,現(xiàn)用 SRAM 2114(1KX 4)存儲芯片組成存儲系統(tǒng),試問采用線選譯碼時,系統(tǒng)的存儲容量最大為多少需要多少個2114 存儲芯片每片 2114 需要 10 條地址線,剩余 6 條地址線進行線選譯碼最多可以區(qū)分6 組 12 個芯片。這時系統(tǒng)的存儲容量最大為( 1K*4bit ) *2 片/ 組 *6 組 =6KB。設有一個具有24 位地址和 8 位字長的存儲器,問:(1) 該存儲器能夠存儲多少字節(jié)的信息(2)如果該存儲器由4 MX1位的RAM芯片組成,需要多少片(3)在此條件下,若數(shù)據(jù)總線為8位,需要多少位地址線用于芯片選擇(1)該存儲器的存儲容量 =22

25、4 =16M字節(jié)(2)需要4M*1的芯片數(shù)目:16M8 32片 4M 1(3)用于片內(nèi)字選的地址線應滿足:222 =4M,即字選需要 22根地址線,片選需要 2根地址線。試為某8位計算機系統(tǒng)設計一個具有 8KB ROMffi 40KB RAM的存儲器。要求ROMffl EPROMS片 2732 組成,從 0000H 地址開始;RAMffl SRAME片 6264 組成,從4000H地址開始查閱資料可知,2732容量為4Kx 8(字選線12根),6264容量為8Kx 8(字選線13根), 因此本系統(tǒng)中所需芯片數(shù)目及各芯片地址范圍應如下表所示:A15A14A13A12A11A10A9A8A7A6A

26、5A4A3A2A1共需2片2732構(gòu)成系統(tǒng)ROM紅色為片選A片地址范圍0000H0FFFH000000000000000000011111111111第二片地址范圍1000H1FFFFH000100000000000000111111111111共需5片6264構(gòu)成系 統(tǒng)RAM紅色為片選A片地址范圍4000H5FFFH010000000000000010111111111111第二片地址范圍6000H7FFFFH011000000000000011111111111111第三片地址范圍8000H9FFFFH100000000000000100111111111111第四片地址范圍0A000H0

27、BFFFFH101000000000000101111111111111第五片地址范圍0C000H0DFFFFH110000000000000110111111111111硬件連線方式之一如下圖所示:說明:8位微機系統(tǒng)地址線一般為 16位。采用全譯碼方式時, 系統(tǒng)的AoA2直接與6264的 13根地址線相連,系統(tǒng)的 AAii直接與2732的12根地址線相連。片選信號由 74LS138譯 碼器產(chǎn)生,系統(tǒng)的 A15A13作為譯碼器的輸入。各芯片的數(shù)據(jù)總線(D0。)直接與系統(tǒng)的數(shù)據(jù)總線相連。各芯片的控制信號線(RD WR直接與系統(tǒng)的控制信號線相連。某計算機系統(tǒng)有8個I/O接口芯片,每個接口芯片占用8

28、個端口地址。若起始地址為9000H, 8個接口芯片的地址連續(xù)分布,用74LS138作為譯碼器,試畫出端口譯碼電路圖,并說明每個芯片的端口地址范圍。接口編A15A6A5A4A3A2A0地址空間1000000001119000H9007H20010001119008H900FH30100001119010H9017H40110001119018H901FH51000001119020H9027H61010001119028H902FH71100001119030H9037H81110001119038H903FH試完成下面的RAMI(統(tǒng)擴充圖。假設系統(tǒng)已占用 0000 27FFH段內(nèi)存地址空A15

29、問,并擬將后面的連續(xù)地址空間分配給該擴充RAM系統(tǒng)譯碼器輸出/Q0/Q1ATAA/Q2/Q3/Q4/Q5/Q6/Q7A15A1413 12 1100A13A11A10A0地址空間0000H07FHA10800H0FF1000H17F二HFH00000000002000H27F0000000002800H2BFFH112C00H2FFFH1800H 1FFFHFH假設一臺打印機的數(shù)據(jù)輸出I/O端口地址為378H,狀態(tài)端口地址為 379H,狀態(tài)字節(jié)的D0位為狀態(tài)位(D0 = 0 ,表示打印數(shù)據(jù)緩沖區(qū)空,CPK以向它輸出新數(shù)據(jù);D0 = 1 ,表示打印數(shù)據(jù)緩沖區(qū)滿)。試用查詢方式從內(nèi)存中以 B UF

30、為首址的單元處開始,將連續(xù)1 KB的數(shù)據(jù)傳送給打印機,每次傳送一個字節(jié)。給出接口的硬件結(jié)構(gòu),說明數(shù)據(jù)交換流程。初始化內(nèi)存指針為 BUBCPU從379H端口讀入狀態(tài)字,并判斷 D0位(Busy),若D0=1則重復(1);若D0=0則CPU向378H數(shù)據(jù)端口寫數(shù)據(jù),同時Busy會變?yōu)楦唠娖剑⑼ㄖ庠O 數(shù)據(jù)已經(jīng)準備好;外設在適當時候取走數(shù)據(jù),并發(fā)送/ACK信號將D觸發(fā)器清零,使Busy=0,準備下一次數(shù)據(jù)傳送;修改內(nèi)存指針(加 1),重復(2)至(5) 1000次;試用無條件傳輸方式完成下列功能:將首地址為40000H的內(nèi)存單元中1K個字數(shù)據(jù)從端口 Output處輸出,然后從端口Input處輸入2

31、KB數(shù)據(jù)到首地址為50000H的內(nèi)存單元中。給出接口的硬件結(jié)構(gòu),說明數(shù)據(jù)交換流程。初始化內(nèi)存指針為 40000H;CPU取一個字節(jié)數(shù)據(jù)輸出到 Output端口,并修改內(nèi)存指針(加 1);重復(2) 2000次,完成2K個字節(jié)的傳送;初始化內(nèi)存指針為 50000H;CPU從Input端口讀入一個字節(jié)數(shù)據(jù)寫入內(nèi)存單元,并修改內(nèi)存指針(加1);重復(5) 2000次,完成2K個字節(jié)的傳送;在某系統(tǒng)中,要求采用中斷方式把一個長100字節(jié)的數(shù)據(jù)塊從首址為AREA的存儲區(qū)傳送到端口地址為37FH的接口上,每次中斷只傳送一個字節(jié)。試給出數(shù)據(jù)交換流程。主程序:初始化內(nèi)存指針為 AREA (全局變量);初始化傳

32、送次數(shù)為100 (全局變量);允許傳送中斷;啟動傳送:從內(nèi)存取一個字節(jié)輸出到37FH端口,并修改內(nèi)存指針(加 1);等待中斷或處理其他事情; 中斷服務程序:修改傳送次數(shù)(減1),并判斷是否為0,若為0,退出中斷,結(jié)束傳送;若未傳送完,則修改內(nèi)存指針(加 1);從內(nèi)存取一個字節(jié)輸出到 37FH端口;返回;用8255A作為CPUt打印機白接口,8255A的A端口工作于方式 0輸出;C端口工作于方式0。8255A與打印機及CPU的連線如下圖所示。試給出查詢方式下將100個數(shù)據(jù)送打印機打印的數(shù)據(jù)交換流程。CPUi C 口并判斷 PCO (BUSY 電平,若 PCO (BUSY =1,貝U重復(1);若

33、PC0 (BUSY =0,表示打印機空閑, CPU即可向A 口輸出一個數(shù)據(jù);CPU! C 口令PC6=0 (延時后再令 PC6=1),通知打印機數(shù)據(jù)已準備好;打印機取走數(shù)據(jù)后令 BUSY=0重復(1) (4) 100 次;若某8位A/D轉(zhuǎn)換器的滿度輸入電壓為10 V ,則其量化誤差為多少1 102 28 10.0196VARMB號I 7種運行模式:1)用戶模式2)快速中斷模式3)外部中斷模式4)管理模式5)終止模式6)未定義模式7)系統(tǒng)模式運行模式的切換由CPSR氐 8 位中 M4M0控制位決定(1) 10000 (2) 10001 (3) 10010 (4) 10011 (5) 10111

34、(6) 11011 11111ARM犬態(tài):處理器執(zhí)行 32位字時齊的ARM旨令Thumb狀態(tài):處理器執(zhí)行 16位的,半字對齊的 Thumb指令切換:進入Thumb 1.當操作數(shù)寄存器的狀態(tài)位(最低位)為 1時執(zhí)行BX指令當在Thumb發(fā)生異常,在異常處理后自動返回Thumb進入ARM 1.當操作數(shù)寄存器的狀態(tài)位為0時,執(zhí)行BX指令當進行異常處理時,把程序計數(shù)器的 PC的值放入異常模式鏈接寄存器中,從異常向量地址開始執(zhí)行程序,自動進入ARM犬態(tài)1)寄存器尋址2)寄存器尋址,立即尋址3)寄存器尋址,寄存器間接尋址4)寄存器尋址,基址變址尋址5)多寄存器尋址(堆棧尋址)6)寄存器尋址,寄存器尋址,寄

35、存器移位尋址7)多寄存器尋址8)相對尋址1)改為 ADD R1, R2,#42)對3)不用“! ”4)立即數(shù)#02F100不符合規(guī)定5) b)a = a-b;elseb = b-a;return a; AREA Sub1,CODE,READONLYEXPORT Sub1CMP R0, R1;(R0) =a, (R1) =bMOVEQ PC LRSUBGT R0, R0, R1SUBLT R1, R1, R0LDR R2, =aSTR RO, R2MOV PC, LR;相等則返回;帶符號數(shù)大于條件碼為GT,無符號數(shù)為HI;帶符號數(shù)小于條件碼為LT,無符號數(shù)為LO;R2指向a;更新變量a;返回EN

36、D宏的定義如下面的代碼所示:MICRO$aa example $bb, $cc, $dd$aa CMP $cc, #0 B$dd $bbMENDexample ,則其程序代碼如下若在匯編程序中需要調(diào)用上面定義的宏 試寫出下面程序被匯編后,宏展開后的結(jié)果lable example next, R3, NE next宏展開后的代碼為: labelCMP R3 , #0BNE next編寫一個程序段,判斷寄存器R5中數(shù)據(jù)是否為12, 18, 22, 29, 45 或67,如果是則將R0中數(shù)據(jù)加1,否則將R0設置為0 xF,并把這個程序段定義成 一個代碼段。AREA Comp, CODE, READO

37、NLYENTRYdatLDR R0, =dat;寄存器 R0指向DataT表中的數(shù)據(jù)列表MOV R1,#6; dat 表中的數(shù)據(jù)個數(shù)MOV R2,#0;標志寄存器(R2) =0則R5中數(shù)據(jù)不在 dat表中;調(diào)整比較指針;調(diào)整比較次數(shù)SUB R0,R0,#4LoopSUBR1,R1,#1BEQ HandleCMPR5, R0,#4 !BNE LoopMOVEQ R2, #1HandleCMP R2, #0ADDNE R0, R0, #1MOVEQ R0, #0 xFStopAREA DataT , DATA, READWRITEdat DCD 12 , 18, 22, 29, 45, 67 ;需

38、要比較的數(shù)據(jù)列表END試編寫一個循環(huán)程序,實現(xiàn)從0 開始 10 個偶數(shù)的累加。AREA Foud , CODE, READONLYENTRY;存放累加和;存放加數(shù);累加次數(shù);調(diào)整累加次數(shù)MOVR0, #0MOVR1, #0MOV R2, #9LoopADDR1,R1,#2ADDR0,R0,R1SUBR1,R1,#1BNELoopStopEND試把如下 C 函數(shù)改寫成匯編語言函數(shù)。int SubXY(int x, int y)return x-y;void SubXY(int x, int y, int z) z = x-y;AREA SubXY ,CODE,READONLYEXPORT Sub

39、XYSUB R0, RO, R1;結(jié)果通過 R0返回MOV PC, LR ;返回END2)AREA SubXY ,CODE,READONLYSUBR2,R0,R1LDRR3,=zSTRR2,R3MOVPC,LREXPORT SubXY;R3執(zhí)行變量z;更新變量z;返回END把如下匯編語言函數(shù)改寫成C 函數(shù)。CMP R0, #1CMPNE R1, #1ADDEQ R2, R3, R4(R0)=a,(R1)=b,(R2)=c,void mydo(int a, int b, int c, int d, int e);(R3)=d, (R4)=e,if (a!=1)if (b= =1) c=d+e;閱讀程序,說明如下程序完成的功能。llsearchCMP R0, #0LDRNEB R2, R0CMPNE R1, R2LDRNE R0, R0, #4BNE llsearch MOV PC, LR若R0w0,則將R0指向的字節(jié)數(shù)據(jù)讀入R2;若R0W0且R1WR2,則將R0+4指向的雙字數(shù)據(jù)存入 R0中;循環(huán),直至R0=R2退出子程序。閱讀程序,說明如下程序完成的功能strcm

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論