计算机组成结构—存储器概述

目录

一、存储器的分类

1.按存储介质分类

半导体存储器

磁性材料存储器

光盘存储器

2.按存取方式分类

随机存储器(Random Access Memory, RAM)

只读存储器(Read Only Memory, ROM)

串行访问存储器

直接存取存储器

3.按在计算机中的作用分类

二、存储器的性能指标

1.存储速度

2. 存储容量

3. 位价

三、层次化存储器基本结构


一、存储器的分类

        存储器是计算机系统中的记忆设备,用来存放程序和数据。存储器的种类繁多,从不同的角度对存储器可作不同的分类

1.按存储介质分类

        存储介质是指能寄存“0”、“1”两种代码并能区别两种状态的物质或元器件。存储介质主要有半导体器件、磁性材料和光盘等。

半导体存储器

        存储元件由半导体器件组成的存储器称为半导体存储器。现代半导体存储器都用超大规模集成电路工艺制成芯片,其优点是体积小、功耗低、存取时间短。

        半导体存储器又可按其材料的不同, 分为双极型(TTL)半导体存储器和 MOS 半导体存储器两种。前者具有高速的特点;后者具有高集成度的特点,并且制造简单,成本低廉,功耗小,所以 MOS 半导体存储器被广泛应用。

磁性材料存储器

        磁性材料存储器主要依靠磁性材料作为记录的介质,是不易失的永久记忆存储器。又可以分为磁表面存储器和磁芯存储器。

        磁表面存储器是在金属或塑料基体的表面上涂一层磁性材料作为记录介质,工作时磁层随载磁体高速运转,用磁头在磁层上进行读/写操作,故称为磁表面存储器。按载磁体形状的不同,可分为磁盘、磁带和磁鼓。

        磁芯是由硬磁材料做成的环状元件,在磁芯中穿有驱动线(通电流)和读出线,这样便可进行读/写操作,这种存储器称为磁芯存储器。磁芯属磁性材料。不过,磁芯存储器的体积过大、工艺复杂、功耗太大,目前几乎已不被采用。

光盘存储器

        光盘存储器是应用激光在记录介质(磁光材料)上进行读/写的存储器,具有非易失性的特点。光盘具有记录密度高、耐用性好、可靠性高和可互换性强等特点。

2.按存取方式分类

        按存取方式可把存储器分为随机存储器、只读存储器、顺序存取存储器和直接存取存储器。

随机存储器(Random Access Memory, RAM

        RAM是一种可读/写存储器, 其特点是存储器的任何一个存储单元的内容都可以随机存取,而且存取时间与存储单元的物理位置无关。计算机系统中的主存都采用这种随机存储器。

        由于存储信息原理的不同, RAM 又分为静态 RAM(以触发器原理寄存信息)和动态 RAM(以电容充放电原理寄存信息)。

只读存储器(Read Only Memory, ROM

        只读存储器是能对其存储的内容读出,而不能对其重新写人的存储器。这种存储器一旦存入了原始信息后,在程序执行过程中,只能将内部信息读出,而不能随意重新写人新的信息去改变原始信息。

        所以 ROM 通常用来存放固定不变的程序、常数和汉字字库,甚至用于操作系统的固化。它与随机存储器可共同作为主存的一部分,统一构成主存的地址域。

串行访问存储器

        如果对存储单元进行读/写操作时,需按其物理位置的先后顺序寻找地址,则这种存储器称为串行访问存储器,也称为顺序存取存储器。显然这种存储器由于信息所在位置不同,使得读/写时间均不相同,比如磁带存储器就是一种顺序存取存储器。

直接存取存储器

        还有一种属于部分串行访问的存储器,比如磁盘。在对磁盘读/写时,首先直接指出该存储器中的某个小区域(磁道),然后再顺序寻访,直至找到位置。故其前段是直接访问,后段是串行访问,称为直接存取存储器。

3.按在计算机中的作用分类

        按在计算机系统中的作用不同,存储器可以分为主存储器、辅助存储器、缓冲存储器。

        主存储器(简称主存):用来存放程序和数据,可以和CPU直接交换信息。

        辅助存储器(简称辅存):主存储器的后援存储器, 用来存放当前暂时不用的程序和数据, 它不能与CPU直接交换信息。两者相比,主存速度快、容量小、每位价格高;辅存速度慢、容量大、每位价格低。

        缓冲存储器(简称缓存Cache) 用在两个速度不同的部件之中。

ps:现代计算机中,辅存已经多为SSD固态硬盘

二、存储器的性能指标

        存储器有 3 个主要性能指标:速度、容量和每位价格(简称位价)。

1.存储速度

(1)存取时间

        要想衡量存储速度,最直观的指标就是完成一次存储器读/写操作所需要的时间,这叫做 存取时间,又称为 访问时间(Memory Access Time)。

        存取时间又分为读出时间和写入时间。读出时间是从存储器接受到有效地址开始,到产生有效输出所需的全部时间;写入时间是从存储器接受到有效地址开始,到数据写入被选中存储单元为止的全部时间。

(2)存储器周期

        存储器周期 (Memory Cycle Time)指连续进行两次独立的存储器操作(读或者写)需要的最小时间间隔,也叫 存取周期。需要注意的是,存储器周期并不等同于完成一次读写操作的时间,而是要更大;因为存储器经过一次读写操作后,并不能立即进行下一次读写,中间还需要一段时间来恢复内部状态。所以,存储器周期 = 存取时间 + 恢复时间

(3)存储器带宽

        一般来说,存储器周期越短,存储器的速度就越快;这前提是存储器的每次读写操作处理的数据位数相同。通常情况下,存储器每次读写的位数是跟存储字长相关的,字长越长,一个存取周期处理的数据就越多。

        所以可以用 数据传输率 来表示存储速度,而 存储器带宽 就是衡量数据传输率重要指标。存储器带宽指单位时间内存储器存取的数据量。单位为位/秒(b/s),或者字节/秒(B/s)、字/秒。

        存储器带宽 = 数据宽度 / 存储周期

        例如,存储器周期为 500 ns,每个存取周期可以访问 16 位,那么带宽就是:

        16 bit ÷ 500 ns = 32 Mb/s

2. 存储容量

        存储容量指存储器能存放的数据总量,一般用二进制代码的总位数(bit)来表示。

        存储容量 = 存储字数 × 存储字长

        存储字数代表了存储器地址空间的大小,由地址线的位数决定。容量一般也可以用字节总数(Byte)来表示,也就是:

        存储容量(字节数) = 存储字数 × 存储字长 / 8

        例如,某机器存储字长为 8 位,地址线有 28 位,那么它的主存最大存储容量为:

        2^{28} × 8 / 8 = 2^{28} B = 256 MB

3. 位价

        每位价格也就是存储器的单位成本。

        位价 = 总成本 / 总容量

        一般来说,速度越高,位价就越高;容量越大,位价就越低;而且容量越大,速度也会越低。

三、层次化存储器基本结构

         最理想的存储器应该同时满足大容量、高速度、低位价,可惜这是很难达到的。

        上面列出了不同层级的存储器。由上至下, 位价越来越低,速度越来越慢,容量越来越大,CPU 访问的频度也越来越少。

  • 寄存器通常都制作在 CPU 芯片内。寄存器中的数直接在 CPU 内部参与运算, CPU 内可以有十几个、几十个寄存器,它们的速度最快,位价最高,容量最小。

  • 主存用来存放将要参与运行的程序和数据,它与 CPU 速度差距较大。

  • 为了使主存和 CPU 之间速度更好地匹配, 需要在主存与 CPU 之间插入一种比主存速度更快、容量更小的高速缓冲存储器 Cache,其位价要高于主存。

        以上三类存储器都是由速度不同、位价不等的半导体存储材料制成的,它们都设在主机内。现代计算机将 Cache 也制作在 CPU 内。

        磁盘、磁带属于辅存,其容量比主存大得多,大都用来存放暂时未用到的程序和数据文件。CPU不能直接访问辅存, 辅存只能与主存交换信息, 因此辅存的速度可以比主存慢得多。

        存储系统的层次结构主要体现在缓存-主存和主存-辅存这两个存储层次上。显然, CPU 和缓存、主存都能直接交换信息; 缓存能直接和 CPU、主存交换信息; 而主存可以和 CPU、缓存、辅存交换信息。

  • 缓存-主存层次

        这一层次主要解决 CPU 和主存速度不匹配的问题。由于缓存的速度比主存的速度高, 只要将CPU近期要用的信息调人缓存, CPU 便可以直接从缓存中获取信息, 从而提高访存速度。但由于缓存的容量小,因此需不断地将主存的内容调入缓存,使缓存中原来的信息被替换掉。主存和缓存之间的数据调动是由硬件自动完成的,对程序员是透明的。

  • 主存-辅存层次

        这一层次主要解决存储系统的容量问题。辅存的速度比主存的速度低,而且不能和 CPU 直接交换信息, 但它的容量比主存大得多, 可以存放大量暂时未用到的信息。当CPU需要用到这些信息时, 再将辅存的内容调人主存, 供CPU直接访问。主存和辅存之间的数据调动是由硬件和操作系统共同完成的。

        在主存-辅存这一层次的不断发展中,逐渐形成了虚拟存储系统。主存和辅存共同构成了虚拟存储器,二者在硬件和系统软件的共同管理下工作。

        从CPU角度来看, 缓存-主存这一层次的速度接近于缓存, 高于主存; 其容量和位价却接近于主存。主存-辅存这一层次,从整体分析,其速度接近于主存,容量接近于辅存,平均位价也接近于低速、廉价的辅存位价。这就解决了速度、容量、成本这三者的矛盾。现代的计算机系统几乎都具有这两个存储层次,构成了缓存、主存、辅存三级存储系统。

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-06 06:18:12       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-06 06:18:12       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-06 06:18:12       82 阅读
  4. Python语言-面向对象

    2024-04-06 06:18:12       91 阅读

热门阅读

  1. 什么是Ajax?怎么使用?

    2024-04-06 06:18:12       36 阅读
  2. 达梦体系结构:内存架构

    2024-04-06 06:18:12       38 阅读
  3. 数据结构--最长公共前缀

    2024-04-06 06:18:12       33 阅读
  4. js中Promise的常见用法 比如resolve、race都是啥意思

    2024-04-06 06:18:12       39 阅读
  5. Go语言中创建HTTP客户端

    2024-04-06 06:18:12       39 阅读
  6. ChatGPT新手指南:如何应用于学术论文撰写

    2024-04-06 06:18:12       38 阅读
  7. ChatGPT写作指南:制作精彩学术论文的关键

    2024-04-06 06:18:12       41 阅读
  8. 发挥ChatGPT潜能,打造引人注目学术论文

    2024-04-06 06:18:12       37 阅读
  9. LeetCode-热题100:215. 数组中的第K个最大元素

    2024-04-06 06:18:12       33 阅读
  10. golang defer实现

    2024-04-06 06:18:12       34 阅读