我们的生活离不开电脑。电脑的核心部件是微处理器(CPU),即通常所说的芯片。这是电脑中执行运算的地方,CPU的速度决定了电脑的速度。
组成CPU的是数以亿计的晶体管。为了提高CPU的速度,半个多世纪以来,晶体管越做越小,以便在相同的空间容纳下更多数量的晶体管。现在,普通芯片上的一个晶体管,尺寸接近纳米量级。但是,这条路快走到头了,因为晶体管已经很难再小。所以若按老办法,电脑提速的空间已非常有限。
这就是现在大家热衷研究量子计算机的原因。不过,量子计算机也有致命的缺陷,比如需要在极低温下运行,需要绝对安静的环境,而这些都超出了我们目前的技术能力。
一条提高计算机速度的新路子
但是,其实还有一条提速路我们未做尝试。在传统计算机中,数据的运算和存储是分开的:运算在CPU,临时的存储在内存,长期的存储在硬盘。当一个运算完成,其结果暂时先存到内存,CPU恢复原位,然后执行下一个运算。当运算中需要调用前面的结果时,再从内存中读取。数据在CPU和内存之间来回传输、调用,这会消耗大量的时间和能量。如果把两者合二为一,就能省下很多时间。
存储式计算机就是这样一种新型的计算机。它把传统计算机上CPU和内存的功能整合起来,在一种称作“运算存储器”的单一类型元件中,同时处理数据的运算和存储,这样就可以极大地缩短时间。
如何集运算和存储于一身?
存储式计算机的概念最早是在1970年代提出来的。其实人们最初是为了模拟人脑的工作原理而设计的,因为我们的大脑在工作时,每个神经元既充当处理器又充当内存。请想像一下,我们的大脑每秒钟进行1016次操作需要消耗大约20瓦特,而一台传统的超级计算机需要1000万倍的功率才能完成同样数量的操作。功率的很大一部分被浪费在CPU和内存之间的信息来回传输上。如果能把运算和存储集于一身,可以省下多少能量和时间啊!
那么,存储式计算机的核心元件——运算存储器,是如何做到这一点的呢?以下是它的工作原理。
在传统电脑中,一个晶体管的工作基本上可以归结为一件事情:要么让电流通过,要么不让电流通过——这取决于它被告知要做什么。事情做完,晶体管就恢复原位,做过的事情在它身上不留任何痕迹。在存储式计算机中,运算存储器做的事情跟晶体管完全一样,所不同的是,事情完成后,它的一些物理属性(如电阻、电压)随之改变。改变不仅是定性的,也是定量的。这就相当于把操作结果储存了起来,实现了集运算与储存于一身。
存储式计算机的优点
长久以来,运算存储器存储的是模拟信号,而不是数字信号(如二进制的数字0和1)。但是模拟信号有个缺点,随着运算量的积累,误差会越来越大,最后会让输出结果变得毫无意义。而数字信号就不存在这个问题。所以,存储式计算机要想实用,也必须数字化。
这个困难已被攻克。最近,美国加州大学的科学家造出了世界上首台数字存储式计算机。它使用二进制数字来存储数据。
为了建造存储式计算机,从硬件到软件都必须重新设计。譬如,硅晶体管就必须换成运算存储器。所以,从某种程度上说,比建造超级计算机还麻烦。不过,比起量子计算机,存储式计算机能在室温下运行。此外,它的制造成本也要低很多。
存储式计算机擅长解决复杂的并行式计算问题(比如旅行推销员问题:存在一系列的城市,现在要找出旅行推销员在拜访每个城市一次后回到起点的最短路径)。不过在可预见的未来,它不会取代你的笔记本电脑和智能手机。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.