用于执行指令的处理系统和方法

文档序号:6569622阅读:191来源:国知局
专利名称:用于执行指令的处理系统和方法
技术领域
本发明涉及用于执行指令的处理系统和方法,尤其涉及针对在 两个或多个部分中提取的指令具有功率降低优势的处理系统和方法。
本发明还涉及包括这种处理系统的装置,诸如移动电话、PDA
等。
背景技术
基于处理器的设备的功率效率正变得越来越重要,尤其在电池 供电的设备中。已经采用了很多技术来降低功率使用。这些技术包括 对处理器的电路进行设计,以使用较少的功率,或者以允许管理功率 使用的方式设计处理器。而且,对于给定的处理器结构,通过优化其 程序设计能节省功耗。
当设计处理器结构和用于处理器结构的相关指令集时,可能会 在描述指令级并行性所需的位的数量和可以从程序存储器并行地提 取的位的数量之间进行权衡。
在某些处理器结构中,如果指令超出给定长度,则会出现周期 惩罚。因此,某些处理器结构采用了指令压縮。然而,如果指令的压
縮太昂贵,则一种供选择的方法是采用两种类型的程序存储器 一种 用于具有有限并行性的小指令,而第二种用于具有较大并行性的宽指
令。为了指示应该提取宽指令,则采用特殊小指令(即第一部分)来 触发对宽指令(即第二部分)的提取。
在US专利第5, 724, 535号中公开了这种系统的示例,其中描述 了一种机制,在该机制中,通过在第二存储器中进行査找,可将程序 存储器中的指令扩展为VLIW (超长指令字)指令。
图1示出了这种VLIW处理器1的示例,其特征是具有一种能力, 即可采用处理器内的不同功能单元3。至3n来并行处理多指令。存储在第二存储器5中的VLIW指令包括许多元素,每个元素都对处理器 1内的各个功能单元3。至3n进行控制。在操作期间,由主程序存储 器7中的指令产生第二存储器5的地址。提供解码器9,用于检测来 自主程序存储器7的特殊指令,特殊指令需要在第二存储器5中进行 查找。
图2示出了主存储器7中的指令(即第一部分11)如何提供用 于存储在第二存储器5中的VLIW指令(即第二部分13)的地址信息。 VLIW指令13包含多个元素13。至13N。在P Kievits等人1998年在 ICSPAT conference上发表的文章"R. E.A丄DSP Technology for Telecom Baseband Processing" 中可以发现这禾中处理指令的方法的 更详细的方面。
以此方式,VLIW指令可被并行输出至图l中的各个功能单元3。 至3n。在每个处理周期中都使用了所有功能单元的完全并行的操作是 很少见的情况。更常见的情况是,很多VLIW指令在若干子元素中包 含N0P (不操作)指令,这表示在该处理周期期间不对相应的功能单 元进行操作。
因此,由于第二部分的元素13。至13k将包含NOP (即不操作), 所以如果不使用压縮,则第二部分所允许的并行操作通常不会被完全 利用。在现有技术中,第二部分都完全是从存储器中提取的,即使是 那些包含N0P的指令的元素。这存在一个缺点,即消耗功率比所需功 率多。
本发明的目的是提供一种处理系统和方法,其中避免了与提取 N0P相关的不必要功耗。

发明内容
根据本发明的第一方面,提供了一种在处理器中执行指令的方 法,其中指令的第一部分导致指令的第二部分的执行,并且其中第二
部分包括多个元素。该方法包括以下步骤提取指令的第一部分,并 且根据在指令的第一部分中所编码的第一信息来识别哪些元素组成 了指令的第二部分。该方法还包括以下步骤根据在指令的第一部分中所编码的第二信息来对识别出的元素中哪些元素与不操作(NOP) 指令相对应进行识别。然后提取形成指令的第二部分的元素,排除对 应于不操作(NOP)指令的元素。
通过在第一部分中指示应该提取第二部分的哪个元素,本发明 解决了上面提到的功率问题。因此,本发明具有以下优势可通过仅 仅提取不包含NOP的第二部分的元素来节省功率。
根据本发明的另一方面,提供了一种用于执行指令的处理系统, 其中指令的第一部分导致指令的第二部分的执行。该系统包括用于提 取指令的第一部分的装置,以及用于根据在指令的第一部分中所包含 的第一信息来识别哪些元素组成了指令的第二部分的装置。该系统还 包括用于根据在指令的第一部分中所编码的第二信息对识别出的元
素中哪些元素对应于不操作(NOP)指令进行识别的装置,以及用于
提取形成指令的第二部分的元素的装置。用于提取的装置用于排除对
应于不操作(NOP)指令的元素。
根据本发明的另一方面,提供了一种用于数据处理系统的指令, 该指令包括第一部分,其导致了具有多个元素的第二部分的执行,其
中该指令的第一部分包括多个数据位,该多个数据位对不操作(NOP) 指令进行识别,不操作(NOP)指令将从第二部分中的执行中被排除。


为了更好的理解本发明,并且更清楚地示出如何实施本发明,
现在仅仅通过示例的方式,对以下附图进行参考,其中 图1示出了已知处理结构的图示说明。
图2示出了如何在两个部分中提取VLIW指令的图示说明。
图3示出了根据本发明的第一实施例,如何执行指令的图示说明。
图4示出了根据本发明的第二实施例,如何执行指令的图示说明。
具体实施方式
图3示出了根据本发明的处理系统。指令编码方案中的每个指 令均包括第一部分ll。然而,除了包含用于第二部分13的地址信息
(第一信息)之外,第一部分11还包括多个数据位(E。至EN)形式 的其它信息(第二信息)。应该以解的是,这些数据位E。至Ew是形 成指令集的第一部分中的指令的主数据位之外的数据位,它们被存储 在主程序存储器7中。
根据本发明的第一实施例,每个数据位E。至E,直接选择指令集 的第二部分13中的对应元素13。至13N。例如,指令集的第二部分13 中的元素13。至13w形成了 VLIW。以此方式,第一部分11的数据位 E。至Ew被用来仅仅选择不包括NOP指令的元素,因此避免了不必要 的功耗。换句话说,通过仅仅对排除了 NOP指令的元素进行选择,可 以有效地利用在数据位E。至Ew中编码的信息来识别哪个元素对应于 NOP指令。
因此,根据本发明,主程序存储器7中的指令ll包括多个数据 位E。至Ew,其指示了应该从第二存储器5提取VILW的哪个元素。由 于存储器5被分为多个元素,每个元素都涉及与处理器中的功能单元 对应的VLIW的一部分,本发明使得每个元素都具有单独的启动信号, 其中启动信号是由多个数据位E。至Ew中的一个对应的数据位控制的。
例如,如果存储在第二存储器中的VLIW包括8个元素13。至137, 则主程序存储器中的指令字将包括8个数据位E。至E7。根据本发明 的第一实施例,如果在VLIW的任何元素中均不存在NOP指令,则可 将每个数据位E。至E7设置为相同的逻辑状态(例如"高电平")以 启动每个元素。在这种情况下,将使得每个元素都被传递至处理器中 的对应功能单元3。至3 ,以便执行。
然而,如果VLIW中的元素(例如第四元素133)包含N0P指令, 则多个数据位中的对应数据位(E3)将被保持为"低电位",由此使 第四元素不能被传递至其对应的功能单元来执行。以此方式,因为有 效地使与第四元素133对应的功能单元不处理任何指令,所以节省了 功率。
应该理解,虽然在上述实施例中,所提到的逻辑"高电平"起作用以启动对应的元素,而逻辑"低电平"起作用以禁止对应的元素, 但是同样可以使用相反的逻辑。
因此,如从图3可以看出,每个第一部分11需要"N"个数据 位, 一个数据位用于第二部分13中的每个元素。
图4示出了本发明的可选实施例。根据该实施例,第一部分ll 中所编码的数可采用数据位E。至Ew对第二部分13中的不同元素组进 行选择。使用解码级15选择元素组。优选地,这些不同组反映了在 程序执行期间最频繁使用的组。例如,可以定义16或32组,每组都 具有经常出现的NOP组合。然后对解码级15进行配置以确定特定的 指令属于哪个组。
例如, 一个组可以包括"元素1、元素2、元素5、元素7", 另一个组可以包括"元素1、元素6、元素9、元素10"等等,其中 特定组中的元素的每种组合代表了程序中通常使用的组合。
在第二实施例中,可以使用包括四个数据位E。至E:,的第一部分 11对16个不同的第二部分进行编码,也可以使用包括八个数据位E。 至E7的第一部分对256个不同的第二部分进行编码,等等。
注意,在第一和第二实施例中,并不是所有的指令11都必须有 对应的第二部分13。换句话说,具有有限并行性的某些指令可以只 包括第一部分ll,而没有相关的第二部分13。以此方式,如果在指 令中存在非常有限的并行性,则通过在第一部分中完全地编码该指令 可以提高效率。
而且,虽然依据在第一和第二部分提取的指令已经描述了优选 实施例,但是应该理解本发明同样适用于在两个以上的部分中提取指 令。
注意,本发明尤其适用于要求高计算性能的电池驱动装置内的 应用。
如所属领域的技术人员所了解,在上述提到的实施例中所描述 的"元素"可以是针对各个功能单元的单独指令,或针对功能单元的 指令的一部分。多个功能单元与多个元素的单个指令对应,这也是可 行的。例如,数据由存储器移动到功能单元的寄存器中可能需要寄存器目的地选择和指针单元来产生数据地址。这将在多个元素中被编 码。
应该注意,上面提到的实施例仅仅说明了而不是限制了本发明, 并且所属领域的技术人员应该能够在不脱离附属权利要求范围的情 况下设计出许多可替换实施例。词语"包括"不排除在权利要求中所 列举的元素或步骤之外的其它元素和步骤的存在,词语"一个"或"一 种"不排除多个元素或步骤的存在,并且单个处理器或其它单元可能 实现权利要求中所述的几个单元的功能。权利要求中的任何标号都不 应该被理解为用于限制权利要求的范围。
权利要求
1. 一种在处理器中执行指令的方法,在该处理器中,指令的第一部分导致指令的第二部分的执行,并且其中所述第二部分包括多个元素,所述方法包括以下步骤提取所述指令的第一部分;根据在所述指令的第一部分中编码的第一信息来识别哪些元素组成了所述指令的第二部分;根据在所述指令的第一部分中编码的第二信息来对所述识别出的元素中的哪些元素与不操作NOP指令对应进行识别;以及提取形成所述指令的第二部分的所述元素,排除与不操作NOP指令对应的所述元素。
2. 如权利要求l所述的方法,其中在所述第一部分中编码的所 述第二信息包括多个数据位,其中每个数据位都提供信息用于选择所 述指令的第二部分的相关元素。
3. 如权利要求l所述的方法,其中在所述第一部分中编码的所述第二信息包括多个数据位,所述数据位的组合代表了形成所述指令 的第二部分的相关元素组。
4. 如权利要求3所述的方法,其中所述第二部分中的元素的每 个组都与在程序执行期间频繁使用的一组元素相关。
5. 如权利要求1至4中的任一权利要求所述的方法,其中所述 第二部分是超长指令字VLIW, VLIW中的每个元素都形成了用于处理 器的功能元素的指令。
6. 如权利要求1至5中的任一权利要求所述的方法,其中所述 第一部分被存储在第一存储器中,并且其中所述第二部分被存储在第二存储器中。
7. —种用于执行指令的处理系统,其中指令的第一部分导致指 令的第二部分的执行,所述系统包括用于提取所述指令的第一部分的装置;用于根据包含在所述指令的第一部分中的第一信息来识别哪些 元素组成了所述指令的第二部分的装置;用于根据在所述指令的第一部分中编码的第二信息来对所述识 别出的元素中的哪些元素与不操作NOP指令对应进行识别的装置;以 及用于提取形成所述指令的第二部分的所述元素的装置,用于提 取的所述装置用于排除与不操作NOP指令对应的所述元素。
8. 如权利要求7所述的系统,其中在所述第一部分中编码的所 述第二信息包括多个数据位,并且用于提取的所述装置用于基于对应 的数据位来选择所述指令的第二部分的相关元素。
9. 如权利要求7所述的系统,其中在所述第一部分中编码的所述第二信息包括多个数据位,并且用于提取的所述装置用于基于所述 第一部分中的所述多个数据位来选择形成所述指令的第二部分的一 组元素。
10. 如权利要求7所述的系统,其进一步包括解码逻辑,用于对形成所述指令的第二部分的一组元素进行选择。
11. 如权利要求7至10中的任一权利要求所述的系统,其中所 述第二部分是超长指令字VLIW, VLIW中的每个元素都形成了用于处 理器的功能元素的指令。
12. 如权利要求7至11中的任一权利要求所述的系统,其进一步包括用于存储所述指令的第一部分的第一存储器,以及用于存储所 述指令的第二部分的第二存储器。
13. —种用于数据处理系统的指令,该指令包括第一部分,所 述第一部分导致具有多个元素的第二部分的执行,其中所述指令的第 一部分包括多个数据位,所述多个数据位识别不操作N0P指令,所述不操作NOP指令将从所述第二部分中的执行中被排除。
14. 一种装置,其包括根据权利要求7至12中的任一权利要求 所述的处理系统。
全文摘要
用于执行指令的处理系统包括具有地址信息和多个数据位E<sub>0</sub>至E<sub>N</sub>的第一部分(11)。根据一个实施例,每个数据位E<sub>0</sub>至E<sub>N</sub>都直接对形成指令集的第二部分(例如VLIW)的对应元素13<sub>0</sub>至13<sub>N</sub>进行选择。以此方式,第一部分(11)被用于仅仅对不包括NOP指令的元素进行选择,从而避免了不必要地功耗。根据可选实施例,利用数据位E<sub>0</sub>至E<sub>N</sub>,在第一部分(11)中所编码的数可以选择第二部分(13)中的元素的不同组。优选地,这些不同组反映了程序中最可能使用的组合。
文档编号G06F9/318GK101305345SQ200680042305
公开日2008年11月12日 申请日期2006年11月13日 优先权日2005年11月15日
发明者彼得·A·E·J·基耶维茨, 让-保罗·C·F·H·斯梅茨 申请人:Nxp股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1