B分項計畫:異質多核心的嵌入式軟體技術

子計畫1:異質多核心嵌入式作業系統之設計

[1] 多核嵌入式微核心設計
微核心作業系統的目的在提供一個低系統作業成本(overhead)的一致性作業環境給平台上之不同應用程式。此一作業系統將僅提供最基本的共同作業系統服務,例如:排程與通訊,使微核心作業系統將主要效能使用於各核心之間的資料交換與負載排程。其他的系統服務如檔案系統、網路等將由各核心的作業系統一應用系統的需求提供適切的服務。此一系統架構各降低嵌入式軟體系統開發的困難度,但是卻可提供一個穩定且高效能的嵌入式軟體執行環境。
本計劃將針對異質多核心平台開發一個高效能並有具有高移植性的微核心作業系統之架構。此一微核心作業系統將以多層次架構(Layered Design)架構達到高移植性的功能,使此一多核心作業系統可以移植至不同的處理器平台,包含微處理器(MPU)與數位訊號處理器(DSP)。此外,微核心作業系統也包含高效能核心通訊協定使在不同核心執行的程序可以高效率的交換資料。此一通訊協定將使用記憶體 mapping 的方式減少作業系統因為系統中斷以及記憶體搬移的時間,以增加系統的程序執行效能。

 

子計畫2:異質多核心之即時暨省電設計

[1] 建立多核心DSP之省電效能評估機制
單核心DSP架構之下,利用動態電壓頻率調整(Dynamic Voltage Frequency Scaling,DVFS)等技術達到省電效果時,透過測量該DSP的耗電量以及應用程式的速度要求,就能評估此省電機制之效能,而如何在多核心DSP架構之下進行省電效能評估就是本部份將要完成的。為了正確地分析此子項計畫提交之省電機制架構是否符合需求,必須建立一多核心DSP之省電效能評估機制,我們將設計一套包含測量DSP耗電量以及DSP負載的機制,並且配合與多核心DSP系統的特性,以得到最客觀的評估結果。

[2] 針對多媒體及其他系統應用程式提出具多核心DSP之省電機制架構
在多核心DSP架構上設計省電機制時,由於不同應用程式有不同工作特性以及不同的時間要求,是以本部份將以多媒體及其他系統應用程式作為在多核心DSP架構執行的工作,並在此架構下設計出一套省電的機制。市面上以DSP作為核心的系統,大多數都以多媒體應用程式如影像處理、影像壓縮等作為主要的系統工作,故我們將針對H.264影像解碼以及H.264影像壓縮等多媒體工作,分析工作的負載特性並且配合多核心DSP的架構特性,設計一套能符合使用於多核心DSP之省電機制架構。過去我們已在單核心DSP的架構下,針對H.264影像解碼開發出基於動態電壓頻率調整(DVFS)技術的省電機制,實作在德州儀器之Davinci平台上並得到30%之省電效果。我們將擴展此技術到多核心DSP平台,設計出一套包含排程(Scheduler)以及動態電壓頻率調整的省電機制架構。

[3] 多核心DSP之介面與架構設計
在設計多核心上的排程(Schedule)方法時,存在一個共通的介面控制各個核心是不可或缺的,而設計多核心DSP上的省電機制時更是如此,因為在設計省電機制時,還包括了調整電壓頻率的介面以及提供DSP工作負荷資訊;另外,此共同介面更能提供省電機制的可攜性(Portability),讓控制DSP的方法統一化,能夠快速的移轉到各種平台。市面上,德州儀器為其DSP設計了xDM(xDAIS(eXpress DSP Algorithm Interface Standard) for Digital Media)標準,並且配合Codec Engine以及Codec Server作為控制DSP的介面。本部份基於相同的理念,針對多核心DSP設計一套完善的介面與架構,提供給此子項計畫提交之省電機制架構使用,並藉由配合省電機制架構的設計,讓此多核心DSP之介面與架構設計能夠降低開發多核心DSP上應用程式以及省電機制的難度,而提供整體系統的開發速度與效能。

 

子計畫3:異質多核心嵌入式系統性能調校與工具

[1] 多核心嵌入式系統效能分析及工具設計
大多數系統使用者及開發者,對於系統執行的狀況,可能缺乏資料而不大了解,或者是因為不懂得正確使用效能量測工具而收集到錯誤的資料,更有因為不懂系統的軟硬體架構而產生錯誤的分析結果。因此,系統效能分析是非常複雜而專業的實務問題。例如:在多個處理核心之間,是否因為必須共用同一系統資源,而造成部分處理核心的運作停滯(idle)? 以現有的效能分析工具而言,大都針對使用者程式(user program)設計,無法有效分析作業系統核心功能(kernel)與驅動程式(driver)。而且,針對MPU+PAC這類的新開發的異質多核心系統,必須同時研究及設計效能分析的方法。在本計畫中,希望在作業系統中加入效能分析的機制,甚至在系統晶片上加入效能監視硬體(hardware monitors),以提供系統開發者精確分析系統整體效能的工具。