ch4_1存储器

1. 存储器的类型

1.1 按照存储介质来分类

  1. 半导体存储器: TTL, MOS 易失性
  2. 磁表面存储器: 磁头, 载磁体;
  3. 磁芯存储器: 硬磁材料, 环状元件
  4. 光盘存储器: 激光, 磁光材料;

1.2 按照存取方式分类

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

  • 随机存储器, 在程序的执行过程中, 可读 , 可写;

  • 只读存储器, 在程序的执行过程中, 只读;

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

  • 顺序存取存储器, 磁带

  • 直接存取存储器, 磁盘;

1.3 按照作用分类

存储器:

主存储器,
Flash Memory;
高速缓冲存储器 cache;
辅助存储器

在这里插入图片描述

2. 存储器的层次结构

在这里插入图片描述

2.1 为什么要划分 存储层次

由于各种不同类型的存储器之间,
存取速度 和存储容量 相差较大,

即寄存器类型的 存储器, 速度最快, 但是容量却最小;

而主存级别的 存储器, 虽然容量增大,但是相对于CPU 中寄存器,速度却慢了很多;

2.2 缓存和主存层次

缓存和 主存之间, 是为了 解决 速度差异较大的问题,

主存和辅存之间: 是为了解决 容量 的问题, 而主存 和辅存 之间采用了 虚拟地址映射的关系。

在这里插入图片描述

3. 主存储器

MDR: memory data register, 主存数据寄存器, MDR 用来保存要被写入地址单元 或者 从地址单元读入的 数据, 是一个数据寄存器,即该寄存器中存放的是数据

MAR: memory address register  主存地址寄存器, 地址寄存器, 该寄存器中 存放的是地址, MAR: 用来保存数据将要被传输到的 地址位置 或者 数据来源的地址位置;

之所以前面开头加上M:  代表的是Memory 主存,表示目的地是主存或者来源于主存。

即虽然当前的数据 保存在cpu中寄存器中, 但是该数据来源于 主存,或者将要存放到主存中;
 
 数据将要存放到主存中的地址,  或者数据来源于主存中的地址;

3.1 主存储器的基本组成

由地址总线负责: CPU  中的MAR(主存地址寄存器)  和主存之间进行通信;

数据总线负责: CPU 中的 MDR(主存数据寄存器)  和主存之间通信;

CPU中的控制电路, 控制读写 功能;

在这里插入图片描述

在这里插入图片描述

3.2  主存中存储单元地址的分配

一个十六进制数需要占用4位二进制,
8 个 十六进制数,  需要占用 32位 二进制;
保存在存储单元当中,

  • 将高位字节的地址作为存储器的地址;
     高位字节, 12 存放在低地址;
     低位字节, 78  存放在高地址;
     
    并且以高位字节,即12 所在的地址,作为存储地址,即图中的字地址0,
    在这里插入图片描述

  • 将低位字节地址作为存储器的字地址;
      低位字节,78 存放在低地址,并且作为字地址

观察,两者都是以低地址作为字地址的;

3.3  主存的存储容量与存储速度

存储容量  主存 存放二进制代码的总位数

存储速度

  • 存取时间  存储器的访问时间, 读出时间 写入时间
  • 存取周期  连续两次独立的存储器操作, (读或写)所需的最小间隔时间   读周期  写周期
  • 存储器的带宽: 位、秒

4 主存储器的 - 半导体芯片简介

4.1 半导体存储芯片的基本结构

在这里插入图片描述

上方带有横线,表示低电平有效

片选线:CS, CE
读写控制线: WE
在这里插入图片描述

用 8 个一位的16k 存储芯片, 组成一组8位的存储器,

每组为8位,总共需要4组;

在这里插入图片描述

4.2 半导体存储芯片的译码驱动方式:

  • 线选法:

通过地址译码器, 选出其中的一个地址线。
读写控制电路, 选择 读操作 还是 写 操作;
在这里插入图片描述
不足之处, 对存储容量较大的芯片, 线的密集程度较大。

  • 重合法
    使用行,列地址译码器;

行,列地址分别进行译码;
 分别,只能有一条线有效的;
在这里插入图片描述

5. 随机存取存储器RAM

内存便是RAM 构成,

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

5.1 静态 RAM

  • 保存0和1的原理是什么?

静态 RAM:  通过触发器保存0,1的状态;
有T1~ T4 共4根管子构成触发器,双稳态触发器,用于保存数据;

多组 T1~ T4;

  • 基本单元电路的构成是什么?

总共有6晶体管构成,
保存0,1的部分: 其中4个晶体管构成的触发器;
控制读写的部分: 两个晶体管:
 
这6个晶体管,组成了基本单元电路,在图中的虚线表示,将该虚线框的单元电路,重复多个,构成一列;

列开关: T7, T8一列公用; T7, T8 是这一列上所有的基本单元电路, 共有的控制开关, 用于控制 这一列

A 触发器的原端, A' 触发器的非端;
在这里插入图片描述
存储器的读,写操作:

  • T5, T6 两个晶体管决定对存储器进行读还是写,都是由行地址选择进行控制;

5.2 静态 RAM 的读写操作

读操作:
行选信号,控制T5, T6 打开;
列选信号,T7, T8 打开;

之后,读选择有效;

存放在A中的数据,
通过T6晶体管,送到位线上去, 
同时T8导通,输出到读放大器中; 
在这里插入图片描述

写操作,

选择写信号, 
通过原信号与原信号取反,输入到A, A'
在这里插入图片描述

静态RAM芯片举例
we: 带横线, 表示低电平, 表示进行写操作;
在这里插入图片描述

在这里插入图片描述

通过选择行地址译码器, 选择其中的一行;

列地址译码器, 选择其中的一列;
在这里插入图片描述

在这里插入图片描述

5.3 动态RAM 随机存储器

  • 保存0和1的原理是什么?
     使用电容元器件保存电荷, 有电荷表示1,
     电容当中没有电荷, 便表示是0;

  • 基本单元电路的构成是什么?
     基本单元有三个晶体管和电容构成。 
     电荷保存在图中电容 C g C_g Cg 中,

有三个晶体管的电路;
和单个管的电路;
在这里插入图片描述

  • 对单元电路如何读出和写入?
    读选择线, 控制T2晶体管;
    写选择线, 控制T3晶体管;

  • 典型芯片的结构?

  • 动态 RAM 芯片的如何进行读出和写入操作

预充电信号有效, vdd 通过T4给读数据线充电,
使读数据线成为高电平,

如果读操作, 读选择线有效, T2 管子进行导通。
若Cg中保存的是0, 则T1的栅极是低电平;

读出与原存信息相反;

写入与输入信息相同

  • 动态RAM 为什么要刷新, 刷新方法?
    刷新放大器,  动态RAM 使用的是电容存储电荷的原理来保存信息的, 电容会漏电

由于电容会漏电, 经过一段时间后, 电容上的信号会消失,采用刷新放大器,对电容中保存的信息进行重写;

5.3.1 三管动态RAM 芯片 举例

在这里插入图片描述

5.3.2  单管动态RAM 的外特性

在这里插入图片描述

4116 动态RAM芯片中的读放大器的工作原理是一个撬撬板电路,
其左右两侧的电平相反。
在这里插入图片描述

读操作:
在读放大器的左侧这些行中,电容有电表示0, 电容没有电代表1,
在读放大器的右侧侧这些行中,电容有电表示1, 电容没有电代表0;

写操作:
如果写入的数据是1, 则经过读放大器后, 读放大器的另一端中保存的电荷是0;

此时,读出和写入的信息是一致的;

5.4 动态RAM的刷新

动态RAM是使用,电容存储电荷的方式来保存信息的,
电容很小,容易漏电;

在一段时间中,如果不对电容中的信息再生的话, 电容中保存的信息就会丢失;

所以需要对动态电容进行刷新,  刷新的时候只和行地址有关系, 刷新一行中所有的基本单元电路;

两个毫秒之内,对动态RAM中所有的行进行刷新;

集中式刷新,在刷新时间周期内, cpu 和io 设备只能进行等待;
在这里插入图片描述

分散刷新( 读取周期)
无 死区, 过度刷新,  将读写周期加长,导致芯片性能下降;
在这里插入图片描述

分散式刷新与集中式刷新(异步刷新);
将刷新周期安排在 指令译码的时间段内;

在这里插入图片描述

6. 静态RAM和 动态RAM 的比较

动态RAM 静态RAM
存储原理 电容 触发器
集成度 低,可以由一个晶体管构成 高,每个基本单元电路6个晶体管
芯片引脚 少, 行,列地址可以分别进行传送, 地址线条数减少一半
功耗 低,对电容进行充放电 高, 双稳态触发器,3个管子一直漏电,
价格 结构简单,价格低 结构负责, 价格高
速度 读写时, 对电容充放电, 速度慢 触发器方式,速度较快
刷新

猜你喜欢

转载自blog.csdn.net/chumingqian/article/details/129037129
今日推荐