使用早期和后期地址以及循环计数寄存器来跟踪架构状态的流引擎制造技术

技术编号:36956403 阅读:16 留言:0更新日期:2023-03-22 19:16
本申请公开了使用早期和后期地址以及循环计数寄存器来跟踪架构状态的流引擎。一种在数字数据处理器(100)中使用的流引擎(125,200),其指定由多个嵌套循环定义的固定只读数据流。地址生成器(1901)生成数据元素的地址。流首寄存器(2718,2728)存储接下来要提供给功能单元的以作为操作数使用的数据元素。该流引擎(125,2700)为嵌套循环中的每一个存储接下来要取回的数据元素的早期地址和该流首寄存器(2718,2728)中的数据元素的后期地址。该流引擎(125,2700)为嵌套循环中的每一个存储接下来要取回的数据元素的早期循环计数(3701

【技术实现步骤摘要】
使用早期和后期地址以及循环计数寄存器来跟踪架构状态的流引擎
[0001]本申请是于2017年12月20日提交的名称为“使用早期和后期地址以及循环计数寄存器来跟踪架构状态的流引擎”的中国专利申请201711379376.8的分案申请。
[0002]相关申请
[0003]本申请的专利申请是对于2014年7月15日提交的名称为《高度集成的可扩展的柔性DSP百万模块架构(HIGHLY INTEGRATED SCALABLE,FLEXIBLE DSP MEGAMODULE ARCHITECTURE)》的美国专利申请序列号14/331,986的改进,其要求2013年7月15日提交的美国临时专利申请序列号61/846,148的优先权。


[0004]本专利技术的
是数字数据处理,并且更具体地说是用于操作数取回的流引擎(streaming engine)的控制。

技术介绍

[0005]现代数字信号处理器(DSP)面临着多重挑战。工作量不断增加,需要增加带宽。片上系统(SOC)的尺寸和复杂性不断增加。内存(memory)系统延迟严重影响某些类别的算法。随着晶体管越来越小,内存和寄存器变得不太可靠。随着软件栈越来越大,潜在的交互和错误的数量变得越来越大。
[0006]内存带宽和调度对于在实时数据上操作的数字信号处理器是个问题。在实时数据上操作的数字信号处理器通常接收输入数据流,对数据流执行过滤功能(例如编码或解码)并输出经过转换的数据流。该系统被称为实时,因为如果转换的数据流在调度时不可用于输出,则应用程序失效。典型的视频编码需要可预测但非连续的输入数据模式。在可用的地址生成和内存访问资源中,对应的内存访问通常很难实现。一个典型的应用程序需要内存访问来加载数据寄存器堆(register file)中的数据寄存器,并且然后提供给执行数据处理的功能单元。

技术实现思路

[0007]本专利技术是在数字信号处理器中使用的流引擎。通过在控制寄存器中存储对应的参数来指定固定的数据流序列。数据流包括多个嵌套循环(nested loop)。一旦开始,数据流是只读的,不能被写入。这通常对应于实时过滤操作的需要。
[0008]流引擎包括产生数据元素地址的地址生成器和存储接下来要提供给功能单元以作为操作数使用的数据元素的流首寄存器/流磁头寄存器(stream head register)。流引擎在流缓冲器中取回中央处理单元内核使用之前的流数据。
[0009]该流引擎包括早期地址寄存器,其存储接下来要从内存中取回的数据元素的流内存地址,和后期地址寄存器,其存储与存储在流磁头寄存器/流首寄存器(stream head register)中的数据元素对应的流内存地址。早期地址寄存器和后期地址寄存器两者都存
储用于嵌套循环的地址。
[0010]流引擎包括早期计数寄存器,其存储用于与接下来要从内存中取回的数据元素相对应的每个嵌套循环的计数,和后期计数寄存器,其存储与存储在所述流首寄存器中的数据元素对应的每个嵌套循环的计数。早期计数寄存器和后期计数寄存器两者最初存储对应于循环计数的数据,所述循环计数以等于在流模板寄存器(stream template register)中指定的对应嵌套循环的循环计数的量改变所述内存地址。
附图说明
[0011]在附图中示出了本专利技术的这些和其他方面,其中:
[0012]图1示出了根据本专利技术一个实施例的双标量/矢量数据路径处理器;
[0013]图2示出了图1中所示的双标量/矢量数据路径处理器中的寄存器和功能单元;
[0014]图3示出了全局标量寄存器堆;
[0015]图4示出了由算术功能单元共享的本地标量寄存器堆;
[0016]图5示出了由乘法功能单元共享的本地标量寄存器堆;
[0017]图6示出了由加载/存储单元共享的本地标量寄存器堆;
[0018]图7示出了全局矢量寄存器堆;
[0019]图8示出了断定(predicate)寄存器堆;
[0020]图9示出了由算术功能单元共享的本地矢量寄存器堆;
[0021]图10示出了由乘法和相关功能单元共享的本地矢量寄存器堆;
[0022]图11示出了根据本专利技术的一个优选实施例的中央处理单元的流水线(pipeline)阶段;
[0023]图12示出了单个取回包的16个指令;
[0024]图13示出了本专利技术使用的指令的指令编码的示例;
[0025]图14示出了条件码扩展槽(slot)0的位编码;
[0026]图15示出了条件码扩展槽1的位编码;
[0027]图16示出了常数扩展槽0的位编码;
[0028]图17是示出了常数扩展的部分框图;
[0029]图18示出了根据本专利技术的用于SIMD操作的进位控制;
[0030]图19示出了本专利技术的流引擎的概念图;
[0031]图20示出了矢量中的通道(lane)分配的第一示例;
[0032]图21示出了矢量中的通道分配的第二示例;
[0033]图22示出了基本的二维流;
[0034]图23示出了图21的示例流内的元素的顺序;
[0035]图24示出了从较大的矩形中提取较小的矩形;
[0036]图25示出了流引擎如何以4字节的转置粒度取回该示例的流;
[0037]图26示出了流引擎如何以8字节的转置粒度取回该示例的流;
[0038]图27示出了本专利技术的流引擎的细节;
[0039]图28示出了本专利技术的流模板寄存器;
[0040]图29示出了本专利技术的流模板寄存器的标志字段的子字段定义;
[0041]图30示出了显示本专利技术的数据的流引擎供应的部分示意图;
[0042]图31示出了存储数据流的一个实施例的概念图;
[0043]图32示出了流引擎中的数据缓冲器的高速缓存架构的细节(现有技术);
[0044]图33是示出循环0的早期地址和早期循环计数的生成的局部示意图;
[0045]图34是示出早期地址生成器的操作的流程图;
[0046]图35是示出循环0的后期地址和后期循环计数的生成的局部示意图;
[0047]图36是示出后期地址生成器的操作的流程图;
[0048]图37示出了存储早期循环计数和后期循环计数的扩展控制寄存器的示例性位分配;
[0049]图38示出了存储早期地址和后期地址的扩展控制寄存器的示例性位分配;
[0050]图39示出了扩展控制寄存器的示例性位分配,所述扩展控制寄存器存储在流引擎中产生错误的取回的虚拟地址;
[0051]图40示出了扩展控制寄存器的示例性位分配,所述扩展控制寄存器存储了详述检测到的错误的性质的数据;
[0052]图41示出了本专利技术的错误检测和校正;
[0053]图42是示出了本专利技术的取回滞后可应用的多处理器多存储器系统的示意图;
[0054本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种装置,其包括:处理内核;内存;以及内存控制器,其联接到所述处理内核和所述内存,其中所述内存控制器包括:第一地址生成器,其被配置为生成第一组地址;内存接口,其联接到所述内存并且被配置为基于所述第一组地址检索一组数据元素;缓冲器,其被配置为存储所述一组数据元素;保持寄存器,其联接到所述处理内核并且被配置为存储所述一组数据元素中的第一数据元素;以及第二地址生成器,其被配置为生成与所述一组数据元素中的第二数据元素相对应的地址;其中所述内存控制器被配置为:从所述处理内核接收读取指令;并且基于所述读取指令:将所述第一数据元素提供给所述处理内核;使所述第二地址生成器产生所述地址;并且使所述第二数据元素从所述缓冲器提供给所述保持寄存器并替换所述第一数据元素。2.根据权利要求1所述的装置,其中所述第一地址生成器包括:多个循环计数寄存器;多个加法器,其联接到所述多个循环计数寄存器;多个比较器,其联接到所述多个加法器,并且每个比较器被配置为:将所述多个加法器中的相应加法器的输出与阈值进行比较;并且基于所述多个加法器中的所述相应加法器的所述输出等于所述阈值,提供被配置为引起下一个较高循环的迭代的循环结束信号。3.根据权利要求2所述的装置,其中:所述第一地址生成器包括多个寄存器,所述多个寄存器被配置为存储用于所述多个比较器的所述阈值;并且所述阈值基于流定义模板。4.根据权利要求2所述的装置,其中所述第一地址生成器包括:多个乘法器,其联接到所述多个加法器,并且每个乘法器被配置为将所述多个加法器中的相应加法器的输出乘以数据元素大小以确定所述第一组地址中的地址。5.根据权利要求2所述的装置,其中:所述处理内核具有调试器功能;并且所述多个循环计数寄存器的值可由所述处理内核经由所述调试器功能访问。6.根据权利要求1所述的装置,还包括地址寄存器,所述地址寄存器联接到所述第一地址生成器和所述内存接口,并且被配置为存储所述第一组地址中的第一地址,所述第一地址对应于要由所述内存接口从所述内存检索的下一个数据元素。7.根据权利要求1所述的装置,其中所述内存包括二级高速缓存即L2高速缓存,并且所
述内存接口被配置为直接从所述L2高速缓存检索所述一组数据元素。8.根据权利要求1所述的装置,包括一级高速缓存即L1高速缓存和二级高速缓存即L2高速缓存,其中:所述内存包括所述L2高速缓存;并且所述内存接口被配置为经由不包括所述L1高速缓存的数据路径从所述L2高速缓存检索所述一组数据元素。9.根据权利要求1所述的装置,其中所述内存控制器包括数据格式化电路,所述数据格式化电路联接在所述缓冲器和所述保持寄存器之间,并且被配置为格式化包括所述第二数据元素的所述一组数据元素的子集,使得所述一组数据元素的经格式化的子集被存储在所述保持寄存器中。10.根据权利要求9所述的装置,其中所述数据格式化电路被配置为根据流定义模板格式化所述一组数据元素的所述子集。11.根据权利要求9所述的装置,还包括参考...

【专利技术属性】
技术研发人员:J
申请(专利权)人:德克萨斯仪器股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1