计算机组成原理复习 --- 第三章 多层次存储器

3.1 概述

存储器是计算机系统中的记忆设备,主要用来存放程序和数据。

构成存储器的存储介质,目前主要是半导体器件和磁性材料。

存储位元:二进制代码位,存储器中最小的存储单元

由若干个存储位元组成一个存储单元,多个存储单元组成一个存储器。

存储器的分类

  • 存储介质的不同:半导体材料的称为半导体存储器,磁性材料的称为磁表面存储器如:磁盘和磁带
  • 存取方式的不同:随机存储器和顺序存储器。
  • 内容储存的可变性:只读存储器ROM、随机读写存储器RAM
  • 信息的易失性:断电后信息消息的叫易失性存储器(半导体材料),断电后仍然能保存信息的是非易失性存储器(磁性材料)。
  • 系统中的作用:内部存储器和外部存储器。
存储器类型种类描述
随机存储器RAM读写易失
只读存储器ROM一次编程,只读不能擦除,非易失
可编程PROM一次编程,只读不能擦除,非易失
光擦可编程EPROM多次编程,只读紫外线擦除 非易失
电擦可编程EEPROM多次编程,只读电擦除 非易失
闪速存储器多次编程,只读电擦除 非易失

存储器的分级

计算机系统中通常采用多级存储器体系结构:高速缓冲存储器cache,主存储器(是计算机系统的主要存储器,负责存放计算机运行期间的大量程序和数据,能和cache进行信息的交互)和外存储器(大容量的辅助存储器,用来存放系统程序和文件,如硬盘)。

  • CPU内,寄存器cache
  • 主板内,主存储器
  • 主板外,磁盘 光盘
  • 离线,磁带

主存器的技术指标

存放一个机器字的存储器单元称为字存储单元,字地址;存放一个字节的存储单元称为字节存储单元,字节地址。

计算机中可编址的最小单位是一个字存储单元称为按字寻址计算机,同理称为按字节寻址计算机。

主存储器的性能指标主要是存储容量、存取时间、存储周期和存储器带宽;其中存取时间、存储周期和存储器带宽反映了主存的速度指标。

存储容量:一个存储器中所能容纳存储单元的个数。

存取时间:一次读操作命令从发出到该命令完成将数据读出所经历的时间。

存储周期:是指连续启动两次读操作所需的最小间隔时间。

存储器带宽:单位时间内存储器所能存取信息的容量。

3.2 SRAM

SRAM称为静态读写存储器,DRAM称为动态读写存储器。SRAM的优点是存取速度快,但是存储容量不如DRAM大。

SRAM的特征是用一个锁存器(触发器)作为存储元,只要断电,存储的数据0/1就会丢失。

SRAM由三组信号线与外部进行交互

  • 地址线:指定了存储器的容量,如6条线就是2^6=64个存储单元
  • 数据线:指定了存储器的字长位数,如4条线就是4位,存储位元就是64*4=256
  • 控制线:指定了对存储器是进行读写操作的哪一个。

SRAM采用双译码方式,以便组织更大的存储容量。双译码:采用二级译码,即将地址分为行向和列向两种,第一级进行行译码和列译码的独立译码,第二级是在存储阵列中完成第二级的交叉译码。

3.3 DRAM

DRAM容量大,通常用作计算机的主存,SRAM的存储元是一个触发器,DRAM的存储元是由一个MOS晶体管和电容器组成的记忆电路。当电容器充满电荷时代表存储了1否则代表存储了0.

刷新周期:DRAM存储位元是基于电容器上的电荷量存储,电荷量随着温度和时间而减少,因此需要定时进行刷新。

刷新操作拥有两种刷新方式:集中式刷新和分散式刷新。

集中式刷新:DRAM的所有行在每一个刷新周期中都被刷新。此时所有的读写操作都停止,直至刷新完成方可恢复。

分散式刷新:每一行的刷新插入到正常的读写周期中。每隔 刷新时间/行数 的时间来刷新一次,一次刷新一行。

存储器容易的扩展

  • 字长位数扩展:给定芯片字长过短,不能满足设计要求,需要用多片给定芯片进行扩展字长位数。
  • 字存储量扩展:给定芯片容量过短,不能满足设计要求,需要用多片给定芯片进行扩展容量。
  • 存储器模块条:内存条。

SRAM和DRAM的区别

  • SRAM的存储元是触发器,DRAM的存储元是MOS晶体管和电容器
  • SRAM的存取速度快,DRAM的容量大
  • DRAM相比较于SRAM增加了行地址锁存器和列地址锁存器,还增加了刷新计数器以及相应的控制电路。DRAM读出后必须刷新。
  • 寻址方式的不同。
3.4 并行存储器

由于CPU和主存储器在速度上是不匹配的,为了缓解这种矛盾,提高CPU和主存储器之间的数据传输率,除了采用更高速的技术来缩短存读出时间外,还可以采用并行技术的存储器。

并行存储器分为双端口存储器(空间并行技术)和多体交叉存储器(时间并行技术)。

双端口存储器

双端口存储器:同一个存储器具有两组相互独立的读写控制电路而得名。两个端口都独立拥有各自的地址线数据线和控制线。

当两个端口同时存取同一存储单元时,会发生读写冲突,此时增加一个BUSY标志,由片上的判断逻辑来决定由哪一个端口优先进行读写操作。当端口的BUSY标志位为低电平时就暂时关闭这个端口。

多模块交叉存储器

在常规存储器中,访问地址采用顺序方式,按照模块进行数据的存取,每一个模块中的地址都是连续的,即当一个模块进行工作时,其他模块不工作,当一个模块出现故障时不会影响到其他模块的运行,扩展方便。但是顺序方式中模块是串行工作的,存储器的带宽受到了限制。

交叉方式寻址的存储器中,地址连续的分布在相邻的两个模块内,同一个模块中的地址都是不连续的,可以实现多模块流水式并行存取,大大提高了存储器的带宽。CPU的速度比主存快,但同时从主存上取出多条数据,更好的缓解它们之间速度不匹配的矛盾。

计算: 设存储周期为T,总线传送周期为t,存储器的交叉模块数为m;

顺序存储: t1 = mT

交叉式存储: 交叉存取度为m=T/t ,t2=T+(m-1)t

#例题5
设存储器的容量为32字,字长64位,模块m=4,分别用顺序存储和交叉式存储进行组织,存储周期T=200ns,数据总线宽度64位,总线传送周期t=50ns,若连续读出4个字,求顺序存储器和交叉存储器的带宽是多少?
#带宽 w =q/t 算出二者信息总量和时间 
#首先计算信息总量
q = 64b *4 =256b
#计算读出四个字所需时间 
连续存储:t1 = mT  = 4*200ns = 800ns
交叉存储: t2= T + (m-1)t = 200ns + 3*50ns = 350ns
#求带宽 w = q/t
w1 = q/t1 = 256b / 8*10^-7 s = 320 Mb/s
w1 = q/t1 = 256b / 3.5*10^-7 s = 730 Mb/s

3.5 Cache存储器(重点)

cache是一种高速缓冲寄存器,主要为了缓解Cpu和存储器速度不匹配的矛盾,cache的原理主要是基于程序运行的时间局部性 和空间局部性特征。全部由硬件实现,对程序员是透明的。cache除了包含SRAM外还需要逻辑控制。

CPU和cache之间的信息交换是以字为单位,而cache和主存之间的信息交换是以块为单位,块由若干字组成是定长的。

执行过程:当CPU读取主存中的一个字时,便发出这个字的内存地址到cache和主存,依据这个地址判断这个字是否在cache中,若是则直接将字传送给CPU,若不是,则从主存中读取这个字,送到CPU中,同时将包含这个字的整个块读出送到cache中。

cache的命中率

命中率 = cache完成存取的总次数 / (cache完成存取的总次数+主存完成存取的总次数)

平均访问时间=命中率*cache的访问时间 + (1-命中率) *主存访问时间

命中率越高越好。

cpu执行一段程序时,cache完成存取的次数为1900,主存完成的存取次数为100,一直cache存取周期为50ns,主存存取周期为250ns,求平均访问时间。
#首先计算命中率,然后根据公式计算时间
h = 1900/1900+100 = 0.95
t = h * 50ns + (1-h)*250ns = 60ns

主存与cache的映射关系

cache的容量很小,只能保存主存的一个子集,二者的数据交换是以块为单位。为了把主存放到块中,必须采取某种办法将主存定位到cache中,这就是地址映射。

地址映射的三种方式:全相联方式、直接方式和组相联。

全相联方式:将主存中一个块的块号和块的内容一起存于cache的行中,块号存在于cache的标记部分中,这种带全部块号一起保存的方法,可使主存的一个块直接拷贝到cache中的任意一行,但是适合于小容量的cache。

内存地址:块号 + 字

直接方式:也是一种多对一的映射方式,但是一个主存块只能拷贝到cache一个特定行的位置上。如cache有m行,cache的第0行只能由主存的第1块、第m+1块、2m+1….映射。

内存地址:标记 + 行号 + 字

组相联:将cache分为u组,每组v行,主存块存放到哪个组是固定的,但是在相应组的行位置是任意的。

内存地址:标记 + 组号 + 字

cache的替换策略:LFU最不经常使用算法、LRU近期最少使用算法、随机替换。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值