使用查找表的可重新配置的存储器内处理逻辑制造技术

技术编号:31978273 阅读:27 留言:0更新日期:2022-01-20 01:31
本公开涉及使用查找表的可重新配置的存储器内处理逻辑。实现存储器内处理流水线的实例系统包含:存储多个查找表LUT和数据的存储器阵列;耦合到所述存储器阵列的控制块,所述控制块通过激活所述多个LUT中的一或多个LUT来控制计算流水线;以及耦合到所述存储器阵列和所述控制块的逻辑阵列,所述逻辑阵列基于从所述控制块接收到的控制输入,对激活的LUT和所述数据执行逻辑运算。所述数据执行逻辑运算。所述数据执行逻辑运算。

【技术实现步骤摘要】
使用查找表的可重新配置的存储器内处理逻辑


[0001]本公开的实施例总体上涉及存储器系统,更具体地,涉及使用查找表实现可重新配置的存储器内处理逻辑。

技术介绍

[0002]计算机系统可以包含一或多个处理器(例如通用处理器,也可以称为中央处理单元(CPU)和/或专用处理器,例如专用集成电路(ASIC)、现场可编程门阵列(FPGA)、图形处理单元(GPU)等),它们耦合到一或多个存储器装置,并使用存储器装置来存储可执行指令和数据。为了提高计算机系统的吞吐量,可以实现各种解决方案来实现计算中的并行性。

技术实现思路

[0003]本公开的一方面涉及一种系统,其包括:存储多个查找表(LUT)和数据的存储器阵列;耦合到所述存储器阵列的控制块,所述控制块通过激活所述多个LUT中的一或多个LUT来控制计算流水线;以及耦合到所述存储器阵列和所述控制块的逻辑阵列,所述逻辑阵列基于从所述控制块接收到的控制输入,对激活的LUT和所述数据执行逻辑运算。
[0004]本公开的另一方面涉及一种片上系统(SoC),其包括:存储多个查找表(LUT)和数据的存储器阵列;耦合到所述存储器阵列的一或多个逻辑阵列,所述一或多个逻辑阵列用于:通过激活所述多个LUT中的一或多个LUT来控制计算流水线;以及对激活的LUT和所述数据执行逻辑运算。
[0005]本公开的又一方面涉及一种方法,其包括:在存储器阵列中存储多个查找表(LUT)和数据;由耦合到所述存储器阵列的控制块激活所述多个LUT中的一或多个LUT;以及由耦合到所述控制块和所述存储器阵列的逻辑阵列,基于从所述控制块接收到的控制输入,对激活的LUT和所述数据执行逻辑运算。
附图说明
[0006]从下面给出的详细描述和本公开的一些实施例的附图中,将更全面地理解本公开。
[0007]图1示出了根据本公开各方面实现的实例存储器内处理(PIM)模块的高级架构图。
[0008]图2示意性地示出了根据本公开各方面的用于实现PIM计算流水线的实例LUT。
[0009]图3示意性地示出了由根据本公开各方面操作的PIM系统实现的计算流水线的简化实例。
[0010]图4示意性地示出了由根据本公开各方面操作的PIM系统实现的并行加法器流水线的实例。
[0011]图5示意性地示出了由根据本公开各方面操作的PIM系统实现的并行乘法流水线的实例。
[0012]图6是由根据本公开的一些实施例操作的PIM系统实现计算流水线的实例方法的
流程图。
[0013]图7示出了包含根据本公开的一些实施例实现的存储器子系统的实例计算系统。
[0014]图8是本公开的实施例可以在其中操作的实例计算机系统的框图。
具体实施方式
[0015]本公开的实施例针对使用查找表(LUT)来实现可重新配置的存储器内处理(PIM)逻辑。
[0016]计算机系统可以包含一或多个处理器(例如通用处理器,也可以称为中央处理单元(CPU)和/或专用处理器,例如专用集成电路(ASIC)、现场可编程门阵列(FPGA)、图形处理单元(GPU)、神经和人工智能(AI)处理单元(NPU)等),它们耦合到一或多个存储器装置,并使用存储器装置来存储可执行指令和数据。为了提高计算机系统的吞吐量,可以实现各种解决方案来实现计算中的并行性。然而,这种解决方案通常基于增加处理核心(例如GPU核心)的数量,因此增加了计算机系统的能耗和总成本。
[0017]为了提高系统吞吐量,同时避免过高的成本,本公开的实施例通过配备有逻辑阵列和控制块的存储器装置来实现PIM操作。逻辑阵列可以包含各种逻辑组件(例如,加法器、触发器等),这些逻辑组件可以访问存储在存储器装置中的LUT,从而实现可重新配置的处理逻辑。控制块可以通过激活某些LUT(例如,通过激活其中,存储了LUT的必要行的字线)并向逻辑阵列提供控制信号来管理计算。可重新配置的PIM逻辑可以用于实现各种计算流水线,包含高度并行的超标量流水线、向量流水线、脉动阵列、硬件神经网络和/或其它类型的计算流水线,如下文更详细描述的。
[0018]因此,相对于用于实现各种计算流水线的各种现有硬件实现、系统和方法,根据本公开的一些实施例实现的系统和方法的优点包含但不限于提供更具成本效益。根据本公开的实施例实现的PIM系统可以被嵌入式系统、电路仿真或仿真系统以及各种硬件加速器采用,尤其是对于需要高度并行性的算法。在一些实施例中,对于需要宽电路和大量存储器的应用,根据本公开各方面实现的PIM系统可以优于专用处理器(例如专用集成电路(ASIC)、现场可编程门阵列(FPGA)、图形处理单元(GPU)等)。
[0019]图1示出了根据本公开各方面实现的实例PIM系统100的高级架构图。如图1所示,PIM系统100包含耦合到控制块120的存储器阵列110、逻辑阵列130和高速缓存/寄存器存储器140。本文的“耦合到”是指组件之间的电连接,包含通过一或多个中间组件的间接连接和直接连接(即,没有中间组件)。
[0020]在一个实施例中,PIM系统100可以实现为位于单个芯片上的一或多个集成电路。在另一个实施例中,PIM系统100可以实现为片上系统,除了图1所示出的组件之外,该片上系统还可以包含一或多个处理核心和一或多个输入/输出(I/O)接口。在一些实施例中,PIM系统100可以包含各种其它组件,为了清楚和简明,从图1中省略了这些组件。
[0021]存储器阵列110可以由动态随机存取存储器(DRAM)阵列提供,其为可由行(字线)和列(位线)寻址的存储器单元矩阵。每个存储器单元包含保持电荷的电容器和充当控制对电容器的访问的开关的晶体管。
[0022]在另一个实施例中,存储器阵列110可以由电阻随机存取存储器(ReRAM)提供,包含但不限于3D X点存储器,其为可由行(字线)和列(位线)寻址的存储器单元矩阵,包含行
和列对称的实施例(行可以扮演列的角色,列可以扮演行的角色)。每个存储器单元包含保持其导电性或电阻率状态的电阻存储器单元。
[0023]在另一个实施例中,存储器阵列110可以由闪存提供,包含但不限于3D NAND闪存,其为可由平面(字线)和NAND串(位线)寻址的存储器单元的3D矩阵。每个存储器单元包含具有浮栅的闪存晶体管,该浮栅根据存储在晶体管浮栅中的电荷保持其阈值电压状态(Vt)。
[0024]在另一个实施例中,存储器阵列110可以由非易失性混合FeRAM

DRAM存储器(HRAM)阵列提供,该阵列为可由行(字线)和列(位线)寻址的存储器单元矩阵。每个存储器单元包含保存电荷的铁电电容器和作为控制对铁电电容器的访问的开关的晶体管。
[0025]存储器阵列110可以用于存储用于计算的LUT和数据,以及计算结果。每个LUT可以通过存储与包括一或多个逻辑运算输入的查找地址相关联的一或多个逻辑运算结果来实现算术或逻辑运算。在一些实施例中,PIM系统100可以进一步包含耦合到存储器阵本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种系统,其包括:存储多个查找表LUT和数据的存储器阵列;耦合到所述存储器阵列的控制块,所述控制块通过激活所述多个LUT中的一或多个LUT来控制计算流水线;以及耦合到所述存储器阵列和所述控制块的逻辑阵列,所述逻辑阵列基于从所述控制块接收到的控制输入,对激活的LUT和所述数据执行逻辑运算。2.根据权利要求1所述的系统,其进一步包括耦合到所述存储器阵列和所述逻辑阵列的高速缓存,其中,所述高速缓存用于存储所述多个LUT中的一或多个LUT。3.根据权利要求1所述的系统,其中,所述逻辑阵列包括以下至少一个:全加器、半加器、乘法器或D型触发器。4.根据权利要求1所述的系统,其中,所述多个LUT中的一或多个LUT通过与包括一或多个逻辑运算输入的查找地址相关联地存储一或多个逻辑运算结果来实现一或多个逻辑运算。5.根据权利要求4所述的系统,其中,所述查找地址识别所述存储器阵列的字线。6.根据权利要求1所述的系统,其中,所述控制块控制所述逻辑阵列和所述多个LUT来实现单指令多数据SIMD计算流水线。7.根据权利要求1所述的系统,其中,所述控制块控制所述逻辑阵列和所述多个LUT来实现超长指令字VLIW计算流水线。8.根据权利要求1所述的系统,其中,所述控制块控制所述逻辑阵列和所述多个LUT来实现标量计算流水线。9.根据权利要求1所述的系统,其中,所述控制块控制所述逻辑阵列和所述多个LUT来实现脉动阵列的计算流水线。10.根据权利要求1所述的系统,其中,所述控制块顺序执行存储在所述存储器阵列中的一组可执行指令。11.一种片上系统SoC,其包括:存储多个查找表LUT和数据的存储器阵列;耦合到所述存储器阵列的一或多个逻辑阵列,所述一或多个逻辑阵列...

【专利技术属性】
技术研发人员:D
申请(专利权)人:美光科技公司
类型:发明
国别省市:

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

1