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