前言
隨著大規模集成電路技術和半導體技術的發展,1982年世界上誕生了第一代DSP芯片TMS32010及其系列產品。這種DSP器件的運算速度比傳統的微處理器快了幾十倍,尤其在語言合成和編碼譯碼器中得到了廣泛應用。DSP芯片的問世是個里程碑,它標志著DSP應用系統由大型系統向小型化邁進了一大步。至上世紀八十年代中期,隨著CMOS工藝的DSP芯片應運而生,其存儲容量和運算速度都得到成倍提高,成為語音處理、圖像硬件處理技術的基礎。
上世紀八十年代后期第三代DSP芯片問世,運算速度進一步提高,其應用范圍逐步擴大到通信、計算機領域。到上世紀九十年代相繼出現了第四代和第五代DSP器件。第五代DSP產品與上一代相比,系統集成度更高,將DSP芯核及外圍元件綜合集成在單一芯片上。隨著芯片工藝的不斷提升,多核DSP及多核SoC漸漸成為主流。
目前多核CPU、DSP以及融合DSP、CPU的SoC芯片技術日趨成熟, 多核DSP及SoC被越來越多的應用到通信、軍工、工控、醫療等設備當中,例如TI公司的C66系列以及Freescale的B系列。由于多核處理器及多核SoC的芯片硬件極其復雜,相應出現很多新挑戰,例如,如何簡化多核軟件設計過程,如何充分的發揮多核處理器性能,如何管理共享外設,如何進行多核異構系統的調試,如何實現多核間的高效通信等,這些課題使得對平臺軟件的需求也就呼之欲出。
Enea公司結合了其幾十年的平臺軟件經驗,針對多核CPU/DSP/SoC的復雜環境,推出了一系列的平臺軟件解決方案。這些產品及方案被廣泛地使用在通信、航空、航天、船舶和軍工國防等領域中。
面向多核DSP及SoC的平臺軟件方案的特點
1 平臺軟件的定義
在大型的嵌入式系統中,業務功能由機架上的業務子板來實現。子板上的軟件一般分為驅動層、操作系統層和應用層(應用、協議、算法和運維部分)。一般把驅動層和操作系統層統稱為平臺軟件層。平臺軟件層負責管理硬件資源,為應用層提供包括資源分配、任務調度、冗錯處理、文件系統接口、IP協議棧、外設管理、驅動接口封裝等服務。
可以說一切應用層的設計,都是基于平臺軟件層的架構來實現。一個優秀的、功能豐富的平臺軟件層,可以使應用層的設計實現變得尤為簡單,其高可靠性又可使整個系統變得更為強壯。
對于多核DSP及SoC來說,由于硬件架構的日益復雜,對于平臺軟件的功能及性能提出了更高的要求。
2 目前面臨的問題
由于多核處理器及多核SoC的芯片硬件極其復雜,如何簡化多核軟件設計過程、如何充分的發揮多核處理器性能、如何管理共享外設,如何進行多核異構系統的調試,如何實現多核間的高效通信, 這一切對軟件設計者提出了更大的挑戰。
在多核DSP及SoC的硬件架構下,一個優秀的商用平臺軟件,可以幫助系統設計及開發者,簡化多核軟件設計過程、充分的發揮多核處理器性能、實現多核間的高效通信、管理共享外設、簡化多核異構系統的調試,從而幫助客戶加快產品的市場化速度。
Enea面向多核DSP及SoC的平臺軟件解決方案
1 Enea平臺軟件解決方案
Enea是全球網絡和終端軟件供應商的領導者,專注于通信領域實時操作系統和平臺軟件。
結合公司幾十年的平臺軟件經驗,針對多核CPU/DSP/SoC的復雜環境,Enea推出了一系列的平臺軟件解決方案。例如,在基站設備中,Enea推出了針對基于多核處理器的基站的平臺軟件解決方案。
Enea的平臺軟件方案由四部分組成,包括面向多核CPU的OSE/Linux操作系統、針對多核DSP的OSEck操作系統、DSP集群管理軟件dSPEED和Enea系統級調試工具Optima。目標系統上的各個實體由Enea 分布式透明傳輸模塊LINX連接起來。
Enea的平臺軟件解決方案為多核DSP和S oC的目標系統提供了完整的軟件架構、豐富的調試監測功能以及簡單實用的高可靠通信的IPC工具。
在DSP側,E n ea的O SE c k操作系統為DSP的軟件架構和編程提供了可靠的選擇。OSEck是Enea專門針對DSP進行優化的精簡高效的實時操作系統,也一款優秀的面向DSP的商用操作系統。OSEck支持Freescale、TI、LSI、A D I、C E VA等幾乎所有的最新DSP處理器,與O S E相同的應用層A P I接口、為每款DSP專門優化的內核、小至10KB footprint、豐富的BSP及應用模塊(例如Timeout server、針對DSP優化的IP協議棧、CoreDump模塊等)為程序的設計以及系統的出錯追蹤提供了更多的可能性。
在C PU側,提供Enea的實時的商用Linux操作系統或Enea針對CPU的硬實時操作系統OSE5.x。OSE5.x是Enea針對多核CPU作專門優化的操作系統,O S E 5.x獨有的XM P模式既有SM P模式的簡單易用性,又具有AMP模式的性能,為平臺軟件C PU側的軟件架構設計提供了方便。OSE的直接消息傳遞機制和集中式錯誤處理大大簡化了編程的工作,OSE豐富的模塊、文件系統、I P協議棧、動態加載模塊、LINX工具、ramlog工具、Optima系統級調試工具等這一切功能都節約了開發工作時間,加快了產品化速度。
dSPEED模塊用于監控和管理CPU和DSP陣列,負責DSP的加載復位、日志的收集、DSP和C PU上任務的監控、數據統計以及CoreDump的收集。dSPEED把CPU和DSP的復合系統融合為一個整體,負責各個實體間通信的是Enea的分布式透明傳輸模塊LINX。LINX支持幾乎所有的物理通信介質包括共享內存、以太網、sRIO、PCI等。統一了核間、同構/異構處理器間乃至板間的通信接口,并提供保證鏈路可靠性的機制,使分布式系統間的通信猶如在同一個核內通信那么簡單。LINX的出現大大簡化了分布式系統的程序設計。如圖2所示。如圖3所示是LINX的詳細結構圖示圖。
針對整個平臺軟件的調試,Enea的Optima系統級調試工具為系統的調試提供了方便。Optima工具通過以太網與目標系統相連,只要目標系統中的實體有LINX鏈路,那么通過PC側的Optima工具就可以看到整個分布式系統的拓撲圖。Optima可以查看CPU或者DSP上操作系統的進程狀態、內存和堆的詳細分配情況、CPU使用率、查看系統coredump、進行基于GDB的在線調試、實時查看系統和用戶的日志等。如圖4所示。
2 針對常用多核DSP/SoC芯片的解決方案實例
下面是Enea針對常用多核DSP/SoC芯片的解決方案的實例介紹。
Enea針對TI C66x多核DSP的軟件解決方案如圖5所示,包含硬實時的內核、LINX模塊、完整的BSP包及調試工具支持。
Enea針對Freescale SC3850多核DSP的軟件解決方案如圖6所示,包含硬實時的內核、L IN X模塊、完整的BSP包及調試工具支持。
Enea針對Freescale B4860 SOC的軟件解決方案如圖7所示,包含Enea的Linux操作系統、硬實時的內核OSEck、LINX模塊、完整的BSP包及調試工具支持。
Enea針對TI C6636 SOC的軟件解決方案如圖8所示,包含Enea的Linux操作系統、硬實時的內核OSEck、LINX模塊、完整的BSP包及調試工具支持。
結論
本文介紹了Enea針對多核DSP/SoC的平臺軟件解決方案。詳細介紹了方案的組成,包括面向針對多核DSP/SoC的OSEck操作系統、多核CPU的Enea Linux以及OSE操作系統、DSP陣列的管理模塊dSPEED、Enea系統級調試工具Optima以及Enea的分布式透明傳輸模塊LINX。文章突出了此方案的優點以及應用的實例,為應用多核DSP/SoC的嵌入式軟件架構設計提供了參考。
評論
查看更多