乐鱼体育平台
北航康旺副研究员团队:基于压控自旋轨道矩磁性随机存储器的存内计算全加器设计
来源:乐鱼体育平台 发布时间:2023-10-20 04:26:08
加法器作为处理器中最基本的逻辑运算单元,是存算一体技术的重要应用案例。团队采用电压调控的自旋轨道矩磁存储器(SOT-MRAM),设计了一个存算一体可重构逻辑阵列,可以在一定程度上完成全部布尔逻辑功能和高度并行计算。在此基础上,设计了存算一体加法器,极大提高了加法器的计算速度和并行度,并降低了计算功耗。
1 研究背景
存算一体是一种新兴的计算架构(如图 1 所示),其核心理念是将计算与存储功能融合在同一硬件单元中,以提高计算效率和节约能耗。
图 1存算一体架构
与传统冯诺依曼计算架构相比,存算一体架构具有以下优势:
快速计算:由于计算操作直接在存储单元中进行,避免了数据传输,可以大幅度提升并行计算速度,尤其在大规模数据处理和深度学习等矩阵运算任务上表现出色。
能耗效率:存算一体架构节约了数据传输过程中的能量消耗,减少了传输能耗。
空间利用率:存储与计算融合一体化设计能够大大减少硬件组件的数量和互联,有助于构建更紧凑、更高集成度的系统。
实时性:存算一体架构能够给大家提供更快的响应时间,特别是对于一些实时计算任务,如视频处理、边缘计算等具备极其重大意义。
内存访问优化:存算一体架构能够在内存级别上优化数据访问,提高数据局部性,减少了存储器访问的不确定性,来提升系统性能。
总的来说,存算一体技术在大规模数据处理和AI领域,将会在计算效率和能耗节约方面取得显著的优势。
自旋电子器件是一种在电子电荷基础上进一步利用电子自旋属性来进行信息处理和存储的器件。它们的优良属性非常适合于存算一体架构:
阻变存储特性:自旋电子器件的阻变存储特性可构建大规模交叉阵列,从而完成高并行运算。
能量效率:自旋电子器件的状态转换只涉及电子自旋方向的改变而不涉及电荷运动,能够在极低能耗情况下完成数据写入。
高集成度:自旋电子器件可以通过后道工艺实现 3D 片上集成。
非易失性:自旋电子器件的非易失性存储特性使其能够在断电或切换操作时保持数据完整性,而无需额外的数据传输或保存操作。
加法器(Full Adder,FA)是算术逻辑单元(ALU)中最基本的元件之一。通过研究加法器的存算一体化实现,可以验证存算一体技术在逻辑电路中的可行性和有效性。
基于存算一体架构的加法器将存储和计算集成在同一单元内完成,用于执行加法器的布尔逻辑运算。在这种设计中,要解决以下问题:
存储单元设计:加法器需要保存输入数据和中间结果。在存算一体设计中,需要确定存储单元的大小、类型和访问方式,以满足加法器的功能需求。
布尔逻辑计算:加法器是一个具有复杂逻辑计算的电路。在存算一体设计中,要实现有效的布尔逻辑计算电路,确保正确执行加法器的功能。
数据通路设计:加法器需要在存储单元和计算单元之间传递数据。设计有效的数据通路,以确保数据能够在计算单元内部流动,同时保持高吞吐量和低延迟。
端口冲突:由于存储和计算共享同一单元,有几率会使端口冲突,即一起进行读写存储和执行计算操作时的冲突问题。要设计合适的调度和冲突解决方案,以确保计算单元的高效利用。
存储器访问效率:加法器的计算需要读取输入数据和写入结果数据到存储单元。需要仔细考虑存储器的访问效率,包括存储器的带宽、延迟等因素,以确保数据能够及时提供给计算单元。
数据一致性:在并行执行多个加法器操作时,数据的读写操作需要正确同步,避免数据冲突和错误结果。
能耗和散热:集成存储和计算在同一计算单元内可能增加功耗和热量。需要有效的散热和节能方案,以保证加法器的稳定性和可靠性。
以上问题是在设计和实现基于存算一体架构的加法器时需要仔细考虑和解决的核心问题,以实现高效、可靠的加法器运算。
3 主要工作
针对以上存在的问题,本文基于压控 SOT-MRAM,构造了存算一体可重构阵列,并在此基础上进行了加法器的设计与实现。概况地说,本文的主要工作有以下 3 点:
( 1 ) 全布尔逻辑的存算一体架构
本文提出的存算一体逻辑阵列能够最终靠输入信号的配置实现全部布尔逻辑的运算功能,图 2 所示为基于单个器件实现的 与 、 或 和 异或 操作,在此基础上,能够最终靠基本逻辑的组合实现全部布尔逻辑功能。
( 2 ) 存算一体可重构阵列
阵列结构如图 3 所示,该阵列支持多级并行处理:一方面该逻辑阵列支持阵列间的并行操作,不同的阵列在同一时刻可以执行不同的逻辑操作;另一方面,单个阵列不同行之间也能够最终靠输入信号的配置执行不同的逻辑运算,以此来实现多级并行计算模式。
图 3存算一体可重构逻辑阵列
( 3 ) 并行高能效存算一体加法器
本文提出的加法器能轻松实现高度并行运算,具有高速、低功耗的性能优势,有效解决了 存 、 算 以及数据通路中制约计算效率的一系列问题,加法器的计算过程如图 4 所示。具体的计算过程如下:
图 5并行存算一体阵列结构
步骤 2在 M1 中执行 XY 的操作,M2 中执行 X ⊕ Y 的操作,M3 不进行操作。
步骤 3将步骤 2 中的计算结果读取之对应的寄存器中。
值得注意的是,在文献 [ 18 ] 中,由于同一个逻辑阵列单元只能够顺序完成不同的逻辑操作,因此文献 [ 18 ] 中并行存算一体架构需要 3 个不同的逻辑阵列来并行完成图 4 所示的加法器并行操作,如图 5 ( a ) 中红色虚线框区域所示。同时,操作的流程中寄存器中的数据需要在这 3 个可重构阵列间进行传递,增加了数据传输的延时。
本文提出的方案(VC-FA)可以在同一个可重构阵列中并行执行不同的逻辑操作,因此 VC-FA 的并行存算一体阵列仅需要一个逻辑阵列来并行执行加法器操作,如图 5 ( b ) 红色方框所示。其他逻辑阵列可以灵活的配置成存储单元或者逻辑单元,文献 [ 18 ] 中的可重构阵列配置为逻辑阵列进行并行运算时,只能 3 个 1 组进行配置。与文献 [ 18 ] 相比,本文提出的存算一体逻辑阵列,在相同规模阵列结构下,具有更高的并行度,支持更大规模的并行运算。
4 结果分析
本文基于电场调控 SOT-MRAM,提出一种存算一体可重构逻辑阵列。该可重构阵列不仅支持不同操作数之间的并行运算,还可以在一定程度上完成阵列内的多逻辑并行运算。在此基础上,我们设计了存算一体并行加法器 VC-FA 。仿真根据结果得出,VC-FA 可以并行完成加法操作,并在多个阵列并行模式下实现更快的计算速度和更低的功耗。