一种查表方法及装置的制作方法

文档序号:6370775阅读:169来源:国知局
专利名称:一种查表方法及装置的制作方法
技术领域
本发 明涉及通信领域,尤其涉及一种查表方法及装置。
背景技术
查找表通常是利用简单的查询操作来替换运行时计算操作,由于从内存中提取数值要比复杂的计算速度快很多,所以查找表被广泛的应用。现在常用的查表方法主要有一维查找和二维查找。所述一维查找为在一维查找表中输入一个一维索引可查找到与所述索引对应的唯一一个输出值;所述二维查找为在二维查找表中输入一个二维索引可查找到与所述索引对应的唯--个输出值。上述的查表方法,只能独立地进行一维查找和二维查找,在既需要一维查找又需要二维查找的场合,不能满足一维查找与二维查找并存。

发明内容
本发明的实施例提供一种查表方法及装置,可以兼容实现一维查找和二维查找。为达到上述目的,本发明的实施例采用如下技术方案一种查表方法,包括将输入索引进行加I运算得到加I输入索引;根据所述输入索引和加I输入索引选择得到对应的RAM中的索引地址;根据所述索引地址查找所述对应的RAM中存储的查找表,输出所述对应的RAM的查找表中所述索引地址内的数据,所述查找表由二维查找表拆分而成;根据所述输入索引及加I输入索引选择所述对应RAM中输出的数据的次序;将所述对应RAM中输出的数据按照所述次序进行内插得到最终输出值。一种查表装置,包括加I计算单元,用于将输入索引进行加I运算得到加I输入索引;地址获取单元,用于根据所述输入索引和加I输入索引选择得到对应的RAM中的索引地址;查找输出单元,用于根据所述地址获取单元得到的所述索引地址查找所述对应的RAM中存储的查找表,输出所述对应的RAM的查找表中所述索引地址内的数据,所述查找表由二维查找表拆分而成;次序选择单元,用于根据所述加I计算单元获得的所述加I输入索引和所述输入索引选择所述对应RAM中输出的数据的次序;内插计算单元,用于将所述查找输出单元的所述对应RAM中输出的数据按照所述次序选择单元选择的次序进行内插得到最终输出值。上述技术方案提供的查表方法和装置,通过将输入索引进行加I运算得到加I输入索引,并根据所述输入索引和加I输入索引选择得到对应的RAM中的索引地址,并根据所述索引地址查找所述对应的RAM中存储的查找表,输出所述对应的RAM的查找表中所述索弓I地址内的数据;然后按照选择的所述对应RAM中输出的数据的次序,将对应RAM中输出的数据进行内插得到最终输出值,依照上述查表方法,即可以输入一维索引进行一维查找,也可以输入二维索引进行二维查表,兼容实现一维查找和二维查找。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图I为本发明实施例提供的一种查找表示意图;图2为本发明实施例提供的一种查表方法流程示意图;
图3为本发明实施例提供的一种一维虚拟地址选择方法示意图;图4为本发明实施例提供的一种二维虚拟地址选择方法示意图;图5为本发明实施例提供的一种一维输出数据选择方法示意图;图6为本发明实施例提供的一种二维输出数据选择方法示意图;图7为本发明实施例提供的一种查表装置的结构框图;图8为本发明实施例提供的另一种查表装置的结构框图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本发明实施例中提供的查表方法所用的查找表为二维查找表根据二维索引的奇偶性按照(偶,偶)、(偶,奇)、(奇,偶)和(奇,奇)拆分而成。拆分而成的4个所述查找表分别存储在4个RAM中,所述4个RAM的查找表中存储数据的地址addr满足以下公式addr = ((a >> l)*k+b >> I),其中(a, b)为所述二维索引,a>>l 和 b>>l 表示 a和b右移I位,k为所述二查找表宽度值的一半。假设有6*6 二维查找表表I,如下所示
权利要求
1.一种查表方法,其特征在于,包括 将输入索引进行加I运算得到加I输入索引; 根据所述输入索引和加I输入索引选择得到对应的RAM中的索引地址; 根据所述索引地址查找所述对应的RAM中存储的查找表,输出所述对应的RAM的查找表中所述索引地址内的数据,所述查找表由二维查找表拆分而成; 根据所述输入索引及加I输入索引选择所述对应RAM中输出的数据的次序; 将所述对应RAM中输出的数据按照所述次序进行内插得到最终输出值。
2.根据权利要求I所述的方法,其特征在于,所述查找表为二维查找表根据二维索引的奇偶性按照(偶,偶)(偶,奇)(奇,偶)(奇,奇)拆分而成。
3.根据权利要求2所述的方法,其特征在于,拆分而成的4个所述查找表分别存储在4个RAM中,所述4个RAM的查找表中存储数据的地址addr满足以下公式addr = ((a >>l)*k+b >> I),其中(a, b)为所述二维索引,a >> I和b >> I表不a和b右移I位,k为所述二维查找表宽度值的一半。
4.根据权利要求I 3任一项所述的方法,其特征在于,所述将输入索引进行加I运算得到加I输入索引具体包括 将一维输入索引S_i进行加I运算得到加I输入索引S_i_l,所述S_i_l为S_i+1 ;或,将二维输入索引(i,j)进行加I运算得到加I输入索引(i,j+1)、(i+1,j)和(i+1,j+1)。
5.根据权利要求4所述的方法,其特征在于,所述根据所述输入索引和加I输入索引选择得到对应的RAM中的索引地址具体包括 根据所述输入索引和加I输入索引选择得到对应的虚拟地址; 根据所述虚拟地址计算得到所述虚拟地址对应的RAM中的索引地址。
6.根据权利要求5所述的方法,其特征在于,在输入一维索引S_i时,将一维输入索引S_i进行加I运算得到加I输入索引S_i_l后所述方法具体包括 根据所述s_i和S_i_l选择得到所述S_i和S_i_l对应的虚拟地址; 根据一维地址计算公式由所述虚拟地址计算得到所述虚拟地址对应的RAM中的索引地址;其中,所述S_i或所述S_i_l对应的所述虚拟地址为xxh,xx表示对应的RAM,所述一维地址计算公式为addrl = h >> I, addr I为所述虚拟地址xxh对应的索引地址,h >>I表不h右移一位; 根据所述索引地址addrl查找所述对应RAM中存储的查找表,输出所述对应RAM的查找表中所述索引地址addrl内的数据; 根据输入的表号以及所述S_i和S_i_l选择所述对应RAM中输出的数据的次序;其中,根据所述输入的表号选择对应的RAM,所述S_i对应的RAM中输出的数据的次序为第一,所述S_i_l对应的RAM中输出的数据的次序为第二 ; 将所述对应RAM中输出的数据按照所述次序进行一维内插得到最终输出值。
7.根据权利要求5所述的方法,其特征在于,在输入二维索引(i,j)时,将二维输入索弓丨(i,j)进行加I运算得到加I输入索引(i,j+1)、(i+1, j)和(i+1,j+1)后所述方法具体包括 根据所述(i,j)、(i,j+1)、(i+1, j)和α+1,j+1)选择得到对应的虚拟地址; 根据二维地址计算公式由所述虚拟地址计算得到所述虚拟地址对应的RAM中的索引地址;其中,(i,j)、(i,j+1)、(i+1,j)或(i+1, j+1)对应的所述虚拟地址为(xxm, xxn), xx表示对应的RAM,所述二维地址计算公式为addr2 = ((m >> I)*k+n >> I),其中addr2为所述虚拟地址(xxm, xxn)对应的索引地址,m >> I和η >> I表示m和η右移I位,k为所述二维查找表宽度值的一半; 根据所述对应的索引地址addr 2查找所述对应RAM中存储的查找表,输出所述对应RAM的查找表中所述索引地址addr2内的数据; 根据所述(i,j)、(i,j+1)、(i+1, j)和(i+1,j+1)选择所述对应RAM中输出的数据的次序;其中,所述(i,j)对应的RAM中输出的数据的次序为第一,所述(i,j+1)对应的RAM中输出的数据的次序为第二,(i+1,j)对应的RAM中输出的数据的次序为第三,所述(i+1,j+1)对应的RAM中输出的数据的次序为第四; 将所述对应RAM中输出的数据按照所述次序进行二维内插得到最终输出值。
8.—种查表装置,其特征在于,包括· 加I计算单元,用于将输入索引进行加I运算得到加I输入索引; 地址获取单元,用于根据所述输入索引和加I输入索引选择得到对应的RAM中的索引地址; 查找输出单元,用于根据所述地址获取单元得到的所述索引地址查找所述对应的RAM中存储的查找表,输出所述对应的RAM的查找表中所述索引地址内的数据,所述查找表由二维查找表拆分而成; 次序选择单元,用于根据所述加I计算单元获得的所述加I输入索引和所述输入索引选择所述对应RAM中输出的数据的次序; 内插计算单元,用于将所述查找输出单元的所述对应RAM中输出的数据按照所述次序选择单元选择的次序进行内插得到最终输出值。
9.根据权利要求8所述的查表装置,其特征在于,所述查找输出单元中的查找表为二维查找表根据二维索引的奇偶性按照(偶,偶)(偶,奇)(奇,偶)(奇,奇)拆分而成。
10.根据权利要求9所述的查表装置,其特征在于,所述拆分而成的4个所述查找表分别存储在所述查找输出单元中的4个RAM中,所述4个RAM的查找表中存储数据的地址addr满足以下公式addr = ((a >> l)*k+b >> I),其中(a, b)为所述二维索引,a >> I和b >> I表不a和b右移I位,k为所述查找表宽度值的一半。
11.根据权利要求8 10任一项所述的查表装置,其特征在于,所述加I计算单元具体包括 将一维输入索引s_i进行加I运算得到加I输入索引S_i_l,所述S_i_l为S_i+1 ;或,将二维输入索引(i,j)进行加I运算得到加I输入索引(i,j+1)、(i+1, j)和α+1,j+1)。
12.根据权利要求11所述的查表装置,其特征在于,所述地址获取单元具体包括 地址选择单元,用于根据所述输入索引和加I输入索引选择得到对应的虚拟地址; 地址计算单元,用于根据所述虚拟地址计算得到所述虚拟地址对应的RAM中的索引地址。
13.根据权利要求12所述的查表装置,其特征在于,在输入一维索引S_i时, 所述地址选择单元,具体用于根据所述S_i和S_i_l选择得到所述S_i和S_i_l对应的虚拟地址;所述地址计算单元,具体用于根据一维地址计算公式由所述虚拟地址计算得到所述虚拟地址对应的RAM中所述S_i和S_i_l分别对应的索引地址;其中,所述S_i或所述S_i_l对应的所述虚拟地址为xxh,xx表示对应的RAM,所述一维地址计算公式为addrl = h >>I, addrl为所述虚拟地址xxh对应的索引地址,h >> I表示h右移一位; 所述查找输出单元,具体用于根据所述对应的索引地址addrl查找所述对应RAM中存储的查找表,输出所述对应RA M的查找表中所述索引地址addrl内的数据; 所述次序选择单元,具体用于输入的表号以及根据所述S_i和S_i_l选择所述对应RAM中输出的数据的次序;其中,根据所述输入的表号选择对应的RAM,所述S_i对应的RAM中输出的数据的次序为第一,所述S_i_l对应的RAM中输出的数据的次序为第二 ; 所述内插计算单元,具体用于将所述对应RAM中输出的数据按照所述次序进行一维内插得到最终输出值。
14.根据权利要求12所述的查表装置,其特征在于,在输入二维索引(i,j)时, 所述地址选择单元,具体用于根据所述(i,j)、(i,j+1)、(i+1, j)和(i+1,j+1)选择得到对应的虚拟地址; 所述地址计算单元,具体用于根据二维地址计算公式由所述虚拟地址计算得到所述虚拟地址对应的RAM中的索引地址;其中,(i,j)、(i,j+1)、(i+1, j)或(i+1,j+1)对应的所述虚拟地址为(xxm, xxn), xx表示对应的RAM,所述二维地址计算公式为addr2 = ((m >>I)*k+n >> I),其中addr2为所述虚拟地址(xxm, xxn)对应的索引地址,m >> I和η>> I表不m和η右移I位,k为所述二维查找表宽度值的一半; 所述查找输出单元,具体用于根据所述对应的索引地址addr2查找所述对应RAM中存储的查找表,输出所述对应RAM的查找表中所述索引地址addr2内的数据; 所述次序选择单元,具体用于根据所述(i,j)、(i,j+1)、(i+1, j)和(i+1, j+1)选择所述对应RAM中输出的数据的次序;其中,所述(i,j)对应的RAM中输出的数据的次序为第一,所述(i,j+Ι)对应的RAM中输出的数据的次序为第二,(i+1, j)对应的RAM中输出的数据的次序为第三,所述(i+1,j+1)对应的RAM中输出的数据的次序为第四; 所述内插计算单元,具体用于所述将对应RAM中输出的数据按照所述次序进行二维内插得到最终输出值。
全文摘要
本发明实施例提供一种查表方法及装置,涉及通信领域,可以兼容实现一维查找和二维查找。所述方法包括将输入索引进行加1运算得到加1输入索引,并根据所述输入索引和加1输入索引选择得到对应的RAM中的索引地址,并根据所述索引地址输出所述对应的RAM的查找表中所述索引地址内的数据;然后按照选择的所述对应RAM中输出的数据的次序,将对应RAM中输出的数据进行内插得到最终输出值。
文档编号G06F17/30GK102722564SQ201210179018
公开日2012年10月10日 申请日期2012年6月1日 优先权日2012年6月1日
发明者向利, 杨勋 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1