專利名稱:用于向量數(shù)據(jù)流的重整理緩沖器的制作方法
技術領域:
本發(fā)明主要涉及到采用向量技術的處理器,特指在數(shù)字信號處理器(Digital Signal Processor,DSP)當中,DMA (Direct Memory Access,直接存儲器訪問)總線與向量 存儲器(Vector Memory,VM)之間的數(shù)據(jù)傳輸接口的設計和實現(xiàn)方法,尤其是數(shù)據(jù)在DMA總 線和VM之間進行搬移時需要進行位置重組、壓縮或擴展時的技術方案。
背景技術:
隨著4G無線通信技術和高清視頻圖像處理技術的發(fā)展,向量處理器得到了廣泛 的應用。向量處理器通過多個并行的向量運算單元同時處理來開發(fā)應用的數(shù)據(jù)級并行性, 如何為向量運算單元提供充足的數(shù)據(jù)帶寬是向量處理器設計中的一個重要環(huán)節(jié)。由于流式 應用缺乏數(shù)據(jù)的局部性,同時又具有較強的實時性需求,由多個并行的片內靜態(tài)隨機存儲 器(Static Random Access Memory,SRAM)組成的VM因其訪存延時的確定性逐漸取代了通 用的緩存(Cache )結構。VM —般由DMA控制器通過DMA總線進行數(shù)據(jù)的加載和搬移,同時 能夠響應來自向量處理單元的訪存請求。在VM的管理和設計當中面臨著以下幾個關鍵的技術環(huán)節(jié)1. VM采用單端口 SRAM 還是雙端口 SRAM ;2.如何有效地匹配DMA總線帶寬與VM帶寬之間的差異;3.數(shù)據(jù)流重整 理操作(位置重組、壓縮或擴展等)如何高效的處理等。由于VM需要同時響應DMA和向量處理單元的訪問請求,傳統(tǒng)的VM —般采用雙端 口的SRAM,這樣能夠使DMA的訪問請求和向量處理單元的訪問請求并行處理、互不干擾。然 而相同容量的雙端口 SRAM的面積是單端口 SRAM的兩倍左右。目前向量處理器中VM的容 量在逐漸增大(512KB以上),并且占據(jù)了芯片面積的絕大部分(70%左右)。在如此大容量的 片上存儲器中采用雙端口設計將變得不合時宜。在采用單端口 SRAM的VM中如何減少向量 處理單元和DMA的訪問沖突是設計人員必須考慮的重要問題。在向量處理器中,由于工藝水平和片上互連長線資源的限制,DMA總線的帶寬較窄 (32bits/CyCle左右)。而VM是由多個并行的SRAM組成,并且同時向多個向量運算單元供 給數(shù)據(jù),帶寬比較寬(512bits/CyCle左右)。在VM和DMA總線之間采用緩沖結構是一種常 用的匹配兩者帶寬差異的方法,然而普通的緩沖結構僅能夠較好地支持連續(xù)的數(shù)據(jù)搬移或 帶廣播的數(shù)據(jù)搬移,對于目的地址非連續(xù)或需要位置重組的數(shù)據(jù)流支持較差,如何解決這 一問題,需要統(tǒng)籌考慮。由于向量運算單元對數(shù)據(jù)的格式和位置要求比較嚴格,這需要對數(shù)據(jù)進行較多的 壓縮或擴展等格式轉換操作。盡管這些操作能夠在向量運算單元中處理,但是往往需要比 較多的指令條數(shù),并且處理效率不高。這些壓縮或擴展等格式轉換操作如何高效處理,是需 要設計人員認真思考的問題。綜上所述,在向量處理器的設計當中,VM與DMA總線的接口設計、帶寬匹配技術 和數(shù)據(jù)整理等環(huán)節(jié)需要統(tǒng)籌的、完善的解決方案。從目前公開的文獻來看,VM采用雙端口 SRAM的方案居多,這種方案的弊端在這里不再贅述。目前還沒有公開的文獻涉及到在VM為單端口 SRAM的情況下,面向向量數(shù)據(jù)流的,同時能夠有效地平衡DMA總線和VM之間的帶寬 差異,并且提供數(shù)據(jù)流位置重組、壓縮或擴展等重整理功能的緩沖器結構的設計問題。
發(fā)明內容
本發(fā)明要解決的技術問題就在于針對現(xiàn)有技術存在的技術問題,本發(fā)明提供一 種結構簡單緊湊、成本低廉、適用范圍廣、可靠性好的用于向量數(shù)據(jù)流的重整理緩沖器。為解決上述技術問題,本發(fā)明采用以下技術方案 一種重整理緩沖器,其特征在于包括
緩沖存儲體,用來暫存來自于DMA總線的并且要寫入向量存儲器VM的數(shù)據(jù)或者暫存從 向量存儲器VM讀出的并且要通過DMA總線寫入到其它空間的數(shù)據(jù); 控制寄存器,由DMA總線傳輸開始時進行配置;
狀態(tài)位,記錄了緩沖存儲體中的每一行映射的是向量存儲器VM中的哪一行,并且記錄 了該行是否有效;
主控邏輯單元,用來進行總體控制,在DMA總線進行數(shù)據(jù)傳輸時,主控邏輯單元根據(jù)控 制寄存器選擇不同的緩沖位置、進行對應的數(shù)據(jù)變換、并且在數(shù)據(jù)傳輸完畢選擇是否進行 讀寫緩沖器的作廢或更新處理。作為本發(fā)明的進一步改進
所述緩沖存儲體由多個并行的單端口 SRAM組成,其寬度與向量存儲器VM的寬度相同, 記為W ;令緩沖存儲體的容量為M,則緩沖存儲體共有L行數(shù)據(jù),其中L=M/W。所述控制寄存器包含讀寫緩沖區(qū)域、數(shù)據(jù)一致性域和數(shù)據(jù)壓縮擴展域,所述讀寫 緩沖區(qū)域包含讀緩沖域和寫緩沖域;所述數(shù)據(jù)一致性域包含讀緩沖數(shù)據(jù)一致性域和寫緩沖 數(shù)據(jù)一致性域,分別控制讀緩沖數(shù)據(jù)作廢的時機和寫緩沖數(shù)據(jù)更新至向量存儲器VM的時 機;所述數(shù)據(jù)壓縮擴展域包含壓縮域和擴展域。與現(xiàn)有技術相比,本發(fā)明的優(yōu)點在于
1、本發(fā)明能夠在向量存儲器VM是單端口SRAM的情況下,有效地平衡DMA總線和VM之 間的帶寬差異,減少DMA對VM的打擾。由于本發(fā)明在DMA總線和VM間引入了重整理緩沖 器,使得由DMA訪問引入的訪問VM請求能夠充分減少對VM帶寬的浪費,這樣使得VM能夠 充分地為向量運算單元服務,提高訪存指令的訪問效率;
2、本發(fā)明的重整理緩沖器設置于采用單端口SRAM的VM和DMA總線的之間,并且提供 了一系列的控制寄存器,用戶可通過配置這些控制寄存器,設置讀寫緩沖器的大小、選擇某 次DMA操作是否需要經過讀寫緩沖、選擇某次DMA操作之后是否需要清空緩沖區(qū)中的內容 等等;同時用戶在啟動DMA傳輸之前配置特定的寄存器,從而可以在緩沖器中進行位置重 組、壓縮或擴展等重整理工作的處理,既能有效地加速這些操作的進行,又使得向量運算單 元可以有更多的時間完成高密集度的計算任務;
3、本發(fā)明控制接口方便靈活。如讀寫緩沖的大小、緩沖中數(shù)據(jù)作廢或更新的時機均可 由程序員配置,既能夠方便程序員控制,又比較靈活;
4、本發(fā)明中提供的位置重組、數(shù)據(jù)壓縮、擴展功能,能夠為用戶提供更為靈活的數(shù)據(jù)組 織方式。這些操作如果在向量運算單元處理,需要執(zhí)行比較復雜的交換、變換、數(shù)據(jù)混洗等 操作,不僅需要比較多的指令條數(shù),并且執(zhí)行效率不高,因而應用本專利能夠有效地減少指令條數(shù),提高執(zhí)行效率;
5、綜上所述,本發(fā)明提出的用于向量數(shù)據(jù)流重整理的緩沖器為VM和DMA總線之間的接 口設計提供了完善和靈活的解決方案,因而適用于基于向量技術的DSP,同時其它的面向視 頻和多媒體應用的采用向量技術的處理器均可采用。
圖1是重整理緩沖器、VM與DMA總線的結構示意圖; 圖2是重整理緩沖器的整體結構示意圖3是DMA通過重整理緩沖器從VM讀數(shù)據(jù)的流程圖; 圖4是DMA通過重整理緩沖器向VM寫數(shù)據(jù)的流程圖; 圖5是多個DMA請求向同一 VM區(qū)域發(fā)送寫請求,數(shù)據(jù)重組的示意圖; 圖6是通過重整理緩沖器進行數(shù)據(jù)擴展示意圖; 圖7是通過重整理緩沖器進行數(shù)據(jù)壓縮示意圖。
具體實施例方式以下將結合說明書附圖和具體實施例對本發(fā)明做進一步詳細說明。圖1是本發(fā)明用于向量數(shù)據(jù)流的重整理緩沖器以及向量存儲器VM、DMA總線的結 構示意圖。本發(fā)明的重整理緩沖器位于在DMA總線和VM之間。多個向量存儲器VM和其它 存儲單元或外設共享DMA總線,每一個向量存儲器VM與DMA總線之間均存在一個重整理緩 沖器。來自于DMA的讀寫請求首先在重整理緩沖器中進行處理,在讀緩沖或寫緩沖沒有滿 的情況下,只有向緩沖中分配數(shù)據(jù)行或者寫緩沖行替換的時候才會訪問向量存儲器VM,這 樣既可以充分利用向量存儲器VM的高帶寬特性,又可以減少DMA總線請求對向量運算單元 訪存操作的打擾。本發(fā)明為一種可編程的重整理緩沖器,用于提供位置重組、壓縮或擴展等重整理 功能,不僅能為向量存儲器VM提供高帶寬的、可配置的數(shù)據(jù)流加載方式,還可以很好平衡 向量存儲器VM與總線之間的帶寬。在向量存儲器VM采用單端口 SRAM的基礎上,通過在向 量存儲器VM和DMA總線之間設置重整理緩沖器,使得大部分DMA的請求可以在重整理緩沖 器中命中,較少占用向量存儲器VM訪問端口,這樣向量存儲器VM可以主要為向量運算單元 的數(shù)據(jù)訪問操作提供支持,提高處理效率;同時提供了完善的數(shù)據(jù)一致性機制,用戶可以靈 活地設置讀緩沖器作廢的時機和寫緩沖器數(shù)據(jù)更新至VM的時機,從而在保證數(shù)據(jù)正確性 的基礎上提高DMA請求在重整理緩沖器中的利用效率;提供了靈活的數(shù)據(jù)重整理機制,在 啟動DMA請求時配置控制寄存器的內容,重整理緩沖器的控制器根據(jù)控制寄存器的內容對 每次DMA操作的數(shù)據(jù)進行位置重組、壓縮和擴展等操作。如圖2所示,本發(fā)明的用于向量數(shù)據(jù)流的重整理緩沖器包括緩沖存儲體、狀態(tài)位、 控制寄存器和主控邏輯四個部分。DMA總線在進行數(shù)據(jù)傳輸之前首先會配置對應重整理緩 沖器的控制寄存器,主控邏輯根據(jù)控制寄存器的內容對緩沖存儲體進行分配(分配讀緩沖 體行數(shù)或寫緩沖體行數(shù))。當DMA總線讀請求到來時,主控邏輯根據(jù)訪存地址和狀態(tài)位信息, 在讀緩沖存儲體中進行相應的數(shù)據(jù)處理(分配或讀數(shù)據(jù)),讀出的數(shù)據(jù)根據(jù)控制寄存器的配 置信息,選擇是否進行壓縮處理;當DMA寫請求到來時,主控邏輯根據(jù)控制寄存器的配置信
5息,選擇是否進行擴展處理,然后根據(jù)訪存地址和狀態(tài)位信息,在寫緩沖存儲體中進行相應 的數(shù)據(jù)處理(分配或讀數(shù)據(jù))。在一次DMA操作的讀請求或寫請求完成之后,主控邏輯會根 據(jù)控制寄存器的內容將讀緩沖中的數(shù)據(jù)作廢或保留,將寫緩沖中的數(shù)據(jù)更新至VM或保留。其中,緩沖存儲體是重整理緩沖器的主體部分,主要暫存來自于DMA總線的并且 要寫入向量存儲器VM的數(shù)據(jù)(寫緩沖),或者暫存從向量存儲器VM讀出的并且要通過DMA總 線寫入到其它空間的數(shù)據(jù)(讀緩沖);控制寄存器由DMA傳輸開始時進行配置;狀態(tài)位記錄了 緩沖存儲體中的每一行映射的是向量存儲器VM中的哪一行,并且記錄了該行是否有效;主 控邏輯負責重整理緩沖器總體控制,在DMA進行數(shù)據(jù)傳輸時,主控邏輯根據(jù)控制寄存器選 擇不同的緩沖位置、進行對應的數(shù)據(jù)變換、并且在數(shù)據(jù)傳輸完畢選擇是否進行讀寫緩沖器 的作廢或更新處理。緩沖存儲體由多個并行的單端口 SRAM組成的,其寬度與VM的寬度相同,記為W (bits),設緩沖存儲體的容量為M (bits),則緩沖存儲體共有L行數(shù)據(jù)(L=M/W),為了方便 說明,本發(fā)明中W取512,L取32??刂萍拇嫫鳛橐粋€32位的寄存器,包含三個域讀寫緩沖區(qū)域(lObits),數(shù)據(jù)一 致性域(2bits)和數(shù)據(jù)壓縮擴展域(5bits),其余位保留。讀寫緩沖區(qū)域包含5bits的讀緩 沖域(Rd_Field)和5bits的寫緩沖域(Wt_Field),設兩個5bits的區(qū)域包含的01序列對 應的無符號數(shù)分別為Ucst5_I^n Ucst5_W,則讀寫緩沖區(qū)分別包含Ucst5_R+l和Ucst5_W+l 行數(shù)據(jù),注意讀寫緩沖區(qū)最少為1行,最多為32行,且總的行數(shù)UCSt5_R+UCSt5_W+2小于等 于L.數(shù)據(jù)一致性域包含Ibit的讀緩沖數(shù)據(jù)一致性域(Rd_Irw)和Ibit的寫緩沖數(shù)據(jù)一致 性域(Wt_Upd),分別控制讀緩沖數(shù)據(jù)作廢的時機和寫緩沖數(shù)據(jù)更新至VM的時機當Rd_Inv 為0時,表示當前DMA請求中的操作完成后讀緩沖的數(shù)據(jù)保留,讀緩沖行的Valid位保持不 變,Rd_Inv為1時,表示當前DMA請求中操作完成后讀緩沖中的數(shù)據(jù)作廢,所有的讀緩沖行 的Valid位置0 ;Wt_Upd為0時,表示當前DMA請求中的操作完成后寫緩沖的數(shù)據(jù)保留,寫 緩沖行的Valid位和內容保持不變,Wt_Upd為1時,表示當前DMA請求中操作完成后寫緩 沖中的凡是Valid位為1的行中的數(shù)據(jù)需要更新至VM,然后將所有的寫緩沖中的行數(shù)據(jù)的 Valid位置為0。數(shù)據(jù)壓縮擴展域包含壓縮域(2bits,記為Cpr [1 0])和擴展域(3bits,記 為Exp [2:0]),其中Cpr [1]為0時,當前DMA請求從VM中讀出時不進行壓縮,其中Cpr [1] 為1時,當前DMA請求從VM中讀出數(shù)據(jù)時進行壓縮,若Cpr
為0,壓縮方式為連續(xù)四個字 中每個字的最低字節(jié)組成一個字,若Cpr
為1,壓縮方式為連續(xù)兩個字中每個字的最低 半字組成一個字;Exp[2]為0時,當前DMA請求從DMA總線中讀出數(shù)據(jù)不進行擴展,Exp[2] 為1時,當前DMA請求從DMA總線中讀出數(shù)據(jù)進行擴展,若Εχρ[1:0]=00,擴展方式為一個字 中的高低半字各自按照無符號方式進行擴展,從而生成兩個字;若Exp [1 0] =01,擴展方式 為一個字中的高低半字各自按照有符號方式進行擴展,從而生成兩個字;若Exp [1:0] =10, 擴展方式為一個字中的四個字節(jié)各自按照無符號方式進行擴展,從而生成四個字;若 Εχρ[1:0]=11,擴展方式為一個字中的四個字節(jié)各自按照有符號方式進行擴展,從而生成四 個字。為了減少對VM存儲體的訪問,重整理緩沖器和VM中的數(shù)據(jù)的數(shù)據(jù)一致性由程序 員通過配置Rd_Inv和Wt_Upd來設置。如果一次DMA傳輸之后,VM需要馬上讀寫緩沖映射 地址中的數(shù)據(jù)或者VM需要馬上寫入讀緩沖映射的地址,則配置DMA通道時必須將重整理緩沖器控制寄存器的Rd_Inv和Wt_Upd位置1。如果多個連續(xù)的DMA請求從同一數(shù)據(jù)空間向 其它不同的空間搬移數(shù)據(jù),并且這段時間內VM不會向讀緩沖映射的地址寫入數(shù)據(jù),則程序 員可以將重整理緩沖器控制寄存器的Rd_Inv位置0,則多個DMA的讀請求可以直接從讀緩 沖讀出數(shù)據(jù)。如果多個連續(xù)的DMA寫請求從不同數(shù)據(jù)空間向同一的空間寫數(shù)據(jù),并且這段 時間內VM不會從寫緩沖映射的地址讀出數(shù)據(jù),則程序員可以將重整理緩沖器控制寄存器 的Wt_Upd位置0,則多個DMA的寫請求可以直接寫入在寫緩沖。重整理緩沖器控制寄存器的配置信息和DMA通道綁定,程序員在配置DMA通道的 過程中設置重整理緩沖器控制寄存器。在DMA進行數(shù)據(jù)傳輸時,附加一個新的控制線標識 DMA總線包含的數(shù)據(jù)是當前通道中的配置控制寄存器的請求或者是最后一個訪問請求。緩沖存儲體中的每一行數(shù)據(jù)共用一組狀態(tài)位,包括標簽位Tag、有效位Valid,其 中Tag的長度VM的訪存地址相關,Valid位的位數(shù)為1。狀態(tài)位在緩沖器工作時由硬件自 動進行設置,當DMA讀請求需要訪問的數(shù)據(jù)在讀緩沖中沒有命中時,從VM中分配一行到讀 緩沖中,設置對應的Tag位,同時將Valid位置1,當進行讀緩沖作廢操作時,將所有行的 Valid位置0 ;當DMA的寫請求需要訪問的數(shù)據(jù)在寫緩沖中沒有命中時,從VM中分配一行到 寫緩沖中,設置對應的Tag位,同時將Valid位置1,將要寫的數(shù)據(jù)寫入到寫緩沖中的該行, 當進行寫緩沖更新操作時,寫緩沖中的凡是Valid位為1的行中的數(shù)據(jù)需要更新至VM,然后 將所有的寫緩沖中每一行的Valid位置0。如圖3所示,為DMA總線通過重整理緩沖器從向量存儲器VM讀數(shù)據(jù)的流程圖
3. 1當DMA對某一 VM地址進行讀操作時,查看當前讀緩沖的Tag位和Valid位,判斷需 要讀取的數(shù)據(jù)是否在讀緩沖中命中,若當前的讀地址和某一行數(shù)據(jù)的Tag位匹配,并且該 行的Valid位為1,則認為該讀請求在讀緩沖中命中,轉至3. 3,否則轉至3. 2 ;
3. 2從VM讀取當前讀操作的地址所在的一行數(shù)據(jù),將其分配到讀緩沖中,并將設置行 數(shù)據(jù)的Tag位,將Valid位置1 ;
3. 3從讀緩沖讀取當前讀請求的地址所包含的數(shù)據(jù),根據(jù)控制寄存器的Cpr域,判斷 是否需要數(shù)據(jù)壓縮,若不需要數(shù)據(jù)壓縮,轉至3. 5,否則轉至3. 4 ; 3.4根據(jù)發(fā)明內容中闡述的壓縮方式,將讀取的數(shù)據(jù)進行壓縮; 3. 5將壓縮后或未經壓縮的數(shù)據(jù)放置到DMA總線上,返回給DMA控制器,判斷當前讀請 求是否是某次DMA通道中的最后一個請求,若不是,則轉至3. 1,準備處理下一個DMA讀請 求;否則根據(jù)控制寄存器判斷是否需要作廢讀緩沖器,若不是則轉至3. 7,否則轉至3. 6 ; 3. 6將讀緩沖中所有行的Valid位置0 ;
3.7本次DMA通道的請求處理完畢。如圖4所示,為DMA通過重整理緩沖器向VM寫數(shù)據(jù)的流程圖
4.1當DMA對某一 VM地址進行寫操作時,首先查看當前寫緩沖的Tag位和Valid位, 判斷需要寫入的位置是否在寫緩沖中命中,若當前的寫地址和某一行數(shù)據(jù)的Tag位匹配, 并且該行的Valid位為1,則認為該寫請求在寫緩沖中命中,轉至4. 3,否則轉至4. 2 ;
4. 2從VM讀取當前所寫位置的所在的行的數(shù)據(jù),將其分配到寫緩沖中,并將設置行數(shù) 據(jù)的Tag位,將Valid位置1 ;
4. 3根據(jù)控制寄存器的Exp域,判斷是否需要數(shù)據(jù)擴展,若不需要,轉至4. 5,否則轉至
4. 4 ;
74. 4根據(jù)發(fā)明內容中闡述的擴展方式,將要寫入的數(shù)據(jù)進行擴展; 4. 5將擴展后的數(shù)據(jù)或未經擴展的數(shù)據(jù)寫入到寫緩沖去,判斷當前寫請求是否是某次 DMA通道中的最后一個請求,若不是,則轉至4. 1,準備處理下一個DMA寫請求;否則根據(jù)控 制寄存器判斷是否需要將寫緩沖中的數(shù)據(jù)更新至VM中,若不是則轉至4. 7,否則轉至4. 6 ; 4.6將寫緩沖中所有行的Valid位為1的行的數(shù)據(jù)寫回到VM中之后,將Valid位置0 ; 4. 7本次DMA通道的請求處理完畢。如圖5所示,為多個DMA請求向同一 VM區(qū)域發(fā)送寫請求,數(shù)據(jù)重組的示意圖圖中 采用同一填充方式的數(shù)據(jù)來自于同一 DMA通道,可以看出寫緩沖器(假設有32行)共接受 了 8個DMA通道的寫數(shù)據(jù)。在不使用寫緩沖的情況下,每次DMA通道至少需要向VM訪問32 次;使用寫緩沖的情況下,8個DMA通道總共需要向VM訪問64次(32次寫分配和32次數(shù)據(jù) 更新),則平均每個通道訪問VM的次數(shù)降低到了 8次。由此可見,使用寫緩沖器能夠充分利 用不同DMA通道中的訪問地址的空間局部性,將不同DMA通道的寫數(shù)據(jù)合并起來,一起更新 至VM中,從而減少對VM的打擾。如圖6所示,通過重整理緩沖器進行數(shù)據(jù)擴展示意圖由于DMA總線帶寬是比較稀 缺的資源,在DMA總線上傳輸?shù)臄?shù)據(jù)往往是比較緊湊的數(shù)據(jù)。這些數(shù)據(jù)如果直接存放至VM 中,并且接受向量計算單元的處理,則其格式轉化開銷比較大。圖中的DMA寫操作,地址總 線和數(shù)據(jù)總線上傳輸?shù)臄?shù)據(jù)分別是0x0000_4000和0x4433_2211,通過控制寄存器的設置, 原始數(shù)據(jù)分別擴展成了四個寫請求,地址分別為0x0000_4000、0x0000_4004、0x0000_4008、 0x0000_400C、數(shù)據(jù)分別為 0x0000_0011、0x0000_0022、0x0000_0033、0x0000_0044,再一次 寫入到向量寫緩沖器中。如圖7所示,是通過重整理緩沖器進行數(shù)據(jù)壓縮示意圖該過程和圖6的實例相 反。為了節(jié)約總線資源,VM中的數(shù)據(jù)在傳入DMA總線時可以先進行壓縮,圖中讀請求訪問 的地址為0x0000_5000 和 0x0000_5004,對應的數(shù)據(jù)為 0x00001234 和 0x0000_5678,壓縮 為0x5678_1234后才傳輸至DMA總線上。以上僅是本發(fā)明的優(yōu)選實施方式,本發(fā)明的保護范圍并不僅局限于上述實施例, 凡屬于本發(fā)明思路下的技術方案均屬于本發(fā)明的保護范圍。應當指出,對于本技術領域的 普通技術人員來說,在不脫離本發(fā)明原理前提下的若干改進和潤飾,應視為本發(fā)明的保護 范圍。
8
權利要求
一種用于向量數(shù)據(jù)流的重整理緩沖器,其特征在于包括緩沖存儲體,用來暫存來自于DMA總線的并且要寫入向量存儲器VM的數(shù)據(jù)或者暫存從向量存儲器VM讀出的并且要通過DMA總線寫入到其它空間的數(shù)據(jù);控制寄存器,由DMA總線傳輸開始時進行配置;狀態(tài)位,記錄了緩沖存儲體中的每一行映射的是向量存儲器VM中的哪一行,并且記錄了該行是否有效;主控邏輯單元,用來進行總體控制,在DMA總線進行數(shù)據(jù)傳輸時,主控邏輯單元根據(jù)控制寄存器選擇不同的緩沖位置、進行對應的數(shù)據(jù)變換、并且在數(shù)據(jù)傳輸完畢選擇是否進行讀寫緩沖器的作廢或更新處理。
2.根據(jù)權利要求1所述的用于向量數(shù)據(jù)流的重整理緩沖器,其特征在于所述緩沖存 儲體由多個并行的單端口 SRAM組成,其寬度與向量存儲器VM的寬度相同,記為W ;令緩沖 存儲體的容量為M,則緩沖存儲體共有L行數(shù)據(jù),其中L=M/W。
3.根據(jù)權利要求1所述的用于向量數(shù)據(jù)流的重整理緩沖器,其特征在于所述控制寄 存器包含讀寫緩沖區(qū)域、數(shù)據(jù)一致性域和數(shù)據(jù)壓縮擴展域,所述讀寫緩沖區(qū)域包含讀緩沖 域和寫緩沖域;所述數(shù)據(jù)一致性域包含讀緩沖數(shù)據(jù)一致性域和寫緩沖數(shù)據(jù)一致性域,分別 控制讀緩沖數(shù)據(jù)作廢的時機和寫緩沖數(shù)據(jù)更新至向量存儲器VM的時機;所述數(shù)據(jù)壓縮擴 展域包含壓縮域和擴展域。
全文摘要
一種用于向量數(shù)據(jù)流的重整理緩沖器,它包括緩沖存儲體,用來暫存來自于DMA總線的并且要寫入向量存儲器VM的數(shù)據(jù)或者暫存從向量存儲器VM讀出的并且要通過DMA總線寫入到其它空間的數(shù)據(jù);控制寄存器,由DMA總線傳輸開始時進行配置;狀態(tài)位,記錄了緩沖存儲體中的每一行映射的是向量存儲器VM中的哪一行,并且記錄了該行是否有效;主控邏輯單元,用來進行總體控制,在DMA總線進行數(shù)據(jù)傳輸時,主控邏輯單元根據(jù)控制寄存器選擇不同的緩沖位置、進行對應的數(shù)據(jù)變換、并且在數(shù)據(jù)傳輸完畢選擇是否進行讀寫緩沖器的作廢或更新處理。本發(fā)明具有結構簡單緊湊、成本低廉、適用范圍廣、可靠性好等優(yōu)點。
文檔編號G06F13/28GK101986287SQ20101055930
公開日2011年3月16日 申請日期2010年11月25日 優(yōu)先權日2010年11月25日
發(fā)明者萬江華, 劉仲, 劉祥遠, 劉勝, 孫書為, 張凱, 李振濤, 王耀華, 陳書明, 陳海燕 申請人:中國人民解放軍國防科學技術大學