(計(jì)算機(jī)軟件與理論專業(yè)論文)基于可重構(gòu)技術(shù)的dsp系統(tǒng)結(jié)構(gòu)研究及部分功能實(shí)現(xiàn).pdf_第1頁(yè)
(計(jì)算機(jī)軟件與理論專業(yè)論文)基于可重構(gòu)技術(shù)的dsp系統(tǒng)結(jié)構(gòu)研究及部分功能實(shí)現(xiàn).pdf_第2頁(yè)
(計(jì)算機(jī)軟件與理論專業(yè)論文)基于可重構(gòu)技術(shù)的dsp系統(tǒng)結(jié)構(gòu)研究及部分功能實(shí)現(xiàn).pdf_第3頁(yè)
(計(jì)算機(jī)軟件與理論專業(yè)論文)基于可重構(gòu)技術(shù)的dsp系統(tǒng)結(jié)構(gòu)研究及部分功能實(shí)現(xiàn).pdf_第4頁(yè)
(計(jì)算機(jī)軟件與理論專業(yè)論文)基于可重構(gòu)技術(shù)的dsp系統(tǒng)結(jié)構(gòu)研究及部分功能實(shí)現(xiàn).pdf_第5頁(yè)
已閱讀5頁(yè),還剩60頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

(計(jì)算機(jī)軟件與理論專業(yè)論文)基于可重構(gòu)技術(shù)的dsp系統(tǒng)結(jié)構(gòu)研究及部分功能實(shí)現(xiàn).pdf.pdf 免費(fèi)下載

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

y 。7 3 j 1 3 9 0 摘要 數(shù)字信號(hào)處理( d s p ) 技術(shù)已成為人們?nèi)找骊P(guān)注并得到迅速發(fā)展的前沿技術(shù)。然 而,d s p 技術(shù)實(shí)現(xiàn)主要載體之一的) s p 處理器的性能從體系結(jié)構(gòu)到指令系統(tǒng)等諸方 面雖具有靈活的可編程性,但其性能的提高往往是以相對(duì)較慢的計(jì)算速度為代價(jià)的, 不能滿足一些對(duì)數(shù)據(jù)處理速度要求很高的應(yīng)用與需求,如實(shí)時(shí)視頻處理,因此又出 現(xiàn)了一種可以應(yīng)用于d s p 技術(shù)的新型計(jì)算方式,即可重構(gòu)計(jì)算??芍貥?gòu)計(jì)算技術(shù)既 具有軟件編程的靈活性,又有a s i c 方式實(shí)現(xiàn)d s p 技術(shù)的高效性。 本文在對(duì)d s f 技術(shù)、可重構(gòu)計(jì)算技術(shù)及可重構(gòu)硬件( f p g a ) 邏輯結(jié)構(gòu)和可重構(gòu) d s p 系統(tǒng)結(jié)構(gòu)進(jìn)行剖析研究的基礎(chǔ)上,首先提出了一個(gè)可重構(gòu)d s p 計(jì)算系統(tǒng)的基本 結(jié)構(gòu);隨后,從對(duì)相關(guān)的d s p 算法及功能的研究出發(fā)。找出了兩類與d s p 實(shí)現(xiàn)相比 更適合于f p g a 實(shí)現(xiàn)的算法:一類是分時(shí)復(fù)用的算法,類是基于卷積運(yùn)算的d s p 算 法:在對(duì)d s p 算法( f i r i i r d f t d c t d h t ) 的研究過程中,引入c o r d i c 理論,找到 這幾種算法實(shí)現(xiàn)中的共同的部分,設(shè)計(jì)出一個(gè)統(tǒng)一的可編程模塊;然后利用這一模 塊設(shè)計(jì)出了一個(gè)可重構(gòu)的弗行處理系統(tǒng)結(jié)構(gòu);最后,利用a l t e r a 公司的f p g a 芯片 及綜合仿真工具對(duì)所設(shè)計(jì)的系統(tǒng)結(jié)構(gòu)的功能進(jìn)行綜合仿真,并將仿真結(jié)果與c 語言 軟件編程及m t l a b 仿真方式的結(jié)果做比較。比較結(jié)果表明,該設(shè)計(jì)對(duì)f i r 濾波和 d f t 變換的結(jié)果與軟件編程及j j a t l a b 仿真的結(jié)果是一致的,證明本文中的可重構(gòu)并 行處理系統(tǒng)結(jié)構(gòu)的設(shè)計(jì)是成功的,即在這一結(jié)構(gòu)中,不需要改變系統(tǒng)的整體結(jié)構(gòu), 只要為不同的系統(tǒng)功能配置不同的系統(tǒng)參數(shù)以及模塊間互聯(lián)網(wǎng)絡(luò)結(jié)構(gòu),即可實(shí)現(xiàn)不 同的d s p 算法。這一可重構(gòu)并行處理系統(tǒng)可以作為數(shù)據(jù)計(jì)算量大、對(duì)速度要求高的 應(yīng)用系統(tǒng)中的d s p 計(jì)算引擎或者主機(jī)的協(xié)處理器來使用。 關(guān)鍵字:可重構(gòu)計(jì)算;數(shù)字信號(hào)處理;c o r d i c ;f p g m a b s t r a c t d i g i t a ls i g n a lp r o c e s s i n g ( d s p ) t e c h n i q u ed e v e l o p sq u i c k l ya n dh a sb e e no n eo ft h e a d v a n c e dt e c h n i q u e s w h i l e a l t h o u g h t h e p e r f o r m a n c e o fd s pp r o c e s s o rh a sb e e n i m p r o v e di ne v e r ya s p e c tf r o mi t ss y s t e ma r c h i t e c t u r et oi t si n s t r u c t i o na r c h i t e c t u r ea n d h a v eg o o df l e x i b i l i t y , i t sf l e x i b i l i t yi si m p r o v e di nc o s to fl o w c o m p u t i n gs p e e d ,t h a ti st o s a y , c u r r e n td s pp r o c e s s o rc a l l tm e e tw i t hs o m ea p p l i c a t i o n ,s u c ha sr e a l t i m ev i d e o p r o c e s s i n g s o an e w c o m p u t i n g m e t h o di s n e e d e d ,i e r e c o n f i g u r a b l ec o m p u t i n g t e c h n i q u e i th a sn o to n l yt h ef l e x i b i l i t yj u s tl i k es o f t w a r e ,b u ta l s ot h eh i e , he f f i c i e n c yl i k e a s i c i nt h i st h e s i s ,o nt h eb a s i so ft h ea n a l y s i so fd s p t e c h n i q u e ,r e c o n f i g u r a b l ec o m p u t i n g t e c h n i q u ea n di t sh a r d w a r e ( f p g a ) l o g i ca r c h i t e c t u r e a n dk i n d so fr e c o n f i g u r a b l ed s p s y s t e ma r c h i t e c t u r e t w ok i n d so fa l g o r i t h m sf i t f o ri m p l e m e n t a t i o no nf p g aa r ef o u n d f i r s t l yb yt h er e s e a r c ho ft h er e l a t e dd s pa l g o r i t h ma n df u n c t i o n o n ei st h ea l g o r i t h m w h o s ed i f i e r e n tp a r tc a r lb ei m p l e m e n t e di nd i f f e r e n tt i m e t h eo t h e ro n ej st h ed s p a l g o r i t h m b a s e do nc o n v o l u t i o n b y t h e s t u d y o ft h ed s p a l g o r i t h m s ( f i r i i r d f t d h t d c t ) 。t h ec o m m o nm o d u l eo ft h e s ea l g o r i t h m sc a nb ef o a n du s i n g c o r d i ct h e o r y a l s oar e c o n f i g n r a b l ed s p c o m p u t i n ge n g i n es y s t e ma r c h i t e c t u r e i s d e s i g n e d ,w h i c h c a n i m p l e m e n t a l lt h o s ed s pa l g o r i t h m s a c c o r d i n g t od i f f e r e n t p a r a m e t e r sa n dt h ed i f i e r e n tn e t w o r k w i t h o u tc h a n g i n gt h ew h o l e s y s t e ma r c h i t e c t u r e i n t h e f o l l o w i n g , s y n t h e s i sa n ds i m u l a t i o na r ep a s s e du s i n gf p g a f r o ma l t e r a w h a t sm o r e t h er e s u l ti sc o m p a r e dw i t l it h er e s u l tf r o mc p r o g r a n la n d t h es i m u l a t i o no fm a t l a b i t p r o v e st h a tt h ed e s i g ni nt h i st h e s i si sg o o df o ri tc a ni m p l e m e n td i f f e r e n td s pa l g o f i t h m i nt h es a m er e c o n f i g u r a b l e s y s t e m a n df i t st ob eac o p r o c e s s o ri nt h ea u d i o v i d e o c o m m u n i c a t i o n a p p l i c a t i o n k e y w o r d :r e c o n f i g u r a b l ec o m p u t i n g ,d i g i t a ls i g n a lp r o c e s s i n g ,c o r d i c ,f p g a 第一章緒論 1 。1 課題背景 第一章緒論 在現(xiàn)代數(shù)字信號(hào)處理、數(shù)字圖像處理及視頻應(yīng)用中,高速度和大規(guī)模的計(jì)算能 力是十分必要的。為了實(shí)現(xiàn)這種應(yīng)用,通常有兩種方法: 第一種方法是利用硬布線( h a r d w i r e d ) 技術(shù)。即要完成硬件中的運(yùn)算,要么采用 專用集成電路( a p p l i c a t i o ns p e c i f i ci n t e g r a t e dc i r c u i t ,a s i c ) ,要么采用由一 組獨(dú)立的元器件構(gòu)成的板級(jí)( b o a r d - l e v e l ) 解決方案。 專用集成電路的設(shè)計(jì)專門用于實(shí)現(xiàn)某一特定運(yùn)算,因此,它們?cè)趫?zhí)行這一特定 運(yùn)算時(shí)相當(dāng)迅速離效。然雨,這種電路制造出來后不可再改變。一旦電路的某一部 分需要修改,就必須將整個(gè)芯片進(jìn)行重新設(shè)計(jì)和制造,尤其是要在大量已開發(fā)出來的 系統(tǒng)中更換a s i c 時(shí),代價(jià)是非常昂貴的。另外,板級(jí)電路也存在一定程度的不靈活 性,在應(yīng)用中出現(xiàn)某些變化的情況下,也常常需要對(duì)電路板重新進(jìn)行設(shè)計(jì)或者更換 元器件。 第二種方法是利用軟件可編程的微處理器,這是一種相當(dāng)靈活的方案。1 。處理 器通過執(zhí)行一個(gè)指令集來完成運(yùn)算。通過改變軟件指令,就能在不改變硬件結(jié)構(gòu)的 情況下改交系統(tǒng)的功能。然而,這種靈活性是以性能的下降為代價(jià)的。處理器必須 從內(nèi)存讀出每條指令并解釋之,然后才能執(zhí)行該指令。對(duì)于每一個(gè)獨(dú)立的運(yùn)算,這 種處理的代價(jià)很高。因此,在速度方面,這種方法的性能要比專用集成電路的性能 低的多。此外,在處理器制造時(shí)已經(jīng)確定了程序所使用的指令集,如果需要指令集 以外的指令則必須更新處理器的指令集。 由此可見,這兩種方法有著各自的優(yōu)缺點(diǎn)。若要取二者之長(zhǎng),則必須找到一種 新型的計(jì)算方式,既保留軟件為主導(dǎo)解決方案的內(nèi)在可編程性和低成本,同時(shí)還要 達(dá)到原有硬件解決方案的處理速度和低功耗,這種新方式就是可重構(gòu)計(jì)算。 可重構(gòu)計(jì)算技術(shù)是指:數(shù)字系統(tǒng)制造完成以后,其硬件結(jié)構(gòu)可以根據(jù)需要重新配 置的技術(shù)o3 。也就是說當(dāng)機(jī)器制造完成后,機(jī)器運(yùn)行時(shí)可在芯片上重寫程序,從芯 片外部讀進(jìn)程序,或可將功能規(guī)格自由加以變更,以求縮短研發(fā)期間或酮減芯片數(shù)。 它是一種結(jié)合了現(xiàn)有微處理器和d s p 的“時(shí)間計(jì)算”方式及硬件a s i c 、f p g a 解決方 案的“空間計(jì)算”方式的新型計(jì)算方式。3 ,是一種可以解決速度、功耗、可編程性之 青島大學(xué)碩士學(xué)位論文 間矛盾的新方法。 隨著可重構(gòu)計(jì)算技術(shù)的發(fā)展,已有不少關(guān)于d s p 算法在f p g a 上實(shí)現(xiàn)的研究,比 如f f t 或者f i r 濾波算法基于f p g a 實(shí)現(xiàn)的研究,這些研究基本上是對(duì)某一個(gè)d s p 算 法的f p g a 實(shí)現(xiàn)進(jìn)行研究,而將多個(gè)d s p 算法映射于同一個(gè)可重構(gòu)計(jì)算系統(tǒng)中的研究 尚未出現(xiàn)。 本文在對(duì)d s p 體系結(jié)構(gòu)、可重構(gòu)d s p 系統(tǒng)結(jié)構(gòu)及可重構(gòu)計(jì)算的研究基礎(chǔ)上,提出 了一個(gè)可重構(gòu)的d s p 計(jì)算引擎基本結(jié)構(gòu),并從相關(guān)d s p 算法和功能的研究出發(fā),找出 了一類d s p 算法特征,這類d s p 算法用可重構(gòu)計(jì)算方式實(shí)現(xiàn)i :e d s p 處理器實(shí)現(xiàn)效果更 佳。在此基礎(chǔ)上,又設(shè)計(jì)了個(gè)可以實(shí)現(xiàn)多種d s p 算法的可重構(gòu)d s p 計(jì)算引擎系統(tǒng)結(jié) 構(gòu),并對(duì)其功能進(jìn)行了綜合仿真。由于該系統(tǒng)能夠在只改變系統(tǒng)參數(shù)、不該交系統(tǒng) 整體結(jié)構(gòu)的情況下完成多種低層的d s p 計(jì)算,因此可作為數(shù)據(jù)計(jì)算量較大的音頻視 頻通信前端數(shù)據(jù)處理系統(tǒng)中的協(xié)處理器。 1 2 研究的內(nèi)容及意義 可重構(gòu)計(jì)算作為一種嶄新的計(jì)算形式,其作用不止于簡(jiǎn)單地集成若干中小規(guī)模 集成電路和僅僅作為a s i c 器件廉價(jià)的代用品??芍貥?gòu)器件以及可重構(gòu)計(jì)算系統(tǒng)的結(jié) 構(gòu)是一種與可編程通用處理器和專用硬件電路并列的結(jié)構(gòu)形式,另外還有在此基礎(chǔ) 上產(chǎn)生的可重構(gòu)d s p 系統(tǒng),都是值得我們深入研究的體系結(jié)構(gòu)形式。 本文在對(duì)d s p 體系結(jié)構(gòu)、可重構(gòu)計(jì)算技術(shù)進(jìn)行深入的分析研究的基礎(chǔ)上,主要 在以下幾個(gè)方面做了較深入的研究: 1 1 結(jié)合了可編程性及a s i c 特征的幾種可重構(gòu)d s p 系統(tǒng)結(jié)構(gòu)研究及性能優(yōu)劣比較, 并給出本文設(shè)計(jì)的可重構(gòu)d s p 計(jì)算引擎的基本結(jié)構(gòu)框圖。 2 1 從相關(guān)d s p 算法的分析出發(fā),研究可重構(gòu)計(jì)算技術(shù)的適應(yīng)范圍,給出這類算法 的特征描述。 3 、引入c o r d i c 理論,研究如何將多個(gè)適合于可重構(gòu)計(jì)算技術(shù)實(shí)現(xiàn)的d s p 算法映 射于同一個(gè)系統(tǒng)結(jié)構(gòu)中。 4 、在以上研究的基礎(chǔ)之上,設(shè)計(jì)一個(gè)可重構(gòu)d s p 計(jì)算引擎的系統(tǒng)結(jié)構(gòu),并基于 f p g a 對(duì)其進(jìn)行功能驗(yàn)證。 基于本文的研究基礎(chǔ)上的可重構(gòu)d s p 計(jì)算引擎系統(tǒng)結(jié)構(gòu),可按應(yīng)用需求的不同 將其與應(yīng)用系統(tǒng)中主處理器進(jìn)行不同程度的耦合,以作為系統(tǒng)的協(xié)處理器或可重構(gòu) 2 第一章緒論 處理單元來實(shí)現(xiàn)其高速、靈活的可重構(gòu)性價(jià)值。 1 3 論文結(jié)構(gòu)安排 本文是作者在從事d s p 及可重構(gòu)計(jì)算研究工作的基礎(chǔ)上總結(jié)出來的,主要是在 對(duì)d s p 體系結(jié)構(gòu)、可重構(gòu)d s p 系統(tǒng)結(jié)構(gòu)的研究比較基礎(chǔ)上,提出可重構(gòu)d s p 計(jì)算引 擎基本結(jié)構(gòu)框圖,并從相關(guān)算法研究出發(fā),找出不同算法的共同部分。設(shè)計(jì)出一個(gè) 統(tǒng)一的可編程計(jì)算模塊,并在此模塊基礎(chǔ)上設(shè)計(jì)出了一個(gè)可用作音頻視頻及圖像處 理應(yīng)用中的協(xié)處理單元的可重構(gòu)d s p 計(jì)算引擎系統(tǒng)結(jié)構(gòu),并以f i r 和d f t 為例對(duì)目 前所完成可重構(gòu)結(jié)構(gòu)的設(shè)計(jì)功能進(jìn)行驗(yàn)證。 本文的內(nèi)容安排如下: 論文第一章,為緒論,對(duì)論文背景做簡(jiǎn)單介紹,說明本文的研究?jī)?nèi)容及意義。 論文第二章,對(duì)當(dāng)前的d s p 技術(shù)及可重構(gòu)計(jì)算技術(shù)作介紹,研究d s p 體系結(jié)構(gòu) 及可熏構(gòu)d s p 系統(tǒng)結(jié)構(gòu),并提出本文設(shè)計(jì)的可重構(gòu)d s p 計(jì)算引擎的基本結(jié)構(gòu)框圖。 論文第三章,從d s p 算法研究出發(fā),找出可重構(gòu)計(jì)算適用范圍,提出移位加方 式實(shí)現(xiàn)f i r i i r 濾波,并在此基礎(chǔ)上,提出d f t d h t d c t 的統(tǒng)一結(jié)構(gòu)設(shè)計(jì)。 論文第四章,設(shè)計(jì)基于f p g a 實(shí)現(xiàn)f i r i i r d f t d h t d c t 算法的統(tǒng)一可編程模塊。 論文第五章,利用第四章的統(tǒng)一可編程模塊,設(shè)計(jì)一個(gè)基于f p g a 實(shí)現(xiàn) f i r i i r d 阿d h t d c t 算法的系統(tǒng)結(jié)構(gòu),對(duì)該設(shè)計(jì)進(jìn)行綜合、仿真,并分析仿真結(jié) 果。 論文第六章,作者對(duì)所做工作作了總結(jié),給出相應(yīng)結(jié)論,并對(duì)未來工作做了展 顰。 3 第二章可重構(gòu)d s p 系統(tǒng)結(jié)構(gòu) 第二章可重構(gòu)d s p 系統(tǒng)結(jié)構(gòu) d s p 處理器作為數(shù)字信號(hào)處理的主要載體之一,2 0 世紀(jì)6 0 年代以來迅速得到廣 泛應(yīng)用。作為微處理器大家庭中的一員,從低成本、低功率d s p ,到各種高端d s p , d s p 的發(fā)展大約經(jīng)歷了起步、成熟、快速發(fā)展三個(gè)發(fā)展階段,從容量、速度、功能 各個(gè)方面都有了很大的發(fā)展及進(jìn)步。然而,d s p 處理器依然不能完全達(dá)到某些應(yīng)用 中對(duì)于速度、靈活性等性能的要求,因此越來越多的d s p 系統(tǒng)傾向于與其他邏輯器 件,如c p l d f p g a 等結(jié)合來進(jìn)行信號(hào)處理。 2 。1 d s p 處理器體系結(jié)構(gòu) d s p 處理器體系結(jié)構(gòu)的革新在很大程度上受到應(yīng)用需求的影響,其指令集的設(shè) 計(jì)是面向存儲(chǔ)器和數(shù)字信號(hào)處理算法來進(jìn)行性能優(yōu)化的。當(dāng)前,為了提供通信和多 媒體處理、圖像及圖形處理、語音識(shí)別和語音融合、人工智能等方面的應(yīng)用對(duì)高速 計(jì)算的需求,d s p 通常采用v l i w 和s i m d ( 單指令多數(shù)據(jù)) 等結(jié)構(gòu)形式來加強(qiáng)處理器 對(duì)數(shù)據(jù)的處理能力。 2 1 1v l i w 結(jié)構(gòu) 在v l i w 處理器的硬件上,各功能單元共用大型寄存器堆,由功能單元同時(shí)執(zhí)行 的各種操作是由v l i w 的長(zhǎng)指令來同步,它把長(zhǎng)指令中不同字段的操作碼分送給不同 的功能單元。相對(duì)于傳統(tǒng)型d s p 處理器,v l i w 處理器使用簡(jiǎn)單的指令集,一條指令 只完成一個(gè)操作。這個(gè)處理器將簡(jiǎn)單指令并行地發(fā)射出去,并同時(shí)執(zhí)行,有這樣的 多條指令構(gòu)成一個(gè)超長(zhǎng)指令字。由于使用了簡(jiǎn)單指令集后,簡(jiǎn)化了譯碼和執(zhí)行操作。 所以,相對(duì)于傳統(tǒng)d s p 處理器,可以采用更高的時(shí)鐘頻率。 v l i w 技術(shù)極大的提高d s p 處理器的性能,但它也有缺點(diǎn)。由于它的指令字長(zhǎng)增 加了,所以較大增加了程序存儲(chǔ)器的占用空間,使得d s p 處理器的成本和系統(tǒng)開銷 隨之增加。同時(shí)為了支持多個(gè)并行指令的執(zhí)行,這種結(jié)構(gòu)的d s p 處理器要求必須有 充足的指令譯碼器、總線寄存器和存儲(chǔ)器帶寬。 4 青島大學(xué)碩士學(xué)位論文 2 1 2s i m d 結(jié)構(gòu) 圖2 1v l i wi ) s p 處理器典型結(jié)構(gòu) s i m d ( 單指令多數(shù)據(jù)) 處理器把輸入的長(zhǎng)數(shù)據(jù)分解為多個(gè)較短的數(shù)據(jù),然后由 單指令并行地操作,如圖2 2 所示。即處理器可以同時(shí)對(duì)多個(gè)數(shù)據(jù)進(jìn)行進(jìn)行操作, 從而提高一些數(shù)學(xué)算法的計(jì)算性能。例如,一個(gè)s i m d 乘指令可以在一個(gè)時(shí)鐘周期內(nèi) 對(duì)不同的操作數(shù)據(jù)執(zhí)行兩個(gè)或兩個(gè)以上的乘法操作。s i m d 使總線、數(shù)據(jù)通道等資源 充分利用,可以極大提高某些向量計(jì)算的計(jì)算性能,在通信、多媒體信號(hào)處理和數(shù) 字信號(hào)處理中有廣泛的應(yīng)用“3 。但是,這種結(jié)構(gòu)只有處理并行算法時(shí)才是高效的。 對(duì)于串行算法( 算法中的結(jié)果作為下一個(gè)操作的輸入) ,s i m d 處理器通常不使用。 4 4 - 1 6 x 1 6 也乘法4 個(gè)1 6 x 1 6 位乘法 圖2 2s i i ) i ) s p 處理器的典型結(jié)構(gòu) 2 1 3 增加了指令和數(shù)據(jù)c a c h e 的d s p 處理器結(jié)構(gòu) 在原有的d s p 處理器結(jié)構(gòu)基礎(chǔ)上,為了追求更高的處理速度,d s p 處理器中開始 采用c a c h e 存儲(chǔ)器。c a c h e 的使用是為了提高處理器在運(yùn)算時(shí)取指令和取數(shù)據(jù)的速 度,當(dāng)需要的指令或數(shù)據(jù)在c a c h e 中時(shí),處理單元可及時(shí)地取得指令或數(shù)據(jù)。但是, 如果需要的指令或數(shù)據(jù)不在c a c h e 中,處理單元需要等待,直到c a c h e 中裝入了所 需數(shù)據(jù)為止。因此,程序執(zhí)行的時(shí)間與c a c h e 有關(guān)。在有c a c h e 的d s p 處理器中, 5 第二章可重構(gòu)d s p 系統(tǒng)結(jié)構(gòu) 程序執(zhí)行時(shí)間是不完全確定的,與程序執(zhí)行過程中處理的數(shù)據(jù)有關(guān)??紤]到c a c h e 應(yīng)用會(huì)帶來處理性能上的改善,設(shè)計(jì)者還是將c a c h e 引入到d s p 處理器結(jié)構(gòu)當(dāng)中。 由此帶來的d s p 應(yīng)用的問題,如實(shí)時(shí)性和執(zhí)行時(shí)間不定等,有望在今后的應(yīng)用中得 以解決。處理器開發(fā)者希望能給用戶提供指令級(jí)的仿真工具,用于更精確估計(jì)軟件 的執(zhí)行時(shí)間。但是,目前還只能靠程序員人工地在這方面做一些有限的工作“1 。 在d s p 處理器中采用c a c h e 存儲(chǔ)器,還將會(huì)弓i 起d s p 處理器本身的成本和功耗 的巨大增加,這些方面也限制了帶有c a c h e 的d s p 處理器的應(yīng)用范圍。 然而,盡管今天的d s p 處理器的處理速度很快,對(duì)許多d s p 應(yīng)用來說很有用, 但仍有一些應(yīng)用要求其性能再進(jìn)步提升。比如在實(shí)時(shí)視頻處理中,對(duì)于系統(tǒng)性能 的要求就極高,因此幾乎所有只具備簡(jiǎn)單功能的通用d s p 都不具備這么高的實(shí)時(shí)處 理能力。然而,現(xiàn)代數(shù)字信號(hào)處理應(yīng)用往往需要進(jìn)行一些計(jì)算量大、速度要求高的 運(yùn)算,比如在數(shù)據(jù)通信和圖像處理這樣的應(yīng)用中,需要強(qiáng)大的計(jì)算能力和實(shí)時(shí)處理 能力。基于d s p 的解決方案通常需要在單板上嵌入許多d s p ,以得到必需的處理能 力,這無疑將增加程序資源開銷和數(shù)據(jù)存儲(chǔ)器資源開銷。因此,為了實(shí)現(xiàn)高性能、 低成本的目標(biāo),必須找到一種新型的計(jì)算方法,可重構(gòu)計(jì)算方式恰恰彌補(bǔ)了這一空 白咖。 2 2 可重構(gòu)計(jì)算 2 2 可重構(gòu)計(jì)算的定義 可重構(gòu)計(jì)算是一門新興的技術(shù),雖然早在1 9 6 0 年,可重構(gòu)計(jì)算的思想就已經(jīng)被 提出,但是由于當(dāng)時(shí)器件技術(shù)的限制,這種思想并沒有得到廣泛的關(guān)注和深入的研 究。直到8 0 年代末,才出現(xiàn)了第一代可重構(gòu)計(jì)算系統(tǒng)一- - d e c p e r l e ”1 ,掀起了可重 構(gòu)計(jì)算研究的熱潮。 目前,對(duì)于可重構(gòu)計(jì)算并沒有一個(gè)統(tǒng)一的標(biāo)準(zhǔn)定義,不同的研究者由于研究問 題角度的不同,對(duì)可重構(gòu)計(jì)算有著不同的理解,因而也提出了不同的定義。這里我 們選擇幾個(gè)有代表性的定義來描述可重構(gòu)計(jì)算的特征。 ( 1 ) 可重構(gòu)計(jì)算技術(shù)是指,用在系統(tǒng)內(nèi)作為硬件處理單元的可編程邏輯器件,根 據(jù)需要對(duì)其內(nèi)部結(jié)構(gòu)、功能、連線重新配置,使固定的硬件實(shí)現(xiàn)多種多樣的 可編程解法。 ( 2 ) 可重構(gòu)計(jì)算機(jī)是一種通過將計(jì)算單元進(jìn)行制造后( p o s t f a b r i c a t e ) 空域連 6 青島大學(xué)碩士學(xué)位論文 接( s p a t i a lc o n n e c t i o n ) 以實(shí)現(xiàn)計(jì)算的器件。該定義中的兩個(gè)要點(diǎn)是:一、 制造后的功能定義;二、利用空域連接進(jìn)行計(jì)算。所謂制造后,是指器件功 能的定義是在i c 器件出廠之后由用戶完成的,而a s i c 器件的功能是在芯片 生產(chǎn)廠制造過程中完成的,在這個(gè)意義上可重計(jì)算系統(tǒng)與通用處理器十分相 似。功能定義時(shí)間的延后意味著可重構(gòu)計(jì)算系統(tǒng)可以由用戶根據(jù)特定的應(yīng)用 背景實(shí)現(xiàn)多種不同的功能??沼蜻B接指的是用邏輯門和連線來實(shí)現(xiàn)計(jì)算,與 此相對(duì)的另一種完成計(jì)算的方式是用算術(shù)邏輯運(yùn)算單元( a l u ) 和在a l u 上實(shí) 現(xiàn)的指令序列,后者被稱為時(shí)域連接方式。 ( 3 ) 可重構(gòu)計(jì)算系統(tǒng)就是通用( g e n e r a lp u r p o s e ) 定制( c u s t o m ) 硬件。 這個(gè)定義突出通用和定制這兩個(gè)特點(diǎn)。所謂通用就是可以用同一個(gè)硬件平臺(tái)完 成多種計(jì)算功能;而定制就是將硬件按照一個(gè)特定應(yīng)用的結(jié)構(gòu)、行為特點(diǎn)進(jìn)行設(shè)計(jì) 與優(yōu)化。通用性是可編程處理器的優(yōu)勢(shì),而通過定制獲得高性能是a s i c 器件的特長(zhǎng)。 這個(gè)定義說明了可重構(gòu)計(jì)算可以兼具可編程處理器的通用性和a s i c 器件高性能的 優(yōu)點(diǎn)。 從以上對(duì)于可重構(gòu)計(jì)算特征的描述中可以看出,可重構(gòu)計(jì)算的發(fā)展趨向就是要 填補(bǔ)軟硬件之間的空白,既要達(dá)到比軟件方法更高的性能,同時(shí)具有比硬件更高水平 的靈活性。包括現(xiàn)場(chǎng)可編程門陣列( f p g a ) 在內(nèi)的可重構(gòu)器件,都含有一個(gè)由計(jì)算 單元構(gòu)成的陣列,計(jì)算單元的功能是由多個(gè)可編程二進(jìn)制的配置位決定的。有時(shí)也 稱為邏輯模塊,這些塊可以通過一系列的可配置布線( r o u t i n g ) 資源連接起來。用 這種方法,通過對(duì)邏輯模塊中電路的邏輯進(jìn)行計(jì)算,并且利用可配置布線將各邏輯 模塊連接起來以生成所需電路,這樣,就可以將定制數(shù)字電路映射到可重構(gòu)硬件上: 2 2 2 可重構(gòu)計(jì)算硬件結(jié)構(gòu) 目前大多數(shù)可重構(gòu)計(jì)算器件由邏輯單元陣列和互連結(jié)構(gòu)兩個(gè)主要部分組成。以 下將分別介紹這兩個(gè)主要組成部分的內(nèi)部結(jié)構(gòu)。 2 2 2 1 可重構(gòu)硬件的邏輯單元陣列 可重構(gòu)硬件的邏輯單元。3 的設(shè)計(jì)也因不同系統(tǒng)而各異。其內(nèi)部結(jié)構(gòu)可以像3 輸 入查找表( l u t ) 一樣簡(jiǎn)單,也可以像4 位的a l u 一樣復(fù)雜。邏輯模塊的粒度 ( g r a n u l a r i t y ) 通常就是指這種邏輯單元結(jié)構(gòu)的大小。 f p g a 中邏輯單元體系結(jié)構(gòu)的設(shè)計(jì)是一個(gè)復(fù)雜性與通用性權(quán)衡的過程。可以用粒 度( g r a i n ) 來描述f p g a 中邏輯單元的復(fù)雜程度。從理論上說,邏輯單元由細(xì)到粗可 以是晶體管級(jí)、與非門級(jí)、m u x 級(jí)、l u t 級(jí)、p l a 級(jí)直到c p u 級(jí),可以大致分為粗粒 7 第二章可重構(gòu)d s p 系統(tǒng)結(jié)構(gòu) 度( c o a r s eg r a i n ) 與細(xì)粒度( t h i ng r a i n ) 兩大類。x c 4 0 0 0 系列、f l e x s 0 0 0 系列a t 6 0 0 0 系列屬于細(xì)粒度f p g a ,它們包含數(shù)量較多、內(nèi)部結(jié)構(gòu)較為簡(jiǎn)單的邏輯單元。目前, 大多數(shù)商用f p g a 的邏輯單元主要由4 一心t ( 四輸入查找表) 和觸發(fā)器組成。圖2 。3 為 具有細(xì)粒度邏輯模塊的x i l i n x 6 2 0 0 系列的個(gè)功能單元圖“。 x 圖2 3 x i l i n x6 2 0 0 的功能單兀 細(xì)粒度模塊有助于位級(jí)處理,而粗粒度塊則在標(biāo)準(zhǔn)數(shù)據(jù)路徑應(yīng)用方面有更好的 優(yōu)化。為了有效地支持各種類型的運(yùn)算,有些系統(tǒng)結(jié)構(gòu)在同一可重構(gòu)陣列中采用了 不同大小或類型的模塊。由此可以得到另一種f p g a 邏輯單元的分類方法,即同構(gòu)型 f p g a 和異構(gòu)型f p g a 。f p g a 中所有邏輯單元為同一類型的稱為同構(gòu)f p g a 包含多種 類型邏輯單元的f p g a 稱為異構(gòu)f p g a 。同構(gòu)的f p g a 有很好的通用性。能被現(xiàn)有的綜 合工具很好的支持,但它在實(shí)現(xiàn)某些具有特定要求的應(yīng)用時(shí)效率較低;異構(gòu)f p g a 在 犧牲通用性的前提下,在某些應(yīng)用中能夠獲得更高的速度和更強(qiáng)的功能,目前大多 數(shù)商用的f p g a 屬于同構(gòu)型f p g a 。 2 _ 2 2 2 可重構(gòu)碗件的互連結(jié)構(gòu) 可重構(gòu)架構(gòu)中的互聯(lián)資源用來將器件的可編程邏輯單元相互連接起來。這些資 源通常是可配置的,且信號(hào)的路徑是在編譯或運(yùn)行時(shí)聞確定的,麗不是在制造時(shí)。 這種邏輯單元間的靈活互聯(lián),允許多種類型的電路結(jié)構(gòu)映射到可重構(gòu)硬件上,且每 種都可以有其自己的互聯(lián)需求。 可重構(gòu)硬件中邏輯模塊之間的這種布線同樣非常重要,布線的好壞對(duì)于可重構(gòu) 硬件的整個(gè)面積的大小起著關(guān)鍵作用。然而,當(dāng)f p g a 中的邏輯模塊的比例很高時(shí), 自動(dòng)布線工具往往很難完成各塊之間的必要連接。因此,好的布線結(jié)構(gòu)對(duì)于確保 個(gè)設(shè)計(jì)能夠成功的在可重構(gòu)硬件上完成布局與布線是非常重要的。 在f p g a 邏輯模塊的體系結(jié)構(gòu)方面已有很多的實(shí)驗(yàn),同樣,在互聯(lián)結(jié)構(gòu)方面也已 經(jīng)做過大量的研究。隨著邏輯模塊基本上標(biāo)準(zhǔn)化為基于l u t 的結(jié)構(gòu),布線資源結(jié)構(gòu) 也基本上形成了島式結(jié)構(gòu)( i s l a n d s t y l e ) 為主( 如圖2 4 ) ,布線通道是一些不同 8 青島大學(xué)碩士學(xué)位論文 長(zhǎng)度的導(dǎo)線,環(huán)繞著邏輯塊。當(dāng)然,在這種布線構(gòu)架類型中,仍然存在著差異,如 系統(tǒng)中導(dǎo)線與邏輯之間雕jl t g 、每根導(dǎo)線的長(zhǎng)度、以及這些導(dǎo)線應(yīng)該采用分段還是 分層的方式連接等等。 大多f p g a 構(gòu)架把它們的布線結(jié)構(gòu)組織成一個(gè)相對(duì)規(guī)則的片狀布線資源,允許在 塊中沿著行與列進(jìn)行快速而高效的通信。如圖2 4 所示即為f p g a 的典型結(jié)構(gòu)。 2 2 3 可重構(gòu)計(jì)算機(jī)制 圖2 4 一種島狀的f p g a 布絞架構(gòu) 如前所述,大多數(shù)可重構(gòu)計(jì)算器件由邏輯單元陣列和互連結(jié)構(gòu)兩個(gè)主要部分組 成,而這兩部分均由配置開關(guān)( s w i t c h ) 來控制,用戶可以通過對(duì)這些配置開關(guān)的配 置來完成指定的功能。 可重構(gòu)計(jì)算器件實(shí)現(xiàn)配置開關(guān)的機(jī)制稱為可編程技術(shù)( p r o g r a m m i n g t e c h n o l o g y ) 。常見的可編程技術(shù)可以分為三類:一次性可編程技術(shù)、多次可編程技 術(shù)以及無限次可編程技術(shù),基于反熔絲( a n t i f u s e ) 技術(shù)的可編程技術(shù)屬予一次性 可編程( o t p :o n et i m ep r o g r a m m i n g ) 技術(shù);基于e p r o m ,e e p r o m 和f l a s hm e m o r y 技術(shù)的可編程技術(shù)屬于多次可編程技術(shù):而基于s r a m 技術(shù)的屬于無限次可編程技 術(shù)??芍貥?gòu)計(jì)算要求器件具備無限多次可編程的能力,所以一般采用基于s r a m 的可 編程技術(shù)。 當(dāng)前的f p g a 及可重構(gòu)器件大部分是可編程的靜態(tài)隨機(jī)讀寫存儲(chǔ)器,這意味著 s r a m 位( b i t s ) 被連接到f 1 日g a 的配置點(diǎn)上,因此通過對(duì)s r a m 位編程就可以完成對(duì) f p g a 的配置。于是,就可以像使用標(biāo)準(zhǔn)的靜態(tài)r a m 樣對(duì)這些芯片進(jìn)行簡(jiǎn)單地編程 和再編程。 9 第二章可重構(gòu)d s p 系統(tǒng)結(jié)構(gòu) 2 3 基于可重構(gòu)計(jì)算的d s p 系統(tǒng)結(jié)構(gòu) 為了彌補(bǔ)d s p 處理器在進(jìn)行數(shù)字信號(hào)處理中的不足,并充分利用可重構(gòu)器件的 優(yōu)勢(shì),以達(dá)到各種d s p 系統(tǒng)的要求,用可重構(gòu)器件來實(shí)現(xiàn)部分或全部d s p 系統(tǒng)功能 很自然的被提了出來。 2 3 1 可熏構(gòu)計(jì)算系統(tǒng) 可重構(gòu)計(jì)算系統(tǒng)也常被稱作可重構(gòu)的定制計(jì)算系統(tǒng)( c c m :c u s t o mc o m p u t i n g m a c h i n o ) ??芍貥?gòu)計(jì)算是八十年代末、九十年代初開始興起的一個(gè)研究領(lǐng)域;其基 本特征是系統(tǒng)中有一個(gè)或多個(gè)可重構(gòu)處理器( 最典型的可重構(gòu)處理器就是已進(jìn)行管 腳分配的、大容量的可重構(gòu)f p g a 器件) ,可重構(gòu)處理器之間或可重構(gòu)處理器與i s a 結(jié)構(gòu)處理器之間通過某種靈活的方式互相連接起來可以構(gòu)成一個(gè)完整的計(jì)算系統(tǒng)。 可重構(gòu)計(jì)算系統(tǒng)可以分為兩大類:一是可以動(dòng)態(tài)重構(gòu)的計(jì)算系統(tǒng),也即在線局 部可重構(gòu)的計(jì)算系統(tǒng),其特點(diǎn)是可重構(gòu)處理器中一部分硬件進(jìn)行運(yùn)算及信號(hào)處理的 同時(shí)能夠?qū)α硪徊糠钟布M(jìn)行重構(gòu);其余的可重構(gòu)計(jì)算系統(tǒng)則屬于靜態(tài)可重構(gòu)系統(tǒng)。 在可重構(gòu)計(jì)算系統(tǒng)中,全部或大量的關(guān)鍵算法由可重構(gòu)硬件來實(shí)現(xiàn),其方法為: 根據(jù)具體算法得出符合可重構(gòu)硬件實(shí)現(xiàn)的結(jié)構(gòu),并由結(jié)構(gòu)設(shè)計(jì)出相應(yīng)的電路,通過 c a d 系統(tǒng)將電路描述轉(zhuǎn)化為以可重構(gòu)硬件進(jìn)行功能重構(gòu)的配置代碼。其實(shí)質(zhì)是對(duì)可 重構(gòu)硬件中的基本功能單元通過豐富的互連資源進(jìn)行結(jié)構(gòu)重組,這相當(dāng)于先在可重 構(gòu)處理器中定制出基本的可重構(gòu)計(jì)算單元( 如信號(hào)與圖像處理中的乘法一累加器) , 再確定硬件系統(tǒng)設(shè)計(jì)策略( 如全局并行局部串行、局部并行全局串行等) ,并在這些 計(jì)算單元的基礎(chǔ)上實(shí)現(xiàn)更復(fù)雜的規(guī)則陣列結(jié)構(gòu),從而完成復(fù)雜的計(jì)算任務(wù)。 可重構(gòu)計(jì)算系統(tǒng)具有許多與可編程的i s a 結(jié)構(gòu)計(jì)算系統(tǒng)所不同的行為特征,其 設(shè)計(jì)手段和方法也有著較大差異。由于可重構(gòu)系統(tǒng)主要通過可重構(gòu)硬件來實(shí)現(xiàn)各類 關(guān)鍵算法,沒有i s a 結(jié)構(gòu)通用系統(tǒng)中的指令開銷問題,其計(jì)算性能往往高出通用指 令集系統(tǒng)一個(gè)數(shù)量級(jí)以上;同時(shí),可重構(gòu)計(jì)算系統(tǒng)中可重構(gòu)處理器功能也可以被動(dòng) 態(tài)改變,這對(duì)于需要自適應(yīng)能力的系統(tǒng)是很有意義的。 通常,可重構(gòu)硬件是與傳統(tǒng)的微處理器耦合在一起來工作的,因?yàn)榭删幊踢壿?通常不能有效地實(shí)現(xiàn)某些類型的運(yùn)算,如可變長(zhǎng)循環(huán)和分支控制。為了使可重構(gòu)刮 算系統(tǒng)能夠高效地完成應(yīng)用需求,可以將那些不容易映射到可重構(gòu)邏輯上的程序, 交給主機(jī)處理器處理;而將那些能夠由硬件實(shí)現(xiàn)的密集型計(jì)算映射到可重構(gòu)邏輯上。 1 0 青島大學(xué)碩士學(xué)位論文 2 3 ,2 可重掏d s p 系統(tǒng)結(jié)構(gòu) 對(duì)可重構(gòu)d s p 系統(tǒng)的劃分已有多種標(biāo)準(zhǔn),如可重構(gòu)陣列中f p g a 的連接方式、可 重構(gòu)塊的規(guī)模、運(yùn)行在可藿構(gòu)系統(tǒng)中的應(yīng)用程序的粒度等等。目前已有的d s p 可重 構(gòu)系統(tǒng)中分別包含了可重構(gòu)邏輯資源和固定邏輯資源“。固定邏輯資源既可能是一 個(gè)宿主機(jī)也可能只是一個(gè)微控制器,與f p g a 集成在同一個(gè)板子上。則按照它們之間 耦合程度可以將現(xiàn)有可重構(gòu)d s p 系統(tǒng)分為四類: 宿主機(jī)與可重構(gòu)邏輯松耦合 處理器與可重構(gòu)邏輯松耦合 處理器與可重構(gòu)邏輯緊耦合 處理器、存儲(chǔ)器與可重構(gòu)邏輯緊耦合 2 3 2 1 宿主機(jī)與可熏構(gòu)邏輯松耦合 屬于這類系統(tǒng)的可重構(gòu)邏輯部分一般包含多個(gè)f p g a ,而固定部分則是一個(gè)宿主 計(jì)算機(jī)二者之間通過接口總線連接起來??芍貥?gòu)邏輯類似于宿主機(jī)協(xié)處理器,接 收宿主機(jī)發(fā)出的指令和數(shù)據(jù),并將結(jié)果通過i o 接口( 如i s a p c i 、并口等) 傳回宿 主機(jī),如圖2 5 所示: 圖2 5 宿主機(jī)與可重構(gòu)邏輯松耦合 這類系統(tǒng)的典型優(yōu)點(diǎn)是設(shè)計(jì)簡(jiǎn)單。由于所有部件非常容易得到,所以可以快速 地制造,方便地編程,還可以根據(jù)需要靈活地選用不同的宿主機(jī)和c p u 。但其缺點(diǎn) 也是明顯的,因?yàn)樗械臄?shù)據(jù)交換都需要通過外部的接口總線來完成,這部分的性 能成了系統(tǒng)的瓶頸,限制了系統(tǒng)的性能加速比。 2 3 2 2 處理器與可重構(gòu)邏輯松耦臺(tái) 屬于這個(gè)分類系統(tǒng)的f p g a 陣列直接與中央處理器通過獨(dú)立的數(shù)據(jù)和控制總線 進(jìn)行連接,對(duì)c p u 來說,相當(dāng)與增加了一個(gè)多功能協(xié)處理器。與上一節(jié)結(jié)構(gòu)相比, 該結(jié)構(gòu)雖大改進(jìn)在于取消了同宿主機(jī)的外部通用接口,從而大大提高了f p g a 陣列同 c p i j 的數(shù)據(jù)交換速度。這類系統(tǒng)的結(jié)構(gòu)如圖2 6 所示: 第二章可重構(gòu)d s p 系統(tǒng)結(jié)構(gòu) 圖2 6 處理器與可重構(gòu)邏輯松耦合 在這類系統(tǒng)中執(zhí)行某個(gè)運(yùn)算時(shí),任務(wù)被分解到硬件部分( f p g a ) 和軟件部分( 中央 處理器) ,可以用硬件結(jié)構(gòu)快速實(shí)現(xiàn)的運(yùn)算被映射到f p g a 構(gòu)成的特定電路上,而簡(jiǎn) 單的運(yùn)算處理可控制功能則仍由c p u 來完成。任務(wù)劃分主要由用戶來決定,很大程 度上應(yīng)該由編譯系統(tǒng)來完成或由手工完成。 可重構(gòu)邏輯在系統(tǒng)中的組織形式非常靈活,既可以配置成一個(gè)復(fù)雜的功能單元 用來執(zhí)彳亍某些耗對(duì)的操作也可以配置成多個(gè)簡(jiǎn)單的單元來一次處理多個(gè)數(shù)據(jù)。對(duì)于 c p u 來說前者相當(dāng)于指令集中增加了一條復(fù)雜指令,后者則相當(dāng)于增加了單指令多 數(shù)據(jù)( s i 粕) 的支持能力。 這類系統(tǒng)同樣也有前一節(jié)系統(tǒng)的易用性特點(diǎn)。圖2 6 中的中央處理器可以根據(jù) 需要選擇不同的產(chǎn)品,只要該c p u 支持類協(xié)處理器的工作方式即可。所以這個(gè)分類 系統(tǒng)最適合于需要人為執(zhí)行復(fù)雜指令的應(yīng)用場(chǎng)合。 2 3 2 3 處理器與可重構(gòu)邏輯緊耦合 上一節(jié)介紹的結(jié)構(gòu)在性能上受處理器協(xié)處理器接口限制。為此研究人員將 這個(gè)接口設(shè)計(jì)為緊耦合系統(tǒng)來解決這個(gè)問題,這形成了第3 類可重構(gòu)計(jì)算結(jié)構(gòu),如 圖2 7 所示。 i宿主通用外部接口總鏇由f p g a 重構(gòu)成的 i計(jì)算機(jī)協(xié)處理器 1 圖2 7 處理器與可重構(gòu)邏輯緊耦合 通常,屬于這個(gè)分類系統(tǒng)中的c p u 不是通常商業(yè)中可以直接應(yīng)用的成品,而是 以核的形式提供設(shè)計(jì)模塊,需要與可重構(gòu)邏輯資源在芯片上集成起來。c p u 核可以 與遂用處理器結(jié)合,也可以是完全自行開發(fā)設(shè)計(jì)的專有電路。最終的系統(tǒng)一般是一 個(gè)或多個(gè)專用的集成電路芯片。 由于這個(gè)類型系統(tǒng)將c p u 核與可重構(gòu)邏輯資源集成在同一個(gè)芯片之中,c p u 的 一些參數(shù),如地址和數(shù)據(jù)總線寬度,可以根據(jù)需要進(jìn)行必要調(diào)整來實(shí)現(xiàn)二者之問更 快的數(shù)據(jù)交換。前面兩個(gè)系統(tǒng)中c p u 管腳的位置對(duì)系統(tǒng)速度的影響在這個(gè)系統(tǒng)中也 變得很小,可以實(shí)現(xiàn)更快的速度。 1 2 青島大學(xué)碩士學(xué)位論文 這類系統(tǒng)的缺點(diǎn)是設(shè)計(jì)比較困難。前面兩類松耦合結(jié)構(gòu)的系統(tǒng)均可以直接選用 現(xiàn)成芯片,而這類系統(tǒng)需要設(shè)計(jì)者按照全定制的方式設(shè)計(jì)專用集成電路,難度較大。 目前處理器與可重構(gòu)邏輯緊耦合的結(jié)構(gòu)是可重構(gòu)計(jì)算器件部分的研究熱點(diǎn),除了研 究人員以外,業(yè)界也有大公司注意到了這個(gè)趨勢(shì)。目前傳統(tǒng)意義上的可編程器件公 司和邏輯電路公司均對(duì)此展開研究,有的公司己經(jīng)推出系列產(chǎn)品。一類是如x i l i n x 等f p g a 公司,他們?cè)谧约旱漠a(chǎn)品中計(jì)劃增加內(nèi)嵌式的微處理器核:另一類是如l s i 等邏輯電路供應(yīng)商,他們則在自己的處理器產(chǎn)品上提供了可編程的邏輯單元以滿足 電路的靈活性的需要。這兩類產(chǎn)品均屬于處理器與可重構(gòu)邏輯緊耦合的分類。 2 3 2 4 處理器、存儲(chǔ)器與可重構(gòu)邏輯緊耦合 在c p u 和f p g a 可重構(gòu)邏輯之間實(shí)現(xiàn)高速通訊后,存儲(chǔ)子系統(tǒng)成為系統(tǒng)的瓶頸。 在現(xiàn)代計(jì)算環(huán)境中,c p u 和存儲(chǔ)器之間速度差別越來越大,而處理器與可重構(gòu)邏輯 緊耦合結(jié)構(gòu)中的c p u 仍然受到與存儲(chǔ)器交換數(shù)據(jù)帶寬以及速度問題。在現(xiàn)代先進(jìn)微 處理器設(shè)計(jì)中,增加片上高速緩存可以明顯提高c p u 性能。當(dāng)c p u 、存儲(chǔ)器和可重 構(gòu)邏輯集成在一起后,三者之間分別以非常高的帶寬傳遞數(shù)據(jù)。所以第4 類結(jié)構(gòu)中 將c p u 、存儲(chǔ)器和可編程邏輯集成在同一個(gè)芯片上,稱為單芯片可熏構(gòu)計(jì)算系統(tǒng)。 其結(jié)構(gòu)如圖2 8 所示: 圖2 8 處理囂、存儲(chǔ)器與可重掬邏輯緊耦合 這個(gè)類型可重構(gòu)系統(tǒng)依然保持了上一節(jié)所述系統(tǒng)的c p u 和f p g a 緊耦合結(jié)構(gòu),所 以也保持了它所帶來的高速靈活接口的優(yōu)點(diǎn)。同時(shí),片上存儲(chǔ)系統(tǒng)和c p u 與f p g a 接 口能力則進(jìn)一步提高的系統(tǒng)的性能。運(yùn)算數(shù)據(jù)可以直接與c p u 和f p g a 高速交換,而 在其它幾種結(jié)構(gòu),系統(tǒng)中數(shù)據(jù)往往通過c p u 的寄存器后才送往可編程單元。受到目 前工藝水平的限制,嵌入式存儲(chǔ)器的容量還不能做得足夠大,所以這里的存儲(chǔ)器需 要引入多級(jí)存儲(chǔ)的概念,即片上存儲(chǔ)器的作用類似于現(xiàn)代高性能處理器中的片上 c a c h e ,在芯片外部還有大容量存儲(chǔ)器模塊,片上存儲(chǔ)器則可以設(shè)計(jì)成各種寬度和深 度來滿足系統(tǒng)的需要。 每種類型都具有不同的優(yōu)缺點(diǎn)??芍貥?gòu)硬件集成度越高,其通信開銷就越低, 1 3 第二章可重構(gòu)d s p 系統(tǒng)結(jié)構(gòu) 在應(yīng)用中的使用頻率就越高。然而,在沒有主機(jī)處理器干預(yù)的時(shí)間段里可重構(gòu)硬件 不能高效地運(yùn)行,而且可用的可重構(gòu)邏輯的數(shù)量通常非常有限。越松的耦合類型, 就會(huì)越多的考慮程序執(zhí)行的并行性,但是它的通信代價(jià)也就越商。在需要大量通信 的應(yīng)用中,這將降低或抵消通過這種類型的可重構(gòu)硬件獲取的加速效益。 2 3 3 可重構(gòu)d s p 計(jì)算引擎系統(tǒng)結(jié)構(gòu) 由于成本、系統(tǒng)功耗和面市時(shí)間等原因,許多通訊、視頻和圖像系統(tǒng)已無法簡(jiǎn) 單地用現(xiàn)有的單片d s p 處理器來實(shí)現(xiàn)。實(shí)時(shí)視頻處理對(duì)系統(tǒng)性能的要求極高,因此 幾乎所有只具最簡(jiǎn)單功能的通用d s p 都不具備這項(xiàng)功能。而且,基于d s p 的解決方 案通常需要在單板上嵌入許多d s p ,以得到必需的處理能力,這無疑將增加程序資 源開銷和數(shù)據(jù)存儲(chǔ)器資源開銷。然而,可編程邏輯器件允許設(shè)計(jì)人員利用并行處理 技術(shù)實(shí)現(xiàn)視頻信號(hào)處理算法,并且只需單個(gè)器件就能實(shí)現(xiàn)期望的性能?,F(xiàn)場(chǎng)可編程 門陣列( f p g a ) 尤其適合于乘法和累加( 姒c ) 等重復(fù)性的d s p 任務(wù)。 從音頻視頻及圖像處理應(yīng)用的角度出發(fā),本文將設(shè)計(jì)一個(gè)可用于此類應(yīng)用的前 端數(shù)據(jù)計(jì)算的可重構(gòu)d s p 計(jì)算弓1 擎的系統(tǒng)結(jié)構(gòu),其基本結(jié)構(gòu)框圖如圖2 9 。虛線框 部分即為該系統(tǒng)的主要部分,即可重構(gòu)d s p 計(jì)算單元的抽象結(jié)構(gòu)。 主處理器 礎(chǔ); | 一熏j 圖2 9 可重構(gòu)d s p 計(jì)算引軍基本框圖 從上圖我們可以看出該計(jì)算引擎所需的系統(tǒng)參數(shù)是由主處理器計(jì)算后傳到計(jì)算 引擎中的,經(jīng)由計(jì)算引擎計(jì)算出的結(jié)果值再傳回到主處理器。其中整個(gè)計(jì)算單元主 要由可編程計(jì)算模塊陣列和以互聯(lián)網(wǎng)絡(luò)為主體的控制模塊組成,其功能的設(shè)計(jì)實(shí)現(xiàn) 是基于f p g a 的。 文中的設(shè)計(jì)將從i ) s p 相關(guān)功能及算法的研究出發(fā),設(shè)計(jì)出一個(gè)可以實(shí)現(xiàn)多種d s p 運(yùn)算的并行處理系統(tǒng)結(jié)構(gòu),作為音頻視頻及圖像處理應(yīng)用中的前端數(shù)據(jù)處理的計(jì)算 引擎,充分利用可編程功能的并行及流水線機(jī)制,保證系統(tǒng)只需要改變系統(tǒng)參數(shù)即 1 4 青島大學(xué)碩士學(xué)位論文 可進(jìn)行不問的d s p 計(jì)算,且達(dá)到a s i c 設(shè)計(jì)的計(jì)算速度。 2 4 本章小結(jié) 本章首先給出了d s p 處理器的幾種體系結(jié)構(gòu),然后給出可重構(gòu)計(jì)算定義,在此 基礎(chǔ)上,以可重構(gòu)硬件中的典型代表f p g a 為例,從多個(gè)角度分析了可重構(gòu)計(jì)算硬件 結(jié)構(gòu)。根據(jù)硬件中的基本計(jì)算模塊的大小和復(fù)雜性,大體上可分細(xì)粒度、粗粒度和 中等粒度f p g a ,大量可重構(gòu)系統(tǒng)所使用的邏輯模塊粒度是我們所分類為中等粒度的 系統(tǒng)。給出了幾種可重構(gòu)d s p 系統(tǒng)結(jié)構(gòu),并對(duì)各種結(jié)構(gòu)的優(yōu)劣性進(jìn)行分析研究。最 后,給出本文將要設(shè)計(jì)的可重構(gòu)d s p 計(jì)算引擎系統(tǒng)結(jié)構(gòu)的抽象結(jié)構(gòu)框圖。 本章對(duì)d s p 體系結(jié)構(gòu)、可重構(gòu)計(jì)算及其硬件的剖析,以及可重構(gòu)d s p 系統(tǒng)的分 析為后面d s p 技術(shù)的可重構(gòu)研究做好了充分的準(zhǔn)備。 1 5 第三章基于可重構(gòu)計(jì)算的f i r i i r d t 功能 第三章基于可重構(gòu)計(jì)算的f i r f l i r d t 功能 從以上對(duì)f p g a 器件結(jié)構(gòu)分析可知,可重構(gòu)計(jì)算對(duì)于d s p 算法的實(shí)現(xiàn)是有一定范 圍的,比如自身結(jié)構(gòu)比較復(fù)雜的d s p 算法更適合于d s p 處理器實(shí)現(xiàn)。本章將分析一 下究竟什么樣的算法與d s p 實(shí)現(xiàn)相比更適合于f p g a 實(shí)現(xiàn),即更適合用可重構(gòu)計(jì)算的 方式來實(shí)現(xiàn)的d s p 算法具有的特征。 首先,可重構(gòu)計(jì)算之所以有較高的性能,是通過并行處理和重構(gòu)獲得的。麗重 構(gòu)特性和通用處理器的編程性的差別是顯而易見的,所以從本質(zhì)上來說,可重構(gòu)計(jì) 算應(yīng)該屬于v l s i 并行計(jì)算機(jī)系統(tǒng)。從指令流與數(shù)據(jù)流的多倍性的角度,f l y n n 在1 9 9 6 年將計(jì)算機(jī)分為以下四類“2 1 : 奪單指令流單數(shù)據(jù)流( s i s d ) 奪單指令流多數(shù)據(jù)流( s i m d ) 冷多指令流單數(shù)據(jù)流( m i s d ) 耷多指令流多數(shù)據(jù)流( m i m d ) v l s i 并行結(jié)構(gòu)大多是屬于單指令流多數(shù)據(jù)流( s i 犯 的結(jié)構(gòu),這種結(jié)構(gòu)對(duì)多個(gè)重 復(fù)的p e 由單一指令部件,按照同一指令流的要求同時(shí)向它們分配各自需要的不同數(shù) 據(jù)。這種結(jié)構(gòu)改變了過去計(jì)算機(jī)結(jié)構(gòu)上以c p u 為中心或以主存為中

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論