吳 將,朱志宇
(江蘇科技大學 電子信息學院,江蘇 鎮江 212003)
并行緩沖控制器的模塊級數據流結構設計
吳 將,朱志宇
(江蘇科技大學 電子信息學院,江蘇 鎮江 212003)
針對并行緩沖控制器硬件實現困難的問題,在研究緩沖控制器結構的基礎上,本文提出了一種粗粒度并行處理的可重構緩沖控制器的數據流結構設計方法,控制器由模塊級流水線和傳統的細粒度流水線合并組成,通過緩沖區實現了控制器與控制邏輯之間的隔離,因此,當正交全局信號對控制器進行局部配置時簡化了系統集成度。
緩沖控制器;并行執行;流水線;模塊級;數據流
模塊級流水線是數據流模型的一種硬件實現方法[1-2],該方法的主要操作是在關聯的控制器之間插入一個緩沖區,引入緩沖區的目的是為了減小緩沖控制器連接的模塊之間的延遲和速率差等參數。應用模塊級數據流可以實現以下3個要求:1)可以維持各個模塊之間的并并行性,同時還確保各個模塊之間同步執行準確性[3]。2)由控制信號、數據和時鐘都是局部的,在保持性能的前提下,通過最小化時鐘偏差和數據路由,使得硬件實現更容易。任何邏輯的改變只會影響其緩沖配置和控制器,因此可重構設計是可以實現的[4]。3)整個設計是圍繞緩沖區的,因此,可以最小化內存和邏輯之間性能不匹配問題,本文主要是對緩沖控制器的生成和結構設計進行詳細的闡述。
緩沖區(BUF)作為基本模塊級流水線元素,這些緩沖區的讀/寫訪問在同一時間進行,但是訪問的位置不同,不同的讀/寫地址通過數據流的數據依賴關系進行確定。盡管讀/寫操作的位置不同,但是不存在地址沖突[5],同時還能保證模塊間的并行性[6]。整體操作在邏輯上被視為只是緩沖區到緩沖區操作,通過引入處理模塊邏輯實現的延遲來將各個模塊進行隔離。數據路徑是可循環的,如圖1所示,通過邏輯操作隔離兩個緩沖區引入延遲L后,BUFS的數據重新寫入BUF1中。
圖1 模塊級數據流結構Fig. 1 Block-level pipelining structure
決定控制器結構的基本參數分別是邏輯延遲(Li)、地址偏移量(nri)和模塊的大小(Mi)。Li是指進行處理的模塊的延遲,該延遲是為了確保數據有效保存,Li的范圍是0≤Li≤Lmaxi,其中Lmaxi是數據生成模塊的維度。nri是寫入緩沖區和讀取緩沖區之間的偏移量,這個值實際上代表的是數據生成模塊和數據使用模塊之間的數據依賴關系。雙向緩沖區[7]的nri值是指讀寫緩沖區之間的差異。Mi是指處理模塊生成數據和處理數據的大小,這也決定了最大存儲需求,最小緩沖區的大小為nri。在設計的初始階段這3個參數生成靜態數據流,實際的參數依賴于粗粒度處理模塊和所使用的緩沖區的數量。全局控制和緩沖控制之間的相互作用的整體控制方案圖如圖2所示。
圖2 控制器之間的相互作用Fig. 2 Interaction of the controllers
圖3 緩沖控制器模塊圖Fig. 3 Block diagram of buffer controller
如圖3所示為緩沖控制器的模塊結構圖,由圖中可以看出緩沖控制器由以下一組關鍵信號控制:Clk,Reset,Enable,load,Lmaxi,Mi,nri。讀寫地址,讀寫緩沖區的使能信號和信號output都是緩沖控制器的輸出,同時信號output還用于內部緩沖區控制。全局控制器通過start來啟動每個緩沖區的操作,緩沖控制器基本上有3個計數器組成,它們分別提供讀操作地址、寫操作地址和nri。讀、nri和寫計數器的邏輯結構如圖4所示,最初每個計數器裝載的數值是計數器可達到的最大計算值(maxcount)。對于讀和寫計數器,有maxcount=Mi;而對于 計數器,有maxcount=nri。
圖4 計數器邏輯結構Fig. 4 The logic structure of counters
由處理模塊引入的用于緩沖控制器的延遲需要確保數據的時效性,如果不能確保時效性,數據流階段無效的數據將會用于處理模塊。從控制的角度來看,緩沖控制器需要知道無效數據的實際延遲Li(Li≤Lmaxi)。延遲處理模塊的結構如圖5所示。
虛擬緩沖區(VB)[8]在功能和結構上與緩沖區相似,但是其大小比緩沖區要小。當對一個大型復雜處理模塊進行劃分時,可以將VB用作流水線元素。在這種情況下,由于讀寫是分隔開來進行的,所以有nri=1。保持虛擬緩沖控制器和緩沖控制器結構相似,但是為了實現異步操作,需要使用獨立的時鐘實現讀寫操作。虛擬緩沖控制器的結構如圖6所示。
圖5 延遲處理模塊結構Fig. 5 Structure of latency handler
圖6 虛擬緩沖控制器結構Fig. 6 Structure of virtual buffer control
文中提出了一種粗粒緩沖控制器的數據流結構生成方法,同時還提出了并行處理的緩沖控制器的可重構模塊級數據流設計方法,該控制器能夠對本文提出的模塊級流水線和傳統的細粒度流水線進行合并,該方法還能夠對控制器的緩沖區和控制邏輯進行隔離。盡管控制器是由局部信息生成的,但是該方法能夠簡化控制器的系統集成度。
[1]李浪.一種數據流異常并行挖掘算法[J].科學技術與工程,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應用中內部地址沖突的機制[J].計算機工程與科學,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的高速通用并行處理系統研究與設計[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]高王軍,彭認燦,陳軼,等. 雙向緩沖區算法及其在海圖線狀要素綜合中的應用研究[J].測繪科學,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]李杰,趙乘驥,趙乘麟.碼率控制中的虛擬緩沖區自適應控制方法:中國, 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—),男,安徽安慶人,碩士研究生。研究方向:系統仿真。