一种混合多进制算术逻辑单元阵列处理器的制作方法

摘要: 本发明涉及数字集成电路,具体涉及一种包含多个可独立配置基数的算术逻辑单元阵列处理器,以及跨基数互连网络。背景技术:1、现有处理器架构中所有算术逻辑单元的基数均固...
一种混合多进制算术逻辑单元阵列处理器的制作方法

本发明涉及数字集成电路,具体涉及一种包含多个可独立配置基数的算术逻辑单元阵列处理器,以及跨基数互连网络。

背景技术:

1、现有处理器架构中所有算术逻辑单元的基数均固定为二进制,部分可重构阵列处理器支持单元运算功能的运行时切换——例如将同一算术单元从加法切换为乘法——但各单元的算术基数仍固定为二进制。

2、然而,上述方案的算术基数在综合或设计阶段即固定,无法在同一硬件上同时支持多种基数或运行时动态切换基数。具体包括以下局限:(1)基数固定,单一alu的基数在综合时固定,无法在同一硬件上灵活切换为其他基数(如基3、基6、基7等),对于需要在不同模数空间之间频繁切换的应用场景,固定基数方案需要多颗芯片或多次重配置;(2)混合基数运算无硬件支持,现实世界中的周期系统往往不是单一基数(例如基3、基5、基6、基7、基10等多种不同模数),现有处理器无法在同一数据路径上以混合基数并行处理;(3)阵列扩展缺乏标准化互连方案,当需要多个非二进制基数alu协同工作时,缺乏标准化的单元间数据交换、进位传递和同步机制,扩展为阵列时设计复杂度随单元数线性增长;(4)现有混合基数运算引擎(如面向fft等专用应用的混合基数引擎)的基数重配置仅限于整体引擎级——全部单元同时切换为同一基数,无法对不同单元独立配置不同基数,且单元间进位传播仍遵循固定二进制规则,缺乏跨基数的进位传播机制,当相邻alu单元配置不同基数时,低位单元的进位值无法依据其配置基数正确传递至高位单元,不同基数的单元无法直接参与多单元联合运算,仍须先将各单元结果转换回同一基数后分步完成。

3、 现有技术中,可重构阵列处理器(如pact xpp架构)支持单元运算功能的运行时切换,但各单元的算术基数仍固定为二进制。此类可重构阵列的运算功能重构通过改变数据路由和操作码映射实现,不涉及算术单元内部进位链的重新配置。基数值的改变与运算功能的改变存在本质区别:基数决定进位链的比较阈值、模运算器的范围上限和借位逻辑的级联深度,这些是算术单元的电路拓扑特征而非操作映射特征。因此,现有可重构阵列处理器无法在同一数据路径上以不同基数并行处理,当需要非二进制模数运算时仍需多条二进制指令组合完成。

技术实现思路

1、本发明要解决的技术问题是:现有算术逻辑单元中基数固定为二进制不可切换、混合基数运算需软件模拟、阵列扩展缺乏标准化互连方案的问题。

2、为解决上述技术问题,本发明提供一种混合多进制算术逻辑单元阵列处理器,其核心在于通过可配置基数、跨基数进位传播电路和运行时基数重配置机制,使同一硬件支持多种非二进制基数的并行运算、跨基数多单元联合运算和运行时动态切换。

3、本发明采取的技术方案如下:

4、一种混合多进制算术逻辑单元阵列处理器,包括:可配置基数alu单元阵列,包含多个alu单元,各单元具有独立的可编程算术基数,每个单元包含基数配置寄存器、结构化操作码解码器和进位移位链;跨基数进位传播电路,当阵列执行多单元联合运算时,低位单元向高位单元的进位值由该低位单元的配置基数确定,进位值不等于固定的二进制2,进位线包含基数编码子线和有效标志子线,基数编码子线传输进位值,其位宽根据阵列支持的最大基数k_max确定为ceil(log2(k_max))位,有效标志子线为单线,在进位有效时拉高;跨基数互连网络,连接各alu单元的数据交换结构;运行时基数重配置控制器,支持全局、行或列和单元级三种重配置粒度,包含有限状态机,在流水线间隙完成基数切换,不消耗额外运算时钟周期;混合基数数据分解与重组单元,在前端将二进制输入按各单元基数分解、在后端将多路结果统一为二进制输出;自适应流水线控制单元,根据阵列配置动态调整流水线阶段。

5、进一步地,所述跨基数互连网络包含相邻单元直接互连通道(支持进位/借位的跨单元传递)、行广播总线和列广播总线(支持同一行或列单元同时接收相同操作数)、对角线数据转发路径(支持非相邻单元的间接数据交换)。

6、进一步地,所述运行时基数重配置控制器包含有限状态机,所述有限状态机包含全局重配置状态、行或列重配置状态和单元级重配置状态;所述有限状态机接收外部基数配置指令后在流水线间隙将指定alu单元的基数配置寄存器的值替换为新配置值,切换过程不消耗额外运算时钟周期。

7、进一步地,所述混合基数数据分解与重组单元包含前端分解器和后端重组器;所述前端分解器包含与alu单元一一对应的多路基数编码查找表,将外部二进制输入数据按照各alu单元的配置基数分解为多路混合基数表示,各分解通道之间互不依赖,每个单元接收其对应基数的有效数据段;所述后端重组器将各路运算结果按照各自的基数统一为二进制输出。

8、进一步地,所述自适应流水线控制单元包含多级流水线阶段寄存器和阶段选择器,所述阶段选择器根据阵列配置从流水线阶段寄存器中选择激活的阶段序列,所述阶段序列包括数据分配阶段(d,将输入数据分发至各alu单元)、并行运算阶段(p,各单元独立执行配置运算)、跨基数交互阶段(c,需要跨单元数据交换时插入)、重组输出阶段(r,结果统一输出)。

9、有益效果:(1)可配置基数使单芯片支持多种非二进制的基数切换,消除了综合后基数固定的限制;(2)混合基数并行运算将多步骤软件模拟转换为单周期硬件完成,显著降低延迟;(3)标准化阵列互连方案使扩展成本与单元数呈线性关系,避免了全互连方案的平方级增长——每增加一倍单元数的设计复杂度增量恒定;(4)运行时重配置支持三种粒度,使同一硬件在不同运算阶段充当不同基数结构的加速器;(5)跨基数进位传播电路使不同基数的alu单元可直接参与多单元联合运算,进位值由源单元配置基数确定并以基数编码子线传递,消除了混合基数运算中进位值的基数转换开销,实现真正意义上的跨基数硬件流水。

1.一种混合多进制算术逻辑单元阵列处理器,其特征在于,包含:

2.根据权利要求1所述的处理器,其特征在于,还包含跨基数互连网络,连接所述多个alu单元之间的数据交换路径,包括相邻单元直接互连通道、行广播总线、列广播总线和对角线数据转发路径。

3.根据权利要求1所述的处理器,其特征在于,所述运行时基数重配置控制器支持三种配置粒度:全局重配置——所有单元统一基数;行或列重配置——同一行或同一列单元统一基数;单元级重配置——单个单元独立基数。

4.根据权利要求1所述的处理器,其特征在于,所述运行时基数重配置控制器在流水线间隙将指定alu单元的基数配置寄存器的值替换为新配置值,所述流水线间隙为并行运算阶段完成后至下一流水线阶段开始前的空闲时间窗口,切换过程不消耗额外运算时钟周期。

5.根据权利要求1所述的处理器,其特征在于,进位传播链的长度根据阵列配置动态调整,最大覆盖长度为该阵列的行数加列数减一。

6.根据权利要求1所述的处理器,其特征在于,所述可配置基数alu单元阵列中的每个alu单元还包含:

7.根据权利要求1所述的处理器,其特征在于,还包含自适应流水线控制单元,包含多级流水线阶段寄存器和阶段选择器,所述阶段选择器根据阵列配置从流水线阶段寄存器中选择激活的阶段序列,所述阶段包括:数据分配阶段——将输入数据分发至各alu单元;并行运算阶段——各单元独立执行配置运算;跨基数交互阶段——需要跨单元数据交换时插入;重组输出阶段——结果统一输出。