亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

用于向量數(shù)據(jù)流的重整理緩沖器的制作方法

文檔序號(hào):6336768閱讀:207來(lái)源:國(guó)知局
專利名稱:用于向量數(shù)據(jù)流的重整理緩沖器的制作方法
技術(shù)領(lǐng)域
本發(fā)明主要涉及到采用向量技術(shù)的處理器,特指在數(shù)字信號(hào)處理器(Digital Signal Processor,DSP)當(dāng)中,DMA (Direct Memory Access,直接存儲(chǔ)器訪問(wèn))總線與向量 存儲(chǔ)器(Vector Memory,VM)之間的數(shù)據(jù)傳輸接口的設(shè)計(jì)和實(shí)現(xiàn)方法,尤其是數(shù)據(jù)在DMA總 線和VM之間進(jìn)行搬移時(shí)需要進(jìn)行位置重組、壓縮或擴(kuò)展時(shí)的技術(shù)方案。
背景技術(shù)
隨著4G無(wú)線通信技術(shù)和高清視頻圖像處理技術(shù)的發(fā)展,向量處理器得到了廣泛 的應(yīng)用。向量處理器通過(guò)多個(gè)并行的向量運(yùn)算單元同時(shí)處理來(lái)開(kāi)發(fā)應(yīng)用的數(shù)據(jù)級(jí)并行性, 如何為向量運(yùn)算單元提供充足的數(shù)據(jù)帶寬是向量處理器設(shè)計(jì)中的一個(gè)重要環(huán)節(jié)。由于流式 應(yīng)用缺乏數(shù)據(jù)的局部性,同時(shí)又具有較強(qiáng)的實(shí)時(shí)性需求,由多個(gè)并行的片內(nèi)靜態(tài)隨機(jī)存儲(chǔ) 器(Static Random Access Memory,SRAM)組成的VM因其訪存延時(shí)的確定性逐漸取代了通 用的緩存(Cache )結(jié)構(gòu)。VM —般由DMA控制器通過(guò)DMA總線進(jìn)行數(shù)據(jù)的加載和搬移,同時(shí) 能夠響應(yīng)來(lái)自向量處理單元的訪存請(qǐng)求。在VM的管理和設(shè)計(jì)當(dāng)中面臨著以下幾個(gè)關(guān)鍵的技術(shù)環(huán)節(jié)1. VM采用單端口 SRAM 還是雙端口 SRAM ;2.如何有效地匹配DMA總線帶寬與VM帶寬之間的差異;3.數(shù)據(jù)流重整 理操作(位置重組、壓縮或擴(kuò)展等)如何高效的處理等。由于VM需要同時(shí)響應(yīng)DMA和向量處理單元的訪問(wèn)請(qǐng)求,傳統(tǒng)的VM —般采用雙端 口的SRAM,這樣能夠使DMA的訪問(wèn)請(qǐng)求和向量處理單元的訪問(wèn)請(qǐng)求并行處理、互不干擾。然 而相同容量的雙端口 SRAM的面積是單端口 SRAM的兩倍左右。目前向量處理器中VM的容 量在逐漸增大(512KB以上),并且占據(jù)了芯片面積的絕大部分(70%左右)。在如此大容量的 片上存儲(chǔ)器中采用雙端口設(shè)計(jì)將變得不合時(shí)宜。在采用單端口 SRAM的VM中如何減少向量 處理單元和DMA的訪問(wèn)沖突是設(shè)計(jì)人員必須考慮的重要問(wèn)題。在向量處理器中,由于工藝水平和片上互連長(zhǎng)線資源的限制,DMA總線的帶寬較窄 (32bits/CyCle左右)。而VM是由多個(gè)并行的SRAM組成,并且同時(shí)向多個(gè)向量運(yùn)算單元供 給數(shù)據(jù),帶寬比較寬(512bits/CyCle左右)。在VM和DMA總線之間采用緩沖結(jié)構(gòu)是一種常 用的匹配兩者帶寬差異的方法,然而普通的緩沖結(jié)構(gòu)僅能夠較好地支持連續(xù)的數(shù)據(jù)搬移或 帶廣播的數(shù)據(jù)搬移,對(duì)于目的地址非連續(xù)或需要位置重組的數(shù)據(jù)流支持較差,如何解決這 一問(wèn)題,需要統(tǒng)籌考慮。由于向量運(yùn)算單元對(duì)數(shù)據(jù)的格式和位置要求比較嚴(yán)格,這需要對(duì)數(shù)據(jù)進(jìn)行較多的 壓縮或擴(kuò)展等格式轉(zhuǎn)換操作。盡管這些操作能夠在向量運(yùn)算單元中處理,但是往往需要比 較多的指令條數(shù),并且處理效率不高。這些壓縮或擴(kuò)展等格式轉(zhuǎn)換操作如何高效處理,是需 要設(shè)計(jì)人員認(rèn)真思考的問(wèn)題。綜上所述,在向量處理器的設(shè)計(jì)當(dāng)中,VM與DMA總線的接口設(shè)計(jì)、帶寬匹配技術(shù) 和數(shù)據(jù)整理等環(huán)節(jié)需要統(tǒng)籌的、完善的解決方案。從目前公開(kāi)的文獻(xiàn)來(lái)看,VM采用雙端口 SRAM的方案居多,這種方案的弊端在這里不再贅述。目前還沒(méi)有公開(kāi)的文獻(xiàn)涉及到在VM為單端口 SRAM的情況下,面向向量數(shù)據(jù)流的,同時(shí)能夠有效地平衡DMA總線和VM之間的帶寬 差異,并且提供數(shù)據(jù)流位置重組、壓縮或擴(kuò)展等重整理功能的緩沖器結(jié)構(gòu)的設(shè)計(jì)問(wèn)題。

發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問(wèn)題就在于針對(duì)現(xiàn)有技術(shù)存在的技術(shù)問(wèn)題,本發(fā)明提供一 種結(jié)構(gòu)簡(jiǎn)單緊湊、成本低廉、適用范圍廣、可靠性好的用于向量數(shù)據(jù)流的重整理緩沖器。為解決上述技術(shù)問(wèn)題,本發(fā)明采用以下技術(shù)方案 一種重整理緩沖器,其特征在于包括
緩沖存儲(chǔ)體,用來(lái)暫存來(lái)自于DMA總線的并且要寫入向量存儲(chǔ)器VM的數(shù)據(jù)或者暫存從 向量存儲(chǔ)器VM讀出的并且要通過(guò)DMA總線寫入到其它空間的數(shù)據(jù); 控制寄存器,由DMA總線傳輸開(kāi)始時(shí)進(jìn)行配置;
狀態(tài)位,記錄了緩沖存儲(chǔ)體中的每一行映射的是向量存儲(chǔ)器VM中的哪一行,并且記錄 了該行是否有效;
主控邏輯單元,用來(lái)進(jìn)行總體控制,在DMA總線進(jìn)行數(shù)據(jù)傳輸時(shí),主控邏輯單元根據(jù)控 制寄存器選擇不同的緩沖位置、進(jìn)行對(duì)應(yīng)的數(shù)據(jù)變換、并且在數(shù)據(jù)傳輸完畢選擇是否進(jìn)行 讀寫緩沖器的作廢或更新處理。作為本發(fā)明的進(jìn)一步改進(jìn)
所述緩沖存儲(chǔ)體由多個(gè)并行的單端口 SRAM組成,其寬度與向量存儲(chǔ)器VM的寬度相同, 記為W ;令緩沖存儲(chǔ)體的容量為M,則緩沖存儲(chǔ)體共有L行數(shù)據(jù),其中L=M/W。所述控制寄存器包含讀寫緩沖區(qū)域、數(shù)據(jù)一致性域和數(shù)據(jù)壓縮擴(kuò)展域,所述讀寫 緩沖區(qū)域包含讀緩沖域和寫緩沖域;所述數(shù)據(jù)一致性域包含讀緩沖數(shù)據(jù)一致性域和寫緩沖 數(shù)據(jù)一致性域,分別控制讀緩沖數(shù)據(jù)作廢的時(shí)機(jī)和寫緩沖數(shù)據(jù)更新至向量存儲(chǔ)器VM的時(shí) 機(jī);所述數(shù)據(jù)壓縮擴(kuò)展域包含壓縮域和擴(kuò)展域。與現(xiàn)有技術(shù)相比,本發(fā)明的優(yōu)點(diǎn)在于
1、本發(fā)明能夠在向量存儲(chǔ)器VM是單端口SRAM的情況下,有效地平衡DMA總線和VM之 間的帶寬差異,減少DMA對(duì)VM的打擾。由于本發(fā)明在DMA總線和VM間引入了重整理緩沖 器,使得由DMA訪問(wèn)引入的訪問(wèn)VM請(qǐng)求能夠充分減少對(duì)VM帶寬的浪費(fèi),這樣使得VM能夠 充分地為向量運(yùn)算單元服務(wù),提高訪存指令的訪問(wèn)效率;
2、本發(fā)明的重整理緩沖器設(shè)置于采用單端口SRAM的VM和DMA總線的之間,并且提供 了一系列的控制寄存器,用戶可通過(guò)配置這些控制寄存器,設(shè)置讀寫緩沖器的大小、選擇某 次DMA操作是否需要經(jīng)過(guò)讀寫緩沖、選擇某次DMA操作之后是否需要清空緩沖區(qū)中的內(nèi)容 等等;同時(shí)用戶在啟動(dòng)DMA傳輸之前配置特定的寄存器,從而可以在緩沖器中進(jìn)行位置重 組、壓縮或擴(kuò)展等重整理工作的處理,既能有效地加速這些操作的進(jìn)行,又使得向量運(yùn)算單 元可以有更多的時(shí)間完成高密集度的計(jì)算任務(wù);
3、本發(fā)明控制接口方便靈活。如讀寫緩沖的大小、緩沖中數(shù)據(jù)作廢或更新的時(shí)機(jī)均可 由程序員配置,既能夠方便程序員控制,又比較靈活;
4、本發(fā)明中提供的位置重組、數(shù)據(jù)壓縮、擴(kuò)展功能,能夠?yàn)橛脩籼峁└鼮殪`活的數(shù)據(jù)組 織方式。這些操作如果在向量運(yùn)算單元處理,需要執(zhí)行比較復(fù)雜的交換、變換、數(shù)據(jù)混洗等 操作,不僅需要比較多的指令條數(shù),并且執(zhí)行效率不高,因而應(yīng)用本專利能夠有效地減少指令條數(shù),提高執(zhí)行效率;
5、綜上所述,本發(fā)明提出的用于向量數(shù)據(jù)流重整理的緩沖器為VM和DMA總線之間的接 口設(shè)計(jì)提供了完善和靈活的解決方案,因而適用于基于向量技術(shù)的DSP,同時(shí)其它的面向視 頻和多媒體應(yīng)用的采用向量技術(shù)的處理器均可采用。


圖1是重整理緩沖器、VM與DMA總線的結(jié)構(gòu)示意圖; 圖2是重整理緩沖器的整體結(jié)構(gòu)示意圖3是DMA通過(guò)重整理緩沖器從VM讀數(shù)據(jù)的流程圖; 圖4是DMA通過(guò)重整理緩沖器向VM寫數(shù)據(jù)的流程圖; 圖5是多個(gè)DMA請(qǐng)求向同一 VM區(qū)域發(fā)送寫請(qǐng)求,數(shù)據(jù)重組的示意圖; 圖6是通過(guò)重整理緩沖器進(jìn)行數(shù)據(jù)擴(kuò)展示意圖; 圖7是通過(guò)重整理緩沖器進(jìn)行數(shù)據(jù)壓縮示意圖。
具體實(shí)施例方式以下將結(jié)合說(shuō)明書附圖和具體實(shí)施例對(duì)本發(fā)明做進(jìn)一步詳細(xì)說(shuō)明。圖1是本發(fā)明用于向量數(shù)據(jù)流的重整理緩沖器以及向量存儲(chǔ)器VM、DMA總線的結(jié) 構(gòu)示意圖。本發(fā)明的重整理緩沖器位于在DMA總線和VM之間。多個(gè)向量存儲(chǔ)器VM和其它 存儲(chǔ)單元或外設(shè)共享DMA總線,每一個(gè)向量存儲(chǔ)器VM與DMA總線之間均存在一個(gè)重整理緩 沖器。來(lái)自于DMA的讀寫請(qǐng)求首先在重整理緩沖器中進(jìn)行處理,在讀緩沖或?qū)懢彌_沒(méi)有滿 的情況下,只有向緩沖中分配數(shù)據(jù)行或者寫緩沖行替換的時(shí)候才會(huì)訪問(wèn)向量存儲(chǔ)器VM,這 樣既可以充分利用向量存儲(chǔ)器VM的高帶寬特性,又可以減少DMA總線請(qǐng)求對(duì)向量運(yùn)算單元 訪存操作的打擾。本發(fā)明為一種可編程的重整理緩沖器,用于提供位置重組、壓縮或擴(kuò)展等重整理 功能,不僅能為向量存儲(chǔ)器VM提供高帶寬的、可配置的數(shù)據(jù)流加載方式,還可以很好平衡 向量存儲(chǔ)器VM與總線之間的帶寬。在向量存儲(chǔ)器VM采用單端口 SRAM的基礎(chǔ)上,通過(guò)在向 量存儲(chǔ)器VM和DMA總線之間設(shè)置重整理緩沖器,使得大部分DMA的請(qǐng)求可以在重整理緩沖 器中命中,較少占用向量存儲(chǔ)器VM訪問(wèn)端口,這樣向量存儲(chǔ)器VM可以主要為向量運(yùn)算單元 的數(shù)據(jù)訪問(wèn)操作提供支持,提高處理效率;同時(shí)提供了完善的數(shù)據(jù)一致性機(jī)制,用戶可以靈 活地設(shè)置讀緩沖器作廢的時(shí)機(jī)和寫緩沖器數(shù)據(jù)更新至VM的時(shí)機(jī),從而在保證數(shù)據(jù)正確性 的基礎(chǔ)上提高DMA請(qǐng)求在重整理緩沖器中的利用效率;提供了靈活的數(shù)據(jù)重整理機(jī)制,在 啟動(dòng)DMA請(qǐng)求時(shí)配置控制寄存器的內(nèi)容,重整理緩沖器的控制器根據(jù)控制寄存器的內(nèi)容對(duì) 每次DMA操作的數(shù)據(jù)進(jìn)行位置重組、壓縮和擴(kuò)展等操作。如圖2所示,本發(fā)明的用于向量數(shù)據(jù)流的重整理緩沖器包括緩沖存儲(chǔ)體、狀態(tài)位、 控制寄存器和主控邏輯四個(gè)部分。DMA總線在進(jìn)行數(shù)據(jù)傳輸之前首先會(huì)配置對(duì)應(yīng)重整理緩 沖器的控制寄存器,主控邏輯根據(jù)控制寄存器的內(nèi)容對(duì)緩沖存儲(chǔ)體進(jìn)行分配(分配讀緩沖 體行數(shù)或?qū)懢彌_體行數(shù))。當(dāng)DMA總線讀請(qǐng)求到來(lái)時(shí),主控邏輯根據(jù)訪存地址和狀態(tài)位信息, 在讀緩沖存儲(chǔ)體中進(jìn)行相應(yīng)的數(shù)據(jù)處理(分配或讀數(shù)據(jù)),讀出的數(shù)據(jù)根據(jù)控制寄存器的配 置信息,選擇是否進(jìn)行壓縮處理;當(dāng)DMA寫請(qǐng)求到來(lái)時(shí),主控邏輯根據(jù)控制寄存器的配置信
5息,選擇是否進(jìn)行擴(kuò)展處理,然后根據(jù)訪存地址和狀態(tài)位信息,在寫緩沖存儲(chǔ)體中進(jìn)行相應(yīng) 的數(shù)據(jù)處理(分配或讀數(shù)據(jù))。在一次DMA操作的讀請(qǐng)求或?qū)懻?qǐng)求完成之后,主控邏輯會(huì)根 據(jù)控制寄存器的內(nèi)容將讀緩沖中的數(shù)據(jù)作廢或保留,將寫緩沖中的數(shù)據(jù)更新至VM或保留。其中,緩沖存儲(chǔ)體是重整理緩沖器的主體部分,主要暫存來(lái)自于DMA總線的并且 要寫入向量存儲(chǔ)器VM的數(shù)據(jù)(寫緩沖),或者暫存從向量存儲(chǔ)器VM讀出的并且要通過(guò)DMA總 線寫入到其它空間的數(shù)據(jù)(讀緩沖);控制寄存器由DMA傳輸開(kāi)始時(shí)進(jìn)行配置;狀態(tài)位記錄了 緩沖存儲(chǔ)體中的每一行映射的是向量存儲(chǔ)器VM中的哪一行,并且記錄了該行是否有效;主 控邏輯負(fù)責(zé)重整理緩沖器總體控制,在DMA進(jìn)行數(shù)據(jù)傳輸時(shí),主控邏輯根據(jù)控制寄存器選 擇不同的緩沖位置、進(jìn)行對(duì)應(yīng)的數(shù)據(jù)變換、并且在數(shù)據(jù)傳輸完畢選擇是否進(jìn)行讀寫緩沖器 的作廢或更新處理。緩沖存儲(chǔ)體由多個(gè)并行的單端口 SRAM組成的,其寬度與VM的寬度相同,記為W (bits),設(shè)緩沖存儲(chǔ)體的容量為M (bits),則緩沖存儲(chǔ)體共有L行數(shù)據(jù)(L=M/W),為了方便 說(shuō)明,本發(fā)明中W取512,L取32??刂萍拇嫫鳛橐粋€(gè)32位的寄存器,包含三個(gè)域讀寫緩沖區(qū)域(lObits),數(shù)據(jù)一 致性域(2bits)和數(shù)據(jù)壓縮擴(kuò)展域(5bits),其余位保留。讀寫緩沖區(qū)域包含5bits的讀緩 沖域(Rd_Field)和5bits的寫緩沖域(Wt_Field),設(shè)兩個(gè)5bits的區(qū)域包含的01序列對(duì) 應(yīng)的無(wú)符號(hào)數(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ī)和寫緩沖數(shù)據(jù)更新至VM的時(shí)機(jī)當(dāng)Rd_Inv 為0時(shí),表示當(dāng)前DMA請(qǐng)求中的操作完成后讀緩沖的數(shù)據(jù)保留,讀緩沖行的Valid位保持不 變,Rd_Inv為1時(shí),表示當(dāng)前DMA請(qǐng)求中操作完成后讀緩沖中的數(shù)據(jù)作廢,所有的讀緩沖行 的Valid位置0 ;Wt_Upd為0時(shí),表示當(dāng)前DMA請(qǐng)求中的操作完成后寫緩沖的數(shù)據(jù)保留,寫 緩沖行的Valid位和內(nèi)容保持不變,Wt_Upd為1時(shí),表示當(dāng)前DMA請(qǐng)求中操作完成后寫緩 沖中的凡是Valid位為1的行中的數(shù)據(jù)需要更新至VM,然后將所有的寫緩沖中的行數(shù)據(jù)的 Valid位置為0。數(shù)據(jù)壓縮擴(kuò)展域包含壓縮域(2bits,記為Cpr [1 0])和擴(kuò)展域(3bits,記 為Exp [2:0]),其中Cpr [1]為0時(shí),當(dāng)前DMA請(qǐng)求從VM中讀出時(shí)不進(jìn)行壓縮,其中Cpr [1] 為1時(shí),當(dāng)前DMA請(qǐng)求從VM中讀出數(shù)據(jù)時(shí)進(jìn)行壓縮,若Cpr
為0,壓縮方式為連續(xù)四個(gè)字 中每個(gè)字的最低字節(jié)組成一個(gè)字,若Cpr
為1,壓縮方式為連續(xù)兩個(gè)字中每個(gè)字的最低 半字組成一個(gè)字;Exp[2]為0時(shí),當(dāng)前DMA請(qǐng)求從DMA總線中讀出數(shù)據(jù)不進(jìn)行擴(kuò)展,Exp[2] 為1時(shí),當(dāng)前DMA請(qǐng)求從DMA總線中讀出數(shù)據(jù)進(jìn)行擴(kuò)展,若Εχρ[1:0]=00,擴(kuò)展方式為一個(gè)字 中的高低半字各自按照無(wú)符號(hào)方式進(jìn)行擴(kuò)展,從而生成兩個(gè)字;若Exp [1 0] =01,擴(kuò)展方式 為一個(gè)字中的高低半字各自按照有符號(hào)方式進(jìn)行擴(kuò)展,從而生成兩個(gè)字;若Exp [1:0] =10, 擴(kuò)展方式為一個(gè)字中的四個(gè)字節(jié)各自按照無(wú)符號(hào)方式進(jìn)行擴(kuò)展,從而生成四個(gè)字;若 Εχρ[1:0]=11,擴(kuò)展方式為一個(gè)字中的四個(gè)字節(jié)各自按照有符號(hào)方式進(jìn)行擴(kuò)展,從而生成四 個(gè)字。為了減少對(duì)VM存儲(chǔ)體的訪問(wèn),重整理緩沖器和VM中的數(shù)據(jù)的數(shù)據(jù)一致性由程序 員通過(guò)配置Rd_Inv和Wt_Upd來(lái)設(shè)置。如果一次DMA傳輸之后,VM需要馬上讀寫緩沖映射 地址中的數(shù)據(jù)或者VM需要馬上寫入讀緩沖映射的地址,則配置DMA通道時(shí)必須將重整理緩沖器控制寄存器的Rd_Inv和Wt_Upd位置1。如果多個(gè)連續(xù)的DMA請(qǐng)求從同一數(shù)據(jù)空間向 其它不同的空間搬移數(shù)據(jù),并且這段時(shí)間內(nèi)VM不會(huì)向讀緩沖映射的地址寫入數(shù)據(jù),則程序 員可以將重整理緩沖器控制寄存器的Rd_Inv位置0,則多個(gè)DMA的讀請(qǐng)求可以直接從讀緩 沖讀出數(shù)據(jù)。如果多個(gè)連續(xù)的DMA寫請(qǐng)求從不同數(shù)據(jù)空間向同一的空間寫數(shù)據(jù),并且這段 時(shí)間內(nèi)VM不會(huì)從寫緩沖映射的地址讀出數(shù)據(jù),則程序員可以將重整理緩沖器控制寄存器 的Wt_Upd位置0,則多個(gè)DMA的寫請(qǐng)求可以直接寫入在寫緩沖。重整理緩沖器控制寄存器的配置信息和DMA通道綁定,程序員在配置DMA通道的 過(guò)程中設(shè)置重整理緩沖器控制寄存器。在DMA進(jìn)行數(shù)據(jù)傳輸時(shí),附加一個(gè)新的控制線標(biāo)識(shí) DMA總線包含的數(shù)據(jù)是當(dāng)前通道中的配置控制寄存器的請(qǐng)求或者是最后一個(gè)訪問(wèn)請(qǐng)求。緩沖存儲(chǔ)體中的每一行數(shù)據(jù)共用一組狀態(tài)位,包括標(biāo)簽位Tag、有效位Valid,其 中Tag的長(zhǎng)度VM的訪存地址相關(guān),Valid位的位數(shù)為1。狀態(tài)位在緩沖器工作時(shí)由硬件自 動(dòng)進(jìn)行設(shè)置,當(dāng)DMA讀請(qǐng)求需要訪問(wèn)的數(shù)據(jù)在讀緩沖中沒(méi)有命中時(shí),從VM中分配一行到讀 緩沖中,設(shè)置對(duì)應(yīng)的Tag位,同時(shí)將Valid位置1,當(dāng)進(jìn)行讀緩沖作廢操作時(shí),將所有行的 Valid位置0 ;當(dāng)DMA的寫請(qǐng)求需要訪問(wèn)的數(shù)據(jù)在寫緩沖中沒(méi)有命中時(shí),從VM中分配一行到 寫緩沖中,設(shè)置對(duì)應(yīng)的Tag位,同時(shí)將Valid位置1,將要寫的數(shù)據(jù)寫入到寫緩沖中的該行, 當(dāng)進(jìn)行寫緩沖更新操作時(shí),寫緩沖中的凡是Valid位為1的行中的數(shù)據(jù)需要更新至VM,然后 將所有的寫緩沖中每一行的Valid位置0。如圖3所示,為DMA總線通過(guò)重整理緩沖器從向量存儲(chǔ)器VM讀數(shù)據(jù)的流程圖
3. 1當(dāng)DMA對(duì)某一 VM地址進(jìn)行讀操作時(shí),查看當(dāng)前讀緩沖的Tag位和Valid位,判斷需 要讀取的數(shù)據(jù)是否在讀緩沖中命中,若當(dāng)前的讀地址和某一行數(shù)據(jù)的Tag位匹配,并且該 行的Valid位為1,則認(rèn)為該讀請(qǐng)求在讀緩沖中命中,轉(zhuǎn)至3. 3,否則轉(zhuǎn)至3. 2 ;
3. 2從VM讀取當(dāng)前讀操作的地址所在的一行數(shù)據(jù),將其分配到讀緩沖中,并將設(shè)置行 數(shù)據(jù)的Tag位,將Valid位置1 ;
3. 3從讀緩沖讀取當(dāng)前讀請(qǐng)求的地址所包含的數(shù)據(jù),根據(jù)控制寄存器的Cpr域,判斷 是否需要數(shù)據(jù)壓縮,若不需要數(shù)據(jù)壓縮,轉(zhuǎn)至3. 5,否則轉(zhuǎn)至3. 4 ; 3.4根據(jù)發(fā)明內(nèi)容中闡述的壓縮方式,將讀取的數(shù)據(jù)進(jìn)行壓縮; 3. 5將壓縮后或未經(jīng)壓縮的數(shù)據(jù)放置到DMA總線上,返回給DMA控制器,判斷當(dāng)前讀請(qǐng) 求是否是某次DMA通道中的最后一個(gè)請(qǐng)求,若不是,則轉(zhuǎn)至3. 1,準(zhǔn)備處理下一個(gè)DMA讀請(qǐng) 求;否則根據(jù)控制寄存器判斷是否需要作廢讀緩沖器,若不是則轉(zhuǎn)至3. 7,否則轉(zhuǎn)至3. 6 ; 3. 6將讀緩沖中所有行的Valid位置0 ;
3.7本次DMA通道的請(qǐng)求處理完畢。如圖4所示,為DMA通過(guò)重整理緩沖器向VM寫數(shù)據(jù)的流程圖
4.1當(dāng)DMA對(duì)某一 VM地址進(jìn)行寫操作時(shí),首先查看當(dāng)前寫緩沖的Tag位和Valid位, 判斷需要寫入的位置是否在寫緩沖中命中,若當(dāng)前的寫地址和某一行數(shù)據(jù)的Tag位匹配, 并且該行的Valid位為1,則認(rèn)為該寫請(qǐng)求在寫緩沖中命中,轉(zhuǎn)至4. 3,否則轉(zhuǎn)至4. 2 ;
4. 2從VM讀取當(dāng)前所寫位置的所在的行的數(shù)據(jù),將其分配到寫緩沖中,并將設(shè)置行數(shù) 據(jù)的Tag位,將Valid位置1 ;
4. 3根據(jù)控制寄存器的Exp域,判斷是否需要數(shù)據(jù)擴(kuò)展,若不需要,轉(zhuǎn)至4. 5,否則轉(zhuǎn)至
4. 4 ;
74. 4根據(jù)發(fā)明內(nèi)容中闡述的擴(kuò)展方式,將要寫入的數(shù)據(jù)進(jìn)行擴(kuò)展; 4. 5將擴(kuò)展后的數(shù)據(jù)或未經(jīng)擴(kuò)展的數(shù)據(jù)寫入到寫緩沖去,判斷當(dāng)前寫請(qǐng)求是否是某次 DMA通道中的最后一個(gè)請(qǐng)求,若不是,則轉(zhuǎn)至4. 1,準(zhǔn)備處理下一個(gè)DMA寫請(qǐng)求;否則根據(jù)控 制寄存器判斷是否需要將寫緩沖中的數(shù)據(jù)更新至VM中,若不是則轉(zhuǎn)至4. 7,否則轉(zhuǎn)至4. 6 ; 4.6將寫緩沖中所有行的Valid位為1的行的數(shù)據(jù)寫回到VM中之后,將Valid位置0 ; 4. 7本次DMA通道的請(qǐng)求處理完畢。如圖5所示,為多個(gè)DMA請(qǐng)求向同一 VM區(qū)域發(fā)送寫請(qǐng)求,數(shù)據(jù)重組的示意圖圖中 采用同一填充方式的數(shù)據(jù)來(lái)自于同一 DMA通道,可以看出寫緩沖器(假設(shè)有32行)共接受 了 8個(gè)DMA通道的寫數(shù)據(jù)。在不使用寫緩沖的情況下,每次DMA通道至少需要向VM訪問(wèn)32 次;使用寫緩沖的情況下,8個(gè)DMA通道總共需要向VM訪問(wèn)64次(32次寫分配和32次數(shù)據(jù) 更新),則平均每個(gè)通道訪問(wèn)VM的次數(shù)降低到了 8次。由此可見(jiàn),使用寫緩沖器能夠充分利 用不同DMA通道中的訪問(wèn)地址的空間局部性,將不同DMA通道的寫數(shù)據(jù)合并起來(lái),一起更新 至VM中,從而減少對(duì)VM的打擾。如圖6所示,通過(guò)重整理緩沖器進(jìn)行數(shù)據(jù)擴(kuò)展示意圖由于DMA總線帶寬是比較稀 缺的資源,在DMA總線上傳輸?shù)臄?shù)據(jù)往往是比較緊湊的數(shù)據(jù)。這些數(shù)據(jù)如果直接存放至VM 中,并且接受向量計(jì)算單元的處理,則其格式轉(zhuǎn)化開(kāi)銷比較大。圖中的DMA寫操作,地址總 線和數(shù)據(jù)總線上傳輸?shù)臄?shù)據(jù)分別是0x0000_4000和0x4433_2211,通過(guò)控制寄存器的設(shè)置, 原始數(shù)據(jù)分別擴(kuò)展成了四個(gè)寫請(qǐng)求,地址分別為0x0000_4000、0x0000_4004、0x0000_4008、 0x0000_400C、數(shù)據(jù)分別為 0x0000_0011、0x0000_0022、0x0000_0033、0x0000_0044,再一次 寫入到向量寫緩沖器中。如圖7所示,是通過(guò)重整理緩沖器進(jìn)行數(shù)據(jù)壓縮示意圖該過(guò)程和圖6的實(shí)例相 反。為了節(jié)約總線資源,VM中的數(shù)據(jù)在傳入DMA總線時(shí)可以先進(jìn)行壓縮,圖中讀請(qǐng)求訪問(wèn) 的地址為0x0000_5000 和 0x0000_5004,對(duì)應(yīng)的數(shù)據(jù)為 0x00001234 和 0x0000_5678,壓縮 為0x5678_1234后才傳輸至DMA總線上。以上僅是本發(fā)明的優(yōu)選實(shí)施方式,本發(fā)明的保護(hù)范圍并不僅局限于上述實(shí)施例, 凡屬于本發(fā)明思路下的技術(shù)方案均屬于本發(fā)明的保護(hù)范圍。應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的 普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明原理前提下的若干改進(jìn)和潤(rùn)飾,應(yīng)視為本發(fā)明的保護(hù) 范圍。
8
權(quán)利要求
一種用于向量數(shù)據(jù)流的重整理緩沖器,其特征在于包括緩沖存儲(chǔ)體,用來(lái)暫存來(lái)自于DMA總線的并且要寫入向量存儲(chǔ)器VM的數(shù)據(jù)或者暫存從向量存儲(chǔ)器VM讀出的并且要通過(guò)DMA總線寫入到其它空間的數(shù)據(jù);控制寄存器,由DMA總線傳輸開(kāi)始時(shí)進(jìn)行配置;狀態(tài)位,記錄了緩沖存儲(chǔ)體中的每一行映射的是向量存儲(chǔ)器VM中的哪一行,并且記錄了該行是否有效;主控邏輯單元,用來(lái)進(jìn)行總體控制,在DMA總線進(jìn)行數(shù)據(jù)傳輸時(shí),主控邏輯單元根據(jù)控制寄存器選擇不同的緩沖位置、進(jìn)行對(duì)應(yīng)的數(shù)據(jù)變換、并且在數(shù)據(jù)傳輸完畢選擇是否進(jìn)行讀寫緩沖器的作廢或更新處理。
2.根據(jù)權(quán)利要求1所述的用于向量數(shù)據(jù)流的重整理緩沖器,其特征在于所述緩沖存 儲(chǔ)體由多個(gè)并行的單端口 SRAM組成,其寬度與向量存儲(chǔ)器VM的寬度相同,記為W ;令緩沖 存儲(chǔ)體的容量為M,則緩沖存儲(chǔ)體共有L行數(shù)據(jù),其中L=M/W。
3.根據(jù)權(quán)利要求1所述的用于向量數(shù)據(jù)流的重整理緩沖器,其特征在于所述控制寄 存器包含讀寫緩沖區(qū)域、數(shù)據(jù)一致性域和數(shù)據(jù)壓縮擴(kuò)展域,所述讀寫緩沖區(qū)域包含讀緩沖 域和寫緩沖域;所述數(shù)據(jù)一致性域包含讀緩沖數(shù)據(jù)一致性域和寫緩沖數(shù)據(jù)一致性域,分別 控制讀緩沖數(shù)據(jù)作廢的時(shí)機(jī)和寫緩沖數(shù)據(jù)更新至向量存儲(chǔ)器VM的時(shí)機(jī);所述數(shù)據(jù)壓縮擴(kuò) 展域包含壓縮域和擴(kuò)展域。
全文摘要
一種用于向量數(shù)據(jù)流的重整理緩沖器,它包括緩沖存儲(chǔ)體,用來(lái)暫存來(lái)自于DMA總線的并且要寫入向量存儲(chǔ)器VM的數(shù)據(jù)或者暫存從向量存儲(chǔ)器VM讀出的并且要通過(guò)DMA總線寫入到其它空間的數(shù)據(jù);控制寄存器,由DMA總線傳輸開(kāi)始時(shí)進(jìn)行配置;狀態(tài)位,記錄了緩沖存儲(chǔ)體中的每一行映射的是向量存儲(chǔ)器VM中的哪一行,并且記錄了該行是否有效;主控邏輯單元,用來(lái)進(jìn)行總體控制,在DMA總線進(jìn)行數(shù)據(jù)傳輸時(shí),主控邏輯單元根據(jù)控制寄存器選擇不同的緩沖位置、進(jìn)行對(duì)應(yīng)的數(shù)據(jù)變換、并且在數(shù)據(jù)傳輸完畢選擇是否進(jìn)行讀寫緩沖器的作廢或更新處理。本發(fā)明具有結(jié)構(gòu)簡(jiǎn)單緊湊、成本低廉、適用范圍廣、可靠性好等優(yōu)點(diǎn)。
文檔編號(hào)G06F13/28GK101986287SQ20101055930
公開(kāi)日2011年3月16日 申請(qǐng)日期2010年11月25日 優(yōu)先權(quán)日2010年11月25日
發(fā)明者萬(wàn)江華, 劉仲, 劉祥遠(yuǎn), 劉勝, 孫書為, 張凱, 李振濤, 王耀華, 陳書明, 陳海燕 申請(qǐng)人:中國(guó)人民解放軍國(guó)防科學(xué)技術(shù)大學(xué)
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1