Bootstrap

深入学习《大学计算机》系列之第1章 1.6节——你真的了解计算机存储器吗

一.欢迎来到我的酒馆

        第1章 1.6节,你真的了解计算机存储器吗。

二.计算机存储器

        本节内容主要介绍计算机存储器,介绍计算机存储器的基本知识,计算机存储发展史以及计算机存储器分类。

2.1 计算机存储器简介

        计算机存储器(Computer Storage),顾名思义就是存储数据的电子元器件。 计算机存储器是一种利用半导体、磁性介质等技术制成的存储数据的电子设备。现如今的计算机,尤其是在存储、管理数据方面,存储器扮演着至关重要的角色。如果计算机没有了存储器,那计算机就是一堆会电人的电子垃圾,根本无法发挥作用。无论是个人电脑,还是超大规模的数据中心,如果没有存储器,数据将会丢失且无法访问。存储器是计算机系统中重要的组件,它可以把中央处理器(CPU)计算出的结果、程序以及用户的数据存储在机器中,以便系统在任何时候都可以使用。
        手机拍的照片、抖音短视频、B站弹幕视频、王者荣耀,这些数据都是保存在存储器当中。当我们在用手机刷抖音的时候,手机会通过网路连接将服务器中的短视频下载到手机的存储器中,接着手机的内部处理器会读取储存在存储器中的视频文件,最后通过音视频解码播放短视频,我们在刷抖音短视频其背后的工作原理大致就是这样。计算机中的全部信息,包括输入的原始数据、计算机程序、中间运行结果和运行最终结果都保存在存储器中,它根据控制器指定的位置存入和取出信息。有了存储器,计算机才有了记忆功能,才能保持正常工作。
        存储器的主要功能是存储程序和各种数据,并能在计算机运行过程中高速、自动地完成程序或数据的存取。存储器是具有 “记忆” 功能的设备,它采用具有两种稳定状态的物理器件来存储信息。这些器件也称为记忆元件。在计算机中采用只有两个数码0和1的二进制来表示数据。记忆元件的两种稳定状态分别用0和1表示。在我们日常生活中,使用的都是十进制数,十进制数必须转换成等值的二进制数才可以存入存储器中。计算机中处理的各种字符,例如英文字母,运算符号,图片,歌曲,视频等,也要转换成二进制代码才能存储和操作。


在这里插入图片描述

2.2 计算机存储器发展史

        如今,无处不在的科技,都离不开网络、计算和存储。其中信息存储的发展历史最悠久,堪称万年进化史。从人类文明诞生以来,人类就一直在寻求能够更有效存储信息的方式,从4万年前的洞穴壁画、6000年前泥板上的楔形文字,到今天普及的SSD/闪存,再到对量子存储、DNA存储技术的探索,脚步从未停止。当然,我们可以把存储的历史追溯的更久远,比如生物出现的那一天,它们的DNA可能就已经能够存储信息了;又比如人的大脑,这就是最原始、最强大、最精密的存储器。这里我们梳理的主要是计算机存储,所以从纸的出现开始了。
        公元前202年,西汉初期,中国人发明了造纸术(在此之前靠龟甲、兽骨、金石、竹筒、木牍,缣帛等记录文字)。造纸术是中国四大发明之一,发明于汉朝西汉时期,而改进的时期在汉朝东汉时期。中国是世界上最早养蚕织丝的国家。中国古代劳动人民以上等蚕茧抽丝织绸,剩下的恶茧、病茧等则用漂絮法制取丝绵。漂絮完毕,篾席上会遗留一些残絮。当漂絮的次数多了,篾席上的残絮便积成了一层纤维薄片,经晾干之后剥离下来,可用于书写。有了文字之后,最重要的就是要有一个很好的载体。中国,在造纸术发明之前,甲骨、竹筒和绢帛是古代用来供书写、记载的材料。但是甲骨、竹简都比较笨重,不易携带;绢帛虽然轻便,但是成本非常昂贵,也不适于书写。到了汉代,由于西汉的经济、文化迅速发展,甲骨和竹简已经不能满足发展的需求了,从而促使了书写工具的改进——纸被发明出来了。纸的出现使得信息的记录、传播和继承有了革命性的进步,促进了人类文明的传播。纸也为后来打孔卡的出现奠定了基础。
        1725年法国人Basile Bouchon发明了打孔卡(穿孔卡),在纸上打孔的形式来存储图案,用于控制纺织机进行图案织造。1801年,Joseph Marie Jacquard将打孔卡顺序捆绑在一起应用于提花织机,这个便是打孔纸带(Punched Tape)的雏形。1846年,Alexander Bain使用打孔纸带发送电报。1890年,Herman Hollerith发明了打孔卡制表机,用于收集并统计人口普查数据,标志着半自动化数据处理系统时代的开始。这种机器不仅统计速度更快,而且能够以新的方式理解信息,很快便应用到了各个行业。1896年,Herman Hollerith成立了制表机公司,这家公司就是后来大名鼎鼎的IBM的前身。打孔卡和纸带直到上世纪80年代还在使用,持续了两个多世纪。打孔卡(Punched Card)和打孔纸带(Punched Tape),它们是最早的机械化信息存储形式。
        1928年,Fritz Pfleumer发明了录音磁带,可以存储模拟信号。该专利基于1888年Oberlin Smith的磁记录声音设想和Valdemar Poulsen在1898年发明的磁线技术。原理就是:磁力线是随音频电流的变化而变化的,所以每段磁带在移动过程中被磁化的程度也随音频信号电流的强弱而变化,这样就能把声音记录在磁带上。磁带用于计算机中则是从1951年开始。磁带(Magnetic Tape)的发明,标志着磁性存储时代的开始。
        1932年,Gustay Tauschek发明了磁鼓存储器,它包含一个大型金属圆柱体,外表面涂有铁磁记录材料。在磁芯存储器出现之前广泛用于计算机内存。同时也用于做二级存储,被认为是硬盘驱动器(HDD)的前身。与硬盘驱动器一样,磁鼓也有磁头,但不是寻找数据,磁鼓上有许多静态磁头,只需等待正确的磁扇旋转就位即可。Tauschek的原始磁鼓存储器的容量约为五百万比特(约62.5千字节)。
        1946年,Jan A. Rajchman团队发明的静电记忆管Selectron Tube是最早的随机存取数字存储器(RAM),使用静电荷存储数据在真空管内。它能够短暂存储大约四千字节。1947年,Freddie Williams和Tom Kilburn发明了类似原理的威廉姆斯-基尔伯恩管(Williams-Kilburn Tube)并商用。IBM的第一台商用科学计算机701就使用了72个该管做内存。后来磁芯存储器的出现取代了这种存储器。Selectron管,是第一个随机存取数字存储器。
        1947年,Frederick Viehe第一个申请了磁芯存储器的专利,1948年,华裔王安发明了 “脉冲传输控制装置(Pulse transfer controlling device)”,实现了对磁芯存储器的写后读(Write-after-Read),1949年申请了专利,并以50万美元的价格卖给了IBM,这位传奇人物在1986年的时候个人财富就达到了20亿美元。磁芯存储器原理是磁芯根据磁化时电流的方向可以产生两个相反的磁化,这就可以作为0和1的状态来记录数据。Jay Forrester完善了磁芯存储器技术,推出第一个可靠的计算机高速随机存取存储器。磁芯存储器在20世纪70年代被广泛用作计算机的主存储器,直到Intel的半导体DRAM内存批量生产。最初的磁芯存储器只有几百个字节的容量。磁芯存储器(Magnetic-Core Memory),是随机存取存储器(RAM)的早期版本。
        1951年,磁带首次被用于计算机上存储数据,在UNIVAC计算机机上作为主要的I/O设备,称为UNIVACO,这就是商用计算机史上的第一台磁带机。磁带早在1928年便已诞生,此前多用于声音记录。盒式磁带现在通常被叫做Tape Cartridge,磁带存储因为支持离线保存,寿命长,容量大,性价比高,今天仍有很多使用。使用磁带的设备有磁带机(Tape)、磁带库(Tape Library)。
        1956年,世界上第一个硬盘驱动器IBM 350出现在IBM的RAMAC 305计算机(第一台提供随机存取数据的计算机,同时还使用了磁鼓和磁芯存储器)中。该驱动器约有两个冰箱大小,重达一吨,包含50个24英寸盘片,能存储5M的信息,数据传输速度10K/S。1962年,IBM发布了第一个可移动硬盘驱动器1311,它有六个14英寸的盘片,可以存储2.6MB的数据。1973年,IBM发明了Winchester(温氏)硬盘3340,其特点是工作时磁头悬浮在高速转动的盘片上方,而不与盘片直接接触,这便是现代硬盘的原型。硬盘驱动器(Hard Drive)的出现,标志着磁盘存储时代开始了。
        1965年,美国物理学家罗素Russell发明了第一个Compact Disk/CD(数字-光学记录和回房系统),1966年提交了专利申请,这是后来风靡一时的CD/DVD的前身。
        1966年,IBM Thomas J. Watson 研究中心的Robert H. Dennard发明了动态随机存取存储器(DRAM),1968年申请了专利。1969年,Advanced Memory System公司生产了第一款DRAM芯片,容量仅为1KB。1970年,Intel公司推出Intel 1103,这是第一个商用DRAM芯片,DRAM芯片取代磁芯存储器成为个人电脑的标准存储芯片。至今,DRAM仍是最常用的随机存储器(RAM),作为个人电脑和工作站中内存(即主存储器)。DRAM能够问世,主要是基于半导体晶体管和集成电路技术的发展。
        1971年,IBM发布了第一张只读的8英寸软盘(Floppy Disk),容量为80KB。1972年,Alan Shugart帮助Memorex公司推出了第一款可读/可写的软盘Memorex 650,容量为175KB。1976年,5.25英寸软盘问世,1980年,索尼开发了3.5英寸软盘,容量为1.44MB,并成为市场标准。从1971年直到20世纪90年代的近三十年内,软盘一直被用于存储和交换数据,并带动了计算机行业的快速发展。
        1980年,日本人富士雄Fujio Masuoka为东芝工作时发明了NAND Flash闪存技术,Intel公司在1988年推出了第一款商用型NOR Flash芯片,东芝在1989年发布了世界上第一个NAND Flash产品。
        1994年,闪迪(SanDisk)公司第一个推出了CF存储卡(Compact Flash),这种存储卡最初基于NOR Flash闪存技术,广泛用于数码相机等产品。
        1995年,以色列公司M-Systems(2006年被SanDisk公司收购)发布了第一个闪存驱动器DiskOnChip。
        1997年,西门子和闪迪使用东芝的基于NAND的闪存开发了Multi Media Memory(MMC卡)。
        1999年,因为MMC将允许轻松盗版音乐,东芝在现有MMC中添加了加密硬件,并将其命名为SD卡(Secured Digital),之后有了MiniSD、MicroSD、MSMicro2和Micro SDHC等。
        2000年,Trek公司发布了世界上第一个商用USB闪存驱动器(U盘)(U盘专利权较复杂,多家公司声称拥有其专利,中国的朗科在1999年获得了U盘的基础性专利)。


在这里插入图片描述

2.3 计算机存储器发展史总结

        上面非常详细地讲了计算机存储器发展史,篇幅很长,在阅读时可能存在不好记的问题。因此,我将计算机存储器发展史做了一个简单的总结。上文提到的内容全部用一句话来概括,方便理解。
        1.甲骨、竹简等虽然可以记录文字,但是它们比较笨重不易携带。
        2.蚕丝丝绸解决了甲骨、竹简笨重的问题,其特点是:造价高、易于携带。
        3.随着西汉的经济发展,纸被发明了出来,纸造价低廉、易于书写,易于携带。
        4.1725年,法国人发明了打孔卡,它是最早的机械化存储设备,其原理是:利用打洞和不打洞来记录信息。
        5.1928年,录音磁带被发明了出来,它可以存储模拟信号,其原理是:磁力线随音频电流的变化而变化。
        6.1932年,磁鼓存储器被发明了出来,它是硬盘驱动器(HDD)的前身。
        7.1947年,最早的随机存取数字存储器(RAM)被发明了出来,其原理是:在真空管内使用静电荷存储数据。
        8.1951年,磁带首次用在了计算机上存储数据,其特点是:支持离线保存、容量大、寿命长、性价比高。
        9.1956年,硬盘驱动器被发明了出来,它是现代机械硬盘的前身,其特点是:在工作时磁头不与磁盘接触,而是悬浮在盘片上方。
        10.1965年,只读光盘存储器(CD-ROM),其特点是:它采用光学存储避免了磁性存储对磁场的敏感问题,但它易划伤。
        11.1966年,动态随机存取存储器被发明了出来,它是现在计算机中最常用的随机存储器(RAM)。
        12.1971年,软盘(Floppy Disk)被发明了出来,其特点是:容量小,即插即用,易损坏。
        13.1980年,闪存(Flash)被发明了出来,其特点是:闪存是一种非易失性存储器,断电数据不会丢失。
        14.1994年,CF存储卡(Compact Flash),其特点是:它不带驱动器,极少出现机械故障,多用于存储图像,广泛用于数码相机等产品。
        15.1995年,闪存驱动器被发明了出来,其特点是:闪存驱动器没有机械部件,可靠性和数据安全性高。
        16.1997年,多媒体卡(Multimedia Memeory Card),是一种快闪存储器卡,其特点是:小巧轻量,耐冲击性好,可反复读写。
        17.1999年,SD卡(Secured Digital Card),是一种半导体快闪存储器,其特点是:有加密功能,以此来保证数据的安全性,广泛用于便携式设备上。
        18.2000年,USB闪存驱动器,俗称U盘,它是使用USB接口、无须物理驱动器的移动存储器,其特点是:容量大、体积小、重量轻。
        19.关于磁芯存储器和磁鼓存储器
        磁芯存储器(Magnetic-Core Memory)在早期广泛用于计算机的主存储器,它是随机存取存储器(RAM)的早期版本。其原理是:磁芯根据此花时的电流方向,可以产生两个相反方向的磁化,这就可以作为0和1的状态来记录数据。
        磁鼓存储器(Drum Memory),它是硬盘驱动器(HDD)的前生,在磁芯存储器出现之前一直用于计算机的主存储器。其原理是:与硬盘驱动器一样,磁鼓存储器也有磁头,但不是寻找数据,磁鼓上有许多静态磁头,只需等待正确的磁扇旋转就位即可。

三.计算机存储器分类

        无论是在生活上给我们带来巨大便利的掌中设备(如手机、智能手环),还是现代的PC,以及超大规模集群设备都离不开存储器系统。因为不管是永久性存储,还是零时性存储,这些数据都是保存在存储器系统中,如操作系统它是保存在存储器中,当系统开机时,操作系统文件会从存储器系统加载到主存储器中,操作系统才会运行。我们经常使用的QQ、微信等这类程序也是保存在存储器系统中,当我们运行这些程序的时候,它会加载至主存储器中。如果没有存储器系统,计算机将无法发挥作用。从广义上来说,存储器系统分为两个部分:主存储器(Primary Storage)和二级存储器(Secondary Storage)。主存储器又可以分为:内存,高速缓冲存储器和寄存器。二级存储器也称为外存、辅存,它是硬盘、光盘一些可脱机存在的磁性介质和光学存储设备。
在这里插入图片描述

3.1 主存储器

        主存储器(Primary Storage),也被称为内部存储器。一般分为:寄存器,高速缓冲存储器(Cache),内存(RAM),它的作用是暂时存放数据和指令,其特点是:容量小、价格高、读写速度快、断电数据全部消失并且由中央处理器(CPU)直接随机存取。主存储器一般采用半导体存储器。如果计算机中可编址的最小单位是字节,则该计算机称为按字节编址的计算机。一个字节(Byte)等于8个比特位(Bit),而一个比特位只可以表示0和1两个数字,这就像一个灯泡一样,只有两种状态,亮和灭,亮用二进制数1表示;灭用二进制数0表示。为什么一个字节的长度等于八位,因为23=8,因此就规定一个字节的长度为八个二进制位。
        在计算机中最小的信息单位是bit(比特),也就是一个二进制位,八位组成一个Byte,也就是一个字节。简单来说,一个bit长度的硬件,只能表示0和1两个数,这和一个灯泡只有亮和灭两种状态是一个道理。一个存储单元可以存储一个字节,也就是八个二进制位,一个字节用硬件来表示,可以理解为八个灯泡,这八个灯泡通过亮和灭不同的组合,最大能表示的数为28=255。在计算机中存储容量的最小单位为字节,例如,一个存储器有16个存储单元,则说明这个存储器的容量为16个字节(Byte);有一个1KB的存储器,则说明这个存储器的容量为1024个字节(210=1024)。如果用灯泡来表示容量为1KB的存储器,那么需要1024*8=8192个灯泡的硬件数量。如我们常说的16GB的内存条,是指这个内存条容量为16x230 个字节。
        1B(Byte,字节) = 8 b(bit,位)(23 b)
        1KB(Kilobyte,千字节)= 1024B(210 B)
        1MB(Megabyte,兆字节,简称 “兆”)= 1024KB(220 B)
        1GB(Gigabyte,吉字节)= 1024MB(230 B)
        1TB(Terabyte,太字节)= 1024GB(240 B)
        1PB(Petabyte,拍字节)=1024TB(250 B)
        1EB(Exabyte,艾字节)= 1024PB(260 B)
        1ZB(Zettabyte,泽字节)=1024EB(270 B)

3.2 内存

        内存,也叫随机存储器(Random Access Memory,RAM)。主存储器,也称为内部存储器,简称为内存,需要注意的是这里的内存不是随机存储器(RAM)。虽然主存储器简称为“内存”,而随机存储器也叫内存,但是它们不是指同一个事物,这里要区分明白。我们平时经常说到的内存条,就是指RAM,它们两者是同一个东西。内存(RAM)挂在CPU外面的数据总线上,它的作用是暂时存放指令和数据,CPU是通过寄存器访问内存。内存(RAM)的特点是容量小,读写速度快,断电后数据全部消失。内存的读写速度远快于外存(也称为辅存、二级存储),因此内存容量越大,计算机运算速度就越快。

3.3 缓存

        缓存,也叫高速缓冲存储器(Cache)。既然有了内存,为什么还需要缓存?这是因为CPU的运算速度远快于内存,经常会出现CPU时间闲置,它是为了弥补内存和CPU之间读写速度不同的一个部件。缓存的工作原理是CPU在读取数据时先去缓存中找数据,如果没有找到,就回去运行速度相对较慢的内存中找,在内存中找到了数据在传输给CPU运算,同时将这部分数据调入缓存,这样一来如果CPU再去找数据的时候就不用去内存找,可以直接在缓存中找到数据。大多数数据都可以在缓存中找到,这种读写数据的机制命中率非常高,大约90%的数据都可以在缓存中找到,而剩下的10%的数据需要去内存中找。因此,CPU在读取数据时基本上无需等待。简单的说,CPU先读取顺序是缓存在内存。缓存是集成在CPU中的一个部件。

3.4 寄存器

        寄存器(Register),是最小、也是最快的主存储设备。寄存器的作用是暂时存放数据、指令和地址,它很像我们超市门口的包裹寄存处,用来暂时存放。寄存器是CPU的一部分,缓存是集成到CPU中的一个部件,而内存则是完全独立于CPU。寄存器的速度最快,其次是缓存,然后是内存。CPU是通过寄存器访问内存。

3.5 二级存储器

        二级存储器(Secondary Storage),也称为外存、辅存。它们通常是一些磁性介质(如硬盘、磁带)和光学设备(如光盘,CD),作用是长期保存数据,其中一些存储器可以脱机使用,如U盘。外存普遍的特点是:读写速度慢,容量大,断电后数据仍能保存。由于主存储器在断电后数据会全部消失,并且容量有限,而外存很好的弥补了这个缺点,它可以长期存储程序和数据。外存可以是固定的存储介质,如机械硬盘封装在计算机内部,也可以是可移动存储介质,如U盘可以在外部使用。外存不能被CPU直接访问,它需要经过内存(RAM),先将数据加载至内存中,然后CPU通过寄存器来访问内存,读取数据。

3.6 存储器系统总结

        存储器系统是由主存储器和辅存储器组成的一个层次管理体系。主存用于暂时存放CPU中运行的程序和数据,断电时数据全部消失,其特点是容量小、读写速度快、价格高;辅存用于暂时存放不用的程序和数据,断电后仍能保存数据,其特点是容量大、读写速度相对于主存慢、价格低。辅存弥补了主存断电后数据不能保存的特性。通过软件、硬件的结合,将主存和辅存整合,由主存和辅存形成一个存储层次,即存储系统。结论是存储器系统是计算机不可或缺的一部分,优化存储器系统对于提升计算机的运行效率起到了很大的作用。
在这里插入图片描述

四.总结

1.计算机存储器。它是存储数据的电子元器件,有了存储器,计算机才有了记忆功能。
2.计算机存储器发展史。从人类文明诞生以来,就一直寻找更有效存储数据的方式。
3.计算机存储器分类。计算机存储器分为内部存储器和外部存储器。内部存储器暂时存放数据和指令,其特点是读写速度快、容量小、价格高、断电后数据全部消失;外部存储器是用来长期保存数据,其特点是读写速度相对主存慢、容量大、断电后数据仍能保存、价格低。
4.参考资料:
(1)搜狗百科存储器:https://baike.sogou.com/v262218.htm
(2)计算机存储器发展史:https://www.chinastor.com/history/

;