欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種二維數(shù)組數(shù)據(jù)流在存儲器上的讀寫方法及裝置制造方法

文檔序號:6489266閱讀:165來源:國知局
一種二維數(shù)組數(shù)據(jù)流在存儲器上的讀寫方法及裝置制造方法
【專利摘要】本發(fā)明提出二維數(shù)組在存儲器上的讀寫方法,包括:1.1,每個(gè)R×C的二維數(shù)組單元?jiǎng)澐殖蒒×N個(gè)大小相同的子數(shù)據(jù)塊,單位時(shí)間內(nèi)存儲器讀寫數(shù)據(jù)量均為N個(gè)子數(shù)據(jù)塊;1.2,大小為R×C×(N+1)/N的存儲器空間劃分為(N+1)×N個(gè)子空間,并唯一編號;1.3,建立存儲空間占用索引表,包含(N+1)×N個(gè)與子空間對應(yīng)的索引項(xiàng);1.4,依次將二維數(shù)組單元按照第一維度寫入空閑的子空間,設(shè)置寫入的子空間的索引項(xiàng)為占用;最早于第一個(gè)第二維度的數(shù)組元素全部寫入存儲器之后開始讀出操作:按照第二維度從存儲器依次讀出二維數(shù)組單元,設(shè)置讀出的子空間的索引項(xiàng)為空閑,釋放讀出的子空間。本發(fā)明還提出了用于上述方法的裝置。
【專利說明】—種二維數(shù)組數(shù)據(jù)流在存儲器上的讀寫方法及裝置
【技術(shù)領(lǐng)域】[0001]本發(fā)明涉及數(shù)字信號處理領(lǐng)域,尤其涉及一種二維數(shù)組數(shù)據(jù)流在存儲器上的讀寫方法及裝置。
【背景技術(shù)】
[0002]在當(dāng)前的數(shù)字信號處理中,常常要對二維數(shù)組進(jìn)行處理,更多的場景是對連續(xù)的二維數(shù)組數(shù)據(jù)流進(jìn)行持續(xù)不斷的處理,數(shù)據(jù)量大,持續(xù)時(shí)間長,處理速度要求高,處理時(shí)間有限,而且處理順序與數(shù)據(jù)源產(chǎn)生順序正交,比如無線通信中的時(shí)域頻域二維通信數(shù)據(jù)的處理,以子信道為單位,子信道是個(gè)時(shí)域頻域的二維數(shù)組,基帶處理裝置一次接收一組跨所有子信道的完整的頻域數(shù)據(jù),需要等收到一定時(shí)長的數(shù)據(jù),達(dá)到一個(gè)子信道要求的時(shí)間長度,才能開始啟動處理,數(shù)據(jù)不完整時(shí)只能先緩存。
[0003]為了保持?jǐn)?shù)據(jù)處理流水線通路不間斷,通常采用乒乓緩存技術(shù),使用兩塊相同大小數(shù)據(jù)單元緩存區(qū),一塊接收下一個(gè)二維數(shù)組數(shù)據(jù),一塊用于當(dāng)前二維數(shù)組數(shù)據(jù)處理,兩塊循環(huán)使用,達(dá)到乒乓緩存效果。其不足之處在于:在二維數(shù)組數(shù)據(jù)量大時(shí),需要開辟大量的存儲器空間,成為系統(tǒng)的一個(gè)巨大的資源負(fù)擔(dān),并且隨著系統(tǒng)容量的增加,比如無線寬帶通信,隨著通信帶寬和時(shí)隙的擴(kuò)大,該問題會越來越嚴(yán)重。

【發(fā)明內(nèi)容】

[0004]為了解決上述問題,本發(fā)明提出了一種二維數(shù)組數(shù)據(jù)流在存儲器上的讀寫方法,該方法針對的場景是:在單位時(shí)間T內(nèi),所述存儲器的讀出和寫入的數(shù)據(jù)總量相同,輸入數(shù)據(jù)流按照第一維度寫入存儲器空閑部分,輸出數(shù)據(jù)流同時(shí)按照第二維度從存儲器占用部分讀出。該方法包括以下步驟:
[0005]1.1,將每個(gè)大小為S,S=RXC的二維數(shù)組單元?jiǎng)澐殖蒒XN個(gè)大小相同的子數(shù)據(jù)塊,其中R和C都能被N整除,N ^ 2,在單位時(shí)間T內(nèi),存儲器的讀出和寫入的數(shù)據(jù)總量均為N個(gè)子數(shù)據(jù)塊;
[0006]1.2,將大小為SX (N+l)/N的存儲器的存儲空間劃分為(N+l) XN個(gè)與子數(shù)據(jù)塊同樣大小的存儲器子空間;
[0007]1.3,建立一個(gè)存儲空間占用索引表,所述索引表總共包含(N+l) XN個(gè)索引項(xiàng),每個(gè)索引項(xiàng)與一個(gè)存儲器子空間相互唯一對應(yīng),用于指示存儲器子空間的占用/空閑狀態(tài);
[0008]1.4,依次將二維數(shù)組單元按照第一維度順序?qū)懭肟臻e的存儲器子空間,同時(shí)設(shè)置寫入的子空間所對應(yīng)的索引項(xiàng)為占用;最早于第一個(gè)第二維度的數(shù)組元素全部寫入存儲器之后開始讀出操作:按照第二維度順序從存儲器依次讀出二維數(shù)組單元,同時(shí)設(shè)置讀出的子空間所對應(yīng)的索引項(xiàng)為空閑,并釋放已讀出的子空間。
[0009]上述步驟1.4中,所述讀出操作最早于第一個(gè)第二維度的數(shù)組元素全部寫入存儲器之后才開始是為了保證能夠按照第二維度順序讀出數(shù)據(jù)流。優(yōu)選的,所述讀出操作可以在一個(gè)完整二維數(shù)組單元全部寫入存儲器之后才開始。[0010]優(yōu)選的,在單位時(shí)間T內(nèi),數(shù)據(jù)流的寫入和讀出可以采用并發(fā)進(jìn)行的方式,也可以采用分時(shí)復(fù)用存儲器訪問的方式,只要在相同的單位時(shí)間T內(nèi),寫入和讀出存儲器的數(shù)據(jù)量相同,均為N個(gè)子數(shù)據(jù)塊,則無論采用何種方式,數(shù)據(jù)流的存儲器都不會發(fā)生上溢出或下溢出。
[0011]優(yōu)選的,在單位時(shí)間T內(nèi),N個(gè)子數(shù)據(jù)塊的讀寫可以為單次存儲器訪問操作,也可以為一系列存儲器訪問操作。
[0012]本發(fā)明也可用于多維數(shù)組數(shù)據(jù)流的讀寫,對于K維數(shù)組數(shù)據(jù),K≥3,需要先轉(zhuǎn)化為K-1層二維數(shù)組,參照本發(fā)明分步實(shí)現(xiàn)。 [0013]本發(fā)明是根據(jù)空間占用索引表,調(diào)度分配空閑的存儲器子空間,實(shí)現(xiàn)存儲器子空間的循環(huán)調(diào)用,達(dá)到以SX (N+l)/N大小的存儲器實(shí)現(xiàn)二維數(shù)組數(shù)據(jù)流的乒乓緩存的目的。優(yōu)選的,根據(jù)空間占用索引表調(diào)度分配空閑的存儲器子空間的算法可以進(jìn)一步采用如下的具體步驟來實(shí)現(xiàn):
[0014]步驟1.3中,所述索引表分為兩個(gè)部分,其中第一部分為一個(gè)包含NXN個(gè)索引項(xiàng)的二維索引表,支持從兩個(gè)維度的訪問操作,可以是二維索引鏈表或者二維矩陣索引表,第二部分包含其它N個(gè)索引項(xiàng),所述索引表的所有索引項(xiàng)初始化為空閑;
[0015]步驟1.4具體包括:
[0016]1.4.1,將第一個(gè)二維數(shù)組單元按照列方向?qū)懭肟臻e的存儲器子空間,并在索引表第一部分按照列方向填入寫入的子空間的編號;
[0017]在單位時(shí)間T內(nèi),二維數(shù)組數(shù)據(jù)流的讀出和寫入的數(shù)據(jù)量等于N個(gè)子數(shù)據(jù)塊,則從初始經(jīng)過單位時(shí)間NXT后,第一個(gè)完整的二維數(shù)組單元就完成了寫入,存儲器被占用NXN個(gè)子空間,空間占用索引表的第一部分記錄了相應(yīng)的存儲器子空間編號,未使用的N個(gè)子空間塊被記錄在空間占用索引表的第二部分。
[0018]1.4.2,將第二個(gè)二維數(shù)組單元按照列方向?qū)懭肟臻e的存儲器子空間,并且在索引表第一部分按照行方向填入被寫入的子空間的編號,該編號在索引表第二部分順序讀取;同時(shí)按照行方向從存儲器讀出第一個(gè)二維數(shù)組單元,并且在索引表第二部分順序填入被讀出子空間的編號,該編號在索引表第一部分按照行方向讀取;索引表更新的時(shí)間點(diǎn)可以參考下段描述。
[0019]在(N+l) XT單位時(shí)間內(nèi),進(jìn)行的是第二個(gè)二維數(shù)組單元第一列子數(shù)據(jù)塊的所有數(shù)組元素的寫入,同時(shí)進(jìn)行第一個(gè)二維數(shù)組單元第一行子數(shù)據(jù)塊的所有數(shù)組元素的讀出。被寫入的子空間的編號在空間占用索引表第二部分讀??;被讀出子空間的編號在索引表第一部分的行方向讀取出;在單位時(shí)間結(jié)束時(shí),被讀出釋放的N個(gè)存儲器子空間才被記錄在空間占用索引表第二部分,寫滿新數(shù)據(jù)的N個(gè)原空閑存儲器子空間的編號,按照行方向才被記錄在索引表第一部分,取代被讀出的存儲器子空間的編號。
[0020]在(N+2) X T到(N+N) X T單位時(shí)間內(nèi),參照上段描述繼續(xù)進(jìn)行數(shù)據(jù)流的寫入和讀出操作,在(N+N) XT單位時(shí)間結(jié)束時(shí),第二個(gè)二維數(shù)組單元被完全寫入存儲器,第一個(gè)二維數(shù)組單元完成所有元素的輸出。
[0021]1.4.3,將第三個(gè)二維數(shù)組單元按照列方向?qū)懭肟臻e的存儲器子空間,并且在索引表第一部分按照列方向填入被寫入的子空間的編號,該編號在索引表第二部分順序讀??;同時(shí)按照行方向從存儲器讀出第二個(gè)二維數(shù)組單元,并且在索引表第二部分順序填入被讀出子空間的編號,該編號在索引表第一部分按照列方向讀??;
[0022]在(2N+1) XT單位時(shí)間內(nèi),進(jìn)行的是第三個(gè)二維數(shù)組單元第一列子數(shù)據(jù)塊的所有數(shù)組元素的輸入,同時(shí)進(jìn)行第二個(gè)二維數(shù)組單元第一行子數(shù)據(jù)塊的所有數(shù)組元素的輸出;由于第二個(gè)二維數(shù)組單元在存儲器子空間復(fù)用過程中,子空間分配方向發(fā)生了改變,所以被讀出子空間的編號在空間占用索引表第一部分按照列方向讀?。槐粚懭氲淖涌臻g的編號在空間占用索引表第二部分讀?。辉趩挝粫r(shí)間結(jié)束時(shí),被讀出釋放的N個(gè)存儲器子空間才被記錄在空間占用索引表第二部分,寫滿新數(shù)據(jù)的N個(gè)原空閑存儲器子空間的編號,按照列方向才被記錄在索引表第一部分,取代被讀出的存儲器子空間的編號。
[0023]在(2N+2) XT到(2N+N) XT單位時(shí)間內(nèi),參照上段描述繼續(xù)進(jìn)行數(shù)據(jù)流的寫入和讀出操作。在(2N+N)XT單位時(shí)間結(jié)束時(shí),第三個(gè)二維數(shù)組單元被完全寫入存儲器,第二個(gè)二維數(shù)組單元完成所有元素的輸出。
[0024]1.4.4,第奇數(shù)序號的二維數(shù)組單元讀出時(shí),參照步驟1.4.2進(jìn)行,第偶數(shù)序號的二維數(shù)組單元讀出時(shí),參照步驟1.4.3進(jìn)行。
[0025]優(yōu)選的,由于維度的等效性,上述調(diào)度分配的行操作和列操作可以進(jìn)行統(tǒng)一的互換,不影響方法的實(shí)施效果。當(dāng)輸入數(shù)據(jù)流按照行方向?qū)懭氪鎯ζ骺臻e部分,輸出數(shù)據(jù)流按照列方向從存儲器占用部分讀出時(shí),相應(yīng)的,在空間占用索引表第一部分填入或讀取子空間編號所依照的行列順序也將進(jìn)行互換。
[0026]優(yōu)選的,上述具體實(shí)現(xiàn)方法中,只要根據(jù)索引表中的子空間的編號就可以找到數(shù)據(jù)的存儲位置,因此,存儲器子空間存儲方向可以和二維數(shù)組單元生成方向相同或不同,其存儲方向可以任意設(shè)定,在數(shù)據(jù)流讀取過程中保持一致即可,不會影響方法的實(shí)施效果。
[0027]本發(fā)明還提出了一種用于二維數(shù)組數(shù)據(jù)流存取的裝置,包括以下部分:存儲器單元,空間占用索引表單元,讀寫地址計(jì)算單元和存儲器讀寫控制單元;所述存儲器單元被劃分為(N+l) XN個(gè)與子數(shù)據(jù)塊同樣大小的存儲器子空間;所述空間占用索引表單元包含一個(gè)NXN的二維寄存器組和一個(gè)大小為N的一維寄存器組,用于記錄存儲器子空間的編號,還包含一個(gè)二維數(shù)組單元序號奇偶標(biāo)記器,用于控制二維寄存器組的編號讀取方向;所述讀寫地址計(jì)算單元根據(jù)空間占用索引表單元提供的存儲器子空間的編號和存儲器讀寫控制單元提供的讀寫相對地址,計(jì)算出存儲器子空間的絕對地址,向存儲器讀寫控制單元輸出;所述存儲器讀寫控制單元根據(jù)讀寫地址計(jì)算單元提供的絕對地址、外部輸入的數(shù)據(jù),生成存儲器單元的訪問控制時(shí)序。
[0028]本發(fā)明提出的另一種用于二維數(shù)組數(shù)據(jù)流存取的裝置,包括以下部分:存儲器單元,空間占用索引表單元,存儲器子空間選擇單元和存儲器讀寫控制單元;所述存儲器單元?jiǎng)澐譃?N+l) XN個(gè)與子數(shù)據(jù)塊同樣大小的存儲器子空間,還包含一個(gè)讀通道多路選擇器和一個(gè)寫通道多路選擇器,根據(jù)存儲器子空間選擇單元提供的讀選擇信號選通輸出存儲器子空間,根據(jù)存儲器塊選擇單元提供的寫選擇信號選通輸入存儲器子空間;所述空間占用索引表單元包含一個(gè)NXN的二維寄存器組和一個(gè)大小為N的一維寄存器組,用于記錄存儲器子空間的編號,還包含一個(gè)二維數(shù)組單元序號奇偶標(biāo)記器,用于控制二維寄存器組的編號讀取方向;所述存儲器子空間選擇單元根據(jù)空間占用索引表提供的存儲器子空間的編號,向存儲器單元輸出讀、寫存儲器子空間的選擇信號;所述存儲器讀寫控制單元根據(jù)外部輸入的數(shù)據(jù),生成存儲器單元的訪問控制時(shí)序。[0029]優(yōu)選的,上段所述裝置中的空間占用索引表單元和存儲器子空間選擇單元可以用一個(gè)存儲器子空間復(fù)用選擇單元代替。所述存儲器子空間復(fù)用選擇單元內(nèi)部集成一個(gè)存儲器子空間輪換狀態(tài)機(jī),根據(jù)存儲器子空間的地址空間信息,向存儲器單元輸出讀、寫存儲器子空間塊的選擇信號。
[0030]本發(fā)明針對輸入輸出具有維度正交特性的二維數(shù)組數(shù)據(jù)流,用(N+l)/N倍(NS 2)二維數(shù)組數(shù)據(jù)量大小的存儲器,實(shí)現(xiàn)了二維數(shù)組數(shù)據(jù)流的乒乓緩存,而常規(guī)方法實(shí)現(xiàn)二維數(shù)組數(shù)據(jù)流的乒乓緩存需要2S大小的存儲器。根據(jù)實(shí)際應(yīng)用,在二維數(shù)組數(shù)據(jù)可分的合理N值范圍內(nèi),N值越大,節(jié)省的存儲器容量越大。
[0031]與現(xiàn)有技術(shù)相比,本發(fā)明的優(yōu)點(diǎn)在于:1,可節(jié)省二維數(shù)組數(shù)據(jù)流的存儲空間;2,存儲器子空間的分割大小一致,子數(shù)據(jù)塊存儲的格式一致,簡化了數(shù)據(jù)存儲的過程,方便了數(shù)據(jù)流的讀取訪問,提高了存儲器訪問效率。
【專利附圖】

【附圖說明】
[0032]圖1是實(shí)施例一的8T時(shí)間內(nèi)的數(shù)據(jù)流存取的調(diào)度順序示意圖;
[0033]圖2是實(shí)施例一的第I個(gè)單位時(shí)間T內(nèi),存儲器子空間塊O、I的存儲方向示意圖;
[0034]圖3是實(shí)施例一的第3個(gè)單位時(shí)間T內(nèi),存儲器子空間塊0、3的讀出方向,以及存儲器子空間塊2、5的存儲方向示意圖;
[0035]圖4是實(shí)施例二所描述的裝置的結(jié)構(gòu)示意圖;
[0036]圖5是實(shí)施例三所描述的裝置的結(jié)構(gòu)示意圖;
[0037]圖6是實(shí)施例四所描述的裝置的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0038]下面結(jié)合附圖,通過具體實(shí)施例對本發(fā)明做進(jìn)一步詳細(xì)說明。
[0039]實(shí)施例一
[0040]本實(shí)施例描述R=6,C=4, N=2時(shí),二維數(shù)組數(shù)據(jù)流在存儲器上的讀寫方法。設(shè)定二維數(shù)組數(shù)據(jù)流的一個(gè)完整二維數(shù)組單元的大小為S (S=6X4,R=6,C=4),將一個(gè)完整二維數(shù)組單元分成NXN (N=2)個(gè)相同大小的子數(shù)據(jù)塊,形成一個(gè)二維的數(shù)據(jù)矩陣,每個(gè)子數(shù)據(jù)塊數(shù)據(jù)量為3X2 ;二維數(shù)組數(shù)據(jù)流在指定的單位時(shí)間T內(nèi),寫入和讀出存儲器的數(shù)據(jù)量相同,都是2個(gè)數(shù)據(jù)塊大小為12,保證數(shù)據(jù)流的存儲器不發(fā)生上溢出或下溢出。輸入數(shù)據(jù)流按照列方向?qū)懭肟臻e存儲器,輸出數(shù)據(jù)流按照行方向從存儲器讀出。最早于第一行所有元素全部存在存儲器上之后才能開始數(shù)據(jù)流輸出,起始時(shí)間定義為O。
[0041]本實(shí)施例為了便于描述取N=2,但在實(shí)際應(yīng)用時(shí)并不限于N=2,在二維數(shù)組數(shù)據(jù)可分的合理N值范圍內(nèi),N值盡量取大,節(jié)省的存儲器容量越大。如圖1所示,本實(shí)施例在二維數(shù)組數(shù)據(jù)流的一個(gè)完整二維數(shù)組單元全部存在存儲器上之后才開始數(shù)據(jù)流輸出。圖1中,橫軸為時(shí)間軸,以單位時(shí)間T推進(jìn);從時(shí)間軸開始從上往下,第一行是輸入二維數(shù)組數(shù)據(jù)流子數(shù)據(jù)塊,子數(shù)據(jù)塊編號的第一個(gè)數(shù)字為完整二維數(shù)組單元的序號,第二個(gè)數(shù)字為二維數(shù)組單元內(nèi)部子數(shù)據(jù)塊的編號;第二行是輸出二維數(shù)組數(shù)據(jù)流子數(shù)據(jù)塊,編號含義相同;第三行是存儲器,存儲器子空間的大小與子數(shù)據(jù)塊相同,在時(shí)間O時(shí)刻存儲器的子空間上面是存儲器子空間編號,后續(xù)時(shí)刻存儲器的每個(gè)子空間上的編號對應(yīng)的是二維數(shù)組子數(shù)據(jù)塊,表示存儲了相應(yīng)子數(shù)據(jù)塊的數(shù)據(jù);第四行是存儲器空間占用索引表,分兩部分,上面的是空間占用索引矩陣,下面是空閑空間索引隊(duì)列,調(diào)度過程中記錄的是存儲器子空間的編號或者基地址。
[0042]設(shè)定二維數(shù)組數(shù)據(jù)流的存儲器空間總量需要SX 3/2,等同于6個(gè)上述子數(shù)據(jù)塊;首先將存儲器分成6個(gè)相同大小的存儲子空間,編號標(biāo)記,如圖1所示從O到5進(jìn)行編號;建立有6項(xiàng)索引的空間占用索引表,初始化為空閑值;空間占用索引表分為兩個(gè)部分,其中第一部分含2X2項(xiàng),建立為二維索引鏈表或者二維矩陣索引表,可以支持從兩個(gè)維度的訪問操作,剩余2項(xiàng)索引表為第二部分,如圖O時(shí)刻所示。
[0043]下面結(jié)合圖1描述8T時(shí)間內(nèi)的數(shù)據(jù)流存取方法,后續(xù)時(shí)間是這些過程的循環(huán),不
再重復(fù)描述。
[0044]步驟a,在前2T時(shí)間內(nèi),接收二維數(shù)組輸入數(shù)據(jù)流的第一個(gè)完整二維數(shù)組單元,該完整二維數(shù)組單元分成2X2個(gè)相同大小的子數(shù)據(jù)塊;假定輸入數(shù)據(jù)流按照列方向生成,按照列方向順序?qū)懭肟臻e存儲器,每填充一個(gè)存儲器子空間塊,就將子空間塊編號按照列方向填入空間占用索引表。經(jīng)過2個(gè)單位時(shí)間T,一個(gè)完整二維數(shù)組單元完成輸入,存儲器空間被占用4個(gè)子空間塊,空間占用索引表的第一部分記錄了相應(yīng)的存儲器子空間塊編號。未使用的2個(gè)子空間塊被記錄在空間占用索引表的第二部分。
[0045]本實(shí)施例的存儲器子空間的存儲方向和數(shù)據(jù)流二維數(shù)組單元生成方向相同,如圖2所示,在第I個(gè)單位時(shí)間T內(nèi),子空間塊O、子空間塊I的數(shù)據(jù)存儲方向和子數(shù)據(jù)塊1-0、子數(shù)據(jù)塊1-1的數(shù)據(jù)生成方向相同。
[0046]步驟b,在第3個(gè)單位時(shí)間T內(nèi),進(jìn)行第二個(gè)二維數(shù)組單元第一個(gè)和第二個(gè)列元素(即子數(shù)據(jù)塊2-0、2_1)的輸入,同時(shí)進(jìn)行第一個(gè)二維數(shù)組單元第一個(gè)到第三個(gè)行元素(即子數(shù)據(jù)塊1-0、1_2)的輸出;輸出地址按照空間占用索引表第一部分的行方向讀取出子空間塊編號進(jìn)行計(jì)算;輸入地址按照空間占用索引表第二部分讀取出子空間塊編號進(jìn)行計(jì)算;在單位時(shí)間結(jié)束時(shí),被讀出釋放的2個(gè)存儲器子空間塊編號被順序記錄在空間占用索引表第二部分;寫滿新數(shù)據(jù)的原空閑存儲器子空間塊編號,被填入空間占用索引表第一部分的索引項(xiàng),取代被輸出的存儲器子空間塊編號。
[0047]如圖3所示,在第3個(gè)單位時(shí)間T內(nèi),子空間塊O、子空間塊3的數(shù)據(jù)讀出方向和子數(shù)據(jù)塊1-0、子數(shù)據(jù)塊1-2的數(shù)據(jù)生成方向正交,子空間塊2、子空間塊5的數(shù)據(jù)存儲方向和子數(shù)據(jù)塊2-0、子數(shù)據(jù)塊2-1的數(shù)據(jù)生成方向相同。
[0048]步驟C,在第4個(gè)單位時(shí)間T內(nèi),參照步驟b進(jìn)行數(shù)據(jù)流的輸入輸出操作。在第4個(gè)單位時(shí)間T結(jié)束時(shí),第二個(gè)二維數(shù)組單元被完全寫入存儲器,第一個(gè)二維數(shù)組單元完成所有元素的輸出。
[0049]步驟d,在第5個(gè)單位時(shí)間T內(nèi),進(jìn)行第三個(gè)二維數(shù)組單元第一個(gè)和第二個(gè)列元素的輸入,同時(shí)進(jìn)行第二個(gè)二維數(shù)組單元第一個(gè)到第三個(gè)行元素的輸出;由于第二個(gè)二維數(shù)組單元在存儲器子空間復(fù)用過程中,存儲方向發(fā)生了改變,所以其輸出地址按照空間占用索引表第一部分的列方向讀取出子空間塊編號進(jìn)行計(jì)算;輸入地址按照空間占用索引表第二部分讀取出子空間塊編號進(jìn)行計(jì)算;其余操作與步驟b相同。
[0050]步驟e,在第6個(gè)單位時(shí)間T內(nèi),參照步驟d進(jìn)行數(shù)據(jù)流的輸入輸出操作,只是輸出地址按照空間占用索引表第一部分的列方向讀取出子空間塊編號進(jìn)行計(jì)算。[0051 ] 步驟f,第奇數(shù)序號的二維數(shù)組單元輸出時(shí),參照步驟b到c進(jìn)行,第偶數(shù)序號的二維數(shù)組單元輸出時(shí),參照步驟d到e進(jìn)行。
[0052]在上述實(shí)現(xiàn)中,為了簡潔,空間占用索引表第一部分使用了 2維數(shù)組,也可以采用2維鏈表的結(jié)構(gòu)來實(shí)現(xiàn)。
[0053]本實(shí)施例的調(diào)度分配空閑存儲器子空間的算法采用空間占用索引表讀取順序與二維數(shù)組元素順序關(guān)聯(lián)的方案,由于維度的等效性,可以將上述的行操作換為列操作,同時(shí)列操作換為行操作,不影響算法的實(shí)施效果。此外,本實(shí)施例存儲器子空間的存儲方向和數(shù)據(jù)流二維數(shù)組單元生成方向相同,簡化了數(shù)據(jù)存儲的過程,方便了數(shù)據(jù)流的讀取訪問,提高了存儲器訪問效率。實(shí)際應(yīng)用時(shí),存儲器子空間的存儲方向也可以和數(shù)據(jù)流二維數(shù)組單元生成方向不相同,存儲器子空間的存儲方向可以任意設(shè)定,只要在數(shù)據(jù)流讀取過程中保持一致即可,不會影響子空間調(diào)度算法的實(shí)施效果。
[0054]本實(shí)施例中N=2,使用了 3S/2大小的存儲器實(shí)現(xiàn)了二維數(shù)組數(shù)據(jù)流的乒乓緩存,相比通常的乒乓緩存方法節(jié)省了 S/2大小的存儲器。
[0055]實(shí)施例二
[0056]本實(shí)施例描述一個(gè)用于實(shí)施例一的二維數(shù)組數(shù)據(jù)流的存儲器讀寫裝置,R=6, C=4,N=2。
[0057]本實(shí)施例的裝置的結(jié)構(gòu)示意圖如圖4所示,可以電路集成在通信基帶處理器中,該裝置包括存儲器單元,空間占用索引表單元,讀寫地址計(jì)算單元和存儲器讀寫控制單元;
[0058]存儲器單元統(tǒng)一編址,按照二維數(shù)組子數(shù)據(jù)塊大小,將存儲器單元分為6塊連續(xù)、大小相同的地址區(qū)域。
[0059]上述空間占用索引表單元分為兩部分,第一部分采用2X2的寄存器組,第二部分采用1X2的寄存器組,每個(gè)索引項(xiàng)用于記錄存儲器子空間的區(qū)域編號;空間占用索引表單元內(nèi)部還集成二維數(shù)組單元序號奇偶標(biāo)記器,用于控制2X2的寄存器組記錄的區(qū)域編號的讀取方向。
[0060]上述讀寫地址計(jì)算單元根據(jù)空間占用索引表單元提供的地址空間信息和存儲器讀寫控制單元提供的讀寫相對地址,計(jì)算出數(shù)據(jù)在存儲器子空間中存放的絕對地址,向存儲器讀寫控制單元輸出。
[0061]上述存儲器讀寫控制單元根據(jù)讀寫地址計(jì)算單元提供的絕對地址、外部輸入的數(shù)據(jù),生成存儲器單元的訪問控制時(shí)序。
[0062]本實(shí)施例的存儲器使用了嵌入式單端口靜態(tài)存儲器,數(shù)據(jù)流輸入輸出分時(shí)共享同一訪問界面,單端口靜態(tài)存儲器的訪問速率是數(shù)據(jù)流速度的2倍。也可以使用嵌入式雙端口靜態(tài)存儲器,數(shù)據(jù)流輸入輸出使用各自的訪問界面,雙端口靜態(tài)存儲器的訪問速率和數(shù)據(jù)流速度相同;也可以應(yīng)用其他類型的存儲器,保證存儲器的訪問速率和數(shù)據(jù)流速度匹配即可。
[0063]實(shí)施例三
[0064]本實(shí)施例描述又一個(gè)用于實(shí)施例一的二維數(shù)組數(shù)據(jù)流的存儲器讀寫裝置,R=6,C=4, N=2。
[0065]本實(shí)施例的裝置的結(jié)構(gòu)示意圖如圖5所示,可以電路集成在通信基帶處理器中,該裝置包括存儲器單元,空間占用索引表單元,存儲器子空間選擇單元和存儲器讀寫控制單元。
[0066]上述存儲器單元統(tǒng)一編址,按照二維數(shù)組數(shù)據(jù)子塊大小,將存儲器單元分為6塊大小相同,物理獨(dú)立的存儲器塊;內(nèi)部包含一個(gè)讀通道多路選擇器和一個(gè)寫通道多路選擇器,根據(jù)存儲器子空間選擇單元提供的讀選擇信號選通輸出存儲器子空間塊,根據(jù)存儲器子空間選擇單元提供的寫選擇信號選通輸入存儲器子空間塊。對外可以提供同時(shí)的輸入輸出操作。存儲器可以使用嵌入式單端口靜態(tài)存儲器,也可以使用雙端口靜態(tài)存儲器,或其他類型的存儲器,本實(shí)施例采用了嵌入式單端口靜態(tài)存儲器。
[0067]上述空間占用索引表單元第一部分采用2X2的寄存器組,第二部分采用1X2的寄存器組;用于記錄存儲器子空間的區(qū)域編號;空間占用索引表單元內(nèi)部還集成二維數(shù)組單元序號奇偶標(biāo)記器,用于控制二維寄存器組輸出區(qū)域編號的讀取方向。
[0068]上述存儲器子空間選擇單元根據(jù)空間占用索引表單元提供的地址空間信息,向存儲器單元輸出讀、寫存儲器子空間塊的選擇信號。
[0069]上述存儲器讀寫控制單元根據(jù)外部輸入的數(shù)據(jù),生成存儲器單元的訪問控制時(shí)序。
[0070]實(shí)施例四
[0071]本實(shí)施例還描述一個(gè)用于實(shí)施例一的二維數(shù)組數(shù)據(jù)流的存儲器讀寫裝置,R=6,C=4, N=2。
[0072]本實(shí)施例的裝置的結(jié)構(gòu)示意圖如圖6所示,可以電路集成在通信基帶處理器中,該裝置包括存儲器單元,存儲器子空間復(fù)用選擇單元和存儲器讀寫控制單元。
[0073]上述存儲器單元和實(shí)施例三中的存儲器單元結(jié)構(gòu)一致。
[0074]上述存儲器讀寫控制單元根據(jù)外部輸入的數(shù)據(jù),生成存儲器單元的訪問控制時(shí)序。
[0075]上述存儲器子空間復(fù)用選擇單元內(nèi)部集成一個(gè)存儲器子空間輪換狀態(tài)機(jī),根據(jù)存儲器子空間的地址空間信息,向存儲器單元輸出讀、寫存儲器子空間塊的選擇信號。按照實(shí)施例一描述的存儲器子空間的調(diào)度算法,經(jīng)過有限次數(shù)的輪換后,會出現(xiàn)子空間輪換狀態(tài)的重復(fù),因此經(jīng)過有限次數(shù)的輪換后,可以使用一個(gè)固定狀態(tài)轉(zhuǎn)移序列的狀態(tài)機(jī)來實(shí)現(xiàn)這種固定的輪換次序,從而省略空間占用索引表單元的使用。
[0076]由于上述存儲器單元內(nèi)部的存儲器子空間塊結(jié)構(gòu)的相同性,可以在每次數(shù)據(jù)的輸入過程中選擇空閑存儲器子空間塊的任意一個(gè)來先存放數(shù)據(jù),即可以任意調(diào)配空閑存儲器子空間塊順序來存儲輸入數(shù)據(jù),進(jìn)而優(yōu)化存儲器塊輪換達(dá)到重復(fù)所需要的次數(shù),減少存儲器塊輪換狀態(tài)機(jī)的狀態(tài)數(shù)目,優(yōu)化電路結(jié)構(gòu)。
[0077]以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1.一種二維數(shù)組數(shù)據(jù)流在存儲器上的讀寫方法,所述二維數(shù)組數(shù)據(jù)流由RXC的二維數(shù)組單元組成,其特征在于,包括以下步驟: .1.1,將每個(gè)二維數(shù)組單元?jiǎng)澐殖蒒XN個(gè)大小相同的子數(shù)據(jù)塊,其中R和C都能被N整除,N ^ 2,在單位時(shí)間T內(nèi),存儲器的讀出和寫入的數(shù)據(jù)總量均為N個(gè)子數(shù)據(jù)塊; .1.2,將大小為RXCX (N+l)/N的存儲器的存儲空間劃分為(N+l) XN個(gè)與子數(shù)據(jù)塊同樣大小的存儲器子空間,并建立唯一編號; .1.3,建立一個(gè)存儲空間占用索引表,所述索引表總共包含(N+l) XN個(gè)索引項(xiàng),每個(gè)索引項(xiàng)與一個(gè)存儲器子空間相互唯一對應(yīng),用于指示存儲器子空間的占用/空閑狀態(tài); .1.4,依次將二維數(shù)組單元按照第一維度順序?qū)懭肟臻e的存儲器子空間,同時(shí)設(shè)置寫入的子空間所對應(yīng)的索引項(xiàng)為占用;最早于第一個(gè)第二維度的數(shù)組元素全部寫入存儲器之后開始讀出操作:按照第二維度順序從存儲器依次讀出二維數(shù)組單元,同時(shí)設(shè)置讀出的子空間所對應(yīng)的索引項(xiàng)為空閑,并釋放已讀出的子空間。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于步驟1.4,所述讀出操作在一個(gè)完整二維數(shù)組單元全部寫入存儲器之后才開始。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,在單位時(shí)間T內(nèi),存儲器的讀出和寫入,采用并發(fā)進(jìn)行的方式,或者采用分時(shí)復(fù)用存儲器訪問的方式。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,在單位時(shí)間T內(nèi),N個(gè)子數(shù)據(jù)塊的讀寫為單次存儲器訪問操作或者為一系列存儲器訪問操作。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,對于K維數(shù)組數(shù)據(jù),K≥3,先轉(zhuǎn)化為K-1層二維數(shù)組,再按照步驟1.1至步驟1.4分步實(shí)現(xiàn)。
6.根據(jù)權(quán)利要求1所述的方法,其特征在于: 步驟1.3中,所述索引表分為兩個(gè)部分,其中第一部分為一個(gè)包含NXN個(gè)索引項(xiàng)的二維索引表,第二部分包含其它N個(gè)索引項(xiàng),所述索引表的所有索引項(xiàng)初始化為空閑; 步驟1.4具體包括: .1.4.1,將第一個(gè)二維數(shù)組單元按照列方向?qū)懭肟臻e的存儲器子空間,并在索引表第一部分按照列方向填入寫入的子空間的編號; . 1.4.2,將第二個(gè)二維數(shù)組單元按照列方向?qū)懭肟臻e的存儲器子空間,并且在索引表第一部分按照行方向填入被寫入的子空間的編號,該編號在索引表第二部分順序讀?。煌瑫r(shí)按照行方向從存儲器讀出第一個(gè)二維數(shù)組單元,并且在索引表第二部分順序填入被讀出子空間的編號,該編號在索引表第一部分按照行方向讀取; . 1.4.3,將第三個(gè)二維數(shù)組單元按照列方向?qū)懭肟臻e的存儲器子空間,并且在索引表第一部分按照列方向填入被寫入的子空間的編號,該編號在索引表第二部分順序讀?。煌瑫r(shí)按照行方向從存儲器讀出第二個(gè)二維數(shù)組單元,并且在索引表第二部分順序填入被讀出子空間的編號,該編號在索引表第一部分按照列方向讀取; .1.4.4,第奇數(shù)序號的二維數(shù)組單元讀出時(shí),按照步驟1.4.2進(jìn)行,第偶數(shù)序號的二維數(shù)組單元讀出時(shí),按照步驟1.4.3進(jìn)行。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,行操作和列操作進(jìn)行互換。
8.根據(jù)權(quán)利要求6所述的方法,其特征在于,存儲器子空間存儲方向和二維數(shù)組單元生成方向不相同。
9.一種用于權(quán)利要求6的裝置,其特征在于,包括以下部分:存儲器單元,空間占用索引表單元,讀寫地址計(jì)算單元和存儲器讀寫控制單元; 所述存儲器單元被劃分為(N+l) XN個(gè)與子數(shù)據(jù)塊同樣大小的存儲器子空間; 所述空間占用索引表單元包含一個(gè)NXN的二維寄存器組和一個(gè)大小為N的一維寄存器組,用于記錄存儲器子空間的編號,還包含一個(gè)二維數(shù)組單元序號奇偶標(biāo)記器,用于控制二維寄存器組的編號讀取方向; 所述讀寫地址計(jì)算單元根據(jù)空間占用索引表單元提供的存儲器子空間的編號和存儲器讀寫控制單元提供的讀寫相對地址,計(jì)算出存儲器子空間的絕對地址,向存儲器讀寫控制單兀輸出; 所述存儲器讀寫控制單元根據(jù)讀寫地址計(jì)算單元提供的絕對地址、外部輸入的數(shù)據(jù),生成存儲器單元的訪問控制時(shí)序。
10.一種用于權(quán)利要求6的裝置,其特征在于,包括以下部分:存儲器單元,空間占用索引表單元,存儲器子空間選擇單元和存儲器讀寫控制單元; 所述存儲器單元?jiǎng)澐譃?N+l) XN個(gè)與子數(shù)據(jù)塊同樣大小的存儲器子空間;還包含一個(gè)讀通道多路選擇器和一個(gè)寫通道多路選擇器,根據(jù)存儲器子空間選擇單元提供的讀選擇信號選通輸出存儲器子空間,根據(jù)存儲器塊選擇單元提供的寫選擇信號選通輸入存儲器子空間; 所述空間占用索引表單元包含一個(gè)NXN的二維寄存器組和一個(gè)大小為N的一維寄存器組,用于記錄存儲器子空間的編號,還包含一個(gè)二維數(shù)組單元序號奇偶標(biāo)記器,用于控制二維寄存器組的編號讀取方向; 所述存儲器子空間選擇單元根據(jù)空間占用索引表提供的存儲器子空間的編號,向存儲器單元輸出讀、寫存儲器子空間的選擇信號; 所述存儲器讀寫控制單元根據(jù)外部輸入的數(shù)據(jù),生成存儲器單元的訪問控制時(shí)序。
11.一種用于權(quán)利要求6的裝置,其特征在于,包括以下部分:存儲器單元,存儲器子空間復(fù)用選擇單元,存儲器讀寫控制單元, 所述存儲器單元?jiǎng)澐譃?N+l) XN個(gè)與子數(shù)據(jù)塊同樣大小的存儲器子空間;還包含一個(gè)讀通道多路選擇器和一個(gè)寫通道多路選擇器,根據(jù)存儲器子空間復(fù)用選擇單元提供的讀選擇信號選通輸出存儲器子空間,根據(jù)存儲器子空間復(fù)用選擇單元提供的寫選擇信號選通輸入存儲器子空間; 所述存儲器子空間復(fù)用選擇單元內(nèi)部集成一個(gè)存儲器子空間輪換狀態(tài)機(jī),根據(jù)存儲器子空間的地址空間信息,向存儲器單元輸出讀、寫存儲器子空間塊的選擇信號; 所述存儲器讀寫控制單元根據(jù)外部輸入的數(shù)據(jù),生成存儲器單元的訪問控制時(shí)序。
【文檔編號】G06F3/06GK103677655SQ201210364001
【公開日】2014年3月26日 申請日期:2012年9月26日 優(yōu)先權(quán)日:2012年9月26日
【發(fā)明者】王松 申請人:北京信威通信技術(shù)股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
金寨县| 环江| 盘锦市| 斗六市| 花莲县| 宁德市| 辽阳县| 上杭县| 南靖县| 武冈市| 浑源县| 松原市| 仙桃市| 莎车县| 长岛县| 江源县| 观塘区| 佛山市| 舒兰市| 广南县| 曲阜市| 晋江市| 汪清县| 麟游县| 望奎县| 梧州市| 万盛区| 和林格尔县| 体育| 丰镇市| 梅河口市| 上蔡县| 沐川县| 合江县| 鲁山县| 乌兰县| 会理县| 云霄县| 海丰县| 石河子市| 永兴县|