计算机系统基础(四)之存储器

基本术语

  • 记忆单元 (存储基元 / 存储元 / 位元) (Cell)
    • 具有两种稳态的能够表示二进制数码0和1的物理器件
  • 存储单元 / 编址单位(Addressing Unit)
    • 具有相同地址的位构成一个存储单元,也称为一个编址单位
  • 存储体/ 存储矩阵 / 存储阵列(Bank)
    • 所有存储单元构成一个存储阵列
  • 编址方式(Addressing Mode)
    • 字节编址、按字编址
  • 存储器地址寄存器(Memory Address Register - MAR)
    • 用于存放主存单元地址的寄存器
  • 存储器数据寄存器( Memory Data Register-MDR (或MBR) )
    • 用于存放主存单元中的数据的寄存器

存储字长

主存的一个存储单元所包含的二进制位数;
目前大多数计算机的主存按字节编址,存储字长也不断加大,如16位字长、32位字长和64位字长;

数据存储与边界的关系

  1. 按边界对齐的数据存储
    在这里插入图片描述
  2. 按边界对齐的数据存储
    在这里插入图片描述
    注:虽节省了空间,但增加了访存次数! 需要在性能与容量间权衡!
  3. 边界对齐与存储地址的关系(以32位为例)
    在这里插入图片描述
  • 双字长数据边界对齐的起始地址的最末三位为000(8字节整数倍;
  • 单字长边界对齐的起始地址的末二位为00(4字节整数倍) ;
  • 半字长边界对齐的起始地址的最末一位为0( 2字节整数倍)。
  1. 大端与小端存储方式
  • Big-endian:最高字节地址(MSB)是数据地址。即高字节对应低地址,低字节对应高地址
  • Little-endian:最低字节地址(LSB)是数据地址。即低字节对应低地址,高字节对应高地址在这里插入图片描述
    在这里插入图片描述

存储器分类

依据不同的特性有多种分类方法

(1)按工作性质/存取方式分类

  • 随机存取存储器 Random Access Memory (RAM)
    • 每个单元读写时间一样,且与各单元所在位置无关。如:内存
  • 顺序存取存储器 Sequential Access Memory (SAM)
    • 数据按顺序从存储载体的始端读出或写入,因而存取时间的长短与
      信息所在位置有关。例如:磁带。
  • 直接存取存储器 Direct Access Memory(DAM)
    • 直接定位到读写数据块,在读写数据块时按顺序进行。如磁盘。
  • 相联存储器 Associate Memory(AM)Content Addressed Memory (CAM)
    • 按内容检索到存储位置进行读写。例如:快表。

(2)按存储介质分类

  • 半导体存储器:双极型,静态MOS型,动态MOS型
  • 磁表面存储器:磁盘(Disk)、磁带 (Tape)
  • 光存储器:CD,CD-ROM,DVD

(3)按信息的可更改性分类

  • 读写存储器(Read / Write Memory):可读可写
  • 只读存储器(Read Only Memory):只能读不能写

(4)按断电后信息的可保存性分类

  • 非易失(不挥发)性存储器(Nonvolatile Memory) .信息可一直保留, 不需电源维持。
    (如 :ROM、磁表面存储器、光存储器等)
  • 易失(挥发)性存储器(Volatile Memory).电源关闭时信息自动丢失。(如:RAM、Cache等)

(5)按功能/容量/速度/所在位置分类

  • 寄存器(Register)
    • 封装在CPU内,用于存放当前正在执行的指令和使用的数据
    • 用触发器实现,速度快,容量小(几~几十个)
  • 高速缓存(Cache)
    • 位于CPU内部或附近,用来存放当前要执行的局部程序段和数据
    • 用SRAM实现,速度可与CPU匹配,容量小(几MB)
  • 内存储器MM(主存储器Main (Primary) Memory)
    • 位于CPU之外,用来存放已被启动的程序及所用的数据
    • 用DRAM实现,速度较快,容量较大(几GB)
  • 外存储器AM (辅助存储器Auxiliary / Secondary Storage)
    • 位于主机之外,用来存放暂不运行的程序、数据或存档文件
    • 用磁盘、SSD等实现,容量大而速度慢
      在这里插入图片描述

计算机结构中存储器作用

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
如图可知,在CPU中存储器主要是寄存器;在CPU和主存储器之间有高速缓存(Cache);而主存储是内存是用DRAM实现,速度较快,容量较大。由于内存速度跟不上CPU的高速而使其等待,从而浪费了CPU的宝贵时间。在CPU与内存之间增加高速缓冲存储器后,CPU能直接对其存取数据,从而减少了时间,提高了系统的运行速度。在外设装置中外存储器,用磁盘、SSD等实现,容量大可以达到1T及以上而速度相对就越慢。

高速缓存(Cache)的组成

cache的组成:SRAM和控制逻辑。如果cache在CPU芯片外,它的控制逻辑一般和主存控制逻辑合成在一起,称主存/cache控制器。若cache在CPU内,则由CPU提供它的控制逻辑。
CPU与cache之间的数据交换是以字为单位,而cache与主存之间的数据交换是以块为单位。一个块由若干字组成,是定长的。这一块一块的数据被称为 CPU Line(缓存行),所以 CPU Line 是 CPU 从内存读取数据到 Cache 的单位。
在这里插入图片描述

静态存储器工作原理

SRAM存储单元结构

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

静态存储器分为单译码结构和双译码结构

在这里插入图片描述
在这里插入图片描述

6116静态存储器结构

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

主存与Cache的地址映射

地址映射:利用某种方法或者规则将主存块定位到cache
在这里插入图片描述

在这里插入图片描述
优点
▪ 地址变换速度快,一对一映射
▪ 替换算法简单、容易实现
缺点
▪ 容易冲突,cache利用率低
▪ 命中率低

全相联 (fully-associated)

主存中任何一块均可定位于Cache中的任意一块,可提高命中率,但是硬件开销增加

在这里插入图片描述
在这里插入图片描述

优点
▪ 一对多映射
▪ cache全部装满后才会出现块冲突
▪ 块冲突的概率低,cache利用率高
缺点
▪ 相应的替换算法复杂

组相联 (set-associated)

在这里插入图片描述

主存的结构

主存中存放的是指令及其数据的信息。而CPU执行指令时需要取指令、取数据、存数据,这些都需要访问主存。如下图:
在这里插入图片描述

在这里插入图片描述
解决SRAM不足采取的方法:

  • 去掉两个负载管T3、T4
    1.提升存储密度
    2.降低功耗
    3.降低成本
  • 利用栅极分布电容缓存电荷
  • 增加电路协同存储单元工作

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

DRAM存储单元的刷新

DRAM的一个重要特点是,数据以电荷的形式保存在电容中,电容的放电使得电荷通常只能维持几十个毫秒左右,相当于1M个时钟周期左右,因此要定期进行刷新(读出后重新写回),按行进行(所有芯片中的同一行一起进行),刷新操作所需时间通常只占1%~2%左右。双译码结构的DRAM刷新按行进行,需要知道RDAM芯片存储矩阵的行数;刷新地址由刷新地址计数器给出.
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
举例:典型的16M位DRAM(4Mx4)
16M位 = 4Mbx4 = 2048x2048x4 = 211x211x4
(1) 地址线:11根线分时复用,由RAS和CAS提供控制时序
(2) 需4个位平面,对相同行、列交叉点的4位一起读/写
行地址和列地址分时复用, 每出现新一代DRAM芯片,至少要增加一根地址线。每加一根地址线,则行地址和列地址各增加一位,所以行数和列数各增加一倍。因而容量至少提高到4倍。

PC机主存储器的物理结构

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

果粒橙_LGC

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值