何飞勇
摘要:随着经济的迅速发展以及科学技术水平的不断提高,互联网、物联网、云计算等技术得到了很大程度的发展,人类已经大步迈入大数据时代。在这一背景之下数据处理的中心逐渐发生转变,由原先的以计算为中心逐渐转变为以数据为中心。近年来,存算一体(IMC)架构逐渐兴起,但受到诸多技术因素的限制,这一架构的应用广泛性并不是很高,因此国内外很多专业人员基于技术相对成熟的SRAM来对IMC架构开展探索与设计。本文就针对基于SRAM的通用存算一体架构平台在物联网中的应用进行研究与分析。
关键词:SRAM;物联网; 存算一体架构
1计算原理
于传统SRAM而言,在1个读操作空间内共用同1对位线的若干个存储单元中,仅有一个会被读取,而如果对位于SRAM同一列的两个或者多个存储单元同时进行读取,最后位线上电平所代表的逻辑值将是被打开的单元所存储比特的相与结果。SRAM列内实现计算的基本原理主要如下:首先是有位于同1对位线上的两个6管SRAM存储单元,而这两个存储单元分别是由6根晶体管组成;在存储单元之上又存在存储节点,若将存储节点计为A与B,当A=B=1时,在这种情况下对任一SRAM存储单元进行读取,则会促使已经预充电的一侧位线放电,而另一侧位线的点位则维持不变;如果将两个存储模块的字线同时打开,一侧位线则可以同时通过两个通路进行放电操作,此时另一侧位线会保持高电平。由此我们可以发现其中的逻辑,即一侧位线与另一侧位线上的逻辑值分别为打开两个存储单元中值的“与”和“或非”结果。在这种情况下如果在位线之上增加一个灵敏放大器,且同时将位线其中一端接至合适的公共参考电压,则可以在输出端获得两个逻辑结果。
2基于SRAM的通用IMC架构平台
2.1平台构成
此架构平台是由多个部分共同组成,分别为由1个6级流水精简指令集处理器核、1个指令存储器、1个存内计算协处理器、若干SRAM模块组成的数据存储器。在这些构件之中,数据存储器是由若干个常规SRAM模块与计算型SRAM——IMC-SRAM组成。IMC-SRAM同时具备融合存储与计算的功能,它对传统的电路原理基础做出了一些改变,用9管单元代替了原先的6管单元,这样一来,原先6管单元存在的读写互扰与在存计算时所存在的一系列问题得到了很大程度上的缓解;不仅如此,在IMC-SRAM之中,还对部分逻辑门进行了额外增加,这部分逻辑门的主要作用是实现除了“与”和“或非”逻辑之外的其他一系列运算。相比于其他的计算型SRAM,IMC-SRAM在算法类型上支持面更广,不仅如此,IMC-SRAM还能够支持存内向量计算。IMC-CP是一个为存内计算设计的轻量协处理器,其作用主要为对处理器核传送来的IMC指令进行译码处理,在此基础之上,将处理完成之后的信息对IMC-SRAM进行模式配置以及控制存内计算操作。对于IMC-CP而言,其中还包含了如下几个可配置的重要状态寄存器:R0的主要作用是对下一次存内计算的矢量长度信息进行保存;R1-R3主要用于IMC-CP对IMC指令译码后得到的源操作数和目的操作数的列地址进行保存;Rm主要是用来对系统当前的工作模式进行保存;Rn用于对系统之中用以存内计算的IMC-SRAM模块数量信息进行保存;Rv是对当前IMC计算指令之中的剩余矢量长度信息进行保存的状态寄存器;而Roc则是用于保存存内计算的操作码信息。
2.2IMC指令集
IMC指令集是DM-IMCA之中所包含的一个专门为存内计算所设计的指令集。在IMC指令之中,高5位为识别码,前三位为1级识别码,其主要作用是对IMC指令与传统MIPS32指令进行有效的区分。需要说明的是,1级识别码在DM-IMCA处理器核流水线中的预译码级被处理,并不会被传送至协处理器IMC-CP中。所以处理器核传送至IMC-CP的指令实际为29位,即IMC指令的低29位。在识别码中,后两位为2级识别码,其作用主要是对某条IMC指令的类型予以有效的区分。以功能作为划分类型,IMC指令可以被分为配置指令与计算指令两大类,在这这个大类下又可以做出进一步的细分。配置指令可以细分为存储配置指令以及地址配置指令,前者的主要作用是对数据存储器中用于存内计算的IMC-SRAM宏模块数量进行配置,而后者则主要用于对存内计算的源操作数以及目的操作数的行地址信息进行配置。对于计算指令而言,其作用主要是对IMC-SRAM进行控制,并在此基础之上实现对于存内计算功能类型与向量长度的有效计算。
2.3DM-IMCA在物联网中的应用
OTP加密:对于OTP技术而言,其秘钥长度需要保持与被加密的信息一致,因此这种加密技术一般只适用于短信息的加密,对于相对较大的文件则存在效率低的问题。而DM-IMCA原生支持异或操作,在这一条件之下OTP加密过程可以直接通过使用IMC指令予以实现。哈希函数实现:对于哈希算法而言,从本质上来看实际上指的是一类算法,而并非单指某一个算法,其在基准系统之中实现需要以串行的方式逐个累加,所消耗的时间较长,存在效率较低的问题。而在DM-IMCA之中,只需要将字符串数组映射于IMC-SRAM之中,并在此基础之上按照存内计算的存储要求进行排列,并分批次的进行运算。
3.结束语
本文主要针对基于SRAM的通用存算一体架构平台在物联网中的应用进行研究与分析。首先对基于SRAM的存内逻辑计算原理进行了一定程度上的阐述,然后在此基础之上从平台构成、IMC指令集以及DM-IMCA在物联网中的应用三个方面具体分析了基于SRAM的通用IMC架构平台。
参考文献:
[1]通用计算流体力学软件框架架构设计[J].丁海昕,陆林生,吴庆波,赵慧勇,王兰.计算机技术与发展.2012(12)
[2]數据密集型科研范式下我国高校数据监护教育模式探析[J].周志峰.江苏科技信息.2021(02)
[3]基于公共云平台面向数据密集型应用的关键技术研究[J].牛洁,何琳.成都航空职业技术学院学报.2020(01)
项目名称:基于微服务架构的工业互联网边缘计算网关技术研究。