计算机组成原理第五章详解_第1页
计算机组成原理第五章详解_第2页
计算机组成原理第五章详解_第3页
计算机组成原理第五章详解_第4页
计算机组成原理第五章详解_第5页
已阅读5页,还剩92页未读 继续免费阅读

下载本文档

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

文档简介

1、计算机组成原理第五章详解演示文稿第1页,共97页。7/17/20221优选计算机组成原理第五章第2页,共97页。7/17/20222存储器主存储器(内存)辅助存储器(外存)1、主存储器存储当前正在使用的信息;要求较高的操作速度;存储容量不要求很大; 半导体存储电路实现。按存储器在计算机中的作用分类第3页,共97页。7/17/202232、辅助存储器:长期保存信息;工作速度低;存储容量达;用磁性存储设备实现;可读/写。第4页,共97页。7/17/20224辅助存储器程序存储器数据存储器主存储器存储单元CPU第5页,共97页。7/17/20225RAM随机存储器双极型RAMMOS型RAM静态RAM

2、动态RAM掩膜ROM内容由厂家制做可编程PROM可一次性编程可擦洗EPROM可多次改写ROM只读存储器Flash Memory闪速存储器按读写功能分类:第6页,共97页。7/17/202265.1.2 存储器的主要性能指标1、容量 用大规模集成电路构成的半导体存储器件常用位容量来表示存储功能。 如一个4K1和一个1K 4的器件,它们的位容量是一样的。但是,前者可用来组成4K内存单元的某一位,芯片只有一个数据输入端和一个数据输出端,在存储容量较大的系统中,一般都采用这样的器件;后者则可以用来组成1K内存单元的某4位,有4个数据输入端和4个数据输出端,在内存容量较小的系统中,一般采用这样的器件。总

3、的来说,采用位容量高的器件。第7页,共97页。7/17/202271字节(byte)= 8位(bit)1个字(word)2字节外存中,为了表示更大的容量,采用MB、GB、TB等单位。1KB = 210 B(B表示字节)1MB= 220 B1GB=230 B1TB=240 B64KB=64K8 bit第8页,共97页。7/17/202282、存取速度 存储器的速度可用访问时间、存储周期或频宽来描述;访问时间:用读出时间TA及写入时间TW来描述; TA:从存储器接到读命令以后至信息被送到数据总线 上所需的时间; TW:将一个字写入存储器所需的时间。 存取周期(TM):存储器进行一次完整的读写操作

4、所需要的全部时间;或者说:启动两次独立的存储器 操作之间所需的最小时间间隔;第9页,共97页。7/17/20229 常用存储器进行连续读写操作的最短间隔时间; TM直接关系到计算机的运算速度; 一般有 TM TA、 TMTW ,单位用微秒或毫微秒。 存储器的频宽B:表示存储器被连续访问时,提供的数据传送速率;常用每秒钟传送信息的位数(或字节数)来衡量。3、价格 存储器的价格:可用总价格C或每位价格c来表示,若存储器按位计算的容量为S;则: c = C/S第10页,共97页。7/17/2022105.1.3 存储器的层次结构 计算机应用对存储器的容量和速度的要求几乎是无止境的,理想的存储系统应当

5、具有充足的容量和与CPU相匹配的速度。但是实际的存储器都是非理想化的,其制约因素是价格(每位成本)、容量和速度。这3个基本指标是矛盾的。 存取速度越高,每位价格就越高。随着所使用存储容量的增大,就得使用速度较低的器件。第11页,共97页。7/17/202211用户需求:大容量、高速度、低成本 矛盾解决方案:访存局部性原理层次结构层次结构组织:*相关问题:设置原则是什么?设置几层?各层间一次传输时数据大小是多少?为什么引入计算机的层次结构?第12页,共97页。7/17/202212合理地分配容量、速度和价格的有效措施是实现分级存储。这是一种把几种存储技术结合起来,互相补充的折衷方案。下图是典型的

6、存储系统层次结构示意图,这个层次结构有如下规律(从上到下): 价格依次降低; 容量依次增加; 访问时间依次增长; CPU访问频度依次减小。 使用这样的存储体系,从CPU看,存储速度接近于最上层的,容量及成本却是接近最下层的,大大提高了系统的性能价格比。 第13页,共97页。7/17/202213处理器寄存器高速缓冲存储器主存储器(SRAM,DRAM)辅助存储器(磁盘存储器等)大容量(海量)存储器(光盘、磁带存储器)存储系统的层次结构外部设备主机内CPU芯片内速度高低小大快慢容量价格/位第14页,共97页。7/17/202214 存储系统的层次结构主要体现在缓存主存和 主存辅存这两个存储层次上;

7、高速缓存(Cache)主存寄存器组CPU辅存主机存储器系统的层次结构1、“高速缓存主存”层次这个层次主要解决存储器的速度问题。 在CPU与主存之间增设一级存储器,称高速缓冲 存储器(Cache)第15页,共97页。7/17/202215 Cache速度可与CPU相匹配,但容量较小,只能存放 一小段程序和数据;CPU访问内存时,将地址码同时送到Cache和主存,若 在Cache中找到相应内容,称访问“命中”,信息就从 Cache中读取;否则CPU从主存中读取(称访问“不命中”);此时一 般要进行Cache和主存的信息交换。第16页,共97页。7/17/2022162、“主存辅存”层次这个层次主要

8、解决存储器的容量问题。“主存辅存”层次是一个既具有主存的存取速度又具 有辅存的大容量低成本特点的一个存储器总体。把正在被CPU使用的“活动”的程序和数据放在主存 中,其余信息则存放在容量大、但速度较慢的辅存 中。虚拟存储技术:面对程序员的是一个具有辅存的容 量、主存的速度的存储器;解决了主存容量不足的 问题。第17页,共97页。7/17/2022175.1.4 主存储器与CPU的连接 (MFC)(RD、WR)主存存储体有2k个存储单元每单元为n位控制电路CPUMARMDR地址总线 k位数据总线 n位主存与CPU的连接第18页,共97页。7/17/202218特点: 可读可写,是一种易失性存储器

9、,在掉电后存放在存储单元的信息全部丢失,所以它一般用来暂存输入/输出数据、中间结果等。RAMSRAM速度快,容量小,功耗大DRAM速度慢,容量大5.2 随机存取存储器RAM第19页,共97页。7/17/2022195.2.1 SRAM静态存储器利用触发器的两个稳定状态表示“0”和“1”,至少需要6个晶体管才能表示一个二进制位。SRAM功耗较大,容量较小,存取速度较快,几乎是后面介绍的DRAM的10倍。价格较高,不需要刷新。当CPU速度愈来愈快的时候,SRAM就变得非常重要。因为DRAM跟不上CPU的速度,所以只好就用SRAM来做沟通的桥梁这就是高速缓冲存储器(Cache)的概念。因此,SRAM

10、主要的用途就是拿来作为Cache用。第20页,共97页。7/17/202220(行选线)(列选线)存储元位线B&I/O基本存储元读操作?若某个存储元被选中,则该存储元的T5,T6,T7,T8管均导通,A,B两点与位线D与D相连存储元的信息被送到I/O与I/O线上。I/O与I/O线接着一个差动读出放大器 ,从其电流方向可以判知所存信息是“1”还是“0”。写操作? 写“0”:在I/O线上输入低电位,在I/O线上输入高电位,打开T5,T6,T7,T8四个开门管把低、高电位分别加在Q,Q点,使T3管导通,T2管截止,将“0”信息写入了存储元。第21页,共97页。7/17/202221地址寄存器X译码器

11、驱动器I/O电路Y译码器地址寄存器输出驱动控制电路输出输入读/写片选01638164X64存储矩阵0163A6A7A11静态MOS RAM芯片结构图.A0A1A5.第22页,共97页。7/17/202222静态MOS存储器芯片实例(62256 SRAM)芯片容量为32K8 62256 SRAM芯片引脚地址引脚:A0A14数据引脚:I/O0I/O7片选:CE低有效读/写控制:WE,低电平时为写入控制;高电平时为读出控制。WEA12A7A6A5A4A3A2A1A0I/O0I/O1I/O2GND12345678910111213142827262524232221201918171615VccA14

12、A13A8A9A11OEI/O3I/O4I/O5I/O6I/O7CEA10 M62256第23页,共97页。7/17/202223静态存储芯片的读/写周期 tRCtAtCOtOTD地址数据出tWCtWtAWtWRtDHtDW数据入地址CSDoutCSWEDin(a) 读周期(b) 写周期静态RAM芯片的读、写周期第24页,共97页。7/17/202224【例】有问题吗?下图是某SRAM的写入时序图。其中R/W是读/写命令控制线,当R/W线为低电平时(写有效),存储器按给定地址把数据线上的数据写入存储器。请指出下图写入时序中的错误,并画出正确的写入时序图。第25页,共97页。7/17/20222

13、5【解】 写入存储器的时序信号必须同步。通常,当R/W线为有效信号时,地址线和数据线的电平必须是稳定的。当R/W线达到低电平时,数据立即被存储。 因此,当R/W线处于低电平时,如果数据线改变了数值,那么存储器将存储新的数据。同样,当R/W线处于低电平时地址线如果发生了变化,那么同样数据将存储到新的地址或。所以:正确的写入时序见下图。第26页,共97页。7/17/202226注意到: 在CS和R/W均有效时,地址线和数据线上的数值必须是稳定的。正确时序第27页,共97页。7/17/2022275.2.2 存储器容量的扩展 不同的应用场合会对芯片提出不同的要求。现有的芯片往往不能完全满足系统的需要

14、,因此如何用现有的芯片来实现系统的性能要求就成为了存储系统必须解决的重要问题之一。芯片不满足使用的需要主要有以下几个方面:1位数不够 如系统需要的存储容量为128K8位,可选的芯片却只有128K1位或者128K4位的芯片。这种情况下,芯片能够满足128K的要求,而位数却不能满足8位的要求。此时需要对位数进行扩展,即位扩展。第28页,共97页。7/17/2022282字数不够 如系统需要的存储容量为256K8位,可选的芯片却只有64K8位或者128K8位的芯片。这种情况下,芯片能满足8位的要求,但却不能满足容量256K的要求。需要对字进行扩展,即字扩展。3字数位数均不够 如系统需要的存储容量为2

15、56K8位,可选的芯片却只有64K4位或者128K4位等芯片。这种情况下,芯片既不能满足8位的要求,又不能满足容量256K的要求。此时需要对位数和字同时进行扩展,即字位扩展。第29页,共97页。7/17/2022291、位扩展方式方法: 利用芯片并联的方法,根据所需位数选择RAM(或ROM)芯片的个数,将RAM(或ROM)的地址线、读/写线、片选信号线对应地并联接在一起,而各个片子的输入/输出(I/O)作为字的各个位线。 当芯片不能直接满足系统需求时,就需要对存储器进行扩展。上述是对存储器进行扩展时的三种主要情况,因此对存储器的扩展又主要有位扩展、字扩展和字位扩展。第30页,共97页。7/17

16、/202230例:用8个1K1RAM扩展成 1K8的存储器系统。1024 1A0A1A9 R/W CSI/O1024 1A0A1A9 R/W CSI/O1024 1A0A1A9 R/W CSI/O.R/WCSA0A1A9D0D1D7第31页,共97页。7/17/2022311024 8RAM. . . . . . . . . . . . R/WCSD0 D1 D7A0 A1 A92、字扩展方式方法:利用外加译码器控制芯片的片选输入端 来实现。第32页,共97页。7/17/202232CPU译码器16K816K816K816K8A15A14A0A13D0D7R/WR/WR/WR/WCSCSCSC

17、S第33页,共97页。7/17/2022333. 字位同时扩展 由m1n1位存储器芯片组成m2n2位的存储器,需要(m2/m1)(n2/n1)片的m1n1位存储器芯片。字位扩展构成的存储器 1K4bitD7D4D7D4D7D4D7D4第34页,共97页。7/17/202234 地址线的连接,包括内部地址线和芯片选择线的连接; 数据线的连接,数据线对应相接; 控制线的连接,控制线主要有读/写控制线WE和存储器访问线MREQ。4. 静态RAM芯片与CPU连接第35页,共97页。7/17/2022355.2.3 DRAM利用MOS管的柵极对其衬底间的分布电容来保存信息,以储存电荷的多少即电容端电压的

18、高低来表示“1”和“0”。可以由单管MOS管存放一位二进制信息。优点:集成度高、功耗低、价格便宜缺点:DRAM中的信息会因电容器的漏电而消失,一般信息只能保存2ms左右,为了保存DRAM中的信息,每隔12ms要对其进行刷新。系统中必须配有刷新电路。微机系统中的内存条都采用DRAM芯片。第36页,共97页。7/17/202236VDD预充脉冲 X地址线(字选择线) Y地址线(位选择线)T7T8T2T1T3T4T5T6CBCBDD存储元AB第37页,共97页。7/17/202237 读操作:先给出预充信号,使T5、T6管导通,于是电源就向位线D和D上的电容充电,使它们都达到电源电压。当字选择线使T

19、3,T4管导通时,存储的信息通过A,B端向位线输出。若原存信息为“1”,则电容C2上存有电荷,T2导通,而T1管截至,因此D上的预充电荷经T2管泄漏,故D=“0”,而D仍为“1”,信号通过I/O和I/O线输出。与此同时,D上的电荷可以通过A点向C2补充。故读出的过程也是刷新的过程。 刷新操作:为防止存储的信息电荷泄漏而丢失信息,由外界按一定规律不断给栅极进行充电,补足栅极的信息电荷,这就是所谓的“再生”和“刷新”。只要定时给全部存储单元电路执行一遍空读操作(信息不向外输出),那么就可以实现信息“再生”或“刷新”。第38页,共97页。7/17/202238特点: 数据预先存好,使用时只能读出,不

20、能写入,一般用来存放系统启动程序和参数表等,也用来存放常驻内存的监控程序等。5.3 只读存储器ROM掩膜ROMPROM可编程ROMEPROM可擦除PROME2PROM电可擦除PROMFlach Memory闪存第39页,共97页。7/17/202239一.ROM的逻辑结构1. 地址译码器译码量由存储单元的数量决定。例1. 共有2i个存储单元,则地址译码器应有i个输入, 2i个输出。2. 存储体(又叫存储矩阵) 存储矩阵由许多存储单元排列而成,每个存储单元可用二极管、三极管或MOS管构成。3. 输出缓冲器作用:1)提高存储器的带负载能力; 2)实现对输出状态的三态控制,以便与系统的 总线联接。第

21、40页,共97页。7/17/202240地址译码器存储矩阵MN输出缓冲器.A0Ai地址输入W2i-1W0B0BN-1ROM矩阵M条输入线 字线N条输入线 位线存储容量=M N第41页,共97页。7/17/202241二、几种ROM类型:1、掩膜ROM特点:内部信息在芯片制造时由厂家写入,用户对这类芯片无法进行任何修改。第42页,共97页。7/17/2022422、可编程ROMPROM(Programmable ROM) PROM中的程序和数据可由用户写入,但只能写入一次,是一次性写入的ROM。存储单元可以用半导体二极管、三极管、MOS三极管电路构成。VCC行线列线熔丝熔丝断为 “0”熔丝未断为

22、 “1”第43页,共97页。7/17/202243PROM结构框图地址译码器存储矩阵MN输出缓冲器.A0Ai地址输入W2i-1W0B0BN-1写入控制第44页,共97页。7/17/2022443、可擦除的PROMEPROM (Erasable PROM)可由用户自行写入数据和程序,写入后的内容可由紫外线灯照射擦除,然后再可重新写入。EPROM可多次擦除,多次写入。为了擦除数据,需要将存取器从芯片上拔下。停电后,信息可长久保留。第45页,共97页。7/17/202245P沟道的EPROM基本存储元电路P+P+ + + + + N型衬底SiO2SiO2浮置栅漏极D源极S第46页,共97页。7/17

23、/2022464、电可擦除PROME2PROM (Electrically Erasable PROM)在读数据的方式上与EPROM完全一样;可用电信号擦除和改写的PROM,在每次写入操作 时执行一个自动擦除,擦写方便;比RAM的写操作慢的多;价格较高、使用受限;E2ROM存放的数据至少可维持10年。第47页,共97页。7/17/2022475、闪速存储器(Flach Memory)具有整片电擦除和部分电擦除的优点;具有耗电低、容量大、体积小、可靠性高、无需后备 电池、可改写、重复使用性好等优点;广泛应用于微型计算机系统中,用来存放主板和显卡 上的BIOS,使BIOS的升级变得更容易。第48页

24、,共97页。7/17/202248例:设CPU有16根地址线,8根数据线,并用MREQ 作为访存控制信号(低电平有效),用WR作为 读/写控制信号(高电平为读,低电平为写)。现 有下列存储芯片:1K4位RAM, 4K8位RAM, 8K8位ROM, 2K8位ROM, 4K8位ROM及 74138译码器和各种门电路。试画出CPU与存储 器的连接图。第49页,共97页。7/17/202249解: (1) 写出对应的二进制地址码(2) 确定芯片的数量及类型0 1 1 00 0 0 00 0 0 00 0 0 0A15A14A13 A11 A10 A7 A4 A3 A00 1 1 00 1 1 11 1

25、 1 11 1 1 10 1 1 01 0 0 00 0 0 00 0 0 00 1 1 01 0 1 11 1 1 11 1 1 12K8位1K8位RAM2片1K4位ROM1片 2K8位第50页,共97页。7/17/202250(3) 分配地址线A10 A0 接 2K 8位 ROM 的地址线A9 A0 接 1K 4位 RAM 的地址线(4) 确定片选信号CBA0 1 1 00 0 0 00 0 0 00 0 0 0A15 A13 A11 A10 A7 A4 A3 A00 1 1 00 1 1 11 1 1 11 1 1 10 1 1 01 0 0 00 0 0 00 0 0 00 1 1 0

26、1 0 1 11 1 1 11 1 1 12K 8位1片 ROM1K 4位2片RAM第51页,共97页。7/17/202251 2K 8位 ROM 1K 4位 RAM1K 4位 RAM&PD/ProgrY5Y4G1CBAG2BG2AMREQA14A15A13A12A11A10A9A0D7D4D3D0WRCPU 与存储器的连接图第52页,共97页。7/17/2022525.4 多体交叉存储器 提高访存速度的措施:采用高速器件采用层次结构 Cache 主存调整主存结构,采用多体交叉存储器采用相联存储器,加长存储器的字长第53页,共97页。7/17/2022535.4.1 编址方式 通常,一个由若干

27、个模块组成的主存储器是线性编址的。这些地址在各模块有两种编址方式:一、顺序编址特点: 某个模块进行存取时,其他模块不工作;某一模块出现故障时,其它模块可以照常工作;通过增添模块来扩充存储器容量比较方便。但由于各模块串行工作,存储器的带宽受到了限制。第54页,共97页。7/17/202254M0M1M2M3块内地址块号地址00 000000 000100 111101 000001 000101 111110 000010 000110 111111 000011 000111 1111第55页,共97页。7/17/202255M0地址01n1M1nn+12n1M22n2n+13n1M33n3n

28、+14n1地址译码块内地址块号高位交叉,各个体并行工作第56页,共97页。7/17/202256二、交叉方式特点: 连续地址分布在相邻的不同模块内,同一个模块内的地址都是不连续的。地址码的低位字段经过译码选择不同的模块,而高位字段指向相应模块内的存储字。这种方式对连续字的成块传送可实现多模块流水式并行存取,因而可大大提高存储器的带宽。第57页,共97页。7/17/202257M0M1M2M3块号块内地址地址0000 000000 010000 100000 110001 000001 010001 100001 111111 001111 011111 101111 11第58页,共97页。7

29、/17/202258低位交叉,各个体轮流编址M0地址044n4M1154n3M2264n2M3374n1地址译码 块内地址 块号第59页,共97页。7/17/202259低位交叉的特点:在不改变存取周期的前提下,增加存储器的带宽时间 单体访存周期 单体访存周期启动存储体 0启动存储体 1启动存储体 2启动存储体 3第60页,共97页。7/17/202260设四体低位交叉存储器,存取周期为T,总线传输周期为,为实现流水线方式存取,应满足 T 4。T字块号时间W4W3W2W1W0M0M0M1M2M3 连续读取 4 个字所需的时间为 T(4 1)第61页,共97页。7/17/202261例:设存储器

30、容量为32字,字长64位,模块数m=4,分别用顺序方式和交叉方式进行组织。存储周期T=200ns,数据总线宽度为64位,总线传送周期=50ns。问顺序存储器和交叉存储器的带宽各是多少?第62页,共97页。7/17/202262解: 顺序存储器和交叉存储器连续读出m=4个字的信息总量都是:q=64位4=256位 顺序存储器和交叉存储器连续读出4个字所需的时间分别是:t2=mT=4200ns=800ns=810-7s;t1=T+(m-1)=200ns+350ns=350ns=3.510-7s顺序存储器和交叉存储器的带宽分别是:W2=q/t2=256( 8 10-7 ) =32107位/s W1=q

31、/t1=256(3.510-7) =73107位/s第63页,共97页。7/17/2022635.5 高速缓冲存储器(Cache)Cache的工作原理地址映象与变换替换策略及更新策略第64页,共97页。7/17/202264问题的提出:避免 CPU “空等” 现象;CPU 和主存(DRAM)的速度差异;程序访问的局部性原理。 cache的功能: cache是介于CPU和主存之间的小容量存储器,存取速度比主存快(一般可达510倍以上)。它能高速地向CPU提供指令和数据,加快程序的执行速度。它是为了解决CPU和主存之间速度不匹配而采用的一项重要技术。第65页,共97页。7/17/202265设置C

32、ache的必要性 计算机有两个核心器件,一个内存,另外一个则是CPU二者是否能较好配合,将直接影响计算机性能。早期的CPU跟内存的速度相差不多,但是随着计算机硬件技术的发展,CPU的速度提高的比内存快,现在内存和CPU的读写速度相差23个数量级。如果仅仅依靠内存给CPU传输数据,那么CPU可能会长时间等待,降低资源利用率。所以,必须对二者速度进行匹配。第66页,共97页。7/17/202266匹配内存和CPU的速度有以下三个方法:(1)降低CPU速度;(2)采用高速的SRAM作为内存的存储器;(3)根据程序执行的局部性原理,在二者之间设置一定的缓冲器。显然,第一个方法降低了计算机性能,不可能采

33、用;第二个方法需要用价格昂贵的SRAM来制作容量高达几百兆的内存,成本过高。因此第三个方法则呈了现代计算机的首选方法。第67页,共97页。7/17/202267实际的计算机系统中,常常在CPU和内存间设置一个容量不大(常常为几十至几百K)但是速度跟CPU速度相同的Cache作为缓冲器,把正在执行的指令代码单元附近的一部分指令代码或数据存入Cache中,CPU需要数据时,直接从Cache中读取,这种方法解决了速度不匹配的问题,又不会大幅度增加成本。 根据Cache所处位置的不同,可以将Cache分为一级Cache、二级Cache和三级Cache。第68页,共97页。7/17/202268基本概念

34、命中访问主存的数据或代码存在于cache中。命中率cache命中的统计概率失效访问主存的数据或代码不存在于cache中。失效率未命中的统计概率命中访问时间cache命中时所需的访问时间失效访问时间(miss penalty)未命中时因访问主存 而增加的访问时间第69页,共97页。7/17/202269设计问题主存种的块放在cache的什么地方?地址映象Cache放满时怎么办?替换策略写cache时是否写主存?更新策略cache容量、块容量第70页,共97页。7/17/202270 5.5.1 Cache的工作原理 CPU与Cache之间的数据交换是以字为单位,而Cache与主存之间的数据交换是

35、以块为单位。一个块由通常若干定长的字组成。基本原理:当CPU要读取主存中一个字时,总是将存放该字的内存地址同时发给Cache和主存。此时,Cache控制逻辑立即依据地址,判断该字当前是否已在 Cache中:若是,将此字立即传送给CPU,CPU无需再访问主存(让主存访问失效);第71页,共97页。7/17/202271若非,则用主存读周期把此字从主存读出送到CPU,与此同时,把含有这个字的数据块从主存读出并装入到Cache中,将Cache中较旧的内容(块)替换掉。 这种替换控制由始终管理Cache使用情况的硬件逻辑电路来实现,最常用的替换算法为LRU(最近最少使用策略,在后面介绍)。第72页,共

36、97页。7/17/202272配置了Cache的CPU和内存之间的存储结构如图所示:第73页,共97页。7/17/202273 在Cache控制器的作用下, CPU首先访问Cache,如其需要的数据在Cache中,则直接访问Cache即可,否则再访问内存。如果设置了L2 Cache,则系统将按照L1 Cache、L2 Cache、内存的顺序访问。值得注意的是: Cache不能被用户直接访问,用户不能使用Cache地址进行编程。第74页,共97页。7/17/202274主存页面号主存储器012m1页面 0页面1页面M1主存页号页内地址m位b位n位M页B个字缓存页号页内地址c位b位C页B个字页面

37、0页面 1页面 C1012c1标记Cache缓存页面号一、主存和缓存的编址:主存和缓存按页面存储 页面的大小相同, B 为页第75页,共97页。7/17/202275二、命中与未命中缓存共有 C 页,主存共有 M 页, M C命中:主存页面 调入 缓存,主存页与缓存页建立了 对应关系。用 标记记录 与某缓存页建立了对 应关系的 主存页号。未命中:主存页面 未调入 缓存,主存页与缓存页 未 建立 对应关系。第76页,共97页。7/17/202276三、Cache 的命中率命中率: CPU 欲访问的信息在 Cache 中的 比率。命中率与 Cache 的容量与页面大小有关。 在一个程序执行期间,设

38、Nc为访问cache的总命中次数,Nm为访问主存的总次数,h定义为命中率,则有:命中率:为提高访问效率,命中率h越接近1越好,命中率h与程序的行为、cache的容量、组织方式、块的大小有关。第77页,共97页。7/17/202277 若tc表示命中时的cache访问时间,tm表示未命中时的主存访问时间,(1-h)表示未命中率,则cache/主存系统的平均访问时间ta为:平均访问时间:访问效率:访问效率e与命中率有关。第78页,共97页。7/17/202278例:CPU执行一段程序时,cache完成存取的次数为1900次,主存完成存取的次数为100次,已知cache存取周期为50ns,主存存取周

39、期为250ns,求cache/主存系统的效率和平均访问时间。解: h=Nc/(Nc+Nm)=1900/(1900+100)=0.95 r=tm/tc=250ns/50ns=5 e=1/(r+(1-r)h)=1/(5+(1-5)0.95)=83.3% ta=tc/e=50ns/0.833=60ns第79页,共97页。7/17/202279四、Cache 的基本结构 Cache的结构原理 地址映象变换机构 页 号 页内地址第80页,共97页。7/17/2022805.5.2 地址映象1.直接映象 2.全相联映像 3.组相联映像第81页,共97页。7/17/202281一、直接映象 是一种多对一的映

40、射关系,但一个主存页只能拷贝到cache的一个特定页位置上去。cache的行号i和主存的页号j有如下函数关系: i=j mod m(m为cache中的总行数) 优点:硬件简单,成本低。缺点:每个主存页只有一个固定的页位置可存放,容易 产生冲突和Cache空间使用效率的降低。 这种方法一般只适合在大容量cache中采用。第82页,共97页。7/17/202282t位Cache主存标记页面0标记页面1标记页面2C-1页面0页面1页面2C-1页面2C+1页面2C+1+1页面2m-1直接映象方式.页面2c页面2C+1-1页面2C+1.第0区第1区第M区第83页,共97页。7/17/202283页面标记

41、 页号 页内地址m位t位 c位b位比较标记标记标记命中失靶Cache读出主存主存读出数据总线主存地址直接映象方式下,主存和Cache的读出过程.第84页,共97页。7/17/202284例1:设有一个cache的容量为2K字,每个页为16字,求:该cache可容纳多少个页? 如果主存的容量是256K字,则有多少个页? 主存的地址有多少位?cache地址有多少位?在直接映象方式下,主存中的第i页映象到 cache中哪一个页中? 进行地址映象时,存储器的地址分成哪几段?各段分别有多少位?第85页,共97页。7/17/202285解:cache中有2048/16=128个页。(2) 主存有256K/16=16384个页。(3) cache容量为2K=211字,所以cache字 地址为11位。(4) 主存中的第i页映象到cache中第 i mod128个页中。(5) 存储器的字地址分成三段:区号、页号、页内字地址。区号的长度为18-11=7位,页号为7位。页内字地址为4位。第86页,共97页。7/17/202286例2: 设主存容量为1MB,高速缓存容量为16KB, 块(页)的大小为512字节。采用直接地址映像法。 (1)写出主存地址格式。(4)画出直接方式地址映像及变换示意图。 (2)写出Cache地址格式。(3)页表的容量是多大。第87页,共97页。7/17/202287(1)主

温馨提示

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

评论

0/150

提交评论