一、引言
自《嵌入式系統設計師考試複習筆記之存儲管理篇》在嵌入式在線的博客出現后,意外的得到很多朋友的關注和評論,收到不少朋友的郵件,問一些有關考試的問題,希望得到我的複習筆記的其他部分。我非常感謝他們,他們的熱切關注,使我有了繼續往下寫的無限動力,使我萌生了將我以前的複習筆記、考試經驗結合大綱教程並重新按《教程》的章節順序整理一份適合考生複習的筆記手冊,筆記後面再分析歷年的真題,按章節考點找出相關的考題進行分析,希望能和有興趣的人們一起討論討論。
嵌入式系統設計師的一天考試分為上午和下午部分,兩部分的考試方式、試題難度、考點分佈和複習方法都是不同的。這次我們討論的是嵌入式系統基礎知識,我本人覺得,這部分出下午大題的可能性不大,主要是分佈在上午的75道選擇題之中。
從歷年的真題和考試大綱來看,上午的選擇題主要考查一些基本概念,重要原理的理解,一些關鍵技術和一些重要的原理引申出來的簡單計算。根據這些考試特點,複習的時候可以採用適當的策略,當然每個人的方法都是不一樣的,適合自己的辦法才是最好的辦法。方法大家可以自己慢慢去體會,我的也不多說了,通過筆記和真題分析就可以體現處理。對於很多關鍵的知識點和基本概念,除了記住之外還要徹底理解,否則出題的時候會進行一些變換,或者引申一些計算,那麼就算你知道考那個考點,可能你也做不好。
在複習的過程中,你要記住:你不是要考一個很高的分數,而是要考一個通過的分數,在複習過程中可以放棄一些內容,只要保證在大部分基本概念,關鍵技術,重要原理和歷年考點上都把握住,能夠拿到需要的分數就可以了。
二、複習筆記
1、嵌入式系統的定義
2、嵌入式系統的組成:硬體層、中間層、系統軟體層和應用軟體層
(1)硬體層:嵌入式微處理器、存儲器、通用設備介面和I/O介面。
嵌入式核心模塊=微處理器+電源電路+時鐘電路+存儲器
Cache:位於主存和嵌入式微處理器內核之間,存放的是最近一段時間微處理器使用最多的程序代碼和數據。它的主要目標是減小存儲器給微處理器內核造成的存儲器訪問瓶頸,使處理速度更快。
(2)中間層(也稱為硬體抽象層HAL或者板級支持包BSP):它將系統上層軟體和底層硬體分離開來,使系統上層軟體開發人員無需關係底層硬體的具體情況,根據BSP層提供的介面開發即可。
BSP有兩個特點:硬體相關性和操作系統相關性。
設計一個完整的BSP需要完成兩部分工作:
A、 嵌入式系統的硬體初始化和BSP功能。
片級初始化:純硬體的初始化過程,把嵌入式微處理器從上電的默認狀態逐步設置成系統所要求的工作狀態。
板級初始化:包含軟硬體兩部分在內的初始化過程,為隨後的系統初始化和應用程序建立硬體和軟體的運行環境。
系統級初始化:以軟體為主的初始化過程,進行操作系統的初始化。
B、 設計硬體相關的設備驅動。
(3)系統軟體層:由RTOS、文件系統、GUI、網路系統及通用組件模塊組成。
RTOS是嵌入式應用軟體的基礎和開發平台。
(4)應用軟體:由基於實時系統開發的應用程序組成。
3、實時系統
4、實時系統的調度
5、嵌入式微處理器體系結構
(1)馮諾依曼結構:程序和數據共用一個存儲空間,程序指令存儲地址和數據存儲地址指向同一個存儲器的不同物理位置,採用單一的地址及數據匯流排,程序和數據的寬度相同。例如:8086、ARM7、MIPS…
(2)哈佛結構:程序和數據是兩個相互獨立的存儲器,每個存儲器獨立編址、獨立訪問,是一種將程序存儲和數據存儲分開的存儲器結構。例如:AVR、ARM9、ARM10…
(3)CISC與RISC的特點比較(參照教程22頁)。
計算機執行程序所需要的時間P可以用下面公式計算:
P=I×CPI×T
I:高級語言程序編譯后在機器上運行的指令數。
CPI:為執行每條指令所需要的平均周期數。
T:每個機器周期的時間。
(4)流水線的思想:在CPU中把一條指令的串列執行過程變為若干指令的子過程在CPU中重疊執行。
(5)流水線的指標:
吞吐率:單位時間裡流水線處理機流出的結果數。如果流水線的子過程所用時間不一樣長,則吞吐率應為最長子過程的倒數。
建立時間:流水線開始工作到達最大吞吐率的時間。若m個子過程所用時間一樣,均為t,則建立時間T=mt。
(6)信息存儲的位元組順序
A、存儲器單位:位元組(8位)
B、字長決定了微處理器的定址能力,即虛擬地址空間的大小。
C、32位微處理器的虛擬地址空間位232,即4GB。
D、小端位元組順序:低位元組在內存低地址處,高位元組在內存高地址處。
E、大端位元組順序:高位元組在內存低地址處,低位元組在內存高地址處。
F、網路設備的存儲順序問題取決於OSI模型底層中的數據鏈路層。
6、邏輯電路基礎
(1)根據電路是否具有存儲功能,將邏輯電路劃分為:組合邏輯電路和時序邏輯電路。
(2)組合邏輯電路:電路在任一時刻的輸出,僅取決於該時刻的輸入信號,而與輸入信號作用前電路的狀態無關。常用的邏輯電路有解碼器和多路選擇器等。
(3)時序邏輯電路:電路任一時刻的輸出不僅與該時刻的輸入有關,而且還與該時刻電路的狀態有關。因此,時序電路中必須包含記憶元件。觸發器是構成時序邏輯電路的基礎。常用的時序邏輯電路有寄存器和計數器等。
(4)真值表、布爾代數、摩根定律、門電路的概念。(教程28、29頁)
(5)NOR(或非)和NAND(與非)的門電路稱為全能門電路,可以實現任何一種邏輯函數。
(6)解碼器:多輸入多輸出的組合邏輯網路。
每輸入一個n位的二進位代碼,在m個輸出端中最多有一個有效。
當m=2n是,為全解碼;當m<2n時,為部分解碼。
(7)由於集成電路的高電平輸出電流小,而低電平輸出電流相對比較大,採用集成門電路直接驅動LED時,較多採用低電平驅動方式。液晶七段字元顯示器LCD利用液晶有外加電場和無外加電場時不同的光學特性來顯示字元。
(8)時鐘信號是時序邏輯的基礎,它用於決定邏輯單元中的狀態合適更新。同步是時鐘控制系統中的主要制約條件。
(9)在選用觸發器的時候,觸發方式是必須考慮的因素。觸發方式有兩種:
電平觸發方式:具有結構簡單的有點,常用來組成暫存器。
邊沿觸發方式:具有很強的抗數據端干擾能力,常用來組成寄存器、計數器等。
7、匯流排電路及信號驅動
(1)匯流排是各種信號線的集合,是嵌入式系統中各部件之間傳送數據、地址和控制信息的公共通路。在同一時刻,每條通路線路上能夠傳輸一位二進位信號。按照匯流排所傳送的信息類型,可以分為:數據匯流排(DB)、地址匯流排(AB)和控制匯流排(CB)。
(2)匯流排的主要參數:
匯流排帶寬:一定時間內匯流排上可以傳送的數據量,一般用MByte/s表示。
匯流排寬度:匯流排能同時傳送的數據位數(bit),即人們常說的32位、64位等匯流排寬度的概念,也叫匯流排位寬。匯流排的位寬越寬,匯流排每秒數據傳輸率越大,也就是匯流排帶寬越寬。
匯流排頻率:工作時鐘頻率以MHz為單位,工作頻率越高,則匯流排工作速度越快,也即匯流排帶寬越寬。
匯流排帶寬 = 匯流排位寬×匯流排頻率/8, 單位是MBps。
常用匯流排:ISA匯流排、PCI匯流排、IIC匯流排、SPI匯流排、PC104匯流排和CAN匯流排等。
(3)只有具有三態輸出的設備才能夠連接到數據匯流排上,常用的三態門為輸出緩衝器。
(4)當匯流排上所接的負載超過匯流排的負載能力時,必須在匯流排和負載之間加接緩衝器或驅動器,最常用的是三態緩衝器,其作用是驅動和隔離。
(5)採用匯流排復用技術可以實現數據匯流排和地址匯流排的共用。但會帶來兩個問題:
A、需要增加外部電路對匯流排信號進行復用解耦,例如:地址鎖存器。
B、匯流排速度相對非復用匯流排系統低。
(6)兩類匯流排通信協議:同步方式、非同步方式。
(7)對匯流排仲裁問題的解決是以優先順序(優先權)的概念為基礎。
8、電平轉換電路
9、可編程邏輯器件基礎(具體參見教程51到61頁)
這方面的內容,從總體上有個概念性的認識應該就可以了。
10、嵌入式系統中信息表示與運算基礎
11、差錯控制編碼
12、嵌入式系統的度量項目
13、嵌入式系統的評價方法:測量法和模型法
三、真題解析
1、2007年4、5題
若每一條指令都可以分解為取指、分析和執行三步。已知取指時間t取指=4△t,分析時間t分析=3△t,執行時間t執行=5△t。如果按串列方式執行完100條指令需要 (4) △t。如果按照流水線方式執行,執行完100條指令需要 (5) △t。
(4)A. 1190 B. 1195 C. 1200 D. 1205
(5)A. 504 B. 507 C. 508 D. 510
<答案>:C、B
考查流水線技術知識點。
按照串列的方式,執行完一條指令才能執行下一條指令,那麼執行完100條指令的時間為:(4+3+5)×100=1200
按照流水線的方式,可以同時執行多條指令。在第一條指令進行分析的時候,第二條指令已經開始取指;當第一條指令進行執行的時候,第二條指令進行分析,第三條指令取指;當第二條指令進行執行完的時候,第三條指令已經分析完成。依此類推,當第一條指令完成之後,每一個執行的周期就可以完成一條指令。需要注意的是,如果流水線的子過程所用時間不一樣長,則吞吐率應以最長子過程來計算。因此,我們可以計算得100條指令的執行時間為:(4+3+5)+(100-1)×5=507。
2、2007年24題
某匯流排有104根信號線,其中數據匯流排(DB)32根,若匯流排工作頻率為33MHz,則其理論最大傳輸率為 (24) 。(註:本題答案中的B表示Byte)
(24)A. 33 MB/s B. 64MB/s C. 132 MB/s D. 164 MB/s
<答案>:C
考查匯流排這個知識點。
根據上面的筆記,匯流排帶寬 = 匯流排位寬×匯流排頻率/8=32×33/8=132MB/s。
3、2007年26題
某存儲器數據匯流排寬度為32bit,存取周期為250ns,則該存儲器帶寬為 (26) 。(註:本題答案中的B表示Byte)
(26)A. 8×106B/s B. 16×106B/s C. 16×108B/s D. 32×106B/s
<答案>:B
考查匯流排這個知識點。
存儲器帶寬即匯流排帶寬,匯流排頻率為:1/250ns=4×106
存儲器帶寬為:32×4×106/8=16×106B/s
4、2007年27題
處理機主要由處理器、存儲器和匯流排組成,匯流排包括 (27) 。
(27)A. 數據匯流排、串列匯流排、邏輯匯流排、物理匯流排
B. 并行匯流排、地址匯流排、邏輯匯流排、物理匯流排
C. 并行匯流排、串列匯流排、全雙工匯流排
D. 數據匯流排、地址匯流排、控制匯流排
<答案>:D
考查匯流排這個知識點,基本概念的考查。
5、2007年35題
三極體是可控的開關器件,其飽和與截止狀態分別對應開關的接通和斷開狀態。UBE為基極輸入電壓,VTH為基極域值電壓,如果UBETH,開關應處於 (35) 狀態。
(35)A. 接通 B. 三態 C. 斷開 D. 高阻
<答案>:C
考查電路中最基本的基礎知識點,我覺得做不對的根本不能算嵌入式系統開發入門。
6、2007年36題
如下圖所示,若低位地址(A0-A11)接在內存晶元地址引腳上,高位地址(A12-A19)進行片選解碼(其中,A14和A16沒有參加解碼),片選信號低電平有效,則對下圖所示的解碼器,不屬於此解碼空間的地址為 (36) 。
(36)A. AB000H~ABFFFH B. BB000H~BBFFFH
C. EF000H~EFFFFH D. FE000H~FEFFFH
<答案>:D
考查數字電路中解碼知識和存儲系統中統一編址的問題,相對來說,這個題目有點難度,但是對於學習過和親身做過單片機的兄弟來說,最基本不過了。
7、2007年46題
(46) 完全把系統軟體和硬體部分隔離開來,從而大大提高了系統的可移植性。
(46)A. 硬體抽象層 B. 驅動映射層 C. 硬體交互層 D. 中間層
<答案>:A
考查嵌入式系統組成中的概念。
8、2006年3題
設指令由取指、分析、執行3個子部件完成,每個子部件的工作周期為△t,採用常規標量單流水線處理機。若連續執行10條指令,則共需要時間(3)△t。
(3)A.8 B.10 C.12 D.14
<答案>:C
考查流水線技術知識點。
3+(10-1)×1=12
9、2006年4、5題
某計算機的時鐘頻率為400MHz,測試計算機的程序使用4種類型的指令。每種指令的數量及所需要的指令時鐘數(CPI)如下表所示,則該計算機的指令平均時鐘數為(4);該計算機的運算速度為(5)MIPS。
指令類型 指令數目(條) 每條指令需要的時鐘數
1 160000 1
2 30000 2
3 24000 4
4 16000 8
(4)A.1.85 B.1.93 C.2.36 D.3.75
(5)A.106.7 B.169.5 C.207.3 D.216.2
<答案>:B、C
考查指令運行方面的簡單計算。
平均時鐘數=(160000+2×30000+4×24000+8×16000)/(160000+30000+24000+16000)=1.93
MIPS是指每秒種執行多少百萬條指令,即106。
計算機的運行數度為:400/1.93=207.25=207.3MIPS
9、2006年12題
計算機要對聲音信號進行處理時,必須將它轉換為數字聲音信號。最基本的聲音信號數字化方法時取樣-量化法。若量化后的每個聲音樣本用2個位元組表示,則量化解析度是(12)
(12)A.1/2 B.1/1024 C.1/65536 D.1/131072
<答案>:C
考查聲音編碼種量化計算的知識點。
2個位元組是16位,其量化解析度位1/1016=1/65536。
10、2006年13題
某幅圖像具有640×460個象素點,若每個象素具有8位的顏色深度,則可表示(13)種不同的顏色,經過5:1壓縮后,其圖像數據需要佔用(14)(Byte)的存儲空間。
(13)A.8 B.256 C.512 D.1024
(14)A.61440 B.307200 C.384000 D.3072000
<答案>:B、A
考查圖像數據存儲計算的知識點。
8位顏色深度可以表示28=256種顏色深度。
經過5:1壓縮后的數據大小為:640×480×8/8/5=61440。
11、2006年23題
若某邏輯門輸入A、B和輸出F的波形如下圖所示,則F(A,B)的表達式為(23)
(23) A.F=A B B.F=A+B
C.F=A異或B D.F=A(B的非)
___ __
A_______| |____| |_______
_______
B_______| |___________
_______
F_________| |_______
<答案>:C
考查數字電路的最基本知識點,我覺得這個都搞不清楚很難通過這個考試。
12、2006年24題
一個4位的二進位計數器,由0000狀態開始,經過25個時鐘脈衝后,該計數器的狀態為24
(24) A.1100 B.1000 C.1001 D.1010
<答案>:C
考查數字電路的最基本知識點,相對上面一題有點難,需要對計數器的工作原理有比較清楚的理解。這個也是搞嵌入式系統的基礎中的基礎,參考教程38頁或相關的數電書籍。
4位的計數器,其計數範圍是24=16,0000開始經過16個時鐘脈衝之後又回到了開始的狀態0000。25-16=9,所以說經過25個時鐘之後,其計數器的數值應該是9=1001。
13、2006年25題
穩壓二極體構成的穩壓電路的接法是(25)
(25) A.穩壓管與負載電阻串聯。
B.穩壓管與限流電阻並聯。
C.限流電阻與穩壓管串聯后,在與負載電阻串聯。
D.限流電阻與穩壓管串聯后,在與負載電阻並聯。
<答案>:D
考查模擬電路的最基本知識點,實在太簡單,不知道從那裡開始分析了。
14、2006年26題
以下敘述中,不符合RISC指令系統特點的是(26)
(26) A.指令長度固定,指令種類少。
B.定址方式種類豐富,指令功能盡量增強。
C.設置大量通用寄存器,訪問存儲器指令簡單。
D.選取使用頻率較高的一些簡單指令。
<答案>:B
考查RISC與CICS的區別,考生應該清楚他們的區別,參加教程22頁。
15、2006年27題
通常所說的32位微處理器是指(27)
(27) A.地址匯流排的寬度為32位 B.處理器數據長度只能為32位
C.CPU字長為32位 D.通用寄存器數目為32位
<答案>:C
考查字長的概念和匯流排寬度的理解,參加教程25頁。
16、2006年28題
在32位匯流排系統中,若時鐘頻率為500MHz,傳送一個32位字需要5個時鐘周期,則該匯流排系統的數據傳送速率為(28)MB/s。
(28) A.200 B.400 C.600 D.800
<答案>:B
考查匯流排和數據傳輸方面的知識點。
5個時鐘周期可以傳送4個Byte。
每秒中可以傳送:4×(500/5)=400MB/s。
17、2006年30題
評價一個計算機系統時,通常主要使用(30)來衡量系統的可靠性。
(30) A.評價響應時間
B.平均無故障時間(MTBF)
C.平均修復時間
D.數據處理速率
<答案>:B
考查嵌入式系統性能評價中重要知識點。看過了就會做,每什麼分析的,參見教程77頁。
四、小結
就我個人的意見,從內容來看,嵌入式系統基礎知識的範圍很廣,知識點很多,而且沒有很強的邏輯性,顯得比較凌亂,很難將他們有序的組織在一起。但是也不要害怕,內容雖然多而亂,但是考試的題目都比較簡單,有些題目幾乎是所見即所得。只要你做過嵌入式或者單片機方面的工作,你都能做出來。一些計算的題目也是一些基本概念的延伸。通過分析歷年的真題,一方面可以把握考試的出題方式和考試難度,同時可以把握這部分內容的出題方向和複習的方法。從兩年的考試題目數量分佈來看,06年10道,07年7道,數量有所較少,但是我覺得這不是一個趨勢,08年應該不會少於7道題目的。這部分在嵌入式系統設計裡面是相當重要的,有一個良好的基礎才能做好下面的事情。如果複習得好,將這7、8分題目拿到手,那麼你離45分左右的及格線又邁進了一大步了。
祝準備考試的朋友,一路順風順水,考試順順利利。
[admin via 研發互助社區 ] 嵌入式系統設計師考試筆記之嵌入式系統基礎知識已經有2609次圍觀
http://cocdig.com/docs/show-post-42149.html