会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
首页 / 专利库 / 电脑零配件 / 向量处理 / 使用标量/向量指令处理数据的系统和方法

使用标量/向量指令处理数据的系统和方法

阅读:1060发布:2020-06-17

IPRDB可以提供使用标量/向量指令处理数据的系统和方法专利检索,专利查询,专利分析的服务。并且本发明涉及使用标量/向量指令处理数据的系统和方法。本发明揭示一种处理器装置,其包含具有用于标量和向量操作的经组合条件码寄存器的寄存器堆。所述处理器装置利用所述经组合条件码寄存器来进行标量和向量操作。此外,比较操作可将所得位存储在所述经组合条件码寄存器中,且条件操作可利用所述经组合条件码寄存器位来评估条件。,下面是使用标量/向量指令处理数据的系统和方法专利的具体信息内容。

1.一种处理器,其包括:

控制寄存器,其包含具有多个位的经组合条件码寄存器,其中所述经组合条件码寄存器中的每一位经配置以设置为第一值和第二值中的一个,所述第一值对应于真比较结果,所述第二值对应于假比较结果,其中所述经组合条件码寄存器中的每一位响应于特定标量比较指令和特定向量比较指令之一的执行而设置;

多个指令执行单元,其响应与定序器,且经配置以:

执行标量指令和向量指令;

其中所述标量指令包括所述特定标量比较指令和特定标量指令,所述特定标量指令是可执行的,以进行利用所述经组合条件码寄存器中的一个位来产生标量结果的数据操作;

其中所述向量指令包括所述特定向量比较指令和特定向量指令,所述特定向量指令可执行以产生向量结果,其利用所述经组合条件码寄存器中的第一位来产生所述向量结果的第一部分,并利用所述经组合条件码寄存器中的第二位来产生所述向量结果的第二部分;

寄存器文件,其经配置以接收执行所述特定标量指令和所述特定向量指令所产生的结果;以及存储单元;

其中所述定序器响应于所述存储单元,且适于从所述存储单元获取多个指令,及将所述多个指令分组成不同类型的指令的包,以便由所述多个指令执行单元并行执行。

2.根据权利要求1所述的处理器,其中所述经组合条件码寄存器为8位寄存器。

3.根据权利要求2所述的处理器,其中所述特定向量比较指令为双字比较指令,所述双字比较指令的执行产生8个比较结果,并致使所述经组合条件码寄存器的每一位根据8个比较结果中相应的比较结果而设置,其中8个比较结果中的每一个对应于将第一64位向量的8位元素与第二64位向量的相应的8位元素相比较。

4.根据权利要求2所述的处理器,其中所述特定向量比较指令为字比较指令,所述字比较指令的执行产生2个比较结果,并致使所述经组合条件码寄存器的每4位根据2个比较结果中相应的比较结果而设置,其中2个比较结果中的每一个对应于将第一64位向量的字元素与第二64位向量的相应的字元素相比较。

5.根据权利要求1所述的处理器,其中所述控制寄存器包括多个组合条件码寄存器,所述多个组合条件码寄存器中的每一个与所述多个指令执行单元中的相应的一者相关联。

6.根据权利要求1所述的处理器,其中所述特定标量指令为标量多路复用器指令。

7.根据权利要求1所述的处理器,其中所述多个指令执行单元中一者为向量乘法累加器单元,其经配置以根据单精度数据、双精度数据、向量数据和复数数据在标量数据和向量包数据上执行操作。

8.根据权利要求1所述的处理器,其中所述特定向量指令为64位向量多路复用器指令。

9.根据权利要求1所述的处理器,其中多个指令执行单元使用向量多路复用器来选择性地交换源操作数,以支持带正负号及不带正负号的向量比较,所述比较包括“相等比较”指令、“带正负号的大于比较”指令和“不带正负号的大于比较”指令。

10.根据权利要求1所述的处理器,其中所述特定向量指令代表标量循环指令。

11.根据权利要求1所述的处理器,其中所述控制寄存器包含循环寄存器、变址寄存器、用户状态寄存器、程序计数器寄存器、和用户通用指针寄存器。

12.根据权利要求1所述的处理器,其中利用多线程来处理与程序线程相关联的指令以执行并发操作。

13.根据权利要求1所述的处理器,其中利用管线化来处理指令。

14.根据权利要求1所述的处理器,其中至少一个指令执行单元对字节、半字、字和双字执行操作。

15.根据权利要求1所述的处理器,其中所述第一值为一,所述第二值为零。

16.一种处理数据的方法,其包括:

从内存单元中获取多个指令;

将所述多个指令分组成不同类型的指令的包,以便由多个指令执行单元并行执行,所述指令包包含第一指令和第二指令;

在所述多个指令执行单元中的至少一个上执行所述第一指令,其中所述第一指令将经组合条件码寄存器中的每一位设置为第一值和第二值中的一个,所述第一值对应于真比较结果,所述第二值对应于假比较结果,其中所述经组合条件码寄存器中的每一位响应于特定标量比较指令和特定向量比较指令之一的执行而设置;

当第一指令为特定标量比较指令时,在所述多个指令执行单元中的至少一个上执行所述第二指令,其中所述第二指令为特定标量指令,其通过执行利用所述经组合条件码寄存器中的单个位的数据操作,来产生标量结果;及当第一指令为特定向量比较指令时,在所述多个指令执行单元中的至少一个上执行所述第二指令,其中所述第二指令为特定向量指令,所述特定向量指令产生向量结果,其利用所述经组合条件码寄存器中的第一位来产生所述向量结果的第一部分,并利用所述经组合条件码寄存器中的第二位来产生所述向量结果的第二部分。

17.根据权利要求16所述的方法,其中所述经组合条件码寄存器为8位寄存器。

18.根据权利要求17所述的方法,其中多个指令执行单元使用向量多路复用器来选择性地交换源操作数,以支持带正负号及不带正负号的向量比较,所述比较包括“相等比较”指令、“带正负号的大于比较”指令和“不带正负号的大于比较”指令。

19.根据权利要求16所述的方法,其中所述特定向量指令为64位向量多路复用器指令。

20.根据权利要求16所述的方法,其中所述特定向量比较指令为双字比较指令,所述双字比较指令的执行产生8个比较结果,并致使所述经组合条件码寄存器的每一位根据8个比较结果中相应的比较结果而设置,其中8个比较结果中的每一个对应于将第一64位向量的8位元素与第二64位向量的相应的8位元素相比较。

21.根据权利要求16所述的方法,其中所述特定向量指令代表标量循环指令。

22.根据权利要求16所述的方法,其中所述第一值为一,所述第二值为零。

23.一种可以由处理器执行并存储在非易失性计算机可读媒体中的指令集,所述指令集包括:获取多个指令并将所述多个指令并行发送到所述处理器的多个指令执行单元的指令;

将所述多个指令分组成不同类型的指令的包以便并行执行的指令,所述指令包包含第一指令和第二指令;

所述第一指令包括将经组合条件码寄存器中的每一位设置为第一值和第二值中的一个,所述第一值对应于真比较结果的指令,所述第二值对应于假比较结果,其中所述经组合条件码寄存器中的每一位响应于特定标量比较指令和特定向量比较指令之一的执行而设置;

所述第二指令包括执行特定标量操作的指令,其中所述特定标量操作通过执行利用所述经组合条件码寄存器中的单个位的数据操作,来产生标量结果;

所述第二指令包括执行特定向量操作的指令,所述特定向量操作产生向量结果,其利用所述经组合条件码寄存器中的第一位来产生所述向量结果的第一部分,并利用所述经组合条件码寄存器中的第二位来产生所述向量结果的第二部分;及其中,所述标量结果和所述向量结果经配置以存储在寄存器文件中。

24.根据权利要求23所述的指令集,其中所述特定标量指令为标量多路复用器指令。

25.根据权利要求23所述的指令集,其中所述特定向量指令为64位向量多路复用器指令。

26.根据权利要求23所述的指令集,其中所述经组合条件码寄存器为8位寄存器。

27.一种处理器,其包括:

具有多个位的经组合条件码寄存器,其中所述经组合条件码寄存器中的每一位经配置以设置为第一值和第二值中的一个,所述第一值对应于真比较结果,所述第二值对应于假比较结果,其中所述经组合条件码寄存器中的每一位响应于特定标量比较指令和特定向量比较指令之一的执行而设置;

指令执行单元,其经配置以执行标量指令和向量指令,其中所述向量指令包括向量多路复用器指令,所述向量多路复用器指令可执行以产生向量结果,其利用所述经组合条件码寄存器中的第一位来产生所述向量结果的第一部分,并利用所述经组合条件码寄存器中的第二位来产生所述向量结果的第二部分;以及寄存器文件,其接收执行所述单元产生的所述向量结果。

28.一种无线通信装置,其包括:

天线;

收发器,其可操作地连接到所述天线;

存储器单元;以及

数字信号处理器,其耦合到所述存储器单元且响应于所述收发器;

其中所述数字信号处理器包含:

控制寄存器,其包括具有多个位的经组合条件码寄存器,其中所述经组合条件码寄存器中的每一位经配置以设置为第一值和第二值中的一个,所述第一值对应于真比较结果,所述第二值对应于假比较结果,其中所述经组合条件码寄存器中的每一位响应于特定标量比较指令和特定向量比较指令之一的执行而设置;

多个指令执行单元,其响应与定序器,且经配置以执行标量指令和向量指令,其中多个指令执行单元包括比较指令执行单元,所述比较指令执行单元经配置以指定所述特定标量比较指令和所述特定向量比较指令;

其中所述标量指令包括特定标量指令,所述特定标量指令是可执行的,以进行利用所述经组合条件码寄存器中的单个位的数据操作来产生标量结果;

其中所述向量指令包括特定向量指令,所述特定向量指令可执行以产生向量结果,其利用所述经组合条件码寄存器中的第一位来产生所述向量结果的第一部分,并利用所述经组合条件码寄存器中的第二位来产生所述向量结果的第二部分;及寄存器文件,其经配置以接收执行所述特定标量指令和所述特定向量指令所产生的结果;

其中,所述定序器相应于所述存储单元,且适于从所述存储单元获取多个指令,及将所述多个指令分组成不同类型的指令的包,以便由所述多个指令执行单元并行执行。

29.根据权利要求28所述的无线通信装置,其进一步包括语音编码器/解码器(CODEC),其耦合到所述数字信号处理器;蓝牙控制器,其耦合到所述数字信号处理器;蓝牙天线,其耦合到所述蓝牙控制器;及无线局域网媒体接入控制(WLAN MAC)基带处理器,其耦合到所述数字信号处理器。

30.根据权利要求28所述的无线通信装置,其进一步包括立体声编码器/解码器(CODEC),其耦合到所述数字信号处理器;802.11控制器,其耦合到所述数字信号处理器;

802.11天线,其耦合到所述802.11控制器;蓝牙控制器,其耦合到所述数字信号处理器;蓝牙天线,其耦合到所述蓝牙控制器;通用串行总线(USB)控制器,其耦合到所述数字信号处理器;以及USB端口,其耦合到所述USB控制器。

31.一种音频文件播放器,其包括:

数字信号处理器;

音频编码器/解码器(CODEC),其耦合到所述数字信号处理器;

多媒体卡,其耦合到所述数字信号处理器;

通用串行总线(USB)端口,其耦合到所述数字信号处理器;以及

其中所述数字信号处理器包含:

控制寄存器,其包含

具有多个位的经组合条件码寄存器,其中所述经组合条件码寄存器中的每一位经配置以设置为第一值和第二值中的一个,所述第一值对应于真比较结果,所述第二值对应于假比较结果,其中所述经组合条件码寄存器中的每一位响应于特定标量比较指令和特定向量比较指令之一的执行而设置;

多个指令执行单元,其响应与定序器,且经配置以执行标量指令和向量指令,其中多个指令执行单元包括比较指令执行单元,所述比较指令执行单元经配置以指定所述特定标量比较指令和所述特定向量比较指令;

其中所述标量指令包括特定标量指令,所述特定标量指令是可执行的,以执行利用所述经组合条件码寄存器中的单个位的数据操作来产生标量结果;

其中所述向量指令包括特定向量指令,所述特定向量指令可执行以产生向量结果,其利用所述经组合条件码寄存器中的第一位来产生所述向量结果的第一部分,并利用所述经组合条件码寄存器中的第二位来产生所述向量结果的第二部分;及寄存器文件,其经配置以接收执行所述特定标量指令和所述特定向量指令所产生的结果;及存储单元;

其中,所述定序器相应于所述存储单元,且适于从所述存储单元获取多个指令,及将所述多个指令分组成不同类型的指令的包,以便由所述多个指令执行单元并行执行。

32.一种处理器装置,其包括:

用于将所述多个指令分组成不同类型的指令的包以便并行执行的装置;

用于执行将具有多个位的经组合条件码寄存器中的每一位设置为第一值和第二值中的一个的指令的装置,所述第一值对应于真比较结果,所述第二值对应于假比较结果,其中所述经组合条件码寄存器中的每一位响应于特定标量比较指令和特定向量比较指令之一的执行而设置;

用于执行进行特定标量操作的指令的装置,所述特定标量操作执行利用所述经组合条件码寄存器中的单个位的数据操作来产生标量结果;

用于执行进行特定向量操作的指令的装置,所述特定向量操作产生向量结果,其利用所述经组合条件码寄存器中的第一位来产生所述向量结果的第一部分,并利用所述经组合条件码寄存器中的第二位来产生所述向量结果的第二部分;及用于接收所述标量结果和所述向量结果的装置,所述标量结果和所述向量结果由用于执行进行特定标量操作的指令的装置和用于执行进行特定向量操作的指令的装置产生。

说明书全文

使用标量/向量指令处理数据的系统和方法

[0001] 分案申请
[0002] 本发明专利申请是申请号为200780030183.X,发明名称为“使用标量/向量指令处理数据的系统和方法”,以及原申请日为2007年8月15日的发明专利申请案的分案申请。

技术领域

[0003] 本揭示案大体上涉及处理数据的系统和方法,且更特定来说,涉及处理向量和标量操作的系统和方法。

背景技术

[0004] 科技上的进步产生更小且更强大的个人计算装置。举例来说,当前存在多种便携式个人计算装置,包含无线计算装置,例如较小、轻重量且易于由用户携带的便携式无线电话、个人数字助理(PDA)和寻呼装置。更具体来说,便携式无线电话(例如,蜂窝式电话和IP电话)可经由无线网络传送语音和数据包。此外,许多此类无线电话包含并入其中的其它类型装置。举例来说,无线电话还可包含数字静态相机、数字视频相机、数字记录器和音频文件播放器。而且,此类无线电话可包含可用于接入因特网的网络接口。因此,这些无线电话包含相当大的计算能力。
[0005] 通常,随着这些装置变得更小且更强大,其变得越来越受资源约束。举例来说,屏幕尺寸、可用存储器和文件系统空间的量,以及输入和输出能力的量可能受到装置的较小尺寸的限制。此外,电池尺寸、由电池提供的功率量以及电池的寿命也受到限制。一种用以增加装置的电池寿命的方式是设计消耗较少功率的处理器。
[0006] 某些类型的处理器使用用于向量处理的向量架构。具有向量架构的处理器提供对向量(即,线性数据阵列)起作用的高级操作。向量处理一次获取一个指令,且接着以不同的数据多次执行所述指令。此允许用以执行程序所需的能量得以减少,因为尤其是每一指令需要被较少次获取。另外,具有向量架构的处理器通常允许同时完成多个操作,从而在操作之间形成并行性。
[0007] 另一方面,其它类型的处理器使用标量架构以用于标量处理。标量处理在每次执行指令时获取指令和数据。在执行需要多次执行一指令的循环中,具有标量架构的处理器将多次获取所述指令。
[0008] 对于需要将要对较大的数据集合执行相同操作的任务来说,需要向量处理。然而,具有向量架构的处理器不考虑标量条件或产生标量结果。当处理器具有线性定标性能要求时(如在预期用以处置多个视频流的视频装置中),标量操作是有用的。出于此原因,现有的处理器使用标量架构来用于多媒体处理。由于缺乏并行性,此方法需要处理器运行得非常快,这在功率消耗方面是低效的。
[0009] 因此,提供一种考虑到标量条件的处理向量操作的改进处理系统和方法将是有利的。

发明内容

[0010] 本发明揭示一种处理器装置,且其包含:控制寄存器,其包含用于标量和向量操作的经组合条件码寄存器;以及至少一个指令执行单元,其用以执行标量和向量指令,所述标量和向量指令两者均利用所述经组合条件码寄存器。
[0011] 在一特定实施例中,处理器装置包含存储器单元和响应于所述存储器单元的定序器。所述指令执行单元响应于所述定序器。此外,在又一特定实施例中,所述处理器装置包含存储器单元,所述存储器单元具有用于利用经组合条件码寄存器的标量操作的指令以及用于利用经组合条件码寄存器的向量操作的指令。在又一实施例中,所述处理器装置包含标量比较操作。在另一实施例中,所述处理器装置包含向量比较操作。
[0012] 在又一实施例中,所述处理器装置包含基于经组合条件码寄存器而有条件地执行的标量操作。在另一实施例中,所述处理器装置包含将经组合条件码寄存器用作输入的标量操作。
[0013] 在又一实施例中,所述处理器装置包含基于经组合条件码寄存器中的结果而有条件地执行的向量操作。在特定实施例中,所述处理器装置包含使用经组合条件码寄存器来存储向量比较操作的结果的向量比较操作。
[0014] 在特定实施例中,所述处理器装置包含对字节、半字、字和双字执行操作的指令执行单元。
[0015] 本文所揭示的实施例中的一者或一者以上的优点可包含实质上改进处理器装置的性能。另一优点可包含提供所述处理器装置的较低功率使用。
[0016] 在检视整个申请案后,将明白本揭示案的其它方面、优点和特征,申请案包含以下部分:附图说明、具体实施方式和权利要求书。

附图说明

[0017] 通过参考结合附图而进行的以下详细描述,将更容易明白本文所描述的实施例的方面和优点。
[0018] 图1是示范性数字信号处理器的方框图;
[0019] 图2是示范性指令的概图;
[0020] 图3是向量比较指令的概图;
[0021] 图4是向量半字比较指令的概图;
[0022] 图5是向量多路复用器指令的概图;
[0023] 图6是执行标量操作的方法的流程图;
[0024] 图7是执行标量条件操作的方法的流程图;
[0025] 图8是执行向量操作的方法的流程图;
[0026] 图9是执行向量条件操作的方法的流程图;
[0027] 图10是并入数字信号处理器的便携式通信装置的方框图;
[0028] 图11是并入数字信号处理器的示范性蜂窝式电话的方框图;
[0029] 图12是并入数字信号处理器的示范性无线因特网协议电话的方框图;
[0030] 图13是并入数字信号处理器的示范性便携式数字助理的方框图;以及[0031] 图14是并入数字信号处理器的示范性音频文件播放器的方框图。

具体实施方式

[0032] 图1说明处理器100的示范性、非限制性实施例的方框图。在特定实施例中,处理器100为数字信号处理器(DSP),例如用于广泛多种信号、图像和视频处理应用中的高性能和低功率的通用DSP。
[0033] 在特定实施例中,处理器100将标量指令集与面向DSP的指令集进行组合。在此实施例中,处理器100包含完整的且正交的标量指令集,类似于精简指令集计算机(RISC)指令集,其提供对定点数据的操作。所述标量指令经设计为正交的并如同RISC,以便实现较大的灵活度和性能。另外,处理器100包含用于提供多种DSP操作的向量指令集。所述组合提供用于信号处理应用的丰富的一组操作。
[0034] 在特定实施例中,处理器100支持M型操作,包含对定点数据的操作、分数定标、饱和、舍入、单精度、双精度、复数、向量半字和向量字节操作。在特定实施例中,处理器100支持S型操作,包含标量移位、向量移位、改序、位操纵和断言操作。在特定实施例中,处理器100支持ALU64操作,包含算术逻辑单元(ALU)、改序、向量字节、向量半字和向量字操作。在特定实施例中,处理器100支持ALU32操作,包含加法、减法、对32位数据的不具有饱和的求反、标量32位比较、组合半字、组合字、移位半字、多路复用器(MUX)、空操作(Nop)、正负号和零扩展字节和半字,和转移立即数和寄存器。在特定实施例中,处理器100支持控制寄存器操作,例如控制寄存器转移指令。
[0035] 如图1中所说明,处理器100包含存储器102,其经由总线106耦合到定序器104。在特定实施例中,存储器102为统一存储器模型。在特定实施例中,总线106为128位总线,且定序器104经配置以从具有32位长度的存储器102检索指令。定序器104耦合到第一指令执行单元136、第二指令执行单元138、第三指令执行单元140,和第四指令执行单元
142。图1指示每一指令执行单元136、138、140、142可耦合到通用寄存器堆144。通用寄存器堆144还可耦合到控制寄存器堆110并耦合到存储器102。
[0036] 在特定实施例中,通用寄存器堆144为单一统一寄存器堆,其保持三十二(32)个32位寄存器,其可被作为单一寄存器存取,或被作为对准的64位对来存取。在特定实施例中,通用寄存器堆144保持指针、标量、向量和累加器数据。通用寄存器144可用于通用的计算,包含地址产生、标量算术和向量算术。在特定实施例中,通用寄存器堆提供用于指令的操作数,包含用于加载/存储的地址、用于数字指令的数据操作数,和用于向量指令的向量操作数。
[0037] 在特定实施例中,存储器102为具有单一32位地址空间的统一字节可寻址存储器,其保存数据和指令两者,且在小端模式(Little Endian Mode)中操作,其中,存储器中的最低地址字节被保存在寄存器的最低有效字节中。在操作期间,定序器104可从存储器102获取指令。
[0038] 在处理器100的操作期间,指令由定序器104从存储器102获取,发送到指定的指令执行单元136、138、140、142,且在指令执行单元136、138、140、142处执行。所述指令可包含标量和向量指令,例如标量和向量比较操作、标量条件操作,和向量多路复用器操作。在特定实施例中,定序器104可一次获取四个32位指令,并将所述四个指令并行地发布到指令执行单元136、138、140、142。为了并行执行,可将指令分组为各种类型的一到四个指令的包。变化长度的包可自由混合于程序中。每一指令执行单元136、138、140、142的结果可被写入到通用寄存器堆144。在特定实施例中,处理器100支持在每一循环将两个64位双字从存储器移动到寄存器。
[0039] 在特定实施例中,处理器100具有加载/存储架构,其特征为经裁剪为编译器需要和DSP应用需要两者的完整组的寻址模式。可支持线性、循环缓冲器,和位颠倒寻址。加载和存储可为带正负号或不带正负号的字节(8位)、半字(16位)、字(32位)和双字(64位)。在特定实施例中,处理器100支持两个并行的加载或并行的一个加载和一个存储。
[0040] 在特定实施例中,指令执行单元136为向量移位/改序/算术逻辑单元(ALU)单元;指令执行138为向量乘法/ALU单元;指令执行140为加载/ALU单元;且指令执行单元142为加载/存储/ALU单元。
[0041] 在特定实施例中,一组32位控制寄存器提供对专用特征的存取。可在逻辑上将控制寄存器分组为单一控制寄存器堆,例如控制寄存器堆110。这些控制寄存器可包含经组合断言寄存器,例如断言寄存器120,其可保存标量和向量操作的结果。断言寄存器与条件码寄存器同义。控制寄存器堆110还可包含循环寄存器112、114、116、118、变址寄存器124、126、用户状态寄存器(USR)128、程序计数器(PC)寄存器130,和用户通用指针寄存器132。
在特定实施例中,控制寄存器堆110包含保留寄存器,例如保留寄存器122和134。在特定实施例中,指令对于控制寄存器堆110与通用寄存器堆144之间的转移寄存器来说是可用的。在特定实施例中,断言寄存器120为四个8位断言寄存器。
[0042] 在特定实施例中,比较指令(如下文关于图6和图8所描述)可设置断言寄存器120中的位。比较指令可将比较操作的结果存储在断言寄存器120中。在特定实施例中,比较指令包含向量和标量比较指令。标量比较指令可用于与立即数比较(compare-to-immediate)和寄存器与寄存器比较(register-register compare)形式两者。
[0043] 在特定实施例中,存储在断言寄存器120中的位可用于有条件地执行某些指令,如关于图7和图8所描述。在特定实施例中,比较指令的结果被存储在断言寄存器120中的一者中,且接着用作用于条件指令的条件位。举例来说,向量指令(例如,分支指令和多路复用器(MUX)指令)是断言寄存器120的主要消费者。然而,某些标量指令也可将存储在断言寄存器120中的位用作条件位。在特定实施例中,使用断言寄存器120的标量操作仅检验最低有效位,而向量操作检查更多位。
[0044] 举例来说,在特定实施例中,例如“跳到地址”、“从寄存器跳到地址”、“调用子例行程序”和“从寄存器调用子例行程序”的指令使用存储在断言寄存器120中的位。“跳到地址”指令和“从寄存器跳到地址”指令用于改变程序流。“调用子例行程序”指令和“从寄存器调用子例行程序”指令用于将程序流改变为子例行程序。
[0045] 在特定实施例中,处理器100具有用以操纵和移动断言寄存器120的一组指令。所述指令包含逻辑指令,包含与、或、非和异或。另外,所包含的其它指令为“对断言的逻辑精简”。第一“对断言的逻辑精简”指令在源断言寄存器中的低8位中的任一者被设置的情况下将断言目的地寄存器设置为0xff,否则所述目的地断言被设置为0x00。另一指令在源断言寄存器中的低8位中的全部被设置的情况下将断言目的地寄存器设置为0xff,否则所述目的地断言被设置为0x00。
[0046] 在特定实施例中,处理器100支持零额外开销硬件循环。存在在使用上具有非常少的约束的两组可嵌套循环机。软件分支通过经断言分支机制而起作用。显性比较指令产生断言位。由条件分支指令使用所述产生的位。以PC相关和寄存器间接形式支持有条件和无条件跳跃以及子例行程序调用。
[0047] 在特定实施例中,处理器100支持管线化,其中处理器100在已完成第一指令之前开始执行第二指令。
[0048] 图2说明可由处理器100执行的示范性指令(向量精简乘法半字指令200)的图。如图2中所说明,第一64位向量202的半字(未图示)和第二64位向量204的半字(未图示)在206处相乘。中间乘积212接着在208处一起相加。全64位结果存储在目的地寄存器210中。在特定实施例中,存储在目的地寄存器210中的64位结果任选地在208处相加。可由指令执行单元138执行指令200。在特定实施例中,执行单元138为向量乘法累加器(MAC)单元,其支持对单精度(16×16)、双精度(32×32和32×16)、向量以及复数数据的操作。优选的是,执行单元138能够对标量和压缩的向量数据两者执行多种DSP操作。另外,执行单元138可执行支持自动定标、饱和以及舍入的指令形式。
[0049] 图3说明可由处理器100执行的示范性指令(向量比较指令300)的图。如图3中所说明,第一64位向量302和第二64位向量304在306处进行比较。向量302和向量304中的每一元素经过比较,且产生真/假结果位向量308。真/假结果位向量308的每一位被设置为0或1,其取决于比较结果。在特定实施例中,真/假结果位向量308被存储在断言寄存器120中的一者中。
[0050] 图4说明可由处理器100执行的示范性指令(向量半字比较指令400)的图。如图4中所说明,第一64位向量402的半字(未图示)和第二64位向量404的对应半字(未图示)在406处进行比较。向量402和向量404中的每一半字经过比较,且产生真/假结果位向量408。对于半字比较,真/假结果位向量408的两个位被设置为0或1,其取决于每一比较结果。以类似方式,对于字比较,结果向量的四个位被设置为0或1,其取决于每一比较结果。在特定实施例中,真/假结果位向量408被存储在断言寄存器120中的一者中。
[0051] 图5说明可由处理器100执行的示范性指令(向量MUX指令500)的图。如图5中所说明,在506处有条件地选择第一64位向量502的每一元素和第二64位向量504的每一对应元素。对于向量502中的每一字节和向量504中的对应字节,对应位510用作条件位。在特定实施例中,位510被存储在断言寄存器120中的一者中。条件位510决定MUX操作的结果。MUX操作以从向量502或向量504选择字节的值,因此在两个向量之间执行逐元素的字节选择。向量MUX指令产生结果字节向量508。在特定实施例中,对于断言寄存器120中的一者的低8位中的每一者,如果所述位被设置,那么结果508的对应字节被设置为来自向量502的对应字节。否则,结果508的对应字节被设置为来自向量504的对应字节。
在特定实施例中,结果字节向量508被存储在通用寄存器144中的目的地寄存器(未图示)中。
[0052] 图6说明执行标量操作的方法的流程图。可由指令执行单元(例如,指令执行单元136、138、140、142中的一者)在602处接收标量指令。接着由指令执行单元在604处执行标量指令。接着在606处将来自指令执行的所得位设置在结果寄存器中。在特定实施例中,所得位被设置在断言寄存器120中的一者中。在特定实施例中,所述指令为标量比较指令,其中对于真比较,标量比较指令将断言寄存器120中的一者中的每一位设置为一(1),且对于假比较,将断言寄存器120中的一者中的每一位设置为零(0)。
[0053] 图7说明执行标量条件操作的方法的流程图。可由指令执行单元(例如,指令执行单元136、138、140、142中的一者)在702处接收标量条件指令。在704处,指令执行单元确定是否应执行标量条件指令。在特定实施例中,在704处,通过检验断言寄存器120中的一者中的最低有效位来完成所述确定。如果所述确定是不执行,则在710处不执行标量条件操作。如果所述确定是执行,则在706处接着由指令执行单元执行所述标量条件指令。接着在708处将来自指令执行的所得位设置在结果寄存器中。
[0054] 图8说明执行向量操作的方法的流程图。在特定实施例中,向量操作是向量比较操作。可由指令执行单元(例如,指令执行单元136、138、140、142中的一者)在802处接收向量指令。接着由指令执行单元在804处执行向量指令。接着在806处将来自指令执行的所得位设置在结果寄存器中。在特定实施例中,所得位被设置在断言寄存器120中的一者中。
[0055] 在特定实施例中,处理器100支持三种比较操作形式,包含“相等比较”、“带正负号大于比较”和“不带正负号大于比较”。这三种形式足以产生带正负号和不带正负号的值的所有比较。每一比较的输出产生可用于任一意义上的真或假值。另外,寄存器操作数可经颠倒以产生另一比较。通过交换操作数并使用结果的两种意义,可执行带正负号和不带正负号的比较的完整的补。
[0056] 图9说明执行向量条件操作的方法的流程图。在特定实施例中,向量条件操作为向量MUX操作。可由指令执行单元(例如,指令执行单元136、138、140、142)在902处接收向量条件指令。指令执行单元在904处获得一组条件位(例如,位510)。在特定实施例中,所获得的位是来自断言寄存器120中的一者。接着当由指令执行单元在906处执行向量条件指令时,使用所获得的位。接着在908处将来自指令执行的所得位设置在结果寄存器中。通过交换MUX指令的源操作数,可形成结果的两个意义。
[0057] 举例来说,在向量MUX操作中,使用对应的条件位向量来有条件地选择第一向量中的每一字节和第二向量中的对应字节。在特定实施例中,条件位被存储在断言寄存器120中的一者中。MUX操作以从第一向量或第二向量选择字节的值,因此在两个向量之间执行逐元素的字节选择。向量MUX指令产生结果字节向量。在特定实施例中,对于断言寄存器120中的一者的低8位中的每一者,如果所述位被设置,那么结果的对应字节被设置为来自第一向量的对应字节。否则,结果的对应字节被设置为来自第二向量的对应字节。在特定实施例中,结果字节向量被存储在通用寄存器144中的目的地寄存器(未图示)中。
[0058] 在特定实施例中,处理器100使用向量条件指令来向量化具有条件语句的循环。举例来说,在标量指令循环中,针对循环的每一连续迭代而获取且执行标量指令。在向量条件语句中,可使用向量条件操作取代所述循环,使得获取指令一次并对向量执行。举例来说,以下C代码循环八次获取指令和数据:for(i=0;i<8;i++){if(A[i]]){B[i]=C[i];}}。
可由优选各获取一次指令和数据的两个向量操作来取代此C代码循环。为了向量化实例C代码循环,执行两个向量操作。首先,执行比较操作,其将向量A中的字节与零进行比较,且所得位被存储在寄存器中,优选存储在断言寄存器120中的一者中。其次,执行向量MUX操作,其将向量A比较的结果用作条件位以在向量B与向量C的字节之间进行选择。可将向量MUX操作的结果存储在寄存器中。因此,因为较少次地获取指令和数据,所以与具有条件语句的循环相比,向量条件操作允许处理器更快、更有效,且消耗较少的功率。
[0059] 图10说明一般指定为1020的便携式通信装置的示范性、非限制性实施例。如图10中所说明,便携式通信装置包含芯片上系统1022,所述芯片上系统1022包含数字信号处理器1024。在特定实施例中,数字信号处理器1024为图1中所展示和本文所描述的处理器。如图10中所说明,DSP1024包含用于标量操作和向量操作的经组合断言寄存器1090。
在特定实施例中,比较操作将结果存储在经组合断言寄存器1090中,且条件操作(例如)在上文所描述的向量MUX指令中将所述存储的比较结果用作条件位。图10还展示耦合到数字信号处理器1024和显示器1028的显示器控制器1026。另外,输入装置1030耦合到数字信号处理器1024。如所示,存储器1032耦合到数字信号处理器1024。另外,编码器/解码器(CODEC)1034可耦合到数字信号处理器1024。扬声器1036和麦克风1038可耦合到CODEC1030。
[0060] 图10还指示无线控制器1040可耦合到数字信号处理器1024和无线天线1042。在特定实施例中,电源1044耦合到芯片上系统1002。另外,在特定实施例中,如图10中所说明,显示器1026、输入装置1030、扬声器1036、麦克风1038、无线天线1042和电源1044处于芯片上系统1022的外部。然而,每一者均耦合到芯片上系统1022的组件。
[0061] 在特定实施例中,数字信号处理器1024利用交错的多线程来处理与程序线程相关联的指令,所述程序线程是执行由便携式通信装置1020的各种组件所需要的功能性和操作所必需的。举例来说,当经由无线天线建立无线通信会话时,用户可对麦克风1038讲话。表示用户语音的电子信号可被发送到CODEC1034以进行编码。数字信号处理器1024可执行用于CODEC1034编码来自麦克风的电子信号的数据处理。此外,可由无线控制器1040将经由无线天线1042接收到的传入信号发送到CODEC1034以进行解码,并发送到扬声器1036。数字信号处理器1024也可在解码经由无线天线1042接收到的信号时执行用于CODEC1034的数据处理。
[0062] 此外,在无线通信会话之前、期间或之后,数字信号处理器1024可处理从输入装置1030接收到的输入。举例来说,在无线通信会话期间,用户可能正使用输入装置1030和显示器1028经由嵌入在便携式通信装置1020的存储器1032内的网络浏览器在因特网上冲浪。数字信号处理器1024可交错由输入装置1030、显示器控制器1026、显示器1028、CODEC1034和无线控制器1040(如本文所描述)使用的各种程序线程,以有效地控制便携式通信装置1020和其中的各种组件的操作。与各种程序线程相关联的许多指令是在一个或一个以上时钟循环期间同时执行的。因此,实质上降低了由于浪费的时钟循环而引起的功率和能量消耗。
[0063] 参看图11,其展示蜂窝式电话的示范性、非限制性实施例,且一般指定为1120。如所示,蜂窝式电话1120包含芯片上系统1122,芯片上系统1122包含耦合在一起的数字基带处理器1124和模拟基带处理器1126。在特定实施例中,数字基带处理器1124为数字信号处理器,例如图1中所展示和本文所描述的处理器。如图11中所说明,DSP1124包含用于标量操作和向量操作的经组合断言寄存器1190。在特定实施例中,比较操作将结果存储在经组合断言寄存器1190中,且条件操作(例如)在上文所描述的向量MUX指令中将所述存储的比较结果用作条件位。如图11中所指示,显示器控制器1128和触摸屏控制器1130耦合到数字基带处理器1124。处于芯片上系统1122外部的触摸屏显示器1132又耦合到显示器控制器1128和触摸屏控制器1130。
[0064] 图11进一步指示视频编码器1134(例如,逐行倒相(PAL)编码器、顺序传送彩色与存储(SECAM)编码器,或美国国家电视系统委员会(NTSC)编码器)耦合到数字基带处理器1124。此外,视频放大器1136耦合到视频编码器1134和触摸屏显示器1132。而且,视频端口1138耦合到视频放大器1136。如图11中所描绘,通用串行总线(USB)控制器1140耦合到数字基带处理器1124。而且,USB端口1142耦合到USB控制器1140。存储器1144和订户身份模块(SIM)卡1146也可耦合到数字基带处理器1124。此外,如图11中所示,数码相机1148可耦合到数字基带处理器1124。在示范性实施例中,数码相机1148是电荷耦合装置(CCD)相机或互补金属氧化物半导体(CMOS)相机。
[0065] 如图11中进一步说明,立体声音频CODEC1150可耦合到模拟基带处理器1126。另外,音频放大器1152可耦合到立体声音频CODEC1150。在示范性实施例中,第一立体声扬声器1154和第二立体声扬声器1156耦合到音频放大器1152。图11展示麦克风放大器
1158也可耦合到立体声音频CODEC1150。另外,麦克风1160可耦合到麦克风放大器1158。
在特定实施例中,调频(FM)收音机调谐器1162可耦合到立体声音频CODEC1150。而且,FM天线1164耦合到FM收音机调谐器1162。此外,立体声耳机1166可耦合到立体声音频CODEC1150。
[0066] 图11进一步指示射频(RF)收发器1168可耦合到模拟基带处理器1126。RF开关1170可耦合到RF收发器1168和RF天线1172。如图11中所示,小键盘1174可耦合到模拟基带处理器1126。而且具有麦克风1176的单声道送受话器可耦合到模拟基带处理器1126。
此外,振动器装置1178可耦合到模拟基带处理器1126。图11还展示电源1180可耦合到芯片上系统1122。在特定实施例中,电源1180是直流(DC)电源,其将功率提供给蜂窝式电话
1120中需要功率的各种组件。此外,在特定实施例中,电源是可再充电DC电池或DC电源,其是从连接到AC电源的交流(AC)到DC变压器得到的。
[0067] 在特定实施例中,如图11中所描绘,触摸屏显示器1132、视频端口1138、USB端口1142、相机1148、第一立体声扬声器1154、第二立体声扬声器1156、麦克风、FM天线1164、立体声耳机1166、RF开关1170、RF天线1172、小键盘1174、单声道送受话器1176、振动器
1178和电源1180处于芯片上系统1122的外部。另外,在特定实施例中,数字基带处理器
1124可使用本文所描述的交错多线程,以便处理与和蜂窝式电话1120相关联的不同组件中的一者或一者以上相关联的各种程序线程。
[0068] 参看图12,展示无线因特网协议(IP)电话的示范性、非限制性实施例,且一般指定为1200。如所示,无线IP电话1200包含芯片上系统1202,所述芯片上系统1202包含数字信号处理器(DSP)1204。在特定实施例中,DSP1204为图1中所展示和本文所描述的处理器。如图12中所说明,DSP1204包含用于标量操作和向量操作的经组合断言寄存器1290。在特定实施例中,比较操作将结果存储在经组合断言寄存器1290中,且条件操作(例如)在上文所描述的向量MUX指令中将所述存储的比较结果用作条件位。如图12中所说明,显示器控制器1206耦合到DSP1204,且显示器1208耦合到显示器控制器1206。在示范性实施例中,显示器1208为液晶显示器(LCD)。图12进一步展示小键盘1210可耦合到DSP1204。
[0069] 如图12中进一步描绘,快闪存储器1212可耦合到DSP1204。同步动态随机存取存储器(SDRAM)1214、静态随机存取存储器(SRAM)1216和电可擦除可编程只读存储器(EEPROM)1218也可耦合到DSP1204。图12还展示发光二极管(LED)1220可耦合到DSP1204。另外,在特定实施例中,语音CODEC1222可耦合到DSP1204。放大器1224可耦合到语音CODEC1222,且单声道扬声器1226可耦合到放大器1224。图12进一步指示单声道送受话器
1228也可耦合到语音CODEC1222。在特定实施例中,单声道送受话器1228包含麦克风。
[0070] 图12还说明无线局域网(WLAN)基带处理器1230可耦合到DSP1204。RF收发器1232可耦合到WLAN基带处理器1230,且RF天线1234可耦合到RF收发器1232。在特定实施例中,蓝牙控制器1236也可耦合到DSP1204,且蓝牙天线1238可耦合到控制器1236。图
12还展示USB端口1240也可耦合到DSP1204。另外,电源1242耦合到芯片上系统1202,且经由芯片上系统1202向无线IP电话1200的各种组件提供功率。
[0071] 在特定实施例中,如图12中所指示,显示器1208、小键盘1210、LED1220、单声道扬声器1226、单声道送受话器1228、RF天线1234、蓝牙天线1238、USB端口1240和电源1242处于芯片上系统1202的外部。然而,这些组件中的每一者均耦合到芯片上系统的一个或一个以上组件。此外,在特定实施例中,数字信号处理器1204可使用如本文所描述的交错多线程,以便处理与和IP电话1200相关联的不同组件中的一者或一者以上相关联的各种程序线程。
[0072] 图13说明一般指定为1300的便携式数字助理(PDA)的示范性、非限制性实施例。如所示,PDA1300包含芯片上系统1302,所述芯片上系统1302包含数字信号处理器(DSP)
1304。在特定实施例中,DSP1304为图1中所展示和本文所描述的处理器。如图13中所说明,DSP1304包含用于标量操作和向量操作的经组合断言寄存器1390。在特定实施例中,比较操作将结果存储在经组合断言寄存器1390中,且条件操作(例如)在上文所描述的向量MUX指令中将所述存储的比较结果用作条件位。如图13中所描绘,触摸屏控制器1306和显示器控制器1308耦合到DSP1304。此外,触摸屏显示器耦合到触摸屏控制器1306且耦合到显示器控制器1308。图13还指示小键盘1312可耦合到DSP1304。
[0073] 如图13中进一步描绘,快闪存储器1314可耦合到DSP1304。而且,只读存储器(ROM)1316、动态随机存取存储器(DRAM)1318和电可擦除可编程只读存储器(EEPROM)1320可耦合到DSP1304。图13还展示红外数据协会(IrDA)端口1322可耦合到DSP1304。另外,在特定实施例中,数码相机1324可耦合到DSP1304。
[0074] 如图13中所展示,在特定实施例中,立体声音频CODEC1326可耦合到DSP1304。第一立体声放大器1328可耦合到立体声音频CODEC1326,且第一立体声扬声器1330可耦合到第一立体声放大器1328。另外,麦克风放大器1332可耦合到立体声音频CODEC1326,且麦克风1334可耦合到麦克风放大器1332。图13进一步展示第二立体声放大器1336可耦合到立体声音频CODEC1326,且第二立体声扬声器1338可耦合到第二立体声放大器1336。在特定实施例中,立体声耳机1340也可耦合到立体声音频CODEC1326。
[0075] 图13还说明802.11控制器1342可耦合到DSP1304,且802.11天线1344可耦合到802.11控制器1342。另外,蓝牙控制器1346可耦合到DSP1304,且蓝牙天线1348可耦合到蓝牙控制器1346。如图13中所描绘,USB控制器1350可耦合到DSP1304,且USB端口1352可耦合到USB控制器1350。另外,智能卡1354(例如,多媒体卡(MMC)或安全数字卡(SD))可耦合到DSP1304。此外,如图13中所展示,电源1356可耦合到芯片上系统1302,且可经由芯片上系统1302向PDA1300的各种组件提供功率。
[0076] 在特定实施例中,如图13中所指示,显示器1310、小键盘1312、IrDA端口1322、数码相机1324、第一立体声扬声器1330、麦克风1334、第二立体声扬声器1338、立体声耳机1340、802.11天线1344、蓝牙天线1348、USB端口1352和电源1350处于芯片上系统1302的外部。然而,这些组件中的每一者均耦合到芯片上系统上的一个或一个以上组件。另外,在特定实施例中,数字信号处理器1304可使用本文所描述的交错多线程,以便处理与和便携式数字助理1300相关联的不同组件中的一者或一者以上相关联的各种程序线程。
[0077] 参看图14,其展示音频文件播放器(例如,移动图片专家组音频层-3(MP3)播放器)的示范性、非限制性实施例,且一般指定为1400。如所示,音频文件播放器1400包含芯片上系统1402,所述芯片上系统1402包含数字信号处理器(DSP)1404。在特定实施例中,DSP1404为图1中所展示和本文所描述的处理器。如图14中所说明,DSP1404包含用于标量操作和向量操作的经组合断言寄存器1490。在特定实施例中,比较操作将结果存储在经组合断言寄存器1490中,且条件操作(例如)在上文所描述的向量MUX指令中将所述存储的比较结果用作条件位。如图14中所说明,显示器控制器1406耦合到DSP1404,且显示器1408耦合到显示器控制器1406。在示范性实施例中,显示器1408为液晶显示器(LCD)。图
14进一步展示小键盘1410可耦合到DSP1404。
[0078] 如在图14中进一步描绘,快闪存储器1412和只读存储器(ROM)1414可耦合到DSP1404。另外,在特定实施例中,音频CODEC1416可耦合到DSP1404。放大器1418可耦合到音频CODEC1416,且单声道扬声器1420可耦合到放大器1418。图14进一步指示麦克风输入1422和立体声输入1424也可耦合到音频CODEC1416。在特定实施例中,立体声耳机1426也可耦合到音频CODEC1416。
[0079] 图14还指示USB端口1428和智能卡1430可耦合到DSP1404。另外,电源1432可耦合到芯片上系统1402,且可经由芯片上系统1402向音频文件播放器1400的各种组件提供功率。
[0080] 在特定实施例中,如图14中所指示,显示器1408、小键盘1410、单声道扬声器1420、麦克风输入1422、立体声输入1424、立体声耳机1426、USB端口1428和电源1432处于芯片上系统1402的外部。然而,这些组件中的每一者均耦合到芯片上系统上的一个或一个以上组件。而且,在特定实施例中,数字信号处理器1404可使用本文所描述的交错多线程,以便处理与和音频文件播放器1400相关联的不同组件中的一者或一者以上相关联的各种程序线程。
[0081] 本文所描述的系统和方法提供减少的复杂性、成本和功率使用。举例来说,让相同的断言寄存器针对标量操作和向量操作两者进行操作即会通过减少所需断言寄存器的数目而减少处理器的成本和复杂性。而且,具有单独的断言寄存器堆而不是使用通用寄存器减少了处理器的成本、复杂性和所消耗的功率。另外,本文所描述的系统和方法提供改进的性能。
[0082] 所属领域的技术人员将进一步了解,可将结合本文所揭示的实施例而描述的各种说明性逻辑区块、配置、模块、电路和算法步骤实施为电子硬件、计算机软件或两者的组合。为清楚地说明硬件和软件的此互换性,已根据其功能性在上文中大体上描述了各种说明性组件、区块、配置、模块、电路和步骤。将此功能性实施为硬件还是软件取决于特定应用和强加于整个系统的设计约束。对于每一特定应用,所属领域的技术人员可以变化的方式实施所描述的功能性,但不应将此些实施方案解释为导致脱离本发明的范围。
[0083] 结合本文所揭示的实施例而描述的方法或算法的步骤可直接包含在硬件中、由处理器执行的软件中,或两者的组合中。软件模块可驻留在RAM存储器、快闪存储器、ROM存储器、PROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移除盘、CD-ROM,或此项技术中已知的任何其它形式的存储媒体中。示范性存储媒体耦合到处理器,使得处理器可从存储媒体读取信息和将信息写入到存储媒体。在替代方案中,存储媒体可与处理器成一体。处理器和存储媒体可驻留在ASIC中。ASIC可驻留于计算装置或用户终端中。在替代方案中,处理器和存储媒体可作为离散组件驻留于计算装置或用户终端中。
[0084] 提供所揭示实施例的先前描述以使任何所属领域的技术人员能够制作或使用本揭示案。所属领域的技术人员将容易明白对这些实施例的各种修改,且在不脱离本揭示案的精神或范围的情况下,可将本文中所界定的一般原理应用于其它实施例。因此,并不希望将本揭示案限于本文中所示的实施例,而是,将赋予其与所附权利要求书所界定的原理和新颖特征一致的最广泛范围。
高效检索全球专利

IPRDB是专利检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,专利查询、专利分析

电话:13651749426

侵权分析

IPRDB的侵权分析产品是IPRDB结合多位一线专利维权律师和专利侵权分析师的智慧,开发出来的一款特色产品,也是市面上唯一一款帮助企业研发人员、科研工作者、专利律师、专利分析师快速定位侵权分析的产品,极大的减少了用户重复工作量,提升工作效率,降低无效或侵权分析的准入门槛。

立即试用