試題三 (共25分)
閱讀以下嵌入式多核程序設計技術方面的敘述,回答問題1至問題3。
甲公司承擔了一項為宇航系統(tǒng)配套生產高性能嵌入式計算機系統(tǒng)的任務,用戶要求該系統(tǒng)要具有高速并發(fā)處理能力、低功耗、高可靠性,并可以有效地防止系統(tǒng)故障的蔓延。根據(jù)用戶對本項目的要求,甲公司成立了軟/硬件兩個項目組,總體設計由硬件組承擔,負責高性能嵌入式計算機系統(tǒng)體系結構設計,軟件組負責確定軟件的技術需求和應用軟件開發(fā)平臺的軟件設計工作。
在處理器選型方面,硬件組王工與軟件組張工在討論采用哪種CPU體系結構方面發(fā)生爭議。目前,流行的處理器結構包括了單核結構、多處理器結構、超線程結構、多核結構、共享Cache的多核結構和超線程技術的多核結構六種,如圖3-1所示。
圖 3-1 多種處理器結構
【問題1】 (11分)
王工提出,根據(jù)用戶要求,本嵌入式系統(tǒng)應具有高速并行處理能力,采用多處理器結構比較適合,主要理由是多處理器結構設計簡單、可支持多個進程在不同處理器上并發(fā)處理;而張工提出,必須分清”多處理器結構”與”多核結構”的優(yōu)點和缺點,多處理器結構雖然支持多進程的并發(fā)處理,但沒有直接實現(xiàn)多線程并發(fā)執(zhí)行;多核結構可以直接實現(xiàn)多線程并發(fā)執(zhí)行。要提高應用的并行性就必須利用多個硬件資源的并行工作,建議采用超線程技術的多核結構的處理器。請?zhí)顚憟D3-1(f)中的(1)~(8),并用300字以內的文字對上述六種處理器結構的工作原理進行簡要描述。
【問題2】(9分)
在本項目中,如果計算機采用了多線程技術實現(xiàn)應用程序的并發(fā)操作,程序設計人員將面臨多種挑戰(zhàn),其主要原因在于:程序會同時發(fā)生多個動作,對這些同時發(fā)生的動作以及它們之間的交互進行管理將面臨四方面的挑戰(zhàn),即同步、通信、負載均衡和可伸縮性,用200字以內的文字對上述四種挑戰(zhàn)進行簡要描述,并給出表3-1所述的常用并發(fā)程序設計模式的分解方式。
表3-1 常用并行程序設計模式的分解方式
【問題3】(5分)
為了防止系統(tǒng)故障的蔓延,解決應用進程間的相互影響,在超線程技術的多核結構需要選擇一種嵌入式操作系統(tǒng)作為本高性能嵌入式計算機系統(tǒng)的運行環(huán)境,請用200字以內的文字說明選擇的操作系統(tǒng)應具備哪些主要功能。