查找表寻址系统及方法

文档序号:6570106阅读:242来源:国知局

专利名称::查找表寻址系统及方法
技术领域
:本发明涉及一种改进的查找表寻址系统和方法。
背景技术
:随着计算机的速度由33MHz提高到l.OGHz甚至更高,计算机运算不能在一个周期内完成。于是采用了管线技术来最高效地利用更高的处理器性能并增加吞吐量。当前,深管线的使用已经多达15级甚至更多。一般来说,在管线化计算系统中有数个同时工作的平行构建部件,其中每一个部件分管整个处理中各个不同的部份。例如,计算单元(CU)负责计算,包含数据地址产生器(DAG)和定序器或控制电路的寻址单元,其中数据地址产生器负责根据所选的地址模式来获取数据并将其存储进入存储器以及定序器或控制电路解码并发出指令。DAG只是能够对存储器寻址的部件。结果,在深管线化系统中,如果某个指令取决于由前一个指令的结果,则在某个管线停止的地方,该管线会出现停滞,在重新开始工作之前等待有问题的指令结束。例如,如果在计算之后,DAG需要CU的输出来获取下一个数据,这种输出不能直接传送到DAG从而作为获取数据的条件在能被DAG处理继续获取下一个数据之前其必须被传送通过管线。这是因为只有DAG能访问存储器并且能够将计算单元结果转换为地址指针以定位想要的数据。在多任务通用计算机中,这种停滞可能不是很关键,但在比如用于蜂窝电话、数字摄像机中的实时计算机系统中,这些停滞就是个问题。参见Wilson等人在2005年10月26日提交的题目为"IMPROVEDPIPELINEDIGITALSIGNALPROCESSOR,,的美国专利申请,序列号No.ll/258,801,其全文通过引用集及于此。在一种实施方式中,使用比特置换来实现数据加密。在CU中可以进行这种比特置换,但CU中的算术逻辑单元(ALU):故优化用于16、32或64比特运算,而对于逐比特置换则效率不高。例如,如果由ALU进行这种置换,每一比特需要三个运算周期掩码(mask),移位(shift)和或运算(OR)需要。结果,置换单个32位字需要96个或更多的周期。在另一种实施方式中,代替在ALU中进行置换,置换值可被存储在位于外部存储器中的查找表中。但是,此时在ALU中的R寄存器必须传送字,例如32位,到可以对外部存储器查找表寻址的DAG中的指针(P)寄存器。然而这需要具有大于33.5兆字节的内存或232位的庞大的查找表(LUT)。为了克服这个问题,可以将ALU中的R寄存器中的32位字处理为例如,4个字节(8位)或8个半字节(4位)。这降低了所需的存储容量对于4个字节,需要4个具有256条目、每一个为32位的查找表(或4千字节LUT)而对于8个半字节,需要16条目的8个、每一个为32位的查找表(或512字节LUT)。但是,这也产生了问题此时对于单个32位字,ALU要求传输4(字节)或8(半字节)到DAG的P寄存器。每一次传输依次引起许多前面讨论过的管线停滞问题。在不同的但相关的问题中,线性反馈移位寄存器(LFSR)例如,CRC(循环冗余检验码)、加扰器(scrambler)、解扰器(de-scrambler)中,栅格编码(trellis)在通信系统中被广泛使用。使用掩码/移位/OR运算周期,这种LFSR运算可以通过CU按比例变化(scaled),每次一位,与前面所述的具有同样的问题。或者可以使用利用每周期4、8或16位的解决所述LFSR问题的特定硬件块,例如,ASIC、FPGA。通过使用外部查找表或表,可以消除CU中的掩码/移位/OR方法和ASIC方法,但仍带有所有上述缺点。
发明内容因此,本发明的一个目的是提供一种改进的查找表寻址系统和方法。本发明的另一个目的是提供这样的改进的查找表寻址系统和方法,其最小化在计算单元和数据地址产生器之间出现的管线停滞。本发明的另一个目的是提供这样的改进的查找表寻址系统和方法,其优化所述查找表的大小。本发明的另一个目的是提供这样的改进的查找表寻址系统和方法,其加速线性反馈移位寄存器运算而无需额外的专用硬件,例如ASIC或FPGA。本发明的另一个目的是提供这样的改进的查找表寻址系统和方法,其更快且更省电。本发明的另一个目的是提供这样的改进的查找表寻址系统和方法,其能够再利用现有的处理器部件。本发明的另一个目的是提供这样的改进的查找表寻址系统和方法,其加速置换运算而无需增加专用硬件,例如ASIC或FPGA。本发明的另一个目的是提供这样的改进的查找表寻址系统和方法,其能被充分地变化尺寸以适应更大的存储要求。本发明的另一个目的是提供这样的改进的查找表寻址系统和方法,其能适应于多种不同的应用,例如,编密码、置换和线性反馈移位寄存器实现,包括CRC、加扰、解扰以及栅格编码。本发明是基于这样一种认识而产生的通过进行以下步骤可以得到一种改进的查找表寻址系统和方法,该系统和方法最小化管线停滞,优化查找表的大小,更快,更省电,能够再利用现有的处理部件以及能截剪且适应于多种不同的应用。该步骤为从计算单元传输数据字到数据地址产生器中的输入寄存器;向所述数据地址产生器中至少一个存放-递增(deposit-increment)变址寄存器提供用于识别在一组表中的特定一个的位置的表变址字段和位移字段,所述数据地址产生器具有用于识别一组表在存储器中的位置的表基址字段;以及将数据字的一部分存放进入存放-递增变址寄存器的用于识别具体条目在所述表中的位置的位移字段中。然而,在其它实施方式中的发明不需要实现所有这些目的,并且这里权利要求不受能够实现这些目的的结构和方法的限制。本发明描述了一种查找表寻址系统,该系统在外部存储器中有一组查找表,包括具有输入寄存器和存放—递增变址寄存器的数据地址产生器,该输入寄存器用于从计算单元接收数据字,该存放-递增变址寄存器具有用于识别所述一组表在存储器中的位置的表基址。位移字段识别特定条目在那个特定表中的位置,所述数据地址产生器配置为使数据字的一部分存放进入位移字段从而存取该具体条目。在一种优选的实施方式中,所述条目包括对应于所述数据字的部分的局部结果。所述计算单元可以包括累加寄存器、查找表目的寄存器和结合电路;所述计算单元可以配置为累加来自所有所述数据字的部分的局部结果来获得最终结果。所述目的寄存器可以是所述计算单元数据寄存器堆的任何一个。所述数据地址产生器可以包括多个指针寄存器而所述存放-递增变址寄存器可以由所述指针寄存器中的其中一个实现。所述数据地址产生器还可以包括多个指针寄存器而所述存放-递增输入寄存器可以由所述指针寄存器中的其中一个实现。所述存放-递增变址寄存器的变址字段可以配置为被递增以识别在所述一组表中的下一个表。所述局部结果可以包括所述对应部分的数据位,而且所述数据地址产生器可以进一步被配置为将那些位映射到预定的输出字。所述目的字和数据字可以具有同等位数。所述目的字和数据字可以具有不等的位数。所述结合电路可以是异或电路。所述结合电路可以是加法电路。所述数据地址产生器可以包括第二变址寄存器并且所述数据地址产生器可以配置为将所述数据字的第二部分存放进入所述第二存放-递增变址寄存器的位移字段中。所述数据地址产生器可以配置为将所述变址寄存器预载到已知的表地址。所述已知的表地址可以是一个起始地址。所述位字段可以是字节。所述位字段可以是半字节。本发明还描述了一种查找表寻址方法,用于在外部存储器中提供一组查找表的服务(service),包括从计算单元传送数据字到数据地址产生器中的输入寄存器。在所述数据地址产生器中配备至少一个存放-递增变址寄存器,包括表基址字段,用于识别位于一组表在存储器中的位置并包括所述变址寄存器中的位移字段,用于识别特定条目在所述表中的位置。在一种优选的实施方式中,所述条目可以包括对应于所述数据字的部分的局部结果。可以累加来自所述数据字的所有部分的局部结果来获得最终结果。可以对表基址字段进行递增来识别在所迷数据地址产生器中的组中的下一个表。所述局部结果可以包括数据位,并且还可以包括将那些位映射到预定的输出字。所述输出字和数据字可以具有同等位数。所述输出字和数据字可以具有不等位数。累加可以包括异或运算。累加可以包括求和运算。其可以包括将所述数据字的第二部分存放进入另一个变址寄存器位移字段中用于识别平行于第一个中的另一个特定条目的位置。其可以包括预载所述变址寄存器到已知表地址。所述变址寄存器可被预载到所述起始地址。所述部分可以是位字段。所述位字段可以是半字节或字节。结合下面对优选实施方式的描述和附图,本领域普通技术人员将明白其它目的、特征和优点。附图中图1是根据在DAG和DSP的CU中实施的本发明的查找表寻址系统的示意图2图示了将数个局部结果累加映射成为32位字格式的最终结果;图3的示意框示了图1中的系统的DAG部分的可选实施方式;图4的示意框示了使用如图3的实施方式改进的两个图1的查找表寻址系统来实现的DES加密系统;图5的示意框示了能利用本发明实施的线性反馈移位寄存器栅格编码系统的有限域(GaloisField)线性变换器的实施;图6是LFSRCRC的示意框图;图7是LFSR加扰器的示意框图;图8是LFSR解扰器的示意框图;图9是LFSR栅格编码的示意框图10为表I,该表显示了的图9的ADSL调制解调器栅格编码在8个时钟周期上的四种状态条件;图11是图5的可重新配置的有限域线性变换器栅格编码系统的更详细的示意框图12显示了表I1,该表显示了图11的所述有限域线性变换器系统中出现的条件;图13是有限域线性变换器矩阵的更详细的示意图,该矩阵被配置为在一个周期内从输入位产生栅格编码输出通道标记;图14图示了从图13的矩阵中的半字节到根据本发明的查找表寻址系统的变换;图15是用于实施本发明的数字信号处理器的示意框图;以及图16是根据本发明的查找表寻址方法的框图。具体实施例方式除了下面公开的优选实施方式或实施方式之外,本发明能够用于其它实施方式且能够以多种方式被实施或执行。因此,应理解本发明的应用不受下面描述阐明或附示的结构细节和组件布置的限制。如果在此只说明了一种实施方式,这里的权利要求不受所述实施方式限制。此外,对这里的权利要求的理解将不是限制性地,除非有清晰和令人信服的证据表明确定的排除、限制或放弃。图1图示了以现有的数据地址产生器(DAG)12和计算单元(CU)14实施的根据本发明的查找表寻址系统10,用于在外部存储器16中提供一组查找表的服务。DAG12和CU14可以是常规处理器比如数字信号处理器(DSP)的一部分。在所述DAG中,使用了两个指针(P)寄存器,其中一个作为数据字输入寄存器18而另一个作为存放-递增变址寄存器20,以及使用了递增电路22和预载电路24。在CU14中有查找表(LUT)目的寄存器26、累加器28和结合电路30,其在这里^L简单显示为GF-2加法器(XOR)或加法电路。在CU14中,其任何寄存器堆可被用作LUT目的寄存器26。在存储于外部存储器16的其它数据之中,外部存储器16包括其中含有数个独立表的一组查找表32。例如,如果所述查找表寻址系统10要对32位数据字以半字节工作,即,4个位组,那么就会有8个表,其中每一个具有16个条目,或者如果用字节工作,就会有4个表,其中每个表具有256个条目。LUT存放—递增变址寄存器20产生有效的存储器地址作为表基址位字段38、表变址位字段40、存放位字段36和零位字段41的函数。在运算时,来自CU14的数据字被传送到DAG数据输入字寄存器18。它的一部分,例如,第一半字节34被直接存放进入位移位字段36。表基址位字段38识别所述一组表32在外部存储器16中的起始位置。变址字段40识别表组32中的具体表32-1至32-8的位置,以及识别提供LUT条目宽度的零字段41。如果使用32位LUT存取,所述零字段将包含两个零,或者如果使用的是16位LUT存取,则包含一个零。存放在位移字段36中的所述部分或半字节34是具体条目例如条目42在具体表中的地址位移。假设所述系统用于每次置换被传输到DAG输入寄存器18的32位字的单个半字节,则条目42将包含四位,外加映射进入32位字的映射位置。所述四位是存放在位移字段36中的半字节34中的位的置换。将其位置映射为32位字的信息和所述四位被传送到CU14中的32位LUT目的寄存器26。来自具体条目42的四位根据条目42中的所述映射信息将被载入那些32位置中的4个。此局部结果通过结合电路或GF-2加法器30(XOR)与累加寄存器28的内容结合。由于这是运算的初始周期,寄存器28包含零。因此,在加法器30中结合了所述两个寄存器的输出之后,在寄存器28中累加的结果只有LUT目的寄存器26的内容。接下来,递增电路22将表变址(tableindex)40的值递增1然后将其反馈作为新变址表,这样所述系统进行到表2,32-2。与些同时,数据字输入寄存器18中的数据字的接下来的部分,数据输入寄存器18的接下来部分44中的半字节被传送到位移字段36。这此时识别表2中的另一个具体条目46,其被映射进入LUT目的寄存器26。寄存器26的输出再次通过GF-2加法器30(XOR)和寄存器28的内容结合,而所述结合的结果被累加并存储在寄存器28中。此时寄存器28包含来自与条目46结合的具体条目42的数据的结合,所述具体条目42的数据被映射成为32位字格式,其和具体条目46结合,该条目46的4位被映射为32位字格式的四个其它位置。依此继续直到完成了存在于寄存器18中存在的32位字的所有8个半字节。那时,递增电路22已经到达8,并且预载电路24将表基址预载回到所述表组的开始处。预栽电路24实际上可以预载表基址字段38到任何具体位置。通过和传统运算对照可以理解本发明的优点。在传统运算中,所述数据字每次从CU中的R寄存器被移动半字节或一个字节到DAG中的输入P输入寄存器。在深管线操作中,这意味着被这样传输的每个半字节或字节会有数个停滞。另外,将所述半字节或字节数据存放进入所述位移字段以及递增到下一个表的操作必须通过DAG人工执行。相比之下,应用本发明,全部数据字从CU中的R寄存器被一次传输到DAG中的P输入寄存器,所以全部数据字仅经历一次必须要经历的数个停滞,而不是每8个半字节或每4个字节经历一次。另外,每次将所述半字节或字节数据存放进入所述位移字段和递增至下一个表的操作现在可以通过DAG自带的电路自动完成。在所述DAG中可以有一个以上可用的输入寄存器18a和存放-递增变址寄存器20a。输入寄存器18和18a实际上可以是单个寄存器,其同时为存放-递增变址寄存器20和存放-递增变址寄存器20a服务。还可以具有另外的递增电路22a和预栽电路24a。在CU14中使用第二LUT目的寄存器26a的情况下,可以以两倍的速度快速执行所述运算。通过存储在输入寄存器18和18a中相同的数据字,所述系统可以在寄存器18中查看半字节34并将其传送至在寄存器20中的位移字段36,同时在寄存器18a中的半字节44a可以被传送到位移字段36a。因此,在图1中的DAG12检索表1中的具体条目42的同时,DAG12a能够检索表2中的具体条目46,并随后将其传送到LUT目的寄存器26a,这样在寄存器26和26a中被映射的半字节与累加寄存器28的内容结合在一起,并且这样所述系统可以以两倍的速度快速进行。在下一周期,所述系统将转移到表3和4,然后到表5和6,最后到表7和8。例如,32位输入寄存器比如18的置换是通过将输入寄存器划分为8个半字节,4位的组,然后合并所有置换的半字节的局部结果来完成的。第一半字节,比如图1所示的寄存器18中的半字节34被显示映射到图1中的累加寄存器28的32位字格式50(图2)。该第一操作的四个被映射位由带1的X表示。利用下单个半字节44,所述带有2的X标记的位如图2的52中所示被映射为LUT目的寄存器26,以图2中的32位格式52显示了该结合。在第三半字节之后,在累加寄存器28中的所述字格式出现在图2的54。在所有8个操作周期之后,图1中的寄存器28的内容显示于图2的字格式56,其中通过结合50、52、54和其间的情况(为简便起见,没有示出)所示的每一个局部结果,所有8组的32位或4位半字节中的每一个都已经被映射到56处所示的最终结果。在可选结构中,可以有两个P变址寄存器20b,20bb,如图3所示,其以交织方法运行以从查找表组32b检索条目。例如,在置换32位数据字的情况下,在变址寄存器20b中的零字段41b可以为获取所有偶数32位字而包括全部的零,而在寄存器20bb中的零字段41bb可以包括l后面接两个零,用于获取所有的奇数32位字,如图所示。然后,在变址寄存器20bb处理其位移字段36bb中的半字节34并且从表2检索具体条目42b的时候,在其位移字段36b中已经接收到半字节44的变址寄存器20b将从表l检索具体条目46b。注意,表l和II的可寻址数据条目已被交织,而表3和4、表5和6以及表7和8也是这样。在递增表变址之后,变址寄存器20现在成为变址寄存器20,。在使用第二P变址寄存器20bb的情况下,32位输入寄存器可以以两倍速度被快速置换。尽管到目前为此,仅针对置换操作解释了本发明,但本发明可以用于多个其它应用中以获得极大优势。例如,在图4中,通过使用所述查找表寻址系统两次,从而使用本发明的查找表寻址系统10a来实施DES加密系统60。第一查找表组将置换并扩展寄存器18的32输入位成为48位再现(rendition)并被置于DES系统60的寄存器70中。然后使用加法电路74与存储在寄存器72中的48位轮回密钥(roundkey)结合。在根据本发明进行P置换后实施S-Box的第二查找表组10b可被用于从DES系统60的寄存器70取出6位组,并根据特定DES规则将它们换转回32位,并将最终结果放入累加寄存器28b中。在图4的DES应用中,注意所述结合电路-故实施为异或门30a。本发明还可以很有利地相关联地用于线性反馈移位寄存器(LFSR),比如有限域线性变换器(GFLT)LFSR110,在图5中,LFSR110是栅格编码系统,其接收在通常被标示为u3、u2和ul的一个或多个栅格编码比特流中的多个输入位和被标示为Sn的矩阵的栅格编码状态输出,从其中,所述系统产生输出112和被标示为Sn+1的下一个新的栅格编码状态输出。有多种不同种类的线性反馈移位寄存器,包括图6中的CRC,图7中的加扰器,图8中的解扰器以及图9中的栅格编码。下面将结合图9-13说明本发明针对这样的系统的应用。图9图示了一种比如应用在ADSL调制解调器栅格编码120中的典型的栅格编码系统,其在硬件中作为线性反馈移位寄存器(LFSR)122而被实施。线性反馈移位寄存器122包括四个存储装置,触发器124、126、128和130,其表示所述线性反馈移位寄存器的状态s0、sl、s2和s3。栅格编码比特流u3、u2和ul在输入132处显示为一串比特u3o、u3"u32、u33".u37.."u20、u2^u22、u23".u27.",ulo、uli、ul2、ul3...ul7...。比特流u3直接在输入132处提供输出v0。输出vl是响应u3输入和ul输入而由异或门134产生的。输出wO是响应u3和u2输入而由异或门136产生的。输出wl是响应所有的输入u3、u2、ul以及在线40上的线性反馈移位寄存器122的输出状态s3而由异或门138提供的。在操作中,在每一个时钟周期、列150处(见图10),作为ul.,.u3输入和先前的S1…S3状态的函数的状态s0、sl、s2和s3将在表I中示出。在图11中,取决于在特定应用中能被接受的有限域线性变换器矩阵的尺寸。有限域线性变换器栅格编码系统110a可以同时处理4、8、12、16或任何数量的位。图ll显示了概括性的栅格编码比特流输入ul。-ul3,u2。-u23,u30-u33,同时全被接受了。对于第一时钟计时单元或时钟周期,具体位被显示为zlo至zl3,y2。至y23以及x30-x33。由于在此具体例子中GFLT栅格编码系统10每次接受4位,因此其实际有限域线性变换器形式的输出将对应于图IO的表I中块状区域152中的第四时钟周期或时钟周期号为3的输出显示。在图10的表I中在154、156、158和160处显示的状态s0、sl、s2和s3的这些值因而成为图11中的新栅格编码状态154a、156a、158a和160a。它们是新栅格编码状态SOn+1、Sln+1、S2nw和s3^并被反馈回到栅格编码输入s3n、S2n、Sln和sOn。在图12的表II标示为时钟周期0的下一个或第二时钟周期上,在151栏显示了状态sO^为s3、y2i(y2t是u2t的当前值),s0、y2。(y2o是u2o的当前值)和zl2(zl2是ul2的当前值)的异或结和。这可以被扩展,如在第二栏153中所示,然后将冗余删除(按位加(modulotwoaddition)),如在第三栏155中所示,来提供下一个栅格编码状态,对于slw、s2^和s3^可以进行同样的处理。输出v0、vl、wO和wl没有以表格形成列出,这是因为,如示例所示,它们是在图13中的有限域线性变换器栅格编码系统矩阵160上的信号的直接异或结合。由此可见,通过使能矩阵160的行和列的选择的接合处的异或门单元162,获得了在表I和II中所要求的输出。例如,参见图12的表II,可以看出s3的值为sl、s2、s3、u2pu22、1113和ul0的异或结合,对于w03,例如,所述表达式只是简单的1133和u2化的异或;对于V12,所述表达式是1132和1112的异或等等.进一步的说明参见2004年1月7日提交的Stein等人的题为"GALOISFIELDLINEARTRANSFORMERTRELLISSYSTEM"的美国专利申请No.l0/753,301,通过引用将其全文集及于此。在这个环境中使用本发明的一个优点是可以避免对异或门的32乘32矩阵或232容量的查找表的需要。图14对此作出了说明,其中来自图3的被表示为ul的单个半字节被重复,在其4列32行中显示了所有需要的异或门162。根据本发明可以出现在该4个半字节中的1和0的16个不同的可能的组合被显示在列182的16行180中。LUT输入184显示在列186的相应的行180中。例如,如在180a所示地,选择用于ul的位组合001,对于188的12""行,包括两个异或门,一个在零位置而一个在3位置,所述LUT输出为"1"。对于190的19th行,包括一个异或门,具有相同的位组合,0011,所述LUT输出为"l"。结果,异或门的全部矩阵能够被查找表替代,并且根据本发明所述查找表不需要每个32位的232个条目,但可以是一组表,其包括具有16条目的8个表,其中每一个条目为32位(或512字节LUT)。本发明可以方便地在处理器比如图15中的数字信号处理器DSP200中实施,其中DAG12、CU14和存储器16互相通讯并通过各种总线204和定序器202通讯。DAG12包括指针寄存器堆206,其包括输入寄存器18和存放-递增变址寄存器20和其它寄存器208,比如常规I、L和M寄存器。CU14包括数据寄存器堆208,比如LUT目的寄存器26和累加寄存器28以及乘和加单元210、算术逻辑单元212和移位装置214。根据本发明的查找表寻址方法300的一种实施方式,见图16,包括将来自计算单元的数据字传输(302)到位于数据地址产生器中的输入寄存器。在DAG中的每一个变址寄存器中提供(304)有表基址字段、表变址字段和位移字段。某个部分,比如所述数据字的某个字节或某个半字节被存放(306)入位移字段中以定位外部存储器中的查找表中的具体条目。某具体条目从每一部分被映射(308)到输出字。对表变址字段进行递增(310)到一个表。在此之后,系统返回到步骤(306),直到余下的要完成的部分全部完成。在此之后,具体条目通过例如求和、加法、异或从所有部分被累加(312)以完成所述输出字。最后,将所述变址寄存器预载(314)到已知的例如起始地址,然后系统再次返回检索和传输(302)数据字。尽管本发明的具体特征出现在某些附图中,在另外一些附图中没有显示,这只为了方便,因为每一个特征可以和根据本发明的任何或所有其它特征结合。在此使用的术语"包括"、"包含"、"具有,,和"带有"要被广义和全面地解释,而不受任何实际相互联系的限制。此外,在所述主题应用中公开的任何实施方式不应被作为唯一可能的实施方式。另外,对于此专利在专利申请的法律程序期间提出的任何修改不是对提交的申请书中提出的任何权利要求要素的否认不能期望本领域普通技术人员会合理地拟定这样的真正包括所有可能的等价物的权利要求,许多等价物在修改的时候将是不可预见的,因而会超出要呈递(如果有)的合理的解释,所述基于修改的原理说明或解释可以接受只和许多等价物略孩i有联系,和/或有许多其它原因,对修改的任何权利要求要素,不能期待所述申请书描述特定非实质替代物。本领域普通技术人员会想到其它实施方式,其落入后面的权利要求书所保护的范围内。权利要求1、一种查找表寻址系统,其在外部存储器中具有一组查找表,该系统包括数据地址产生器,包括输入寄存器和至少一个存放-递增变址寄存器,所述输入寄存器用于从计算单元接收数据字,所述存放-递增变址寄存器具有用于识别所述一组表在存储器中的位置的表基址和用于识别具体条目在具体表中的位置的位移字段,所述数据地址产生器被配置为将所述数据字的一部分存放到所述位移字段中,从而存取所述具体条目。2、如权利要求1所述的查找表寻址系统,其中所述条目包括所述数据字的相应部分的局部结果。3、如权利要求1所述的查找表寻址系统,还包括计算单元,该计算单元包括累加器、查找表目的寄存器和结合电路,所述计算单元被配置为累加来自所述数据字的所有部分的所述局部结果以获得最终结果。4、如权利要求3所述的查找表寻址系统,其中所述目的寄存器可以是计算单元数据寄存器堆中的任何一个。5、如权利要求1所述的查找表寻址系统,其中所述数据地址产生器包括多个指针寄存器,并且通过一个所述指针寄存器来实现所述存放-递增变址寄存器。6、如权利要求1所述的查找表寻址系统,其中所述数据地址产生器包括多个指针寄存器,并且通过一个所述指针寄存器来实现所述存放-递增输入寄存器。7、如权利要求1所述的查找表寻址系统,其中所述数据地址产生器被进一步配置为递增存放-递增变址寄存器的变址字段以识别所述组中的下一个表。8、如权利要求2所述的查找表寻址系统,其中所述局部结果包括相应部分的数据位,并且数据地址产生器被进一步配置为将那些位映射到预定的输出字。9、如权利要求l所述的查找表寻址系统,其中目的字和数据字具有相同的位数。10、如权利要求1所述的查找表寻址系统,其中目的字和数据字具有不同的位数。11、如权利要求3所述的查找表寻址系统,其中所述结合电路是异或电路。12、如权利要求3所述的查找表寻址系统,其中所述结合电路是求和电路。13、如权利要求1所述的查找表寻址系统,其中所述数据地址产生器包括第二存放-递增变址寄存器,并且所述数据地址产生器被配置为将所述数据字的第二部分存放进入第二存放-递增变址寄存器的位移字段中。14、如权利要求1所述的查找表寻址系统,其中所述数据地址产生器被配置为将所述变址寄存器预载到已知的表地址。15、如权利要求1所述的查找表寻址系统,其中所述已知的表地址是起始地址。16、如权利要求1所述的查找表寻址系统,其中所述部分是位字段。17、如权利要求15所述的查找表寻址系统,其中所述位字段是字节。18、如权利要求15所述的查找表寻址系统,其中所述位字段是半字节。19、一种查找表寻址方法,用于在外部存储器中提供一组查找表的服务,该方法包括将数据字从计算单元传输到数据地址产生器中的输入寄存器;在所述数据地址产生器中的至少一个变址寄存器中提供表基址字段和位移字段,所述表基址字段用于识别所述一组表在存储器中的位置;以及将所述数据字的一部分存放到所迷变址寄存器中用于识别具体条目在所述表中的位置的位移字段中。20、如权利要求19所述的查找表寻址方法,其中所述条目包括所述数据字的相应部分的局部结果。21、如权利要求19所述的查找表寻址方法,还包括累加来自所述数据字的所有部分的局部结果以获得最终结果。22、如权利要求19所述的查找表寻址方法,还包括在所述数据地址产生器中递增表基址字段,以识别所述组中的下一个表。23、如权利要求22所述的查找表寻址方法,其中所述局部结果包括数据位,并且该方法进一步包括将那些位映射到预定的输出字。24、如权利要求19所述的查找表寻址方法,其中所述输出字和数据字具有相同的位数。25、如权利要求19所述的查找表寻址方法,其中所述输出字和数据字具有不同的位数。26、如权利要求21所述的查找表寻址方法,其中累加包括异或运算。27、如权利要求21所述的查找表寻址方法,其中所述累加包括求和。28、如权利要求19所述的查找表寻址方法,还包括将所述数据字的第二部分存放到另一个变址寄存器位移字段中,所述另一个变址寄存器位移字段用于与第一部分并行地识别另一个具体条目的位置。29、如权利要求19所述的查找表寻址方法,还包括将所述变址寄存器预载到已知的表地址。30、如权利要求29所述的查找表寻址方法,其中所述变址寄存器被预载到所述起始地址。31、如权利要求29所述的查找表寻址方法,其中所述部分是位字段。32、如权利要求31所述的查找表寻址方法,其中所述位字段是字节。33、如权利要求31所述的查找表寻址方法,其中所述位字段是半字节。全文摘要具有位于外部存储器的一组查找表的查找表寻址系统,其是通过以下步骤实现的将数据字从计算单元传输到数据地址产生器中的输入寄存器;向所述数据地址产生器提供至少一个存入-递增变址寄存器,包括用于识别位于存储器中的所述一组表的位置的表基址字段和位移字段;以及将所述数据字的一部分存放进入所述变址寄存器的位移字段,所述位移字段用于识别具体条目在所述表中的位置。文档编号G06F12/00GK101341470SQ200680047898公开日2009年1月7日申请日期2006年10月17日优先权日2005年10月26日发明者C·M·梅尔,J·A·卡布罗特斯基,J·威尔逊,Y·斯坦申请人:阿纳洛格装置公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1