首页> 中国专利> 具有用于提供多模向量处理的可编程数据路径配置的向量处理引擎、以及相关向量处理器、系统和方法

具有用于提供多模向量处理的可编程数据路径配置的向量处理引擎、以及相关向量处理器、系统和方法

摘要

本文所公开的实施例包括具有可编程数据路径配置的向量处理引擎(VPE)以供提供多模向量处理。还公开了相关的向量处理器、系统和方法。该VPE包括向量处理级,其被配置成根据该向量处理级中所执行的向量指令来处理向量数据。每个向量处理级包括各向量处理块,这些向量处理块各自被配置成基于正被执行的向量指令来处理向量数据。向量处理块能够基于数据路径配置来为不同类型的向量指令提供不同的向量运算。向量处理块的数据路径是可编程的,以可重新编程来根据正被执行的特定向量指令来不同地处理向量数据。以此方式,VPE可被提供其可编程以根据正被执行的向量指令基于数据路径配置来执行不同类型的功能的数据路径配置。

著录项

  • 公开/公告号CN105027109A

    专利类型发明专利

  • 公开/公告日2015-11-04

    原文格式PDF

  • 申请/专利权人 高通股份有限公司;

    申请/专利号CN201480012332.X

  • 发明设计人 R·汗;

    申请日2014-03-07

  • 分类号G06F15/78;G06F15/80;

  • 代理机构上海专利商标事务所有限公司;

  • 代理人周敏

  • 地址 美国加利福尼亚州

  • 入库时间 2023-12-18 11:47:40

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-03-08

    授权

    授权

  • 2015-12-02

    实质审查的生效 IPC(主分类):G06F15/78 申请日:20140307

    实质审查的生效

  • 2015-11-04

    公开

    公开

说明书

相关申请

本申请涉及2013年3月13日提交的、名为“Vector Processing Engines  Having Programmable Data Path Configurations For Providing Multi-Mode  Radix-2X Butterfly Vector Processing Circuits,And Related Vector Processors, Systems,And Methods(具有用于提供多模基-2X蝶形向量处理电路的可编程数 据路径配置的向量处理引擎及相关向量处理器、系统和方法)”的美国专利申请 S/N.13/798,599(高通编号No.123247),该申请通过引用被整体纳入于此。

本申请还涉及2013年3月13日提交的、名为“Vector Processing Carry-Save  Accumulators Employing Redundant Carry-Save Format To Reduce Carry  Propagation,And Related Vector Processors,Systems,And Methods(采用冗余 进位保留格式来减少进位传播的向量处理进位保留累加器及相关向量处理器、 系统和方法)”的美国专利申请S/N.13/798,618(高通编号No.123248),该申 请通过引用被整体纳入于此。

背景技术

I.II.公开领域

本公开的领域涉及用于处理向量和标量运算的向量处理器和相关系统,包括 单指令多数据(SIMD)处理器和多指令多数据(MIMD)处理器。

II.背景

无线计算系统正迅速成为数字信息领域中最流行的技术之一。技术进步已导 致越来越小且越来越强大的无线通信设备。例如,无线计算设备通常包括小、轻量 且易于由用户携带的便携式无线电话、个人数字助理(PDA)和寻呼设备。更具体 地,便携式无线电话(诸如蜂窝电话和网际协议(IP)电话)可通过无线网络传输 语音和数据分组。此外,许多这样的无线通信设备包括其它类型的设备。例如,无 线电话可包括数码相机、数码摄像机、数字记录器、和/或音频文件播放器。同样, 无线电话可包括可用于接入因特网的web接口。此外,无线通信设备可包括用于 根据所设计的无线通信技术标准(例如,码分多址(CDMA)、宽带CDMA (WCDMA)以及长期演进(LTE))来处理高速无线通信数据的复杂处理资源。 因此,这些无线通信设备包括相当强的计算能力。

随着无线计算设备变得越来越小且越来越强大,它们越来越变得资源受限。 例如,屏幕尺寸、可用存储器和文件系统空间的量以及输入和输出能力的数量可能 受到设备的小尺寸的限制。此外,电池大小、电池提供的电量以及电池的寿命也受 到限制。增加设备的电池寿命的一种方式是设计消耗较少功率的处理器。

就这一点而言,对包括向量处理器的无线通信设备可采用基带处理器。向量 处理器具有提供对向量(即,数组)工作的高级运算的向量体系结构。与对一组数 据执行向量指令然后再次取回和解码向量指令以用于向量内的后续元素相反,向量 处理涉及取回向量指令一次,然后在数据元素的整个数组上执行向量指令多次。这 种过程允许降低执行程序所需的能量,因为每一向量指令需要被取回的次数较少等 等。由于向量指令同时在多个时钟周期上对长向量操作,因此高度并行性可用简单 的按次序向量指令分派来实现。

图1示出了可在计算设备(诸如无线计算机设备)中采用的示例性基带处理 器10。基带处理器10包括多个处理引擎(PE)12,它们各自专用于为特定应用提 供因功能而异的向量处理。在此示例中,在基带处理器10中提供了六(6)个分开 的PE 12(0)-12(5)。PE 12(0)-12(5)各自被配置成为从共享存储器16向PE 12(0)-12(5) 提供的固定X位宽的向量数据14提供向量处理。例如,向量数据14可以是512 位宽。向量数据14可被定义成较小的多个X位宽的向量数据样本集18(0)-18(Y) (例如,16位和32位样本集)。以此方式,PE 12(0)-12(5)能够提供对并行向PE 12(0)-12(5)提供的多个向量数据样本集的向量处理以实现高度并行性。每个PE 12(0)-12(5)可包括用于存储对向量数据14处理的向量指令的结果的向量寄存器文 件(VR)。

图1中的基带处理器10中的每一PE 12(0)-12(5)包括专门设计来高效执行特定 类型的固定运算的特定、专用的电路和硬件。例如,图1中的基带处理器10包括 分开的宽带码分多址(WCDMA)PE 12(0)、12(1)以及长期演进(LTE)PE 12(4)、 12(5),因为WCDMA和LTE涉及不同类型的专门运算。因此,通过提供分开的 WCDMA专有PE 12(0)、12(1)以及LTE专有PE 12(4)、12(5),PE 12(0)、12(1)、 12(4)、12(5)中的每一个可被设计成包括特别针对WCDMA和LTE频繁执行的功 能的专门、专用电路以便进行高效运算。这种设计与标量处理引擎形成对照,标量 处理引擎包括被设计成灵活以支持较大数量的不相关运算但效率较低的更为通用 的电路和硬件。

在基带处理器中提供因功能而异的PE对频繁执行的、专门的运算是有利 的。然而,提供因功能而异的PE可增加基带处理器所需的面积和功率,因为 分开的因功能而异的PE各自包括专门的电路和存储器。

公开概述

本文所公开的实施例包括具有可编程数据路径配置的向量处理引擎(VPE) 以供提供多模向量处理。还公开了相关的向量处理器、系统和方法。本文所公 开的VPE包括至少一个向量处理级,其被配置成根据正被向量处理级所执行的 向量指令来处理向量数据。每个向量处理级包括一个或多个向量处理块,其被 配置成基于正被执行的向量指令来处理向量数据。向量处理块的非限定性示例 是乘法器和累加器。向量处理块能够基于向量处理块的可编程数据路径配置来 在不同模式中为不同类型的指令提供不同的功能。以此方式,VPE可被提供其 可重新编程以根据正被执行的向量指令执行不同类型的功能的数据路径配置。

作为结果,较少的VPE可提供期望的特定技术,由此节省了基带处理器中 的面积而仍保留与标量处理引擎相比较少的寄存器写以及较快的指令执行的 向量处理优点。向量处理块的数据路径配置也可被编程并在VPE中的向量指令 执行期间重新编程以支持VPE中不同模式中的不同专门向量运算的执行。

本文所公开的具有用于多模向量处理的可编程数据路径配置的VPE与仅 包括提供固定功能的固定数据路径配置的VPE是有区别的。本文所公开的具有 用于向量处理的可编程数据路径配置的VPE与标量处理引擎(诸如举例而言在 数字信号处理器(DSP)中提供的那些标量处理引擎)也是有区别的。标量处 理引擎采用灵活、通用的电路和逻辑来执行不同类型的非固定功能,但也在向 量指令执行期间将中间结果写入寄存器文件,从而消耗额外的功率并增加向量 指令执行时间。

就此,在一个实施例中提供了一种VPE。该VPE被配置成提供向量数据 的多模向量处理。该VPE包括输入读级,其被配置成在多个输入数据路径当中 的一输入数据路径中提供向量数组宽度的多个向量数据输入样本集。VPE还包 括至少一个向量处理级,该至少一个向量处理级包括多个向量处理块。该多个 向量处理块当中的每一个向量处理块被配置成从该多个输入数据路径当中的 至少一个输入数据路径接收来自该多个向量数据输入样本集中的至少一个向 量数据输入样本集。该多个向量处理块当中的每一个向量处理块被进一步配置 成根据该至少一个向量处理级所执行的向量指令基于用于每个向量处理块的 可编程数据路径配置来处理该至少一个向量数据输入样本集以提供至少一个 向量结果输出样本集。该多个向量处理块当中的每一个向量处理块被进一步配 置成在多个输出数据路径当中的至少一个输出数据路径中提供该至少一个向 量结果输出样本集。该VPE还包括输出处理级,其被配置成从该多个向量处理 块中的每一个向量处理块接收该至少一个向量结果输出样本集。

在另一实施例中,提供了一种被配置成提供向量数据的多模向量处理的 VPE。该VPE包括输入读级装置,其被配置成在多个输入数据路径当中的一输 入数据路径中提供向量数组宽度的多个向量数据输入样本集。该VPE还包括至 少一个向量处理级装置。该至少一个向量处理级装置包括多个向量处理装置。 该多个向量处理装置当中的每一个向量处理装置被配置成从该多个输入数据 路径当中的至少一个输入数据路径接收来自所述多个向量数据输入样本集中 的至少一个向量数据输入样本集。该多个向量处理装置当中的每一个向量处理 装置被进一步配置成根据该至少一个向量处理级所执行的向量指令基于用于 每个向量处理块的可编程数据路径配置来处理该至少一个向量数据输入样本 集以提供至少一个向量结果输出样本集。该多个向量处理装置当中的每一个向 量处理装置被进一步配置成在多个输出数据路径当中的至少一个输出数据路 径中提供该至少一个向量结果输出样本集。该VPE还包括输出处理装置,其被 配置成从该多个向量处理装置中的每一个向量处理装置接收该至少一个向量 结果输出样本集。

在另一实施例中,提供了一种在向量处理引擎(VPE)中处理向量数据的 方法。该方法包括在输入处理级中在多个输入数据路径当中的一输入数据路径 中提供向量数组宽度的多个向量数据输入样本集。该方法还包括在至少一个向 量处理级中的多个向量处理块中处理该多个向量数据输入样本集。该方法还包 括在该多个向量处理块中的每一个向量处理块中,从该多个输入数据路径当中 的至少一个输入数据路径接收来自该多个向量数据输入样本集中的至少一个 向量数据输入样本集,根据该至少一个向量处理级所执行的向量指令基于用于 每个向量处理块的可编程数据路径配置来处理该至少一个向量数据输入样本 集以提供至少一个向量结果输出样本集。该方法还包括在多个输出数据路径当 中的至少一个输出数据路径中提供该至少一个向量结果输出样本集。该方法还 包括在输出处理级中从该多个向量处理块中的每一个向量处理块接收该至少 一个向量结果输出样本集。

在另一实施例中,提供了一种向量处理器。该向量处理器包括至少一个向 量寄存器,该向量寄存器被配置成从向量数据存储器接收向量数据输入样本 集。该向量处理器还包括至少一个向量结果寄存器,该向量结果寄存器被配置 成存储向量结果输出样本集。该向量处理器还包括至少一个VPE,该至少一个 VPE包括多个向量处理级。该多个向量处理级各自被配置成:接收来自该至少 一个向量寄存器的至少一个向量数据输入样本集,根据每个向量处理级所执行 的向量指令基于用于每个向量处理级的至少一个数据路径配置来将来自该至 少一个向量寄存器的该至少一个向量数据输入样本集处理成至少一个向量结 果输出样本集,以及将该至少一个向量结果输出样本集提供给该至少一个向量 寄存器以被存储在该至少一个向量结果寄存器中。

附图简述:

图1是包括各自专用于为特定应用提供因功能而异的向量处理的多个向量处 理引擎(VPE)的一示例性向量处理器的示意图;

图2是包括具有可编程数据路径配置的通用VPE的一示例性向量处理器的示 意图,使得VPE中提供的通用电路和硬件可被编程为多个模式,以便以高效的方 式为多个应用或技术执行特定类型的向量运算而无需提供分开的VPE;

图3是图2的VPE中提供的示例性向量处理级的示意图,其中向量处理级中 的某些包括具有可编程数据路径配置的示例性向量处理块;

图4A是示出包括在图2和3的示例性向量处理器中的、具有可编程数据路径 配置的至少一个向量处理块的示例性向量处理的流程图;

图4B是示出乘法器块和累加器块的示例性向量处理的流程图,这些块各自具 有可编程数据路径配置并在图2和3的示例性向量处理器中的不同向量处理级中提 供;

图5是图2和3的VPE的向量处理级中提供的多个乘法器块的更详细的示意 图,其中多个乘法器块各自具有可编程数据路径配置,使得多个乘法器块可被编程 为多个模式以执行特定的、不同类型的向量乘法运算;

图6是图5中多个乘法器块当中的一乘法器块的内部组件的示意图,该乘法 器块具有能够被编程以提供8位乘8位向量数据输入样本集和16位乘16位向量数 据输入样本集的乘法运算的可编程数据路径配置;

图7是图2和3的VPE中的乘法器块和累加器块的一般化示意图,其中累加 器块采用进位保留累加器结构,该结构采用冗余进位保留格式来减少进位传播;

图8是图7的累加器块的示例性内部组件的详细示意图,该累加器块在图2 和3的VPE中提供,其中累加器块具有可编程数据路径配置,使得累加器块可被 编程为多个模式以便用冗余进位保留格式执行特定的、不同类型的向量累加运算;

图9A是图8的累加器块的示意图,该累加器块具有被编程用于提供双24位 累加器模式的数据路径配置;

图9B是图8的累加器块的示意图,该累加器块具有被编程用于提供单个40 位累加器模式的数据路径配置;

图9C是图8的累加器块的示意图,该累加器块具有被编程用于提供16位 进位保留加法器继之以单个24位累加器模式的数据路径配置;以及

图10是根据本文所公开的实施例的可包括向量处理器的示例性的基于处 理器的系统的框图,该向量处理器包括具有可编程数据路径配置的VPE,所以 VPE中的通用电路和硬件可被编程以用作被设计成以高效方式为多个应用或 技术执行特定类型的向量运算的专用电路,而无需提供分开的VPE。

详细描述

现在参照附图,描述了本公开的若干示例性实施例。措辞“示例性”在本 文中用于表示“用作示例、实例或解说”。本文中描述为“示例性”的任何实 施例不必被解释为优于或胜过其他实施例。

本文所公开的实施例包括具有用于提供多模向量处理的可编程数据路径 配置的向量处理引擎(VPE)。还公开了相关的向量处理器、系统和方法。本 文所公开的VPE包括至少一个向量处理级,其被配置成根据正被向量处理级执 行的向量指令来处理向量数据。每个向量处理级包括一个或多个向量处理块, 其被配置成基于正被执行的向量指令来处理向量数据。向量处理块的非限定性 示例是乘法器和累加器。向量处理块能够基于向量处理块的数据路径配置来在 不同模式中为不同类型的指令提供不同的向量运算。向量处理块的数据路径配 置是可编程的并且可重新编程(即,重新布线)以根据正被执行的特定向量指 令在不同模式中不同地处理向量数据以提供专门向量运算操作。

以此方式,VPE可被提供其可重新编程以根据正被执行的向量指令执行不 同类型的向量运算的数据路径配置。作为结果,较少的VPE可在一向量处理器 中提供期望的向量处理运算,由此节省了向量处理器中的面积而仍保留与标量 处理引擎相比较少的寄存器写以及较快的向量指令执行时间的向量处理优点。 向量处理块的数据路径配置也可被编程并在VPE中的向量指令执行期间重新 编程以支持VPE中不同模式中的不同专门向量运算的执行。

本文所公开的具有用于多模向量处理的可编程数据路径配置的VPE与仅 包括提供固定功能的固定数据路径配置的VPE是有区别的。本文所公开的具有 用于向量处理的可编程数据路径配置的VPE与标量处理引擎(诸如举例而言在 数字信号处理器(DSP)中提供的那些标量处理引擎)也是有区别的。标量处 理引擎采用灵活、通用的电路和逻辑来执行不同类型的非固定功能,但也在向 量指令执行期间将中间结果写入寄存器文件,从而消耗额外的功率并增加向量 指令执行时间。

就这一点而言,图2是包括示例性向量处理单元22(也被称为向量处理引擎 (VPE)22)的基带处理器20的示意图。基带处理器20及其VPE 22可在半导体 管芯24中提供。在这一实施例中,如以下从图3开始更详细描述地,基带处理器 20包括具有可编程数据路径配置的通用VPE 22。以此方式,VPE 22包括可被编程 并被重新编程以便在不同运算模式中提供不同、特定类型的向量运算的通用电路和 硬件,而无需在基带处理器20中提供分开的VPE。VPE 22还可被编程为向量算术 模式,用于以高效方式为多个应用或技术执行一般的算术运算,而无需在基带处理 器20中提供分开的VPE。

在从图3开始的讨论VPE 22中提供的、用于向量多模处理的可编程数据路径 配置之前,首先描述图2中的基带处理器20的组件。在此非限定性示例中的基带 处理器20是512位向量处理器。基带处理器20包括除VPE 22之外的附加组件, 以支持VPE 22在基带处理器20中提供向量处理。基带处理器20包括向量寄存器 28,该向量寄存器28被配置成从向量单元数据存储器(LMEM)32接收并存储向 量数据30。例如,向量数据30是X位宽,其中‘X’是根据设计选择来定义的(例 如,512位)。向量数据30可被划分成向量数据样本集34。例如,向量数据30 可以是256位宽,且可包括更小的向量数据样本集34(Y)-34(0),其中向量数据样 本集34(Y)-34(0)中的一些是16位宽,而向量数据样本集34(Y)-34(0)中的另一些是 32位宽。VPE 22能够对向VPE 22并行提供的某些所选乘法向量数据样本集 34(Y)-34(0)提供向量处理以实现高度并行性。向量寄存器28还被配置成存储在 VPE 22处理向量数据30时生成的结果。在某些实施例中,VPE 22被配置成不在 向量寄存器28中存储中间向量处理结果,以减少寄存器写以便提供更快速的向量 指令执行时间。这种配置与标量处理引擎执行的标量指令相反,标量处理引擎在寄 存器中存储中间结果,诸如标量处理DSP。

图2中的基带处理器20还包括条件寄存器36,该条件寄存器36被配置成向 VPE 22提供条件以供在向量指令的有条件执行中使用,并存储作为向量指令执行 的结果的更新后的条件。基带处理器20还包括累加寄存器38、全局寄存器40和 地址寄存器42。累加寄存器38被配置成被VPE 22用来存储作为对向量数据30执 行某些专门运算的结果的累加的结果。全局寄存器40被配置成为VPE 22支持的 某些向量指令存储标量操作数。地址寄存器42被配置成存储可由向量加载寻址的 地址以及存储VPE 22支持的指令以从向量单元数据存储器32检索向量数据30和 在向量单元数据存储器32中存储向量处理结果。

继续参考图2,这一实施例中的基带处理器20还包括标量处理器44(也被称 为“整数单元”),以便除了VPE 22提供的向量处理以外在基带处理器20中提 供标量处理。可能期望提供被配置成基于所执行的指令的类型支持向量和标量指令 运算两者以便进行高效运算的CPU。在这一实施例中,作为非限定性示例,标量 处理器44是32位精简指令集计算(RISC)标量处理器。在这一示例中,标量处 理器44包括用于支持标量指令处理的算术逻辑单元(ALU)46。基带处理器20 包括指令分派电路48,该电路被配置成从程序存储器50取回指令、对所取回的指 令解码并基于指令类型将所取回的指令或者定向到标量处理器44或者通过向量数 据路径49定向到VPE 22。标量处理器44包括通用寄存器52,供标量处理器44 执行标量指令时使用。整数单元数据存储器(DMEM)54被包括在基带处理器20 中,以便将来自主存储器的数据提供到通用寄存器52中,供标量处理器44存取用 于标量指令执行。作为非限定性示例,DMEM 54可以是高速缓存存储器。基带处 理器20还包括存储器控制器56,该存储器控制器56包括存储器控制器寄存器58, 该存储器控制器寄存器58被配置成当标量处理器44正在执行要求通过存储器控制 器数据路径59访问主存储器的向量指令时从通用寄存器52接收存储器地址。

由于已经描述了图2中基带处理器20的示例性组件,现在将讨论关于VPE 22及其通过通用电路和硬件提供多个运算模式的可编程数据路径配置的更多 细节。就这一点而言,图3示出了图2中的VPE 22的示例性示意图。如图3中所 示并将在以下在图4-8C中更详细描述地,VPE 22包括多个示例性向量处理级60, 这些向量处理级60具有可用可编程数据路径配置来配置的示例性向量处理块。如 将在以下更详细讨论地,在向量处理块中提供的可编程数据路径配置允许特定电路 和硬件被编程和重新编程以支持对从图2中的向量单元数据存储器32接收到的向 量数据30执行不同的、特定的向量处理运算。例如,某些向量处理运算可共同要 求向量数据30的乘法,继之以相乘后的向量数据结果的累加。这样的向量处理的 非限定性示例包括过滤运算、相关运算以及通常用于为无线通信算法执行快速傅立 叶变换(FFT)运算的根-2和根-4蝶形运算,其中提供了一系列并行乘法,继之以 对乘法结果的一系列并行累加。如也将在以下参考图7-9C讨论地,图2中的VPE 22还具有将乘法器与进位保留累加器熔合以在进位保留累加器中提供冗余进位保 留格式的选项。在进位保留累加器中提供冗余进位保留格式可消除对在累加的每一 步期间提供进位传播路径和进位传播加法运算的需求。

就这一点,并进一步参考图3,将首先描述VPE 22的M0乘法向量处理级 60(1)。M0乘法向量处理级60(1)是第二向量处理级,它包含任何所需数量的乘法 器块62(A)-62(0)形式的多个向量处理块,这些块各自具有可编程数据路径配置。 提供乘法器块62(A)-62(0)来执行VPE 22中的向量乘法运算。多个乘法器块 62(A)-62(0)在M0乘法向量处理级60(1)中彼此并行安置,用于提供至多十二(12) 个乘法向量数据样本集34(Y)-34(0)的乘法。在这一实施例中,‘A’等于三(3), 意味着在这一示例中,在M0乘法向量处理级60(1)中包括四(4)个乘法器块 62(3)-62(0)。乘法向量数据样本集34(Y)-34(0)被加载到VPE 22中以便向量处理至 输入读(RR)向量处理级中提供的多个锁存器64(Y)-64(0),输入读向量处理级是 VPE 22中的第一向量处理级60(0)。在这一实施例中,在VPE 22中有十二(12) 个锁存器64(11)-64(0),意味着在这一实施例中‘Y’等于十一(11)。锁存器 64(11)-64(0)被配置成将检索自向量寄存器28(见图2)的乘法向量数据样本集 34(11)-34(0)锁存为向量数据输入样本集66(11)-66(0)。在这一示例中,每一锁存器 64(11)-64(0)是8位宽的。锁存器64(11)-64(0)各自分别被配置成对总共96位宽的 向量数据30(即,12个锁存器x各自8位)锁存乘法向量数据输入样本集 66(11)-66(0)。

继续参考图3,多个乘法器块62(3)-62(0)被配置成能够接收向量数据输入样本 集66(11)-66(0)的某些组合用于提供向量乘法运算,其中在这一示例中‘Y’等于 十一(11)。根据VPE 22的设计,在多个输入数据路径A3-A0、B3-B0以及C3-C0 中提供乘法向量数据输入样本集66(11)-66(0)。如图3中所示,向量数据输入样本 集66(3)-66(0)对应于输入数据路径C3-C0。如图3中所示,向量数据输入样本集 66(7)-66(4)对应于输入数据路径B3-B0。如图3中所示,向量数据输入样本集 66(11)-66(8)对应于输入数据路径A3-A0。多个乘法器块62(3)-62(0)被配置成分别 根据向多个乘法器块62(3)-62(0)提供的输入数据路径A3-A0、B3-B0、C3-C0来处 理接收到的向量数据输入样本集66(11)-66(0),以提供向量乘法运算。

如以下将参考图4和5更详细讨论地,在图3中的乘法器块62(3)-62(0)中提 供的可编程内部数据路径67(3)-67(0)可被编程来具有不同的数据路径配置。这些不 同的数据路径配置根据向每个乘法器块62(3)-62(0)提供的具体输入数据路径 A3-A0、B3-B0、C3-C0对向乘法器块62(3)-62(0)提供的具体接收到的向量数据输 入样本集66(11)-66(0)提供乘法的不同的组合和/或不同位长度。就这一点而言,多 个乘法器块62(3)-62(0)合起来提供向量乘法输出样本集68(3)-68(0)作为包括将向 量数据输入样本集66(11)-66(0)的具体组合相乘的乘法结果的向量结果输出样本 集。

例如,乘法器块62(3)-62(0)的可编程内部数据路径67(3)-67(0)可根据从图2 中的基带处理器20的指令分派48中的向量指令解码器提供的设置来被编程。在这 一实施例中,存在乘法器块62(3)-62(0)的四(4)个可编程内部数据路径67(3)-67(0)。 向量指令指定要由VPE 22执行的运算的特定类型。因此,VPE 22可被编程和重新 编程来配置乘法器块62(3)-62(0)的可编程内部数据路径67(3)-67(0),以便以高效方 式采用同一通用电路来提供不同类型的向量乘法运算。例如,根据指令分派48中 指令流水线中的向量指令的解码,VPE 22可被编程来为所执行的每个向量指令在 逐个时钟周期的基础上配置和重新配置乘法器块62(3)-62(0)的可编程内部数据路 径67(3)-67(0)。因此,如果VPE 22中的M0乘法向量处理级60(1)被配置成每个时 钟周期处理向量数据输入样本集66,则乘法器块62(3)-62(0)根据指令分派48中的 指令流水线中的向量指令的解码在每个时钟周期上执行向量乘法运算。

乘法器块62可被编程来执行实数和复数乘法。继续参考图3,在一个向量处 理块数据路径配置中,乘法器块62可被配置成使两个8位向量数据输入样本集66 相乘。在一个乘法块数据路径配置中,乘法器块62可被配置成使两个16位向量数 据输入样本集66相乘,这些16位向量数据输入样本集是由第一对8位向量数据输 入样本集66乘以第二对8位向量数据输入样本集66来形成的。这在图6中示出并 在以下更详细讨论。再一次,在乘法器块62(3)-62(0)中提供可编程数据路径配置提 供了乘法器块62(3)-62(0)可被配置和重新配置来执行不同类型的乘法运算以减少 VPE 22中的面积以及有可能允许在基带处理器20中提供较少的VPE 22以实现所 需向量处理运算的灵活性。

回过来参考图3,多个乘法器块62(3)-62(0)被配置成在可编程输出数据路径 70(3)-70(0)中或者向下一向量处理级60或者向输出处理级提供向量乘法输出样本 集68(3)-68(0)。根据基于多个乘法器块62(3)-62(0)正在执行的向量指令的被编程的 配置,在可编程输出数据路径70(3)-70(0)中提供向量乘法输出样本集68(3)-68(0)。 在这一示例中,如下所讨论地,可编程输出数据路径70(3)-70(0)中的向量乘法输出 样本集68(3)-68(0)被提供给M1累加向量处理级60(2)供累加。在VPE 22的这一特 定设计中,期望提供多个乘法器块62(3)-62(0),继之以累加器,以支持要求向量数 据输入的乘法继之以相乘结果的累加的专门的向量指令。例如,通常用于提供FFT 运算的根-2和根-4蝶形运算包括一系列乘法运算,继之以乘法结果的累加。然而, 注意到VPE 22中提供的向量处理块的这些组合是示例性的而非限制性的。具有可 编程数据路径配置的VPE可被配置成包括具有向量处理块的一个或任何其它数目 的向量处理级。向量处理块可被提供以根据被设计成由VPE支持的设计和特定向 量指令来执行任何类型的运算。

继续参考图3,在这一实施例中,向量乘法输出样本集68(3)-68(0)被提供给在 下一向量处理级(即M1累加向量处理级60(2))中提供的多个累加器块72(3)-72(0)。 多个累加器块72(A)-72(0)当中的每个累加器块包含两个累加器72(X)(1)和72(X)(0) (即72(3)(1)、72(3)(0)、72(2)(1)、72(2)(0)、72(1)(1)、72(1)(0)以及72(0)(1)、72(0)(0))。 多个累加器块72(3)-72(0)累加向量乘法输出样本集68(3)-68(0)的结果。如将在以下 参考图7-9C更详细讨论地,多个累加器块72(3)-72(0)可作为进位保留累加器提供, 其中进位结果在累加过程期间实际上被保留而不被传播,直到累加运算完成。多个 累加器块72(3)-72(0)还具有与图4和5中的多个乘法器块62(3)-62(0)熔合以在多个 累加器块72(3)-72(0)中提供冗余进位保留格式的选项。在多个累加器块72(3)-72(0) 中提供冗余进位保留格式可消除在多个累加器块72(3)-72(0)的累加的每一步期间 提供进位传播路径和进位传播相加运算的需求。现在将参考图3介绍M1累加向量 处理级60(2)及其多个累加器块72(3)-72(0)。

参考图3,M1累加向量处理级60(2)中的多个累加器块72(3)-72(0)被配置成根 据可编程输出数据路径配置在可编程输出数据路径74(3)-74(0)(即74(3)(1)、 74(3)(0)、74(2)(1)、74(2)(0)、74(1)(1)、74(1)(0)以及74(0)(1)、74(0)(0))中累加向 量乘法输出样本集68(3)-68(0),以或者在下一向量处理级60中或者在输出处理级 中提供累加器输出样本集76(3)-76(0)(即76(3)(1)、76(3)(0)、76(2)(1)、76(2)(0)、 76(1)(1)、76(1)(0)以及76(0)(1),76(0)(0))。在这一示例中,累加器输出样本集 76(3)-76(0)被提供给输出处理级,后者是ALU处理级60(3)。例如,如以下更详细 讨论地,作为非限定性示例,累加器输出样本集76(3)-76(0)还可被提供给图2中的 基带处理器20中的标量处理器44中的ALU 46。例如,ALU 46可根据VPE 22执 行的专门的向量指令取得累加器输出样本集76(3)-76(0)以便在更一般的处理运算 中使用。

回来参考图3,累加器块72(3)-72(0)的可编程输入数据路径78(3)-78(0)和/或可 编程内部数据路径80(3)-80(0)可被编程来被重新配置成接收从乘法器块62(3)-62(0) 向累加器块72(3)-72(0)提供的向量乘法输出样本集68(3)-68(0)的不同组合和/或位 长度。因为每个累加器块72由两个累加器72(X)(1)、72(X)(0)构成,所以可编程输 入数据路径78(A)-78(0)在图3中被示为78(3)(1)、78(3)(0)、78(2)(1)、78(2)(0)、 78(1)(1)、78(1)(0)以及78(0)(1)、78(0)(0)。类似地,可编程内部数据路径80(3)-80(A) 在图3中被示为80(3)(1)、80(3)(0)、80(2)(1)、80(2)(0)、80(1)(1)、80(1)(0)、80(0)(1)、 80(0)(0)。以下参考图8-9C更详细讨论在累加器块72(3)-72(0)中提供可编程输入数 据路径78(3)-78(0)和/或可编程内部数据路径80(3)-80(0)。以此方式,根据累加器 块72(3)-72(0)的可编程输入数据路径78(3)-78(0)和/或可编程内部数据路径 80(3)-80(0),累加器块72(3)-72(0)可根据所累加的向量乘法输出样本集68(3)-68(0) 的编程组合来提供累加器输出样本集76(3)-76(0)。再一次,这提供了累加器块 72(3)-72(0)可基于可编程输入数据路径78(3)-78(0)和/或可编程内部数据路径 80(3)-80(0)的编程被配置并被重新配置成执行不同类型的累加运算,以减少VPE 22中的面积并有可能允许在基带处理器20中提供较少的VPE 22以实现所需的向 量处理运算的灵活性。

例如,作为非限定性示例,在一个累加器模式配置中,两个累加器块72的可 编程输入数据路径78和/或可编程内部数据路径80可被编程以提供单个40位累加 器。这在图9A中示出并在以下更详细讨论。作为非限定性示例,在另一个累加器 模式配置中,两个累加器块72的可编程输入数据路径78和/或可编程内部数据路 径80可被编程以提供双24位累加器。这在图9B中示出并在以下更详细讨论。在 另一个累加器模式配置中,两个累加器块72的可编程输入数据路径78和/或可编 程内部数据路径80可被编程以提供16位进位保留加法器继之以单个24位累加器。 这在图9C中示出并在以下更详细讨论。特定地,乘法和累加运算的不同组合还可 根据乘法器块62(3)-62(0)和累加器块72(3)-72(0)的编程(例如,16位复数乘法与 16位累加、以及32位复数乘法与16位累加)被VPE 22支持。

累加器块72(3)-72(0)的可编程输入数据路径78(3)-78(0)和/或可编程内部数据 路径80(3)-80(0)可根据从图2中的基带处理器20的指令分派48中的向量指令解码 器提供的设置来被编程。向量指令指定要由VPE 22执行的特定类型的运算。因此, VPE 22可被配置成为根据指令分派48中的指令流水线中的向量指令的解码而执行 的每个向量指令,对累加器块72(3)-72(0)的可编程输入数据路径78(3)-78(0)和/或 可编程内部数据路径80(3)-80(0)重新编程。向量指令可在VPE 22的一个或多个时 钟周期上执行。还在这一示例中,VPE 22可被配置成在逐个时钟周期的基础上, 为向量指令的每个时钟周期对累加器块72(3)-72(0)的可编程输入数据路径 78(3)-78(0)和/或可编程内部数据路径80(3)-80(0)重新编程。因此,例如,如果VPE 22中的M1累加向量处理级60(2)执行的向量指令每个时钟周期处理向量乘法输出 样本集68(3)-68(0),则作为结果,累加器块72(3)-72(0)的可编程输入数据路径 78(3)-78(0)和/或可编程内部数据路径80(3)-80(0)可在向量指令的执行期间的每个 时钟周期被重新配置。图4A和4B是示出图2和3中的VPE 22中的乘法器块 62(A)-62(0)和累加器块72(A)(1)-72(0)(0)的示例性向量处理的流程图,以提供对示 例性向量处理的更多阐述。图4A是示出一般向量处理块的示例性向量处理的流程 图,该一般向量处理块可以是包括在图2和3的示例性VPE中的具有可编程数据 路径配置的乘法器块62(A)-62(0)、累加器块72(A)(1)-72(0)(0)或两者。图4B是示 出乘法器块62(A)-62(0)和累加器块72(A)(1)-72(0)(0)的示例性向量处理的流程图, 这些块各自具有可编程数据路径配置并在图2和3的示例性VPE 22中的不同向量 处理级中提供。

就这一点而言,如图4A中所示,VPE 22的处理包括在输入处理级60(0)中在 多个输入数据路径(A3-C0)当中的一输入数据路径中接收向量数组宽度的多个向量 数据输入样本集34(Y)-34(0)(框81)。向量处理接下来包括在向量处理块62(A)-62(0) 和/或72(A)(1)-72(0)(0)中从多个输入数据路径A3-C0接收向量数据输入样本集 34(Y)-34(0)(框83)。向量处理接下来包括根据向量处理级60(1)、60(2)所执行的 向量指令,基于向量处理块62(A)-62(0)、72(A)(1)-72(0)(0)的可编程数据路径配置 67(A)-67(0)、70(3)-70(0)、78(A)(1)-78(0)(0)、80(A)(1)-80(0)(0)、74(A)(1)-74(0)(0) 处理向量数据输入样本集34(Y)-34(0)以提供向量结果输出样本集68(A)-68(0)、 76(A)(1)-76(0)(0)(框85)。向量处理接下来包括在输出数据路径70(A)-70(0)、 74(A)(1)-74(0)(0)中提供向量结果输出样本集68(A)-68(0)、76(A)(1)-76(0)(0)(框 87)。向量处理接下来包括在输出处理级60(3)中从向量处理级60(1)、60(2)接收向 量结果输出样本集68(A)-68(0)、76(A)(1)-76(60)(0)(框89)。

注意到,以上参考图4A描述的向量处理中的每个处理级60(0)-60(3)并发地 进行并行向量处理,其中向量处理块62(A)-62(0)、72(A)(1)-72(0)(0)的可编程数据 路径配置67(A)-67(0)、70(3)-70(0)、78(A)(1)-78(0)(0)、80(A)(1)-80(0)(0)、 74(A)(1)-74(0)(0)可频繁地每个时钟周期就被重新编程。如以上所讨论的,这允许 向量处理块62(A)-62(0)、72(A)(1)-72(0)(0)通过使用通用的向量处理块62(A)-62(0)、 72(A)(1)-72(0)(0)为不同的向量指令高效执行不同运算。

图4B是示出图3中的VPE 22中的乘法器块62(A)-62(0)和累加器块 72(A)(1)-72(0)(0)用于涉及乘法运算继之以累加运算的向量指令的示例性向量处理 的流程图。例如,FFT向量运算涉及乘法运算,继之以累加运算。图4B的流程图 提供以上在图4A中描述的VPE 22的示例性一般向量处理的进一步的示例性细节。 就这一点而言,向量处理涉及在输入处理级60(0)中在多个输入数据路径A3-C0当 中的一输入数据路径中接收向量数组宽度的多个向量数据输入样本集34(Y)-34(0) (框93)。向量处理接下来包括在多个乘法器块62(A)-62(0)中从多个输入数据路 径A3-C0接收向量数据输入样本集34(Y)-34(0)(框95)。向量处理接下来包括根 据向量处理级60(1)所执行的向量指令,基于乘法器块62(A)-62(0)的可编程数据路 径配置67(A)-67(0)、70(3)-70(0),使向量数据输入样本集34(Y)-34(0)相乘,以在多 个乘法输出数据路径70(A)-70(0)当中的乘法输出数据路径70(A)-70(0)中提供乘法 向量结果输出样本集68(A)-68(0)(框97)。向量处理接下来包括在多个累加器块 72(A)(1)-72(0)(0)中从多个乘法输出数据路径70(A)-70(0)接收乘法向量结果输出样 本集68(A)-68(0)(框99)。向量处理接下来包括根据第二向量处理级60(2)执行的 向量指令,基于累加器块72(A)(1)-72(0)(0)的可编程数据路径78(A)(1)-78(0)(0)、 80(A)(1)-80(0)(0)、74(A)(1)-74(0)(0)配置,将乘法向量结果输出样本集68(A)-68(0) 累加在一起以提供向量累加的结果样本集76(A)(1)-76(0)(0)(框101)。向量处理 接下来包括在输出数据路径74(A)(1)-74(0)(0)中提供向量累加的结果样本集 76(A)(1)-76(0)(0)(框103)。向量处理接下来包括在输出处理级60(3)中从累加器 块72(A)(1)-72(0)(0)接收向量结果输出样本集76(A)(1)-76(0)(0)(框105)。

由于描述了图3的示例性VPE 22以及图4A和4B中采用具有可编程数据路 径配置的向量处理块的向量处理的概览,描述的其余部分在图5-9C中描述这些向 量处理块的更多示例性、非限定性细节。

就这一点而言,图5是对图3的VPE 22的M0乘法向量处理级60(1)中的多 个乘法器块62(3)-62(0)的更详细示意图。图6是图5中的乘法器块62的内部组件 的示意图。如图5中所示,示出了乘法器块62(3)-62(0)根据具体的输入数据路径 A3-A0、B3-B0、C3-C0接收的向量数据输入样本集66(11)-66(0)。如将在以下参考 图6更详细讨论地,在这一示例中,乘法器块62(3)-62(0)中的每一个包括四(4) 个8位乘8位乘法器。回来参考图5,在这一示例中乘法器块62(3)-62(0)中的每一 个被配置成使被乘数输入‘A’或者与被乘数输入‘B’或者与被乘数输入‘C’ 相乘。如图5中所示,可在乘法器块中一起相乘的被乘数输入‘A’以及‘B’或 ‘C’受到哪个输入数据路径A3-A0、B3-B0、C3-C0被连接到乘法器块62(3)-62(0) 的控制。被乘数选择器输入82(3)-82(0)被提供作为对每个乘法器块62(3)-62(0)的 输入,以控制每个乘法器块62(3)-62(0)中的可编程内部数据路径67(3)-67(0)来选择 是被乘数输入‘B’还是被乘数输入‘C’被选择来乘以被乘数输入‘A’。以此 方式,向乘法器块62(3)-62(0)提供了其可编程内部数据路径67(3)-67(0)可被重新编 程以按需提供不同的乘法运算的能力。

继续参考图5,使用乘法器块62(3)作为示例,输入数据路径A3和A2被分别 连接到输入AH和AL。输入AH表示被乘数输入A的高位,而AL意味着输入的 被乘数输入‘A’的低位。输入数据路径B3和B2被分别连接至输入BH和BL。输 入BH表示被乘数输入‘B’的高位,而AL表示输入的被乘数输入‘B’的低位。输 入数据路径C3和C2被分别连接至输入CI和CQ。在这一示例中,输入CI表示输 入的被乘数输入‘C’的实数位部分。在这一示例中,CQ表示输入的被乘数输入 ‘C’的虚数位部分。如将在以下参考图6更详细讨论地,在这一示例中,被乘数 选择器输入82(3)还控制乘法器块62(3)的可编程内部数据路径67(3)被配置成是对 被乘数输入‘A’与被乘数输入‘B’还是与被乘数输入‘C’来执行8位乘法, 或者乘法器块62(3)被配置成是对被乘数输入‘A’与被乘数输入‘B’还是与被乘 数输入‘C’来执行16位乘法。

继续参考图5,乘法器块62(3)-62(0)被配置成基于其可编程内部数据路径 67(3)-67(0)的配置,各自生成向量乘法输出样本集68(3)-68(0)作为乘法运算的进位 ‘C’与和‘S’向量输出样本集。如将在以下参考图7-9C更详细讨论地,向量乘 法输出样本集68(3)-68(0)的进位‘C’与和‘S’被熔合,意味着进位‘C’与和‘S’ 以冗余进位保留的格式向多个累加器72(3)-72(0)提供,以在多个累加器72(3)-72(0) 中提供冗余进位保留格式。如将在以下更详细讨论的,在多个累加器块72(3)-72(0) 中提供冗余进位保留格式可消除在多个累加器块72(3)-72(0)执行的累加运算期间 提供进位传播路径和进位传播相加运算的需求。

在图5中示出乘法器块62(3)-62(0)基于其可编程内部数据路径67(3)-67(0)的配 置,生成向量乘法输出样本集68(3)-68(0)作为乘法运算的进位‘C’与和‘S’向 量输出样本集的示例。例如,乘法器块62(3)被配置成对于8位乘法生成作为32位 值的进位C00与和S00,并对于16位乘法生成作为64位值的进位C01与和S01。 在这一示例中,其它乘法器块62(2)-62(0)具有相同的能力。就这一点而言,乘法器 块62(2)被配置成对于8位乘法生成作为32位值的进位C10与和S10,并对于16 位乘法生成作为64位值的进位C11与和S11。乘法器块62(1)被配置成对于8位乘 法生成作为32位值的进位C20与和S20,并对于16位乘法生成作为64位值的进 位C21与和S21。例如,乘法器块62(0)被配置成对于8位乘法生成作为32位值的 进位C30与和S30,并对于16位乘法生成作为64位值的进位C31与和S31。

为了说明图5中乘法器块62中提供的可编程数据路径配置的更多示例性细 节,提供了图6。图6是图3和4中乘法器块62的内部组件的示意图,乘法器块 62具有能够使8位乘8位向量数据输入样本集66相乘以及使16位乘16位向量数 据输入样本集16相乘的可编程数据路径配置。就这一点而言,在这一示例中,乘 法器块62包括四个8x8位乘法器84(3)-84(0)。可提供任何所需数量的乘法器84。 第一乘法器84(3)被配置成接收8位向量数据输入样本集66A[H](这是输入的被乘 数输入‘A’的高位)并使向量数据输入样本集66A[H]或者与8位向量数据输入 样本集66B[H](这是输入的被乘数输入‘B’的高位)或者与8位向量数据输入样 本集66C[I](这是输入的被乘数输入‘C’的高位)相乘。提供了多路复用器86(3), 该多路复用器86(3)被配置成或者选择8位向量数据输入样本集66B[H]或者选择8 位向量数据输入样本集66C[I]作为被乘数提供给乘法器84(3)。多路复用器86(3) 受被乘数选择器(SEL)位输入82[3]控制,被乘数选择器位输入82[3]在这一实施 例中是被乘数选择器输入82中的高位。以此方式,多路复用器86(3)和被乘数选择 器位输入82[3]为乘法器84(3)提供可编程内部数据路径67[0],以便控制是8位向 量数据输入样本集66B[H]还是8位向量数据输入样本集66C[I]与所接收到的向量 数据输入样本集66A[H]相乘。

继续参考图6,其它乘法器84(2)-84(0)还包括与为第一乘法器84(3)提供的类 似的可编程内部数据路径67[2]-67[0]。乘法器84(2)包括可编程内部数据路径67[2], 该路径具有可编程配置以在可编程内部数据路径67[1]中或者提供8位向量数据输 入样本集66B[H]或者提供8位向量数据输入样本集66C[I]来与8位向量数据输入 样本集66A[L]相乘,8位向量数据输入样本集66A[L]是被乘数输入‘A’的低位。 在这一实施例中,该选择根据被乘数选择器输入82中的被乘数选择器位输入82[2] 受到多路复用器86(2)的控制。乘法器84(1)包括可编程内部数据路径67[1],该路 径可被编程以在可编程内部数据路径67[1]中或者提供8位向量数据输入样本集 66B[L](这是被乘数输入‘B’的低位)或者提供8位向量数据输入样本集66C[Q] (这是被乘数输入‘C’的低位)来与8位向量数据输入样本集66A[H]相乘。在这 一实施例中,该选择根据被乘数选择器输入82中的被乘数选择器位输入82[1]受到 多路复用器86(1)的控制。此外,乘法器84(0)包括可编程内部数据路径67[0],该 路径可被编程以在可编程内部数据路径67[0]中或者提供8位向量数据输入样本集 66B[L]或者提供8位向量数据输入样本集66C[Q]来与8位向量数据输入样本集 66A[L]相乘。在这一实施例中,该选择根据被乘数选择器输入82中的被乘数选择 器位输入82[0]受到多路复用器86(0)的控制。

继续参考图6,如上所述,乘法器84(3)-84(0)可被配置成执行不同的位长度乘 法运算。就这一点而言,每个乘法器84(3)-84(0)分别包括位长度乘法模式(mode) 输入88(3)-88(0)。在这一示例中,每个乘法器84(3)-84(0)可根据分别控制可编程数 据路径90(3)-90(0)、91和92(3)-92(0)的配置的输入来编程为8位乘8位模式。每 个乘法器84(3)-84(0)还可根据分别控制可编程数据路径90(3)-90(0)、91和 92(3)-92(0)的配置的输入来被编程以提供较大位乘法运算(包括16位乘16位模式 以及24位乘8位模式)的一部分。例如,如果每个乘法器84(3)-84(0)根据可编程 数据路径90(3)-90(0)的配置被配置成8位乘8位乘法模式,则这多个乘法器 84(3)-84(0)作为一单元可被配置成包括两(2)个独立的8位乘8位乘法器作为乘 法器块62的一部分。如果每个乘法器84(3)-84(0)根据可编程数据路径91的配置被 配置成16位乘16位乘法模式,则这多个乘法器84(3)-84(0)作为一单元可被配置成 包括单个16位乘16位乘法器作为乘法器块62的一部分。如果乘法器84(3)-84(0) 根据可编程数据路径92(3)-92(0)的配置被配置成24位乘8位乘法模式,则这多个 乘法器84(3)-84(0)作为一单元可被配置成包括一(1)个16位乘24位乘8位乘法 器作为乘法器块62的一部分。

继续参考图6,在这一示例中,乘法器84(3)-84(0)被示为被配置成16位乘16 位乘法模式。由每个乘法器84(3)、84(2)分别生成十六(16)位输入和94(3)、94(2) 以及输入进位96(3)、96(2)。由每个乘法器84(1)、84(0)分别生成十六(16)位输 入和94(1)、94(0)以及输入进位96(1)、96(0)。16位输入和94(3)、94(2)以及输入进 位96(3)、96(2)还与16位输入和94(1)、94(0)以及输入进位96(1)、96(0)一起被提 供给24位4:2压缩器109,以将输入和94(3)-94(0)以及输入进位96(3)-96(0)一起相 加。当可编程数据路径91活跃并用输入和94(3)-94(0)以及输入进位96(3)-96(0)选 通时,被相加的输入和94(3)-94(0)以及输入进位96(3)-96(0)提供16位乘16位乘法 模式中的单个和98和单个进位100。可编程数据路径91被第一基于AND(与) 的门102(3)用作为16位字的组合的输入和94(3)、94(2)选通,并由第二基于AND 的门102(2)用作为16位字的组合的输入进位96(3)、96(2)选通,以提供给24位4:2 压缩器109。可编程数据路径91还被第三基于AND的门102(1)用作为16位字的 组合的输入和94(1)、94(0)选通,并由第四基于AND的门102(0)用作为16位字的 组合的输入进位96(1)、96(0)选通,以提供给24位4:0压缩器109。如果乘法器块 62被配置成16位乘16位或24位乘8位乘法模式,则向可编程输出数据路径70[0] 提供向量乘法输出样本集68[0]作为压缩的32位和S0与32位进位C0部分乘积。

如果乘法器块62中的乘法器84(3)-84(0)被配置成8位乘8位乘法模式,则可 编程输出数据路径70[1]配置被提供为16位输入和94(3)-94(0)与相应的16位输入 进位96(3)-96(0)作为部分乘积而没有压缩。如果乘法器块62中的乘法器84(3)-84(0) 被配置成8位乘8位乘法模式,则可编程输出数据路径70[1]被提供为16位输入和 94(3)-94(0)与相应的16位输入进位96(3)-96(0)作为向量乘法输出样本集68[1]而没 有压缩。取决于乘法器块62的乘法模式,根据正在执行的向量指令,向量乘法输 出样本集68[0]、68[1]被提供给累加器块72(3)-72(0)供对和与进位乘积的累加。

由于描述了图4和5中具有可编程数据路径配置的乘法器块62(3)-62(0),现 在将参考图7一般描述VPE 22中要与以冗余进位保留格式配置的累加器块 72(3)-72(0)熔合的乘法器块62(3)-62(0)的特征。

就这一点而言,图7是图2和3的VPE中的乘法器块和累加器块的一般化示 意图,其中累加器块采用进位保留累加器结构,该结构采用冗余进位保留格式来减 少进位传播。如上所述并如图7中所示,乘法器块62被配置成使被乘数输入66[H] 和66[L]相乘,并在可编程输出数据路径70中提供至少一个输入和94与至少一个 输入进位96作为向量乘法输出样本集68。为了消除为每个累加步骤在累加器块72 中提供进位传播路径和进位传播加法器的需求,可编程输出数据路径70中的向量 乘法输出样本集68中的至少一个输入和94与至少一个输入进位96以冗余进位保 留格式熔合到至少一个累加器块72。换言之,向量乘法输出样本集68中的进位96 以进位保留格式作为向量输入进位96被提供给累加器块72。以此方式,向量乘法 输出样本集68中的输入和94和输入进位96可被提供给累加器块72的压缩器108, 该压缩器108在这一实施例中为复杂门4:2压缩器。压缩器108被配置成将输入和 94和输入进位96分别与之前的累加向量输出和112和之前的移位累加向量输出进 位117累加在一起。之前的移位累加向量输出进位117实际上是在累加运算期间所 保留的进位累加。

以此方式,在累加器块72中不需要提供仅单个的、最终进位传播加法器来向 输入和94传播所接收到的输入进位96作为累加器块72生成的累加的一部分。在 这一实施例中,减少了累加器块72中与每个累加步骤期间执行进位传播加法运算 相关联的功率消耗。而且,在这一实施例中,累加器块72中每个累加步骤期间与 执行进位传播加法运算相关联的门延迟也被消除。

继续参考图7,压缩器108被配置成以冗余形式分别将输入和94和输入进位 96与之前的累加向量输出和112和之前的移位累加向量输出进位117累加。移位 累加向量输出进位117是在由压缩器108执行对下一接收到的输入和94和输入进 位96的下一累加之前,由压缩器108生成的累加向量输出进位114通过对该累加 向量输出进位114移位而生成的。最终移位累加向量输出进位117由累加器块72 中提供的单个、最终进位传播加法器119添加到最终累加向量输出和112,以传播 最终移位累加向量输出进位117中的进位累加,以便将最终累加向量输出和112 转换成最终累加器输出样本集76二进制补码法。最终累加向量输出和112在可编 程输出数据路径74中作为累加器输出样本集76提供(见图3)。

由于已经描述了图示配置成冗余进位保留格式的乘法器块62与累加器块72 的熔合的图7,现在将一般参考图8描述关于累加器块72(3)-72(0)的更多示例性细 节。以下描述的图9A-9C提供了以不同累加模式配置成冗余进位保留格式的累加 器块72(3)-72(0)的更多示例性细节,以便采用通用电路和硬件提供不同的向量累加 运算。

图8是图3的VPE 22中提供的累加器块72的示例性内部组件的详细示意图。 如前所述并如以下更详细讨论地,累加器块72配置有可编程输入数据路径 78(3)-78(0)和/或可编程内部数据路径80(3)-80(0),使得累加器块72可被编程来充 当被设计成执行特定、不同类型的向量累加运算的专用电路。例如,累加器块72 可被编程来提供多种不同的累加和加法,包括有符号和无符号累加运算。在以下讨 论的图9A-9C中图示了被配置成提供不同类型的累加运算的累加器块72中的可编 程输入数据路径78(3)-78(0)和/或可编程内部数据路径80(3)-80(0)的特定示例。而 且,累加器块72被配置成包括进位保留累加器72[0]、72[1]以提供冗余进位算术, 以避免或减少进位传播,以便以减少的组合逻辑提供高速累加运算。

在图8示出累加器块72的示例性内部组件。如其中所示地,这一实施例中的 累加器块72被配置成从乘法器块62接收要被累加在一起的第一输入和94[0]与第 一输入进位96[0],以及第二输入和94[1]与第二输入进位96[1]。参考图8,输入和 94[0]、94[1]与输入进位96[0]、96[1]将被称为向量输入和94[0]、94[1]与向量输入 进位96[0]、96[1]。如前所述并如图6中所示,在这一实施例中,向量输入和94[0]、 94[1]与向量输入进位96[0]、96[1]各自是16位长。在这一示例中,累加器块72被 提供为两个24位进位保留累加器72[0]、72[1],各自包含类似组件,带有‘[0]’ 的通用元素号的组件被设计成用于进位保留累加器72[0],而带有‘[1]’的组件被 设计成用于进位保留累加器72[1]。进位保留累加器72[0]、72[1]可被配置成并发执 行向量累加运算。

参考图8中的进位保留累加器72[0],向量输入和94[0]与向量输入进位96[0] 是被作为可编程内部数据路径80[0]的一部分提供的多路复用器104(0)中的输入。 还提供可由基于异或的门构成的负电路106(0),该电路根据输入107(0)生成负向量 输入和94[0]'与负向量输入进位96[0]',作为对多路复用器104(0)的输入以用于需 要负向量输入和94[0]'与负向量输入进位96[0]'的累加运算。多路复用器104(0)被 配置成根据作为向量指令解码的结果而生成的选择器输入110(0)或者选择向量输 入和94[0]与向量输入进位96[0]或者选择负向量输入和94[0]'与负向量输入进位 96[0]'以便被提供给压缩器108(0)。就这一点而言,选择器输入110(0)允许进位保 留累加器72[0]的可编程输入数据路径78[0]被编程,以便根据被配置成将由累加器 块72执行的累加运算,或者将向量输入和94[0]与向量输入进位96[0]或者将负向 量输入和94[0]'与负向量输入进位96[0]'提供给压缩器108(0)。

继续参考图8,在这一实施例中,进位保留累加器72[0]的压缩器108(0)是复 杂门4:2压缩器。就这一点而言,压缩器108(0)被配置成在冗余进位保留运算中累 加和与进位。压缩器108(0)被配置成将作为压缩器108(0)的四(4)个输入的当前 的向量输入和94[0]与向量输入进位96[0],或当前的负向量输入和94[0]'与负向量 输入进位96[0]',与之前的累加向量输入和94[0]与向量输入进位96[0]或者累加负 向量输入和94[0]'与负向量输入进位96[0]'累加在一起。压缩器108(0)在可编程输 出数据路径74[0]中提供累加向量输出和112(0)与累加向量输出进位114(0)作为累 加器输出样本集76[0](见图3)以提供累加器输出样本集76(3)-76(0)。累加向量 输出进位114(0)由位移位器116(0)在累加运算期间移位,以提供移位累加向量输出 进位117(0)以便控制每个累加步骤期间的位宽度增长。例如,在这一实施例中,位 移位器116(0)是以冗余进位保留格式熔合到压缩器108(0)的桶形移位器。以此方 式,在累加器72[0]执行的累加运算期间,移位累加向量输出进位117(0)实际上被 保留而不必被传播给累加向量输出和112(0)。以此方式,在这一实施例中,累加器 块72中每个累加步骤期间与执行进位传播加法运算相关联的功率消耗和门延迟也 被消除。

附加的之后的向量输入和94[0]与向量输入进位96[0],或负向量输入和94[0]' 与负向量输入进位96[0]',可与当前的累加向量输出和112(0)和当前的累加向量输 出进位117(0)累加。向量输入和94[0]与向量输入进位96[0],或负向量输入和94[0]' 与负向量输入进位96[0]',由作为可编程内部数据路径80[0]的一部分的多路复用器 118(0)根据作为向量指令解码的结果而生成的和进位选择器120(0)来选择。当前的 累加向量输出和112(0)与当前的移位累加向量输出进位117(0)可作为用于进位保 留累加器72[0]的压缩器108(0)的输入提供,以便提供更新的累加向量输出和112(0) 与累加向量输出进位114(0)。就这一点而言,和-进位选择器120(0)允许累加器72[0] 的可编程内部数据路径80[0]被编程,以根据被配置成将由累加器块72执行的累加 运算将向量输入和94[0]与向量输入进位96[0]提供给压缩器108(0)。在这一实施例 中,还提供保持门122(0)、124(0),以使得多路复用器118(0)根据保持状态输入 126(0),保持累加向量输出和112(0)与移位累加向量输出进位117(0)的当前状态, 以便控制进位保留累加器72[0]中累加的运算时序。

继续参考图8,由控制门134(0)、136(0)以及134(1)、136(1)分别选通进位保 留累加器72[0]的累加向量输出和112(0)与移位累加向量输出进位117(0),以及进 位保留累加器72[1]的累加向量输出和112(1)与移位累加向量输出进位117(1)。控 制门134(0)、136(0)以及134(1)、136(1)分别控制被返回给压缩器108(0)、108(1) 的累加向量输出和112(0)与移位累加向量输出进位117(0),以及累加向量输出和 112(1)与移位累加向量输出进位117(1)。

总而言之,采用图8中的累加器块72的累加器72[0]、72[1]的可编程输入数 据路径78[0]、78[1]与可编程内部数据路径80[0]、80[1],累加器块72可被配置成 不同模式。累加器块72可被配置成采用图8中所示的通用累加器电路,根据特定 向量处理指令,提供不同的累加运算。以下在图9A-8C中示出,累加器块72被配 置成采用通用累加器电路,根据特定向量处理指令,提供不同的累加运算的示例。

就这一点而言,图9A是图8中相同累加器块72的示意图。在这一示例中, 累加器块具有被编程以提供双24位累加器模式的可编程输入数据路径78[0]、78[1] 与可编程内部数据路径80[0]、80[1]。图9A中累加器块72中的每个进位保留累加 器72[0]、72[1]被配置成提供24位累加器。累加器72[0]、72[1]的24位累加容量 由压缩器108(0)、108(1)的位容量提供。对于累加器72[0]、72[1]参考图8的讨论 说明了图9A中累加器72[0]、72[1]提供的各个24位累加。在图9A中,分别在可 编程数据路径132(0)与132(1)中,示出了由累加器72[0]、72[1]执行的、用于提供 累加块72中的双24位累加的累加的一般数据路径。

继续参考图9A,将描述进位保留累加器72[0]的示例性组件,但这些组件同 等适用于进位保留累加器72[1]。在这一实施例中,由控制门134(0)、136(0)以及 134(1)、136(1)分别选通进位保留累加器72[0]的累加向量输出和112(0)与移位累加 向量输出进位117(0),以及进位保留累加器72[1]的累加向量输出和112(1)与移位 累加向量输出进位117(1)。控制门134(0)、136(0)以及134(1)、136(1)分别控制被 返回给压缩器108(0)、108(1)的累加向量输出和112(0)与移位累加向量输出进位 117(0),以及累加向量输出和112(1)与移位累加向量输出进位117(1)。从向量指令 的解码分别提供给控制门134(0)、136(0)以及134(1)、136(1)两者的控制输入138(0)、 138(1)分别控制累加向量输出和112(0)与移位累加向量输出进位117(0),以及累加 向量输出和112(1)与移位累加向量输出进位117(1)被返回给压缩器108(0)、108(1)。 如以下参考图9B和9C更详细讨论地,控制输入138(0)、138(1)和控制门134(0)、 136(0)控制累加器72[0]、72[1]是被编程为各自执行单独的累加运算还是执行组合 的累加运算。因此,在这一实施例中,控制输入138(0)、138(1)以及控制门134(0)、 136(0)和134(1)、136(1)分别构成累加器72[0]、72[1]的可编程内部数据路径80[0]、 80[1]的一部分。

回来参考图8,累加器块72的可编程内部数据路径80[0]、80[1]还可被编程和 /或重新编程以执行比个体累加器72[0]、72[1]的24位容量大的累加运算。就这一 点而言,累加器72[0]、72[1]的可编程内部数据路径80[0]、80[1]可被编程以允许 累加器72[0]、72[1]两者一起在单个向量累加运算中被采用。累加器72[0]、72[1] 可被编程来提供比累加器72[0]、72[1]的个体位累加容量更大的位容量的单个累加 运算。累加器72[0]、72[1]的可编程内部数据路径80[0]、80[1]可被配置成允许进 位保留累加器72[0]传播溢出进位输出,作为来自压缩器108(0)的下一进位输出 (NCO)137(0)。NCO 137(0)可作为下一进位输入(NCI)139(1)被提供给进位保 留累加器72[1]中的压缩器108(1)。如之前参考图8所述,这种作为累加器72[0]、 72[1]中的可编程内部数据路径80[0]、80[1]提供的、允许累加器72[0]、72[1]向24 位进位与和累加提供24位溢出进位传播的进位传播配置能力在这一实施例中,提 供40位累加。

就这一点而言,图9B是图8中的同一累加器块72的示意图。在图9B中,累 加器块72被示为被配置成单个累加运算模式。在图9B中,累加器72[0]、72[1] 具有被配置成用于在累加器块72中提供单个累加运算的可编程内部数据路径 80[0]、80[1]。在累加器块72的单个累加器模式的这一示例中,累加器72[0]、72[1] 累加单个40位累加向量输出和112与移位累加向量输出进位117。单个累加向量 输出和112由作为可编程输出数据路径74[0]、74[1]中的累加器输出样本集76(也 见图3)提供的累加向量输出和112(0)、112(1)构成。累加向量输出和112(0)包括 单个40位累加向量输出和112的最低有效位。累加向量输出和112(1)包括单个40 位累加向量输出和112的最高有效位。类似地,移位累加向量输出进位117由移位 累加输出进位117(0)、117(1)构成。移位累加向量输出进位117(0)包括单个移位累 加向量输出和117的最低有效位。累加向量输出和114(1)包括单个40位累加向量 输出进位114的最高有效位。在可编程输出数据路径74[0](见图3)中提供累加 向量输出和114[0]与移位累加向量输出进位117(0)。

继续参考图9B,当累加器块72被配置成单个累加模式(例如,40位累加) 时,累加器72[0]、72[1]执行的累加运算的一般数据路径被示为可编程累加数据路 径146。就这一点而言,如前所述,累加器块72接收向量输入和94和向量输入进 位96。进位保留累加器72[0]累加视情况而定来自向量输入和94[0]与向量输入进 位96[0],或负向量输入和94[0]'与负向量输入进位96[0]'的累加的累加向量输出和 112(0)与累加向量输出进位114(0)的最低有效位。进位保留累加器72[1]累加视情况 而定来自向量输入和94[0]与向量输入进位96[0],或负向量输入和94[0]'与负向量 输入进位96[0]'的累加的累加向量输出和112(1)与累加向量输出进位114(1)的最高 有效位。

继续参考图9B,为了编程累加器72[0]、72[1]以提供单个累加向量输出和112 和累加向量输出进位114,累加器72[0]、72[1]的可编程内部数据路径80[0]、80[1] 被编程为提供单个累加运算。就这一点而言,进位保留累加器72[0]的压缩器108(0) 的NCO 137(0)和进位保留累加器72[1]的压缩器108(1)的NCI 139(1)被配置成用于 提供累加器块72中的单个累加器(例如,40位累加器)。进位保留累加器72[1] 的NCI 139(1)由NCI门140(1)用NCI控制输入142(1)选通。以此方式,当期望累 加器块72中的累加器72[0]、72[1]提供采用从进位保留累加器72[0]到进位保留累 加器72[1]的溢出进位传播的单个累加运算时,可使得NCI控制输入142(1)活跃, 以作为进位保留累加器72[1]的可编程内部数据路径80[1]的一部分。NCI控制输入 142(1)使得NCI门140(1)允许从压缩器108(0)到压缩器108(1)的溢出进位传播。NCI 控制输入142(1)还被耦合至进位保留累加器72[0]中压缩器108(0)的进位传播输入 144(0),以使得压缩器108(0)生成NCO 137(0)作为对压缩器108(1)的NCI 139(1)。 这些配置允许进位保留累加器72[1]以可提供单个累加向量输出和112和累加向量 输出进位114的方式累加向量输入和94[1]与向量输入进位96[1]。

如图9B中所示,注意到累加器块72中的进位保留累加器72[1]还包括由NCI 139(0)以及NCI控制输入142(0)选通的NCI门140(0)。然而,在这一实施例中, NCI控制输入142(0)和NCI 139(0)均被绑定至逻辑'0',因为进位保留累加器72[0] 累加单个累加运算的最低有效位。还注意到,进位保留累加器72[1]的压缩器108(0) 还包括进位传播输入144(1),但在这一实施例中,进位传播输入144(1)被绑定至逻 辑'0'使得累加器72(1)不生成NCO 12(1)。在这一实施例中,进位保留累加器72[1] 不需要执行对下一累加器的进位传播,因为在累加器块72的这一实施例中,没有 提供除进位保留累加器72[1]以外的另一累加器。

图9C是图8中同一累加器块72的另一累加器模式的示意图。就这一点而言, 图9C是图8中累加器块72的示意图,该累加器块具有被编程的数据路径配置以 提供进位保留加法器继之以单个累加器,以提供累加器块72中的另一累加模式。 一些累加运算可能需要额外的加法器来执行复数算术。在图9C中,累加器72[0]、 72[1]具有被配置成用于提供16位进位保留加法器继之以单个24位累加器的可编 程内部数据路径80[0]、80[1]。

参考图9C,当累加器块72被配置成进位保留加法器继之以单个累加器时, 累加器72[0]、72[1]执行的累加的一般数据路径由可编程数据路径148示出。就这 一点而言,和-进位选择器120(0)作为向量指令解码的结果被生成,以使得多路复 用器118(0)向控制门134(0)、136(0)提供向量输入和94[1]与向量输入进位96[0]。 使控制输入138(0)活跃,以编程进位保留累加器72[0]的可编程内部数据路径80[1], 以便使得控制门134(0)、136(0)向压缩器108(0)提供向量输入和94[1]与向量输入进 位96[1]。由进位保留累加器72[0]的压缩器108(0)将向量输入和94[1]与向量输入 进位96[1]同向量输入和94[0]与向量输入进位96[1]累加,以提供累加向量输出和 112(0)与累加向量输出进位114(0)。累加向量输出和112(0)与移位累加向量输出进 位117(0)被作为可编程输出数据路径74[0]中的累加器输出样本集76[0](也见图3) 提供,以提供进位保留加法器。如可编程数据路径148中所示,移位累加向量输出 进位117(0)还被提供给进位保留累加器72[1],以便由多路复用器104(1)提供给压 缩器108(1)以累加到向量输入和94[1]与向量输入进位96[1],以便作为24位累加 器将累加向量输出和112(1)与移位累加向量输出进位117(1)提供作为可编程输出 数据路径74[1]中的累加器输出样本集76[1](也见图3)。

具有用于向量处理的可编程数据路径配置、并根据本文所讨论的概念和实 施例的VPE,包括但不限于图2和3中的VPE 22,可被设置或集成到任何基 于处理器的设备中。不作为限定的示例包括机顶盒、娱乐单元、导航设备、通 信设备、固定位置数据单元、移动位置数据单元、移动电话、蜂窝电话、计算 机、便携式计算机、台式计算机、个人数字助理(PDA)、监视器、计算机监 视器、电视机、调谐器、无线电、卫星无线电、音乐播放器、数字音乐播放器、 便携式音乐播放器、数字视频播放器、视频播放器、数字视频碟(DVD)播放 器、和便携式数字视频播放器。

就这一点而言,图10解说了基于处理器的系统150的示例。在这一示例 中,基于处理器的系统150包括一个或多个处理单元(PU)152,各自包括一 个或多个处理器或核154。作为非限定性示例,PU 152可以是图2中的基带处 理器20。作为非限定性示例,处理器54可以是向量处理器,如同图2中提供 的基带处理器20。就这一点而言,处理器154还可包括VPE 156,包括但不限 于图2中的VPE 22。PU 152可具有耦合到处理器154、用于对临时存储的数据 的快速访问的高速缓存存储器158。PU 152被耦合到系统总线160,且可交互 耦合被包括在基于处理器的系统150中的主设备和从设备。如公知地,PU 152 通过在系统总线160上交换地址、控制和数据信息来与这些其它设备通信。例 如,PU 152可向作为从设备的示例的存储器控制器162传达总线事务请求。尽 管未在图10中解说,但可提供多个系统总线160,其中每个系统总线160构成 不同的织构。

其它主控设备和被控设备可被连接到系统总线160。如图10中所解说的, 作为示例,这些设备可包括存储器系统164、一个或多个输入设备166、一个 或多个输出设备168、一个或多个网络接口设备170以及一个或多个显示控制 器172。存储器系统164可包括可由存储器控制器162访问的存储器165。输 入设备166可包括任何类型的输入设备,包括但不限于:输入按键、开关、语 音处理器等。输出设备168可包括任何类型的输出设备,包括但不限于:音频、 视频、其它视觉指示器等。网络接口设备170可以是被配置成允许与网络174 交换数据的任何设备。网络174可以是任何类型的网络,包括但不限于:有线 或无线网络、私有或公共网络、局域网(LAN)、广域网(WLAN)和因特网。 网络接口设备170可被配置成支持所期望的任何类型的通信协议。

CPU 152还可被配置成通过系统总线160访问显示控制器172以控制发送 给一个或多个显示器178的信息。显示控制器172经由一个或多个视频处理器 180向显示器178发送要显示的信息,视频处理器180将要显示的信息处理成 适于显示器178的格式。显示器178可包括任何类型的显示器,包括但不限于: 阴极射线管(CRT)、液晶显示器(LCD)、等离子显示器等。

本领域的技术人员将理解,结合此处公开的双电压域存储器缓冲区的实施 例描述的各种说明性逻辑块、模块、电路和算法可被实现为电子硬件、存储在 存储器中或另一计算机可读介质中并由处理器或其它处理器设备执行的指令、 或其组合。作为示例,本文描述的仲裁器、主控设备和被控设备可用在任何电 路、硬件组件、集成电路(IC)、或IC芯片中。本文所公开的存储器可以是 任何类型和大小的存储器,且可被配置成存储所需的任何类型的信息。为清楚 地说明这一可互换性,以上已经以其功能的形式一般地描述了各种解说性组 件、框、模块、电路、和步骤。此类功能性如何被实现取决于施加在整体系统 上的具体应用、设计选择和/或设计约束。技术人员可针对每种特定应用以不同 方式来实现所描述的功能性,但此类实现决策不应被解读为致使脱离本发明的 范围。

结合本文所公开的实施例描述的各种说明性逻辑块、模块、和电路可用设 计成执行本文所描述的功能的处理器、DSP、专用集成电路(ASIC)、FPGA 或其它可编程逻辑器件、分立门或晶体管逻辑、分立硬件组件、或其任何组合 来实现或执行。处理器可以是微处理器,但在替代方案中,处理器可以是任何 常规处理器、控制器、微控制器、或状态机。处理器还可以被实现为计算设备 的组合,例如DSP与微处理器的组合、多个微处理器、与DSP核心协同的一 个或多个微处理器、或任何其它此类配置。

本文所公开的各实施例可被体现为硬件和存储在硬件中的指令,并且可驻 留在例如随机存取存储器(RAM)、闪存、只读存储器(ROM)、电可编程 ROM(EPROM)、电可擦可编程ROM(EEPROM)、寄存器、硬盘、可移动 盘、CD-ROM、或本领域中所知的任何其它形式的计算机可读介质中。替换地, 存储介质可以被整合到处理器。处理器和存储介质可驻留在ASIC中。ASIC可 驻留在远程站中。在替换方案中,处理器和存储介质可作为分立组件驻留在远 程站、基站或服务器中。

还注意到,本文任何示例性实施例中描述的操作步骤被描述是为了提供示 例和讨论。所描述的操作可按除了所示顺序以外的各种不同顺序执行。而且, 在单个操作步骤中描述的操作实际上可在多个不同步骤中执行。另外,在示例 性实施例中讨论的一个或多个操作步骤可被组合。将理解,如对本领域的技术 人员显而易见地,在流程图中图示的操作步骤可进行各种不同的修改。本领域 技术人员还将理解,可使用各种不同技术中的任何一种来表示信息和信号。例 如,贯穿上面描述始终可能被述及的数据、指令、命令、信息、信号、位(比 特)、码元、和码片可由电压、电流、电磁波、磁场或磁粒子、光场或光粒子、 或其任何组合来表示。

提供对本公开的先前描述是为使得本领域任何技术人员皆能够制作或使 用本公开。对本公开的各种修改对本领域技术人员来说都将是显而易见的,且 本文中所定义的普适原理可被应用到其他变型而不会脱离本公开的精神或范 围。由此,本公开并非旨在被限定于本文中所描述的示例和设计,而是应被授 予与本文中所公开的原理和新颖特征一致的最广义的范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号