系統架構設計師考試,一般是每年的11月份,一年只能考一次,而其他的高級軟考一年都可以考兩次,同時也體現了系統架構師證書的含金量。
考試內容,共3部分,上午是選擇題,下午是案例分析和論文,一般情況是3門都達到45分或以上就算是過了。但是,好多同學都栽在上午的選擇題上,上午的選擇題均是綜合知識,應對選擇題的策略,雖說題海戰術最好使,但是還是要把每一種類型的題目詳細掌握,才能以不變應萬變!
01計算機流水線問題
●某計算機系統採用5級流水線結構執行指令,設每條指令的執行由取指令(2t)、分析指令(1t)、取操作數(3t)、運算(1t)和寫回結果(2t)組成,並分別用5個子部完成,該流水線的最大吞吐率為(1);若連續向流水線輸入10條指令,則該流水線的加速比為(2).(1)A.1/9t B.1/3tC.1/2t D.1/1t(2)A.1:10 B.2:1 C.5:2 D.3:1
解析:B C
1、流水線的最大吞吐率
流水線最短執行時間(total_time):取決於執行最長的執行時間,也就是「取操作數(3t)」。假設有n個指令,那麼最短total_time = 2t+1t+3t+1t+2t+(n-1)*3t=6t+3nt
流水線的最大吞吐率,n個指令,在最短的流水線執行時間(total_time)的比率,記為k,k=n/(6t+3nt)=1/3t
2、流水線的加速比
流水線加速比(NB)=不用流水線的執行時間/使用流水線的執行時間
若是n=10,10條指令不用流水線的執行時間(意思,每一個動作都執行10次),記為NT=(2t+1t+3t+1t+2t)*10=90t。若10條指令使用流水線,則帶入上面的公式,則執行時間 UT=(2t+1t+3t+1t+2t)+(10-1)*3t=36t。
所以加速比NB = 90t/36t=5:2
02DMA與CPU調度問題
●DMA (直接存儲器訪問)工作方式是在(3)之間建立起直接的數據通路。(3)A.CPU 與外設 B.CPU 與主存 C. 主存與外設 D .外設與外設
解析:C
DMA(Direct Memory Access)即直接存儲器存取,是指外部設備不通過CPU,而直接與系統內存交換數據的接口技術。
DMA傳輸方式無需CPU直接控制傳輸,也沒有中斷處理方式那樣保留現場和恢復現場的過程,通過硬體為RAM與I/O設備開闢一條直接傳送數據的通路,使CPU的效率大為提高。
DMA控制器可採用哪幾種方式與CPU分時使用內存?
直接內存訪問(DMA)方式是一種完全由硬體執行I/O交換的工作方式。DMA控制器從CPU完全接管對總線的控制。數據交換不經過CPU,而直接在內存和I/O設備之間進行。DMA控制器採用以下三種方式:
停止CPU訪問內存:當外設要求傳送一批數據時,由DMA控制器發一個信號給CPU。DMA控制器獲得總線控制權後,開始進行數據傳送。一批數據傳送完畢後,DMA控制器通知CPU可以使用內存,並把總線控制權交還給CPU。周期挪用:當I/O設備沒有 DMA請求時,CPU按程序要求訪問內存:一旦 I/O設備有DMA請求,則I/O設備挪用一個或幾個周期。 DMA與CPU交替訪內:一個CPU周期可分為2個周期,一個專供DMA控制器訪內,另一個專供CPU訪內。不需要總線使用權的申請、建立和歸還過程。
03RISC與CISC系統計算機問題
●RISC(精簡指令系統計算機)的特點不包括:(4)。A.指令長度固定,指令種類儘量少B.尋址方式儘量豐富,指令功能儘可能強C.增加寄存器數目,以減少訪存次數D.用硬布線電路實現指令解碼,以儘快完成指令解碼
解析:B
RISC與CISC的差異
1、存儲器操作:
RISC 對存儲器操作有限制,使控制簡單化;CISC 機器的存儲器操作指令多,操作直接。2、程序:
RISC 彙編語言程序一般需要較大的內存空間,實現特殊功能時程序複雜,不易設計;CISC 彙編語言程序編程相對簡單,科學計算及複雜操作的程序設計相對容易,效率較高。3、中斷:
RISC 機器在一條指令執行的適當地方可以響應中斷;CISC 機器是在一條指令執行結束後響應中斷。
04實時作業系統(RTOS)
●以下關於RTOS (實時作業系統)的敘述中,不正確的是(5)。A.RTOS 不能針對硬體變化進行結構與功能上的配置及裁剪B.RTOS可以根據應用環境的要求對內核進行裁剪和重配C.RTOS 的首要任務是調度一切可利用的資源來完成實時控制任務D.RTOS 實質上就是一個計算機資源管理程序,需要及時響應實時事件和中斷
解析:A
實時作業系統(RTOS)是指當外界事件或數據產生時,能夠接受並以足夠快的速度予以處理,其處理的結果又能在規定的時間之內來控制生產過程或對處理系 統作出快速響應,並控制所有實時任務協調一致運行的作業系統。主要特點如下:
1)高精度計時系統
計時精度是影響實時性的一個重要因素。在實時應用系統中,經常需要精確確定實時地操作某個設備或執行某個任務,或精確的計算一個時間函數。這些不僅依賴於一些硬體提供的時鐘精度,也依賴於實時作業系統實現的高精度計時功能。
2)多級中斷機制
一個實時應用系統通常需要處理多種外部信息或事件,但處理的緊迫程度有輕重緩急之分。有的必須立即作出反應,有的則可以延後處理。因此,需要建立多級中斷嵌套處理機制,以確保對緊迫程度較高的實時事件進行及時響應和處理。
3)實時調度機制
實時作業系統不僅要及時響應實時事件中斷,同時也要及時調度運行實時任務。
RTOS在嵌入式物聯網系統中的作用:
同步工具RTOS解決方案包含同步工具,這些工具在裸機調度程序中不存在。例如,RTOS系統具有信號量,信號量用於控制對並發系統中多個進程使用的公共資源的訪問; 然後有互斥鎖來保護共享資源。如果系統正在執行多個任務並且具有需要同步的資源,則RTOS是理想的選擇。
並發基於微控制器的系統通常需要運行多個任務,但只有一個處理核心。在這種情況下,當需要同時執行多個任務時,使用RTOS似乎是更好的選擇。使用RTOS,許多操作可以同時在內存中,並且可以根據優先級在任務之間切換。
資源分配以避免任務中斷在執行多個任務時,RTOS被認為是最佳選擇,因為它可以管理任務之間的硬體資源,內存和數據共享。因此,每個任務被分配/分配定義的存儲器空間和資源,具有可預測的使用以避免運行任務的任何中斷。
佔先如果需要執行具有更高優先級的任務,則實時作業系統還具有臨時暫停特定任務的能力。如果嵌入式系統需要確定任務的優先級,則RTOS是最合適的作業系統。RTOS可以根據任務優先級確定在給定時間點應執行哪個任務。
第三方軟體對於許多開發人員來說,將第三方工具和軟體整合到他們的嵌入式系統中是一項挑戰。目前市場上可用的各種第三方工具和堆棧與各種RTOS兼容。使用RTOS可以通過允許所有這些第三方組件的即插即用來顯著加快軟體開發周期。
05什麼是前趨圖
●前趨圖(Precedence Graph) 是一個有向無環圖,記為:→={(Pi,Pj )|Pi must complete before Pj may strat}。假設系統中進程P={P1,P2,P3,P4,P5,P6,P7,P8},且進程的前驅圖如下:
那麼前驅圖可記為:(6)。A.→={(P2,P1),(P3,P1),(P4,P1),(P6,P4),(P7,P5),(P7,P6),(P8,P7)}B.→={(P1,P2),(P1,P3),(P1,P4),(P2,P5),(P5,P7),(P6,P7),(P7,P8)}C.→={(P1,P2),(P1,P3),(P1,P4),(P2,P5),(P3,P5),(P4,P6),(P5,P7),(P6,P7),(P7,P8)}D.→={(P2, P1), (P3,P1),(P4,P1),(P5,P2),(P5,P2),(P5,P3),(P6,P4),(P7,P5), (P7,P6),(P8,P7)}
前趨圖是為了描述一個程序的各部分間的依賴關係,或者是一個大的計算的各個子任務間的因果關係的圖示。
前趨圖中的每個結點可以表示一條語句、一個程序段或一個進程,結點間的有向邊表示兩個結點之間存在的偏序(Partial Order)或前趨關係(Precedence Relation)「→」,→={(Pi,Pj)|在Pj開始前Pi必須完成}
如果(Pi,Pj)∈→,可寫成Pi→Pj,Pi是Pj的直接前趨,Pj是Pi的直接後繼
06磁碟上存儲數據問題
●在磁碟上存儲數據的排列方式會影響 I/O服務的總時間。假設每磁軌劃分成10個物理塊,每塊存放1個邏輯記錄。邏輯記錄R1,R2, ..., RI0存放在同一個磁軌上, 記錄的安排順序如下表所示 ;
假定磁碟的旋轉速度為30ms/周,磁頭當前處在R1的開始處。若系統順序處理這些記錄,使用單緩衝區,每個記錄處理時間為6ms,則處理這10個記錄的最長時間為 (7);若對信息存儲進行優化分布後,處理10個記錄的最少時間為(8)。(7)A.189ms B.208ms C.289ms D.306ms(8)A.60ms B.90ms C.109ms D.180ms
解析:D B
若求10個記錄的最長時間:
系統讀取每個物理塊的記錄時間為30/10=3ms。當系統讀出並處理記錄R1物理塊之後,因為處理記錄的時間是6ms,(6ms>3ms)在這6ms的時間內磁碟已經轉到記錄R3的開始處(而錯過了讀出記錄R2),所以為了讀出記錄R2,磁碟必須再轉一圈,需要3ms(讀記錄)加30ms(6ms的處理時間包含其中)(轉一圈)的時間。
處理第1個記錄時間 3ms
處理第2個記錄時間 磁碟必須再轉一圈,從R3轉到R2(6ms處理R1記錄的時間包含這裡面了,在這6ms中已從R1轉到R3),需要3ms(讀記錄) 30ms+3ms
處理第3個記錄時間 30ms+3ms
處理第4個記錄時間 30ms+3ms
處理第5個記錄時間 30ms+3ms
處理第6個記錄時間 30ms+3ms
處理第7個記錄時間 30ms+3ms
處理第8個記錄時間 30ms+3ms
處理第9個記錄時間 30ms+3ms
處理第10個記錄時間 30ms+3ms+6ms(處理時間),因為這6ms不能算在下一圈的30ms中了
這樣處理10個記錄最長時間為3+8×33+30+3+6=306ms
對信息存儲進行優化分布後,處理10個記錄的最少時間:
對信息存儲進行優化分布後,當讀出記錄R1並處理結束後,磁頭剛好轉至R2記錄的開始處,立即就可以讀出並處理,因此處理10個記錄的最短總時間為:
10×(3ms(讀記錄)+6ms(處理記錄))=10×9ms=90ms
07資料庫範式問題
●給定關係模式R(U,F),其中: 屬性集 U={A1 ,A2,A3,A4,A5,A6}, 函數依賴集F={A1→A2, A1→A3, A3→A4, A1A5→A6}。關係模式 R 的候選碼為(9),由於R存在非主屬性對碼的部分函數依賴,所以R屬於(10)。(9)A.A1A3 B.A1A4 C.A1 A5 D.A1A6(10)A.1NF B.2NF C.3NF D.BCNF
解析:C A
技巧:關係模式 R 的候選碼,關鍵看,函數依賴集F的最左邊的元素,從沒有出現在最右邊的元素,只有A1 A5
各種範式之間的關係
5NF4NFBCNF3NF2NF1NF
1NF: 欄位是最小的的單元不可再分(存在非主屬性對碼的部分函數依賴)2NF:滿足1NF,表中的欄位必須完全依賴於全部主鍵而非部分主鍵 (一般我們都會做到)3NF:滿足2NF,非主鍵外的所有欄位必須互不依賴4NF:滿足3NF,消除表中的多值依賴