你愿意花 40 万美元在存一张照片吗?

计算机基础课第 41 期分享

阅读本文大概需要 6 分钟

01

存储器定义

系列中我们多次谈到内存(Memory),甚至在前面设计了一个简单内存。

一般来说,电脑内存是 "非永久性",如果 Xbox 电源线不小心拔掉了,内存里所有数据都会丢失。所以内存叫"易失性"存储器。

我们还没谈过的话题是存储器(Storage),存储器(Storage)和内存(Memory)有点不同,任何写入"存储器"的数据,比如你的硬盘数据会一直存着,直到被覆盖或删除,断电也不会丢失,存储器是"非易失性"的。

以前是"易失性"的速度快,"非易失性"的速度慢,但随着技术发展,两者的差异越来越小。如今我们认为稀松平常的技术,比如这个 U 盘能低成本+可靠+长时间 存储上 GB 的数据。

02

纸卡

但以前可不是这样的,最早的存储介质是 打孔纸卡以及打孔纸带。到1940年代,纸卡标准是 80列x12行,一张卡能存 960 位数据 (80x12=960)。据我们所知的 最大纸卡程序是美国军方的"半自动地面防空系统" 简称 SAGE。一个在 1958 年投入使用的防空系统,主程序存储在 62,500 个纸卡上,大小 5MB 左右, 相当如今手机拍张照。

03

延迟线存储器

纸卡用了十几年,因为不用电而且便宜耐用,然而坏处是读取慢,只能写入一次,打的孔无法轻易补上,对于存临时值,纸卡不好用。我们需要更快更大更灵活的存储方式。J. Presper Eckert 在 1944 年建造 ENIAC 时发明了一种方法叫"延迟线存储器"(Delay Line Memory)原理如下:

拿一个管子装满液体,如水银,管子一端放扬声器,另一端放麦克风,扬声器发出脉冲时 会产生压力波,压力波需要时间 传播到另一端的麦克风,麦克风将压力波 转换回电信号。我们可以用压力波的传播延迟来存储数据。

假设有压力波代表 1,没有代表 0,扬声器可以输出 1010 0111。压力波沿管子传播,过了一会儿,撞上麦克风,将信号转换回 1 和 0。如果加一个电路,连接麦克风和扬声器,再加一个放大器(Amplifier)来弥补信号衰弱,就能做一个存储数据的循环。信号沿电线传播几乎是瞬时的,所以任何时间点只显示 1 bit 数据,但管子中可以存储多个位(bit)。

忙完 ENIAC 后,Eckert 和同事 John Mauchly,着手做一个更大更好的计算机叫 EDVAC,使用了延迟线存储器,总共有 128 条延迟线,每条能存 352 位(bits),总共能存 45,000 位(bit)。对 1949 年来说还不错。这使得 EDVAC 成为最早的 "存储程序计算机" 之一。

我们在前面讨论过,但"延迟线存储器"的一大缺点是每一个时刻只能读一位 (bit) 数据,如果想访问一个特定的 bit,比如第 112 位(bit),你得等待它从循环中出现,所以又叫 "顺序存储器"或"循环存储器"。而我们想要的是 "随机存取存储器" 可以随时访问任何位置。

增加内存密度也是一个挑战,把压力波变得更紧密 意味着更容易混在一起,所以出现了其他类型的 "延迟线存储器"。如 "磁致伸缩延迟存储器",用金属线的振动来代表数据,通过把线卷成线圈,1英尺×1英尺的面积能存储大概 1000位(bit)。

04

磁芯存储器

然而,延迟线存储器在 1950 年代中期就基本过时了,因为出现了新技术,性能,可靠性和成本都更好的"磁芯存储器",用了像甜甜圈的小型磁圈。如果给磁芯绕上电线,并施加电流,可以将磁化在一个方向,如果关掉电流,磁芯保持磁化,如果沿相反方向施加电流,磁化的方向(极性)会翻转,这样就可以存 1 和 0。如果只存 1 位不够有用,所以把小甜甜圈排列成网格,有电线负责选行和列也有电线贯穿每个磁芯, 用于读写一位(bit)。

我手上有一块磁芯存储器,每个黄色方格 有32行x32列的磁芯,每个磁芯存 1 位数据,所以能存 1024 位(bit) (32x32=1024)。总共 9 个黄色方格,所以这块板子最多能存 9216 位(bit) (1024x9=9216),换算过来大约是 9 千字节 (9216 bit ~= 9 kb)。

磁芯内存的第一次大规模运用是 1953 年麻省理工学院的 Whirlwind 1 计算机,磁芯排列是 32×32,用了 16 块板子,能存储大约 16000 位(bit)。更重要的是,不像"延迟线存储器" 磁芯存储器能随时访问任何一位(bit),这在当时非常了不起。

"磁芯存储器" 从 1950 年代中期开始成为主流,流行了 20 多年,而且一般还是手工编织的.

刚开始时 存储成本大约 1 美元 1 位(bit),到1970年代,下降到 1 美分左右。不幸的是,即使每位 1 美分也不够便宜。之前提过,现代手机随便拍张照片都有 5 MB,5MB 约等于 4000 万 bit,你愿意花 40 万美元在"磁芯存储器"上存照片吗?

原文发布于微信公众号 - 程序员成长充电站(qianpangzi8)

原文发表时间:2019-09-16

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券