蝶形向量处理电路的可编程数据路径的向量处理引擎以及相关的向量处理器、系统和方法

文档序号:9252406阅读:355来源:国知局
蝶形向量处理电路的可编程数据路径的向量处理引擎以及相关的向量处理器、系统和方法
【专利说明】具有用于提供多模基-2X蝶形向量处理电路的可编程数据 路径的向量处理引擎W及相关的向量处理器、系统和方法
[0001] 相关申请
[0002] 本申请还设及2013年3月13日提交的、名为"VectorProcessingCarry-Save AccumulatorsEmployingRedundantCarry-SaveFormatToReduceCarry Propagation,AndRelatedVectorProcessors,Systems,AndMethods(采用冗余进位保留 格式来减少进位传播的向量处理进位保留累加器及相关向量处理器、系统和方法)"的美国 专利申请S/N. 13/798, 618 (高通编号No. 123248),该申请通过引用其整体被包含于此。
[0003] 本申请设及2013年3月13日提交的、名为"VectorProcessingEngines HavingProgrammableDataPathConfigurationsForProvidingMulti-ModeVector Processing,AndRelatedVectorProcessors,Systems,andMethods(具有用于提供多模 向量处理的可编程数据路径配置的向量处理引擎及相关向量处理器、系统和方法)"的美国 专利申请S/N. 13/798, 641 (高通编号No. 123249),该申请通过引用其整体被包含于此。
【背景技术】
[0004] I.公开领域
[0005] 公开领域设及用于处理向量和标量运算的向量处理器和相关系统,包括单指令多 数据(SIMD)处理器和多指令多数据(MIMD)处理器。
[0006] II.背景
[0007] 无线计算系统正迅速成为数字信息领域中最流行的技术之一。技术进步已导致越 来越小且越来越强大的无线通信设备。例如,无线计算设备通常包括小、轻量且易于由用户 携带的便携式无线电话、个人数字助理(PDA)和寻呼设备。更具体地,便携式无线电话(诸 如蜂窝电话和网际协议(I巧电话)可通过无线网络传输语音和数据分组。此外,许多该样 的无线通信设备包括其它类型的设备。例如,无线电话可包括数码相机、数码摄像机、数字 记录器、和/或音频文件播放器。同样,无线电话可包括可用于接入因特网的web接口。此 夕F,无线通信设备可包括用于根据所设计的无线通信技术标准(例如,码分多址(CDMA)、宽 带CDMA(WCDMA)W及长期演进(LTE))来处理高速无线通信数据的复杂处理资源。因此,该 些无线通信设备包括相当的计算能力。
[0008] 随着无线计算设备变得越来越小且越来越强大,它们越来越变得资源受限。例如, 屏幕尺寸、可用存储器和文件系统空间的量W及输入和输出能力的量可能受到设备的小尺 寸的限制。此外,电池大小、电池提供的电量W及电池的寿命也受到限制。增加设备的电池 寿命的一种方式是设计消耗较少功率的处理器。
[0009] 就该一点而言,对包括向量处理器的无线通信设备可采用基带处理器。向量处理 器具有提供对数据向量(即,数组)工作的高级运算的向量体系结构。与对一组数据执行 向量指令然后再次取回和解码向量指令W用于向量内的后续元素相反,向量处理设及取回 向量指令一次,然后在数据元素的整个数组上执行向量指令多次。该种过程允许降低执行 程序所需的能量,因为每一向量指令需要被取回的次数较少等等。由于向量指令同时在多 个时钟周期上对长向量操作,高度并行性可用简单的按次序向量指令分派来实现。
[0010] 图1示出了可在诸如无线计算机设备等计算设备中采用的示例性基带处理器10。 基带处理器10包括多个处理引擎(P巧12,它们各自专用于为特定应用提供因功能而异的 向量处理。在此示例中,在基带处理器10中提供了六(6)个分开的PE12(0)-12(5)。阳 12(0)-12(5)各自被配置成为从共享存储器16向PE12(0)-12(5)提供的固定X位宽的向 量数据14提供向量处理。例如,向量数据14可W是512位宽。向量数据14可被定义成较 小的多个X位宽的向量数据样本集18 (0) -18 (Y)(例如,16位和32位样本集)。W此方式, PE12(0)-12(5)能够提供对并行向PE12(0)-12(5)提供的多个向量数据样本集的向量处 理W实现高度并行性。每个PE12(0)-12(5)可包括用于存储对向量数据14处理向量指令 的结果的向量寄存器文件(VR)。
[0011] 图1中的基带处理器10中的每一阳12(0)-12 (5)包括专口设计来高效执行特定 类型的固定运算的特定、专用的电路和硬件。例如,图1中的基带处理器10包括分开的宽带 码分多址(WCDMA)PE12(0)、12(1)W及长期演进(LTE)PE12(4)、12 巧),因为WCDMA和LTE 设及不同类型的专口运算。因此,通过提供分开的WCDMA特定PE12(0)、12(1)W及LTE特 定PE12 (4)、12巧),PE12 (0)、12 (1)、12 (4)、12巧)中的每一个可被设计成包括特别针对 WCDMA和LTE频繁执行的功能的专口、专用电路W便进行高效运算。该种设计与标量处理引 擎形成对照,标量处理引擎包括被设计成灵活W支持较大量的不相关运算但效率较低的更 为通用的电路和硬件。
[001引在PE中通常执行向量累加运算。就该一点而言,PE包括因功能而异的累加器结 构,该些结构各自具有支持特定向量累加运算的专口的电路和硬件W便进行高效处理。采 用向量累加运算的PE所支持的普通向量运算的示例包括滤波运算、相关运算W及通常用 于为无线通信算法执行快速傅立叶变换(FFT)向量处理运算的基-2X(例如,基-2W及 基-4)蝶形运算。在PE中提供因功能而异的累加器结构对频繁执行的、专口的累加运算是 有利的。然而,在PE中提供因功能而异的累加器结构可增加基带处理器所需的面积和功 率,因为在PE中提供的分开的因功能而异的累加器结构各自包括专口的电路和存储器。 [001引发巧概巧
[0014] 此处公开的实施例包括具有用于提供多模基-2X蝶形向量处理电路的可编程数据 路径配置的向量处理引擎(VP巧。还公开了相关的向量处理器、系统和方法。此处公开的 V阳包括各自具有向量处理块的多个向量处理级,向量处理块具有用于执行基-2X蝶形向 量运算W便高效执行快速傅立叶变换(FFT)向量处理的可编程数据路径配置。向量处理块 的数据路径配置可被编程来提供不同类型的基-2X蝶形向量运算W及其它算术逻辑向量运 算。作为结果,较少的VPE可在一向量处理器中提供所需的基-2X蝶形向量运算W及其它 类型的算术逻辑向量运算,由此节省了向量处理器中的面积,而仍保留与标量处理引擎相 比较少的寄存器写W及较快的向量指令执行时间的向量处理优点。
[0015] 就该一点而言,在此处公开的某些实施例中,在VPE的向量处理级中提供具有可 编程数据路径配置的多个乘法器块。多个乘法器块与在VPE的另一向量处理级中提供的具 有可编程数据路径配置的多个累加器块烙合。每一乘法器块的数据路径可被编程,W便根 据正在执行的具体基-2X蝶形向量指令为基-2X蝶形向量运算的点提供乘法。每一累加器 块的数据路径可被编程,W便根据正在执行的基-2X蝶形向量指令累加来自多个乘法器块 之中的乘法器块的基-2X蝶形乘积。累加器块的数据路径配置还可在其它周期中被重新编 程,W便根据正在执行的基-2X蝶形向量指令累加来自多个乘法器块之中的其它乘法器块 的基-2X蝶形乘积。由累加器块累加的最终累加的基-2X蝶形乘积可提供N点FFT向量处 理运算。
[0016] 具有用于提供多模基-2X蝶形向量处理的可编程数据路径配置的VPE与仅包括提 供固定功能的固定数据路径配置的VPE是有区别的。此处所公开的具有用于提供多模基-2X 蝶形向量处理的可编程数据路径配置的V阳还可与标量处理引擎(诸如在举例而言数字 信号处理器值SP)中提供的标量处理引擎)相区分。标量处理引擎采用灵活、通用的电路 和逻辑来执行不同类型的非固定功能,但也在向量指令执行期间将中间结果写入寄存器文 件,从而消耗额外的功率并增加了向量指令执行时间。
[0017] 就该一点而言,在一个实施例中,提供了被配置成提供至少一个多模基-2X蝶形向 量处理电路的VPE。V阳包括至少一个乘法向量处理级,该处理级包括至少一个乘法器块。 每一乘法器块被配置成从多个输入数据路径之中的第一输入数据路径接收来自多个基向 量数据输入样本集的基向量数据输入样本集。每一乘法器块还被配置成根据至少一个乘法 向量处理级执行的基蝶形向量指令,基于可编程乘法数据路径配置将基向量数据输入样本 集与旋转因子分量相乘W在多个乘法输出数据路径中提供一基向量乘法输出样本集。VPE 还包括至少一个累加向量处理级,该处理级包括多个累加器块。多个累加器块之中的每一 累加器块被配置成基于累加器可编程累加器数据路径配置从多个乘法输出数据路径之中 的乘法输出数据路径接收多个基向量乘法输出样本集。多个累加器块之中的每一累加器块 还被配置成基于累加器可编程累加器数据路径配置累加所接收到的多个基向量乘法输出 样本集W提供基向量累加结果样本集。多个累加器块之中的每一累加器块还被配置成在 多个输出数据路径之中的输出数据路径中提供基向量累加结果样本集。VPE还包括输出处 理级,该处理级被配置成从多个累加器块中的每一累加器块接收多个基向量累加结果样本 集。
[0018] 在另一实施例中,提供了被配置成提供至少一个多模基-2X蝶形向量处理电路的 VPE。V阳包括至少一个乘法向量处理级装置,该装置包括至少一个乘法器块装置。每一乘 法器块装置被配置成从多个输入数据路径之中的第一输入数据路径中接收来自多个基向 量数据输入样本集的基向量数据输入样本集。每一乘法器块装置还被配置成根据至少一个 乘法向量处理级装置执行的基蝶形向量指令,基于可编程乘法数据路径配置将基向量数据 输入样本集与旋转因子分量相乘W在多个乘法输出数据路径中提供基向量乘法输出样本 集。VPE还包括至少一个累加向量处理级装置,该装置包括多个累加器块装置。多个累加器 块装置之中的每一累加器块装置被配置成基于可编程累加器数据路径配置从多个乘法输 出数据路径之中的乘法输出数据路径接收多个基向量乘法输出样本集。多个累加器块装置 之中的每一累加器块装置还被配置成基于可编程累加器数据路径配置累加所接收到的多 个基向量乘法输出样本集W提供基向量累加结果样本集。多个累加器块装置之中的每一累 加器块装置还被配置成在多个输出数据路径之中的输出数据路径中提供基向量累加结果 样本集。VPE还包括输出处理级装置,该装置被配置成从多个累加器块中的每一累加器块接 收多个基向量累加结果样本集。
[0019] 在另一实施例中,提供了在向量处理引擎(VP巧中的多模基-2X蝶形向量处理电 路处理中处理基-2X向量数据的方法。该方法包括从至少一个乘法向量处理级中的至少一 个乘法器块中的多个输入数据路径之中的第一输入数据路径接收来自多个基向量数据输 入样本集中的基向量数据输入样本集。该方法还包括在至少一个乘法器块中根据至少一个 乘法向量处理级执行的基蝶形向量指令,基于可编程乘法数据路径配置将基向量数据输入 样本集与旋转因子分量相乘W在多个乘法输出数据路径中提供基向量乘法输出样本集。该 方法还包括在至少一个累加向量处理级中的多个累加器块之中的一累加器块中,基于累加 器可编程累加器数据路径配置从多个乘法输出数据路径之中的乘法输出数据路径接收多 个基向量乘法输出样本集。该方法还包括基于累加器可编程累加器数据路径配置,累加所 接收到的多个基向量乘法输出样本集W提供基向量累加结果样本集。该方法还包括在多个 输出数据路径之中的输出数据路径中提供基向量累加结果样本集。该方法还包括在输出处 理级中从多个累加器块中的每一累加器块接收多个基向量累加结果样本集。
[0020] 在另一实施例中,提供了向量处理器。向量处理器包括至少一个向量寄存器,该向 量寄存器被配置成从向量数据存储器接收基向量数据输入样本集。向量处理器还包括至少 一个向量结果寄存器,该向量结果寄存器被配置成存储基向量结果输出样本集。向量处理 器还包括VPE。VPE包括至少一个乘法向量处理级。乘法向量处理级被配置成从至少一个乘 法向量处理级中的至少一个乘法器块中的多个输入数据路径之中的第一输入数据路径接 收来自多个基向量数据输入样本集中的基向量数据输入样本集。乘法向量处理级还被配置 成在至少一个乘法器块中,根据至少一个乘法向量处理级执行的基蝶形向量指令,基于可 编程乘法数据路径配置将基向量数据输入样本集与旋转因子分量相乘W在多个乘法输出 数据路径中提供基向量乘法输出样本集。V阳还包括至少一个累加向量处理级。累加向量 处理级被配置成在至少一个累加向量处理级中的多个累加器块之中的每一累加器块中,基 于可编程累加器数据路径配置从多个乘法输出数据路径之中的乘法输出数据路径接收多 个基向量乘法输出样本集。累加向量处理级还被配置成基于可编程累加器数据路径配置, 在至少一个累加器块中,累加所接收到的多个基向量乘法输出样本集W提供基向量累加结 果样本集。累加向量处理级还被配置成在多个输出数据路径之中的输出数据路径中提供基 向量累加结果样本集。V阳还包括输出处理级,该处理级被配置成从多个累加器块中的每一 累加器块接收多个基向量累加结果样本集。
[00引]附图简巧
[0022] 图1是包括各自专用于为特定应用提供因功能而异的向量处理的多个向量处理 引擎(VP巧的一示例性向量处理器的示意图;
[0023] 图2是包括具有可编程数据路径配置的通用VPE的一示例性向量处理器的示意 图,该可编程数据路径配置使得VPE中提供的通用电路和硬件可被编程为多个模式,W便 W高效的方式为多个应用或技术执行特定类型的向量运算而无需提供分开的VPE;
[0024] 图3是图2的VPE中提供的示例性向量处理级的示意图,其中向量处理级中的某 些包括具有可编程数据路径配置的示例性向量处理块;
[00巧]图4A是示出包括在图2和3的示例性向量处理器中的、具有可编程数据路径配置 的至少一个向量处理块的示例性向量处理的流程图;
[0026] 图4B是示出乘法器块和累加器块的示例性向量处理的流程图,该些块各自具有 可编程数据路径配置并在图2和3的示例性向量处理器中的不同向量处理级中提供;
[0027] 图5是图2和3的VPE的向量处理级中提供的多个乘法器块的更详细的示意图, 其中多个乘法器块各自具有可编程数据路径配置,W使得多个乘法器块可被编程为多个模 式W执行特定的、不同类型的向量乘法运算;
[0028] 图6是图5中多个乘法器块之中的一乘法器块的内部组件的示意图,该乘法器块 具有能够被编程W提供8位乘8位向量数据输入样本集和16位乘16位向量数据输入样本 集的乘法运算的可编程数据路径配置;
[0029] 图7是图2和3的VPE中的乘法器块和累加器块的一般化示意图,其中累加器块 采用进位保留累加器结构,该结构采用冗余进位保留格式来减少进位传播;
[0030] 图8是图7的累加器块的示例性内部组件的详细示意图,该累加器块在图2和3的 VPE中提供,其中累加器块具有可编程数据路径配置,W使得累加器块可被编程为多个模式 W便用冗余进位保留格式执行特定的、不同类型的向量累加运算;
[0031] 图9A是图8的累加器块的示意图,该累加器块具有被编程用于提供双24位累加 器模式的数据路径配置;
[0032] 图9B是图8的累加器块的示意图,该累加器块具有被编程用于提供单个40位累 加器模式的数据路径配置;
[0033] 图9C是图8的累加器块的示意图,该累加器块具有被编程用于提供16位进位保 留加法器继之W单个24位累加器模式的数据路径配置;
[0034] 图10是一乘法器的概念示意图,该乘法器具有被编程W在图2和3的VPE中与冗 余进位保留格式的四(4)个累加器烙合从而形成被配置成执行基-4蝶形向量运算的每一 周期的基蝶形电路的数据路径配置;
[00巧]图11是图10中的基蝶形电路的一个周期的示意图,该电路被配置成或者执行 基-2蝶形向量运算或者执行基-4蝶形向量运算;W及
[0036] 图12是根据此处公开的实施例的可包括向量处理器的示例性的基于处理器的系 统的框图,该向量处理器包括具有可编程数据路径配置的VPE,所WVPE中的通用电路和硬 件可被编程W用作被设计成W高效方式为多个应用或技术执行特定类型的向量运算的专 用电路,而无需提供分开的VPE。
[00;37]详细描巧
[0038] 现在参考附图,描述了本发明的若干示例性实施例。措辞"示例性"在本文中用于 表示"用作示例、实例或解说"。本文中描述为"示例性"的任何实施例并不必然被解释为优 于或胜过其他实施例。
[0039] 此处公开的实施例包括具有用于提供多模基-2X蝶形向量处理的可编程数据路径 配置的向量处理引擎(VP巧。还公开了相关的向量处理器、系统和方法。此处公开的V阳包 括各自具有向量处理块的多个向量处理级,该些向量处理块具有用于执行基-2X蝶形向量 运算W便高效执行快速傅立叶变换(FFT)向量处理运算的可编程数据路径配置。向量处理 块的数据路径配置可被编程来提供不同类型的基-2X蝶形向量运算W及其它算术逻辑向量 运算。作为结果,较少的VPE可在一向量处理器中提供所需的基-2X蝶形向量运算W及其 它类型的算术逻辑向量运算,由此节省了向量处理器中的面积而仍保留与标量处理引擎相 比较少的寄存器写W及较快的向量指令执行时间的向量处理优点。
[0040] 就该一点而言,在此处公开的某些实施例中,在VPE的一向量处理级中提供具有 可编程数据路径配置的多个乘法器块。该多个乘法器块与在VPE的另一向量处理级中提供 的具有可编程数据路径配置的多个累加器块烙合。每一乘法器块的数据路径可被
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1