第四章 存储系统

文章目录

  • 存储器概述
    • 存储器分类
      • 按存取方式
      • 按存储介质
      • 按功能和存取速度
      • 按信息保存的时间
    • 存储器系统的层次结构
    • 主存的主要技术指标
      • 容量
      • 存取速度
      • 存储器的可靠性
    • 主存中数据的存放
      • 存储字长与数据字长
      • 大端和小端数据存放方式
      • 边界对齐的数据存放方法
    • 主存的基本结构和工作过程
    • 存储系统的层次结构
  • 半导体存储器
    • 静态MOS存储器 SRAM
      • 静态MOS存储单元
      • 静态MOS存储器的结构
    • 动态MOS存储器 DRAM
      • 四管动态MOS存储元的工作原理
      • 单管动态MOS存储单元的工作原理
      • 动态MOS存储的刷新
    • 只读存储器
    • 闪存 FLASH
  • 主存的组织与CPU的连接
    • 存储器的拓展
      • 位拓展
      • 字拓展
      • 字位同时拓展
  • 并行存储系统
    • 双端口存储器
    • 单体多字存储器
    • 多体交叉存储器
      • 高位多体交叉
      • 低位多体交叉
  • 高速缓冲存储器 cache
    • 程序访问的局部性原理
    • cache的工作原理
      • 主存地址的划分
      • cache的基本结构
      • cache的组织及CPU访问cache的流程
      • cache的命中率
    • 相联存储器
    • cache的地址映射及变换方法
      • 一个假设
      • 全相联映射
      • 直接映射
      • 组相连映射
        • 组相连方式一
        • 组相连方式二
    • 替换算法
      • 先进先出算法 FIFO
      • 近期最少使用算法 LRU
      • 最不经常使用算法 LFU
      • 随机替换算法
    • cache的写策略
      • 写回法 WB
      • 写直达法 WT
    • 多cache结构
      • 片内和片外两级cache
      • 统一和独立cache
  • 虚拟存储器
    • 虚拟存储器的工作原理
    • 虚拟存储器的地址映射和变换
    • 页式虚拟存储器
    • 段式虚拟存储器
    • 段页式虚拟存储器
    • 快表 TLB
  • 存储保护
  • 辅助存储器
    • 磁表面存储器
      • 读写原理
      • 记录方式
    • 磁盘存储器
      • 磁盘存储器的组成
      • 磁盘上信息的编址和记录格式
      • 磁盘存储器的技术指标
    • 磁带存储器
    • 光盘存储器
        • 光盘存储器的类型
        • 光盘存储器的组成

存储器概述

存储器:计算机中存放指令和数据的主要场所
理想的存储系统:大容量、高速度、低成本

存储器分类

按存取方式

  • 随机存储器:random access memory
    存储单元的内容可以按需随机的取出或存入,且存取的速度与存储单元位置无关
    早期使用的磁芯存储器,和现在广泛使用的半导体存储器都是随机存储器

  • 顺序存储器:sequential access memory
    存储单元的内容只能依地址顺序访问,且访问速度与存储单元的位置有关
    磁带存储器、CD-ROM等都是顺序存储器

  • 直接存取存储器:direct access memory
    不必经过顺序搜索就能在存储器中直接存取信息,这类存储器兼有随机存储器和顺序存储器的访问特性】
    磁盘属于DAM,寻道和找扇区的过程与RAM类似,扇区内读写数据与SAM类似

  • 读写存储器
    既能读出又能写入

  • 只读寄存器:read only memory
    内容不允许随意改变,只能读取,不能修改

按存储介质

  • 磁性材料存储器
    又称磁存储器,包括磁芯存储器、磁盘存储器、磁带存储器,它们以磁性材料作为存储介质
  • 半导体存储器
    用半导体器件组成,有两大类,一是三极管型,分为TTL和ECL两种,二是MOS管型,分为静态(SRAM)和动态(DRAM)两种
  • 光存储器
    信息以刻痕的形式保存在盘面上,用激光束照射盘面,靠盘面的不同反射率来读取信息,分为CD-ROM,WORM,MO

按功能和存取速度

  • 寄存器型存储器
    由寄存器组成,如CPU内部的寄存器组,速度与CPU匹配,但是容量一般很小
  • 高速缓冲寄存器
    是一个高速小容量寄存器,用于存放CPU近期要执行的指令和数据,用于提高存储系统的访问速度
  • 主存储器
    简称主存,用于存放程序和数据,CPU可以随机访问,一般由MOS存储器组成
  • 外存储器
    简称外存,是主机外部的存储器,也称辅助存储器,容量大速度低,存放暂不运行的程序和数据,CPU无法直接访问

按信息保存的时间

  • 易失性存储器
    断电后,保存的信息丢失,如RAM

  • 非易失性存储器
    断电后,信息不丢失,如ROM,磁盘存储器,光存储器

存储器系统的层次结构

存储体:实际存放程序和数据的位置
地址译码器:接收来自CPU的地址信 ,经过译码驱动后,形成地址选择信 ,选择对应的存储单元
数据寄存器:读的时候,存放从存储体中取出的数据,写的时候,存放从CPU送来的数据
控制线路:接收CPU的读写控制信 后,产生存储器内部的控制信 ,从而进行读写操作

主存的大致工作流程

  • CPU想要读取或写入某个数据,先给出相应的地址
  • 该地址经过译码驱动后,选中对应的存储单元
  • 由控制线路产生的信 ,控制读出或写入

存储系统的层次结构

  • 先通过字线和位线选通T5~T8四个门控管
  • 如果要写1,则给线加高电平,同时给先加低电平
  • 高电平经过T7、T5,使得T2导通,低电平经过T8、T6使得T1截止
  • 如果要读取信息,同样先给行列信 打开门控管T5~T8
  • 如果存储的信息为1,则D线输出高电平,存储的是0,则D线输出低电平
  • 不对存储单元操作时,门控管T5~T8截止,电源通过T3、T4提供电流,保持数据

静态MOS存储器的结构

一般由存储体、地址译码电路、I/O电路和控制电路组成

  • 为了提高集成度,动态MOS存储器不像静态MOS一样持续供电,因此去掉了供电的管子
  • T1、T2为工作管,T5~T8为门控管
  • 读写前,先打开T5~T8门控管
  • 写1时,则给线加高电平,同时给先加低电平
  • D线的高电平经过T7、T5,使得T2导通,C2保持高电位,低电平经过T8、T6,使得T1截止,C1放电保持低电平
  • 读操作前,先通过预充信 打开T9、T10,对,电容充电,如果原来存储的是1,则对D线放电,输出高电平1,同时补充C2的电荷,经过B和T2,连通到地,线会出现反方向电流脉冲
  • 刷新操作:DRAM中,信息以电荷形式存储在C1和C2上,需要定期刷新,否则会因为电容放电而丢失信息

单管动态MOS存储单元的工作原理

字拓展

也称容量拓展,解决存储芯片容量不足的问题

  • 数据线,读写控制线:存储芯片的并联,然后与CPU相连
  • 片选信 :由CPU多余的地址线产生

并行存储系统

目前,主存的存取速度已经成为计算机系统的性能瓶颈,除了选择更高速的元件来提高访问速度,也可以通过存储体的并行工作来提高存储器的访问速度,缓解CPU与主存速度不匹配的矛盾

双端口存储器

同一个存储器具有两组相互独立端口的存储器,每个端口有各自独立的数据端口、地址端口以及读写控制端口、片选端口等,每个端口可以独立进行读写操作

可以看出高位交叉有如下特点:

  • 相邻地址在同一存储体内
  • 不同存储体的地址不相邻

高位多体交叉一般应用在共享存储器的多机系统中,在这些系统中,各处理机通常访问各自所需的数据对象,当这些数据对象存放在不同存储体时,存取操作可以并行

低位多体交叉

用低位段地址经过译码产生片选信 ,高位地址选择具体的存储单元

示例:m=4的情况,从图中可以看出

  • 每个存储体各自的存储周期仍然为T
  • 每个存储体错开1/4个存储周期分时启动读写操作,每个存储周期内可访问4次

低位交叉存储器比较适合单处理机内的高速数据存取以及带有cache的主存

高速缓冲存储器 cache

cache是计算机系统中广泛使用的一种减少CPU与内存之间速度差异的方法

程序访问的局部性原理

在一个较短的时间间隔内,由程序产生的地址往往集中在存储器逻辑地址空间的很小范围内,这种对局部范围的存储器地址频繁访问,而对此范围以外的地址则访问甚少的线性,称为程序访问的局部性

  • 时间局部性:
    当程序访问一个存储位置时,有很大的可能性在不就的将来会再一次访问同一位置,循环结构就是如此

  • 空间局部性:
    一旦程序访问了某个存储单元,则不就之后,其附近的存储单元也将被访问

利用程序的局部性原理,可以在主存和CPU通用寄存器之间设置cache,把正在执行的地址附近的一部分指令或数据从主存中调入这个存储器,供CPU在一段时间内使用,从而提高CPU访问存储系统的速度

cache的工作原理

主存地址的划分

为了便于比较和查找,cache和主存都被分为大小相等的若干块,每块又包含若干个字
根据不同的地址映射方法,对cache和主存地址进行不同的逻辑划分

相联存储器是一种按内容访问的存储器,一般由存储体、检索寄存器、屏蔽寄存器、符合寄存器、比较线路、代码寄存器、控制线路几部分组成

  • 检索寄存器:用以存放检索字,其位数和相联存储器的存储单元位数相等
  • 屏蔽寄存器:屏蔽寄存器也称为表征码寄存器,用以存放屏蔽码,以确定检索寄存器参与检索的位数
  • 符合寄存器:存放按检索项内容检索cache存储体时命中存储体单元地址
  • 比较线路:把检索项和从存储体内读出的单元内容进行比较,如果比较结果相同,则符合寄存器对应位置1
  • 代码寄存器:用来存放存储体中读出的数据,或者存放向存储体中写入的数据
  • 存储体:用以存放标记
  • 译码选择电路:根据符合寄存器的状态译码选出被检索命中的地址,并将其内容读出送到代码寄存器

计算机系统中,相联存储器主要用以虚拟存储器中存放段表、页表、快表以及高速缓冲存储器中的查找

cache的地址映射及变换方法

地址映射:是指把主存地址空间映射到cache的地址空间,即把存放在主存中的内容按照某种规则装入cache,并建立两者之间地址的对应关系
地址变换:在程序运行时,把主存地址变换为cache地址

一个假设

假设本章节的内容,都是基于以下内容来讲解

  • cache的容量为4K字节
  • cahce和主存中,数据块大小为256字节,即cache划分为16块
  • 主存容量为1M,即地址线20根,主存被划分为4096个块
  • 指令或数据从主存的0 单元开始存放

全相联映射

associative mapping,在全相联映射下,只对主存和cache分块,包含块 和块内地址两部分

由于没有索引,地址变换时,需要将cache所有行的标记部分送到比较器中,与当时访问地址中的标记部分进行对比,判断内容是否在cache中

全相联映射的特点

  • 主存数据块可以映射到cache的任意一行,因此cache的利用率高
  • 只要cache中还有空行就不会引起冲突,因此cache冲突率低
  • 每次地址变换时要比较cache中所有行的标记,因此电路复杂
  • 适合小容量cache(行数少)

直接映射

direct mapping,在对主存分块的基础上,直接映射还对主存分区,每个分区中包含的块数与cache的行数相同,直接映射对主存地址的逻辑划分为:

直接映射的特点:

  • 由于主存的一个数据块只能映射到cache的特定行,因此cache利用率低
  • 索引值相同的所有主存块映射到cache的同一行,因此cache冲突率高
  • 地址变化时只根据索引值取cache特定行的标记值进行比较,因此比较电路简单,与cache行数无关
  • 适合于大容量cache使用

组相连映射

set associative mapping,是直接映射和全相联映射的折中方案

组相连方式一

将cache分为p组,每组有k行,称cache中每组包含k行的组相联称为,在这个方式中,主存也分组,每组中包含的块数同cache的组数,即主存中每组中包含p块,该方式下,主存地址的逻辑划分为

组相连方式二

设cache分为p组,每组有k行,主存先分区,每区中包含的块数同cache的行数(即行),也就是说每个区的大小等同于cache整个的大小,然后对每个区再分组,每区中包含的组数及每组中的块数与cache包含的组数及每组的行数相同,即组相联方式2中,主存组的大小与cache组的大小完全相同,该方式对主存地址的逻辑划分为

对比两种组相联方式,发现同一主存块映射到cache的组 可能不同,但是无论是哪种,它们都结合了全相联映射和直接映射的特点

替换算法

如果cache中已装满数据,新的数据要进入时,就要将原来的数据块替换掉

先进先出算法 FIFO

按照数据块进入cache的先后顺序进行替换

  • 优点:系统开销小,实现容易
  • 缺点:不考虑程序的局部性,导致cache命中率不高

近期最少使用算法 LRU

least recently used, 将近期内长久未被访问的行换出

  • 优点:cache命中率较高
  • 缺点:实现比FIFO复杂

最不经常使用算法 LFU

least frequently used,将一段时间内被访问次数最少的那行数据换出

  • 优点:cache命中率较高,但是不如LRU
  • 缺点:不能严格反应近期访问情况

随机替换算法

random replacement,进行替换时,从特定的行位置中随机地选取一行

  • 优点:硬件实现最容易,速度较前几种快
  • 缺点:cache命中率和cache工作效率不高

随着cache行数的增加,这种算法的负面影响会越小

cache的写策略

CPU在执行程序期间,除了对cache进行大量的读操作外,也存在对cache的写操作

写回法 WB

write-back,使用这种策略,cpu对cache写命中时,只修改cache的内容,只有换出时才被写入主存
为了支持这种策略,每个cache行必须配置一个标志位,即脏位,如果被cpu修改过则脏位为1

写直达法 WT

write-through,当cpu写命中时,同时对cache和主存中同一数据块进行修改

多cache结构

多cache结构在计算机系统中普遍采用

片内和片外两级cache

  • 第一级 L1:将cache与处理器集成在同一芯片内,减少了对外总线的访问
  • 第二级 L2:由于L1通常较小,在CPU片外和主存之间再设置一个cache

统一和独立cache

  • 统一cache:指令和数据放在同一个cache,优点是设计和实现简单,命中率高
  • 独立cache:指令和数据放在不同cache

虚拟存储器

虚拟存储器的工作原理

虚拟存储器出现的原因:

  • 受技术和成本限制,主存空间不能无限扩大
  • 程序员希望有一个很大的编程空间,在编写程序时不受主存大小的限制
  • 计算机系统是多进程的,每个进程都需要有自己的地址空间,不可能为每个进行提供完整地址空间的存储器

在存储系统的层次结构中,虚拟存储器处于“主存-辅存”存储层次,通过在主存和辅存之间增加部分软件(如OS)和必要的硬件(如地址映射与转换机构、缺页中断结构等),使辅存和主存构成一个有机的整体,就像一个单一的、可供CPU直接访问的大容量主存

程序员可以使用虚拟存储器提供的地址(虚拟地址)进行编程,这种存储系统称为虚拟存储器

写入时,在线圈中通脉冲电流(电流方向不同,写入信息不同),磁头气隙处的磁场把它下面一小块区域的磁层向某一方向磁化,形成某种剩磁状态,因而记下一位二进制信息,磁层上这个被磁化的小区域,称为磁化单元,随着磁层的运动,线圈通不同方向的电流,在磁层上依次形成相应的磁化单元

读出时,某一磁化单元移动到磁头处,在磁层与磁头交链的磁路中磁通发生变化,于是在线圈中感生出不同方向的电流,经读写放大和整形后,还原出写入时的信息

记录方式

磁层上的信息是靠磁头线圈中通不同方向的电流脉冲形成的,因此写入时需要把二进制信息变为对应的写电流脉冲序列,将写入电流波形的组成方式称为记录方式

信息的载体是一个绕轴旋转的圆盘,圆盘表面涂有一层磁性材料,盘面上有一个磁头,磁头装在磁头臂上,磁头臂在步进电机的驱动下直线运动

圆盘的基片如果用金属铝制成,则称为硬盘,如果是塑料制成,则称为软盘

磁盘与主机交换信息时,一次最少要交换一个记录

磁盘存储器的技术指标

  • 存储密度:磁盘单位面积上所能存储的二进制信息,它包括道密度(沿半径方向单位长度的磁道数)和位密度(磁道单位长度上的二进制位数)两个指标
  • 存储容量:所能存放的总的信息量,单位是字节
  • 平均定位时间:从发出磁盘读写命令开始,磁头从当前位置移动到指定的记录位置,并开始读写操作所需要的时间
    • 寻道时间:将磁头定位到指定磁道上所需的时间
    • 等待时间:找到指定磁道后至指定的记录移动到磁头下的时间
  • 数据传输速率:单位时间读取的信息量

磁带存储器

读写原理与磁盘存储器相同,不过它的载体是塑料带

光盘存储器

利用光学原理存取信息的存储器,主要特点是存储容量大、寿命长、可靠性高

光盘存储器的类型

  • 只读型光盘:CD-ROM,由厂家预先写入,用户只能读取
  • 一次写入光盘:WORM,可由用户一次性写入信息
  • 可擦可重写光盘:Rewrite
  • 直接重写光盘:Overwrite
  • 数字化视频光盘:DVD

光盘存储器的组成

第四章 存储系统

由盘片、驱动器、控制器组成,驱动器主要由光头和控制电路组成

  • 光头部分:大功率激光器、光学系统、光电探测系统、调焦跟踪执行机构及快速径向移动机构
  • 控制电路:主轴恒角速度控制、光盘自动加载控制、点调焦跟踪伺服控制、快速存取控制、激光器读写功率控制、信 处理及内部系统控制

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年4月28日
下一篇 2020年4月28日

相关推荐