没有合适的资源?快使用搜索试试~ 我知道了~
基于SRAM的通用存算一体架构平台在物联网中的应用.docx
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 30 浏览量
2023-02-23
20:14:30
上传
评论 1
收藏 958KB DOCX 举报
温馨提示
试读
22页
基于SRAM的通用存算一体架构平台在物联网中的应用.docx
资源推荐
资源详情
资源评论
1. 引言
随着移动互联网、云计算、物联网和人工智能等技术的快速发展,我们正全面步入大
数据时代。大数据最重要的特征之一,也是大数据时代社会所面临最大的一个挑战:有海
量的数据需要处理
[1]
。因为在大数据时代,包括社交媒体、生物医疗、气象、交通和航空
航天等在内的多种领域均会产生海量的数据。例如当前国际射电天文界最重要的大型望远
镜项目之一——平方千米阵(Square Kilometer Array, SKA)
[2]
,每年可以产生 300 PB 容量的
数据
[3]
;一架波音喷气式客机飞行一小时就能产生约 21 TB 容量的数据
[4]
。社会所产生的数
据是呈指数式爆炸增长的
[5]
,据全球知名数据公司 IDC (International Data Corporation)发布
的《数据时代 2025》白皮书报告显示,到 2025 年,全球每年产生的数据将从 2018 年的 33
ZB 增长到 175 ZB,相当于全球每天产生 491 EB 的数据
[6]
。
大数据的出现与繁荣发展使得数据处理的重心逐渐从以计算为中心转移到以数据为中
心
[7]
,即数据处理任务或应用从计算密集型转移为数据密集型。而由于存储墙
[8]
和带宽墙
[9]
等原因,当前采用冯诺依曼架构设计的计算机系统在数据密集型计算中表现出的性能瓶颈
和低能效等缺点日益凸显。因此,为了解决这些问题,新的计算机架构,特别是超越冯诺
依曼(beyond von Neumann)架构,亟待提出。
近年来,存算一体(In-Memory Computing, IMC)架构引起了研究人员的广泛关注,并
被认为是一种有望成为突破冯诺依曼瓶颈的新计算机架构范式。存算一体的核心思想是使
得计算单元和存储单元尽量靠近,甚至融合为一体
[10]
。近期前沿文献中实现 IMC 架构的方
式有多种,例如基于新兴的 3D 堆叠封装
[11-13]
或者忆阻器等非易失存储器件
[14-16]
来实现。然
而,由于 3D 堆叠以及非易失存储等新兴技术并不十分成熟,基于这些技术设计的 IMC 架
构短时间很难得到广泛应用。因此,许多文献
[17-24]
逐渐基于技术成熟的 SRAM 来探索和设
计 IMC 架构,并证明基于 SRAM 的 IMC 架构在实现数据密集型应用时能够带来显著的性
能和能效提升。例如,文献[20]为本文作者所设计的一种基于 SRAM 实现的通用 IMC 架
构平台——DM-IMCA。为弥补现有文献中几乎所有基于 SRAM 来实现的 IMC 架构均面向
如神经网络等专用目的而设计的缺憾,DM-IMCA 能够在其内部 SRAM 中进行大部分的逻
辑运算和算术运算,因此具有广泛的通用性,并且具有较高的潜力和价值。
为了充分挖掘 DM-IMCA 的应用潜力和价值,本文探索了该平台在物联网领域中的应
用。详细来说,本文选取了包括物联网中信息安全、深度神经网络以及图像处理在内的若
干轻量型数据密集型应用,对相关算法进行分析或者拆分,并把算法的关键部分映射到
DM-IMCA 的 SRAM 中进行计算,以达到加速应用计算或者降低功耗的目的。
2. 基于 SRAM 的存内逻辑计算原理
在传统 SRAM 的 1 个读操作周期内,共用同 1 对位线的若干个存储单元中,只有其
中 1 个会被选中读取。如果对位于 SRAM 同一列的两个或者多个存储单元同时进行读取,
最后位线上电平所代表的逻辑值将是被打开的单元所存储比特的相与结果
[17]
。图 1 展示了
在 SRAM 列内实现计算的基本原理。晶体管 M1—M6 和 M7—M12 分别构成了两个 6 管
SRAM 存储单元 MC
A
和 MC
B
,且这两个存储单元位于同 1 对位线上,Q
A
/QB
A
和 Q
B
/QB
B
分
别为 MC
A
和 MC
B
上的存储节点,且记 Q
A
=A 和 Q
B
=B。记位线 BL 和 BLB 上的逻辑值分别
为 F 和 F
B
。当 A=B=1 时,读取 MC
A
和 MC
B
中任何一个单元将会使已经预充电的 BLB 放
电,而 BL 的电位将会保持不变。若将 MC
A
和 MC
B
的字线同时打开,位线 BLB 会同时通
过通路①和通路②来放电,而位线 BL 将会保持高电平。观察容易发现,位线 BL 和 BLB
上的逻辑值分别是打开的两个存储单元 MC
A
和 MC
B
中值的“与”和“或非”结果,即$F = A
\cdot B$和${F_{\rm{B}}} = \overline A \cdot \overline B = \overline {A + B} $,如图 1(a)所
示。若在位线上增加一个灵敏放大器(Sense Amplifier, SA),并将两个 SA 的其中一端接至
合适的公共参考电压,那么便可以在这两个 SA 的输出端分别得到 F 和 F
B
这两个逻辑结
果,如图 1(b)所示。事实上,位线上的逻辑运算不仅对于两个存储单元成立,对于同一位
线上的多个存储单元也适用。记同一对位线 BL 和 BLB 上所挂载单元中所存储的内容分别
为${A_1},{A_2}, ··· ,{A_n}$,两个 SA 输出的逻辑分别为 F 和 F
B
,那么理论上可以得到逻
辑运算关系式
DM-IMCA
[20]
是一个基于 SRAM 的通用 IMC 架构平台,其硬件架构如图 2 所示。
DM-IMCA 主要由 1 个 6 级流水精简指令集处理器核、1 个指令存储器、1 个存内计算协处
理器——IMC-CP,以及由若干 SRAM 模块组成的数据存储器组成。其中处理器核是基于
一款开源、具有经典 5 级流水且兼容 MIPS32 架构的低功耗轻量处理器核 OpenMIPS 进行
裁剪与改进而来的。
图 2 DM-IMCA 硬件架构图
下载: 全尺寸图片 幻灯片
数据存储器由若干常规 SRAM 模块与计算型 SRAM——IMC-SRAM 组成。IMC-
SRAM 是一款融合存储和计算为一体的 SRAM,其硬件架构如图 2(e)所示。IMC-SRAM 是
在如图 1 所示的电路原理基础之上,将传统 6 管单元换成 9 管单元,以消除 6 管单元所带
来的读写互扰以及进行存内计算时的问题。此外,IMC-SRAM 中还额外加入了少许逻辑
门,用于实现除“与”和“或非”逻辑之外的其他运算。与已有文献相比,IMC-SRAM 可以支
持更多类型的运算,例如加法、移位运算等。此外,IMC-SRAM 支持存内向量计算。如
图 2(e)所示,将向量操作数 A 和 B 沿字线方向对齐存储,那么只需 1 次操作,便可对存储
阵列中某一行的 A 和 B 分量计算完,然后将计算结果回写至同样与 A 和 B 对齐存储的向
量 C 中。在 IMC-SRAM 进行存内计算时,数据存储器中的常规 SRAM 仍然可以进行数据
的读写操作。
IMC-CP 是一个为存内计算设计的轻量协处理器,主要作用是对处理器核传送过来的
IMC 指令进行译码,然后根据译码后的信息对 IMC-SRAM 进行模式配置及控制存内计算
操作,包括计算并配置操作数地址以及管理 IMC-SRAM 中的存内计算过程。IMC-CP 中还
包括几个重要的可配置的状态寄存器:
(1)R0:用来保存下一次存内计算的矢量长度信息;
(2)R1-R3:用来保存 IMC-CP 对 IMC 指令译码后得到的源操作数和目的操作数的列地
址;
剩余21页未读,继续阅读
资源评论
罗伯特之技术屋
- 粉丝: 3550
- 资源: 1万+
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Qt开发知识、经验总结 包括Qss,数据库,Excel,Model/View等
- IV数据.xlsx
- 一些深度学习中的小例子,适合新手学习使用
- foldcraftlauncher_262944.apk
- 珍藏多年的基于matlab实现潮流计算程序源代码集合,包含多个潮流计算程序.rar
- 使用FPGA实现串-并型乘法器
- 基于matlab实现针对基于双曲线定位的DV-Hop算法中误差误差出一种基于加权双曲线定位的DV-Hop改进算法.rar
- 基于matlab实现由遗传算法开发的整数规划,车辆调度问题.rar
- 电视家7.0(对电视配置要求高).apk
- 免费计算机毕业设计-基于JavaEE的医院病历管理系统设计与实现(包含论文+源码)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功