我的博客 ⑤存储器

作者:SUN 更新于: 围观群众: 点赞人数: 评论人数:

⑤存储器

概述

  • 存储器的类型
  • 现代存储器为什么要分层次,以及结构

存储器的分类

  • 按照存储介质分类

    • 半导体存储器
      • 计算机的内存是由芯片构成的
      • U盘也是半导体存储器
      • TTL晶体管,晶体管逻辑
        • 集成度较低,功耗高,速度快
      • MOS金属氧化物半导体
        • 功耗低,集成度比较高,用于计算机
    • 磁表面存储器
      • 磁头,磁载体
      • 磁盘、磁带
    • 磁芯存储器
      • 硬磁材料、磁环元件
      • 磁芯有磁化电流阈值,未达到之前不会被磁化
      • 作为计算机系统的内存,大大提高了计算机的存储速度,
      • 磁芯中有导线,在电流的作用下磁化磁性导体,因此可以通过磁场的方向来确定里面存储的数据
      • 一根线用于数据读出,另一根用于数据读入
      • 导线起到了寻址的作用,电流和磁氧体
    • 光盘存储器 1、易失,2、3、4不易失
  • 按存取方式分类

    • 存取时间与物理地址无关(随机访问)

    |存储器类型|| |-|-| |随机存储器|在程序执行过程中可读可写| |只读存储器|在程序执行过程中只读|

    • 存起时间与物理地址有关(串行访问)

    |串行访问| | |-|-| |顺序存取存储器|磁带| |直接存取存储器|磁盘|

  • 按在计算机中的作用分类

存储器的层次结构

存储器的三个特性的主要关系

  • 寄存器在CPU里面
    • 缓存的一部分在CPU里面
      • 有些寄存器在指令当中可以使用,从体系结构中不透明,提供给程序员,称为体系结构寄存器,另一类透明的称为非体系结构寄存器。
      • I/O端口也有寄存器。
    • 部分缓存在CPU外面
    • 金字塔越往下速度越低,计算机的寄存器可能很小。容量很小,价格贵
  • 计算机多种的存储器目的是为了客户的需求不同,因此采用了这种存储体系,把两种或者两种以上的存储介质,用软件、硬件、软硬件结合的方式把他链接为一个整体,从某一级的程序员眼中符合要求
  • 存储过程是自动完成的

缓存-主存层次和主存-辅存层次

    • 应用程序员都不需要关心存储器的情况,不需要自己进行自己调用主存和辅存之间的调用
  • 该层次是为了调整存储器的存储
  • 存储器的存储速度和访问速度提升不一致,出现了多层次的访问体系结构
  • 多种存储器的速度10ns-20ns-200ns-ms
  • 缓存-主存
    • 采用硬件方法链接,数据的调出调入对程序员来说是透明的不需要了解
    • 按内容进行查找
      • 使用的主存地址,使用的时候会转换为缓存块中的地址。
  • 主存-辅存
    • 软硬件相结合的方式,可以通过命令调用
    • 主要是为了解决容量问题
    • 虚拟存储器
      • 在编写程序中以虚拟地址存放,使用的是逻辑地址

主存储器

概述

  • 主存的基本组成
    • 存储体保存了程序的数据以及指令
    • MAR保存了要访问的存储单元地址 需要经过译码器才能选定存储单元存储体中的数据,也保存了要进行写入写出的命令
    • 方向的控制,由读写控制电路控制读写
      • 写入就从MDR写入到存储体,读取就从存储体到MAR
  • 主存和CPU的关系
    • 数据总线
      • 完成了CPU和存储数据传输 双向
    • 地址总线
      • 给出要访问的地址单元的地址
    • 控制总线
      • 单向的由CPU给出信号
  • 主存中存储单元的地址分配
    • 存储器对某一个单元进行读取和写入
      • 每一个字节都有一个地址(例如每个数据如何存储)
        • 第一种 大端大尾方式
          • 高位字节定义为字的地址,一个字包含四个地址
          • 高位字节存放在低地址,
        • 第二种 小端小尾方式
          • 地位字节为字地址
          • 情况与第一种相反
        • 二者相互通讯时需要调整字节地址
        • 设 24根地址线
          • 按字节寻址
          • 24根地址线是对每一个地址线进行分配
          • 224=16MB2^{24}=16MB
        • 设字长为16位
          • 按字寻址
          • 存储器容量可以写成8MW
        • 设字长为32位
          • 按字寻址
          • 每个字节一个地址,四个字节构成一个字
          • 存储容量为4MW
  • 主存的技术指标
    • 存储容量
      • 主存 存放二进制代码的总位数
    • 存储速度
      • 存取时间 存储器的访问时间,存储器从给出地址直到稳定的得到数据输出和写入
        读出时间,写入时间
      • 存取周期 连续两次独立的存储器操作
        (读或者写)所需的最小间隔时间。存取时间比存取周期短
        读周期 写周期
    • 存储器的带宽
      • 位/秒

主存储器–半导体芯片简介

  • 半导体存储芯片的基本结构
    • CPU 外部设备给出地址,经过译码驱动电路选择指定的存储矩阵,通过数据传出
    • 片选线
      • 芯片选择信号,指出这次操作给出的地址是不是该芯片,所需位置是不是在该芯片上。
      • 地址线,单向的,数据线双向的
    • 芯片容量
      • 地址线10位,数据线4位
        • 进行访存时210×42^{10}×4表示为1K×4位
      • 地址线14位(对存储矩阵的单元编址为需要14位二进制数,能够编址的存储单元个数为2142^{14}),数据线1位(每个存储单元只保留一位)
        • 容量为214×12^{14}×1表示16K×1位
    • 半导体片选线两种标识方式
      • 片选线 CS,CE\overline{CS} ,\overline{CE}
        • CS芯片选择的缩写
        • CE芯片使能的缩写
      • 读写控制线 WE,OE\overline{WE},\overline{OE}
        • WE\overline{WE}一根线时表示写操作低电平表示写操作,高电平表示读操作
        • OE\overline{OE}读操作WE\overline{WE}写操作

如何选择芯片

  • 用 16K × 1位 的存储芯片组成 64K × 8位 的存储器
    • 8个芯片放一起就构成8位 就构成16K×8位(同时工作)
    • 4组芯片连接在一起一共32个芯片,将每一租的片选线连接在一起
    • 分组地址可编辑为
      • 1~16K-1 第一组地址
      • 16K~32K-1 第二组地址
      • 32K~48K-1 第三组地址
      • 48K~64K-1 第四组地址
    • 若要访问65535根据规则,在片选信号的作用下,会选择最后一组的低电平才有效,其余的都不会响应
    • 可以在8个芯片的地址的同一位读出,以达到8位的效果,同时读取八位
  • 半导体存储芯片的译码驱动方式(给出地址后如何找到存储)
    • 线选法
      • 给出A0A_0A3A_3一共四位地址 说明16个存储单元
      • 数据线D0D_0D8D_8 一共八位说明存储器为16×8
      • 译码器
        • 二次译码器 两个输入,四个输出
          • 两个输入为00
          • 四个输入的对应0会有效
          • 如果输出为1的话 对应的1输出会有效
        • 地址译码器 输入4根线输出是24=162^4=16根线
          • 给定一个输入,输出端只有一根线有效,会控制该条线上的所有单元
      • 读写控制电路,读写选通,则会进行相应操作
        • 如果符合条件才会进行相应的读写操作
      • 局限性 太小
        • 地址线4条每个才16×8的存储容量
        • 假设1M×8位,经过译码后会有1M条线溢出(对空间布局极其不友好)
    • 重合法(二维阵列)
      • X行地址Y列地址,只能同时有一位生效
      • 行地址译码器译码后只有一个生效
      • 列地址为全零,译码之后开关才会打开0才会生效,数据才会生效从D输出
      • 在此过程中0,31也会输出,但是不会生效,该电路下无法输出数据 31,0也是
    • 二者差异
      • 线选法中 如果20根地址线 由一个地址译码器进行译码 输出产生1M条线
      • 重合法中 20个地址分成两部分,每部分10位,产生的线为2×10K条线

主存储器–随机存取存储器

  • 静态RAM
    • 保存0和1的原理是什么?
    • 基本单元电路的构成是什么?
    • 对单元电路如何读出和写入?
    • 典型芯片的结构是很么样子的?
    • 静态RAM芯片的如何进行读出和写入操作?
  • 动态 RAM ( DRAM )
  • 动态 RAM 和静态 RAM 的比较

静态RAM (双稳态存储器)

  • 静态RAM基本电路
    • T1T_1~T4T_4构成双稳态的触发器,一段为触发器头
    • T5T_5~T6T_6用于解决对存储文件的读或者写,都是由行地址选择,如果有效的话就会导通
    • T7T_7~T8T_8列开关,这一列都有这两个管辖,只有该开关有效时,行开关才能生效
    • 基本的读操作
      • 6管的静态RAM
      • 给出行选信号 控制T5T_5T6T_6打开
      • 给出列选信号 T7T_7T8T_8打开
      • 读有效,导通后存放的有效数据会通过 T6T_6-送到位线A上去> T8T_8同时送到总线上去
      • T5T_5T6T_6打开数据是双向的,但是会被拦截 T7T_7T8T_8也是
    • 基本的写操作
      • 下路写非后才能输出,如果基本电路会被选中,行地址选择才会有效,列地址生效,写选择有效,放大器导通,两则导通,通过取反的信号,才能完成基本的写操作
  • 静态RAM芯片举例
    • InteL 2114 外特性
      • 阵列结构 读操作 一个选择四个
        • 行地址6位
        • 经过译码后 产生 0-63 可以选择从
        • 给出一个地址 其中一行会被选中
        • 列地址只有四位,选中一个四个都会被选中
        • 每一列选信号,控制4个地址
        • 四个列地址产生16个列选信号
        • 每一个列选信号,控制着每一组中的该列
        • 四组同时输出
      • 写操作
        • 分为4组,每一组可以从0开始,也可以不从0开始
        • 行地址译码后 第N行有效,改行所有的基本单元电路被选中
        • 列地址每一组中的那一列会被选中,每一组列开关打开
        • WE\overline{WE}CS\overline{CS}低电平写操作
        • 数据通过I/O电路输出

动态RAM(电容存储器)

  • 静态 RAM (SRAM)

  • 动态 RAM ( DRAM )

    • 保存0和1的原理是什么?
    • 基本单元电路的构成是什么?
    • 对单元电路如何读出和写入?
    • 典型芯片的结构是很么样子的?
    • 动态RAM芯片的如何进行读出和写入操作?
    • 动态RAM为什么要刷新,刷新方法?
  • 动态 RAM 和静态 RAM 的比较

  • 动态RAM的基本电路

    • 单管和双管、三管,电容式存储数据
    • 三管
      • T4T_4预充信号有效,导通
      • 对读数据线进行充电,读有效 1
      • 读出模式下
        • 读选择线有效
        • T2T_2导通CgC_g如果保存信息,CgC_g为0的情况下不会导通,因此输出的数据为1
      • 写入模式下
        • 写选择线有效
        • T3T_3导通,向CgC_g中保存信息,对CgC_g进行冲放电,因此与原来的输入信息保持一致
    • 单管
      • 被选中时,字线会打开
      • 如果保存为0数据线无电流
      • 保存为1数据线有电流
      • 写入0时放电
      • 写入1时充电
  • 动态RAM举例

    • 三管动态地址(Intel 1103)
      • 参加译码的时候不仅仅是地址,还有读写信号
      • 读操作
        • 第0行被选中,该行读选择线生效
        • 列地址为5个0,第0列被选中
        • 输出0.0单元的数据
        • 通过读写控制电路向外输出
      • 需要刷新放大器,对电容信号重现,电容会漏电,导致信息丢失,因此需要每隔一段时间检测信息
      • 写操作
        • 与读操作基本一致
    • 单管RAM 4116芯片(16K× 1位)
      • 容量上需要14根地址线,但是实际只有七根线分两次选中
      • 七位行地址放在行地址缓存器中,列地址放在列缓冲器中
      • 芯片自带时序控制结构,控制输入和输出
      • 读操作
        • 放大器两端为跷跷板 一端为0另一端必定为1
        • 通过行选择线输出信号,对读放大器进行输入信号
        • 列地址通过信号 对选择后的数据经过I/O缓冲后输出数据
        • 在读放大器左侧 有电为0 无电为1,右侧有电为1无电为0
      • 写操作
  • 动态RAM刷新

    • 原因
      • 电容会缓慢放点
    • 刷新与行地址有关
      • 每一次刷新刷新的是一行的数据
    • 刷新的是列地址,一行中的所有电路
    • 刷新方式
      • 集中刷新(存取周期为0.5μs)
        • 2ms集中刷新所有行的数据,4000个存取周期,前面的3872周期中可以进行读写操作,后面的128周期可以进行刷新操作,任何CPU和设备无法通讯,称为死区,只能进行等待。
      • 分散刷新(存取周期为1μs)
        • 效果
          • 把刷新时间扩增了一倍(发明者真是个天才)
          • 无死区,芯片性能降低
      • 分散刷新与集中刷新相结合(异步刷新)
        • 如果安排得当不会出现死区
  • 动态RAM和静态RAM的比较

DRAM(主存) SRAM(缓存)
存储原理 电容式存储 触发器
集成度
芯片引脚数 行、列分别传送地址线条数可以减少为原来的一半 价格贵,速度快,所以不会减少引脚数
功耗
价格
速度
刷新

只读存储器(ROM)

  • 只能读取,不能修改
  • 出厂时已经写好了内容(初代)
  • 改进版1
    • 只能写一次,不能擦除
  • 改进版
    • 需要单独的檫除设备
  • 改进版3
    • 电擦写,特定设备
  • 改进版4
    • 连接计算机之后可擦写
  • 掩模ROM(MROM)(厂家出厂配置)
    • 行列选择线交叉处有 MOS 管为“1”
    • 行列选择线交叉处无 MOS 管为“0”
  • PROM (一次性编程)
    • 破坏性编程,无法修改
  • EPROM (多次性编程 )
    • 对程序修改的话,用紫外线直接照射,驱散浮动栅
    • 信息檫除依旧比较麻烦
  • EEPROM (多次性编程 )
    • 电可擦写
    • 局部擦写
    • 全部擦写
  • Flash Memory (闪速型存储器)
EPROM 价格便宜 集成度高
EEPROM 电可擦洗重写
比 EEPROM快 具备 RAM 功能

主存储器–存储器与CPU的连接

  • 地址线和数据线的计算方式
    如果是2K×42K×4的芯片,2K是容量,由地址线决定,计算方法:2n2^n=容量,n就是地址线的位数,这里算出来是11位;4是一个存储单元的位数,也就是数据线的位数,所以这个芯片的地址线11位,数据线4位。
  • 存储器容量的扩展
    • 位扩展
      • 使用同样的片选,同时读出设备(连接同一条片选线和读写信号线)
      • 地址线连接方式相同
      • 数据线占了按顺序读出的四位
      • 当数据输入或者输出为,会同时输出相同列的存储单元
      • 作用是,使两个设备合并成一个设备来用(同时进行读写操作,利用片选线传输同样的信号)
    • 字扩展(增加存储字的数量)(位扩展容量)
      • 需要两个芯片不同时工作
        • 芯片中多出一条地址线用来控制片选信号
        • 使用与门进行连接
    • 混合扩展字、位扩展
      • 对地址空间进行编组
        • 第一组 两个芯片 00…000 ~ 001…111
        • 第二组 两个芯片 01…000 ~ 011…111
        • 第三组 两个芯片 10…000 ~ 101…111
        • 第四组 两个芯片 11…000 ~ 111…111
      • 通过片选译码之后通过前两位的选择进行限信号的选择
  • 存储器与CPU的连接
    • 地址线的连接
      • 地址连接,低位作为地址,送入到地址选择器中,高位作为选择信号
    • 数据线的连接
      • CPU数据线的条数可能比存储线多,要使用位扩展满足要求
    • 读/写命令线的连接
      • CPU给出命令,连接线除了不连ROM其他都可以连到读写控制端上
    • 片选线的连接
      • 决定访问的位置,
      • 确认CPU访问的是存储器不是I/O,
      • 每一个内存芯片都有自己访问范围,每次访问必须要符合范围要求,有一些地址作为片选地址
    • 合理选择存储芯片
      • ROM和RAM要合理的选择
        • 保存系统程序用ROM
        • 保存配置信息用ROM
        • 系统程序运行区域,用户运行用RAM
        • 综合考虑芯片的数量
          • 少,简单最好
    • 其他 时序、负载
  • 题例
    • 分配地址线
    • CPU与存储器的连接图

文章声明: 非特殊说明,本文版权归 SUN个人博客 所有,转载请注明出处

本文标题: ⑤存储器

本文地址:

点此返回目录: 回到顶端

全部评论