Bootstrap

计算机组成原理知识点汇总(考研用)——第三章:存储系统

计算机组成原理知识点汇总(考研用)——第三章:存储系统

 本文参考于《2021年计算机组成原理考研复习指导》(王道考研),《计算机组成原理》

思维导图:
在这里插入图片描述

文章目录

3.存储系统

3.1 存储器概述

 3.1.1 存储器的分类

在这里插入图片描述

  1.按在计算机中的作用(层次)分类
  • (1)主存储器
      简称主存,又称内存储器(内存),用来存放计算机运行期间所需的大量程序和数据,CPU可直接随机地对其进行访问,也可以和高速缓冲存储器(Cache)及辅助存储器交换数据。其特点是容量较小、存取速度较快、每位价格较高。

  • (2)辅助存储器
      简称辅存,又称外存储器(外存),是主存的后援存储器,用来存放当前暂时不用的程序和数据,以及一些需要永久性保存的信息,它不能与CPU直接交换信息。其特点是容量极大、存取速度较慢、单位成本低。

  • (3)高速缓冲存储器
      简称Cache,位于主存和CPU之间,用来存放正在执行的程序段和数据,以便CPU能高速地使用它们。Cache的存取速度可与CPU的速度相匹配,但存储容量小、价格高。目前的高档计算机通常将它们制作在CPU中

  2.按存储介质分类

  按存储介质,存储器可分为磁表面存储器(磁盘、磁带)、磁心存储器、半导体存储器(MOS型存储器、双极型存储器)和光存储器(光盘)

  3.按存取方式分类
  • (1)随机存储器(RAM)。存储器的任何一个存储单元的内容都可以随机存取,而且存取时间与存储单元的物理位置无关。主要用作主存或高速缓冲存储器。 RAM又分为静态RAM(以触发器原理寄存信息)和动态RAM(以电容充电原理寄存信息)

  • (2)只读存储器ROM。存储器的内容只能随机读出而不能写入。信息一旦写入存储器就固定不变,即使断电,内容也不会丢失。 通常用它存放固定不变的程序、常数和汉字字库,甚至用于OS的固化。它与随机存储器可共同作为主存的一部分,统一构成主存的地址域。
      由ROM派生出的存储器也包含可反复重写的类型,广义上的ROM已可通过电擦等方式进行写入,但其写入速度比读取速度慢得多。

  • (3)串行访问存储器。对存储单元进行读写操作时,需按其物理位置的先后顺序寻址,包括顺序存取存储器(如磁带)与直接存取存储器(如磁盘)
      顺序存取存储器的内容只能按某种顺序存取,存取时间的长短与信息在存储体上的物理位置有关。直接存取存储器既不像RAM那样随机地访问任何一个存储单元,又不像顺序存取存储器那样完全按顺序存取,而是介于两者之间。存取信息时通常先寻找整个存储器中的某个小区域(如磁盘上的磁道),再在小区域内顺序查找。

  4.按信息的可保存性分类

  断电后,存储信息即消失的存储器,称为易失性存储器,如RAM。断电后信息仍然保持的存储器,称为非易失性存储器,如ROM、磁表面存储器和光存储器。若某个存储单元所存储的信息被读出时,原存储信息被破坏,则称为破坏性读出。若读出时,被读单元原存储信息不被破坏,则称为非破坏性读出。具有破坏性读出性能的存储器,每次读出操作后,必须紧接一个再生的操作,以便恢复被破坏的信息。

 3.1.2 存储器的性能指标

  存储器有3个主要性能指标,即存储容量、单位成本、存储速度。

  • (1)存储容量=存储字数x字长(如1M x 8位)。存储字数表示存储器的地址空间大小,字长表示一次存取操作的数据量
  • (2)单位成本:每位价格=总成本/总容量
  • (3)存储速度:数据传输率=数据的宽度/存储周期
      a.存取时间(Ta):存取时间又称存储器的访问时间(Memory Access Time),是指从启动一次存储器操作到完成该操作所经历的时间,分为读出时间和写入时间。(读出时间是指从主存接收到有效地址开始到数据稳定为止的时间,写入时间是指从主存接收到有效地址开始到数据写入被写单元为止的时间)
      b.存取周期(Tm):存取周期又称读写周期或访问周期。它是指存储器进行一次完整的读写操作所需的全部时间,即连续两次独立访问存储器操作(读或写操作)之间所需的最小时间间隔 (存取周期=存取时间+恢复时间)
      c.主存带宽(Bm):主存带宽又称数据传输率,表示每秒从主存进出信息的最大数量,单位为字/秒、字节/秒或位/秒。
      存取时间不等于存储周期,通常存储周期大于存取时间。这是因为对任何一种存储器,在读写操作之后,总要有一段恢复内部状态的复原时间。对于破坏性读出的存储器,存取周期往往比存取时间大得多,因为存储器中的信息读出后需要马上进行再生。
    在这里插入图片描述

  一个操作数在内存中可能占多个单元,如何在指令中给出操作数的地址?
  现代计算机都采用字节编址方式,即一个内存单元只能存放一字节的信息。一个操作数可能占用1、2、4、8个内存单元。也即一个操作数可能有多个内存地址对应。
  有两种不同的地址指定方式:大端方式与小端方式
  大端方式:指令中给出的地址是操作数最高有效字节所在的地址
  小端方式:指令中给出的地址是操作数最低有效字节所在的地址

  主存中存储单元地址的分配:
  主存各存储单元的空间位置是由单元地址号来表示的,而地址总线是用来指出存储单元地址号的,根据该地址可读出或写入一个存储字。通常计算机系统既可按字寻址,也可按字节寻址。例如IBM370的字长为32位,它可按字节寻址,即它的每个存储字包含4个可独立寻址的字节,其地址分配如图:
在这里插入图片描述
  字地址是用该字高位字节的地址来表示,故其字地址是4的整数倍 ,正好用地址码的末二位来区分同一字的4个字节的位置。但对PDP-11机而言,其字长为16位,字地址是2的整数倍,它用低位字节的地址来表示字地址:
在这里插入图片描述


3.2 存储器的层次化结构

 3.2.1 多级存储系统

在这里插入图片描述
  存储系统层次结构主要体现在Cache-主存层次和主存-辅存层次。前者主要解决CPU与主存速度不匹配的问题,后者主要解决存储系统的容量问题。(主存与Cache之间的信息调度功能全部由硬件自动完成。而主存与辅存层次的调度目前广泛采用虚拟存储技术实现)在存储体系中,Cache、主存能与CPU直接交换信息,辅存则要通过主存与CPU交换信息;主存与CPU、Cache、辅存都能交换信息
在这里插入图片描述
  存储器层次结构的主要思想是上一层的存储器作为低一层存储器的高速缓存。从CPU角度看,Cache-主存层次速度接近于Cache,容量和价位却接近于主存。从主存-辅存层次分析,其速度接近于主存,容量和价位却接近于辅存。主存和Cache之间的数据调动是由硬件自动完成的,对所有程序员均是透明的;而主存和辅存之间的数据调动则是由硬件和OS共同完成的,对应用程序员是透明的。
  在Cache-主存和主存-辅存层次中,上一层中的内容都只是下一层中内容的副本,也即Cache(或主存)中的内容只是主存(或辅存)中内容的一部分。
  在主存-辅存这一层次的不断发展中,逐渐形成了虚拟存储系统,在这个系统中程序员编程的地址范围与虚拟存储器的地址空间相对应。 对具有虚存的计算机系统而言,编程时可用的地址空间远大于主存空间。


  例题:CPU执行一段程序时,Cache完成存取的次数为1900,主存完成存取的次数为100,已知Cache存取周期为50ns,主存存取周期为250ns。设主存与Cache同时访问。
  (1)Cache/主存系统的效率是多少;(2)平均访问时间是多少

  答案:平均访问时间=60ns;Cache-主存系统的效率=访问Cache的时间/平均访问时间=83.3%


3.3 半导体随机存储器

  主存由DRAM实现,靠处理器的那一层(Cache)由SRAM实现,它们都属于易失性存储器。DRAM的每bit成本低于SRAM。

 3.3.1 SRAM和DRAM
  1.SRAM的工作原理

  通常把存放一个二进制位的物理器件称为存储元,它是存储器的最基本的构件。地址码相同的多个存储元构成一个存储单元。若干存储单元的集合构成存储体。当对某个基本单元电路进行读/写操作时,必须被行、列地址共同选中。
  静态随机存储器SRAM的存储元是用双稳态触发器(六晶体管MOS)来记忆信息的,因此即使信息被读出后,它仍保持其原状态而不需要再生(非破坏性读出)
  SRAM的存取速度快,但集成度低,功耗较大,所以一般用来组成高速缓冲存储器。

  2.DRAM的工作原理

  动态随机存储器DRAM是利用存储元电路中栅极电容上的电荷来存储信息的,DRAM的基本存储元通常只使用一个晶体管,所以它比SRAM的密度要高很多。DRAM采用地址复用技术,地址线是原来的1/2,且地址信号分行、列两次传送。
  DRAM的存取速度比SRAM慢,一般用来组成大容量主存系统。
  DRAM电容上的电荷一般只能维持1~2ms,因此即使电源不断电,信息也会自动消失。为此,每隔一定时间必须刷新,通常取2ms,这个时间称为刷新周期。刷新的过程实质上是先将原存信息读出,再由刷新放大器形成原信息并重新写入的再生过程。刷新是一行行进行的。常用的刷新方式有3种:集中刷新、分散刷新、异步刷新
  (1)集中刷新:指在一个刷新周期内,利用一段固定的时间,依次对存储器的所有行进行逐一再生,在此期间停止对存储器的读写操作,称为死时间,又称访存死区
  集中刷新的优点是读写操作时不受刷新工作的影响,因此系统的存取速度较高;缺点是在集中刷新期间(死区)不能访存。
  (2)分散刷新:把对每行的刷新分散到各个工作周期中。 一个存储器的系统工作周期分为两部分:前半部分用于正常读、写或保持;后半部分用于刷新某一行。这种刷新方式增加了系统的存取周期。分散刷新的优点是没有死区;缺点是加长了系统的存取周期。
  (3)异步刷新:异步刷新是前两种方法的结合,它既可以缩短死时间,又能充分利用最大刷新间隔为2ms的特点。具体做法是将刷新周期除以行数,得到两次刷新操作之间的时间间隔t,利用逻辑电路每隔时间t产生一次刷新请求。 这样可以避免使CPU连续等待过长时间,而且减少了刷新次数。
  若将刷新安排在不需要访问存储器的译码阶段,则既不会加长存取周期,又不会产生死时间,这是分散刷新方式的发展,也称透明刷新
   DRAM刷新对CPU是透明的,即刷新不依赖于外部的访问; DRAM的刷新单位是行,刷新操作仅需要行地址;刷新类似于读操作,但又有所不同,刷新操作仅给栅极电容补充电荷,不需要信息输出。此外,刷新时不需要选片,即整个存储器中的所有芯片同时被刷新。

  3.存储器的读、写周期
  • (1)RAM的读周期
      从给出有效地址开始,到读出所选中单元的内容并在外部数据总线上稳定地出现所需的时间,称为读出时间(tA)。地址片选信号 C S ‾ \overline{CS} CS必须保持到数据稳定输出,tCO为片选的保持时间,在读周期中 W E ‾ \overline{WE} WE为高电平。
    在这里插入图片描述
      读周期与读出时间是两个不同的概念,读周期时间(tRC)表示存储芯片进行两次连续读操作时所必须间隔的时间,它总是大于等于读出时间
  • (2)RAM的写周期
      要实现写操作,要求片选信号 C S ‾ \overline{CS} CS和写命令信号 W E ‾ \overline{WE} WE必须都为低电平。为使数据总线上的信息能够可靠地写入存储器,要求 C S ‾ \overline{CS} CS信号与 W E ‾ \overline{WE} WE信号相"与"的宽度至少为tw
      为保证在地址变化期间不会发生错误写入而破坏存储器的内容, W E ‾ \overline{WE} WE信号在地址变化期间必须为高电平。为了保证有效数据的可靠写入,地址有效的时间至少为tWC=tAW+tW+tWR。为了保证在 W E ‾ \overline{WE} WE C S ‾ \overline{CS} CS变为无效前能把数据可靠地写入,要求写入的数据必须在tDW以前在数据总线上已经稳定。
    在这里插入图片描述
  4.SRAM和DRAM的比较

在这里插入图片描述

 3.3.2 只读存储器
  1.只读存储器(ROM)的特点

  ROM和RAM都是支持随机存取的存储器,其中SRAM和DRAM均为易失性半导体存储器。而ROM中一旦有了信息,就不能轻易改变,即使掉电也不会丢失,它在计算机系统中是只供读出的存储器。ROM位密度比可读写存储器高,且可靠性高,具有非易失性。

  2.ROM的类型

  ROM可分为掩模式只读存储器(MROM)、一次可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、闪速存储器(Flash Memory)和固态硬盘(Solid State Drives)

  • (1)掩模式只读存储器
      MROM的内容由制造厂按用户要求写入,写入后无法更改。

  • (2)一次可编程只读存储器
      可实现一次性编程,写入后无法改变。

  • (3)可擦除可编程只读存储器
      可对内容多次改写。需要修改EPROM的内容时,先将其全部内容擦除,然后编程。EPROM又可分为紫外线擦除和电擦除(E2PROM)。EPROM不能取代RAM,因为其编程次数有限,且写入时间太长。

  • (4)闪速存储器(Flash Memory)
      主要特点是既可在不加电的情况下长期保存信息,又能在线进行快速擦除和重写。

  • (5)固态硬盘(Solid State Drives,SSD)
      基于闪存的固态硬盘是用固态电子存储芯片阵列制成的硬盘,由控制单元和存储单元(Flash 芯片)组成。

 3.3.3 主存储器的基本组成

在这里插入图片描述

  由一个个存储0或1的记忆单元(也称存储元件)构成的存储矩阵(也称存储体)是存储器的核心部分。记忆单元是具有两种稳态的能表示二进制0和1的物理器件。为了存取存储体中的信息,须对存储单元编号(也称编址)。编址单位是具有相同地址的那些存储元件构成的一个单位,可按字节编址,也可按字编址。现代计算机通常采用字节编址方式,此时存储体内的一个地址中有1字节。
  指令执行过程中需要访问主存时,CPU首先把被访问单元的地址送到MAR中,然后通过地址线(单向)将主存地址送到主存中的地址寄存器,以便地址译码器进行译码选中相应单元,同时CPU将读写信号通过控制线送到主存的读写控制电路。如果是写操作,CPU同时将要写的信息送到MDR中,在读写控制电路的控制下,经数据线(双向)将信号写入选中的单元;如果是读操作,那么主存读出选中单元的内容送到数据线,然后送到MDR中。数据线的宽度与MDR的宽度相同,地址线的宽度与MAR的宽度相同。 上图中采用64位数据线,所以在按字节编址方式下,每次最多可存取8个单元的内容。地址线的位数决定了主存地址空间的最大可寻址范围。数据线和地址线数共同反映存储体容量的大小,上图芯片的容量=236x64位。


  例题:某一SRAM芯片,其容量为1024x8位,除电源和接地端外,该芯片的引脚的最小数目为:
  A.21   B.22   C.23  D.24

  答案:A;地址线10根,数据线8根,加上片选线,读写控制线2根,共21根

  例题:动

;