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

數(shù)據(jù)的存取裝置和方法

文檔序號:6610609閱讀:209來源:國知局
專利名稱:數(shù)據(jù)的存取裝置和方法
技術領域
本發(fā)明涉及電子技術領域,尤其涉及一種數(shù)據(jù)的存取裝置和方法。
技術背景在數(shù)據(jù)類芯片的電路設計中,基于不定長協(xié)議的多個通道數(shù)據(jù)的存儲與 管理,是一個關鍵的技術實現(xiàn)要點。目前,通常由存儲器與存儲控制器來實 現(xiàn)上述多個通道數(shù)據(jù)的存儲與管理?,F(xiàn)有技術中第 一種實現(xiàn)多個通道數(shù)據(jù)的存儲與管理的方法為用多個獨 立的緩存器件實現(xiàn)分布式的多個通道數(shù)據(jù)的緩存。在實現(xiàn)本發(fā)明的過程中,發(fā)明人發(fā)現(xiàn)在上述第 一種實現(xiàn)多個通道數(shù)據(jù)的 存儲與管理的方法中,各個獨立的緩存器件之間集成度不高,靈活性也不高?,F(xiàn)有技術中第二種實現(xiàn)多個通道數(shù)據(jù)的存儲與管理的方法為用 一個大 的數(shù)據(jù)存儲器作為所有通道數(shù)據(jù)的共享緩存空間,并將該數(shù)據(jù)存儲器分成若 干個數(shù)據(jù)緩存區(qū)域,每個數(shù)據(jù)緩存區(qū)域內部是地址連續(xù)的存儲空間,分別存 儲一個通道的數(shù)據(jù),同時,需要一個公用的緩存控制器管理存儲單元。根據(jù)該方法, 一種實現(xiàn)多個通道數(shù)據(jù)的存儲與管理的裝置的結構示意圖 如圖1所示,該裝置主要由兩部分組成雙口 RAM ( Random Access Memory,隨機存取存儲器)和FIFO ( First in first out,先進先出)控制器。 雙口RAM按通道分成若干個數(shù)據(jù)緩存區(qū)域;FIFO控制器所有通道共用, FIFO控制器的內部存儲空間記錄每個通道對應的數(shù)據(jù)緩存區(qū)域的首地址、尾 地址、當前讀地址指針、當前寫地址指針、當前區(qū)域的深度常數(shù)及數(shù)據(jù)記數(shù)
器,F(xiàn)IFO控制器的控制模塊根據(jù)各通道的讀寫指令,根據(jù)內部存儲空間中記錄的信息,控制對各通道數(shù)據(jù)的讀寫,并根據(jù)讀寫情況更新內部存儲空間中記錄的信息。在實現(xiàn)本發(fā)明的過程中,發(fā)明人發(fā)現(xiàn)在上述第二種實現(xiàn)多個通道數(shù)據(jù)的 存儲與管理的方法中,雖然各個數(shù)據(jù)緩存區(qū)域的大小在配置時相對可以調 整,比較靈活。但是,各個數(shù)據(jù)緩存區(qū)域的空間相對獨立, 一旦分配,則配置給通道1的存儲區(qū)域的空閑單元無法給通道2使用,無法有效利用存儲資 源,無法靈活調整存儲空間。發(fā)明內容本發(fā)明實施例的目的是提供一種數(shù)據(jù)的存取裝置和方法,從而可以在有 效利用存儲資源的情況下對數(shù)據(jù)進行存取。本發(fā)明實施例提出的一種數(shù)據(jù)存取裝置,用于控制多個通道數(shù)據(jù)在數(shù)據(jù) 存儲模塊中的存取,所述數(shù)據(jù)存取裝置包括地址管理模塊,用于存儲所述數(shù)據(jù)存儲模塊中被各通道數(shù)據(jù)占用的存儲 單元的存儲地址以及所述數(shù)據(jù)存儲模塊中未被占用的存儲單元的空閑地址, 為各通道的數(shù)據(jù)讀寫提供讀取地址信息及寫入地址信息,根據(jù)各通道的讀寫 操作更新所述存儲地址及所述空閑地址;接口模塊,用于根據(jù)各通道的讀寫指令,根據(jù)所述地址管理模塊提供的 讀取地址信息及寫入地址信息,對所述數(shù)據(jù)存儲模塊進行讀寫操作。本發(fā)明實施例提出的一種數(shù)據(jù)的寫入方法,用于將多個通道數(shù)據(jù)寫入數(shù) 據(jù)存儲模塊,所述方法包括接收各通道的寫入指令;根據(jù)地址存儲單元存儲的空閑地址及存儲地址,獲取所述寫入指令的寫 入地址;
所述存儲地址為所述數(shù)據(jù)存儲模塊中已存儲數(shù)據(jù)的存儲單元的地址,所述空閑地址為所述數(shù)據(jù)存儲單元中未存儲數(shù)據(jù)的存儲單元的地址; 更新所述地址存儲才莫塊中的空閑地址及存儲地址; 根據(jù)所述寫入地址,將數(shù)據(jù)寫入所迷數(shù)據(jù)存儲模塊中。 本發(fā)明實施例提出的一種數(shù)據(jù)的讀取方法,用于多通道從數(shù)據(jù)存儲模塊中讀取數(shù)據(jù),所述方法包括 接收各通道的讀取指令;根據(jù)所述地址存儲模塊中的空閑地址及存儲地址,獲取所述讀取指令的 讀耳又地址;所述存儲地址為所述數(shù)據(jù)存儲模塊中已存儲數(shù)據(jù)的存儲單元的地址,所 述空閑地址為所述數(shù)據(jù)存儲單元中未存儲數(shù)據(jù)的存儲單元的地址; 根據(jù)所述讀取地址,將數(shù)據(jù)從所述數(shù)據(jù)存儲模塊中讀出。 由上述本發(fā)明實施例提供的技術方案可以看出,本發(fā)明通過對數(shù)據(jù)存儲 模塊的存儲地址和空閑地址進行管理,根據(jù)整個數(shù)據(jù)存儲模塊的存儲單元的 空閑狀況對數(shù)據(jù)進行寫入,并根據(jù)各通道數(shù)據(jù)在數(shù)據(jù)存儲模塊中的讀取和寫 入對存儲地址和空閑地址進行更新,實現(xiàn)了最大限度的所有通道片外數(shù)據(jù)緩 存空間的共享,可以在有效利用存儲資源的情況下對數(shù)據(jù)進行存取。


圖1為現(xiàn)有技術中一種實現(xiàn)多個通道數(shù)據(jù)的存儲與管理的裝置的結構示意圖;圖2為本發(fā)明實施例所述實現(xiàn)多通道復用的數(shù)據(jù)存取裝置的結構示意圖; 圖3為本發(fā)明實施例所述地址管理模塊及地址更新模塊的示意圖; 圖4為本發(fā)明實施例所述存儲地址管理模塊的示意圖; 圖5為本發(fā)明實施例所述鏈表映射單元在一種情況下的初始化狀態(tài);
圖6為本發(fā)明實施例所述的空閑地址FIFO在一種情況下的初始化狀態(tài);形成示意圖;圖8為本發(fā)明實施例所述通道m(xù)優(yōu)先級n的當前數(shù)據(jù)被讀取出,形成的鏈 表映射單元的對應子單元及鏈表存儲單元的狀態(tài)示意圖。
具體實施方式
本發(fā)明實施例提供了 一種數(shù)據(jù)的存取裝置和方法。如圖2所示,本發(fā)明實施例提供的數(shù)據(jù)存取裝置20,對數(shù)據(jù)存儲模塊21 的存儲地址和空閑地址進行管理,根據(jù)數(shù)據(jù)存儲模塊21的存儲單元的存儲與 占用狀況對數(shù)據(jù)進行存儲,并根據(jù)各通道對數(shù)據(jù)存儲模塊21的讀取,更新存 儲地址和空閑地址,其中,存儲地址指數(shù)據(jù)存儲模塊21中已存儲數(shù)據(jù),及被 占用的存儲單元的地址,空閑地址指數(shù)據(jù)存儲模塊21中未存儲數(shù)據(jù),即未被 占用的存儲單元的地址。數(shù)據(jù)存取裝置20具體包括地址管理模塊202,用于存儲所述數(shù)據(jù)存儲模塊21中存儲單元的存儲地 址以及空閑地址,為各通道的數(shù)據(jù)讀寫提供讀取地址信息及寫入地址信息;接口模塊201,用于根據(jù)各通道的讀寫指令,根據(jù)所述地址管理模塊提 供的讀取地址信息及寫入地址信息,對所述數(shù)據(jù)存儲模塊進行讀寫操作;由于本發(fā)明實施例利用地址管理模塊202對空閑地址及存儲地址進行存 儲,根據(jù)數(shù)據(jù)存儲模塊21的存儲單元的占用情況分配存取資源,可有效地利 用存儲資源進行數(shù)據(jù)的存if又。此外,為方便管理存儲地址及空閑地址,保證存儲地址及空閑地址狀態(tài) 的及時更新,數(shù)據(jù)存取裝置20還可包括地址更新模塊203,用于根據(jù)所述 接口模塊的讀寫操作,更新所述地址管理模塊存儲的所述存儲地址和所述空
閑地址。在本發(fā)明的一個實施例中,地址管理模塊202的一種實現(xiàn)可采取如圖3所 示的方式,包括空閑地址管理模塊30和存儲地址管理模塊31:空閑地址管理模塊30,用于存儲所述數(shù)據(jù)存儲模塊中的未被占用的存儲 單元的空閑地址,根據(jù)所述接口模塊的第一寫操作,提供供數(shù)據(jù)存儲的第一 空閑;也址;存儲地址管理模塊31 ,用于存儲各個通道在所述數(shù)據(jù)存儲模塊中存儲的 數(shù)據(jù)所對應的存儲地址,并提供各通道數(shù)據(jù)在所述數(shù)據(jù)存儲模塊中的讀取地 址信息及寫入地址信息;所述地址更新模塊203具體可包括空閑地址更新模塊33和存儲地址更新 模塊32:空閑地址更新模塊33,用于根據(jù)所述接口模塊的所述第一寫操作,從所 述空閑地址管理模塊中刪除所述第一空閑地址;或根據(jù)所述接口模塊的第一 讀操作,在所述空閑地址管理模塊中增加存儲該第一讀操作對應的地址;存儲地址更新模塊32,用于根據(jù)所述接口模塊的所述第一寫操作,在所 述存儲地址管理模塊中增加存儲所述第一空閑地址;或根據(jù)所述接口模塊的 所述第 一讀操作,從所述存儲地址管理模塊中刪除存儲的該第 一讀操作對應 的地址。為有效地管理不同通道的數(shù)據(jù)存儲與讀取,存儲地址管理模塊31可對各 通道的數(shù)據(jù)的存儲地址分別進行維護,本發(fā)明的一個實施例所提供的存儲地 址管理模塊如圖4所示,存儲地址管理模塊31包括多個地址存儲模塊和一個 地址控制模塊。所述存儲地址管理模塊31包括多個地址存儲模塊和地址控制 模塊多個地址存儲模塊,每個地址存儲模塊,用于存儲一個對應通道在所述 數(shù)據(jù)存儲模塊中存儲的數(shù)據(jù)所對應的存儲地址;
地址控制模塊,用于提供各通道的寫入地址信息和讀取地址信息,根據(jù) 所述接口模塊的所述第 一讀操作,將對應通道的所述第 一讀操作對應的所述 第一讀取地址信息更新為第二讀取地址信息,所述第二讀取地址存儲于所述第一讀操作對應的地址存儲模塊;或根據(jù)所述接口模塊的所述第一寫操作, 將對應通道的第一寫入地址信息更新為第二寫入地址信息;在這里,所述的第一空閑地址即為第二寫入地址,而所述第一寫操作對應的地址可以有兩種對應關系第一種情況、所述的第一寫操作的地址為所述的第一寫入地址 數(shù)據(jù)的寫入操作對應的寫入地址在寫之前已經(jīng)分配好,即已為各通道的 數(shù)據(jù)寫入在數(shù)據(jù)存儲模塊21中各準備好了 一個存儲單元(對應第 一寫入地 址),那么,如果通道i有數(shù)據(jù)需要寫入(對應第一寫入操作),則接口模塊 201根據(jù)已為通道i分配好的第 一寫入地址w—addii將數(shù)據(jù)寫入數(shù)據(jù)存儲模塊 21中。此時,由于第一寫入地址v^addri對應的數(shù)據(jù)存儲模塊21中的存儲單 元已被寫入數(shù)據(jù)或即將被寫入數(shù)據(jù),需要給通道i的下一次數(shù)據(jù)的寫入準備新 的第二寫入地址v^addr2,該第二寫入地址v^addr2即由空閑地址管理模塊 30提供的所述第 一 空閑地址。第二種情況、所述第一寫操作的地址為所述的第二寫入地址 數(shù)據(jù)的寫入操作對應的寫入地址即時分配,即當通道i有數(shù)據(jù)需要寫入數(shù) 據(jù)存儲模塊21 (對應第一寫操作),即時從數(shù)據(jù)存儲單元21中分配一個空閑 的存儲單元(對應第一空閑地址),作為寫入地址(第二寫入地址),供通道i的數(shù)據(jù)第一寫操作的寫入,而所述第一寫入地址為所述第一寫操作的上一 次寫操作的地址。在通道i要訪問自己存儲的數(shù)據(jù)時,地址控制模塊要提供該通道訪問數(shù)據(jù) 的讀取地址信息,該讀耳又地址信息可以是讀取地址本身,也可以是讀取地址 的指針,即讀取地址的地址;在通道i有數(shù)據(jù)需要寫入數(shù)據(jù)存儲模塊21時,地
址控制模塊提供該通道數(shù)據(jù)的寫入地址信息,第二寫入地址由空閑地址管理 模塊提供,而寫入地址信息由地址控制模塊提供,如在前述的第一種情況下,接口模塊201根據(jù)第一寫入地址w—addii將通道i數(shù)據(jù)寫入了數(shù)據(jù)存儲模 塊21,此時空閑地址管理模塊30提供了w—addr2 (第二寫入地址)這個空閑 地址(第一空閑地址),那么第二寫入地址w一addr2的信息就由存儲地址控 制模塊提取并記錄,該信息可以是第二寫入地址本身,也可以是指向第二寫 入地址的指針,及第二寫入地址的地址。該第二寫入地址w—addr2的信息作 為通道i的下次數(shù)據(jù)寫入的寫入地址信息,接口模塊201在下次要將通道i的數(shù) 據(jù)寫入數(shù)據(jù)存儲模塊時,從存儲地址管理模塊31中獲取寫入地址信息。同 樣,在前述的第二種情況下,接口模塊201也可從存儲地址管理模塊31中獲 取寫入地址信息。為方便管理,對應地,所述存儲地址更新模塊32可包括多個地址更新單 元,每個所述地址更新單元對應一個所述地址存儲模塊,用于根據(jù)接口模塊 所述的第一操作,刪除對應地址存儲模塊存儲的該第一讀操作對應的地址; 或根據(jù)所述接口模塊的所述第 一寫操作,在對應的地址存儲模塊中增加存儲 所述第一空閑地址。存取控制方便,可為每一個通道的每個優(yōu)先級管理一個地址存儲單元,所以 地址存儲模塊的個數(shù)可以為I]N,,其中,M為通道數(shù),Ni為第i個通道所具有i=l的優(yōu)先級數(shù),為描述方便,下面將以M個通道的優(yōu)先級均為N,共有MxN個 地址存儲模塊來進行說明。作為一個例子來說明,地址存儲模塊具體可為鏈表存儲單元,鏈表存儲 單元以鏈表的形式維護通道i (CKi<M)中優(yōu)先級k (CKi<N)對應的數(shù)據(jù)的 存j諸地址。對應地,所述的地址更新單元具體可為量表控制單元,用于將在有新的 通道i中優(yōu)先級k的數(shù)據(jù)寫入時,給鏈表增加一個節(jié)點,連接到鏈表的尾節(jié)點之后,成為新的尾節(jié)點,在上述的第一種情況下,新增的尾節(jié)點中存儲下次 寫入數(shù)據(jù)時的寫入地址,在上述的第二種情況下,新增的尾節(jié)點存儲當次寫 入數(shù)據(jù)的寫入地址。讀取的數(shù)據(jù)的地址為鏈表的頭節(jié)點存儲的地址,當該頭節(jié)點存儲的地址對應數(shù)據(jù)存儲模塊21中的存儲單元的數(shù)據(jù)被讀取后,鏈表控制單元刪掉該頭 節(jié)點,該頭節(jié)點后的第二節(jié)點成為新的頭節(jié)點,新的頭節(jié)點中的地址為新的需要說明的是,上述的地址存儲模塊的結構組成及工作方式只是為了說 明地址存儲模塊的工作原理的一個具體例子,地址存儲模塊對各通道數(shù)據(jù)的 存儲地址的存儲及管理方式也可采取其它的形式,并不一定需要采取鏈表的 形式,如將存儲地址采用動態(tài)數(shù)組的形式來存儲及管理,等等。相應地,地于采用鏈表更新單元。作為一個例子,地址控制模塊可包括鏈表映射單元和讀寫地址更新單 元,鏈表映射單元,用于存儲各通道各優(yōu)先級對應的數(shù)據(jù)的讀取地址信息和 寫入地址信息,讀寫地址更新單元,用于根據(jù)接口模塊201的讀寫操作,更 新讀取地址信息和寫入地址信息。為與上面所舉的地址存儲模塊結構的例子對應,鏈表映射單元可采取圖 5所示(圖5所示為鏈表映射單元在采用上述第一種情況的工作方式下的初始 化狀態(tài),這點將在后面說明)的結構,該結構中,需要為0 MxN每個鏈表 存儲單元分配了二個字段, 一個字段存儲鏈表的頭節(jié)點指針head—ptr, —個 字段存儲鏈表的尾節(jié)點指針tail—ptr (需要指出的是,這兩個字段只要提供了 對應通道對應優(yōu)先級數(shù)據(jù)的讀取地址信息及寫入地址信息即可,這里所述存 儲head—ptr和tail—ptr只是為了配合前述地址存儲模塊的具體例子進行說 明),當然這兩個字段也可以直接存儲鏈表頭節(jié)點和尾節(jié)點包含的存儲地 址。另外,根據(jù)其它控制的需要,也可為每個鏈表存儲單元分配其它字段,如鏈表長度chainjength字段,通過chain—length可獲取數(shù)據(jù)長度信息。讀寫地址更新單元根據(jù)接口模塊201的讀寫操作,更新各鏈表映射單元 中的各鏈表存儲單元對應的head—ptr及tail—ptr,如還有其它字段,如 chainjength,同時也進行更新,更新方式可根據(jù)前述內容得出,在此不再贅述。在實際的數(shù)據(jù)存取過程中,當輸入數(shù)據(jù)幀為非定長的協(xié)議數(shù)據(jù)幀時,根 據(jù)業(yè)務不同層面的固定傳輸格式需求,可按一定字節(jié)長度基于固定周期來實 現(xiàn)數(shù)據(jù)的接收與傳送。同時,可在數(shù)據(jù)幀的幀頭封裝一些幀控制信息,并伴 隨相應的幀頭指示信息(sop, start of packet等);可在數(shù)據(jù)幀的末尾,封 裝一些幀尾指示信息(eop, end of packet等),標識該數(shù)據(jù)幀的結束。因 此,為便于數(shù)據(jù)幀間區(qū)分與處理,在存儲這些數(shù)據(jù)幀時,需要相應地存儲對 應數(shù)據(jù)幀的幀頭與幀尾的伴隨指示信息。假設上述數(shù)據(jù)存儲模塊21、空閑地址存儲單元的深度(即包含的存儲單 元總數(shù))都為D。在初始狀態(tài)下,數(shù)據(jù)存儲模塊21中沒有存儲數(shù)據(jù),存儲地址管理模塊30 中的地址存儲模塊沒有存儲地址信息。空閑地址管理模塊31中的空閑地址存儲單元可以為 一個深度也為D的空 閑地址FIFO,其初始狀態(tài)示意圖如圖6所示。在上述的第一種情況下,空閑地址FIFO的前D-M x N個單元初始化為數(shù) 據(jù)存儲模塊21的第M x N個單元之后的地址,即數(shù)據(jù)存儲模塊21的第1個存儲 單元的地址(O)到第M x N個存儲單元的地址(M x N-1)作為寫入地址已經(jīng)提供 給了存儲地址管理模塊30的對應鏈表存儲單元,那么數(shù)據(jù)存儲模塊21剩下的 第M x N+1個存儲單元 第D個存儲單元的地址(M x N)到(D-1)存儲到了空閑 地址FIFO里面。該空閑地址FIFO的讀指針addr—r指向該空閑地址FIF0的第1個單元,即 編號為0的單元,該單元存儲的內容為數(shù)據(jù)存儲模塊21中第M x N+1個存儲單 元的地址(M x N)。寫指針指向的單元為空閑地址FIFO的第D-M x N個單元; 空閑地址FIFO的當前記數(shù)長度為D-M x N。在上述的第二種情況下,將數(shù)據(jù)存儲模塊21中的所有存儲單元的地址都 作為空閑地址存入到空閑地址FIFO中。在有數(shù)據(jù)需要寫入時,提供相應的空 閑地址給接口模塊201作為寫入地址。鏈表映射單元的初始狀態(tài)示意圖如圖5所示。鏈表映射單元被劃分為M x N個子單元,每個子單元對應一個鏈表存儲單元,假設每個子單元對應3個元 素鏈表存儲單元當前鏈表的頭節(jié)點指針head—ptr、當前鏈表的尾節(jié)點指針 tail—ptr和當前4連表的鏈表;果度chainjength。為方便描述,假設在上述的第一種情況下,第一個鏈表存儲單元(存儲 通道O優(yōu)先級O對應的數(shù)據(jù)的存儲地址對應的鏈表)分配的初始寫地址為數(shù)據(jù) 存儲模塊21中的第1個存儲單元的地址(0),那么在初始狀態(tài)下,鏈表映射單 元的第1個子單元(圖5中編號為0的子單元)的head—ptr和taiLptr指向對應鏈表 存儲單元中的同 一個節(jié)點,該節(jié)點中存儲的地址為數(shù)據(jù)存儲模塊中的第 一個 存儲單元的地址(O),相應的chainjength為0;而在上述的第二種情況下,鏈 表映射單元的各子單元的元素均為空(null),當有數(shù)據(jù)寫入時,對應子單元的 元素才根據(jù)即時分配的寫入地址填寫相應的head—ptr和tail—ptr。本發(fā)明實施例還提供一種數(shù)據(jù)的寫入方法和一種數(shù)據(jù)的讀取方法,為清 楚說明本發(fā)明實施例提供的方法,某些部分會結合上面的裝置實施例的相關 部分進行說明,但這些結合僅僅是為了說明的簡潔與方便,不應理解為對本 發(fā)明提出的方法的保護范圍的限定,本發(fā)明提出的方法的保護范圍應以權利 要求書為準。
本發(fā)明實施例提供的數(shù)據(jù)的寫入方法,用于將多個通道數(shù)據(jù)寫入數(shù)據(jù)存儲模塊21,該方法包括如下步驟 A1.接收各通道的寫入命令。當外部調度模塊發(fā)起寫入命令,指示通道m(xù)優(yōu)先級n的一個突發(fā)數(shù)據(jù)要寫 入數(shù)據(jù)存儲模塊21時接口模塊201接收該寫入命令,并獲取當前輸入數(shù)據(jù)與相關伴隨控制信臺、B1.根據(jù)所述數(shù)據(jù)存儲模塊21的空閑地址及存儲地址,獲取所述寫入指 令的寫入地址。第一種情況,在寫入操作之前,已經(jīng)為各通道數(shù)據(jù)的寫入準備好了寫入 地址,此時,從所述寫入指令對應通道的寫入地址信息中獲取對應通道寫入 地址,所述對應通道的寫入地址信息指示對應通道的寫入地址。更具體地, 接口模塊201從地址控制控制模塊的鏈表映射單元中獲取對應地址存儲模塊 中的鏈表存儲單元的尾節(jié)點指針,該尾節(jié)點指針即對應通道的寫入地址信 息,根據(jù)該尾節(jié)點指針得到尾節(jié)點中存儲的寫入地址。第二種情況,根據(jù)寫入指令,即時分配寫入地址,此時,從所述數(shù)據(jù)存儲模塊21的空閑地址中獲取第一空閑地址,作為所述寫入地址,當然,此時也可將第 一空閑地址的指針作為寫入地址信息,從寫入地址信息中獲取寫入地址,方式與第一種情況類似,在此不再贅述。C1.根據(jù)所述寫入地址,將數(shù)據(jù)寫入所述數(shù)據(jù)存儲模塊21中。接口模塊201將當前輸入數(shù)據(jù)寫入數(shù)據(jù)存儲模塊21中該寫入地址對應的存儲單元。包括以下步驟D1 ,更新所述空閑地址及存儲地址。 在此步驟中,由于有空閑地址被用來作為下次寫入操作的寫入地址或者 被用來作為當前寫入操作的寫入地址,所以該地址不再是空閑地址,而應該 予以更新,響應地,存儲地址也要更新。在上述的第 一種情況下,從所述數(shù)據(jù)存儲模塊的空閑地址中獲取第 一 空 閑地址,將所述寫入指令對應通道的寫入地址信息更新為所述第 一 空閑地址 的信息,將所述第一空閑地址更新為所述數(shù)據(jù)存儲單元的對應通道數(shù)據(jù)的存儲地址更為具體地,空閑地址更新單元讀取空閑地址FIFO的讀指針addr—r 所指向的單元內容X (為數(shù)據(jù)存儲模塊21中存儲單元的空閑地址,即第一空 閑地址),將其寄存器的讀指針addr—r內容加1,指向下一個單元。并且,將 空閑地址FIFO的計數(shù)長度減一 (相當于刪除了內容X)。鏈表更新單元給鏈表存儲單元增加一個新的節(jié)點,該節(jié)點在原鏈表的尾 節(jié)點之后,原鏈表的尾節(jié)點的指針指向該新的節(jié)點,新的節(jié)點成為當前鏈表 的新的尾節(jié)點。鏈表更新單元將上述空閑地址FIFO的原讀指針addr—r所指向 的單元內容X,連同當前數(shù)據(jù)的2bit伴隨信息sop及eop, —起寫入到新的尾 節(jié)點,即將第一空閑地址更新為所述數(shù)據(jù)存儲單元的對應通道的存儲地址。地址控制才莫塊中的地址更新單元將鏈表映射單元中對應子單元的tail元素 的內容更新為指向空閑地址FI FO原讀指針addr—r所指向的單元內容X或指向X 的指針(即將所述寫入指令對應通道的寫入地址信息更新為了所述第一空閑 地址信息),給下次寫操作提供寫地址信息;當前鏈表深度chain—length加 1。根據(jù)前述介紹可知,當上述通道m(xù)優(yōu)先級n的當前輸入數(shù)據(jù)接收完畢,形 成的鏈表映射單元中對應的子單元、對應的鏈表存儲單元的狀態(tài)如圖7所 示。在上述的第二種情況下,將所述第一空閑地址更新為所述數(shù)據(jù)存儲單元 的存儲地址。對應地,此情況下也可采用從讀取地址信息中獲取讀取地址的 方式,該方式的地址更新與上述第一種情況的類似,在此不重復說明。
本發(fā)明實施例還提供了 一種數(shù)據(jù)的讀取方法,用于多通道從數(shù)據(jù)存儲模塊中讀取數(shù)據(jù),該述方法包括如下步驟 A2.接收各通道的讀取指令。當外部調度模塊發(fā)起讀取命令,指示要從數(shù)據(jù)存儲模塊21讀取通道m(xù)優(yōu) 先級n的 一個突發(fā)數(shù)據(jù)時接口模塊201獲取當前讀取命令與相關伴隨控制信息;B1.根據(jù)所述地址存儲模塊中的空閑地址及存儲地址,獲取所述讀取指 令的讀取地址。具體而言,從所述讀取指令對應通道的讀取地址信息中獲取讀取地址, 所述讀取地址信息指示所述對應通道的讀取地址,所述讀取地址為存儲對應 通道數(shù)據(jù)的存儲地址。結合本發(fā)明其中一個實施例提出的裝置,該步驟更為 具體地接口模塊201讀取地址控制模塊的鏈表映射單元中當前讀取指令對應的 子單元,獲取該子單元的heacLptr;根據(jù)head—ptr得到鏈表頭節(jié)點存儲的讀 耳又地址以及sop和eop^f言息。C2.根據(jù)所述讀取地址,將數(shù)據(jù)從所述數(shù)據(jù)存儲模塊中讀出。根據(jù)讀取地址將通道m(xù)優(yōu)先級n的當前讀取數(shù)據(jù)從數(shù)據(jù)存儲模塊21中讀 出,同時送出sop及eop相關信息。此外,本發(fā)明讀耳又方法實施例還可包括以下步驟D2.更新所述空閑地址及所述存儲地址。該步驟具體為,將所述讀取地址更新為空閑地址;乂人所述讀取命令對應 的數(shù)據(jù)的存儲地址中獲取所述讀取指令對應的通道的新的讀取地址,將所述 讀取地址信息更新為所述讀取指令對應的通道的新的讀取地址信息。得到指向該頭節(jié)點后的第二節(jié)點的指針,將所述第二節(jié)點作為新的頭節(jié)點
(即刪除原頭節(jié)點,即將該讀取地址從存儲地址中刪除,且從所述讀取命令 對應的數(shù)據(jù)的存儲地址中獲取所述讀取指令對應的通道的新的讀取地址);地址控制模塊中的地址更新單元將指向上述新的頭節(jié)點的指針更新至鏈表映射單元中與通道m(xù)優(yōu)先級n對應的子單元的head—ptr (將所述讀取地址信 息更新為所述讀取指令對應的通道的新的讀取地址信息),給下次讀操作提 供讀取地址信息;當前鏈表深度chain—length減1;空閑地址管理模塊31中的空閑地址更新單元將鏈表存儲單元的頭節(jié)點存 儲的地址寫入空閑地址FIFO的addr一w指向的單元,addr—w的內容加1,同時 空閑地址FIFO的深度加1 (即將所述讀取地址更新為空閑地址)。才艮據(jù)前述介紹可知,當通道m(xù)優(yōu)先級n的當前數(shù)據(jù)被讀走,形成的鏈表映 射單元中對應的子單元、對應的鏈表存儲單元的狀態(tài)如圖8所示。綜上所述,本發(fā)明實施例提供的數(shù)據(jù)的存取裝置和方法通過將數(shù)據(jù)存儲 模塊對所有通道進行最大限度的靈活共享,對地址進行回收管理,能夠實現(xiàn) 按通道基于優(yōu)先級的數(shù)據(jù)幀鏈表存儲管理,保證最大限度地利用數(shù)據(jù)和地址 的存儲空間,從而實現(xiàn)了最大限度的所有通道片外數(shù)據(jù)緩存空間的共享,可 以在節(jié)省存儲資源的情況下有效地對數(shù)據(jù)進行讀取。本發(fā)明通過存儲數(shù)據(jù)幀的幀頭和幀尾等伴隨信息,可以滿足數(shù)據(jù)幀非定 長的特定場景,提高了數(shù)據(jù)幀存儲與傳輸?shù)撵`活性。通過以上的實施方式的描述,本領域的技術人員可以清楚地了解到本發(fā) 明可借助軟件加必需的通用硬件平臺的方式來實現(xiàn),當然也可以通過硬件, 但很多情況下前者是較佳的實施方式?;谶@樣的理解,本發(fā)明的技術方案 可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質 中,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器, 或者網(wǎng)絡設備等)執(zhí)行本發(fā)明各個實施例所述的方法。
以上所述,僅為本發(fā)明較佳的具體實施方式
,但本發(fā)明的保護范圍并不 局限于此,任何熟悉本技術領域的技術人員在本發(fā)明揭露的技術范圍內,可 輕易想到的變化或替換,都應涵蓋在本發(fā)明的保護范圍之內。因此,本發(fā)明 的保護范圍應該以權利要求的保護范圍為準。
權利要求
1、一種數(shù)據(jù)存取裝置,用于控制多個通道數(shù)據(jù)在數(shù)據(jù)存儲模塊中的存取,其特征在于,所述數(shù)據(jù)存取裝置包括地址管理模塊,用于存儲所述數(shù)據(jù)存儲模塊中被各通道數(shù)據(jù)占用的存儲單元的存儲地址以及所述數(shù)據(jù)存儲模塊中未被占用的存儲單元的空閑地址,為各通道的數(shù)據(jù)讀寫提供讀取地址信息或寫入地址信息;接口模塊,用于根據(jù)各通道的讀寫指令,根據(jù)所述地址管理模塊提供的讀取地址信息及寫入地址信息,對所述數(shù)據(jù)存儲模塊進行讀寫操作。
2、 如權利要求1所述的數(shù)據(jù)存取裝置,其特征在于,所述數(shù)據(jù)存取裝置 還包括地址更新模塊,用于根據(jù)所述接口模塊的讀寫操作,更新所述地址管 理模塊存儲的所述存儲地址和所述空閑地址。
3、 如權利要求2所述的數(shù)據(jù)的存取裝置,其特征在于,所述地址管理模 塊包括空閑地址管理模塊,用于存儲所述數(shù)據(jù)存儲模塊中的未被占用的存儲單 元的空閑地址,根據(jù)所述接口模塊的第一寫操作,提供供數(shù)據(jù)存儲的第一空 閑地址;存儲地址管理模塊,用于存儲各個通道在所述數(shù)據(jù)存儲模塊中存儲的數(shù) 據(jù)所對應的存儲地址,并提供各通道數(shù)據(jù)在所述數(shù)據(jù)存儲模塊中的讀取地址 信息及寫入地址信息;所述地址更新模塊包括空閑地址更新模塊,用于根據(jù)所述接口模塊的所述第一寫操作,從所述 空閑地址管理模塊中刪除所述第 一空閑地址;或根據(jù)所述接口模塊的第一讀 搡作,在所述空閑地址管理模塊中增加存儲該第 一讀操作對應的地址;存儲地址更新模塊,用于根據(jù)所述接口模塊的所迷第一寫操作,在所述存儲地址管理模塊中增加存儲所述第 一 空閑地址;或根據(jù)所述接口模塊的所 述第 一讀操作,從所述存儲地址管理模塊中刪除存儲的該第 一讀操作對應的 地址。
4、 如權利要求3所述的數(shù)據(jù)的存取裝置,其特征在于,所述存儲地址管 理模塊包括多個地址存儲模塊,每個地址存儲模塊,用于存儲一個對應通道在所述 數(shù)據(jù)存儲模塊中存儲的數(shù)據(jù)所對應的存儲地址;地址控制模塊,用于提供各通道的寫入地址信息和讀取地址信息,根據(jù) 所述接口模塊的所述第一讀操作,將對應通道的所述第一讀操作對應的所述 第一讀取地址信息更新為第二讀取地址信息,所述第二讀取地址存儲于所述 第一讀操作對應的地址存儲模塊;或根據(jù)所述接口模塊的所述第一寫操作, 將對應通道的第 一寫入地址信息更新為第二寫入地址信息;所述存儲地址更新模塊包括多個地址更新單元,每個所述地址更新單元 對應一個所述地址存儲模塊,用于根據(jù)接口模塊所述的第一操作,刪除對應 地址存儲模塊存儲的該第一讀操作對應的地址;或根據(jù)所述接口模塊的所述 第一寫操作,在對應的地址存儲模塊中增加存儲所述第一空閑地址。
5、 如權利要求4所述的數(shù)據(jù)存取裝置,其特征在于,所述第一空閑地址 為所述第二寫入地址;所述第一寫操作的地址為所述第一寫入地址或所述第 二寫入i也址。
6、 如權利要求4所述的數(shù)據(jù)存取裝置,其特征在于,所述地址存儲模塊 的個數(shù)為f]Ni,其中,M為通道數(shù),Ni為第j個通道所具有的優(yōu)先級數(shù)。i=l
7、 如權利要求4至6中任一所述的數(shù)據(jù)存取裝置,其特征在于,所述地 址存儲模塊具體為鏈表存儲單元,用于以鏈表的形式存儲對應通道的存儲地 址,所述鏈表的節(jié)點存儲的信息包括對應通道的數(shù)據(jù)在所述數(shù)據(jù)存儲模塊中 的存儲地址; 所述地址更新單元具體為鏈表更新單元,用于根據(jù)所述接口模塊的所述 第一讀取操作,刪除對應鏈表存儲單元的鏈表的第一對應節(jié)點,所述第一對應節(jié)點存儲的信息包含所述第一讀取操作對應的讀取地址;或根據(jù)所述接口 模塊的所述第一寫入操作,在對應鏈表存儲單元的鏈表增加第二對應的節(jié) 點,所述第二對應節(jié)點存儲的信息包括所述第一空閑地址。
8、 如權利要求4至6中任一所述的數(shù)據(jù)存取裝置,其特征在于,所述地 址控制模塊包括鏈表映射單元,包括多個記錄單元,每個所述記錄單元用于記錄對應通 道的寫入地址信息和讀取地址信息,包括寫入地址信息記錄,殳和讀耳又地址信 息記錄段;所述讀耳又地址信息記錄段用于記錄對應通道的讀耳又地址在對應的 地址存儲模塊中的存儲地址;所述寫入地址信息記錄段用于記錄對應通道的 寫入地址在對應的地址存儲模塊中的存儲地址;讀寫地址更新單元,用于根據(jù)所述接口模塊的所述第一寫入操作,將對 應的寫入地址信息記錄段記錄的,所述第一寫入地址在對應地址存儲模塊中 的存儲地址,更新為所述第二寫入地址在對應地址存儲模塊中的存儲地址; 或根據(jù)所述接口模塊的所述第一讀取操作,將對應的讀取地址信息記錄段記 錄的,所述第一讀取地址在對應的地址存儲模塊中的存儲地址,更新為所述 第二讀取地址在對應的地址存儲模塊中的存儲地址。
9、 如權利要求7所述的數(shù)據(jù)存取裝置,其特征在于,所述鏈表存儲單元 的鏈表的頭節(jié)點存儲的信息包括對應通道的讀取地址,所述鏈表存儲單元的 鏈表的尾節(jié)點存儲的信息包括對應通道的寫入地址;所述第 一對應節(jié)點為所述接口模塊進行所述第 一讀取操作之前的所述鏈 表的頭節(jié)點;所述第二對應節(jié)點在所述接口模塊進行所述第 一寫入操作之前的所述鏈 表的尾節(jié)點之后,為新的尾節(jié)點; 所述地址控制模塊包括鏈表映射單元,包括多個記錄單元,每個所述記錄單元用于記錄對應通 道的寫入地址信息和讀耳又地址信息,包括寫入地址信息記錄^殳和讀取地址信息記錄段;所述讀取地址信息記錄段用于記錄對應地址存儲單元的鏈表的頭 節(jié)點地址,所述寫入地址信息記錄段用于記錄對應地址存儲單元的鏈表的尾 節(jié)點地址;讀寫地址更新單元,用于根據(jù)所述接口模塊的所述第一讀取操作,將所 述讀取地址信息記錄段記錄的所述第一對應節(jié)點的地址更新為,鏈表中該第 一對應節(jié)點的后一節(jié)點的地址,所述后一節(jié)點為所述鏈表存儲單元的鏈表的 新的頭節(jié)點;或根據(jù)所述接口模塊的第一寫入操作,將所述寫入地址信息記 錄段記錄的所述尾節(jié)點的地址更新為,所述第二對應節(jié)點的地址。
10、 一種數(shù)據(jù)的寫入方法,用于將多個通道數(shù)據(jù)寫入數(shù)據(jù)存儲模塊,其 特征在于,所述方法包括接收各通道的寫入指令;根據(jù)所述數(shù)據(jù)存儲模塊的空閑地址及存儲地址,獲取所述寫入指令的寫 入地址;所述存儲地址為所述數(shù)據(jù)存儲模塊中已存儲數(shù)據(jù)的存儲單元的地址,所 述空閑地址為所述數(shù)據(jù)存儲單元中未存儲數(shù)據(jù)的存儲單元的地址; 根據(jù)所述寫入地址,將數(shù)據(jù)寫入所述數(shù)據(jù)存儲模塊中。
11、 如權利要求10所述的方法,其特征在于,在所述獲取所述寫入指令 的寫入地址之后,該方法還包括更新所述空閑地址及存儲地址。
12、 如權利要求10所述的方法,其特征在于,所述根據(jù)地址存儲單元存 儲的空閑地址及存儲地址,獲取所述寫入指令的寫入地址具體為從所述數(shù)據(jù)存儲模塊的空閑地址中獲取第 一 空閑地址,作為所述寫入地址。
13、 如權利要求12所述的方法,其特征在于,在所述從所述數(shù)據(jù)存儲模 塊的空閑地址中獲取第一空閑地址,作為所述寫入地址后,所述方法還包括將所述第 一 空閑地址更新為所述數(shù)據(jù)存儲單元的存儲地址。
14、 如權利要求10所述的方法,其特征在于,所述根據(jù)地址存儲單元存 儲的空閑地址及存儲地址,獲取所述寫入指令的寫入地址具體為從所述寫入指令對應通道的寫入地址信息中獲耳又對應通道寫入地址,所 述對應通道的寫入地址信息指示對應通道的寫入地址。
15、 如權利要求14所述的方法,其特征在于,所述從所述寫入指令對應 通道的寫入地址信息中獲取對應通道寫入地址信息后還包括從所述數(shù)據(jù)存儲模塊的空閑地址中獲取第 一 空閑地址; 將所述寫入指令對應通道的寫入地址信息更新為所述第一空閑地址的信自 將所述第一空閑地址更新為所述數(shù)據(jù)存儲單元的對應通道數(shù)據(jù)的存儲地址。
16、 一種數(shù)據(jù)的讀取方法,用于多通道從數(shù)據(jù)存儲模塊中讀取數(shù)據(jù),其 特征在于,所述方法包括接收各通道的讀取指令;根據(jù)所述地址存儲模塊中的空閑地址及存儲地址,獲取所述讀取指令的 讀取地址;所述存儲地址為所述數(shù)據(jù)存儲模塊中已存儲數(shù)據(jù)的存儲單元的地址,所 述空閑地址為所述數(shù)據(jù)存儲單元中未存儲數(shù)據(jù)的存儲單元的地址; 根據(jù)所述讀取地址,將數(shù)據(jù)從所述數(shù)據(jù)存儲模塊中讀出。
17、 如權利要求16所述的數(shù)據(jù)讀取方法,其特征在于,所述方法還包括 步驟更新所述空閑地址及所述存儲地址。
18、 如權利要求16所述的方法,其特征在于,所述根據(jù)地址存儲單元存儲的空閑地址及存儲地址,獲取所述讀取指令的讀取地址具體為從所述讀取指令對應通道的讀取地址信息中獲取讀取地址,所述讀取地 址信息指示所述對應通道的讀取地址,所述讀耳又地址為存儲對應通道數(shù)據(jù)的 存儲地址。
19、 如權利要求18所述的方法,其特征在于,所述方法還包括更新所述 空閑地址及所述存儲地址的步驟將所述讀:f又地址更新為空閑地址;從所述讀取命令對應的數(shù)據(jù)的存儲地址中獲取所述讀取指令對應的通道 的新的讀取地址,將所述讀取地址信息更新為所述讀耳又指令對應的通道的新 的讀取地址信息。
全文摘要
本發(fā)明提供了一種數(shù)據(jù)的存取裝置和方法,用于控制多個通道數(shù)據(jù)在數(shù)據(jù)存儲模塊中的存取,該裝置主要包括地址管理模塊和接口模塊,地址管理模塊用于存儲所述數(shù)據(jù)存儲模塊中被各通道數(shù)據(jù)占用的存儲單元的存儲地址以及所述數(shù)據(jù)存儲模塊中未被占用的存儲單元的空閑地址,為各通道的數(shù)據(jù)讀寫提供讀取地址信息及寫入地址信息;接口模塊用于根據(jù)各通道的讀寫指令,根據(jù)所述地址管理模塊提供的讀取地址信息及寫入地址信息,對所述數(shù)據(jù)存儲模塊進行讀寫操作。本發(fā)明提供的數(shù)據(jù)存取裝置及方法實現(xiàn)了最大限度的所有通道片外數(shù)據(jù)緩存空間的共享,可以在有效利用存儲資源的情況下對數(shù)據(jù)進行存取。
文檔編號G06F12/02GK101162441SQ20071012450
公開日2008年4月16日 申請日期2007年11月9日 優(yōu)先權日2007年11月9日
發(fā)明者吳錦峰, 明 謝 申請人:華為技術有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
安泽县| 兴业县| 黄浦区| 正定县| 永德县| 十堰市| 尉犁县| 绥棱县| 紫云| 南部县| 抚远县| 道孚县| 甘肃省| 河曲县| 武义县| 玉林市| 钟祥市| 榕江县| 额敏县| 长寿区| 昌图县| 宣汉县| 上高县| 滁州市| 翁牛特旗| 汪清县| 丰原市| 阿克苏市| 封丘县| 比如县| 麻城市| 礼泉县| 合作市| 伊金霍洛旗| 宜阳县| 康平县| 崇仁县| 江津市| 天全县| 罗江县| 抚州市|