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