




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、 親自實(shí)踐項(xiàng)目:系統(tǒng)性能加速的方法(上篇) 親自實(shí)踐項(xiàng)目:系統(tǒng)性能加速的方法(上篇) 類別:EDA/PLD  本文為上下連載的上篇,探討了日益增加的可供選擇的硬件加速方案,并說明不具備硬件背景的
2、設(shè)計師如何得益于不斷發(fā)展的開發(fā)工具。 -  要 點(diǎn)  ·軟件威力與硬件威力恰如串行操作與并行操作。  ·定制的硬件加速邏輯不過是許多系統(tǒng)性能加速方法之一。  ·硬件加速工具針對供缺乏硬件背景的設(shè)計師使用,并越來越好用。  ·選擇指令擴(kuò)展還是選擇定制協(xié)處理器邏輯,取
3、決于設(shè)計的硬件需求。  供設(shè)計師實(shí)現(xiàn)定制硬件加速的選擇方案和開發(fā)工具正在不斷演進(jìn)。定制硬件加速是一種使并行處理實(shí)現(xiàn)起來愈加可行的方法,它能使性能、功耗和成本三者平衡,并將它們推進(jìn)到一個新境界。生產(chǎn)處理器的Stretch公司首席技術(shù)官Albert Wang解釋說:“本公司之所以最近推出一種采用集成的可重新配置硬件加速技術(shù)的軟件可編程處理器,乃是因?yàn)樵跐M足當(dāng)今前衛(wèi)的計算密集應(yīng)用系統(tǒng)設(shè)計需求方面,達(dá)到性能要求的時間至關(guān)重要?!?#160;  這篇連載文章的上篇概述
4、了硬件加速項(xiàng)目工作、可供選擇的方案和工具,也說明了分析軟件、確定需要加速的硬件以及實(shí)現(xiàn)硬件加速的過程。下篇將刊于2005年3月的本刊,它將集中討論各種硬件加速工具。這些工具能在系統(tǒng)模型或軟件源區(qū)上直接進(jìn)行操作,因?yàn)樘峁┝艘粋€附加的抽象層。  設(shè)計效率和開發(fā)生產(chǎn)率是嵌入式系統(tǒng)設(shè)計師考慮的最重要因素。在本文的描述中,設(shè)計效率反映一個設(shè)計在達(dá)到其處理性能要求和滿足其定時、功耗及成本約束條件方面的優(yōu)劣程度。由于復(fù)雜性對于競爭對手來說是一道障礙,所以能滿足復(fù)雜的性能要求與約束條件的嵌入式設(shè)計可為開發(fā)小組識別并提供標(biāo)新立異增值功能的機(jī)會。如果一個設(shè)計達(dá)不到
5、足夠復(fù)雜性的要求,也就難以提供獨(dú)特而又標(biāo)新立異的增值功能,因?yàn)楦偁帉κ挚梢院芸旆滦Р⒏鞣N最好的想法整合到其自己的產(chǎn)品中。  然而,這道復(fù)雜性障礙是暫時的,因?yàn)楦偁帉κ謱辛α縼砼c你的最好想法對抗。如果你不能迅速而充分地調(diào)整你的產(chǎn)品功能和成本,領(lǐng)先于競爭對手的工作,你就會喪失率先上 市的優(yōu)勢。開發(fā)生產(chǎn)率會抵消設(shè)計效率。它不僅包含完成當(dāng)前設(shè)計和實(shí)施工作所需的時間和資源,而且還包含開發(fā)成果在無可避免的后續(xù)項(xiàng)目中的可重用性。如果你的開發(fā)過程和工具在提取你設(shè)計成果的非標(biāo)新立異部分并使之自動化方面不能優(yōu)于競爭對手的開發(fā)過程和工具,你就可能為你的競爭對
6、手在創(chuàng)新方面超越你打開了方便之門。你可能不得不在這些非標(biāo)新立異細(xì)節(jié)上比你的競爭對手花費(fèi)更多的寶貴開發(fā)時間和資源。  ASIC是一種可以針對某種系統(tǒng)優(yōu)化的半導(dǎo)體器件,只實(shí)現(xiàn)某種系統(tǒng)為滿足一些要求而所需的那些功能。ASIC能夠最好地平衡性能、成本和功耗要求,不過其實(shí)現(xiàn)需要較長的開發(fā)周期以及大量的一次性工程成本,如果功能要求演變很快,就難以收回這些成本。  可編程平臺處于這個領(lǐng)域的另一端。這些平臺側(cè)重于生產(chǎn)率而不是效率,并要同時顧及可重用性和靈活性,以便快速修改或替代代碼或邏輯,實(shí)現(xiàn)新功能。軟件可編程
7、系統(tǒng)能高效地實(shí)現(xiàn)順序處理,但是在進(jìn)行并行處理時效率很低??删幊逃布到y(tǒng)在實(shí)現(xiàn)并行操作方面有杰出表現(xiàn),但是在進(jìn)行順序操作時通常不如軟件可編程系統(tǒng)效率高。軟件還擅長于整合抽象層,而硬件則出于成本效益和可重用性方面的考慮而無法做到。例如,為了適應(yīng)一種不同的但功能上等效的硬件,你可能會重新設(shè)計硬件,適用于這樣一個系統(tǒng)的軟件卻可能不得不在新舊兩種配置下運(yùn)行。結(jié)果,軟件可抽象功能上不明顯的硬件的微小變化。  軟件可編程系統(tǒng)和硬件可編程系統(tǒng)所用的開發(fā)工具具有根本性的差別。由于每一種可編程功能具有主導(dǎo)的順序性或并行性,軟件工程師和硬件工程師使用的工具要為系統(tǒng)行
8、為提供適當(dāng)而又不同可視化。Xilinx公司負(fù)責(zé)DSP設(shè)計工具與方法的總監(jiān)Jim Hwang說,HDL開發(fā)人員在從事信號處理應(yīng)用的開發(fā)人員中占一小部分。他解釋道,DSP領(lǐng)域的大多數(shù)設(shè)計師都使用C和Matlab。按照J(rèn)im Hwang的說法,諸如DSP系統(tǒng)生成器之類開發(fā)工具“可減少那些不懂VHDL的應(yīng)用開發(fā)人員和系統(tǒng)體系結(jié)構(gòu)設(shè)計師使用基于FPGA的產(chǎn)品的障礙”。許多支持定制硬件加速的公司都在為提供工具和器件而投入大量開發(fā)資源,這些工具和器件使得非硬件工程師(例如系統(tǒng)設(shè)計師和軟件工程師)能用軟件實(shí)現(xiàn)像硬件加速那樣的并行性。  在本次實(shí)踐項(xiàng)目進(jìn)行的早期
9、,EDN不得不做出有關(guān)該項(xiàng)目范圍的決定。該項(xiàng)目可能有一個范圍狹小的重點(diǎn),從而在一個平臺上深入研究某個算法的加速過程;也可能研究幾種體系結(jié)構(gòu)和工具產(chǎn)品,廣泛探討硬件加速技術(shù)(從而在每個體系結(jié)構(gòu)上花費(fèi)較少的時間)。現(xiàn)在越來越多的公司提供或支持硬件加速技術(shù),為了更好地突出這些公司的方法,我們選擇了一條比較廣泛而又較為淺顯的途徑。僅僅在最近的幾個月內(nèi),就有兩家公司宣布推出首批產(chǎn)品。Poseidon Design Systems公司推出的工具能直接根據(jù)標(biāo)準(zhǔn)ANSI C源代碼合成專用的硬件加速器,而Stretch公司推出的目錄處理器系列和工具集能根據(jù)ANSI C源代碼實(shí)現(xiàn)硬件加速。
10、  我們花時間在Altera、ARC、Atmel、MIPS、Tensilica和Xilinx等公司工作平臺上實(shí)現(xiàn)他們選擇的算法的硬件加速。在其各自的場所執(zhí)行這項(xiàng)任務(wù)緩解了時間上的約束,同時簡化了我們許可申請和配置各種開發(fā)環(huán)境的工作;這還意味著廠商的工程人員可以在整個過程中對我們進(jìn)行指導(dǎo)。
11、60; 每家公司都在不知道其它公司的選擇的情況下選擇一種算法來進(jìn)行加速。因此,每家公司可能選擇其經(jīng)驗(yàn)最多的、能驗(yàn)證其體系結(jié)構(gòu)和工具如何支持每種加速的分析和實(shí)現(xiàn)方法的算法加速技術(shù)。由于不鼓勵在兩家公司之間使用共同的算法加速,項(xiàng)目工作得以更好地專注于過程、工具和體系結(jié)構(gòu)機(jī)制,從而避免比較各種加速工作效率的誘惑(參見附文性能比較)。  Altera公司提供可編程邏輯器件、相關(guān)軟件工具和IP(知識產(chǎn)權(quán))軟件模塊。
12、其Excalibur器件將一個ARM922T處理器(可工作于200 MHz)和Apex 20KE FPGA體系結(jié)構(gòu)組合在一起。就本項(xiàng)目而言,編程目標(biāo)和加速目標(biāo)都是32位Nios和Nios II兩種軟處理器芯核,這兩種芯核可駐留在Altera公司的Stratix、Cyclone和HardCopy FPGA器件內(nèi)。Nios II芯核有三種配置,全都支持定制指令。標(biāo)準(zhǔn)配置的Nios II/s可平衡性能和尺寸(成本)。經(jīng)濟(jì)型配置的Nios II/e以性能為代價實(shí)現(xiàn)最小的芯核(大約為Nios II/s標(biāo)準(zhǔn)芯核尺寸的一半),并保持與Nios II ISA(指令集體系結(jié)構(gòu))的兼容性。Nios II/f配置追
13、求處理性能而使芯核尺寸最大。Altera公司的SOPC(可編程單片系統(tǒng))Builder系統(tǒng)開發(fā)工具能夠利用MathWorks公司的Matlab和Simulink來開發(fā)和實(shí)現(xiàn)算法設(shè)計,并將其移植到HDL文件,以便供Quartus II設(shè)計軟件一起使用。  ARC公司特許使用可配置和預(yù)配置的處理器芯核和IP芯核以及開發(fā)軟件、仿形工具和一套實(shí)時操作系統(tǒng)。其可配置的處理器芯核支持任選的DSP擴(kuò)展,并可以從4級流水線ARCtangent-A4體系結(jié)構(gòu)擴(kuò)展到7級流水線ARC 700體系結(jié)構(gòu)。這些芯核都是可合成和可配置的,因此設(shè)計師可以擴(kuò)展ISA。
14、;  本項(xiàng)目的目標(biāo)是32位ARCtangent-A4處理器,但也側(cè)重于使用ARC 600處理器時本項(xiàng)目有何不同之處(最突出的就是更長的指令流水線和附加的ALU/DSP擴(kuò)展)。加速工作專注于實(shí)現(xiàn)一個作為定制指令的分組報頭處理功能。ARChitect配置工具可配置這些芯核和Extension Instruction Automation工具套件,以便將Verilog指令擴(kuò)展納入流水線中。這種工具能自動插入所有控制信號和結(jié)構(gòu),以便將你的指令納入流水線中并創(chuàng)建一個可供ARChitect工具套件使用的指令庫。  我們
15、在幾乎所有公司都采用32位體系結(jié)構(gòu)。不過,在Atmel公司,我們探究了一種與一個FPSLIC(現(xiàn)場可編程系統(tǒng)級集成電路)器件上的FPGA集成在一起的8位AVR微處理器芯核。使用8位器件的硬件加速在于降低處理成本,而不在獲得一種最先進(jìn)的高性能算法。本項(xiàng)目側(cè)重于像一個火刑(fire-and-forget)外設(shè)處理器那樣對一個數(shù)據(jù)塊進(jìn)行CRC(循環(huán)冗余檢驗(yàn))。這種AVR芯核是不可配置的,所以ISA也不能擴(kuò)展,但是FPGA使設(shè)計師能實(shí)現(xiàn)像AVR的協(xié)處理器或外設(shè)那樣的硬件加速。Atmel公司的System Designer環(huán)境包含F(xiàn)PGA開發(fā)工具、AVR工作室工具和協(xié)同驗(yàn)證工具,從而能同時進(jìn)行硬件和軟件
16、的開發(fā)和調(diào)試。  MIPS Technologies公司特許使用32位和64位處理器體系結(jié)構(gòu)和芯核。其Pro Series處理器芯核系列的CorExtend功能,允許設(shè)計師增加和集成專有指令,并使硬件與芯核緊密耦合。我們專注于內(nèi)含CorExtend功能的MIPS32 24Kc Pro處理器芯核。本項(xiàng)目涉及到實(shí)現(xiàn)和驗(yàn)證一個對數(shù)據(jù)塊進(jìn)行計算的UDI(用戶定義指令)。為了實(shí)現(xiàn)這個UDI,設(shè)計師在Veril
17、og RTL中制造一個CorExtend模塊并將其與處理器芯核集成在一起。MIPS公司的軟件工具包包括軟件開發(fā)環(huán)境和MIPSsim軟件仿真器。MIPSsim利用一個API來創(chuàng)建定制的CorExtend擴(kuò)展庫,所以你可以在MIPSsim上增加任何UDI,進(jìn)行功能仿真和周期精確仿真。  Tensilica公司的可配置、可擴(kuò)展和可合成的處理器芯核強(qiáng)調(diào)配置體系結(jié)構(gòu)的預(yù)定義元件和構(gòu)建新指令和硬件執(zhí)行部件。該公司的Xtensa Processor Generator可為每一種處理器配置生成一個軟件開發(fā)環(huán)境,其中包括操作系統(tǒng)支持。其Xtensa V處理器芯核
18、是引人關(guān)注的對象。(Xtensa LX芯核未及時供貨支持本項(xiàng)目。)在Tensilica公司進(jìn)行的實(shí)踐活動專注于實(shí)現(xiàn)計算指令擴(kuò)展,其中有一種指令擴(kuò)展所用的數(shù)據(jù)比數(shù)據(jù)流結(jié)構(gòu)在一個周期內(nèi)能支持的還多。為了創(chuàng)建指令擴(kuò)展,工程師可以使用TIE(Tensilica Instruction Extension)語言和編譯程序。TIE語言是由Verilog語言和C語言混合而成的,用以描述包括多周期和流水線指令在內(nèi)的定制指令。TIE編譯程序生成各種文件,以便定制軟件工具鏈,擴(kuò)展指令集仿真器及C建模環(huán)境,評估用于處理器配置和定制指令的硬件資源。  Xilinx公司
19、提供可編程邏輯器件、先進(jìn)的集成電路(IC)、知識產(chǎn)權(quán)(IP)和軟件設(shè)計工具。我們在Xilinx公司使用裝入Virtex和Spartan FPGA器件的32位MicroBlaze軟處理器芯核。Xilinx公司還提供8位PicoBlaze軟芯核和PowerPC 405硬芯核。加速工作專注于為MP3實(shí)現(xiàn)作為定制邏輯模塊或外設(shè)的功能。MicroBlaze不支持定制指令擴(kuò)展,但是,借助一個FSL(快速單工鏈路)接口或CoreConnect芯片級外設(shè)總線,它確實(shí)支持用戶定義的作為外設(shè)或協(xié)處理器的硬件加速。FSL接口在MicroBlaze寄存器堆和定制加速邏輯之間提供一個等待時間很短的專用接口。其嵌入式開發(fā)
20、工具包和Xilinx Platform Studio為生成MicroBlaze和PowerPC設(shè)計提供一個集成環(huán)境。  各種選擇  有時候,設(shè)計師要求一個時間性強(qiáng)的算法的執(zhí)行速度比軟件能處理的速度更快。在這種情況下,他們可以嘗試通過以下方法加速算法的性能:重組算法;把更多的數(shù)據(jù)存儲器用于解決問題,例如使用一個查尋表;或者在手工編碼的裝置中實(shí)現(xiàn)算法。設(shè)計師可以使用更快的處理器,將問題分配給多個處理引擎,或者使用應(yīng)用優(yōu)化的處理器體系結(jié)構(gòu),例如集成有專用硬件加速器的ASSP(專用標(biāo)準(zhǔn)產(chǎn)品)。設(shè)計師甚至
21、可能考慮創(chuàng)建其自己的定制指令或硬件加速器。  為一個算法分配存儲器等處理器資源可以提高該算法的速度,但是需要在硬件資源方面進(jìn)行權(quán)衡。使用芯片內(nèi)而不是芯片外存儲也會在性能上產(chǎn)生質(zhì)的區(qū)別。將算法作為手工編碼裝置來實(shí)現(xiàn),就會使設(shè)計師保持使用一個固定的ISA處理器,但卻會將他與該處理器緊密地捆綁在一起。使用更快的處理器可能引發(fā)功耗增大等負(fù)面影響。把設(shè)計重新分配給多個處理引擎,例如采用一個微處理器和一個DSP
22、 ,就允許設(shè)計師使用最適合于各組功能的器件,但卻會增加復(fù)雜度。ASSP可為特定應(yīng)用實(shí)現(xiàn)最佳的外設(shè)和硬件加速功能。然而,采用ASSP會使產(chǎn)品標(biāo)新立異富有挑戰(zhàn)性,因?yàn)锳SSP的目標(biāo)范圍很狹小,會被競爭對手獲取。特許使用IP(知識產(chǎn)權(quán))芯核來加速算法可能是行得通的,但是,這些芯核是可以特許使用的,所以也會被競爭對手獲得。因此,ASSP不是一種使產(chǎn)品標(biāo)新立異的部件。  定制硬件加速是一種實(shí)現(xiàn)并行處理的越來越可行的方法。而且,就某些并行操作來說,定制硬件加速與軟件實(shí)現(xiàn)方法相比,能使性能提高一到兩個數(shù)量級。你可以利用一個連接到標(biāo)準(zhǔn)處理器的獨(dú)立FPGA實(shí)現(xiàn)定
23、制硬件加速。包括Altera公司、Atmel公司、QuickLogic公司、Stretch公司和Xilinx公司在內(nèi)的幾家處理器供應(yīng)商提供一種在一塊芯片上集成有FPGA的處理器。愈來愈多的軟件供應(yīng)商,如AccelChip公司、Altera公司、Celoxica公司、Critical Blue公司、Poseidon Design Systems公司、Stretch公司和Xilinx公司,正在提供使沒有受過全面硬件設(shè)計培訓(xùn)的設(shè)計師易于使用硬件加速的軟件工具。將加速功能整合到應(yīng)用軟件中常常要用編譯程序固有的特性或在線匯編代碼代替源代碼。  設(shè)計師可以
24、將定制硬件加速作為一個與處理器體系結(jié)構(gòu)緊密聯(lián)系的定制指令來實(shí)現(xiàn)。定制指令是處理器的ALU(算術(shù)邏輯部件,圖1)的有效擴(kuò)展。定制指令邏輯與處理器時鐘速率有關(guān),并必須提供控制信號,以便在定制邏輯的關(guān)鍵通道過長時停止流水線運(yùn)行或?qū)崿F(xiàn)一條定制流水線。如果存在數(shù)據(jù)相關(guān)性,則設(shè)計師可能需要使定制指令多周期化或流水線化。如果設(shè)計師需要訪問的數(shù)據(jù)超過ALU數(shù)據(jù)通道容量(通常為兩個操作數(shù)和一個結(jié)果),則他們就無法高效地實(shí)現(xiàn)適用于數(shù)據(jù)密集算法的定制指令,除非處理器體系結(jié)構(gòu)支持局部存儲、寄存器和數(shù)據(jù)訪問機(jī)制。  另一種實(shí)現(xiàn)硬件加速的方法就是通過一個數(shù)據(jù)接口(例如存儲
25、器控制器),將一種與處理器松散聯(lián)系的定制邏輯模塊用作協(xié)處理器或外設(shè)(圖2)。協(xié)處理器執(zhí)行處理器以外的邏輯運(yùn)算,因此關(guān)鍵的通道定時問題不會直接影響處理器芯核的時鐘至?xí)r鐘操作。然而,這些問題會對你的系統(tǒng)的整個操作產(chǎn)生影響。協(xié)處理器還能在無需處理器介入的情況下訪問系統(tǒng)中的其它外設(shè)或存儲器。  過 程  盡管我們工作在一種可能是高度受控的、跟實(shí)驗(yàn)室一樣的演示環(huán)境中,每一個實(shí)踐活動都有某種程度的故障檢修樂趣。在一次實(shí)踐活動期間,一臺工作站死機(jī)了,誰也不太溫文爾雅。然而,這種故障也確實(shí)說明了我們的實(shí)踐活動是
26、斷斷續(xù)續(xù)的。在另一次實(shí)踐活動中,出現(xiàn)過一次驅(qū)動器與工具版本的不匹配,不過這一次的責(zé)任在于將設(shè)計代碼移植到了一個新的工具版本和一個不同的目標(biāo)上。  最常見的故障檢修問題是由人工修改代碼或配置文件引起的。由于這些實(shí)踐活動處理的都是“簡單的”例子,我們沒有執(zhí)行嚴(yán)格的版本控制。然而,這種做法最終被證明是一個錯誤。構(gòu)建、執(zhí)行和簡介每一種配置都意味著要使用間接的支持文件,因此,很容易在這里或那里忘掉一次修改。腳本文件最終在弄清情況方面發(fā)揮了作用。  研究不同體系結(jié)構(gòu)和工具組的時間有限,不允許本項(xiàng)目探究整個E
27、DA工具鏈。例如,我們沒有時間等待物理合成工具完成其操作,所以我們實(shí)際上只是討論那部分過程而已。適合于本項(xiàng)目的通用硬件加速設(shè)計流程側(cè)重于確定和創(chuàng)建硬件加速并將其納入到協(xié)同仿真環(huán)境中(圖3)。  每一次實(shí)踐活動都從僅僅用軟件實(shí)現(xiàn)算法開始。仿真工具是任何協(xié)同開發(fā)工具套件中至關(guān)重要的組件;通過使用仿真和簡介工具,我們可以確定軟件瓶頸。適合于硬件加速的備選操作有:允許多個順序操作合并,以便由一組輸入產(chǎn)生一組輸出的操作;允許你對一組獨(dú)立輸入進(jìn)行并行計算以產(chǎn)生獨(dú)立輸出的操作。  在確定哪種代碼要加速并決定是
28、否將加速作為定制指令或協(xié)處理器來實(shí)現(xiàn)之后,設(shè)計師必須創(chuàng)建硬件設(shè)計。一些工具(將由本項(xiàng)目第二部分探討)有助于由源代碼直接生成硬件加速或使這一過程自動化。設(shè)計師如果手工實(shí)現(xiàn)加速模塊,就要生成VHDL或Verilog文件。然而,如果他們正在使用Tensilica公司的工具套件,那就要通過TIE組件創(chuàng)建加速指令/模塊。  為了使用新的(或修改的)加速邏輯,設(shè)計師需要在協(xié)同仿真工具中將這種加速邏輯實(shí)例化并修改算法軟件。使用一個定制指令可能涉及到在原始代碼中插入或代入編譯程序固有的特性或在線匯編語句。為了訪問一個定制協(xié)處理器或外設(shè),設(shè)計師可能需要增加使用驅(qū)
29、動器或API的代碼。在重新構(gòu)建系統(tǒng)之后,設(shè)計師要對系統(tǒng)進(jìn)行協(xié)同仿真并對性能和行為進(jìn)行簡介。這個過程要反復(fù)進(jìn)行,有可能對以前實(shí)現(xiàn)的加速邏輯進(jìn)行改進(jìn),直到系統(tǒng)設(shè)計達(dá)到性能指標(biāo)為止。這一過程中的下一個步驟是使用驗(yàn)證測試程序驗(yàn)證加速邏輯RTL的功能,隨后進(jìn)行門電路一級的定時驗(yàn)證。如果測試表明設(shè)計達(dá)到了所有的功能要求和設(shè)計要求,設(shè)計師就可以繼續(xù)進(jìn)行剩余的硬件流程。  開發(fā)工具正在不斷演進(jìn)之中,從而使可互換的硬件和軟件模塊可供不具備硬件背景的設(shè)計師使用。要使使用性能更佳的硬件實(shí)現(xiàn)方法而不使用軟件實(shí)現(xiàn)方法的決定符合應(yīng)用需求。如果對軟件算法進(jìn)行簡化也符合要求,
30、則設(shè)計師就可能不希望發(fā)生重復(fù)產(chǎn)生硬件成本。例如,如果設(shè)計師在其系統(tǒng)中有未使用的存儲器,則構(gòu)建一個查尋表就可防止實(shí)現(xiàn)硬件加速器資源的額外成本發(fā)生。另一方面,設(shè)計師還能利用硬件加速來降低系統(tǒng)總成本,同時,實(shí)現(xiàn)一個運(yùn)行時可重配置系統(tǒng)可能會產(chǎn)生更大的成本效益(參見附文可重新配置的加速)。  參考文獻(xiàn)  A. Danek, M, P Honzik, J Kadlec, R Matsousek, Z Pohl,
31、 “Reconfigurable System-on-a-Programmable-Chip Platform,” Seventh IEEE Workshop on Design and Diagnostics of Electronic Circuits and Systems, April 2004. -  附文一:性能比較  本次實(shí)踐項(xiàng)目的早期計劃階段,EDN考慮過比較同一種算法在各種體系結(jié)構(gòu)上的加速差異。但是,由于沒有那種應(yīng)用空間對于每一種體
32、系結(jié)構(gòu)來說是通用的,而且可能很快就會變成一種蘋果與桔子的比較,所以我們放棄了這種想法。  接下來我們想到了比較和論述每種系統(tǒng)在其前后的性能參數(shù)。不過,盡管這種比較可能有用,卻也容易得出不完整和不恰當(dāng)?shù)慕Y(jié)論。例如,在使用Atmel的產(chǎn)品加速CRC(循環(huán)冗余校驗(yàn))算法時,硬件實(shí)現(xiàn)的算法執(zhí)行速度比原來的軟件實(shí)現(xiàn)快23倍。軟件實(shí)現(xiàn)是一種循環(huán)驅(qū)動CRC,而與表驅(qū)動CRC來比較加速差異就降低了性能比較的價值。經(jīng)過更長的時間和更大的努力,我們可以改善硬件實(shí)現(xiàn)的性能。類似的情況對于每一種加速工作都存在。  值得
33、注意的是,不要將最壞情況的軟件實(shí)現(xiàn)與最佳情況的硬件實(shí)現(xiàn)相比較。在測量硬件性能時,它是一個獨(dú)立執(zhí)行部件,而軟件性能則是一個更大整體的一部分。例如,存儲器構(gòu)成,或處理器高速緩存的容量大小,或者寄存器文件,都會對一種算法的性能產(chǎn)生影響;因此,一些系統(tǒng)支持對這些類型的體系結(jié)構(gòu)特性的可配置性。 要避免為了補(bǔ)償在不合適的處理器體系結(jié)構(gòu)上執(zhí)行的軟件而實(shí)施硬件加速,這一點(diǎn)非常重要。例如,無論處理器包含MAC(乘法/累加)單元還是具有適宜的數(shù)據(jù)總線結(jié)構(gòu),都會對一個信號處理算法的軟件性能產(chǎn)生重大影響。
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- Unit 3 Wrapping Up the Topic-Project 教學(xué)設(shè)計 2024-2025學(xué)年仁愛科普版英語七年級上冊
- 2糖到哪里去了(教學(xué)設(shè)計)-2023-2024學(xué)年一年級下冊科學(xué)冀人版
- 南方科技大學(xué)《環(huán)境資源法》2023-2024學(xué)年第二學(xué)期期末試卷
- 《7 校園綠化設(shè)計》(教學(xué)設(shè)計)-2023-2024學(xué)年六年級下冊綜合實(shí)踐活動粵教版
- 冀中職業(yè)學(xué)院《書法藝術(shù)與欣賞》2023-2024學(xué)年第二學(xué)期期末試卷
- 蘇州經(jīng)貿(mào)職業(yè)技術(shù)學(xué)院《安裝工程計量與計價》2023-2024學(xué)年第二學(xué)期期末試卷
- 教科版高中信息技術(shù)必修教學(xué)設(shè)計-5.1 音頻信息的采集與加工
- 四川化工職業(yè)技術(shù)學(xué)院《信號分析與處理C》2023-2024學(xué)年第二學(xué)期期末試卷
- 濮陽醫(yī)學(xué)高等??茖W(xué)?!段⒉夹g(shù)基礎(chǔ)》2023-2024學(xué)年第二學(xué)期期末試卷
- 四川外國語大學(xué)成都學(xué)院《兒科護(hù)理學(xué)(實(shí)驗(yàn))》2023-2024學(xué)年第二學(xué)期期末試卷
- 高三二輪專題復(fù)習(xí)化學(xué)課件-分布系數(shù)(分?jǐn)?shù))圖像
- 支委委員辭去職務(wù)申請書
- 【橋梁工程的發(fā)展趨勢與思考5300字】
- 質(zhì)量手冊(依據(jù)ISO9001:2023年標(biāo)準(zhǔn))
- GB/T 35274-2023信息安全技術(shù)大數(shù)據(jù)服務(wù)安全能力要求
- 新員工入職公司級安全教育培訓(xùn)課件
- 新能源材料與器件PPT完整全套教學(xué)課件
- 【基于CHFS數(shù)據(jù)的江蘇省居民家庭金融資產(chǎn)配置現(xiàn)狀分析報告6000字(論文)】
- -11體育單招核心 1700 單詞
- 大學(xué)課件-工廠化育苗(全套)
- GB/T 22267-2008整孜然
評論
0/150
提交評論