确定表内的元素的地址的系统和方法

文档序号:6479356阅读:172来源:国知局
专利名称:确定表内的元素的地址的系统和方法
技术领域
本发明大体上涉及一种确定表内的元素的地址的系统和方法。
背景技术
数字信号处理器(DSP)被频繁用于例如无线电话、个人计算机、个人数字助理 (PDA)、音频播放器、其它电子装置或其任意组合等便携式个人计算装置中。此类DSP可用 于提供视频和音频功能、用于处理接收到的数据,或用于执行其它功能。此类DSP可采用多 线程结构,所述多线程结构可处理多个程序指令线程,且可包含并行执行单元。处理器(例如DSP)通常包含存储器地址产生器,其产生用于从主存储器检索数 据或用于存储DSP所产生的数据的存储器地址。在一些例子中,可基于检索到的值来计 算存储器地址。在检索到值之后,算术与逻辑单元(ALU)对所述值执行位移位操作(bit shifting operation),且经移位的值存储到寄存器中。在下一个指令循环中,可从寄存器 读取经移位的值,可对经移位的值执行数值运算以产生存储器地址。处理器可利用所述存 储器地址来存取存储器内的位置,以写入其它结果或检索数据。在当前处理器中,常见的是基于结构中某一数目的位在表中查找数据。然而,将地 址计算到表中可能需要两个或两个以上执行循环。因此,需要增强的地址计算。

发明内容
在一特定实施例中,揭示一种方法,其包含执行单个指令以识别存储在存储器处 的表内的位置。所述单个指令可由处理器执行以从第一寄存器提取位字段数据,且将所述 位字段数据插入到第二寄存器的索引部分中。所述第二寄存器包含表地址部分和索引部 分。所述表地址部分包含识别与表相关联的存储器位置的表地址。所述表地址与所述位字 段数据组合以形成到所述表内的元素的经索引地址。在另一特定实施例中,揭示一种处理器,所述处理器包含第一寄存器,其包含位 字段;以及第二寄存器,其包含表地址部分和索引部分。所述表地址部分包含识别存储器中 的表的位置的表地址。所述处理器还包含执行单元,其适合于通过处理单个指令以从第一 寄存器的位字段提取位字段数据且将所提取的位字段数据插入到第二寄存器的索引部分 中以产生到表内的元素的地址来产生地址。在再一特定实施例中,揭示一种确定到表中的地址的方法。所述方法包含从第一 寄存器提取位字段数据,以及将所提取的位字段数据插入到包含表地址部分和索引部分的 第二寄存器的索引部分中。第二寄存器包含存储在表地址部分中的表地址数据,其识别与 表相关联的存储器位置。表地址数据和所提取的位字段数据提供存储器位置以及到表内的 元素的表索引。本文所揭示的系统和方法的实施例所提供的一个特定优点在于涉及移位与算术 运算的组合的操作可在单个执行循环中执行。所述方法的实施例所提供的另一特定优点在于可快速地计算地址,且可改进利用查找表的操作。举例来说,支持特定方法和相关联指令的DSP可在减小数目的指令循环中 使用索引和基本地址来产生表内的地址。提供又一特定优点,其在于可用于循环冗余校验和其它常见DSP操作中的移位和 遮蔽操作可在单个指令中且在单个执行循环中执行,从而减少用于寄存器读取/写入操作 的总线接入。另外,减少用于执行特定操作的指令的数目。提供又一优点,其在于地址计算被简化。提供另一特定优点,其在于减少用以确定 地址的执行循环的数目增强了处理器性能效率。在审阅整个申请案之后,将明白本发明的其它方面、优点和特征,本申请案包含以 下部分


具体实施方式
和权利要求书。

图1是适合于执行指令以确定表中的元素的地址的处理系统的特定说明性实施 例的框图;图2是适合于执行指令以确定表中的元素的地址的处理系统的第二说明性实施 例的图;图3是用于形成到表内的元素的地址的第一和第二寄存器的特定说明性实施例 的图;图4是确定表内的元素的地址的方法的特建说明性实施例的流程图;图5是确定表内的元素的地址的方法的第二特定说明性实施例的流程图;以及图6是包含用以确定表内的元素的地址的处理器的代表性无线通信装置的框图。
具体实施例方式图1是适合于执行提取-移位-相加指令116以确定表103中的元素(例如图2 中所说明的表206内的元素207)的地址的处理系统100的特定说明性实施例的框图。处 理系统100包含存储器102,存储器102包含表103。存储器102经由总线接口 108耦合到 指令高速缓冲存储器110。处理系统100还包含数据高速缓冲存储器112,其经由总线接口 108耦合到存储器102。指令高速缓冲存储器110经由总线111耦合到定序器114。在特定 实例中,定序器114还可接收一般中断,所述一般中断可从中断寄存器(未图示)检索。在 特定实施例中,指令高速缓冲存储器110经由多个当前指令寄存器耦合到定序器114,所述 当前指令寄存器可耦合到总线111,且与处理系统100的特定线程相关联。在特定实施例 中,处理系统100为包含六个线程的交错式多线程处理器。在特定实施例中,总线111为六十四(64)位总线,且定序器114经配置以经由指 令包从存储器102检索指令,所述指令包包含多个各具有三十二(32)个位的长度的指令。 定序器114耦合到第一指令执行单元118、第二指令执行单元120、第三指令执行单元122 以及第四指令执行单元124。每一指令执行单元118、120、122、124可经由第二总线128耦 合到通用寄存器堆126。通用寄存器堆126还可经由第三总线130耦合到定序器114、数据 高速缓冲存储器112以及存储器102。在特定说明性实施例中,通用寄存器堆126可包含第 一寄存器132和第二寄存器133以存储与表内的元素有关的数据。 处理系统100还可包含管理者控制寄存器134和全局控制寄存器136,以存储可由定序器114内的控制逻辑存取以确定是否接受中断且控制指令的执行的位。在特定说明性实施例中,执行单元118可经由定序器114从指令高速缓冲存储器 110接收提取_移位_相加指令116。执行单元118可从第一寄存器132检索(提取)位 字段数据,使检索到的位字段数据移位预定数目的位,且使所移位的位字段数据与第二寄 存器133内的数据相加(S卩,将检索到的位字段数据插入到第二寄存器133内的数据)。在 特定实例中,执行单元118可从第一寄存器132检索位字段数据,确定第二寄存器133内的 插入点,且在第二寄存器133内的所述插入点处插入检索到的位字段数据。在特定实例中, 位偏移可表示表存储字节、半字、字还是双字。可基于存储在表中的数据来确定插入点,且 可在第二寄存器133中的插入点处插入检索到的位字段数据。第二寄存器133可在地址部 分中存储与表相关联的存储器位置,且可在第二寄存器133的索引部分内接收检索到的位 字段数据。在检索到的位字段数据被插入后,存储在第二寄存器133中的数据表示表内的 元素的地址。接着可使用所述表内的所述元素的地址来存取存储器102内在由第二寄存器 133中的数据指定的地址处的元素。在特定实施例中,可在单个指令或执行循环中确定所述 地址。在特定实施例中,指令循环通常包含多个阶段,包含一个或一个以上指令取用阶段、 一解码阶段、一读取寄存器堆阶段、一个或一个以上执行阶段以及一回写阶段。一般来说, 应理解,指令循环表示针对特定线程处的特定指令的指令执行循环。在特定实施例中,执行单元118、120、122和124中的至少一者可包含移位器,所述 移位器适合于使从第一寄存器132提取的所提取位字段数据移位预定数目的位。接着可使 用加法运算将经移位的位字段数据插入到第二寄存器的索引部分中。所述移位器可为适合 于使位向右或向左移位的双向移位器。图2是包含适合于执行指令以确定表中的元素的地址的处理器的系统200的第二 特定实施例的框图。系统200包含存储器202,存储器202包含一个或一个以上逻辑存储器 边界,例如存储器边界204,其界定两千字节存储器空间。存储器202适合于存储表206,表 206对准到存储器边界204。表206适合于保存字节、半字、字、双字或其任意组合的条目。 表206可包含元素(E) 207,其可在包含表索引信息的存储器位置处存取。在特定实例中,表206可对准到逻辑边界,例如存储器202内的边界204。一般来 说,边界204是具有对应于大于或等于表206的大小的二的幂(即2N)边界的位置的逻辑 边界。举例来说,如果表206是两千字节表,那么表206可在包含存储器空间的2kb连续 块的零存储器边界、具有存储器空间的至少一 2kb连续块的2kb存储器边界、4kb存储器边 界等处对准到存储器边界204。举例来说,如果表206是四千字节表,那么表206可对准到 4kb逻辑边界,例如包含存储器空间的连续四千字节块的零存储器边界(即,存储器地址零 和序列)、4kb边界、8kb边界等。存储器边界可具有大于表206的大小的可用空间。在特 定实例中,通过将表206对准到存储器202内的二的幂逻辑边界204,可根据寄存器的最高 有效位确定表206的存储器地址,且可将最低有效位用作到表206中的对应索引,从而(例 如)允许将地址计算用于对表206内的元素(E) 207进行寻址。存储器202适合于经由耦合到通用寄存器220的总线232且经由耦合到指令高速 缓冲存储器210的总线209与处理器通信。处理器(通常由假想线208指示)包含指令高 速缓冲存储器210,其可存储提取-移位-相加指令216。指令高速缓冲存储器210经由总 线212与定序器214通信。定序器214将指令提供给一个或一个以上执行单元218。所述一个或一个以上执行单元218与通用寄存器220通信以检索和存储数据。通用寄存器220 包含第一寄存器222和第二寄存器224。第一寄存器222包含位字段226。第二寄存器224 包含表地址部分228和索引部分230。在特定说明性实施例中,可计算、加载或以其它方式检索数据,并将其存储在第一 寄存器222和第二寄存器224中。定序器214适合于从指令高速缓冲存储器210检索提 取-移位-相加指令216,且将提取-移位-相加指令216提供给一个或一个以上执行单元 218中的至少一者。所述一个或一个以上执行单元218适合于从第一寄存器222提取与位 字段226有关的数据,且将所提取的数据插入到第二寄存器224的索引部分230中,以形成 用以存取存储器202的表206内的元素207的地址。第二寄存器的地址部分228包含表地 址。在特定实例中,所述一个或一个以上执行单元218可在单个执行循环中计算表206内 的表元素207的地址。在特定实例中,所述一个或一个以上执行单元218适合于将从第一寄存器222的 位字段226提取的数据插入到第二寄存器224的索引部分230中。第二寄存器224的索引 部分230可表示第二寄存器224的最低有效位。第二寄存器224的表地址部分228可表示 第二寄存器224的最高有效位。在特定说明性实例中,所述一个或一个以上执行单元218可 适合于在第二寄存器224的索引部分230内的插入位置处选择性地插入从第一寄存器222 的位字段226提取的数据。举例来说,在特定说明性实施例中,所述一个或一个以上执行单元218可适合于 基于存储在表206中的数据的类型来选择索引部分230内的插入点。举例来说,如果表206 存储数据的字节,那么插入点可在第二寄存器224的索引部分230内的位0处。当表存储 半字时,插入点可在第二寄存器224的索引部分230的位1处。当表206存储数据的字时, 索引部分230内的插入点可在第二寄存器224的索引部分230内的位2处。当表206存储 数据的双字时,插入点可在第二寄存器224的索引部分230内的位3处。插入点可用于表 示与待提取的字段有关的偏移值。在特定说明性实施例中,第一寄存器222可包含位字段 226,其可具有宽度和偏移信息两者。偏移信息可用于确定利用哪一插入位置。一般来说,应理解,提取-移位-相加指令216只是用于描述可在单个指令循环中 用于计算表206的地址和到表206内的元素207的索引的特定指令包的标签。然而,可使 用不同标签来描述指令。另外,应理解,包含表地址/索引计算指令(例如提取-移位-相 加指令216)的指令包还可包含其它指令、微指令、运算或其任意组合。另外,此指令包可产 生额外运算、微指令、指令或其任意组合的执行。图3是用于形成到表内的元素的地址的第一和第二寄存器的特定说明性实施例 的图。所述图包含用以存取字节表的第一寄存器302和第二寄存器304的第一集合300。 所述图还包含用以存取半字表的第一寄存器312和第二寄存器314的第二集合310。另外, 所述图包含用以存取字表的第一寄存器322和第二寄存器324的第三集合320。另外,所述 图包含用以存取双字表的第一寄存器332和第二寄存器334的第四集合330。第一集合300包含第一寄存器302,第一寄存器302包含包括位字段数据306的位 字段。第一寄存器302还可包含偏移位307。第二寄存器304包含表地址信息部分308和 索引部分309。使用提取-移位-相加指令(即,图2中所说明的提取_移位_相加指令 216),将来自第一寄存器302的位字段数据306写入到第二寄存器304的索引部分309,以形成到存储数据的字节的表内的元素的地址。在此实例中,插入点303在第二寄存器304 的位0处。第二集合310包含第一寄存器312,第一寄存器312包含包括位字段数据316的位 字段。第一寄存器312还可包含偏移位317。第二寄存器314包含表地址信息部分318和 索引部分319。使用提取-移位-相加指令(即,图2中所说明的提取_移位_相加指令 216),将来自第一寄存器312的位字段数据316写入到第二寄存器314的索引部分319,以 形成到存储数据的半字的表内的元素的地址。在此实例中,插入点313在第二寄存器314 的位1处。第三集合320包含第一寄存器322,第一寄存器322包含包括位字段数据326的位 字段。第一寄存器322还可包含偏移位327。第二寄存器324包含表地址信息部分328和 索引部分329。使用提取-移位-相加指令(即,图2中所说明的提取_移位_相加指令 216),将来自第一寄存器322的位字段数据326写入到第二寄存器324的索引部分329,以 形成到存储数据的字的表内的元素的地址。在此实例中,插入点323在第二寄存器324的 位2处。第四集合330包含第一寄存器332,第一寄存器332包含包括位字段数据336的位 字段。第一寄存器332还可包含偏移位337。第二寄存器334包含表地址信息部分338和 索引部分339。使用提取-移位-相加指令(即,图2中所说明的提取_移位_相加指令 216),将来自第一寄存器332的位字段数据336写入到第二寄存器334的索引部分339,以 形成到存储数据的双字的表内的元素的地址。在此实例中,插入点333在第二寄存器334 的位3处。在汇编级编程语法中,偏移信息可包含由汇编器使用以将位索引值调整某一偏移 量的所提取信息。在特定实例中,对于存储字节的表,没有必要进行调整,因此可使用位零 处的插入位置303。对于存储半字的表,汇编器可将偏移数据编码为第二寄存器堆314的 索引部分319中的1位偏移,从而在索引部分319内的位1处提供插入位置313。对于存 储字的表,汇编器可将偏移数据327编码为第二寄存器堆324的无符号直接字段中的2位 偏移,从而在索引部分329内的位2处提供插入位置323。对于存储双字的表,汇编器可将 偏移信息337编码到第二寄存器334的无符号直接字段中的3位偏移中,从而在索引部分 339内的位3处提供插入位置333。一般来说,第二寄存器堆304、314、324和334 (在插入相应的第一寄存器堆302、 312,322和332的相应位字段数据306,316,326和336之后)含有到表部分308、318、328 和338内的表的地址,以及到索引部分309、319、329和339内的表内的元素的索引。插入位 置303、313、323和333提供位偏移,位偏移转译到表内的数据元素的大小。通过将表对准到 存储器内为等于或大于表大小的二的幂大小的逻辑边界,可使用图3中所说明的提取-移 位_插入技术来存取表内的元素。在特定实施例中,存储在第二寄存器中的数据可用作到存储器中的表内的元素 (例如图2中所说明的存储在存储器202的表206中的元素207)的无符号直接地址。此地 址可用于写入到表内的元素或从所述元素读取数据。图4是确定表内的元素的地址的方法的特定说明性实施例的流程图。在402处, 所述方法包含执行单个指令以识别存储在存储器处的表内的位置。所述单个指令可由处理器执行,以从第一寄存器提取位字段数据,且将位字段数据插入到第二寄存器的索引部分 中,其中第二寄存器包含表地址部分和索引部分。表地址部分包含识别与表相关联的存储 器位置的表地址,其中所述表地址与位字段数据组合以形成到表内的元素的索引地址。前 进到404,所述方法包含执行第二指令以在经索引地址处存取存储器。第二指令可由处理器 执行以从表内的经索引地址读取数据或将数据写入到所述经索引地址。所述方法在406处 终止。在特定说明性实施例中,所述方法还可包含基于表地址和表索引来存取表内的元 素。在另一特定实施例中,在单个执行循环中提取位字段数据且将其插入到第二寄存器中。 第一和第二寄存器可为通用寄存器堆内的寄存器,例如图1中所说明的通用寄存器堆126 的通用寄存器。在另一特定实施例中,在与存储在表内的数据结构有关的插入点处插入所 提取的位字段数据。举例来说,偏移信息(例如图3中所说明的偏移信息307、317、327和 337)可由一个或一个以上执行单元利用以确定插入位置(例如图3中所说明的插入位置 303、313、323和333)以用于插入所提取的位字段数据。明确地说,偏移信息可界定根据表 存储字节、半字、字还是双字而变化的插入点。明确地说,偏移信息可界定存储在特定表中 的数据的类型。执行单元可利用存储器中的表相对于逻辑边界的位置且利用偏移信息来计 算到表内的元素的地址,且从表检索适当大小的数据结构。图5是确定表内的元素的地址的方法的第二特定说明性实施例的流程图。在502 处,所述方法包含从第一寄存器提取位字段数据。前进到504,所述方法包含将所提取的位 字段数据插入到包含表地址部分和索引部分的第二寄存器的索引部分中。第二寄存器包含 存储在表地址部分中的表地址数据,其识别与表相关联的存储器位置。表地址数据和所提 取的位字段数据界定存储器位置以及到表内的元素的表索引。进行到506,所述方法还包含 基于表地址和表索引来存取表内的元素。所述方法在508处终止。在特定实例中,相对于图1到图5而描述的提取-移位-相加指令提供到表中的 非常快的查找。在另一特定实施例中,提取_移位_相加指令可利用单个移位和遮蔽来提 供对表内的特定元素的存取。图6是包含用以确定表内的元素的地址的处理器的代表性无线通信装置600的框 图。便携式通信装置600可包含数字信号处理器(DSP) 610,所述DSP 610包含具有位字段数 据的第一寄存器662、具有表地址部分和索引部分的第二寄存器664,以及提取-移位-相 加指令668,所述提取-移位-相加指令668可由DSP 610内的执行单元执行以执行如相对 于图1到图5而描述的提取-移位-相加操作。便携式通信装置600还包含存储器632, 存储器632包含包括表元素661的表660。在特定实施例中,DSP 610的执行单元可执行提 取-移位-相加指令668以从第一寄存器662提取位字段,且将所述位字段插入到第二寄 存器664的索引部分中,以确定与表660内的元素661相关联的地址。可使用所确定的地 址来检索存储在元素661处的数据,如相对于图1到图5所描述。图6还展示显示器控制器626,其耦合到数字信号处理器610且耦合到显示器 628。此外,输入装置630耦合到数字信号处理器610。另外,存储器632耦合到数字信号处 理器610。编码器/解码器(CODEC) 634也可耦合到数字信号处理器610。扬声器636和麦 克风638可耦合到CODEC 634。图6还指示无线控制器640可耦合到数字信号处理器610且耦合到无线天线642。在特定实施例中,电源644耦合到芯片上系统622。此外,在特定实施例中,如图6中所说 明,显示器628、输入装置630、扬声器636、麦克风638、无线天线642和电源644在芯片上 系统622外部。然而,每一者均耦合到芯片上系统622的组件。应理解,虽然将包含位字段的第一寄存器662以及包含表地址部分和索引部分的 第二寄存器664描绘为数字信号处理器610的单独组件,但元件662和664两者可改为并入 到通用寄存器(例如图1中所说明的通用寄存器堆126)中。另外,虽然将包含位字段的第 一寄存器662以及包含表地址部分和索引部分的第二寄存器664描绘为在DSP610内,但应 理解,其它处理元件也可利用提取_移位_相加指令668以及来自两个不同寄存器的寄存 器数据产生到表660内的元素661的表地址和索引。举例来说,其它组件可包含适合于在 单个时钟循环中执行提取_移位_相加指令的处理器,包含(例如)显示器控制器626 (其 可包含处理器)、无线控制器640 (其可包含处理器)、其它处理器电路或其任意组合。技术人员将进一步了解,结合本文所揭示的实施例而描述的各种说明性逻辑块、 配置、模块、电路和算法步骤可实施为电子硬件、计算机软件或上述两者的组合。为了清楚 地说明硬件与软件的这种可互换性,上文已大体上根据各种说明性组件、块、配置、模块、电 路和步骤的功能性来描述各种说明性组件、块、配置、模块、电路和步骤。将此类功能性实施 为硬件还是软件取决于特定应用和强加于整个系统的设计约束。熟练的技术人员可针对每 一特定应用以不同的方式来实施所描述的功能性,但此类实施决策不应被解释为导致偏离 本发明的范围。结合本文所揭示的实施例而描述的方法或算法的步骤可直接以硬件、以由处理器 执行的软件模块或以上述两者的组合的形式体现。软件模块可驻存在RAM存储器、快闪存 储器、ROM存储器、PROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可装卸盘、 CD-ROM或此项技术中已知的任何其它形式的存储媒体中。示范性存储媒体耦合到处理器, 使得处理器可从存储媒体读取信息且将信息写入到存储媒体。在替代方案中,存储媒体可 与处理器成一体式。处理器和存储媒体可驻存在ASIC中。ASIC可驻存在计算装置或用户 终端中。在替代方案中,处理器和存储媒体可作为离散组件驻存在计算装置或用户终端中。提供对所揭示的实施例的先前描述,以使所属领域的技术人员能够制作或使用所 揭示的实施例。所属领域的技术人员将容易明白对这些实施例的各种修改,且本文所界定 的一般原理可在不脱离本发明的精神或范围的情况下应用于其它实施例。因此,本发明不 希望限于本文所展示的实施例,而是应被赋予与如由所附权利要求书界定的原理和新颖特 征一致的可能的最广范围。
权利要求
一种方法,其包括执行单个指令以识别存储在存储器处的表内的位置,所述单个指令可由处理器执行以从第一寄存器提取位字段数据;及将所述位字段数据插入到第二寄存器的索引部分中,所述第二寄存器包含表地址部分和索引部分,所述表地址部分包含识别与表相关联的存储器位置的表地址其中所述表地址与所述位字段数据组合以形成到所述表内的元素的经索引地址。
2.根据权利要求1所述的方法,其进一步包括执行第二指令以在所述经索引地址处存 取所述存储器,所述第二指令可由所述处理器执行以从所述表内的所述经索引地址读取数 据或将数据写入到所述经索引地址。
3.根据权利要求1所述的方法,其中将所述表对准到为大于或等于所述表的大小的二 的幂大小的存储器位置。
4.根据权利要求3所述的方法,其中所述表包括四千字节表,且其中所述表对准到所 述存储器的四千字节边界。
5.根据权利要求1所述的方法,其中基于存储在所述表中的表条目的类型在插入点处 插入所述所提取的位字段数据。
6.根据权利要求5所述的方法,其中当所述表存储数据的字节时,所述插入点为位零。
7.根据权利要求5所述的方法,其中当所述表存储半字时,所述插入点为位一。
8.根据权利要求5所述的方法,其中当所述表存储字时,所述插入点为位二。
9.根据权利要求5所述的方法,其中当所述表存储双字时,所述插入点为位三。
10.一种处理器,其包括第一寄存器,其包含位字段;第二寄存器,其包含表地址部分和索引部分,所述表地址部分包含识别存储器中的表 的位置的表地址;以及执行单元,其适合于通过处理单个指令以从所述第一寄存器的所述位字段提取位字段 数据且将所述所提取的位字段数据插入到所述第二寄存器的所述索引部分中以产生到所 述表内的元素的地址来产生地址。
11.根据权利要求10所述的处理器,其中所述执行单元包含用以使位移位的移位器。
12.根据权利要求11所述的处理器,其中所述移位器适合于使所述所提取的位字段数 据移位预定数目的位,且其中使用加法运算将所述经移位的位字段数据插入到所述索引部 分中。
13.根据权利要求11所述的处理器,其中所述移位器包括双向移位器。
14.根据权利要求10所述的处理器,其中所述表对准到为大于或等于所述表的大小的 二的幂大小的存储器边界。
15.根据权利要求10所述的处理器,其中所述表地址部分包括所述第二寄存器的最高 有效位部分。
16.根据权利要求10所述的处理器,其中所述所提取的位字段数据被插入到所述第二 寄存器的最低有效位部分中。
17.根据权利要求16所述的处理器,其中所述所提取的位字段数据被插入在所述最低有效位部分内的插入点处,以指示存储在所述表中的数据的类型。
18.根据权利要求17所述的处理器,其中所述插入点由汇编器在编译时间编码。
19.一种确定到表中的地址的方法,所述方法包括从第一寄存器提取位字段数据;以及将所述所提取的位字段数据插入到包含表地址部分和索引部分的第二寄存器的所述 索引部分中,所述第二寄存器包含存储在所述表地址部分中的识别与表相关联的存储器位 置的表地址数据,所述表地址数据和所述所提取的位字段数据提供所述存储器位置以及到 所述表内的元素的表索引。
20.根据权利要求19所述的方法,其进一步包括基于所述表地址和所述表索引来存取 所述表内的所述元素。
21.根据权利要求19所述的方法,其中响应于处理器执行单个指令而执行提取所述位 字段数据和插入所述所提取的位字段数据。
22.根据权利要求19所述的方法,其中在单个执行循环内执行提取所述位字段数据和 插入所述所提取的位字段数据。
23.根据权利要求19所述的方法,其中所述第一寄存器和所述第二寄存器是通用寄存 器堆内的寄存器。
24.根据权利要求19所述的方法,其中在由存储在所述表内的数据结构确定的插入点 处插入所述所提取的位字段数据。
25.根据权利要求24所述的方法,其中所述插入点依据所述数据结构为字节、半字、字 还是双字而不同。
全文摘要
在一特定实施例中,揭示一种方法,其包含执行单个指令以识别存储在存储器处的表内的位置。所述单个指令可由处理器执行以从第一寄存器提取位字段数据,且将所述位字段数据插入到第二寄存器的索引部分中。所述第二寄存器包含表地址部分和索引部分。所述表地址部分包含识别与表相关联的存储器位置的表地址。所述表地址与所述位字段数据组合以形成到所述表内的元素的经索引地址。
文档编号G06F9/30GK101911011SQ200880123745
公开日2010年12月8日 申请日期2008年11月20日 优先权日2007年11月20日
发明者卢奇安·科德雷斯库, 埃里克·J·普隆德克, 尚卡尔·克里蒂瓦桑, 曾贸 申请人:高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1