可配置處理器應(yīng)用日趨紅火
——
可配置處理器應(yīng)用日趨紅火
可配置處理器在你的設(shè)計中可能是一個經(jīng)濟實惠的元件,但也可能是一個演進中的抽象概念。
如果向很多人詢問如何定義可配置系統(tǒng),你會發(fā)現(xiàn)每個人的定義都取決于如何對系統(tǒng)元件進行抽象的假定。對于嵌入式系統(tǒng)來說,抽象通常應(yīng)用于系統(tǒng)的硬件部分以及任何相應(yīng)的軟件。定義可配置系統(tǒng)的一個共同思路是在不大改動系統(tǒng)平臺的情況下具有改變系統(tǒng)特性和行為的靈活性。每一個可配置性定義之間的差異在于如何解釋大改系統(tǒng)平臺的含義(參閱附文:《可配置觀點》)。
你設(shè)備的成本要求和靈活性需求使各種類型和等級的可配置性的需要和價值得以提高。成本在你的項目中表現(xiàn)為搶占市場的機會成本、預(yù)付的非經(jīng)常性成本、經(jīng)常性材料成本以及開發(fā)支持成本等。平臺靈活性使你能夠更改設(shè)計和增加功能,而不會使你的工作和已發(fā)生的費用前功盡棄。靈活性使你能夠更方便地在多個設(shè)計中反復(fù)使用你的勞動成果,適應(yīng)不斷變化的要求,糾正設(shè)計錯誤,并使基于標(biāo)準(zhǔn)的設(shè)計,例如適用于未來的通信協(xié)議的設(shè)計,"不會過時"。
在設(shè)計中使用 ASIC來實現(xiàn)一種固定功能能使硅芯片得到最有效的利用。ASIC 使你能夠平衡和優(yōu)化設(shè)計
如果向很多人詢問如何定義可配置系統(tǒng),你會發(fā)現(xiàn)每個人的定義都取決于如何對系統(tǒng)元件進行抽象的假定。對于嵌入式系統(tǒng)來說,抽象通常應(yīng)用于系統(tǒng)的硬件部分以及任何相應(yīng)的軟件。定義可配置系統(tǒng)的一個共同思路是在不大改動系統(tǒng)平臺的情況下具有改變系統(tǒng)特性和行為的靈活性。每一個可配置性定義之間的差異在于如何解釋大改系統(tǒng)平臺的含義(參閱附文:《可配置觀點》)。
你設(shè)備的成本要求和靈活性需求使各種類型和等級的可配置性的需要和價值得以提高。成本在你的項目中表現(xiàn)為搶占市場的機會成本、預(yù)付的非經(jīng)常性成本、經(jīng)常性材料成本以及開發(fā)支持成本等。平臺靈活性使你能夠更改設(shè)計和增加功能,而不會使你的工作和已發(fā)生的費用前功盡棄。靈活性使你能夠更方便地在多個設(shè)計中反復(fù)使用你的勞動成果,適應(yīng)不斷變化的要求,糾正設(shè)計錯誤,并使基于標(biāo)準(zhǔn)的設(shè)計,例如適用于未來的通信協(xié)議的設(shè)計,"不會過時"。
在設(shè)計中使用 ASIC來實現(xiàn)一種固定功能能使硅芯片得到最有效的利用。ASIC 使你能夠平衡和優(yōu)化設(shè)計
,并達到提高性能、降低經(jīng)常性成本和功耗的目的。與這些優(yōu)點相反的是,你制造ASIC發(fā)生的預(yù)付非經(jīng)常性成本很高,這會使你必須把這些成本分攤給以后的大量產(chǎn)品。固定功能 ASIC 的靈活性很差,使你無法把一種ASIC設(shè)計用于多個工程項目中,可能你需要重新設(shè)計,而且為了給你的設(shè)備添加新功能還會再次發(fā)生非經(jīng)常性成本。還有一點就是ASIC的開發(fā)周期要比其他方法的開發(fā)周期要更長,因為你必須對電路進行設(shè)計和測試,然后制造芯片,驗證你的方法。
在設(shè)計中使用 ASSP(專用標(biāo)準(zhǔn)部件)能夠縮短開發(fā)時間,并以較高的經(jīng)常性成本代替 ASIC 成本,因為這些成本已由器件供應(yīng)商支付了。如果有合適的 ASSP可用,那么你就不太可能是第一個投放產(chǎn)品的人了。因為競爭對手也能使用相同的器件,所以你必須考慮采取更創(chuàng)新的競爭策略。ASSP 與 ASIC 都不是靈活的平臺,它們天生就是專用的,并為某種目標(biāo)設(shè)備而進行了優(yōu)化。 iSuppli公司(www.isuppli.com)的數(shù)據(jù)表明,2002 年 ASIC 銷售額比 2000 年銷售額下降了 28%,其主要原因是有線通信的需求疲軟,次要原因是整個市場轉(zhuǎn)向標(biāo)準(zhǔn)化產(chǎn)品,如 ASSP 的銷售額在 2002 年增長了 1.6%。
ASPP(專用可編程部件)或 SOC(單片系統(tǒng))通過犧牲某些性能、增加硅片(成本)和降低電源效率,來換取軟件可編程性,從而比ASSP具有更大的靈活性。這些器件相互間的差異體現(xiàn)在是否集成有一組優(yōu)化的外部設(shè)備、存儲器、接口控制器和專用硬件加速器,而專用硬件加速器又有帶DSP的、帶微控制器芯核的和兩者兼而有之的之別。
標(biāo)準(zhǔn)的通用軟件可編程器件,如DSP、微控制器和微處理器,都沒有集成專用硬件加速器,而是集成有比 ASPP 更多通用外部設(shè)備、存儲器和接口控制器。它們以犧牲高性能、低功耗和低成本的某些優(yōu)勢組合為代價,支持各種各樣系統(tǒng)的應(yīng)用。但是,由于它們適用于各種系統(tǒng),所以它們的開發(fā)工具和行業(yè)支持基礎(chǔ)設(shè)施就比 ASIC 和 ASSP 器件更加成熟。此外,還有很多經(jīng)驗豐富的軟件開發(fā)人員從事這些指令集處理平臺的開發(fā)工作。
所有這些器件均采用固定的體系結(jié)構(gòu),這些體系結(jié)構(gòu)都有一系列選項,為的是使系統(tǒng)性能、功耗、預(yù)付非經(jīng)常性成本、經(jīng)常性成本、開發(fā)時間和靈活性等最大和最小。為了用這些器件提高系統(tǒng)性能,你可能要重新使用實現(xiàn)算法的方法,更改選用的處理器或增加時鐘速度。數(shù)字信號處理量大的設(shè)備的工作負荷可能超過處理器以最快時鐘速度所能完成的最大工作負荷。你可以根據(jù)自己的處理器選擇和應(yīng)用規(guī)范使用多個處理器來提高性能。但是,設(shè)計中增加處理器就需要在處理器之間進行通信聯(lián)系,相互協(xié)調(diào),從而使你的設(shè)計復(fù)雜化。在設(shè)計中添加處理器或固定功能加速器會使功耗、材料成本、通信等待時間和所需電路板面積都超出你所能承受的范圍。
增加少許可配置性
如果現(xiàn)有的固定體系結(jié)構(gòu)方法不能滿足你的要求或器件級至關(guān)重要的靈活性時,可配置的硬件體系結(jié)構(gòu)可能對你有所幫助。可配置的體系結(jié)構(gòu)使你能夠在性能、功耗以及硅片面積成本三大方面進行平衡,而且還可具有較高的性能、較低的功耗以及較低的成本,因為你只需較少的時鐘周期和較少的邏輯電路便可計算出與可編程固定架構(gòu)下相同的結(jié)果??膳渲皿w系結(jié)構(gòu)為配置系統(tǒng)資源,為擴展指令集體系結(jié)構(gòu)或為兩者兼而有之提供了機制。
配置機制使你能夠按照應(yīng)用要求調(diào)整系統(tǒng),方法是更改處理器資源,例如增刪各種存儲器,如超高速緩存或增減其存儲容量;更改總線寬度;創(chuàng)建特殊的寄存器和總線;復(fù)制執(zhí)行單元,例如 ALU 和 MAC,以增強指令級并行性;集成自定義的外部設(shè)備;甚至創(chuàng)建多處理器系統(tǒng)。這種靈活性使你能夠?qū)ο到y(tǒng)進行調(diào)整并解決系統(tǒng)瓶頸問題,以獲得更高的性能。但是,如果軟件開發(fā)工具不能很方便地利用附加資源來實現(xiàn)性能優(yōu)化,則可配置體系結(jié)構(gòu)就會延長設(shè)計過程。
擴展指令集體系結(jié)構(gòu)的機制可將軟件有效地轉(zhuǎn)換成加速的硬件,并可將實現(xiàn)方法抽象為軟件指令集體系結(jié)構(gòu)。專用指令能將一個應(yīng)用程序每個時鐘周期完成的工作量增加幾個數(shù)量級,并能減少它所需軟件代碼的行數(shù)。這些自定義指令一般可簡化開發(fā)、調(diào)試和驗證工作,而所付出的代價是預(yù)先去做對自定義指令和純軟件執(zhí)行方法進行比較的簡要表分析。如果軟件開發(fā)工具得不到簡單的或自動的支持,不能將自定義指令整合到編譯程序和仿真程序中,則擴展指令集就會拖延開發(fā)進度。
可配置的體系結(jié)構(gòu)都有多種與固定體系結(jié)構(gòu)方法相同的實現(xiàn)方法,來使系統(tǒng)性能、功率、預(yù)付非經(jīng)常性成本、經(jīng)常性成本和開發(fā)時間最大和最?。ū?1)。可配置的和可擴展的 IP(知識產(chǎn)權(quán))處理器芯核對可配置性的支持可達硅片制造一級。這些芯核具有與 ASIC 類似的優(yōu)點和缺點。適用于這些體系結(jié)構(gòu)的開發(fā)工具可能包括能馬上為你提供有關(guān)某一設(shè)計的性能、芯核尺寸和功率要求估算的性能工具。
只要將一個可編程邏輯塊與硬處理器芯核和一組最少的外部設(shè)備塊相組合,可配置處理器就可以支持現(xiàn)場硬件更新和運行模式可重新配置性,例如,從對一個編解碼器或協(xié)議算法的處理切換到對另一個編解器或協(xié)議算法的處理?,F(xiàn)在大量的標(biāo)準(zhǔn)處理器產(chǎn)品都有這樣的集成水平。這些產(chǎn)品允許將一組外部設(shè)備定制化并執(zhí)行定制指令,但不支持重新配置處理器芯核的基礎(chǔ)資源。你在這些系統(tǒng)上獲得的額外靈活性是以增加成本為代價的,因為器件的可重新配置部分所需的硅片電路比用固定組件來實現(xiàn)時要多。
在設(shè)計中使用 ASSP(專用標(biāo)準(zhǔn)部件)能夠縮短開發(fā)時間,并以較高的經(jīng)常性成本代替 ASIC 成本,因為這些成本已由器件供應(yīng)商支付了。如果有合適的 ASSP可用,那么你就不太可能是第一個投放產(chǎn)品的人了。因為競爭對手也能使用相同的器件,所以你必須考慮采取更創(chuàng)新的競爭策略。ASSP 與 ASIC 都不是靈活的平臺,它們天生就是專用的,并為某種目標(biāo)設(shè)備而進行了優(yōu)化。 iSuppli公司(www.isuppli.com)的數(shù)據(jù)表明,2002 年 ASIC 銷售額比 2000 年銷售額下降了 28%,其主要原因是有線通信的需求疲軟,次要原因是整個市場轉(zhuǎn)向標(biāo)準(zhǔn)化產(chǎn)品,如 ASSP 的銷售額在 2002 年增長了 1.6%。
ASPP(專用可編程部件)或 SOC(單片系統(tǒng))通過犧牲某些性能、增加硅片(成本)和降低電源效率,來換取軟件可編程性,從而比ASSP具有更大的靈活性。這些器件相互間的差異體現(xiàn)在是否集成有一組優(yōu)化的外部設(shè)備、存儲器、接口控制器和專用硬件加速器,而專用硬件加速器又有帶DSP的、帶微控制器芯核的和兩者兼而有之的之別。
標(biāo)準(zhǔn)的通用軟件可編程器件,如DSP、微控制器和微處理器,都沒有集成專用硬件加速器,而是集成有比 ASPP 更多通用外部設(shè)備、存儲器和接口控制器。它們以犧牲高性能、低功耗和低成本的某些優(yōu)勢組合為代價,支持各種各樣系統(tǒng)的應(yīng)用。但是,由于它們適用于各種系統(tǒng),所以它們的開發(fā)工具和行業(yè)支持基礎(chǔ)設(shè)施就比 ASIC 和 ASSP 器件更加成熟。此外,還有很多經(jīng)驗豐富的軟件開發(fā)人員從事這些指令集處理平臺的開發(fā)工作。
所有這些器件均采用固定的體系結(jié)構(gòu),這些體系結(jié)構(gòu)都有一系列選項,為的是使系統(tǒng)性能、功耗、預(yù)付非經(jīng)常性成本、經(jīng)常性成本、開發(fā)時間和靈活性等最大和最小。為了用這些器件提高系統(tǒng)性能,你可能要重新使用實現(xiàn)算法的方法,更改選用的處理器或增加時鐘速度。數(shù)字信號處理量大的設(shè)備的工作負荷可能超過處理器以最快時鐘速度所能完成的最大工作負荷。你可以根據(jù)自己的處理器選擇和應(yīng)用規(guī)范使用多個處理器來提高性能。但是,設(shè)計中增加處理器就需要在處理器之間進行通信聯(lián)系,相互協(xié)調(diào),從而使你的設(shè)計復(fù)雜化。在設(shè)計中添加處理器或固定功能加速器會使功耗、材料成本、通信等待時間和所需電路板面積都超出你所能承受的范圍。
增加少許可配置性
如果現(xiàn)有的固定體系結(jié)構(gòu)方法不能滿足你的要求或器件級至關(guān)重要的靈活性時,可配置的硬件體系結(jié)構(gòu)可能對你有所幫助。可配置的體系結(jié)構(gòu)使你能夠在性能、功耗以及硅片面積成本三大方面進行平衡,而且還可具有較高的性能、較低的功耗以及較低的成本,因為你只需較少的時鐘周期和較少的邏輯電路便可計算出與可編程固定架構(gòu)下相同的結(jié)果??膳渲皿w系結(jié)構(gòu)為配置系統(tǒng)資源,為擴展指令集體系結(jié)構(gòu)或為兩者兼而有之提供了機制。
配置機制使你能夠按照應(yīng)用要求調(diào)整系統(tǒng),方法是更改處理器資源,例如增刪各種存儲器,如超高速緩存或增減其存儲容量;更改總線寬度;創(chuàng)建特殊的寄存器和總線;復(fù)制執(zhí)行單元,例如 ALU 和 MAC,以增強指令級并行性;集成自定義的外部設(shè)備;甚至創(chuàng)建多處理器系統(tǒng)。這種靈活性使你能夠?qū)ο到y(tǒng)進行調(diào)整并解決系統(tǒng)瓶頸問題,以獲得更高的性能。但是,如果軟件開發(fā)工具不能很方便地利用附加資源來實現(xiàn)性能優(yōu)化,則可配置體系結(jié)構(gòu)就會延長設(shè)計過程。
擴展指令集體系結(jié)構(gòu)的機制可將軟件有效地轉(zhuǎn)換成加速的硬件,并可將實現(xiàn)方法抽象為軟件指令集體系結(jié)構(gòu)。專用指令能將一個應(yīng)用程序每個時鐘周期完成的工作量增加幾個數(shù)量級,并能減少它所需軟件代碼的行數(shù)。這些自定義指令一般可簡化開發(fā)、調(diào)試和驗證工作,而所付出的代價是預(yù)先去做對自定義指令和純軟件執(zhí)行方法進行比較的簡要表分析。如果軟件開發(fā)工具得不到簡單的或自動的支持,不能將自定義指令整合到編譯程序和仿真程序中,則擴展指令集就會拖延開發(fā)進度。
可配置的體系結(jié)構(gòu)都有多種與固定體系結(jié)構(gòu)方法相同的實現(xiàn)方法,來使系統(tǒng)性能、功率、預(yù)付非經(jīng)常性成本、經(jīng)常性成本和開發(fā)時間最大和最?。ū?1)。可配置的和可擴展的 IP(知識產(chǎn)權(quán))處理器芯核對可配置性的支持可達硅片制造一級。這些芯核具有與 ASIC 類似的優(yōu)點和缺點。適用于這些體系結(jié)構(gòu)的開發(fā)工具可能包括能馬上為你提供有關(guān)某一設(shè)計的性能、芯核尺寸和功率要求估算的性能工具。
只要將一個可編程邏輯塊與硬處理器芯核和一組最少的外部設(shè)備塊相組合,可配置處理器就可以支持現(xiàn)場硬件更新和運行模式可重新配置性,例如,從對一個編解碼器或協(xié)議算法的處理切換到對另一個編解器或協(xié)議算法的處理?,F(xiàn)在大量的標(biāo)準(zhǔn)處理器產(chǎn)品都有這樣的集成水平。這些產(chǎn)品允許將一組外部設(shè)備定制化并執(zhí)行定制指令,但不支持重新配置處理器芯核的基礎(chǔ)資源。你在這些系統(tǒng)上獲得的額外靈活性是以增加成本為代價的,因為器件的可重新配置部分所需的硅片電路比用固定組件來實現(xiàn)時要多。
評論