计算机组成原理【第三章存储器总结】

计算机组成原理【第三章存储器总结】

  • 主存的基本结构
  • 主存的存储单元
  • 半导体存储器
  • SRAM
  • DRAM
  • 动态存储器的刷新
  • RAW芯片结构
  • 若干芯片构成主存储器
  • 双口RAM
  • 多模块存储器
  • 程序访问的局部原理
  • cache基本原理
  • cache和主存的映射方式
  • 页式虚拟存储器

主存的基本结构

  • 存储体
  • 地址译码驱动电路
  • I/O和读写电路
    计算机组成原理【第三章存储器总结】_第1张图片

主存的存储单元

  • 存储位元:存储一位二进制代码,由一个双稳态半导体电路或一个CMOS晶体管或磁性材料组成,是最小的存储单位
  • 存储单元:存放存储字或存储字节的主存空间,由若干位构成
  • 为了互相区别存储单元,必须逐一编号,称为地址,类似于房间号
  • 根据计算机的结构不同,主存可以分为字节编址字编址两种方式

半导体存储器

计算机组成原理【第三章存储器总结】_第2张图片

SRAM

非破坏性读出

DRAM

破坏性读出

动态存储器的刷新

刷新仅针对动态RAM,刷新是定时进行的
重写仅针对破坏性读出的存储器,某个存储单元只有在其被读出之后才需要重写
刷新通常是以存储体矩阵中的一行为单位进行的 (仅需行地址)
重写一般是以存储单元为单位进行的

刷新方式

  • 集中式

  • 分散式
    没有充分利用所允许的最大刷新间隔(2ms)

  • 异步
    死区的长度仅等于一个存储周期

RAW芯片结构

  • 地址线
  • 数据线
  • 控制线
    读写控制线(位线)和片选线(字线)

容量为64K*1 地址线有16根 数据线只有1根
计算机组成原理【第三章存储器总结】_第3张图片
nMB一律默认nM * 8

若干芯片构成主存储器

  • 位扩展
  • 字扩展
  • 字和位同时扩展

注意点(部分译码和全译码的区分)
地址重叠区的个数取决于没有参加译码的地址码的位数
比如有两位地址码没有参加译码,所以每组芯片都出现4个地址重叠区

综合例题
用16K×8位DRAM芯片构成64K×32位存储器(假设DRAM芯片为128行×128列,刷新周期为2ms),要求:
(1)画出该存储器的组成逻辑框图。
(2)设存储器读/写周期为0.5us,CPU在1us内至少要访问一次。试问采用哪种刷新方式比较合理?两次刷新的最大时间间隔是多少?对全部存储单元刷新一遍所需的实际刷新时间是多少?
(1)(64K * 32位)/(16K8位)=4 * 4=16片
4片16K * 8位的芯片采用位扩展方式连接,扩展为16K * 32位,
4组16K * 32位采用字扩展方式连接,扩展为64K * 32位的存储器
地址分配与片选逻辑
计算机组成原理【第三章存储器总结】_第4张图片
计算机组成原理【第三章存储器总结】_第5张图片
(2)假设16K * 8位的DRAM芯片采用128行
128列的存储元矩阵。

  • 若采用集中式刷新方式,则刷新一次所需的时间为128 * 0.5us=64us,在这期间不能进行读写操作,这显然与题中所述CPU在1us内至少要访问一次相违背,因此无法采用集中刷新方式;
  • 若采用分散式刷新,则每读/写一次刷新一次,使得读/写周期增加到1us,即在1us的时间内CPU只能访存一次,也不太合理。
  • 故采用异步刷新方式,即利用最大刷新间隔。假设最大刷新间隔为2ms,则两次刷新的最大时间间隔为:2ms/128行=15.6us,可取刷新周期为15us,则对全部存储单元刷新一遍所需的实际刷新时间为(15us+0.5us)*128=1.98ms

双口RAM

为了避免两个端口同时存取存储器的同一个存储单元时,设计硬件非BUSY功能,高电平正常存取,低电平不存取。

多模块存储器

一个由若干个模块组成的主存储器是线性编址的。这些地址在各模块中如何安排,有两种方式:一种是顺序方式,一种是交叉方式
计算机组成原理【第三章存储器总结】_第6张图片
计算机组成原理【第三章存储器总结】_第7张图片

程序访问的局部原理

cache基本原理

地址映射
替换策略
写一致性
性能评价

在一个程序执行期间,设Nc表示cache完成存取的总次数,Nm表示主存完成存取的总次数,h定义为命中率,则有 h=Nc/(Nc+Nm)
命中率h越接近1越好
若tc表示命中时的cache访问时间,tm表示未命中时的主存访问时间,1-h表示未命中率,则cache/主存系统的平均访问时间ta
ta=h*tc+(1-h) tm
ta越接近tc越好(即tc/ta→1)
r=tm/tc表示主存慢于cache的倍率,e表示访问效率,则有:e=tc/ta=1/(h+(1-h)*r)=1/(r+(1-r)*h)

cache和主存的映射方式

  • 直接映射
  • 全相联映射
  • 组相联映射

不论那种方式先分块,根据块大小将主存和cache分块(看清楚是按字还是按字节)

页式虚拟存储器

你可能感兴趣的:(计算机组成原理)