计算机组成原理-第3章-存储系统_第1页
计算机组成原理-第3章-存储系统_第2页
计算机组成原理-第3章-存储系统_第3页
计算机组成原理-第3章-存储系统_第4页
计算机组成原理-第3章-存储系统_第5页
已阅读5页,还剩122页未读 继续免费阅读

下载本文档

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

文档简介

1、存储系统的分类、分级结构和技术指标;2、SRAM、DRAM、EPROM、闪速存储器芯片的结构、工作原理及扩充容量方法;3、双端口存储器、多模块交叉存储器、相联存储器;4、cache存储器基本原理及其管理;第三章多层次的存储器***存储器分类存储器:用来存储程序和数据的记忆设备。存储介质:具有两种明显区别且稳定的物理状态,在外界的作用下,能够相互转化;一种稳定状态表示“0”,则另一种状态表示“1”。目前主要采用半导体器件和磁性材料。存储位或存储元:最小的存储单位——一位二进制代码存储单元:由若干个存储元组成。半导体存储器磁表面存储器***存储器概述存储器分类:存储器(1)按存储介质分类:光存储器随机存储器顺序/半顺序存储器读写存储器只读存储器非永久记忆的存储器永久性记忆的存储器主/辅助存储器高速缓冲/控制存储器(2)按存取方式分类:存储器(3)按读写功能分类:存储器(4)按信息可保存性分:存储器(5)按系统作用分类:存储器***存储器的分级结构对存储器要求:容量大、速度快、成本低。多级存储器体系结构:高速缓冲存储器、主存储器和外存储器;按CPU是否可直接访问,存储器分为内存:高速缓冲存储器、主存储器外存:必须调入内存,才能被CPU处理TTL门电路(TransistorTransistorLogic)—由双极性晶体管组成的集成门电路,其输入级和输出极均采用了三极管,称为晶体管—晶体管逻辑门电路。TTL存取速度快,集成度较低,功耗较大,成本较高,适于cache。MOS电路(MetalOxideSemiconductor)—金属性氧化物半导体电路,由MOS管(单极性场效应管)组成的集成门电路,其有三种类型:PMOS电路,NMOS电路,CMOS电路。MOS集成度高,功耗较低,价格便宜,适于主存。高速缓冲存储器:又称“cache”,由TTL半导体材料组成。存取时间为几ns到十几ns,容量在几KB到几百KB。存放当前正在执行程序的部分程序或数据。

CMOS电路(ComplementaryMetalOxideSemiconductor)—它是由PMOS和NMOS管组成的互补电路,其突出特点是功耗小,抗干扰能力强,稳定性好,速度快,但工艺较复杂。小容量、快速存储器位于CPU和内存之间,属于CPU可放在CPU内部,也可作为单独的模块主存储器:简称“主存”,由MOS半导体存储器组成,存放处于活动状态的程序和有关数据。包括OS的常驻部分和当前在运行的程序和要处理的数据。容量在几百KB到几百MB,存取时间为几十到几百ns。外存储器:简称“外存”,大容量辅助存储器;磁表面存储器或光盘存储器;存放需联机保存但暂时不需要的程序和数据。容量从几十MB到几百GB,甚至更大。存取速度为若干ms。其他功能的存储器:如微程序控制器的控存、在显示和印刷输出设备中的字库和数据缓冲存储器。***主存储器的技术指标主要性能指标:存储容量、存取时间、存储周期和存储器带宽。字存储单元(存放一个机器字的存储单元),相应地址为字地址字节存储单元(存放一个字节的存储单元),相应地址为字节地址按字寻址的计算机:计算机中可编址的最小单位是机器字按字节寻址的计算机:计算机中可编址的最小单位是字节存储容量:存储器中可容纳的存储单元总数;单位:B(Byte),KB,MB,GB,TB,PB。存取时间:又称访问时间,从启动一次存储器操作到完成该操作所经历的时间。存储周期:连续两次启动同一存储器操作需要的最小时间间隔。存储周期存取时间>存储器带宽:单位时间存储器所存取的信息量;度量单位:位/秒、字节/秒;可靠性:在规定的时间内,存储器无故障的概率。用平均无故障时间MTBF功耗与集成度:耗电的多少;单个芯片存储容量;性能/价格比:衡量存储器经济性能好坏的综合性指标。性能包括前述的各项指标。***SRAM存储器RAM(RandomAccessMemory):存储单元的内容可随机读写。优点:存取速度快、体积小、可靠性高、价格低廉。缺点:断电后信息即丢失。***SRAM(StaticRAM)存储器1、基本存储元存储器的核心和基础,用来存储一位二进制信息0或1。以六管SRAM存储元为例解释工作原理,它是由两个MOS反相器交叉耦合而成的触发器,用来存储一位二进制代码。RAMSRAM

—静态MOS存储器DRAM—动态MOS存储器漏极(Drain)源极(Source)栅极(Gate)MOS管的相关介绍MOS管截止:若栅极和源极之间的电压为零,即VGS=0,则在漏极和源极之间有一个非常大的内阻,相当于不导通,处于断开状态;MOS管导通:若使VGS大于某一正电压(约2V),则MOS管导通,漏极和源极之间处于连通状态。写操作:写入“1”时,使高、低电位分别加到A、B两端,T1截止、T2导通;地址线上无信号时,T5、T6、T7、T8都截止,T1、T2保持状态不变,通过反相器使状态更加稳定。写“0”的情况完全类似。读操作:地址信息到达时,使T5、T6、T7、T8导通,存储元的信息被送到I/O与I/O线上,I/O与I/O线接上一个差动读出放大器,从其电流方向,可以得出所存信息是“1”或“0”。也可I/O或I/O一端接到外部,看其有无电流通过,得出所存信息。扩充:存储芯片规格的表示在很多内存产品介绍文档中,都会用M×W的方式来表示芯片的容量。M是该芯片中存储单元的总数,单位是兆(英文简写M,,精确值是1048576,而不是1000000)。W代表每个存储单元的容量,也就是SDRAM芯片的位宽(Width),单位是bit。图3.2基本的静态存储元阵列2、基本的静态存储元阵列(1)存储位元(2)三组信号线地址线行线列线数据线控制线地址译码器:26=6464×4=256存储位元R/W4位数据线***SRAM存储器组成

由存储体、地址译码电路、读写电路和控制电路等组成。存储体:存储单元的集合。通常把各个字的同一位组织在一个集成片中,同一位的这些字通常排成矩阵形式。地址译码器:把用二进制代码表示的地址转换成输出端的高电位,用来驱动相应的读写电路,以便选择所要访问的存储单元。地址译码器的输入信息来自CPU的地址寄存器(AR)。单译码结构:地址译码器只有一个,译码器输出为字选线双译码结构:两个地址译码器,可减少选择线条数地址译码的两种方式:驱动器:一条X选择线要控制挂其上所有存储元电路,其所带的电容负载很大,为此需加驱动器。I/O电路:处于数据总线和被选用的单元之间,用于控制被选中的单元读出或写入,并具有放大信息作用。片选与读/写控制电路:当需要大容量的存储器时,需把存储器片按照一定方式连接而成。在地址选择时,首先要选片,此片所连接的地址线才有效。通常用地址译码器的输出和一些控制信号来形成片选信息。输出驱动电路:为扩展存储器容量,需将几个芯片的数据线并联使用,这同样需要驱动电路。基本的SRAM逻辑结构SRAM芯片大多采用双译码方式,以便组织更大的存储容量。采用了二级译码:将地址分成x向、y向两部分如图所示。第一级:进行X、Y向独立译码;第二级:在存储阵列中完成交叉译码存储体(256×128×8)

存储阵列为三维结构,即256行×128列×8位

通常把各个字的同一位集成在一个芯片(32K×1)中,32K位排成256×128的矩阵。地址译码器采用双译码的方式(减少选择线的数目)。A0~A7为行地址译码线A8~A14为列地址译码线读与写的互锁逻辑

控制信号中CS是片选信号,CS有效时(低电平),门G1、G2均被打开。

OE为读出使能信号,OE有效时(低电平),门G2开启,当写命令WE=1时(高电平),门G1关闭,存储器进行读操作。

写操作时,WE=0,门G1开启,门G2关闭。

注意,门G1和G2是互锁的,一个开启时另一个必定关闭,这样保证了读时不写,写时不读。读周期:

读周期与读出时间是两个不同的概念。读出时间是从给出有效地址到外部数据总线上稳定地出现所读出的数据信息所经历的时间。读周期时间则是存储片进行两次连续读操作时所必须间隔的时间,它总是大于或等于读出时间。***存储器的读写周期写周期:实现写操作,要求CS和WE同时有效,有效期间地址和数据信号不能变化;为了保证CS和WE变为无效前能把数据可靠的写入,数据必须提前一段时间在数据总线上稳定存在;而在WE变为高电平后再经过一段时间地址信号才允许改变。***DRAM存储器1、DRAM存储元的记忆原理

SRAM存储器的存储元是一个触发器,它具有两个稳定的状态。而DRAM存储器的存储元是由一个

MOS晶体管和电容器组成的记忆电路。2、DRAM存储芯片的逻辑结构以1M×4位的DRAM为例

与SRAM不同的是:(1)增加了行地址锁存器和列地址锁存器。行地址锁存器列地址锁存器分时传送先传送地址码A0~A9行选通信号打入然后传送地址码A10~A19,由列选通信号打入RAS=RowAddressStrobeCAS=ColumnAddressStrobe

与SRAM不同的地方(2)增加了刷新计数器和相应的控制电路

●DRAM读出后必须刷新,而未读写的存储元也要定期刷新,而且要按行刷新。

刷新计数器的长度等于行地址锁存器

刷新操作与读/写操作是交替进行的,通过多路开关实现存储的信息电荷会泄漏,时间一长就丢失信息。为此必须按照一定的规律不断给工作管充电,补足栅极信息电荷。在刷新操作中的“读”称为“假读”。读/周期的定义是从行选通信号RAS下降沿开始,到下一个RAS信号的下降沿为止的时间也就是连续两个度周期的时间间隔,通常为了控制方便,读周期和写周期时间相等:3、DRAM的读/写周期刷新周期:从上一次对整个存储器刷新结束到下一次对整个存储器全部刷新一遍为止,这一段时间间隔称为~。4、DRAM的刷新集中式分散式集中刷新方式RW刷新2刷新1RW128…RW…RW刷新间隔2ms读写/维持刷新过程/死区500ns500ns指的是DRAM的所有行在每一个刷新周期中都被刷新,把刷新间隔分为两部分,前一部分进行读/写周期或维持周期,后一部分只进行刷新操作。因为刷新时期不能进行读写操作,称为死时间。本方式适用于高速存储器。用在实时要求不高的场合。2ms内集中安排所有刷新周期。

集中式刷新分散刷新方式RW刷新2刷新1RW128…RW…RW刷新间隔2ms500ns500ns存储周期各刷新周期分散安排在存取周期中。用在低速系统中把存储系统周期分为两半,前半段时间用来读/写操作或维持信息,后半段用于刷新操作,经过一段时间把整个存储器刷新一遍。该方式使整个系统读写速度降低,但刷新周期变短,且不存在死时间。例如上图所示的DRAM有128行,如果刷新周期为2ms,则每一行必须每隔2ms÷128=62.5us进行一次。

DRAM刷新需要硬件电路支持,它们集成在一个芯片上,形成DRAM控制器,是CPU和DRAM间的接口电路。组成部分:

地址多路开关:选择分时送出行地址、列地址及刷新地址。

刷新定时器:提供刷新请求。

刷新地址计数器:采用RAS刷新时,需要刷新地址计数器。仲裁电路:读写请求和刷新请求同时产生时,裁决谁优先。定时发生器:向DRAM提供RAS、CAS及WE,实现读写和刷新操作。5、存储器控制电路6、存储器容量的扩充1、字长位数扩展给定的芯片字长位数较短,不满足设计要求的存储器字长,此时需要用多片给定芯片扩展字长位数。三组信号线中,地址线和控制线公用而数据线单独分开连接。2、字存储容量扩展给定的芯片存储容量较小(字数少),不满足设计要求的总存储容量,此时需要用多片给定芯片来扩展字数。三组信号组中给定芯片的地址总线和数据总线公用,控制总线中R/W公用,使能端EN不能公用,它由地址总线的高位段译码来决定片选信号d=设计要求的存储器容量/选择芯片存储器容量

A12D7D0A0例:用16K×1位的SRAM芯片构成64K×4位的存储器。要求:(1)总共需要多少片SRAM芯片?地址线共需多少位?其中多少位用来进行芯片选择?(2)画出该芯片组成的存储器逻辑框图。答:(1)共需16片SRAM,地址线需要16位,其中2位进行选片(2)CSCSCSA15A14CPU16K×116K×116K×116K×1D0-D32:4译码器CSA0-A13例1用2114(1K×4)SRAM芯片组成容量为4K×8的存储器。地址总线A15~A0(低),双向数据总线D7~D0(低),读/写信号线R/W。给出芯片地址分配与片选逻辑,并画出M框图。1.计算芯片数(1)先扩展位数,再扩展单元数。

2片1K×4

1K×8

4组1K×8

4K×8

8片(2)先扩展单元数,再扩展位数。

4片1K×4

4K×4

2组4K×4

4K×8

8片存储器寻址逻辑2.地址分配与片选逻辑芯片内的寻址系统(二级译码)芯片外的地址分配与片选逻辑为芯片分配哪几位地址,以便寻找片内的存储单元由哪几位地址形成芯片选择逻辑,以便寻找芯片存储空间分配:4KB存储器在16位地址空间(64KB)中占据任意连续区间。64KB1K×41K×41K×41K×41K×41K×41K×41K×4需12位地址寻址:4KBA15…A12A11A10A9……A0A11~A0000……0任意值001……1011……1101……1010……0100……0110……0111……1片选芯片地址低位地址分配给芯片,高位地址形成片选逻辑。芯片芯片地址片选信号片选逻辑1K1K1K1KA9~A0A9~A0A9~A0A9~A0CS0CS1CS2CS3A11A10A11A10A11A10A11A103.连接方式(1)扩展位数4

1K×4

1K×4410

1K×4

1K×4410

1K×4

1K×44104

1K×4

1K×441044A9~A0D7~D4D3~D044R/WA11A10CS3A11A10CS0A11A10CS1A11A10CS2(2)扩展单元数(3)连接控制线(4)形成片选逻辑电路某半导体存储器,按字节编址。其中,0000H~∼07FFH为ROM区,选用EPROM芯片(2KB/片);0800H~13FFH为RAM区,选用RAM芯片(2KB/片和1KB/片)。地址总线A15~A0(低)。给出地址分配和片选逻辑。例2:1.计算容量和芯片数ROM区:2KBRAM区:3KB存储空间分配:2.地址分配与片选逻辑先安排大容量芯片(放地址低端),再安排小容量芯片。便于拟定片选逻辑。共3片某半导体存储器,按字节编址。其中,0000H~∼07FFH为ROM区,选用EPROM芯片(2KB/片);0800H~13FFH为RAM区,选用RAM芯片(2KB/片和1KB/片)。地址总线A15~A0(低)。给出地址分配和片选逻辑。例2:1.计算容量和芯片数ROM区:2KBRAM区:3KB存储空间分配:2.地址分配与片选逻辑先安排大容量芯片(放地址低端),再安排小容量芯片。便于拟定片选逻辑。共3片A15A14A13A12A11A10A9…A0000000……0000001……1

000011……1

0001001…1

000010……0

0001000…0低位地址分配给芯片,高位地址形成片选逻辑。芯片芯片地址片选信号片选逻辑2K2K1KA10~A0A10~A0A9~A0CS0CS1CS2A12A11A12A11A12A115KB需13位地址寻址:ROMA12~A064KB1K2K2KRAMA10A15A14A13为全0【例3】CPU的地址总线16根,双向数据总线8根,控制总线中与主存有关的信号有MREQ(允许访存,低电平有效),R/W(高电平为读命令,低电平为写命令)。主存地址空间分配如下:0—8191为系统程序区,由只读存储芯片组成;8192—32767为用户程序区;最后(最大地址)2K地址空间为系统程序工作区。上述地址为十进制,按字节编址。现有如下存储器芯片:EPROM:8K×8位;SRAM:16K×1位,2K×8位,4K×8位,8K×8位。请从上述芯片中选择适当芯片设计该计算机主存储器,画出主存储器逻辑框图,注意画出选片逻辑(可选用门电路及3∶8译码器74LS138)与CPU的连接,说明选哪些存储器芯片,选多少片?【解】主存地址空间分布如图所示。根据给定条件,选用EPROM:8K×8位芯片1片SRAM:8K×8位芯片3片,2K×8位芯片1片。3∶8译码器仅用Y0,Y1,Y2,Y3和Y7输出端,且对最后的2K×8位芯片还需加门电路译码。主存储器组成与CPU的连接逻辑图EPROM8KBSRAM8KBSRAM8KBSRAM8KBSRAM2KBA10作业:用16K×16位的SRAM芯片构成64K×32位的存储器。要求:(1)总共需要多少片SRAM芯片?地址线共需多少位?数据线共需多少位?使用何种方式的译码器?(2)画出该芯片组成的存储器逻辑框图。2、解:(1)所需芯片总数(64K×32)÷(16K×16)=8片,因此存储器可分为4个模块,每个模块16K×32位,地址线共需16位,数据线共需32位,各模块通过地址线A15、A14进行选片,用2:4译码器进行译码。(2)该芯片组成的存储器逻辑框图:***高级的DRAM结构1、FPM(FastPageMode)-DRAM:快速页模式动态存储器,它是根据程序的局部性原理来实现的。读周期和写周期中,为了寻找一个确定的存储单元地址,首先由低电平的行选通信号RAS确定行地址,然后由低电平的列选信号CAS确定列地址。下一次寻找操作,也是由RAS选定行地址,CAS选定列地址,依此类推。快速页模式允许在选定的行中对每一个列地址进行连续快速的读操作或写操作。2、CDRAM(EnhancedDRAM)芯片:在DRAM芯片上集成一个SRAM实现的小容量高速缓冲器,以改善芯片性能。

基本原理:首先,行地址先到,保存在行地址锁存器和最后读出行地址锁存器中,并将此行指定的所有内容送出保存到SRAM中;然后,列地址到达,保存到列地址锁存器中,直接从SRAM中取出所选中的存储单元;当下一次读取时,输入的行地址立即和最后读出行锁存器的内容相比较,若相等,则命中,输入的列地址直接从SRAM中取出存储单元,若不等,则需重复前一步骤。***高级的DRAM结构CDRAM的优点:(1)在SRAM读出期间可同时对DRAM阵列刷新;(2)芯片内的数据输出路径与数据的输入路径是分开的,允许在写操作完成的同时来启动同一行的读操作。(3)对猝发式读取非常有利。

***高级的DRAM结构SDRAM:同步型动态存储器。计算机系统中的CPU使用的是系统时钟,SDRAM的操作要求与系统时钟相同步,在系统时钟的控制下从CPU获得地址、数据和控制信息。换句话说,它与CPU的数据交换同步于外部的系统时钟信号,并且以CPU/存储器总线的最高速度运行,而不需要插入等待状态。其原理和时序关系见下一页图。***DRAM主存读/写的正确性校验DRAM通常用做主存储器,其读写操作的正确性与可靠性至关重要。为此除了正常的数据位宽度,还增加了附加位,用于读/写操作正确性校验。增加的附加位也要同数据位一起写入DRAM中保存。其原理如图所示。F:奇校验或偶校验的异或运算电路若写入存储器前与读出存储器后两部分的F运算结果一致,则存储器读写正确,否则给出错误信号。***只读存储器和闪速存储器1、ROM的分类最大优点:具有非易失性

***只读存储器(ReadOnlyMemory)ROM掩模式ROM一次编程ROM(PROM)多次编程ROM熔丝烧断型PROMPN结击穿型PROM光擦编程ROM(EPROM)电擦编程ROM(EEPROM)掩膜ROMPROM基本存储电路ROM定义优点缺点掩模式数据在芯片制造过程中已确定可靠性和集成度高,价格便宜不能重写一次编程用户可自行改变产品中某些存储元可以根据用户需要编程只能一次性改写多次编程可以用紫外光照射或电擦除原来数据,然后再重新写入新数据可以多次改写ROM中的内容ROM的分类2、光擦可编程只读存储器(EPROM)

(1)基本存储元电路与普通MOS电路不同的是:在S极和D极之间,有一个由多晶硅做的栅极,被浮空的绝缘物二氧化硅包围。工作原理:管子制造好时,硅栅上没有电荷,管子内没有导电沟道,D极和S极之间不能导通,表示“1”;当两端加上高压时,击穿两极,有电子通过绝缘层注入到硅栅,当击穿的高压撤去,因硅栅被绝缘层包围,注入的电子无处泄露,两极是导通的,表示“0”。EPROM的芯片69271627642725627C0102K×88K×832K×8128K×8=1Mbit2、电擦可编程只读存储器(EPROM)7128C6428C25628C01028C0208K×832K×8128K×8256K×8=2Mbit

由INTEL公司于90年代发明的一种高密度、非易失性的读/写半导体存储器。特性:固有的非易失性;廉价的高密度:成本低,不需后援存储器;直接执行:不从后援存储器加载,可直接执行;固态性能:低功耗、高密度且没有机电移动装置的半导体技术;***FLASH存储器(FlashMemory)闪速存储器的逻辑结构(以28F256A为例32K×8)增加了状态控制、指令寄存器和编程/擦除定时器,另外还有擦除电压开关和编程电压开关。***并行存储器问题提出:CPU与存储器速度不匹配,以及在一个CPU周期中需几次到存储器存取信息,从而限制了高速计算,故必须设法提高存储器性能。解决办法:(1)采用新工艺或加大存储器字长。(2)每次存取更多信息。(3)在CPU和主存之间插入cache。(4)采用并行操作的双端口存储器。(1)逻辑结构:(IDT7133P85)

***双端口存储器DPRAM(Dual-PortRAM)同一个存储器具有两组相互独立的读写控制线路。(2)无冲突读写控制当两个端口的地址不同时,在两个端口上进行读写操作,一定不会发生冲突。(3)有冲突的读写控制当两个端口同时存取同一存储单元时,便发生读写冲突,为此设置BUSY标志。由存储器的仲裁逻辑决定对哪个端口优先进行读写操作,而对另一个被延迟的端口置BUSY标志,即暂时关闭此端口。***双端口存储器DPRAM(Dual-PortRAM)(1)存储器的模块化组织顺序方式:

优点:某个模块出现故障时,不影响其他模块工作;存储器的容量扩充比较方便。

缺点:各个模块串行工作,存储器的带宽受到限制。交叉方式:

连续地址分布在相邻不同模块内,而同一个模块内的地址不连续。优点:对连续字的成块传送,容易实现多模块流水式的并行存取,能大大提高存储器带宽。***多模块交叉存储器00000001110100001111100001011111000111110000011100000011110100010111100001111111缺点:多个模块必须协同工作,一个出现故障时,其他模块不能工作,且不便于存储器容量的扩充。(2)多模块交叉存储器的基本结构四个模块都有自己的读写控制电路、地址寄存器和数据寄存器,各自以等同的方式与CPU传送信息。CPU同时访问四个模块,由存储器控制部件控制它们分时使用数据总线。对于一个存储模块,从CPU给出访存命令直到读出信息仍然使用一个存储周期,而对于CPU来说,可以在一个存取周期内连续访问四个模块,各个模块的读写过程将重叠进行,使存储器成为并行存储器结构。流水方式存取示意图M0TM1M2M3M0

T:模块存取周期:总线传输周期m:存储器交叉模块数时间字设模块字长等于数据总线宽度,模块存取一个字的存储周期为T,总线传送周期为τ,存储器的交叉模块数为m,为了实现流水线方式存取,应满足

:T=mτ

(m=T/τ为交叉存取度)交叉存储器要求其模块数必须大于或等于m,以保证启动某模块后经mτ时间再次启动该模块时,它的上次存取操作已经完成。以交叉方式连续读取n个字所需的时间为:

t1=T+(n-1)τ而顺序方式存储器连续读取n个字所需时间为:t2=nT定量分析:t1

<t2[例5]设存储器容量为32字,字长64位,模块数m=4,分别用顺序方式和交叉方式进行组织。存储周期T=200ns,数据总线宽度为64位,总线传送周期=50ns。若连续读出4个字,问顺序存储器和交叉存储器的带宽各是多少?

解:顺序存储器和交叉存储器连续读出m=4个字的信息总量都是:

q=64b×4=256b

顺序存储器和交叉存储器连续读出4个字所需的时间分别是:t2=mT=4×200ns=800ns=8×10-7st1=T+(m-1)τ=200ns+150ns=350ns=35×10-7s

顺序存储器和交叉存储器的带宽分别是:W2=q/t2=256b÷(8×10-7)s=320Mb/sW1=q/t1=256b÷(35×10-7)s=730Mb/s每块容量为256K×32位,由8片256K×4位的DRAM芯片组成,数据总线为32位,地址总线为24位。

24位的地址,使存储器按照“存储体-块-字”进行寻址。A23~A21用于存储体选择,1个存储体为256K×4

,全系统有8个存储体,A20~A3用于模块中256K个字选择,A2用于模块选择,而CPU没有A1,A0位,代替的是4个字节允许信号BE3~BE0,以允许对A23~A2指定的存储字中字节/字/双字读写。

(3)二模块交叉存储器举例(P89)复习只读存储器:掩模式ROM、一次编程ROM、多次编程ROM(EPROM、EEPROM)FLASH存储器并行存储器:

双端口存储器:同一个存储器具有两组相互独立的读写控制线路。

多模块交叉存储器:连续地址分布在相邻不同模块内,各个模块都有自己的读写控制电路、地址寄存器和数据寄存器,各自以等同的方式与CPU传送信息。***cache存储器程序运行的局部性原理1:

CPU运行程序是一条指令一条指令执行的,指令的地址是连续的,即CPU对内存的访问在相对较短的时间间隔内往往集中于某个局部,特别是碰到循环、递归和反复调用的程序等更是如此。程序运行的局部性原理2:在一小段时间内,最近被访问过的程序和数据很可能再次被访问;在访问空间上,这些被访问的程序和数据往往集中在一小片存储区上;在访问顺序上,指令顺序执行比转移执行的可能性大(大约5:1)。解决方案:

选用生产与运行成本不同、存储容量不同、读写速度不同的多种存储介质,组成一个统一管理的存储器系统。使每种介质都处于不同的地位,起到不同的作用,充分发挥各自在速度、容量和成本方面的优势,从而达到最优性能/价格比。层次之间应满足的原则:1.一致性原则:处在不同层次存储器中的同一信息应保持相同的值。2.包含性原则:存储在内层(靠近CPU)的信息一定被包含在其外层的存储介质中,反之则不成立。存储层次需要解决的四个问题:1、当把一个块调入高一层(靠近CPU)存储器时,可以放在哪些位置上?(映象规则)2、当所要访问的块在高一层存储器中时,如何

找到该块?(查找算法)3、当发生失效时,应替换哪一块?(替换算法)4、当进行写访问时,应进行哪些操作?(写策略)cache是一种高速缓冲器,为解决CPU与主存之间速度不匹配而采用的一项重要技术。***cache基本原理

把Cache和主存分成若干大小相同的块;基本原理对主存地址,根据映象规则生成块号和侯选位置;

涉及问题:地址映象、查找、替换、写回策略

Cache主要由块表及快速存储器组成;将从Cache或主存取得的数据送处理器。根据块号和侯选位置查找块表,无则到主存取数据(R替换策略、W写回策略);有则生成Cache地址,查快速存储器读/写数据(W写回策略);

CPU与cache间的数据交换是以字为单位;

cache与主存间的数据交换是以块为单位;当CPU读取主存的一个字时,便发送字的内存地址给cache和主存,此时cache的控制逻辑依据地址判断此字当前是否在cache中:若是,则此字立即传送给CPU,若非,则用主存读周期把此字从主存中读出送到CPU,同时将含有这个字的整个数据块从主存读出送到cache中。cache的基本原理:cache的命中率:设在一段程序执行期间,cache完成存取次数为Nc,主存完成存取次数为Nm,h定义为命中率,则有:h=Nc/(Nc+Nm)平均访问时间:ta=htc+(1-h)tm访问效率:e=tc/ta=tc/(htc+(1-h)tm)=1/(r+(1-r)h)tc:命中时cache的访问时间tm:未命中时主存的访问时间r=tm/tc:主存慢于cache的倍率h=Nc/(Nc+Nm)=1900/(1900+100)=0.95r=tm/tc=250ns/50ns=5e=1/(r+(1-r)h)=1/(5+(1-5)×0.95=83.3%ta=tc/e=50ns/0.833=60ns例

CPU执行一段程序时,cache完成存取的次数为1900次,主存完成存取的次数为100次,已知cache存取周期为50ns,主存存取周期为250ns,求cache/主存系统的效率和平均访问时间。解:

***主存与cache的地址映射地址映射:把主存地址定位到cache中的方法。(硬件)

地址映射是指某一数据在主存中的地址与在缓存中的地址两者之间的关系。全相联方式直接相联组相联三种地址映象:映射方式表示Cache的数据块称为行,用Li表示比如:L0L1L2L3L4L5L6L7共8块。主存的数据块称为块,用Bj表示比如:B0B1B2……B255共256块。行与块是等长的,即分块全相联的地址映射规则:1)主存与缓存分成相同大小的数据块。2)

主存的某一数据块可以装入缓存的任意一块的空间中。

(一)全相联方式

全相联地址转换

将主存某一块定位装入到CACHE某一行时,会采用一个目录表,来存放这种映射关系。目录表的容量为Cache中的块数,字长为Cache地址中块号长度+主存地址中块号长度+1(有效位)转换公式主存地址长度=(s+w)位

寻址单元数=2w个字或字节

块大小=行大小=2w个字或字节

主存的块数=2s

标记大小=s位

cache的行数=不由地址格式确定

例:有一个处理器,主存容量1MB,字长1B,块大小16B,cache容量64KB。若cache采用全相联映射,对内存地址(B0010)给出相应的标记和字号。

解:块大小=行大小=2w=16/1=16则w=4位

主存寻址单元数2w+s=1M=220即s+w=20则s=16

标记大小s=16位

内存地址格式如下所示16位4位由于内存地址(B0010)16=(1011000000010000)2故对应的标记S=(101100000001)2

字号w=(0000)2

标记s

字号

w特点:优点:冲突概率小,Cache的利用高。

缺点:比较器难实现,需要一个访问速度很快代价

高的相联存储器应用场合:适用于小容量的Cache全相联方式

(二)直接相联方式

直接相联的地址映射规则

⑴主存第Bj块内容拷贝到Cache的Li行⑵

i=jmodm⑶一般m和n都是2N级

主存块号BCache块号L区0区1区2区31B0B8B16B248L0B1B9B17B249L1B2B10B18B250L2B3B11B19B251L3B4B12B20B252L4B5B13B21B253L5B6B14B22B254L6B7B15B23B255L7转换公式主存地址长度=(s+w)位

寻址单元数=2s+w个字或字节

块大小=行大小=2w个字或字节

主存的块数=2s

cache的行数=m=2r

标记大小=(s-r)位

例:有一个处理器,主存容量1MB,字长1B,块大小16B,cache容量64KB。若cache采用直接相联映射,请给出内存地址格式并给出2个不同标记的内存地址,它们映射到同一个cache行。

解:块大小=行大小=2w=16/1=16则w=4位

主存寻址单元数2w+s=1M=220即s+w=20则s=16

cache的行数=64*1024/16B=4096=212

及行号位r=12

对应的标记号s-r=4

内存地址格式为:4位12位4位(10000)16

和(20000)16

标记s-r行号r

字号w优点:硬件实现很简单,不需要相联访问存储器访问速度也比较快,实际上不进行地址变换缺点:

块的冲突率比较高直接相联方式

应用场合:适用于大容量的Cache113全相联映射和直接映射的优缺点刚好相反全相联映射优点:块冲突概率小

缺点:相联存储器的代价高。直接映射优点:硬件实现简单缺点:冲突概率高必须采用折中方案(三)组相联映射方式

(三)组相联映射方式

组相联的映象规则

将cache分成u组,每组v行,组存块存放在哪个组是固定的,存到该组哪一行是灵活的。

m=uXv

组号q=jmodu组间采用直接相联方式,组内采用全相联方式

思考题:当只有一组时,就变成什么映象?而每组块数变成一块就变成了什么映象?转换公式主存地址长度=(s+w)位

寻址单元数=2s+w个字或字节

块大小=行大小=2w个字或字节

主存的块数=2s

每组的行数=k

组数v=2d

cache的行数=kv

标记大小=(s-d)位

例:一个组相联cache由64个行组成,每组4行。主存包含4K

温馨提示

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

评论

0/150

提交评论