zoukankan      html  css  js  c++  java
  • 漫谈计算机组成原理(四)主存

    本文讲什么?

    本文承接《漫谈计算机组成原理(三)存储器概论》。在上一篇文章中,主要介绍了存储器的层次结构。而本文主要讲述存储器层次结构中的主存部分。
    主存,给我们最直观的感受就是贵。一个DDR4 8G的内存条就达到700元以上。
    阅读完本文,你不但可以知道为啥内存条这么贵,还能对主存有一个基本的了解。

    概述

    我们先来看一下主存的基本组成。

    如上图所示,主存由MAR、译码器、驱动器、存储体、读写电路、MDR组成。
    工作流程:系统如果想要通过MAR读取存储体中某一地址的数据,地址信号需要先通过译码器和驱动器得到真正的存储体中的地址,才能将数据输出到MDR中。同样的,如果系统想要将某一数据写入到存储体重,需要将MDR中的数据通过”写电路“写入到系统中的相应位置。

    存储技术

    从某种意义上来讲,今天计算机行行业之所以能够发展的如此迅猛,是得益于存储技术的发展的。
    有一次聊天的时候,同学们讨论到这样一个问题:“世界上的信息是如此之多,而且每天都在成几何数量增长,那么会不会出现数据无处可存的境地呢?“
    这个问题非常有意思,在我看来,如果存储技术不再出现突破,比如生物存储技术的突破,那我们确实很有可能面对这件事情。
    可以看到,大数据、云计算,都是对大规模数据的计算与分析,而这些数据都是人们的生产生活中出现的,数量以亿万为单位。再比如当下最火的人工智能(虽然我不赞同这个名字,我更喜欢用深度学习这个词),不过也是对算法进行训练,那用的是什么进行训练的呢?当然还是海量的数据。
    所以,“高新技术的发展,全都得益于存储技术的发展”这句话并非空穴来风,而是实打实的。

    主存

    好了,了解了存储技术的重要性之后,我们就来探讨一下计算机的主存。
    主存可以分成两类,一类是随机存取存储器(RAM),另一类是只读存储器(ROM)。顾名思义,RAM可读可写,ROM只读不能写,这两种特性就有了不同的用处。

    随机存取存储器(RAM)

    按照存储信息的原理不同,RAM还可以分成动态RAM(SRAM)和静态RAM(DRAM)两种。

    1.静态RAM
    静态RAM是利用双稳态技术实现的。在静态RAM中,负责数据存储的晶体管电路能够无限期的保存在两个不同电压配置或状态之一,这就是双稳态技术。也就说,双稳态电路表达出的内容,要么是0,要么是1,不是0就是1。如果稳态发生变化,那么电路会由一个不稳定的状态迅速变为稳定的状态。

    2.动态RAM
    动态RAM不同,动态RAM用的不是晶体管电路,而是用的电容(没错,就是物理中的电容)。电容有电状态表示为1,无电表示为0,同样能够清楚地表达两个状态。
    但是电容有一个不好的特性,就是漏电。也就是说,稍不留神,数据就会从0变成1,这就让我们很不爽了,比如00101这串二进制数,转换成十进制是5,如果突然变成了00001,十进制就变成了1。
    所以,我们希望能够做到电容漏电的同时就把电补回去,这就是刷新技术,隔一段时间(n个时钟周期),就会对RAM中的电容重新充电。

    只读存储器(ROM)

    如果你喜欢刷机,那么你一定会惊喜的发现,ROM这个东西好像似曾相识。没错,就是你刷机的刷机包。
    但是,这里的ROM是偏向硬件的说明,而刷机的ROM包是偏向软件的。但是,他们表示的意思都是一样的,那就是“数据不可更改”。
    手机上的ROM包,其实是系统区文件,你想想,你可能删除或者修改系统中的重要模块吗,比如说(软件)通信模块。不能的,对吧。
    ROM也是如此,一旦ROM中的数据确定了,就再也不能更改。
    目前共有三种ROM,第一种是掩模ROM、第二种是PROM、第三种是EPROM。
    1.掩模ROM
    这里先介绍下一般情况主存中的数据是如何被读出的(写入的)。
    主存上的数据,实际上是处于一种网格式的分布状态。而经过译码器电路,实际上是翻译出了横向和纵向两个数字,这两个数字组成n行j列,由此选中数据。如下图所示。

    选中的数据将会被送到MDR中。而掩模ROM实际上是利用了莫斯管(MOS)。MOS管被放到交叉点处(有的交叉点有,有的交叉点没有),这样,选中时读到的数据就不同。有MOS管的读出高电平经放大器电路(不用管什么是放大器)输出0,没有MOS管的输出1。

    2.PROM
    PROM应该是最NB的ROM了。我们可以用自尽来形容他。结构上,PROM用的是熔丝,熔断代表0,连通代表1,如果想要从0变为1,需要将熔丝熔断,然后就再也无法还原了。所以我称这是一一种自尽的方式。

    3. EPROM
    ERPOM是一种可擦除可编程的只读存储器,这个ROM就灵活多了。没有上面两种ROM的缺点,真的需要对数据修改的时候,只需要将数据擦除,重新编程即可。
    EPROM有一个透明的石英窗口,允许光进入存储单元,紫外线照射时,存储单元就被成重置为0。然后再通过特殊设备将1写入。

    结语

    各种各样的存储技术被应用到各种各样的场景上,正是这些多样性,才能够促成计算机技术的飞速发展。
    主存作为计算机的核心部分,对计算机的性能起到了至关重要的作用。主存容量越大、性能越好,一般计算机的性能也就越好。但是由于主存结构的复杂性,想要在一个小小的内存条中集成尽可能多的存储单元,其难度可想而知,再有就是这些单元的造价问题,一般来说,越是精密的东西造价就会越高。所以,内存条的高价也就很正常了。
    虽然摩尔定律已经失效,但是其参考意义还是存在的。希望内存条的价格能够降下来,因为我的电脑已经不再适合编程了。。。。

    如果你喜欢我的文章,可以通过微信公众号:最高权限比特流关注我,也可以通过邮箱:roobtyan@outlook.com联系我。
    感谢阅读!

    扫描二维码关注我吧!

  • 相关阅读:
    Burnside引理与Polya定理 学习笔记
    Codeforces 438E. The Child and Binary Tree 多项式,FFT
    Berlekamp_Massey 算法 (BM算法) 学习笔记
    UOJ#335. 【清华集训2017】生成树计数 多项式,FFT,下降幂,分治
    UOJ#73. 【WC2015】未来程序 提交答案题
    UOJ#206. 【APIO2016】Gap 构造 交互题
    虚拟机配置JAVA_HOME
    创建虚拟机
    月份、季度、周
    maven多模块下使用JUnit进行单元测试
  • 原文地址:https://www.cnblogs.com/roobtyan/p/9576683.html
Copyright © 2011-2022 走看看