《存算一体的结构、优势及应用和前景.docx》由会员分享,可在线阅读,更多相关《存算一体的结构、优势及应用和前景.docx(7页珍藏版)》请在第一文库网上搜索。
1、存算一体的结构、优势及应用和前景在冯诺依曼结构中,存储和计算是分开的。可能有些人会把这句话误解为,CPU和硬盘是分离的。其实不是的。这句话中的“存”,指的是运算过程中必须要用到的“缓存”。想要计算什么,需先要把数据从缓存中取出来,再放到计算单元里做运算。对应纸带的操作就是,你得先把要算什么数的那些纸带准备好,放在旁边。轮到算它对应的数字的时候,再把它塞进打孔机里去。而一个稍微复杂的计算设备,可不是只有纸带,还有很多设备需要和处理器连接,提供各种输入。比如,硬盘数据传输的管理,显卡运算结果的合成,键盘、鼠标、显示器的响应等待等,于是大家都挂在一条粗粗的线上。这条粗粗的线缆就叫作“总线”。又因为设
2、备不同,所以还要解决设备和总线对接的问题,也就是“接口标准化”。等待送进CPU做运算的数据,总是无法避免来回搬运的问题,这就大大降低了运算效率。而在存算一体的结构中,计算过程是通过忆阻器这个基本单元来完成的。这就不再有单独的计算单元和缓存了。1 .什么是存算一体?这是一个在20世纪70年代才被发明的基础电路元件,也就是和电阻、电感、电容这些元件并列的一种东西。这个东西在电路中会表现出一个可变的电阻值。具体电阻值是多少,得看测量之前有多少电荷流过了它。如果电流停止流过它的身体,它的电阻值就固定了。而如果电流反向流过它的身体,电阻值就会慢慢下降。同时,由于它是阻性元件,于是就满足欧姆定律。换句话说
3、,电流流过单个忆阻器的过程满足公式U=I X R,也就是电压等于电流乘以电阻。一方面,你可以把它看作一个乘法器,这就是存算一体中“算”的部分。另一方面,如果了解SSD硬盘是怎么写入数据的,你就会知道,其实就是往固定的单元里存入电荷,于是这个过程也很类似于“存”。总之就是一句话,存算一体其实可以理解为“用存储电荷的方式实现计算”。我们想,在做乘法的过程中,有对乘数和被乘数做读取的操作吗?是没有的。而乘法算完后的那个结果,有专门临时存放到存储单元里吗?也没有。因为当我们存电荷的动作结束的时候,结果就已经显示出来了,也就是那个忆阻器的阻值状态,根本不需要单独的存储。你可能会问,这有什么用呢?用处可大
4、了去了。比如,一个列为10的行向量乘以一个10行X 50列的矩阵,结果应该是另外一个列为10的行向量。这个矩阵的运算过程你不必在意,但你要知道,在人工智能的运算中,99%以上都是一系列的向量乘以矩阵或者矩阵乘以矩阵的运算。冯诺依曼结构的计算机中,这个运算过程很简单,但需要对大量数字做读取操作,于是整个过程极其耗费时间。但如果用忆阻器,只需要码放一个10行x 50列这500个忆阻器组成的阵列,让每一列的输出都经过那一行的50个忆阻器就可以了。等电荷累计过后,那10列输出的电信号就是矩阵乘法的结果。总之,不需要大量重复的读取操作,结果很快就出来了。这还只是10 X 50的矩阵的情况,现在存算一体的
5、阵列最高可以集成几百万个忆阻器。这就对应了几百万个元素的矩阵运算。而在传统计算结构中,在几百万个元素里进行一次矩阵乘法,可能就要涉及上千万次的存取操作。而存算一体的结构只需要存一次、读一次,计算效率天差地别。2 .存算一体结构在运算上的优势用存电荷的动作完成计算,就再也没有之前冯诺依曼结构中存和算这两个动作速度不匹配的问题了。这又是怎么回事呢?互相匹配,就意味着不存在瓶颈。比如,如果运算速度太慢,那需要进行运算的数据哗哗哗的输入进来后,只好在存储器里排队等待,这就影响了效率。另外,你得配一套足够大的内存供排队的数据等待。而这还是好的情况。比较让人惋惜的是,目前CPU的处理速度足够快,但即便存储
6、设备开足了马力把任务喂给CPU, CPU还是吃不饱。这实在有点亏本。因为早知道存储器存在瓶颈,我们当初何必花大价钱买这么贵的CPU呢?实际上,自从以硅为基础的半导体芯片出现之后,这个令人惋惜的情况就一直存在。在2012年之前,计算速度的增加一直符合摩尔定律,每18个月增加一倍。而存储单元的读写速度的增加就远远落后了,大约是平均每年只增加10%o于是,为了能让CPU、GPU这些运算设备吃饱,就不得不在靠近运算单元的位置安放一些造价昂贵的、速度特别快的存储器。我说的“靠近”,还真的是物理距离上的靠近,间距1mm就比间距2mm强。今天,我们管这些存储设备叫“缓存(cache)。计算机行业有句俗话一一
7、cache is cash (缓存就是金钱),也说明了缓存的昂贵。比如,直接和CPU相连的L1,也就是一级缓存,大小往往只有百分之几MB。它使用SRAM这种昂贵的存储技术结构,搬运数据的能力大约是每秒几TBo但这东西太贵了,要省着用。比SRAM便宜得多的存储器是DRAM,搬运数据的能力大约是每秒几GB,和口缓存比起来,速度只有千分之一了。这个DRAM存储器在哪儿呢?其实就是PC机里的内存条、安卓手机里的8GB或者12GB内存、苹果手机里的4GB或6GB内存。一台电脑大约要配几万MB的内存,大小是SRAM的百万倍。此外,电脑里还有硬盘。这是最廉价的存储设备了,容量又是内存条的几十倍,同容量价格只
8、有内存条的几十分之一。这三层结构看着复杂,实际上都是在解决同一个问题一一存储设备喂不饱处理设备。其实,如果都用SRAM,那还是喂得饱的,但SRAM太贵,实在用不起。于是只能少少地用,通过各种算法预测CPU马上要用到的数据是什么,提前把这些数据放在SRAM中。在实际情况中,大约90%的情况可以预测对,但还有10%的情况预测不对。这时候,需要的数据SRAM里没有,于是只能从慢得多的内存中去找。而即因为早知道存储器存在瓶颈,我们当初何必花大价钱买这么贵的CPU呢?实际上,自从以硅为基础的半导体芯片出现之后,这个令人惋惜的情况就一直存在。在2012年之前,计算速度的增加一直符合摩尔定律,每18个月增加
9、一倍。而存储单元的读写速度的增加就远远落后了,大约是平均每年只增加10%o于是,为了能让CPU、GPU这些运算设备吃饱,就不得不在靠近运算单元的位置安放一些造价昂贵的、速度特别快的存储器。我说的“靠近”,还真的是物理距离上的靠近,间距1mm就比间距2mm强。今天,我们管这些存储设备叫“缓存(cache)。计算机行业有句俗话一一cache is cash (缓存就是金钱),也说明了缓存的昂贵。比如,直接和CPU相连的L1,也就是一级缓存,大小往往只有百分之几MB。它使用SRAM这种昂贵的存储技术结构,搬运数据的能力大约是每秒几TBo但这东西太贵了,要省着用。比SRAM便宜得多的存储器是DRAM,
10、搬运数据的能力大约是每秒几GB,和口缓存比起来,速度只有千分之一了。这个DRAM存储器在哪儿呢?其实就是PC机里的内存条、安卓手机里的8GB或者12GB内存、苹果手机里的4GB或6GB内存。一台电脑大约要配几万MB的内存,大小是SRAM的百万倍。此外,电脑里还有硬盘。这是最廉价的存储设备了,容量又是内存条的几十倍,同容量价格只有内存条的几十分之一。这三层结构看着复杂,实际上都是在解决同一个问题一一存储设备喂不饱处理设备。其实,如果都用SRAM,那还是喂得饱的,但SRAM太贵,实在用不起。于是只能少少地用,通过各种算法预测CPU马上要用到的数据是什么,提前把这些数据放在SRAM中。在实际情况中,
11、大约90%的情况可以预测对,但还有10%的情况预测不对。这时候,需要的数据SRAM里没有,于是只能从慢得多的内存中去找。而即因为早知道存储器存在瓶颈,我们当初何必花大价钱买这么贵的CPU呢?实际上,自从以硅为基础的半导体芯片出现之后,这个令人惋惜的情况就一直存在。在2012年之前,计算速度的增加一直符合摩尔定律,每18个月增加一倍。而存储单元的读写速度的增加就远远落后了,大约是平均每年只增加10%o于是,为了能让CPU、GPU这些运算设备吃饱,就不得不在靠近运算单元的位置安放一些造价昂贵的、速度特别快的存储器。我说的“靠近”,还真的是物理距离上的靠近,间距1mm就比间距2mm强。今天,我们管这
12、些存储设备叫“缓存(cache)。计算机行业有句俗话一一cache is cash (缓存就是金钱),也说明了缓存的昂贵。比如,直接和CPU相连的L1,也就是一级缓存,大小往往只有百分之几MB。它使用SRAM这种昂贵的存储技术结构,搬运数据的能力大约是每秒几TBo但这东西太贵了,要省着用。比SRAM便宜得多的存储器是DRAM,搬运数据的能力大约是每秒几GB,和口缓存比起来,速度只有千分之一了。这个DRAM存储器在哪儿呢?其实就是PC机里的内存条、安卓手机里的8GB或者12GB内存、苹果手机里的4GB或6GB内存。一台电脑大约要配几万MB的内存,大小是SRAM的百万倍。此外,电脑里还有硬盘。这是最廉价的存储设备了,容量又是内存条的几十倍,同容量价格只有内存条的几十分之一。这三层结构看着复杂,实际上都是在解决同一个问题一一存储设备喂不饱处理设备。其实,如果都用SRAM,那还是喂得饱的,但SRAM太贵,实在用不起。于是只能少少地用,通过各种算法预测CPU马上要用到的数据是什么,提前把这些数据放在SRAM中。在实际情况中,大约90%的情况可以预测对,但还有10%的情况预测不对。这时候,需要的数据SRAM里没有,于是只能从慢得多的内存中去找。而即