大学计算机组成原理教程第5章学习专业课件_第1页
大学计算机组成原理教程第5章学习专业课件_第2页
大学计算机组成原理教程第5章学习专业课件_第3页
大学计算机组成原理教程第5章学习专业课件_第4页
大学计算机组成原理教程第5章学习专业课件_第5页
已阅读5页,还剩109页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第5章存储系统5.1存储器的分类与性能评价

5.2存储器访问的局部性原理与层次结构存储系统

5.3半导体存储器

5.4主存储器

5.5高速缓冲存储器Cache

5.6虚拟存储器

2025/2/25第5章存储系统5.1存储器的分类与性能评价

5.1.1存储器的分类

按处理器是否直接访问,分为主存和辅存按掉电后信息是否丢失,分为易失性存储器和非易失性存储器。按支持的访问类型来分,分为可读/写存储器和只读存储器ROM。按访问方式的不同,分为按地址访问的存储器、按内容访问的存储器CAM和指定位置访问的存储器。也叫相联存储器例如堆栈2025/2/25第5章存储系统5.1存储器的分类与性能评价

5.1.1存储器的分类

按实现介质来分,存储器有半导体存储器、磁表面存储器、光盘存储器和铁电存储器等。按访问周期是否均等,存储器可分为随机访问存储器RAM和顺序访问存储器。所有的半导体存储器都是随机访问存储器所有的磁表面存储器和光盘存储器都是非易失性存储器2025/2/25第5章存储系统5.1存储器的分类与性能评价

5.1.1存储器的分类

容量速度成本一个存储系统通常由若干存储芯片组成。存储芯片的规格表示为:存储单元数目

存储字长。例如,1K

1表示一个具有1024个存储单元的存储字长为1的存储芯片,2K

4表示一个具有2048个存储单元的存储字长为4的存储芯片。

5.1.2存储器的性能评价

常用的单位有兆字节MB或千字节KB2025/2/25第5章存储系统5.1存储器的分类与性能评价

容量速度成本

Ta是指从读/写存储器开始到存储器发出完成信号的时间间隔。Tc是指从一个读/写/存储器操作开始到下一个存储器操作能够开始的最小时间间隔。Tc>Ta。存储器带宽是每秒传送的二进制位数。例如,一个存储器芯片的Tc=100ns,每个访问周期可以读/写16位,则该存储器的带宽=16b/100ns=160Mb/s。提高存储器带宽是计算机组成设计的重点

5.1.2存储器的性能评价

访问时间Ta、访问周期Tc和存储器带宽

2025/2/25第5章存储系统5.1存储器的分类与性能评价

容量速度成本5.1.2存储器的性能评价

也称价格,一般有两个指标:存储系统总的拥有成本和每存储位的成本。前者指构成整个计算机存储系统的所有存储器件及相关设备的购买总成本;后者等于存储芯片的容量(位)除以存储芯片的价格。

2025/2/25第5章存储系统5.1存储器的分类与性能评价

5.2存储器访问的局部性原理与层次结构存储系统

5.2.1存储器访问的局部性原理

经过对处理器访问主存储器情况的统计发现,无论是取指令还是存取数据,处理器访问的存储单元趋向于聚集在一个相对较小的连续存储单元区域内。这种现象称为存储器访问的局部性原理。2025/2/25第5章存储系统5.2存储器访问的局部性原理与层次结构存储系统

5.2.1存储器访问的局部性原理访问局部性表现为时间局部性和空间局部性。时间局部性是指将要访问的信息就是现在正在访问的信息。空间局部性是指将要用到的信息就在正使用的信息旁边。一个程序在某个时间段内访问的主存储器空间范围称为该程序的工作集。对大多数程序而言,工作集的变化十分缓慢,有时甚至是不变的。

2025/2/25第5章存储系统5.2存储器访问的局部性原理与层次结构存储系统

5.2.1存储器访问的局部性原理用户对存储系统的要求一般是相同的:容量大、速度快、价格低。在现有存储器工艺技术水平下,上述要求无法满足。容量大的存储器在速度上通常要比容量小的存储器慢。速度快的存储器在价格上通常要比速度慢的存储器贵。

5.2.2层次结构存储系统2025/2/25第5章存储系统

这需要利用存储器访问的局部性原理,选择不同容量、速度和价格的存储器来构造一个层次结构的存储系统。即把最近频繁访问的一小部分信息存放在速度快、容量小的存储器中,而信息的全部存放在速度慢、容量大的存储器。5.2.2层次结构存储系统低一级存储器高一级存储器读a写a块X块Y块X处理器aa2025/2/25第5章存储系统计算机存储系统的层次结构中,最重要的两个层次是采用高速缓冲存储器的“Cache

主存”层次,以及基于虚拟存储器的“主存

辅存”层次。前者能提高存储系统的等效访问速度,即弥补主存储器在速度上的不足;后者扩大了存储系统的容量,即弥补主存储器在容量上的不足。5.2.2层次结构存储系统若要访问的信息在高一级存储器中找到,则称为命中,否则称为不命中或失效。命中率是指对层次结构存储系统中的某一级存储器来说,要访问的数据正在这一级中的比率。2025/2/25第5章存储系统设第1级和第2级存储器分别用M1和M2表示。设执行一组有代表性的程序后,测得对M1和M2访问的次数分别为R1和R2,则M1的命中率H为5.2.2层次结构存储系统这里假设采用的存储管理策略为处理器对M1和M2的访问是同时启动的。若在M1中取到了目标数据则访存结束;否则直接从M2读取,而不是等待目标数据从M2送到M1后再从M1中读取。2025/2/25第5章存储系统整个存储层次的平均访存周期Tc与M1和M2的访存周期Tc1和Tc2的关系为5.2.2层次结构存储系统层次结构存储系统的平均字节价格C为C=(C1

S1+C2

S2)/(S1+S2)式中,C1和S1分别为M1的单位字节价格和容量,C2和S2分别为M2的单位字节价格和容量。2025/2/25第5章存储系统5.1存储器的分类与性能评价

5.2存储器访问的局部性原理与层次结构存储系统

5.3半导体存储器

根据存储的信息是否可以读/写,半导体存储器分为随机访问半导体存储器(RAM)和只读半导体存储器(ROM)。其中RAM是可读、可写的;而ROM中的内容是事先写入的,不会因读取而丢失,在工作时只能对其进行读操作,不能写入新的内容。当然,作为半导体存储器,它们都是随机访问型的,即访问任何一个单元的时间是相等的,与单元的地址大小无关。2025/2/25第5章存储系统5.3半导体存储器

5.3.1随机访问半导体存储器RAM

根据存储原理的不同,RAM分为静态RAM(StaticallyRAM,SRAM)和动态RAM(DynamicalRAM,DRAM)两种。前者利用电流的开关特性来表示信息0/1,后者靠栅极电容上的电荷来表示信息0/1。

2025/2/25第5章存储系统5.3.1随机访问半导体存储器RAM

1.SRAM(1)SRAM的分类与工作原理SRAM采用的开关元件,有双极型和MOS型两种。双极型SRAM电路驱动能力强,开关速度快,存取周期短,速度快,但是成本高,功耗大,主要用于高性能计算机,在微型计算机中应用较少。MOS管的逻辑符号如右图所示。当控制端W为高电位时,MOS管导通,即R点与VCC同电位。

2025/2/25第5章存储系统5.3.1随机访问半导体存储器RAM

1.SRAM

常用6个MOS管来构成一个存储基元(即存储一位二进制数的电路单元),如下图所示。图中T1,T2组成双稳态触发器;T3,T4作为阻抗;T5,T6作为存储基元的选中开关。2025/2/25第5章存储系统5.3.1随机访问半导体存储器RAM

1.SRAM

(2)SRAM的组成与地址译码在半导体存储器内部,若干存储基元组成存储一个信息字的存储单元,大量的存储单元按行、分列排列起来构成一个存储单元阵列。再配上读/写控制电路、地址译码电路和控制电路,就构成了一个存储芯片。对存储器的访问是针对一个特定的存储单元进行的,而这个存储单元的选择、确定是通过对输入的地址进行译码来实现的。半导体存储器的地址译码有两种方式:单译码和双译码。

2025/2/25第5章存储系统5.3.1随机访问半导体存储器RAM

1.SRAM

(2)SRAM的组成与地址译码单译码只用一个译码电路来将地址信号变换成选中信号。这种选中信号称为字选择信号,用它来选中一个存储单元。下图为采用单译码方式的16

4位存储芯片的组成结构

2025/2/25第5章存储系统5.3.1随机访问半导体存储器RAM

1.SRAM

(2)SRAM的组成与地址译码双译码用两个译码电路(称为X译码器和Y译码器),分别产生行选择信号和列选择信号,行选择信号和列选择信号同时有效的存储单元为被选中的存储单元。双译码方式的256

1位存储芯片的组成结构

2025/2/25第5章存储系统5.3.1随机访问半导体存储器RAM

1.SRAM

SRAM存储芯片的引脚主要有:地址信号引脚A0,A1,A2,…数据信号引脚D0,D1,D2,…芯片选择信号引脚CS或CE。写命令信号引脚WE。数据输出允许信号引脚OE。电源引脚和接地引脚VCC和GND。

(3)SRAM的外特性与读写时序2025/2/25第5章存储系统5.3.1随机访问半导体存储器RAM

1.SRAM

典型的SRAM有2114(1K

4位),6116(2K×8位),6264(8K×8位),62256(32K×8位)等。2114SRAM芯片的逻辑表示引脚说明2025/2/25第5章存储系统2114SRAM芯片的读周期时序如下:

为了保证数据能够可靠地按时输出,片选信号CS必须在数据有效前tCO时间有效,即地址有效后,必须在tA–tCO

时刻有效,否则数据就不能在tA时刻稳定地出现在数据线上。2025/2/25第5章存储系统2114SRAM芯片的写周期时序如下:写周期tWC是对存储芯片进行连续两次写操作的最小时间间隔,包括滞后时间tAW、写入时间tW和维持时间tWR

。2025/2/25第5章存储系统5.3.1随机访问半导体存储器RAM

1.SRAM

2.DRAM

(1)DRAM的分类与工作原理四管动态存储电路单管动态存储电路:由一个MOS管和一个电容组成。最常用写操作:给字线加高电位,选中该存储基元。若写入1,则给位线加高电位,电容C充电;否则给位线加低电位,电容C放电。读操作:选中该存储基元,然后检测位线上的输出信号。若为高电位,则表示读出1;否则读出0。2025/2/25第5章存储系统2.DRAM(2)DRAM芯片的组成与读写时序

因为集成度提高,片内存储单元的数量增加,需要的地址线也相应增加,为了控制成本,封装芯片的尺寸没有增大,芯片引脚数目也就没有增加,所以DRAM芯片地址引脚的数目只是地址宽度的一半。为此,访存地址被分为行地址和列地址依次发送。相应地,在芯片内部就要设置行地址锁存器和列地址锁存器。为了区分地址总线上的行地址和列地址,特地增加两个控制线:RAS和CAS,分别控制行地址和列地址的接收。另外,DRAM不再设置CS引脚,其功能用RAS代替。

2025/2/25第5章存储系统2.DRAM(2)DRAM芯片的组成与读写时序

DRAM芯片的引脚主要有:地址信号引脚A0,A1,A2,…数据信号引脚D0,D1,D2,…地址选择信号引脚RAS和CAS。写命令信号引脚WE。数据输出允许信号引脚OE。电源引脚和接地引脚VCC和GND。2025/2/25第5章存储系统2.DRAM2116

DRAM芯片的组成2025/2/25第5章存储系统2.DRAM2116

DRAM的读时序先向地址引脚提供目标单元行地址,然后发出行地址选择信号RAS=0,将行地址打入行地址锁存器中。然后向地址引脚提供列地址,发出列地址选择信号CAS=0,将列地址打入到列地址锁存器中。2025/2/25第5章存储系统2.DRAM2116

DRAM的写时序CAS信号必须在列地址和输入数据都准备好之后才能发出。此后输入数据须维持一段时间,以确保信息可靠地写入。2025/2/25第5章存储系统2.DRAM(3)DRAM芯片的刷新

在DRAM芯片工作过程中,如果某些存储单元未被选中,电容被隔离,由于漏电流的存在,电容上的电荷会缓慢丢失。因此,每隔一段时间给电容补充电荷,这个过程称为刷新。典型的刷新间隔为

2ms。刷新是通过读操作实现的。只不过这个“读”并不输出数据,是“假读”。刷新是逐行进行的,行地址由芯片内部的“刷新计数器”提供。刷新一行所花时间称为刷新周期。2025/2/25“刷新”方式有:

集中式刷新、分散式刷新和异步式刷新①集中式刷新在一个刷新间隔(2ms)内,集中一段时间,对全部存储单元进行逐行刷新。在此期间正常的读/写操作将被停止,所以这段时间称为死时间。2025/2/25例如,对读/写周期为0.5

s的128

128的存储矩阵进行刷新,需要128个读周期。由于在刷新间隔2ms内共有4000个读/写周期,所以规定前3872个周期用于读/写或维持,后128个周期(64

s)用于刷新。2025/2/25为了消除死时间,人们又提出:分散式刷新。对每行存储单元的刷新分散到每个读/写周期中进行。具体来说,就是延长原先的读/写周期,将新的读/写周期分成前/后两段,前半段用来读/写或维持,后半段用来刷新。假如存储单元的读/写周期为0.5

s,则存储器的读/写周期为1.0

s。2025/2/25异步式刷新是将前两种方法结合起来,在一个刷新间隔内,均匀地进行逐行刷新。例如在2ms内,均匀地把128行刷新一遍,即每隔2ms/128=15.5

s刷新一行,如下图所示。这样,原来大块的死时间被分散开,达到了缩短死时间的效果。2025/2/25虽然不存在死时间,但分散式刷新导致存取周期延长,系统的性能下降第5章存储系统2.DRAM(3)DRAM芯片的刷新

如果进一步将刷新安排在指令译码阶段,还可以掩盖死时间。刷新操作的优先级被安排成高于读/写操作。2025/2/25第5章存储系统5.3半导体存储器

5.3.1随机访问半导体存储器RAM

向ROM写入原始信息的过程称为“编程”。依据“编程”方法的不同,ROM可以分为以下4类:(1)掩模型ROM,MROM(2)可编程ROM,PROM(3)可擦除的可编程ROM,EPROM(4)可用电擦除的可编程ROM,EEPROM5.3.2只读半导体存储器ROM

2025/2/25第5章存储系统(1)掩模型ROM,MROM5.3.2只读半导体存储器ROM

以晶体管(如MOS管)的“有/无”来代表“0/1”,即每个存储基元的信息是由制造集成电路的掩模来决定的,制造完成后无法改变。MROM的优点是可靠性高、位密度高、访问周期短,其不足是设计制造成本高。但若生产数量很大,分摊到每一个芯片上的成本就很小了,所以它较适用于市场占有率高的成熟产品。

2025/2/25第5章存储系统(2)可编程ROM,PROM5.3.2只读半导体存储器ROM

相当于“一张白纸”,用户可以通过所谓的“编程”操作向其中写入信息。

依据编程原理的不同,PROM可分为如下两种:(1)熔丝烧断型。可编程的连接点之间用熔丝相连,如下图所示。所谓“编程”就是选择某些熔丝将其烧断。2025/2/25第5章存储系统(2)可编程ROM,PROM依据编程原理的不同,PROM可分为如下两种:(1)熔丝烧断型(2)PN结击穿型可编程的连接点之间是PN结,未编程之前PN结是不导通的。所谓“编程”就是选择某些PN结将其击穿。烧断熔丝或击穿PN结,都是不可逆的,所以PROM只允许一次编程。如果写入的信息有错或需要更改原有信息,只能将原有的PROM作废,重新选择一片PROM进行编程。目前PROM已经淘汰。2025/2/25第5章存储系统(1)掩模型ROM,MROM(2)可编程ROM,PROM(3)可擦除的可编程ROM,EPROM5.3.2只读半导体存储器ROM

EPROM用“浮栅雪崩注入型MOS管”来表示信息。其原理是:浮栅上不带电荷,源极和漏极之间不导通,这种状态表示1;当源极和漏极之间加上高电压,产生雪崩击穿,电荷就积累在浮栅上,这种状态表示0。由于浮栅周围是二氧化硅,故积累的电荷就不易失掉。2025/2/25第5章存储系统(3)可擦除的可编程ROM,EPROM

EPROM芯片上有一个石英窗口,将窗口置于紫外线灯下,照射10~25分钟,浮栅上的电荷将全部释放,恢复到原来不带电荷的“1”状态。这样,EPROM就被擦除了,可以重新编程。EPROM芯片在使用过程中,应用不透光的胶纸贴盖住石英窗口,避免阳光或灯光直接照射,以免引起芯片功能损伤。EPROM的缺点是,擦除时需要将芯片从系统中拔出,用特殊设备擦除,且时间较长;不能局部擦除或重写指定单元信息。

2025/2/25第5章存储系统(1)掩模型ROM,MROM(2)可编程ROM,PROM(3)可擦除的可编程ROM,EPROM(4)可用电擦除的可编程ROM,EEPROM5.3.2只读半导体存储器ROM

可以联机擦除,还可以有选择地擦除或重写指定单元的信息。不过,EEPROM的单元结构较为复杂,成本较高。

2025/2/25第5章存储系统(4)可用电擦除的可编程ROM,EEPROM

近年来,出现一种被称为闪存(FlashMemory)的EEPROM。闪存在结构上与传统的EEPROM类似,只是它的栅极氧化层较薄,擦除和编程(重写)速度较快。基于闪存的固态盘,以其体积小、携带方便、容量大、价格低、速度快,已经替代原来的软盘。因其通过USB接口与主机相连,故称为“U盘”。2025/2/25第5章存储系统(4)可用电擦除的可编程ROM,EEPROM虽然EEPROM可以联机擦除,即可读、可写,但不可当作RAM使用。一则它允许编程的次数是有限的,如十万次;二则擦除和编程需要较长的时间成本较高。

2025/2/25第5章存储系统ROM的外特性与读/写周期

ROM存储芯片的引脚主要有:地址信号引脚A0,A1,A2,…数据信号引脚D0,D1,D2,…芯片选择信号引脚CS或CE。数据输出允许信号引脚OE。电源引脚和接地引脚工作电源VCC、脱机编程电源VPP和GND

2025/2/25第5章存储系统典型的EPROM有2716(2K

8位)、2732(4K

8位)、2764(8K

8位)、27128(16K

8位)等。2716的逻辑表示和引脚说明2025/2/25第5章存储系统ROM的外特性与读/写周期

EPROM的读周期时序如下。为了保证数据能够可靠地输出,片选信号CE必须在数据有效前tCO时间有效。EPROM在使用时,OE引脚接地。2025/2/25【例5-1】下列关于闪存(FlashMemory)的叙述中,错误的是

A.信息可读可写,并且读、写速度一样快

B.存储元由MOS管组成,是一种半导体存储器

C.掉电后信息不丢失,是一种非易失性存储器

D.采用随机访问方式,可替代计算机外部存储器

第5章存储系统2025/2/25A【例5-3】下列叙述中,正确的是

I、RAM是易失性存储器,ROM是非易失性存储器

II、RAM和ROM都是采用随机存取的方式进行信息访问

III、RAM和ROM都可用作CacheIV、RAM和ROM都需要进行刷新A.仅I和II

C.仅I、II和IV

B.仅II和IIID.仅II、III和IV第5章存储系统【例5-2】下列存储器中,不采用随机存储方式的是

A.EPROM

B.CDROM

C.DRAM

D.SRAM2025/2/25BA第5章存储系统5.4主存储器

5.4.1主存储器组成主存储器由RAM和ROM芯片组成。系统程序区存放的是不需要改动也不允许改动的系统程序,所以这部分存储空间用ROM来实现;系统程序工作区是系统程序在工作时写入并读出临时数据的,所以这部分存储空间用RAM来实现。用户程序区存放用户的程序与数据,这些信息可读、可改写,所以这部分存储空间也用RAM来实现。2025/2/25第5章存储系统5.4.1主存储器组成设计一个主存储器,首先要考虑它的容量。目前的微处理器都是按字节编址的,所以主存储器的容量=存储单元数

字节一个处理器对应的主存储器的最大存储单元数是由其地址总线的线数决定的。设处理器的地址总线的线数为N,则其对应的主存储器最大存储单元个数为2N。实际设计时,为了降低成本,为计算机配备的主存储器容量往往小于2N字节。由于单片存储芯片提供的存储容量与字长一般不能直接满足实际需求,所以经常是将若干存储芯片连接在一起组成特定机器的存储系统,这就叫存储器扩展。

2025/2/25第5章存储系统按照扩展的目的不同,存储器扩展分为位扩展、字扩展和字位同时扩展。(1)位扩展:扩大存储字长两片1K

4芯片组成1K

8存储器

2025/2/25第5章存储系统按照扩展的目的不同,存储器扩展分为位扩展、字扩展和字位同时扩展。(2)字扩展:扩大存储单元的数量两片1K

8芯片组成2K

8存储器

(1)位扩展:扩大存储字长2025/2/25第5章存储系统按照扩展的目的不同,存储器扩展分为位扩展、字扩展和字位同时扩展。(2)字扩展:扩大存储单元的数量(3)字位同时扩展既要扩大存储字长,又要扩大存储字的数量例如为了构造一个2K

8的存储系统,可将4片1K

4的存储芯片先两两并连再依次串连。

(1)位扩展:扩大存储字长2025/2/25第5章存储系统2.主存储器与处理器的连接(1)数据线的连接。当处理器的数据线数大于存储芯片的数据线数时,需要进行存储器位扩展。(2)地址线的连接。尽可能选择与处理器的地址线数相等的存储芯片。当进行字扩展时,处理器的部分地址线(如地址线的低位)直接连到存储芯片的地址线上,剩余的地址线(如地址线的高位)连接到译码器的输入端,再把译码输出信号与存储芯片的片选端相连。例如,3-8译码器根据三个输入端A,B,C的8种不同组合状态选择8个输出端中的一个输出有效信号。2025/2/25第5章存储系统2.主存储器与处理器的连接(3)控制线的连接读/写控制线WR与存储芯片读/写控制端(WE)相连。访存控制IO/MREQ与3-8译码器使能端G2A和G2B连接,译码器的另外一个使能端G1可以直接与电源Vcc连接。2025/2/25第5章存储系统【例5-4】某计算机主存容量为64KB,其中ROM区为4KB,其余为RAM区,按字节编址。现要用2K×8位的ROM芯片和4K×4位的RAM芯片来设计该存储器,则需要上述规格的ROM芯片数和RAM芯片数分别是

。A.1、15B.2、15C.1、30D.2、302025/2/25D【例5-6】某计算机存储器按字节编址,主存地址空间大小为64MB,现用4M×8的RAM芯片组成32MB的主存储器,则存储器地址寄存器MAR的位数至少是

。A.22位B.23位

C.25位

D.26位。第5章存储系统【例5-5】用若干个2K×4位芯片组成一个8K×8位存储器,则地址0B1FH所在芯片的最小地址是

。A:0000H

B:0600H

C:0700H

D:0800H

2025/2/25DD第5章存储系统【例5-7】设某处理器有18根地址线,8根数据线,并用IO/M作为访存控制信号,RD/WR为读/写信号。现有如下各种芯片及各种门电路(自定)。要求主存地址空间分配为0~32767为系统程序区,32768~98303为用户程序区,最大16K地址空间为系统程序工作区。请说明选用存储芯片的类型、数量,并写出每片存储芯片的二进制地址范围。画出处理器与存储芯片的连接图

。2025/2/25第5章存储系统解:(1)已知0~32767为系统程序区,这是32K的只读地址空间,所以选用32K

8的ROM芯片一片。32768~98303为用户程序区,这是64K的随机存取地址空间,选用32K

8的RAM芯片两片。最大16K地址空间为系统程序工作区,这是16K的随机存取空间,选用16K

8的RAM芯片一片。一片32K

8ROM芯片的寻址范围是:0000000000

0000

0000B~00011111111111

1111B两片32K

8RAM芯片的寻址范围是:00100000000000

0000B~01011111111111

1111B一片16K

8RAM芯片的寻址范围是:11110000000000

0000B~1111111111

1111

1111B2025/2/25第5章存储系统解:(2)处理器与存储芯片的连接如下:2025/2/25第5章存储系统5.4主存储器

5.4.1主存储器组成虽然人们在不断地研制更高速度的存储器,但是仍然赶不上高性能计算机对主存储器访问带宽的需求。所以需要立足于现有的存储器,通过引入并行处理技术来提高主存储器访问带宽。常用的并行存储器有多端口RAM(如双口RAM)和多模块存储器

5.4.2提高主存储器访问带宽的方法2025/2/25第5章存储系统1.双口RAM这是具有两套独立的读/写控制逻辑的RAM,具有两个独立的端口:左端口(L)和右端口(R)。分别具有各自的地址总线、数据总线和控制总线,可对存储器中任何地址单元中的数据进行独立的存取操作。当两个端口的访存地址不同时,这两个访问可以同时进行,否则发生访问冲突。这时就由片内仲裁逻辑决定哪个端口先进行访问。5.4.2提高主存储器访问带宽的方法2025/2/25第5章存储系统双端口RAM常作为流水线处理器的计算机主存储器。在多机系统中,常采用双端口RAM甚至多端口RAM,实现多处理器对主存储器的共享。

5.4.2提高主存储器访问带宽的方法2025/2/25第5章存储系统2.多模块存储器根据组成技术不同,多模块存储器又分为单体多字存储器和多体并行存储器。由于程序访问存在着局部性,所以对相邻存储信息(如指令和数组元素)的使用往往是连续的。如果让多个存储器模块共用一套地址逻辑。这样一个访存地址就可以把存储于多个存储器模块中相同地址单元的多个字一并读出,然后依次将它们送给处理器。通过这种方式将多个存储器模块组织在一起构成的存储器称为单体多字存储器。

5.4.2提高主存储器访问带宽的方法2025/2/25存储字存储体存储字存储体存储字存储体存储字存储体MARMDRMDRMDRMDR寄存器前提:指令或数据在主存中必须是连续存放的,一旦遇到转移指令或者操作数不能连续存放,这种方法的效果就不明显单体多字存储器2025/2/25第5章存储系统2.多模块存储器5.4.2提高主存储器访问带宽的方法

多体并行存储器由N个容量相同、字长相同的存储器模块组成,它与单体多字存储器的不同在于,它的各个存储器模块分别拥有独立的地址逻辑。只要连续访问的存储单元不在同一个存储器模块中,这些模块就可以相互错开1/N周期启动、交叉(轮流)占用系统的地址总线、数据总线和控制总线,所以多体并行存储器也叫“模N交叉存储器”。2025/2/25四体交叉存储器的工作示意图

启动体0单体访存周期单体访存周期

启动体1

启动体2

启动体3第5章存储系统2.多模块存储器5.4.2提高主存储器访问带宽的方法由于模N交叉存储器提供的存储容量为单体存储器的N倍,所以系统的地址总线宽度要大于单体存储器的地址总线宽度,多出的那部分地址将用于生成不同存储体的体选信号。根据选择访存地址的高端还是低端来生成体选信号,可以将模N交叉存储器分为“高位交叉编址存储器”和“低位交叉编址存储器”

。2025/2/25模块0

模块1模块2

模块3

00000000010001000011010000100101010010111000010001100101001111000110011101011011高位是模块号,低位是块内地址主存地址高位交叉编址第5章存储系统高位交叉编址存储器

优点是可靠性高,一个存储器模块失效只会影响存储空间的1/N部分,不在这一部分的程序和数据照常工作。问题是,发生访问冲突的概率高。

2025/2/25模块0

模块1

模块2

模块3

00000000010001000011001000100001100高位是块内地址,低位是模块号主存地址001010100101101001100101001110001110101101111低位交叉编址第5章存储系统低位交叉编址存储器低位交叉存储器可以将连续的指令和数据存储在不同的存储器模块中,有利于减少访问冲突。但是可靠性差,一旦一个存储体失效,整个存储空间将崩溃。2025/2/25第5章存储系统5.4.2提高主存储器访问带宽的方法3、采用更高速器件技术(如双极型MOS)生产的存储芯片;4、信息按整数边界存储;5、引入高速缓存Cache。2025/2/25第5章存储系统例5-8某计算机存储器按字节编址,采用小端方式存放数据。假定编译器规定int和short型长度分别为32位和16位,并且数据按边界对齐存储。某C语言程序段如下:

struct{int a; char b; short c;}record;

record.a=273;

若变量record的首地址为0xC008,则地址0xC008中的内容及record.c的地址分别为

A.0x00、0xC00D B.0x00、0xC00EC.0x11、0xC00D D.0x11、0xC00E

D2025/2/25第5章存储系统5.1存储器的分类与性能评价

5.2存储器访问的局部性原理与层次结构存储系统

5.3半导体存储器

5.4主存储器

5.5高速缓冲存储器Cache

为了解决“主存储器的速度始终赶不上处理器的速度”的问题,在主存和处理器之间增设“高速缓冲存储器Cache”是一种非常有效的办法。Cache采用静态RAM实现,容量小于主存容量,但速度大大高于基于动态RAM的大容量主存。

2025/2/25第5章存储系统5.5高速缓冲存储器Cache

5.5.1Cache的工作原理

CPUCPU发出访问主存的地址MM不久目标数据将肯定从主存送往CPUCache没有Cache,计算机照常工作,有了Cache,计算机工作得快一点!2025/2/25Cache的工作原理CPUCacheMMCPU发出访问主存的地址这个主存地址Cache也同时收到若目标数据在Cache中(命中)则Cache将先于主存把数据送往CPU若Cache没命中则主存迟早会把目标数据送往CPU2025/2/25

事实上,对于M体交叉访问的主存储器,给出一个主存地址在一个访存周期内能够读出M个字。根据程序访问的局部性原理,CPU将会继续访问这M个字。

所以在主存与Cache之间,设置一个多字宽的局部数据线。当Cache不命中时,CPU将在访问目标数据的同时,一并从主存读出来的M个字,并将其作为一个块

传送给Cache。这样CPU的下一次访问基本上能够在Cache中命中了。2025/2/25

当Cache不命中,CPU正常访问主存时,主存一方面将目标数据通过系统数据总线送往CPU;同时,通过Cache—MM局部多字宽数据线将附带读出的一个字块送往Cache。CPUCacheMM2025/2/25

随着CPU访问主存的不断进行时,越来越多的主存字块被装入Cache。由于Cache的容量有限,迟早会出现Cache装满的情况。所以当一个新字块要装入Cache时,它将要判断Cache是否已满?未满则直接装入,否则将启动Cache内部的替换控制机构,从Cache存储体中选择一个旧的字块,将其通过Cache—MM局部多字宽数据线写回主存,以腾出空间接纳新送来的字块。2025/2/25

由于程序访问局部性原理的存在,Cache的命中率通常都在90%以上。所以,增设Cache后,CPU的平均访存速度明显提高,基本上接近Cache的速度。在CPU看来,它只付出了少许成本,就拥有了一个与主存储器容量相当,速度几乎等于Cache的高级“存储器”2025/2/25第5章存储系统5.5高速缓冲存储器Cache

5.5.1Cache的工作原理

5.5.2地址映像与变换2025/2/25地址的映象:

地址的变换:

主存块按照什么规则装入到Cache中?访问Cache时,如何将主存地址变换成对应的Cache地址?第5章存储系统5.5高速缓冲存储器Cache

5.5.1Cache的工作原理

5.5.2地址映像与变换2025/2/25影响Cache-主存地址映象方法选择的因素地址映象和变换的速度;块冲突发生概率;所谓块冲突是指出现了主存块要进入Cache中的某块位置,而这个位置已经被其他主存块占用的现象。第5章存储系统5.5高速缓冲存储器Cache

5.5.1Cache的工作原理

5.5.2地址映像与变换2025/2/25影响Cache-主存地址映象方法选择的因素地址映象和变换的速度;块冲突发生概率;若Cache尚未装满,就发生块冲突,则Cache中将存在空闲块,Cache空间的利用率就不会达到100%。第5章存储系统5.5.2地址映像与变换常见的映像方法:全相联映像直接映象组相联映象2025/2/25主存中的任意一块均可映象装入到Cache内的任意一块位置上主存中的某一块只能映象装入到Cache内的某一特定块位置上主存与Cache分组,组间直接相联,组内全相联。全相联映象的地址变换过程主存块号nmb块内地址nmr主存地址nm块内地址nmrCache地址nc查到Cachencb块号查不到Cache块失效相联比较nmbncb2ncb行目录表(专门硬件)全相联映象的地址变换过程(简化)Cache地址nc(简化)主存块号nmb主存地址nm(简化)查到Cachencb块号查不到Cache块失效相联比较nmbncb2ncb行目录表(专门硬件)全相联映像的评价优点:块冲突的概率最低!Cache空间的利用率最高。缺点:目前,Cache的容量已经比较大,块数很多。因此,构造大容量的目录表(相联存储器),不仅造价高,而且相联比较速度急剧变慢。相联比较位数最少的映像方法就是直接映像法

能否简化映象表的结构,减少相联比较内容的位数,以加快相联比较速度呢?第5章存储系统5.5.2地址映像与变换常见的映像方法:全相联映像直接映象组相联映象2025/2/25主存中的某一块只能映象装入到Cache内的某一特定块位置上。第5章存储系统5.5.2地址映像与变换2025/2/25在直接映像中,主存储器按Cache的大小分区,区内按Cache块的大小分块。每一个Cache块位置可以接受来至任意一个分区中、相同块位置的主存储器信息块。地址映象的公式是:Ncb=Nmbmod2k,

(k为Cache块号的位数)。即主存信息块对应的Cache块的块号Ncb就等于这个信息块的“主存块号Nmb”后k位。直接映象的地址变换过程相等块内地址nmrCache地址ncCachencb块号不等Cache块失效相等比较主存块号nmb区内块号块内地址nmr主存地址nm区号SRAM区号2ncb行访问Cache存储体以区内块号为地址访问区号表直接映象法的优缺点优点硬件简单,成本低,速度快。

为什么?缺点Cache的块冲突概率最高,Cache的空间利用率低。

访问Cache与访问区号表、比较区号是否相符的操作同时进行。直接映象的地址变换过程(简化)相等Cache地址(简化)Cachencb块号不等Cache块失效相等比较主存块号nmb区内块号主存地址(简化)区号SRAM区号2ncb行访问Cache存储体以区内块号为地址访问区号表回顾:全相联映象的地址变换过程(简化)Cache地址nc(简化)主存块号nmb主存地址nm(简化)查到Cachencb块号查不到Cache块失效相联比较nmbncb2ncb行目录表(专门硬件)

由上述分析可以看出:

全相联映像与直接映像的优缺点是互补的。

全相联映像中的Cache块号全部是变换来的。因为是变换来的,所以块冲突概率低。直接映像中的Cache块号全部是截取来的。因为是截取来的,所以查表简单,变换速度快。

能否将全相联映象和直接映象折衷一下,使得Cache块号一部分是截取来的,一部分是变换来的?这样既兼顾变换速度,又兼顾块冲突概率。答案是肯定的。计算机设计的一个重要方法就是:折中(Trade-off)。这就是组相联映像。第5章存储系统5.5.2地址映像与变换常见的映像方法:全相联映像直接映象组相联映象2025/2/25

从主存地址中截取来的部分构成Cache块号中的高位,变换来的部分总是构成Cache块号的低位。即组间是直接相联,组内总是全相联。组相联地址变换示意图主存块号nmb区号Tag区内块号qCache块号ncb组号q组内块号s相等比较目录表不等Cache块失效相等tags(共2q组,每组2s行)以区内块号q为地址,在Cache第q组的2q个槽中选一组相联映象的几点讨论当组内的块数与Cache的块数相同时,组相联映象变成全相联映象当每组只有一块时,组相联映象转化成直接映象。组内的块数越多,Cache块冲突的概率就越低,Cache空间的利用率就越高。映象表就越复杂,成本越高,查表速度就越慢。第5章存储系统例5-9某计算机的Cache共有16块,采用2路组相联映射方式(即每组两块),每个主存块大小为32字节,按字节寻址,主存单元129所在主存块应装入到的Cache组号是

。A.0B.1C.4D.62025/2/25

C第5章存储系统5.5高速缓冲存储器Cache

5.5.1Cache的工作原理

5.5.2地址映像与变换5.5.3替换算法

2025/2/25当一个新的主存块要写入Cache中,而允许这个主存块写入的各个特定的槽都已被其它主存块所占用时,Cache的控制机构则要选择一个特定的槽,并将其中主存块替换回(写回)主存中去,以便腾出空间让新的主存块进入。第5章存储系统5.5.3替换算法

常见替换算法:1.近期最少使用算法(LeastRecentlyUsed,LRU)。2.先进先出算法(FirstInFirstOut

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论