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

一種具有二次索引結(jié)構(gòu)的存儲(chǔ)設(shè)備及其操作方法

文檔序號(hào):6608061閱讀:165來(lái)源:國(guó)知局
專利名稱:一種具有二次索引結(jié)構(gòu)的存儲(chǔ)設(shè)備及其操作方法
技術(shù)領(lǐng)域
本發(fā)明涉及通信網(wǎng)絡(luò)領(lǐng)域中多通道數(shù)據(jù)的存儲(chǔ),或者并行處理領(lǐng)域中多處理單元 指令的存儲(chǔ)領(lǐng)域,特別是涉及一種具有二次索引結(jié)構(gòu)的存儲(chǔ)設(shè)備及其操作方法
背景技術(shù)
在芯片設(shè)計(jì)中,通常涉及多個(gè)相同屬性,但是具有不同來(lái)源,或者不同目標(biāo)的數(shù)據(jù) 存儲(chǔ)問(wèn)題。設(shè)計(jì)一般要求不同來(lái)源,或者不同目標(biāo)的數(shù)據(jù)分別存儲(chǔ)而互不干擾。比如在多 核處理器設(shè)計(jì)中,不同處理器核的指令流應(yīng)該被存放在不同的先進(jìn)先出隊(duì)列,否則一個(gè)指 令流的執(zhí)行可能會(huì)阻塞另外一個(gè)指令流的執(zhí)行,在某些情況下,由于阻塞會(huì)造成死鎖。為了使用不同的先進(jìn)先出隊(duì)列保存不同的數(shù)據(jù)流,通常的做法是實(shí)現(xiàn)多個(gè)完整的 先進(jìn)先出隊(duì)列(FIFO),每個(gè)FIFO對(duì)應(yīng)于不同的數(shù)據(jù)流,每個(gè)FIFO各自管理各自的存儲(chǔ)隊(duì) 列,則不同F(xiàn)IFO的數(shù)據(jù)流不會(huì)相互阻塞。這樣的實(shí)現(xiàn)方式會(huì)造成硬件資源的浪費(fèi),比如每 個(gè)FIFO都要使用一塊雙端口存儲(chǔ)(Dual-port RAM),在RAM數(shù)量受限的情況(如可編程邏 輯器件中)下會(huì)造成資源緊張;再比如每個(gè)FIFO都有獨(dú)立的計(jì)數(shù)器來(lái)記錄FIFO中數(shù)據(jù)隊(duì) 列的頭部、尾部,需要較多的硬件資源。

發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種具有二次索引結(jié)構(gòu)的存儲(chǔ)設(shè)備及其操作方法,通過(guò)采 用兩次索引結(jié)構(gòu),減少了雙端口存儲(chǔ)的使用,以及隊(duì)列管理資源的使用,并且能夠保證同一 時(shí)刻同一個(gè)FIFO被讀寫(xiě),或者同一時(shí)刻不同F(xiàn)IFO—個(gè)被讀而另一個(gè)被寫(xiě),充分發(fā)揮雙端口 存儲(chǔ)的性能。為實(shí)現(xiàn)本發(fā)明的目的而提供的一種具有二次索引結(jié)構(gòu)的存儲(chǔ)設(shè)備,所述設(shè)備,包 括多隊(duì)列存儲(chǔ)單元,從邏輯上被劃分為N個(gè)FIFO,具有單獨(dú)的讀端口和寫(xiě)端口,能夠 對(duì)單元內(nèi)任意FIFO同時(shí)進(jìn)行讀寫(xiě)操作;索引表模塊,用于存儲(chǔ)所述N個(gè)先入先出隊(duì)列的索引信息,每個(gè)先入先出隊(duì)列的 索引信息存儲(chǔ)在所述索引表模塊中的一行;兩個(gè)索引寄存器,用于暫存從所述索引表模塊中讀取出來(lái)的索引信息以供讀操作 和寫(xiě)操作同時(shí)使用。所述多隊(duì)列存儲(chǔ)單元是一雙端口存儲(chǔ)。所述索引表模塊使用深度為N的雙端口存儲(chǔ)。所述索引表模塊中的每一行的索引信息由下面的元素構(gòu)成{頭部指針,尾部指 針,空滿信息};頭部指針指向多隊(duì)列存儲(chǔ)中對(duì)應(yīng)的FIFO的頭部,尾部指針指向多隊(duì)列存儲(chǔ) 中對(duì)應(yīng)FIFO的尾部;空滿信息表示此FIFO的狀態(tài),是空隊(duì)列還是滿隊(duì)列。對(duì)某個(gè)FIFO的讀寫(xiě)應(yīng)該首先根據(jù)FIFO的號(hào)碼到索引表中取出索引信息,然后根 據(jù)索引信息里面頭部指針或者尾部指針?biāo)饕綄?duì)應(yīng)的FIFO的頭部或者尾部,從而進(jìn)行讀或者寫(xiě)操作所述索引寄存器使用通用寄存器實(shí)現(xiàn)。所述索引寄存器的結(jié)構(gòu)為{索引狀態(tài),F(xiàn)IFO號(hào),頭部指針,尾部指針,空滿信息};索引狀態(tài)表示此索引寄存器的狀態(tài),是四種狀態(tài)中的一種空閑、讀、寫(xiě)、讀寫(xiě),F(xiàn)IFO號(hào)表示 此索引寄存器的內(nèi)容代表哪個(gè)FIFO的索引信息,同時(shí)也代表了此索引寄存器對(duì)應(yīng)于所述 索引表模塊中的哪一行,頭部指針指向多隊(duì)列存儲(chǔ)單元中對(duì)應(yīng)的FIFO的頭部,尾部指針指 向多隊(duì)列存儲(chǔ)模塊中對(duì)應(yīng)FIFO的尾部,空滿信息表示對(duì)應(yīng)FIFO的狀態(tài),是空隊(duì)列還是滿隊(duì) 列。為實(shí)現(xiàn)本發(fā)明的目的還提供一種具有二次索弓I結(jié)構(gòu)的存儲(chǔ)設(shè)備的操作方法,所述 方法,包括下列步驟步驟100.外部設(shè)備輸入期望操作的先入先出隊(duì)列號(hào),查看兩個(gè)索引寄存器中的 先入先出隊(duì)列號(hào),判斷是否存在一個(gè)索引寄存器中的先入先出隊(duì)列號(hào)與當(dāng)前要操作的先入 先出隊(duì)列號(hào)相同,若存在,則執(zhí)行步驟200 ;否則,執(zhí)行步驟300 ;步驟200.使用此匹配的索引寄存器來(lái)操作對(duì)應(yīng)的先入先出隊(duì)列;步驟300.選擇兩個(gè)索引寄存器中索引狀態(tài)為空閑狀態(tài)的索引寄存器,根據(jù)此索 引寄存器的先入先出隊(duì)列號(hào)把索引寄存器的內(nèi)容寫(xiě)回到索引表中以更新所述索引表,同時(shí) 根據(jù)將要操作的先入先出隊(duì)列號(hào)從索引表中把新的索引信息從索引表中讀取到此索引寄 存器中,并更新索引寄存器的索引狀態(tài)和先入先出隊(duì)列號(hào)。所述索引表中的每一行的索引信息由下面的元素構(gòu)成{頭部指針,尾部指針,空 滿信息};頭部指針指向多隊(duì)列存儲(chǔ)中對(duì)應(yīng)的FIFO的頭部,尾部指針指向多隊(duì)列存儲(chǔ)中對(duì) 應(yīng)FIFO的尾部;空滿信息表示此FIFO的狀態(tài),是空隊(duì)列還是滿隊(duì)列。所述索引寄存器的結(jié)構(gòu)為{索引狀態(tài),F(xiàn)IFO號(hào),頭部指針,尾部指針,空滿信息}; 索引狀態(tài)表示此索引寄存器的狀態(tài),是四種狀態(tài)中的一種空閑、讀、寫(xiě)、讀寫(xiě),F(xiàn)IFO號(hào)表示 此索引寄存器的內(nèi)容代表哪個(gè)FIFO的索引信息,同時(shí)也代表了此索引寄存器對(duì)應(yīng)于所述 索引表模塊中的哪一行,頭部指針指向多隊(duì)列存儲(chǔ)單元中對(duì)應(yīng)的FIFO的頭部,尾部指針指 向多隊(duì)列存儲(chǔ)模塊中對(duì)應(yīng)FIFO的尾部,空滿信息表示對(duì)應(yīng)FIFO的狀態(tài),是空隊(duì)列還是滿隊(duì) 列。當(dāng)所述索引寄存器的內(nèi)容將要被一個(gè)新的FIFO的索引信息所替換時(shí),當(dāng)前索引 寄存器中存儲(chǔ)的索引信息需要先寫(xiě)回到索引表中以更新索引表對(duì)應(yīng)的行。本發(fā)明的有益效果是采用兩次索弓|,將一塊雙端口存儲(chǔ)從邏輯上劃分為多個(gè) FIFO結(jié)構(gòu)的存儲(chǔ),減少了雙端口存儲(chǔ)的使用,以及隊(duì)列管理資源的使用,并且能夠保證同一 時(shí)刻同一個(gè)FIFO被讀寫(xiě),或者同一時(shí)刻不同F(xiàn)IFO—個(gè)被讀而另一個(gè)被寫(xiě),充分發(fā)揮雙端口 存儲(chǔ)的性能。


圖1是本發(fā)明的具有二次索引結(jié)構(gòu)的存儲(chǔ)設(shè)備的結(jié)構(gòu)示意圖;圖2是本發(fā)明的一種具有二次索引結(jié)構(gòu)的存儲(chǔ)設(shè)備的操作方法的步驟流程圖。
具體實(shí)施方式
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì) 本發(fā)明的一種具有二次索引結(jié)構(gòu)的存儲(chǔ)設(shè)備及其操作方法進(jìn)行進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理 解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。本發(fā)明的一種具有二次索引結(jié)構(gòu)的存儲(chǔ)設(shè)備及其操作方法,通過(guò)兩次索引,僅僅 使用一套隊(duì)列管理模塊,就可以把一塊雙端口存儲(chǔ)從邏輯上劃分為多個(gè)FIFO結(jié)構(gòu)的存儲(chǔ), 減少了雙端口存儲(chǔ)的使用,以及隊(duì)列管理資源的使用,并且能夠保證同一時(shí)刻同一個(gè)FIFO 被讀寫(xiě),或者同一時(shí)刻不同F(xiàn)IFO —個(gè)被讀而另一個(gè)被寫(xiě),充分發(fā)揮雙端口存儲(chǔ)的性能。下面結(jié)合上述目標(biāo)詳細(xì)介紹本發(fā)明的具有二次索引結(jié)構(gòu)的存儲(chǔ)設(shè)備,圖1是本發(fā) 明的具有二次索引結(jié)構(gòu)的存儲(chǔ)設(shè)備的結(jié)構(gòu)示意圖,如圖1所示,所述設(shè)備,包括多隊(duì)列存儲(chǔ)單元1,從邏輯上被劃分為N個(gè)FIFO,具有單獨(dú)的讀端口和寫(xiě)端口,能 夠?qū)卧獌?nèi)任意FIFO同時(shí)讀寫(xiě);如圖1所示,所述多隊(duì)列存儲(chǔ)單元是一塊雙端口存儲(chǔ),具有單獨(dú)的讀寫(xiě)端口,可以 對(duì)存儲(chǔ)內(nèi)任意位置同時(shí)讀寫(xiě),此雙端口存儲(chǔ)從邏輯上被劃分為N個(gè)FIFO,如圖1中FIFO 0 到 FIFO N-I。索引表模塊2,用于存儲(chǔ)N個(gè)FIFO的索引信息,每個(gè)FIFO的索引信息存儲(chǔ)在所述 索引表模塊中的一行;所述索引表模塊使用深度為N的雙端口存儲(chǔ),用于存儲(chǔ)N個(gè)FIFO的索引信息,每 個(gè)FIFO的索引信息存儲(chǔ)在所述索引表模塊中的一行,第0行對(duì)應(yīng)于FIFO 0的索引信息,第 1行對(duì)應(yīng)于FIFO 1的索引信息……第N-I行對(duì)應(yīng)于FIF0N-1的索引信息。所述索引表中的每一行的索引信息由下面的元素構(gòu)成{頭部指針,尾部指針,空 滿信息}。頭部指針指向多隊(duì)列存儲(chǔ)中對(duì)應(yīng)的FIFO的頭部;尾部指針指向多隊(duì)列存儲(chǔ)中對(duì) 應(yīng)FIFO的尾部;空滿信息表示此FIFO的狀態(tài),是空隊(duì)列還是滿隊(duì)列。對(duì)某個(gè)FIFO的讀寫(xiě)應(yīng)該首先根據(jù)FIFO的號(hào)碼到索引表中取出索引信息,然后根 據(jù)索引信息里面頭部指針或者尾部指針?biāo)饕綄?duì)應(yīng)的FIFO的頭部或者尾部,從而進(jìn)行讀 或者寫(xiě)操作。此種方法稱之為二次索引。兩個(gè)索引寄存器3,用于暫存從所述索引表模塊2中讀取出來(lái)的索引信息以供讀 操作和寫(xiě)操作使用;圖1所示的索引寄存器1和索引寄存器2是兩行結(jié)構(gòu)相同的索引信息,使用寄存 器實(shí)現(xiàn)。此兩行索引的作用是暫存從索引表讀取出來(lái)內(nèi)容。由于索引表只有一個(gè)讀端口以 及一個(gè)寫(xiě)端口,而兩個(gè)FIFO同時(shí)被操作時(shí)會(huì)引起對(duì)兩行索引信息的改寫(xiě),一個(gè)寫(xiě)端口不能 滿足這種需求;同時(shí)索引表的存儲(chǔ)結(jié)構(gòu)不能僅僅直接改變索引表中一行中的某幾位信息, 基于這兩種原因,有必要先把索引表中的信息讀取出來(lái)放到索引寄存器1或者索引寄存器 2中,如此才能實(shí)現(xiàn)同時(shí)對(duì)多隊(duì)列存儲(chǔ)中不同的FIFO進(jìn)行讀或者寫(xiě)。索引寄存器的結(jié)構(gòu)為{索引狀態(tài),F(xiàn)IFO號(hào),頭部指針,尾部指針,空滿信息}。當(dāng) FIFO被操作的時(shí)候,對(duì)應(yīng)的索引寄存器的內(nèi)容會(huì)發(fā)生改變,比如頭部指針和尾部指針會(huì)改 變,為了避免對(duì)索引表寫(xiě)端口的頻繁操作,這個(gè)時(shí)候不需要更新其在索引表中對(duì)應(yīng)的行的 內(nèi)容。也即是說(shuō),索引寄存器中的信息是最新的信息,而索引表的信息可能是落后的信息。 索引寄存器的內(nèi)容僅僅在被新的一個(gè)FIFO的索引信息替換的時(shí)候,才會(huì)被更新到索引表對(duì)應(yīng)的行中。索引寄存器各項(xiàng)的含義如下 1.索引狀態(tài)表示此索引寄存器的狀態(tài),可以是四種狀態(tài)中的一種空閑、讀、寫(xiě)、 讀寫(xiě)??臻e表示此寄存器空閑,其對(duì)應(yīng)的FIFO無(wú)讀寫(xiě)操作,寄存器內(nèi)容可以被索引表新的 內(nèi)容替換;讀狀態(tài)表示此索引對(duì)應(yīng)的FIFO當(dāng)前正在被讀取,而沒(méi)有被寫(xiě)入;寫(xiě)狀態(tài)表示此 索引對(duì)應(yīng)的FIFO當(dāng)前正在被寫(xiě)入,而沒(méi)有被讀取;讀寫(xiě)狀態(tài)表示此索引對(duì)應(yīng)的FIFO當(dāng)前既 被寫(xiě)入,也被讀取。2. FIFO號(hào)表示此索引寄存器的內(nèi)容代表哪個(gè)FIFO的索引信息,同時(shí)也代表了此 索引寄存器對(duì)應(yīng)于索引表中的哪一行。3.頭部指針(H)指向多隊(duì)列存儲(chǔ)中對(duì)應(yīng)的FIFO的頭部,如圖1中所示的Hl或者 H2。4.尾部指針⑴指向多隊(duì)列存儲(chǔ)中對(duì)應(yīng)FIFO的尾部,如圖1中所示的Tl或者T2。5.空滿信息表示對(duì)應(yīng)FIFO的狀態(tài),是空隊(duì)列還是滿隊(duì)列。由于多隊(duì)列存儲(chǔ)單元只有一個(gè)讀端口和一個(gè)寫(xiě)端口,因此不可能出現(xiàn)同時(shí)讀兩個(gè) FIFO,或者同時(shí)寫(xiě)兩個(gè)FIFO的情況,也不會(huì)出現(xiàn)同時(shí)操作三個(gè)(含三個(gè))以上FIFO的情況, 因此兩個(gè)索引寄存器足夠維護(hù)多隊(duì)列存儲(chǔ)結(jié)構(gòu)的運(yùn)行。也因此不會(huì)出現(xiàn)頭指針Hl和H2同 時(shí)有效,或者尾指針Tl和T2同時(shí)有效的情況。所以多隊(duì)列存儲(chǔ)單元中的寫(xiě)端口所需要的 尾部指針T會(huì)選擇Tl或者T2中有效的那個(gè),讀端口所需要的頭部指針H會(huì)選擇Hl或者H2 中有效的那個(gè)。相應(yīng)于本發(fā)明的一種具有二次索引結(jié)構(gòu)的存儲(chǔ)設(shè)備,還提供一種具有二次索引結(jié) 構(gòu)的存儲(chǔ)設(shè)備的操作方法,圖2是本發(fā)明的一種具有二次索引結(jié)構(gòu)的存儲(chǔ)設(shè)備的操作方法 的步驟流程圖,如圖2所示,所述方法,包括下列步驟步驟000.當(dāng)設(shè)備外部希望操作多隊(duì)列存儲(chǔ)中的某個(gè)FIFO時(shí),則向本專利所說(shuō)的 設(shè)備輸入期望操作的FIFO號(hào)。寫(xiě)操作發(fā)生在圖1所示的多隊(duì)列存儲(chǔ)寫(xiě)端口,讀操作發(fā)生在 圖1所示的多隊(duì)列存儲(chǔ)讀端口。兩種操作可以單獨(dú)發(fā)生,也可以同時(shí)發(fā)生。多隊(duì)列存儲(chǔ)的 讀端口和寫(xiě)端口的輸入的FIFO號(hào)可以相同,也可以不同。步驟100.當(dāng)對(duì)多隊(duì)列存儲(chǔ)中的FIFO有寫(xiě)操作或者讀操作時(shí),查看兩個(gè)索引寄存 器中的FIFO號(hào),判斷是否存在一個(gè)索引寄存器中的FIFO號(hào)與當(dāng)前要操作的FIFO號(hào)相同, 若存在,則執(zhí)行步驟200 ;否則,執(zhí)行步驟300 ;步驟200.不管所述索引寄存器的狀態(tài)如何,使用此匹配的索引寄存器來(lái)操作對(duì) 應(yīng)的FIFO ;步驟300.選擇兩個(gè)索引寄存器中索引狀態(tài)為空閑狀態(tài)的索引寄存器,根據(jù)此索 引寄存器的FIFO號(hào)把索引寄存器中的{頭部指針,尾部指針,空滿信息}內(nèi)容寫(xiě)回到索引 表中以更新所述索引表,同時(shí)根據(jù)將要操作的FIFO號(hào)從索引表中把新的索引信息{頭部指 針,尾部指針,空滿信息}從索引表中讀取到此索引寄存器中,并更新索引寄存器的索引狀 態(tài)和FIFO號(hào)。當(dāng)相應(yīng)FIFO被操作的時(shí)候,對(duì)應(yīng)的索引寄存器的內(nèi)容會(huì)發(fā)生改變,比如頭部指針 和尾部指針會(huì)改變,為了避免對(duì)索引表寫(xiě)端口的頻繁操作,這個(gè)時(shí)候不需要更新其在索引 表中對(duì)應(yīng)的行的內(nèi)容,而僅更新相應(yīng)索引寄存器的內(nèi)容。而在本步驟中,由于索引寄存器的 內(nèi)容將要被一個(gè)新的FIFO的索引信息所替換,因此,當(dāng)前索引寄存器中存儲(chǔ)的索引信息需要先寫(xiě)回到索引表中以更新索引表對(duì)應(yīng)的行中,然后才會(huì)根據(jù)將要操作的FIFO號(hào)從索引 表中把新的索引信息從索引表中讀取到此索引寄存器中,并更新索引寄存器的索引狀態(tài)和 FIFO 號(hào)。較佳地,由于多隊(duì)列存儲(chǔ)器只有一個(gè)讀端口和一個(gè)寫(xiě)端口,在新的操作到達(dá)多隊(duì) 列存儲(chǔ)時(shí),兩個(gè)索引寄存器必然至少有一個(gè)是空閑狀態(tài),所以一定能夠找到索引寄存器來(lái) 操作對(duì)應(yīng)的FIFO 。也由于索引表是雙端口存儲(chǔ),在更新索引寄存器的時(shí)候,可以同時(shí)發(fā)起對(duì) 索引表的讀和寫(xiě),不會(huì)造成時(shí)間的延誤。本發(fā)明的有益效果是采用兩次索引,將一塊雙端口存儲(chǔ)從邏輯上劃分為多個(gè) FIFO結(jié)構(gòu)的存儲(chǔ),減少了雙端口存儲(chǔ)的使用,以及隊(duì)列管理資源的使用,并且能夠保證同一 時(shí)刻同一個(gè)FIFO被讀寫(xiě),或者同一時(shí)刻不同F(xiàn)IFO—個(gè)被讀而另一個(gè)被寫(xiě),充分發(fā)揮雙端口 存儲(chǔ)的性能。通過(guò)結(jié)合附圖對(duì)本發(fā)明具體實(shí)施例的描述,本發(fā)明的其它方面及特征對(duì)本領(lǐng)域的 技術(shù)人員而言是顯而易見(jiàn)的。以上對(duì)本發(fā)明的具體實(shí)施例進(jìn)行了描述和說(shuō)明,這些實(shí)施例應(yīng)被認(rèn)為其只是示例 性的,并不用于對(duì)本發(fā)明進(jìn)行限制,本發(fā)明應(yīng)根據(jù)所附的權(quán)利要求進(jìn)行解釋。
權(quán)利要求
一種具有二次索引結(jié)構(gòu)的存儲(chǔ)設(shè)備,其特征在于,所述設(shè)備,包括多隊(duì)列存儲(chǔ)單元,從邏輯上被劃分為N個(gè)FIFO,具有單獨(dú)的讀端口和寫(xiě)端口,能夠?qū)卧獌?nèi)任意FIFO同時(shí)進(jìn)行讀寫(xiě)操作;索引表模塊,用于存儲(chǔ)所述N個(gè)先入先出隊(duì)列的索引信息,每個(gè)先入先出隊(duì)列的索引信息存儲(chǔ)在所述索引表模塊中的一行;兩個(gè)索引寄存器,用于暫存從所述索引表模塊中讀取出來(lái)的索引信息以供讀操作和寫(xiě)操作同時(shí)使用。
2.根據(jù)權(quán)利要求1所述的具有二次索引結(jié)構(gòu)的存儲(chǔ)設(shè)備,其特征在于,所述多隊(duì)列存 儲(chǔ)單元是一雙端口存儲(chǔ)。
3.根據(jù)權(quán)利要求1所述的具有二次索引結(jié)構(gòu)的存儲(chǔ)設(shè)備,其特征在于,所述索引表模 塊使用深度為N的雙端口存儲(chǔ)。
4.根據(jù)權(quán)利要求1所述的具有二次索引結(jié)構(gòu)的存儲(chǔ)設(shè)備,其特征在于,所述索引表模 塊中的每一行的索引信息由下面的元素構(gòu)成{頭部指針,尾部指針,空滿信息};頭部指針 指向多隊(duì)列存儲(chǔ)中對(duì)應(yīng)的FIFO的頭部,尾部指針指向多隊(duì)列存儲(chǔ)中對(duì)應(yīng)FIFO的尾部;空滿 信息表示此FIFO的狀態(tài),是空隊(duì)列還是滿隊(duì)列。
5.根據(jù)權(quán)利要求1所述的具有二次索引結(jié)構(gòu)的存儲(chǔ)設(shè)備,其特征在于,對(duì)某個(gè)FIFO的 讀寫(xiě)應(yīng)該首先根據(jù)FIFO的號(hào)碼到索引表中取出索引信息,然后根據(jù)索引信息里面頭部指 針或者尾部指針?biāo)饕綄?duì)應(yīng)的FIFO的頭部或者尾部,從而進(jìn)行讀或者寫(xiě)操作。
6.根據(jù)權(quán)利要求1所述的具有二次索引結(jié)構(gòu)的存儲(chǔ)設(shè)備,其特征在于,所述索引寄存 器使用通用寄存器實(shí)現(xiàn)。
7.根據(jù)權(quán)利要求1所述的具有二次索引結(jié)構(gòu)的存儲(chǔ)設(shè)備,其特征在于,所述索引寄存 器的結(jié)構(gòu)為{索引狀態(tài),F(xiàn)IFO號(hào),頭部指針,尾部指針,空滿信息};索引狀態(tài)表示此索引寄 存器的狀態(tài),是四種狀態(tài)中的一種空閑、讀、寫(xiě)、讀寫(xiě),F(xiàn)IFO號(hào)表示此索引寄存器的內(nèi)容代 表哪個(gè)FIFO的索引信息,同時(shí)也代表了此索引寄存器對(duì)應(yīng)于所述索引表模塊中的哪一行, 頭部指針指向多隊(duì)列存儲(chǔ)單元中對(duì)應(yīng)的FIFO的頭部,尾部指針指向多隊(duì)列存儲(chǔ)模塊中對(duì) 應(yīng)FIFO的尾部,空滿信息表示對(duì)應(yīng)FIFO的狀態(tài),是空隊(duì)列還是滿隊(duì)列。
8.一種具有二次索引結(jié)構(gòu)的存儲(chǔ)設(shè)備的操作方法,其特征在于,所述方法,包括下列步驟步驟100.外部設(shè)備輸入期望操作的先入先出隊(duì)列號(hào),查看兩個(gè)索引寄存器中的先入 先出隊(duì)列號(hào),判斷是否存在一個(gè)索引寄存器中的先入先出隊(duì)列號(hào)與當(dāng)前要操作的先入先出 隊(duì)列號(hào)相同,若存在,則執(zhí)行步驟200 ;否則,執(zhí)行步驟300 ;步驟200.使用此匹配的索引寄存器來(lái)操作對(duì)應(yīng)的先入先出隊(duì)列;步驟300.選擇兩個(gè)索引寄存器中索引狀態(tài)為空閑狀態(tài)的索引寄存器,根據(jù)此索引寄 存器的先入先出隊(duì)列號(hào)把索引寄存器的內(nèi)容寫(xiě)回到索引表中以更新所述索引表,同時(shí)根據(jù) 將要操作的先入先出隊(duì)列號(hào)從索引表中把新的索引信息從索引表中讀取到此索引寄存器 中,并更新索引寄存器的索引狀態(tài)和先入先出隊(duì)列號(hào)。
9.根據(jù)權(quán)利要求8所述的具有二次索引結(jié)構(gòu)的存儲(chǔ)設(shè)備的操作方法,其特征在于,所 述索引表中的每一行的索引信息由下面的元素構(gòu)成{頭部指針,尾部指針,空滿信息};頭 部指針指向多隊(duì)列存儲(chǔ)中對(duì)應(yīng)的FIFO的頭部,尾部指針指向多隊(duì)列存儲(chǔ)中對(duì)應(yīng)FIFO的尾部;空滿信息表示此FIFO的狀態(tài),是空隊(duì)列還是滿隊(duì)列。
10.根據(jù)權(quán)利要求8所述的具有二次索引結(jié)構(gòu)的存儲(chǔ)設(shè)備的操作方法,其特征在于,所 述索引寄存器的結(jié)構(gòu)為{索引狀態(tài),F(xiàn)IFO號(hào),頭部指針,尾部指針,空滿信息};索引狀態(tài)表 示此索引寄存器的狀態(tài),是四種狀態(tài)中的一種空閑、讀、寫(xiě)、讀寫(xiě),F(xiàn)IFO號(hào)表示此索引寄存 器的內(nèi)容代表哪個(gè)FIFO的索引信息,同時(shí)也代表了此索引寄存器對(duì)應(yīng)于所述索引表模塊 中的哪一行,頭部指針指向多隊(duì)列存儲(chǔ)單元中對(duì)應(yīng)的FIFO的頭部,尾部指針指向多隊(duì)列存 儲(chǔ)模塊中對(duì)應(yīng)FIFO的尾部,空滿信息表示對(duì)應(yīng)FIFO的狀態(tài),是空隊(duì)列還是滿隊(duì)列。
11.根據(jù)權(quán)利要求8所述的具有二次索引結(jié)構(gòu)的存儲(chǔ)設(shè)備的操作方法,其特征在于,當(dāng) 所述索引寄存器的內(nèi)容將要被一個(gè)新的FIFO的索引信息所替換時(shí),當(dāng)前索引寄存器中存 儲(chǔ)的索引信息需要先寫(xiě)回到索引表中以更新索引表對(duì)應(yīng)的行。
全文摘要
本發(fā)明公開(kāi)了一種具有二次索引結(jié)構(gòu)的存儲(chǔ)設(shè)備,所述設(shè)備,包括多隊(duì)列存儲(chǔ)單元,從邏輯上被劃分為N個(gè)FIFO,具有單獨(dú)的讀端口和寫(xiě)端口,能夠?qū)卧獌?nèi)任意FIFO同時(shí)進(jìn)行讀寫(xiě)操作;索引表模塊,用于存儲(chǔ)所述N個(gè)先入先出隊(duì)列的索引信息,每個(gè)先入先出隊(duì)列的索引信息存儲(chǔ)在所述索引表模塊中的一行;兩個(gè)索引寄存器,用于暫存從所述索引表模塊中讀取出來(lái)的索引信息以供讀操作和寫(xiě)操作同時(shí)使用。
文檔編號(hào)G06F5/06GK101963896SQ20101025976
公開(kāi)日2011年2月2日 申請(qǐng)日期2010年8月20日 優(yōu)先權(quán)日2010年8月20日
發(fā)明者孫凝暉, 安學(xué)軍, 曹政, 王凱, 陳飛 申請(qǐng)人:中國(guó)科學(xué)院計(jì)算技術(shù)研究所
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
远安县| 盈江县| 辽宁省| 武夷山市| 淮滨县| 洪江市| 香港| 陇南市| 博湖县| 南郑县| 临城县| 望奎县| 渑池县| 会同县| 五莲县| 扎兰屯市| 三明市| 新平| 丰顺县| 高邑县| 定边县| 兴国县| 苗栗市| 章丘市| 浪卡子县| 武陟县| 科尔| 贵南县| 沿河| 马公市| 察隅县| 双辽市| 克什克腾旗| 翁源县| 阳新县| 江都市| 淳化县| 来安县| 永年县| 龙山县| 加查县|