Global Sources
電子工程專輯
 
電子工程專輯 > 處理器/DSP
 
 
處理器/DSP  

功能性TLM簡化不同多處理器架構的軟體開發

上網時間: 2005年12月23日     打印版  Bookmark and Share  字型大小:  

關鍵字:TLM  Functional TLM  MPU  功能TLM  多處理器 

引言:現有的嵌入式軟體設計技術已經不能滿足複雜多處理器架構的通訊(IPC)軟體開發需求。本文介紹了一種基於功能事務級建模方法的虛擬原型設計技術,使用這種技術,所有的軟體開發任務都能在晶片出現之前完成,提高了開發效率和縮短產品的上市時間。

在目前的嵌入式系統中,為滿足不斷成長的運算需求、吞吐量以及整合的系統功能,多處理器架構正開始廣泛採用。例如,高階智慧電話已經包含了很多的微處理器(MPU)和數位訊號處理器(DSP)來提供先進的2.75G和3G數據機和應用處理功能,以及WiFi、GPS和藍芽功能。

目前的嵌入式軟體設計實際並沒有為這些不同架構開發處理器間的通訊(IPC)軟體的複雜性做好準備。然而,虛擬原型設計技術正出現,這種技術允許製作嵌入式系統的高性能功能性軟體模型,這種軟體模型非常完整,能完全反映出硬體功能。

基於功能事務級建模方法(F-TLM),透過將高速處理器指令集模擬器與高級的全功能硬體建構模組的C/C++模型結合起來,可以產生一種虛擬的平台。產生的這種虛擬平台是一種高級的硬體模型,這種模型足夠完善,軟體開發者可以用來替代實際設備。

採用這種平台(見圖1),軟體團隊能在得到矽片之前的很長時間就可以開始開發、整合以及測試軟體程式碼。這種技術促成了各層次軟體的平行開發,包括ROM程式碼、韌體程式碼、設備驅動程式、作業系統的移植、中介軟體和應用程式的開發。

圖1:虛擬原型技術架構圖。

圖3:OMAP虛擬平台的畫面擷取圖。

表1:幾種嵌入式作業系統時脈時間的比較。

F-TLM平衡了多處理器軟體的要求

基於F-TLM的虛擬平台模型提供了指令集模擬器、硬體/週邊設備模型和系統I/O之間的恰當平衡,這樣就可以允許早期和平行的軟體開發。F-TLM專注於與軟體開發者相關的硬體方面,迴避了那些在軟體編程模型中接觸不到的硬體細節。正確的F-TLM環境結合了三種主要的元素:

  1. 精確指令ISS:在一個典型的多處理器設計中,為不同設備而生成的基於F-TLM的CPU模型能對CPU狀態進行建模以及執行目標程式二進制程式碼。生成的CPU模型包括MMU(記憶體管理單元)模型,它能與功能性緩衝記憶體模型互補,提供執行時的緩衝記憶體命中/錯過的數目的統計資訊。利用精確指令,它們能逐指令執行目標程式二進制程式碼,因此與二進制程式碼相容。然而,這種CPU模型沒有包含CPU管線的模型,沒有保持週期的細節。

  2. 高級事務級匯流排模型:在多處理器設計中,複雜的匯流排傳輸資訊串流被簡化成簡單的讀和寫事務。這種抽象由許多方面組成,包括不同的匯流排階段、晶片選擇、重試、仲裁之後的匯流排轉向等等。在簡單的匯流排模型上以讀和寫函數調用來執行事務。這些匯流排模型對地址解碼和不同匯流排單元(例如匯流排橋、仲裁器等)的控制暫存器進行建模。

  3. 功能週邊設備模型:針對多處理器設計中的每個硬體週邊設備,對暫存器介面、編程模型、功能和與其它週邊設備或者其系統I/O的通訊建模。建模關注於軟體和週邊設備功能之間的相互作用和影響。例如,對一個相機介面控制器的某個控制/命令暫存器的編程可能啟動來自第二個電話相機的數據串流。

這種類型的交互和功能可以包含在功能模型中。硬體方面,例如內部管線、內部硬體加速器的仲裁、存取系統匯流排的串流控制等等,從執行的軟體來看,它們一般沒有相關性,因此沒有包含在平台模型中。

表1顯示了對於一個完整的板級模擬器來說,F-TLM可以獲得的執行時間(絕對的時脈時間以及主PC每GHz的規格化MIPS(每秒百萬條指令)。板級模擬器由基於多處理器的複雜系統級晶片(SoC)和幾個板級分離元件組成。注意,在OS啟動階段,每GHz的有效MIPS數(OS對不同的週邊設備編程,並等待週邊設備在初始化之後返回結果)越低,則有效的MIPS額定值越低。

準確週期模型與F-TLM模型

相對於F-TLM模型,準確週期模型儘管提供了非常好的細節和時序規格,但非常難以評估,需要花費很多的時間來進行開發,並且執行速度也更慢,一般在每秒500k週期的數量級。儘管對於低階的軟體開發任務(例如軟體執行程式碼很少的ROM程式碼和韌體開發)來說這種性能等級是可以接受的,但是對於高效率的高級作業系統移植、中介軟體整合以及應用程式開發來說還是太慢了。

基於F-TLM的虛擬原型方法在很多嵌入式消費性設備中採用的複雜多處理器環境中具有幾個優勢。

作為這種系統核心的高度整合的SoC包含數十個週邊設備和多個片上和片外匯流排,由於接腳或者JTAG限制,其中一些在實體目標上可能是不可見的,使得對這些元件的編程和除錯更加複雜。

提供對對象更高的可見性和控制對於提高這些新SoC的軟體開發效率來說是很必要的。為了獲得高的整體執行速度,以及觀察發現95%的模擬速度用在CPU ISS以及記憶體模組上,推動了模擬器開發向著CPU ISS和記憶體模組這些關鍵元件使用本地的、編譯的C++程式碼方向發展。

在這樣的F-TLM環境中,為擷取週邊設備和它們的功能,需要一種圖形化的有限狀態機(FSM)語言,例如‘Magic-C’。‘Magic-C’把一些規格與描述語言(SDL)的圖形化描述能力與ANSI-C的執行能力結合起來。

平行的通訊FSM執行範例(見圖2)可以很容易地描述平行硬體實體,同時其圖形化的特性能實現一種圖形化的硬體除錯器,這種除錯器可連接到正執行的模擬,還能支援如硬體斷點和硬體單步除錯的全新功能。

採用這種圖形化的語言,開發者可以同時通過Magic-C硬體除錯器除錯硬體,透過一個與執行中的模擬相連接的軟體除錯器除錯軟體。模擬框架也應該盡可能多地利用標準的模型介面和API,促進元件模型的再使用。通常,這意味著一組標準的事務級介面和一種標準的抽象層,所有的週邊設備模型用這些與匯流排相連。

採用F-TLM建構一個多處理器SoC

圖2:通訊FSM執行範例畫面擷取圖。

透過了解怎樣運用F-TLM方法在TI OMAP平台上進行應用開發,該方法在對多處理器架構進行建模中的功能顯而易見。OMAP是一種具有強韌性的軟體基礎架構,具有對於快速開發網際網路設備、2.5G和3G無線手機和PDA以及其它多媒體增強設備的全面支援網路。

為實現這些特點,這些SoC利用一種先進的不同的RISC/DSP架構,結合了專用的2D/3D圖形加速器和影像視訊加速器(IVA),其中有些加速器包含一個額外的RISC核心,產生不同的平行晶片上CPU網路。

模擬器使用模型-為加速OMAP架構的內部和外部軟體開發,TI與Virtio合作開發了幾個OMAP虛擬平台,這些平台早於晶片出現幾個月。圖3中顯示了OMAP虛擬平台的畫面擷取圖。

透過協調內部軟體開發階段與OMAP平台提交時間,軟體開發可以在平台開發開始後四個星期就開始。所有這些在架構規格和硬體設計還在確定的過程中就可以開始,因而實現真正的平行開發。

基於F-TLM的虛擬平台首先實現了能使用低階ARM(除錯)工具提前開發開放的作業系統引導加載程式,其次是OS HAL的開發、核心移植,最後能使得設備驅動程式擴展集進一步開發,這些都是透過使用目前的目標開發工具,而不需要改變開發流程。

與此同時,DSP團隊進行DSP/BIOS即時作業系統的移植與開發。在後期階段,開發團隊開發處理器間通訊(IPC)層以及RISC核心與DSP之間的元件,並將這些添加到高級作業系統和DSP/BIOS端。

一旦板級支援包(BSP)開發完成並經確認,TI就將由OMAP虛擬平台和BSP組成的桌面開發環境提交給初始客戶,使客戶能開始整合設備中介軟體和關鍵應用,加速他們的設備開發。

處理器間通訊的好處:對不同處理器組成的網路IPC軟體開發一般是對這些SoC的全部軟體開發中最具有挑戰性的一個任務,虛擬平台的幾個關鍵特性對加速這種開發提供了非常大的幫助,並提高了開發的效率。

虛擬平台提供了增強的系統可見性,這使開發者能更簡單地隔離和除錯IPC問題。Magic-C硬體斷點和除錯功能提供了在任何時間點對片上IPC硬體狀態(例如片上信箱區和訊號量)、整體的系統狀態和CPU狀態的可見性。

與實體開發對象相較不同的是,當CPU在與JTAG除錯器連接的執行過程中停止工作時,整個系統包括硬體週邊設備時脈(不僅僅特定的CPU實例)都會停止工作。這導致IPC硬體(以及所有的其它週邊設備)停止工作,這些IPC硬體與CPU同步。這樣一來,在任何時間點,系統狀態不受影響,例如不會被中斷觸發破壞。像每當CPU停止工作時系統狀態的維持不受影響這樣的功能,有利於提高開發效率。

確定性模擬執行和多核心調度演算法確保了可預測性,這可以使設計缺陷輕易再現,並可反覆執行模擬。

此外,透過提供對對象的低級多核心JTAG式控制,模擬支援緊密的多核心除錯。例如,每當DSP或者RISC中發生一個值得關注的事件時,任何一個除錯器都能停止整個平台的執行,工程師就可以查看DSP和RISC中的事件點。

由於採用先進的模擬技術,所有的軟體開發任務,包括DSP/BIOS作業系統移植和IPC軟體開發,都能在矽片出現之前完成。最初的內部軟體開發效率調查顯示,相較於使用實體對象的開發,測得的效率提升達2倍到5倍。

作者:Filip Thoen

技術長

Virtio公司




投票數:   加入我的最愛
我來評論 - 功能性TLM簡化不同多處理器架構的軟體...
評論:  
*  您還能輸入[0]個字
*驗證碼:
 
論壇熱門主題 熱門下載
 •   將邁入40歲的你...存款多少了  •  深入電容觸控技術就從這個問題開始
 •  我有一個數位電源的專利...  •  磷酸鋰鐵電池一問
 •   關於設備商公司的工程師(廠商)薪資前景  •  計算諧振轉換器的同步整流MOSFET功耗損失
 •   Touch sensor & MEMS controller  •  針對智慧電表PLC通訊應用的線路驅動器
 •   下週 深圳 llC 2012 關於PCB免費工具的研討會  •  邏輯閘的應用


EE人生人氣排行
 
返回頁首