《基于多核平臺(tái)的嵌入式系統(tǒng)設(shè)計(jì)方法》是2011年電子工業(yè)出版社出版的圖書,作者是林繼鵬。
基于多核平臺(tái)的嵌入式系統(tǒng)設(shè)計(jì)方法圖片
書名 | 基于多核平臺(tái)的嵌入式系統(tǒng)設(shè)計(jì)方法 | 作者 | 林繼鵬 |
---|---|---|---|
ISBN | 9787121122286 | 定價(jià) | 29.80元 |
出版社 | 電子工業(yè)出版社 | 出版時(shí)間 | 2011年1月1日 |
開本 | 16開 |
求教大神嵌入式系統(tǒng)設(shè)計(jì)師怎么樣
所有的通訊系統(tǒng)和消費(fèi)類電子產(chǎn)品用的都是嵌入式系統(tǒng)。所以你就能看見這個(gè)行業(yè)的需求有多大,前景有多遠(yuǎn)了。如果你有很好的全局思維觀和很強(qiáng)的邏輯思維能力,會(huì)將復(fù)雜問題進(jìn)行合理的分類和分層的話,就適合做系統(tǒng)架構(gòu)...
請(qǐng)教下大家嵌入式系統(tǒng)設(shè)計(jì)師有用嗎
所有的通訊系統(tǒng)和消費(fèi)類電子產(chǎn)品用的都是嵌入式系統(tǒng)。所以你就能看見這個(gè)行業(yè)的需求有多大,前景有多遠(yuǎn)了。如果你有很好的全局思維觀和很強(qiáng)的邏輯思維能力,會(huì)將復(fù)雜問題進(jìn)行合理的分類和分層的話,就適合做系統(tǒng)架構(gòu)...
縱觀嵌入式系統(tǒng)的發(fā)展歷程,大致經(jīng)歷了以下四個(gè)階段: 無(wú)操作系統(tǒng)階段 嵌入式系統(tǒng)最初的應(yīng)用是基于單片機(jī)的,大多以可編程控制器的形式出現(xiàn),具有監(jiān)測(cè)、伺服、設(shè)備指示等功能,通常應(yīng)用于各類工業(yè)控制和飛機(jī)、等武...
格式:pdf
大?。?span id="wxzp727" class="single-tag-height">550KB
頁(yè)數(shù): 1頁(yè)
評(píng)分: 4.7
嵌入式系統(tǒng)設(shè)計(jì)與應(yīng)用研究
格式:pdf
大小:550KB
頁(yè)數(shù): 43頁(yè)
評(píng)分: 4.6
玩轉(zhuǎn) STM32 實(shí)訓(xùn)報(bào)告 玩轉(zhuǎn) STM32 實(shí)訓(xùn)報(bào)告1 1 目錄 緒論 ...............................................................3 第一章 系統(tǒng)總體設(shè)計(jì)思路 ............................................4 1.1 系統(tǒng)設(shè)計(jì)要求 .............................................4 1.2 系統(tǒng)設(shè)計(jì)方案 .............................................4 1.3 硬件部分方案 .............
基于恒揚(yáng)科技系列化硬件的平臺(tái)設(shè)計(jì)理念,結(jié)合同樣采用Cavium Octeon II系列CPU MCBlade網(wǎng)絡(luò)應(yīng)用刀片,用戶使用Linux+MPP軟件技術(shù)開發(fā)的網(wǎng)絡(luò)業(yè)務(wù)處理應(yīng)用軟件可以統(tǒng)一部署在從最低端SMB桌面到最高端n個(gè)40G運(yùn)營(yíng)商核心網(wǎng)節(jié)點(diǎn)等低、中、高端各種處理能力和環(huán)境要求的MCBox硬件系統(tǒng)上。恒揚(yáng)MCBox和 MCBlade產(chǎn)品為用戶應(yīng)用軟件開發(fā)、部署提供了業(yè)界成本和性能都最具伸縮能力支持的系列化專業(yè)平臺(tái)。
《多核平臺(tái)下串行程序運(yùn)行時(shí)的自動(dòng)并行化加速方法》涉及的是一種計(jì)算機(jī)技術(shù)領(lǐng)域的方法,具體是一種多核平臺(tái)下串行程序運(yùn)行時(shí)的自動(dòng)并行化加速方法。
《多核平臺(tái)下串行程序運(yùn)行時(shí)的自動(dòng)并行化加速方法》的目的在于提供一種多核平臺(tái)下串行程序運(yùn)行時(shí)的自動(dòng)并行化加速方法。該發(fā)明新增可共享讀取的程序計(jì)數(shù)器寄存器組,并在操作系統(tǒng)中建立自動(dòng)并行加速線程,選擇一個(gè)線程作為加速的對(duì)象,然后實(shí)時(shí)地分析此線程將要執(zhí)行到的指令代碼,并對(duì)其中執(zhí)行循環(huán)的指令代碼進(jìn)行修改,達(dá)到使被加速線程自動(dòng)并行執(zhí)行的目的。
《多核平臺(tái)下串行程序運(yùn)行時(shí)的自動(dòng)并行化加速方法》包括以下步驟:
第一步,建立一個(gè)共享讀取的程序計(jì)數(shù)寄存器組SPC,該寄存器組中寄存器的個(gè)數(shù)與CPU核的數(shù)目相同,每個(gè)寄存器分別與對(duì)應(yīng)的CPU核相連以實(shí)時(shí)地儲(chǔ)存該CPU核的程序計(jì)數(shù)器值。
所述的共享讀取是:每個(gè)CPU核實(shí)時(shí)讀取寄存器組中每個(gè)寄存器存儲(chǔ)的其它CPU核的程序計(jì)數(shù)器值。
第二步,當(dāng)存在空閑的CPU核時(shí),進(jìn)行加速對(duì)象選擇處理,得到自動(dòng)并行加速線程的加速對(duì)象為線程P。
所述的加速對(duì)象選擇處理,是:當(dāng)正在運(yùn)行且未被加速的用戶線程中存在CPU占用率最高的線程時(shí),則選擇該線程作為自動(dòng)并行加速線程的加速對(duì)象;否則,時(shí)間t后,再次選擇正在運(yùn)行且未被加速的用戶線程中CPU占用率最高的線程作為自動(dòng)并行加速線程的加速對(duì)象,直至得到自動(dòng)并行加速線程的加速對(duì)象。
第三步,當(dāng)線程P存在已分析指令集合Sp時(shí),載入該集合Sp;否則,為線程P新建一個(gè)集合Sp,對(duì)線程P所在的CPU核進(jìn)行讀取處理,得到線程P所在的CPU核當(dāng)前正在讀取的指令I(lǐng)c,并由Ic追蹤線程P下一條將要執(zhí)行指令的地址,將追蹤分析的指令代碼和跳轉(zhuǎn)關(guān)系加入集合Sp中。
所述的讀取處理,是:讀取線程P所在的CPU核的程序計(jì)數(shù)寄存器的值,將得到的虛擬地址轉(zhuǎn)換為物理地址,然后從該物理地址得到線程P所在的CPU核正在執(zhí)行的指令I(lǐng)c,當(dāng)集合Sp中包括指令I(lǐng)c時(shí),刪除集合Sp中Ic以前的指令記錄,并根據(jù)集合Sp追蹤線程P下一條將要執(zhí)行的指令;否則,清空集合Sp。
第四步,采用第三步的方法,得到線程P將要執(zhí)行的所有指令,當(dāng)集合Sp中每次加入條件轉(zhuǎn)移指令后且集合Sp中存在循環(huán)代碼時(shí),進(jìn)行進(jìn)度校驗(yàn)和替換處理。
所述的進(jìn)度校驗(yàn),是:重新讀取指令I(lǐng)c,當(dāng)指令I(lǐng)c不在集合Sp中時(shí),清空集合Sp,然后從指令I(lǐng)c開始追蹤;當(dāng)指令I(lǐng)c在集合Sp中、線程P走向該循環(huán)且線程P已經(jīng)開始執(zhí)行該循環(huán),則選取循環(huán)接收后第一條語(yǔ)句作為待分析指令,并清空集合Sp;當(dāng)指令I(lǐng)c在集合Sp中、線程P走向該循環(huán)且線程P未執(zhí)行該循環(huán),則對(duì)該循環(huán)進(jìn)行替換處理;當(dāng)指令I(lǐng)c在集合Sp中但線程P未走向該循環(huán)時(shí),則刪除集合Sp中Ic以前的指令記錄,并繼續(xù)追蹤。
所述的替換處理,包括以下步驟:
1)當(dāng)循環(huán)的總工作量大于閾值G時(shí),生成并行化執(zhí)行該循環(huán)的代碼,執(zhí)行該循環(huán)的代碼出口語(yǔ)句跳轉(zhuǎn)到原循環(huán)出口對(duì)應(yīng)的語(yǔ)句,且將新生成的代碼單獨(dú)放在一個(gè)或若干個(gè)內(nèi)存頁(yè)中;否則,放棄替換該循環(huán),并刪除集合Sp中Ic以前的指令記錄,繼續(xù)追蹤;
2)生成代碼后,進(jìn)行進(jìn)度校驗(yàn),當(dāng)通過進(jìn)度校驗(yàn)時(shí)則中斷線程P,且中斷線程P后再次進(jìn)行校驗(yàn),再次通過進(jìn)度校驗(yàn)后,執(zhí)行3);否則,線程P繼續(xù)運(yùn)行;
3)將1)生成的代碼所在的內(nèi)存頁(yè)分配給線程P,并修改原循環(huán)起始地址的二進(jìn)制代碼為跳轉(zhuǎn)到新生成代碼的起始位置,在集合Sp中刪除原循環(huán)對(duì)應(yīng)指令,加入新生成的代碼指令;
4)替換完成后通知線程P繼續(xù)執(zhí)行,繼續(xù)分析后續(xù)代碼。
所述的通過進(jìn)度校驗(yàn)是指:指令I(lǐng)c在集合Sp中、線程P走向該循環(huán)且線程P未執(zhí)行該循環(huán)。
第五步,當(dāng)線程P被調(diào)度出CPU核時(shí),系統(tǒng)以中斷方式將該事件連同當(dāng)時(shí)的SPCp值發(fā)送給自動(dòng)并行加速線程,當(dāng)自動(dòng)并行加速線程正在替換處理中時(shí),則使用此時(shí)的SPCp值作為讀取Ic的依據(jù),繼續(xù)執(zhí)行替換處理直到退出該步驟;否則,自動(dòng)并行加速線程根據(jù)當(dāng)時(shí)的SPCp值讀取Ic,清空或更新集合Sp,其結(jié)果等待線程P被調(diào)入時(shí)繼續(xù)使用。
第六步,返回第二步,開始處理新的需要加速的線程。
與2010年之前的技術(shù)相比,《多核平臺(tái)下串行程序運(yùn)行時(shí)的自動(dòng)并行化加速方法》的有益效果是:2010年之前的技術(shù)使用不方便,需要重新開發(fā)程序或者重新編譯原來的代碼,而該發(fā)明在運(yùn)行時(shí)對(duì)程序進(jìn)行自動(dòng)并行,不用對(duì)已有程序進(jìn)行預(yù)先的處理,整個(gè)過程由操作系統(tǒng)完成,對(duì)于用戶完全透明。該發(fā)明能夠在有空閑的CPU核時(shí)自動(dòng)利用空閑資源對(duì)程序進(jìn)行并行加速,免去等待預(yù)先處理程序的時(shí)間,也省去用戶手動(dòng)轉(zhuǎn)換程序的麻煩。