專利名稱:可重新配置的并行查閱表系統(tǒng)的制作方法
技術領域:
本發(fā)明涉及一種可重新配置的并行查詢表系統(tǒng)。
相關申請本申請要求以Stein等人2002年2月7日提出的發(fā)明名稱為“8 WAY PARALLEL LOOK-UP TABLE(8路并行查詢表)”的美國臨時申請作為優(yōu)先權基礎。
背景技術:
諸如當前第二代(2G)個人數(shù)字助理(PDA)以及新的(3G)移動無線手機/終端之類的當前的通信應用要求使用MPEG-4流式視頻協(xié)議。最新一代的視頻壓縮/解壓縮標準主要針對具有中速數(shù)據(jù)通信鏈路的設備。查詢表在兩種技術中都在大規(guī)模地使用。例如,在通信中,前向糾錯(Reed-Solomon)通常使用256Galois域查詢表,數(shù)據(jù)加密算法等等(DES/3DES,AES)為選擇盒(S-Box)使用八個64字節(jié)查詢表。在視頻流式播放中,諸如JPEG、MPEG-2、MPEG-4和Windows Media之類的協(xié)議使用霍夫曼(Huffman)查詢表來進行可變長度編碼(VLC)。傳統(tǒng)的DSP和控制器串行地訪問這些表,這會導致響應時間變慢。
通常,一旦這些表被設計成執(zhí)行特定的任務,它們就無法用于其他用途。結(jié)果,可串行地進行訪問的查詢表限制了通信和圖像處理應用程序的運行速度。
發(fā)明內(nèi)容
因此,本發(fā)明的目標是提供改進的可重新配置的并行查詢表系統(tǒng)。
本發(fā)明的另一個目標是提供這樣的改進的可重新配置的并行查詢表系統(tǒng),該系統(tǒng)可以同時訪問許多查詢表。
本發(fā)明的另一個目標是提供這樣的改進的可重新配置的并行查詢表系統(tǒng),該系統(tǒng)可以輕松地重新配置,以訪問不同數(shù)量的和不同大小的查詢表。
本發(fā)明的另一個目標是提供這樣的改進的可重新配置的并行查詢表系統(tǒng),該系統(tǒng)更快,更加靈活。
本發(fā)明是這樣實現(xiàn)的一種真正更快,更加靈活的查詢表系統(tǒng)可以這樣獲得通過將要被查詢的值與代表查詢表的起始地址的值結(jié)合,使存儲器中的許多查詢表可以同時被訪問,從而同時將每一個值轉(zhuǎn)換為地址,以并行地定位每一個查詢表中的那些值的函數(shù)。
本發(fā)明的特點是提供一種可重新配置的并行查詢表系統(tǒng),包括存儲器和存儲器中存儲的多個查詢表。行索引寄存器保存查詢表中的要被查詢的值,列索引寄存器存儲代表存儲器中存儲的每一個查詢表的起始地址。地址轉(zhuǎn)換電路響應列索引寄存器和行索引寄存器,以同時生成行索引寄存器中的每一個值的地址,以并行地定位每一個查詢表中的那些值的函數(shù)。
在優(yōu)選實施例中,地址轉(zhuǎn)換電路可以包括乘法器電路,用于將代表起始地址的值乘以每一列的長度,還包括加法器電路,用于將行索引寄存器中的值與乘法器電路的輸出結(jié)合。地址轉(zhuǎn)換電路可以包括“或”電路,用于將來自行索引寄存器的值與列索引寄存器中的相對于行索引寄存器中的值朝著MSB移動N位的值相結(jié)合。查詢表的大小可以全部相同。
那些精通本技術的人員根據(jù)下面對優(yōu)選實施例的描述和附圖可以了解其他目標、特點和優(yōu)點,其中圖1是根據(jù)本發(fā)明的可重新配置的并行查詢表系統(tǒng)的簡化方框圖;圖2是典型的線性存儲器結(jié)構(gòu)的示意圖;圖3是顯示以并排的查詢表布局排列的圖2的列的示意圖;圖4是顯示結(jié)合行和列索引寄存器值以獲取用于在查詢表中定位值函數(shù)的地址的一種方法的簡圖;圖5是根據(jù)本發(fā)明的用于實現(xiàn)圖4中所描述的地址生成的行和列索引寄存器的示意圖;圖6是圖5的寄存器的每一個級中的八位信息的移位和組合,顯示了實現(xiàn)的最終地址生成;圖7顯示了可以用本發(fā)明獲得的查詢表的不同配置的數(shù)量的樣本;圖8是根據(jù)本發(fā)明的可重新配置的并行查詢表的一個實施例的示意圖;圖9是圖8的其中一個“或”電路的比較詳細的示意圖;以及圖10和11是顯示根據(jù)本發(fā)明實現(xiàn)的并行查詢表的兩種不同配置的示意圖。
優(yōu)選的實施例圖1顯示了根據(jù)本發(fā)明的可重新配置的并行查詢表系統(tǒng)10,包括行索引寄存器R2,12和列索引寄存器R1,14,地址轉(zhuǎn)換電路16和包含許多查詢表的存儲器18。來自存儲器18的輸出被提供給輸出寄存器20。存儲器12包括許多查詢表,行索引寄存器12保存了那些查詢表中的要被查詢的值。例如,行索引寄存器12可以保存在存儲器18上的查詢表中將被查詢的角度,其中,每一個查詢表都具有不同的函數(shù),這些角度的正弦值、余弦值、正切值等等中的某一個。列索引寄存器14存儲了代表存儲器中存儲的每一個查詢表的起始地址的值。例如,如果存儲器18保存了八個查詢表,其中每一個查詢表都有64個字節(jié),與列30、32、34、36、38、40、42、44重合的那些查詢表的起點將是0、64、128、192、256、320、384和448。地址轉(zhuǎn)換電路16將行索引寄存器12中的值與每一個查詢表的起始地址的表示結(jié)合,以同時生成索引寄存器中的每一個值的地址,以并行地定位每一個查詢表中的那些值的函數(shù)。
存儲器通常如圖3所示以線性方式制成,以便制造方便。如此,存儲容量為512字節(jié)(每一個字節(jié)包括八個位)的存儲器將按圖2中的存儲器18a的方式構(gòu)建,其中,有八列30-44一個接著一個,并包含字節(jié)行0-63、64-127、128-191、192-255、256-319、320-383、384-447、448-511。假設列30-44中的每一列的長度都相等,則存儲器18a將很有可能如圖3中的存儲器18b那樣,其中,列30-44中的每一列都并排放置,每一列都延伸六十四行46,編號為0-63。假設要尋址的區(qū)域位于第五列和第四行,即,陰影區(qū)域,這可以在圖2中看作如那里所描述的0-511中的324行。為了確定此特定位置48的地址,在圖3的存儲器查詢表中,可以在乘法器50中將圖4中的列索引寄存器14a中的列編碼5乘以表的長度(六十四),產(chǎn)生編號320。如果此編號320與對應于第四行的索引寄存器12a相加,則加法器52的輸出將是324,這是圖3中的顯示為行4和列5的位置48的準確地址,在圖2中也直接顯示為地址324。相同的概念也可以以數(shù)字方式更加有效而簡單地獲得,如圖5所示,其中,行索引寄存器12b和列索引寄存器14b顯示為八級寄存器,每一級代表一個字節(jié),每一個字節(jié)有8位。在第一級60中駐留了編號四,與前面一樣,但是在寄存器14b的第一級62駐留了編號四十,因為此編號將由于三個位的硬連線移動乘以八,以提供編號320,如前所述。具體來說,圖6中的級60的展開圖顯示了八位結(jié)構(gòu),第三位的位置64中為“1”,代表二進制四。顯示了寄存器14b的級62,其八位在第四和第六位的位置為“1”,在66處的“1”代表8,68處的“1”代表32,總共40。然而,如圖6所示,寄存器14b的級62的八位相對于寄存器12b的級60的八位向左移動了三個位。這將有效地將級62中的值乘以八。當兩個相結(jié)合時,通常是“或”運算,結(jié)果是九位地址70,其中,第三位72有“1”,第七位74和第九位76代表編號256+64+4=324,這是適當?shù)牡刂?,如前面參考圖2和3所說明的。
如果希望將系統(tǒng)分別超出512到1024或2048存儲器位置,則還有另外兩個位可用,78、80。選擇了三個位的移動,以提供八的乘法器,因為使用了八字節(jié)寄存器,在八字節(jié)大小內(nèi)不需要置換。本發(fā)明的結(jié)構(gòu)產(chǎn)生了可以輕松地進行重新配置的系統(tǒng),因為通過選擇所希望的起點,將它除以八,并將該編號存儲在級62中,可以簡單地建立任何特定查詢表的起點,寄存器12b中的每一個其他級都可以具有相同或不同的值,代表查詢表的起始地址,以便所有查詢表都可以具有相同大小或者都具有不同的大小。例如,如圖7所示,可以具有八字節(jié)長的六十四個查詢表存儲器18c,具有六十四字節(jié)長的八個查詢表的存儲器18d,或如存儲器18e所示,一個512字節(jié)長的查詢表。
在本發(fā)明的一個實施例中,圖8中的可重新配置的并行查詢系統(tǒng)10f包括行索引寄存器12f和列索引寄存器14f,其中每一個寄存器都具有八個級,如前面參考圖6所說明的,所述可重新配置的并行查詢系統(tǒng)10f還包括存儲器18f,所述存儲器18f包括八個列,其中每一列都有六十四個字節(jié),如圖3所示。在圖8中,地址轉(zhuǎn)換電路16f包括許多“或”電路。一個“或”電路與寄存器12f和14f中每一個寄存器的每一對級關聯(lián)。如此,有八個“或”電路,為了清楚起見,只顯示了其中三個90、92和94。在操作中,“或”電路90接收來自八位級60f的八個輸入中的五個,而來自級60f的其余三個最低有效位被直接提供到存儲器地址總線96。到“或”門90的其他輸入是來自寄存器14f的第一級62f的六個位。這些如參考圖6所說明的那樣相結(jié)合,以便來自級60f的五個位和來自移動級62f的六個位進行“或”運算,以產(chǎn)生六位輸出,然后,該輸出同來自級60f的三個最低有效位相結(jié)合,以提供地址總線96上的九位地址。為清楚起見,“或”電路92和94和其他“或”電路被省略,它們以同樣的方式操作,以確定在存儲器18f中的位置。
如圖9中的“或”電路90所示范的每一個“或”電路都包括五個“或”門100、102、104、106和108,所述五個“或”門將來自級60f的第三、第四、第五、第六和第七位置的位分別與來自級62f的位置0、1、2、3和4的那些位結(jié)合,并與級62中的相對于級60f中的那些位移動了三個位置的位結(jié)合。級60f的開頭三個位0、1、2不通過“或”門直接提供,以在輸出110處提供九位地址0-8。來自級62f中的位置5的最高有效位也是直接饋送,而不通過任何“或”門。
對于具有八個查詢表120、122、124、126、128、130、132和134的可重新配置的并行查詢表系統(tǒng)10g,其中每一個所述查詢表都具有六十四字節(jié)的長度,寄存器14g在其級62g1到62g8中分別存儲了要被查詢的值0、8、16、24、32、40、48和56。如此,當這些值中的每一個由于三個位移位而乘以因子8時,每一個查詢表的起點將分別是0、64、128、192、256、320、384和448,如前面所說明的。查詢表中的要被查詢的值存儲在每一個級60g1-60g8中,這些值只能存儲在六個位中,因為在每一個列或查詢表中只有六十四行地址。寄存器24g和12g的級中的兩個值的組合,如前面所述,是通過在“或”電路150、152、154、156、158、160、162和164中執(zhí)行的移位和加法來實現(xiàn)的。
在又一個示例中,如圖11所示,根據(jù)本發(fā)明的可重新配置的并行查詢表系統(tǒng)10h可以通過在每一級62h1-62h4中放置值32并在其余的級62h5-52h8中放置0而配置為提供兩個查詢表,其中每一個查詢表都有256個字節(jié)。通過在頭四級中放置32,頭四個值將要使用從256開始的查詢表,并到511,其他四個值將要使用從0開始的查閱表,到255。行索引寄存器12h的級中的值現(xiàn)在將以八位形式表示,因為行數(shù)是256。
雖然至今為止都使用了八位結(jié)構(gòu),但這不是本發(fā)明的必須的限制。例如,通過根據(jù)查詢表的長度作為八位的基本字節(jié)大小因子,重復行索引寄存器的兩個相鄰的級中的值并調(diào)整列索引寄存器中的值,可以確定16位、32位等等字的地址,并進行查詢。例如,在具有兩個查詢表的存儲器,每一個查詢表都有256個字節(jié),級62h1-62h8可以交替地用值0和32加載,而級60h1-60h8可以以類似的對加載,以便60h1和60h2具有相同的值,60h3和60h4具有相同的值等等,以便使用從0開始到255的表,用最低有效字節(jié)(LSB)、使用從256開始到511的表,用最高有效字節(jié)(MSB)確定十六位字的地址并進行查詢。盡管是以行和列對本發(fā)明進行討論的,但是,也可以以列和行或其他有序陣列來實現(xiàn)。
雖然本發(fā)明的特定的特點在某些圖形中顯示而非在其他圖形中顯示,但是,這只是為了方便而已,因為每一個特點都可以同根據(jù)本發(fā)明的任何或所有其他特點相結(jié)合。這里所使用的“包含”、“包括”“具有”以及“帶有”之類的詞可以在廣義的含義上進行理解,而不僅限于任何物理連接。此外,主體申請中所說明的任何實施例不應被理解為僅有的可能的實施例。
那些精通本技術的人員會想到其他實施例,這些實施例都會在下面的權利要求范圍內(nèi)
權利要求
1.一種可重新配置的并行查詢表系統(tǒng),包括存儲器;所述存儲器中存儲的多個查詢表;行索引寄存器,用于保存所述查詢表中的要被查詢的值;列索引寄存器,用于存儲代表所述存儲器中存儲的每一個所述查詢表的起始地址的值;以及地址轉(zhuǎn)換電路,響應所述列索引寄存器和所述行索引寄存器,以同時生成所述行索引寄存器中的每一個值的地址,以并行地定位每一個查詢表中的那些值的函數(shù)。
2.根據(jù)權利要求1所述的可重新配置的并行查詢表系統(tǒng),其中,所述地址轉(zhuǎn)換電路包括乘法器電路,用于將代表起始地址的值乘以每一列的長度,還包括加法器電路,用于將所述行索引寄存器中的值與所述乘法器電路的輸出結(jié)合。
3.根據(jù)權利要求1所述的可重新配置的并行查詢表系統(tǒng),其中,所述地址轉(zhuǎn)換電路包括“或”電路,用于將所述行索引寄存器中的所述值與所述列索引寄存器中的相對于所述行索引寄存器中的值朝著MSB移動N位的所述值相結(jié)合。
4.根據(jù)權利要求1所述的可重新配置的并行查詢表系統(tǒng),其中,所述查詢表的大小全部相同。
全文摘要
一種可重新配置的并行查詢表系統(tǒng)(10)包括存儲器(18);存儲器中存儲的多個查詢表;行索引寄存器(12),用于保存查詢表中的要被查詢的值;列索引寄存器(14),用于存儲代表存儲器中存儲的查詢表的起始地址;地址轉(zhuǎn)換電路(16),響應列索引寄存器(14)和行索引寄存器(12)同時生成行索引寄存器(12)中的每一個值的地址,以并行地定位每一個查詢表中的那些值的函數(shù)。
文檔編號G06FGK1623141SQ02828485
公開日2005年6月1日 申請日期2002年11月27日 優(yōu)先權日2002年2月7日
發(fā)明者尤瑟夫·斯坦, 海姆·普瑞姆 申請人:阿納洛格裝置公司