不斷演變的軟件開發(fā)方法不只是使基于處理器的設計變得更加簡便快捷。一個新興趨勢是,廠商制造更加靈活的硬件,提供使設計者更輕松地利用選項并在處理技術之間遷移的軟件。
要 點
如何在體系結構日益增多的情況下保持甚至提高軟件生產(chǎn)率?行業(yè)正在努力解決這一難題。
對于處理器廠商而言,要想使其與眾不同,集成軟件,也可稱為“捆綁”,是一種日益重要的途經(jīng)。
許多通用和專用方法正在興起和不斷演進,使設計者能探索比以往任何時候都更多的選擇,并在不同選擇之間轉換。
半導體公司正把更多軟件與其各自的處理器產(chǎn)品集成起來,這與過去截然不同,那時各公司把軟件開發(fā)工作和各種工具留給設計公司獨自完成。最早的軟件與硬件集成產(chǎn)品是匯編器和編譯器等開發(fā)工具,旨在使目標處理器的編程更容易。在過去幾十年間,半導體公司及其開發(fā)工具合作伙伴提供的用于支持嵌入式軟件開發(fā)工作的軟件不斷發(fā)展壯大。但這些工作的重點一直是簡化和加快某種目標處理器或某個類似處理器家族的使用與開發(fā)(見附文 《軟件生產(chǎn)率》)。至今在半導體公司及其合作伙伴的軟件和硬件集成方式方面出現(xiàn)了一個新趨勢,它不只是使開發(fā)更加簡便快捷,而且還使硬件更加靈活,并使設計者能夠在針對某個處理目標確定和優(yōu)化設計方案之前探索更多選項。
嵌入式處理器市場的軟件開發(fā)面臨的一個挑戰(zhàn)是:如何高效地為設計者提供的大量處理器體系結構(參考文獻 1 和參考文獻 2)。存在如此多的處理選項的一個原因是,它是嵌入式設計的一個關鍵考慮事項,以便能夠很好地平衡提供的各種功能、特性和功耗,并利用最少的資源實現(xiàn)更低的成本。有數(shù)十家半導體公司向嵌入式系統(tǒng)設計者提供處理器,并且有若干種不同的處理方法集中于如何最好地解決問題(參考文獻 3),例如采用微處理器、微控制器、DSP(數(shù)字信號處理器)、可編程邏輯交換結構、DSC(數(shù)字信號控制器)等。上述每個處理選項在體系結構方面均為各自最擅長處理的任務類型選擇了一些折中,這經(jīng)常是以其它的體系結構限制為代價,后者在迅速而高效地執(zhí)行這些任務方面的作用可忽略不計。
若在單一系統(tǒng)內(nèi)采用 DSP、微處理器、加速邏輯等多個處理選項,就會進一步提高嵌入式軟件開發(fā)工作的復雜性。多數(shù)用戶把注意力重點放在臺式機內(nèi)的 CPU上,但是操縱磁盤驅動器、網(wǎng)絡連接、視頻顯示器等外設是電腦內(nèi)的一些嵌入式處理器。汽車需依靠數(shù)十顆處理器,即使是洗衣機、、冰箱等家電也可能使用若干顆微控制器來控制電機和用戶界面,并監(jiān)視整個系統(tǒng)。上述多個處理單元以更低的功耗和成本提供了恰好足夠的性能。
由于存在大量代碼不兼容的特殊處理選項,迫使軟件開發(fā)團隊按照目標處理器體系結構來確定其設計,這是他們必須采取的首要行動之一。由于團隊在一期對于項目最終所需資源知之甚少,因此上述決定對于項目的總體成本、設計難度和風險具有重大影響。
靈活的硬件
極為重要的是,半導體公司日益認識到:供應的軟件、運行時代碼塊、開發(fā)工具再也不只是促進各自芯片上市和銷售的輔助工具,其還是整套系統(tǒng)的必要組成部分。事實上,半導體公司在其芯片配套軟件方面將投入的總資源占開發(fā)預算的很大、很重要的一部分。處理器公司稱自己未涉足軟件領域的時代結束了。半導體公司的重點正在轉向那些把系統(tǒng)的某些部分劃分為硬件和軟件的系統(tǒng)公司。它們把其余軟件能力留給設計公司,以便添加各自的差異化特性。
半導體公司正在創(chuàng)建和維護更多的芯片產(chǎn)品配套軟件,這是因為對于這些公司而言,利用軟件來繼續(xù)過去十年的整合歷程成本更低,更安全,更靈活。處理器設備一直在把系統(tǒng)的更多部分集成到單一芯片中,包括外設、內(nèi)存和存儲器控制器等。然而,把所有功能部件都作為硬件集成起來并不總是切實可行的。例如,CRC(循環(huán)冗余檢查)在軟件中執(zhí)行時,是一項高成本的功能,但在硬件中實現(xiàn)則比較簡單。然而只有數(shù)種處理器(如 公司的產(chǎn)品)實際包含集成式 CRC 寄存器。在所有處理器中都包含 CRC 寄存器沒有意義,這是因為許多應用不需要它,但是某些情況中,處理器的主要應用會足夠多地使用它,因而這就有理由把它包含在芯片中。
處理器廠商對集成軟件看法的改變導致的一個新結果是,如果廠商和設計者能在其提供的處理器當中支持靈活性,那么這類軟件就會給他們帶來巨大好處。多數(shù)處理器公司均提供多種處理器體系結構,因此它們能更好地面向多種應用。為所有這些產(chǎn)品提供有用的集成軟件并非一件易事,特別是如果無法在所有這些體系結構之間支持軟件靈活性。事實上,雖然一些公司在其部分處理器產(chǎn)品內(nèi)支持靈活性,但提供面向公司所有體系結構的整合且全面的集成軟件套件依然是將來的一個目標。該方法不同于能支持半導體廠商整個處理器產(chǎn)品線開發(fā)工作的單一集成軟件開發(fā)環(huán)境。