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