吳 將,朱志宇
(江蘇科技大學(xué) 電子信息學(xué)院,江蘇 鎮(zhèn)江 212003)
并行緩沖控制器的模塊級數(shù)據(jù)流結(jié)構(gòu)設(shè)計(jì)
吳 將,朱志宇
(江蘇科技大學(xué) 電子信息學(xué)院,江蘇 鎮(zhèn)江 212003)
針對并行緩沖控制器硬件實(shí)現(xiàn)困難的問題,在研究緩沖控制器結(jié)構(gòu)的基礎(chǔ)上,本文提出了一種粗粒度并行處理的可重構(gòu)緩沖控制器的數(shù)據(jù)流結(jié)構(gòu)設(shè)計(jì)方法,控制器由模塊級流水線和傳統(tǒng)的細(xì)粒度流水線合并組成,通過緩沖區(qū)實(shí)現(xiàn)了控制器與控制邏輯之間的隔離,因此,當(dāng)正交全局信號對控制器進(jìn)行局部配置時(shí)簡化了系統(tǒng)集成度。
緩沖控制器;并行執(zhí)行;流水線;模塊級;數(shù)據(jù)流
模塊級流水線是數(shù)據(jù)流模型的一種硬件實(shí)現(xiàn)方法[1-2],該方法的主要操作是在關(guān)聯(lián)的控制器之間插入一個(gè)緩沖區(qū),引入緩沖區(qū)的目的是為了減小緩沖控制器連接的模塊之間的延遲和速率差等參數(shù)。應(yīng)用模塊級數(shù)據(jù)流可以實(shí)現(xiàn)以下3個(gè)要求:1)可以維持各個(gè)模塊之間的并并行性,同時(shí)還確保各個(gè)模塊之間同步執(zhí)行準(zhǔn)確性[3]。2)由控制信號、數(shù)據(jù)和時(shí)鐘都是局部的,在保持性能的前提下,通過最小化時(shí)鐘偏差和數(shù)據(jù)路由,使得硬件實(shí)現(xiàn)更容易。任何邏輯的改變只會影響其緩沖配置和控制器,因此可重構(gòu)設(shè)計(jì)是可以實(shí)現(xiàn)的[4]。3)整個(gè)設(shè)計(jì)是圍繞緩沖區(qū)的,因此,可以最小化內(nèi)存和邏輯之間性能不匹配問題,本文主要是對緩沖控制器的生成和結(jié)構(gòu)設(shè)計(jì)進(jìn)行詳細(xì)的闡述。
緩沖區(qū)(BUF)作為基本模塊級流水線元素,這些緩沖區(qū)的讀/寫訪問在同一時(shí)間進(jìn)行,但是訪問的位置不同,不同的讀/寫地址通過數(shù)據(jù)流的數(shù)據(jù)依賴關(guān)系進(jìn)行確定。盡管讀/寫操作的位置不同,但是不存在地址沖突[5],同時(shí)還能保證模塊間的并行性[6]。整體操作在邏輯上被視為只是緩沖區(qū)到緩沖區(qū)操作,通過引入處理模塊邏輯實(shí)現(xiàn)的延遲來將各個(gè)模塊進(jìn)行隔離。數(shù)據(jù)路徑是可循環(huán)的,如圖1所示,通過邏輯操作隔離兩個(gè)緩沖區(qū)引入延遲L后,BUFS的數(shù)據(jù)重新寫入BUF1中。
圖1 模塊級數(shù)據(jù)流結(jié)構(gòu)Fig. 1 Block-level pipelining structure
決定控制器結(jié)構(gòu)的基本參數(shù)分別是邏輯延遲(Li)、地址偏移量(nri)和模塊的大?。∕i)。Li是指進(jìn)行處理的模塊的延遲,該延遲是為了確保數(shù)據(jù)有效保存,Li的范圍是0≤Li≤Lmaxi,其中Lmaxi是數(shù)據(jù)生成模塊的維度。nri是寫入緩沖區(qū)和讀取緩沖區(qū)之間的偏移量,這個(gè)值實(shí)際上代表的是數(shù)據(jù)生成模塊和數(shù)據(jù)使用模塊之間的數(shù)據(jù)依賴關(guān)系。雙向緩沖區(qū)[7]的nri值是指讀寫緩沖區(qū)之間的差異。Mi是指處理模塊生成數(shù)據(jù)和處理數(shù)據(jù)的大小,這也決定了最大存儲需求,最小緩沖區(qū)的大小為nri。在設(shè)計(jì)的初始階段這3個(gè)參數(shù)生成靜態(tài)數(shù)據(jù)流,實(shí)際的參數(shù)依賴于粗粒度處理模塊和所使用的緩沖區(qū)的數(shù)量。全局控制和緩沖控制之間的相互作用的整體控制方案圖如圖2所示。
圖2 控制器之間的相互作用Fig. 2 Interaction of the controllers
圖3 緩沖控制器模塊圖Fig. 3 Block diagram of buffer controller
如圖3所示為緩沖控制器的模塊結(jié)構(gòu)圖,由圖中可以看出緩沖控制器由以下一組關(guān)鍵信號控制:Clk,Reset,Enable,load,Lmaxi,Mi,nri。讀寫地址,讀寫緩沖區(qū)的使能信號和信號output都是緩沖控制器的輸出,同時(shí)信號output還用于內(nèi)部緩沖區(qū)控制。全局控制器通過start來啟動(dòng)每個(gè)緩沖區(qū)的操作,緩沖控制器基本上有3個(gè)計(jì)數(shù)器組成,它們分別提供讀操作地址、寫操作地址和nri。讀、nri和寫計(jì)數(shù)器的邏輯結(jié)構(gòu)如圖4所示,最初每個(gè)計(jì)數(shù)器裝載的數(shù)值是計(jì)數(shù)器可達(dá)到的最大計(jì)算值(maxcount)。對于讀和寫計(jì)數(shù)器,有maxcount=Mi;而對于 計(jì)數(shù)器,有maxcount=nri。
圖4 計(jì)數(shù)器邏輯結(jié)構(gòu)Fig. 4 The logic structure of counters
由處理模塊引入的用于緩沖控制器的延遲需要確保數(shù)據(jù)的時(shí)效性,如果不能確保時(shí)效性,數(shù)據(jù)流階段無效的數(shù)據(jù)將會用于處理模塊。從控制的角度來看,緩沖控制器需要知道無效數(shù)據(jù)的實(shí)際延遲Li(Li≤Lmaxi)。延遲處理模塊的結(jié)構(gòu)如圖5所示。
虛擬緩沖區(qū)(VB)[8]在功能和結(jié)構(gòu)上與緩沖區(qū)相似,但是其大小比緩沖區(qū)要小。當(dāng)對一個(gè)大型復(fù)雜處理模塊進(jìn)行劃分時(shí),可以將VB用作流水線元素。在這種情況下,由于讀寫是分隔開來進(jìn)行的,所以有nri=1。保持虛擬緩沖控制器和緩沖控制器結(jié)構(gòu)相似,但是為了實(shí)現(xiàn)異步操作,需要使用獨(dú)立的時(shí)鐘實(shí)現(xiàn)讀寫操作。虛擬緩沖控制器的結(jié)構(gòu)如圖6所示。
圖5 延遲處理模塊結(jié)構(gòu)Fig. 5 Structure of latency handler
圖6 虛擬緩沖控制器結(jié)構(gòu)Fig. 6 Structure of virtual buffer control
文中提出了一種粗粒緩沖控制器的數(shù)據(jù)流結(jié)構(gòu)生成方法,同時(shí)還提出了并行處理的緩沖控制器的可重構(gòu)模塊級數(shù)據(jù)流設(shè)計(jì)方法,該控制器能夠?qū)Ρ疚奶岢龅哪K級流水線和傳統(tǒng)的細(xì)粒度流水線進(jìn)行合并,該方法還能夠?qū)刂破鞯木彌_區(qū)和控制邏輯進(jìn)行隔離。盡管控制器是由局部信息生成的,但是該方法能夠簡化控制器的系統(tǒng)集成度。
[1]李浪.一種數(shù)據(jù)流異常并行挖掘算法[J].科學(xué)技術(shù)與工程,2008,8(23):6368-6375.
LI Lang. Outlier flow of data parallel mining algorithms[J].Science Technology and Engineering,2008,8(23):6368-6375.
[2]Guang R.Gao,Rene Tio.Instruction set architecture of an efficient pipelined dataflow architecture[J].IEEE,1989:385-392.
[3]Hyunuk Jung, Kangnyoung Lee,Soonhoi Ha. Efficient Hardware Controller Synthesis for Synchronous Dataflow Graph in System Level Design[J].IEEE Transactions on Very Large Scale Integration (VLSI) Systems, 2002,4(10):423-428.
[4]E.A,Lee D.G. Messerschmitt.Synchoronous data flow[M].Proceedings of IEEE,1987.
[5]肖凌,李之棠,王美珍.一種解決VPN應(yīng)用中內(nèi)部地址沖突的機(jī)制[J].計(jì)算機(jī)工程與科學(xué),2010,7(32):8-12.
XIAO Ling,LI Zhi-tang,WANG Mei-zhen.A method for Resolveing the Collision of the Intranet IP Addresses in the VPN Applications[J]. Computer Engineering &Science,2010,7(32):8-12.
[6]周濱,謝曉霞,傅其祥,等.基于多DSP的高速通用并行處理系統(tǒng)研究與設(shè)計(jì)[J].電子設(shè)計(jì)工程,2012,17(20):175-179.
ZHOU Bin,XIE Xiao-xia,Fu Qixian,et al.Design of high-speed general parallel processing system based on multi-DSP[J].Electronic Design Engineering,2012,20(17):175-179.
[7]高王軍,彭認(rèn)燦,陳軼,等. 雙向緩沖區(qū)算法及其在海圖線狀要素綜合中的應(yīng)用研究[J].測繪科學(xué),2009,2(34):187-190.
GAO Wang-jun,PENG Ren-can,CHEN Yi,et al.The research of the double direction buffering algorithm and its application on the generalizing of chart linear feature[J].Science of Surveying and Mapping,2009,34(2):187-190.
[8]李杰,趙乘驥,趙乘麟.碼率控制中的虛擬緩沖區(qū)自適應(yīng)控制方法:中國, CN101568025[P].2009-10-28.
The block level pipelined dataf l ow design of parallel buffer controller structure
WU Jiang, ZHU Zhi-yu
(School of Electronics and Information,Jiangsu University of Science and Technology,Zhenjiang212003,China)
Based on the study of buffer controller structure and the problem of implementation for parallel buffer controller. This paper presents a new data flow design method of buffer controller with reconfigurable, coarse-grained parallel processing features. The controller which consists of the module-level pipeline and the traditional fine-grained pipeline, realizes the isolation of the control logic through using the buffer. Therefore, while the controllers are locally configured from orthogonal global information, the degree of system integration is simplified.
buffer controller; parallel execution; pipelining; block-level; data flow
TN911.7
A
1674-6236(2014)07-0054-03
2013-08-01稿件編號201308002
吳 將(1988—),男,安徽安慶人,碩士研究生。研究方向:系統(tǒng)仿真。