数据累加装置、方法及数字信号处理装置的制造方法

文档序号:9765796阅读:651来源:国知局
数据累加装置、方法及数字信号处理装置的制造方法
【技术领域】
[0001] 本发明属于计算机电子领域,设及一种能够在IogsN级加法器延迟内完成将N个输 入数据累加为一个和值数据的数据累加装置、方法及数字信号处理装置。
【背景技术】
[0002] 当今,实时数字信号处理技术在多媒体播放、网络交易处理、系统控制、图像识别 与图像处理等领域被广泛应用。因此,面向运些领域的电子产品越来越多的采用数字信号 处理器W及相关的算法及其优化系统。各种数字处理系统设及的子运算包括傅里叶变换、 卷积、矩阵乘等,而运些运算大都包含累加运算。
[0003] 然而,直接调用软件层面实现累加显然不是一个很好的办法,一方面它需要调用 处理器资源,当没有处理器资源的时候,此类算法将无法进行;另一方面,当使用处理器资 源时,此类算法会占用大量的功耗,同时计算效率也不高。
[0004] 分布式系统虽然可一定程度实现累加运算的加速,消息传递的通信开销将占用处 理器资源,同时根据Amdahl定律,当算法并行部分加速比提高到一定程度后,算法的串行部 分(如通信等)将成为算法的瓶颈。
[0005] 现阶段,为了实现硬件专用的累加运算,工业界和学术界提出了各种累加电路。但 每次累加的数据个数是固定的。
[0006] 专利文献1(公开号为CN103294446A)提出一种定点乘加累加器,其中累加数据是 定点数而且仅可将数据看成4个N位宽、2个2N位宽或1个4N位宽的数据;即便如此,该硬件一 次能累加的数据个数也只能是某几种固定模式,功能过于特殊化。同时,装置逻辑复杂,传 输延迟较高,不利于提高忍片主频。
[0007] 因而一个灵活粒度、并行度高、延迟低的累加装置对提高上述数字处理系统吞吐 量有着非常重要的意义并且使用范围广泛。数字信号处理算法,如神经网络、视频解码一般 是实时的,对运算性能和吞吐量要求高。同时,数字信号处理算法中累加情况多变,被累加 的数据个数可取任意值,且被累加数据位置繁多,对累加操作灵活性有较高的要求。

【发明内容】

[000引有鉴于此,本发明的主要目的在于提供一种高性能、灵活方式的累加装置,通过研 究现阶段数字信号处理系统广泛使用的算法设及使用的累加运算,分析其所需的资源,采 用累加树树结构,在IogsN级加法器的时间延迟实现N个数据的累加。
[0009] 本发明公开了一种累加装置,其支持在一次运算操作中灵活地选择N个数据中的 某些数据累加为一个和值,其包括:
[0010] 累加树模块,用于采用树结构的形式将输入数据累加为部分和数据;
[0011] 寄存模块,包含多组用于存储所述部分和数据的寄存器;
[001^ 控制模块,又包括:
[0013]选通信号生成电路,用于生成数据选通信号W控制所述累加树模块过滤不需要累 加的输入数据;
[0014] 数据寄存信号生成电路,用于生成数据寄存选择信号W控制所述部分和数据在所 述寄存器模块的存储位置;
[0015] 数据读取信号生成电路,用于生成数据读取选择信号W选中所述寄存器模块的某 一个寄存器中寄存的一个或多个所述部分和数据,
[0016] flag信号生成电路,用于生成flag标志信号W进行累加选择控制,W实现所述累 加选择控制为,将所述数据读取选择信号所选中的所述部分和数据与所述累加树模块在当 前时钟周期输出的所述部分和数据相加后的结果作为更新的部分和数据进行输出,或者直 接将所述累加树模块在当前时钟周期输出的所述部分和数据进行输出,其中输出的数据还 基于所述flag标志信号和所述数据寄存选择信号的控制而选择寄存于所述寄存器或输出 到外部存储器。
[0017] 本发明的数据累加装置,其中,
[0018] 所述树结构为二叉树结构或华莱±树结构。
[0019] 本发明的数据累加装置,其中,
[0020] 所述二叉树结构为,在除了叶节点外的每个节点处有一个加法器,父亲节点处的 加法器对该父亲节点的两个儿子节点的数据进行相加,在二叉树的根节点得出所述部分和 数据。
[0021] 本发明的数据累加装置,其中,
[0022] 所述数据选通信号的位宽度等于所述二叉树的叶子节点数,且所述数据选通信号 的每一位的数据对应于一个所述二叉树的叶子节点的数据,通过使所述数据选通信号的某 一位或多位的数据无效来控制与该某一位或多位的数据相对应的所述叶子节点的数据不 进行累加。
[0023] 本发明的数据累加装置,其中,
[0024] 所述输入数据为定点数时,所述二叉树结构中的所述父亲节点的精度比该父亲节 点的两个儿子节点中较高精度的节点高一个比特。
[0025] 本发明的数据累加装置,其中,
[0026] 所述输入数据包括浮点数、定点数、有符号数、无符号数、整数和/或实数。
[0027] 另外,本发明还提供一种数据累加方法,包括W下步骤:
[0028] 步骤1,控制电路的选通信号生成电路生成数据选通信号并发送到累加树模块;
[0029] 步骤2,所述累加树模炔基于所述数据选通信号判断哪些输入数据需进行累加,并 对需累加的输入数据W树结构的形式累加为部分和数据;
[0030] 步骤3,所述控制电路的数据寄存信号生成电路生成数据寄存选择信号并发送到 寄存模块,所述寄存模炔基于数据寄存选择信号将所述部分和数据寄存于数据寄存选择信 号所选中的寄存器;
[0031] 步骤4,所述控制电路的数据读取信号生成电路生成数据读取选择信号并发送到 所述寄存模块W选中所述寄存器模块的某一个寄存器中寄存的一个或多个所述部分和数 据;
[0032] 步骤5,所述控制电路的flag信号生成电路生成flag标志信号W进行累加选择控 审IJ,所述累加选择控制为,将所述数据读取选择信号所选中的所述部分和数据与所述累加 树模块在当前时钟周期输出的所述部分和数据相加后的结果作为更新的部分和数据进行 输出,或者直接将所述累加树模块在当前时钟周期输出的所述部分和数据进行输出,其中 输出的数据还基于所述flag标志信号和所述数据寄存选择信号的控制而选择寄存于所述 寄存器或输出到外部存储器。
[0033] 步骤6,输出的数据基于所述flag标志信号和所述数据寄存选择信号的控制而选 择寄存于所述寄存器或输出到外部存储器。
[0034] 本发明的数据累加方法,其中,
[0035] 在所述步骤5中,所述累加选择控制进一步为:
[0036] 如果flag标志具有第一个值,则将所述数据读取选择信号所选中的所述部分和数 据与所述累加树模块在当前时钟周期输出的所述部分和数据相加后的结果作为更新的部 分和数据进行输出;
[0037] 如果flag标志具有第二个值,则直接将所述累加树模块在当前时钟周期输出的所 述部分和数据进行输出。
[0038] 另外,本发明还提供一种包括上述的数据累加装置的数字信号处理装置。所述数 字信号处理装置为数字信号处理器、数字信号
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1