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

下载本文档

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

文档简介

12024/5/6计算机组成原理第五章5.1存储器概述5.1.1存储器分类 SRAM RAM

内存储器 DRAM ROM ROMEPROM E2PROM存储器 FLASHMEMORY FLOPPYDISK DISK HARDDISK

外存储器 CD OPTICALDISKDVD MO第2页,共99页,2024年2月25日,星期天存储器主存储器(内存)辅助存储器(外存)1、主存储器☆存储当前正在使用的信息;☆要求较高的操作速度;☆存储容量不要求很大;☆半导体存储电路实现。

按存储器在计算机中的作用分类第3页,共99页,2024年2月25日,星期天2、辅助存储器:☆长期保存信息;☆工作速度低;☆存储容量达;☆用磁性存储设备实现;☆可读/写。第4页,共99页,2024年2月25日,星期天辅助存储器程序存储器数据存储器主存储器存储单元CPU第5页,共99页,2024年2月25日,星期天RAM—随机存储器双极型RAMMOS型RAM静态RAM动态RAM掩膜ROM—内容由厂家制做可编程PROM—可一次性编程可擦洗EPROM—可多次改写ROM—只读存储器FlashMemory—闪速存储器

按读写功能分类:第6页,共99页,2024年2月25日,星期天5.1.2存储器的主要性能指标1、容量用大规模集成电路构成的半导体存储器件常用位容量来表示存储功能。如一个4K1和一个1K4的器件,它们的位容量是一样的。但是,前者可用来组成4K内存单元的某一位,芯片只有一个数据输入端和一个数据输出端,在存储容量较大的系统中,一般都采用这样的器件;后者则可以用来组成1K内存单元的某4位,有4个数据输入端和4个数据输出端,在内存容量较小的系统中,一般采用这样的器件。 总的来说,采用位容量高的器件。第7页,共99页,2024年2月25日,星期天1字节(byte)=8位(bit)1个字(word)=2字节外存中,为了表示更大的容量,采用MB、GB、TB等单位。1KB=210B (B表示字节)1MB=220B1GB=230B1TB=240B64KB=64K

8bit第8页,共99页,2024年2月25日,星期天2、存取速度

存储器的速度可用访问时间、存储周期或频宽来描述;▲访问时间:用读出时间TA及写入时间TW来描述;

TA:从存储器接到读命令以后至信息被送到数据总线上所需的时间;

TW:将一个字写入存储器所需的时间。▲存取周期(TM):存储器进行一次完整的读写操作所需要的全部时间;或者说:启动两次独立的存储器操作之间所需的最小时间间隔;第9页,共99页,2024年2月25日,星期天

常用存储器进行连续读写操作的最短间隔时间;

TM直接关系到计算机的运算速度;一般有TM>TA、TM>TW

,单位用微秒或毫微秒。▲存储器的频宽B:表示存储器被连续访问时,提供的数据传送速率;常用每秒钟传送信息的位数(或字节数)来衡量。3、价格存储器的价格:可用总价格C或每位价格c来表示,若存储器按位计算的容量为S;则:c=C/S第10页,共99页,2024年2月25日,星期天5.1.3存储器的层次结构

计算机应用对存储器的容量和速度的要求几乎是无止境的,理想的存储系统应当具有充足的容量和与CPU相匹配的速度。但是实际的存储器都是非理想化的,其制约因素是价格(每位成本)、容量和速度。这3个基本指标是矛盾的。存取速度越高,每位价格就越高。随着所使用存储容量的增大,就得使用速度较低的器件。第11页,共99页,2024年2月25日,星期天

用户需求:大容量、高速度、低成本←矛盾

解决方案:访存局部性原理→层次结构

层次结构组织:*相关问题:①设置原则是什么?设置几层?②各层间一次传输时数据大小是多少?为什么引入计算机的层次结构?第12页,共99页,2024年2月25日,星期天合理地分配容量、速度和价格的有效措施是实现分级存储。这是一种把几种存储技术结合起来,互相补充的折衷方案。下图是典型的存储系统层次结构示意图,这个层次结构有如下规律(从上到下):价格依次降低;容量依次增加;访问时间依次增长;

CPU访问频度依次减小。使用这样的存储体系,从CPU看,存储速度接近于最上层的,容量及成本却是接近最下层的,大大提高了系统的性能价格比。第13页,共99页,2024年2月25日,星期天处理器寄存器高速缓冲存储器主存储器(SRAM,DRAM)辅助存储器(磁盘存储器等)大容量(海量)存储器(光盘、磁带存储器)存储系统的层次结构外部设备主机内CPU芯片内速度高低小大快慢容量价格/位第14页,共99页,2024年2月25日,星期天▲

存储系统的层次结构主要体现在缓存-主存和

主存-辅存这两个存储层次上;高速缓存(Cache)主存寄存器组CPU辅存主机存储器系统的层次结构1、“高速缓存—主存”层次这个层次主要解决存储器的速度问题。

在CPU与主存之间增设一级存储器,称高速缓冲存储器(Cache)第15页,共99页,2024年2月25日,星期天Cache速度可与CPU相匹配,但容量较小,只能存放一小段程序和数据;CPU访问内存时,将地址码同时送到Cache和主存,若在Cache中找到相应内容,称访问“命中”,信息就从

Cache中读取;否则CPU从主存中读取(称访问“不命中”);此时一般要进行Cache和主存的信息交换。第16页,共99页,2024年2月25日,星期天2、“主存—辅存”层次这个层次主要解决存储器的容量问题。“主存—辅存”层次是一个既具有主存的存取速度又具有辅存的大容量低成本特点的一个存储器总体。把正在被CPU使用的“活动”的程序和数据放在主存中,其余信息则存放在容量大、但速度较慢的辅存中。虚拟存储技术:面对程序员的是一个具有辅存的容量、主存的速度的存储器;解决了主存容量不足的问题。第17页,共99页,2024年2月25日,星期天5.1.4主存储器与CPU的连接

(MFC)(RD、WR)主存存储体有2k个存储单元每单元为n位控制电路CPUMARMDR地址总线k位数据总线n位主存与CPU的连接第18页,共99页,2024年2月25日,星期天特点:

可读可写,是一种易失性存储器,在掉电后存放在存储单元的信息全部丢失,所以它一般用来暂存输入/输出数据、中间结果等。RAMSRAM——速度快,容量小,功耗大DRAM——速度慢,容量大5.2随机存取存储器RAM第19页,共99页,2024年2月25日,星期天5.2.1SRAM——静态存储器利用触发器的两个稳定状态表示“0”和“1”,至少需要6个晶体管才能表示一个二进制位。SRAM功耗较大,容量较小,存取速度较快,几乎是后面介绍的DRAM的10倍。价格较高,不需要刷新。当CPU速度愈来愈快的时候,SRAM就变得非常重要。因为DRAM跟不上CPU的速度,所以只好就用SRAM来做沟通的桥梁--这就是高速缓冲存储器(Cache)的概念。因此,SRAM主要的用途就是拿来作为Cache用。第20页,共99页,2024年2月25日,星期天(行选线)●●(列选线)存储元●●●●位线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页,共99页,2024年2月25日,星期天地址寄存器X译码器驱动器I/O电路Y译码器地址寄存器输出驱动控制电路输出输入读/写片选01638164X64存储矩阵0163A6A7A11静态MOSRAM芯片结构图.........A0A1A5........................第22页,共99页,2024年2月25日,星期天静态MOS存储器芯片实例(62256SRAM)▲芯片容量为32K×8▲62256SRAM芯片引脚地址引脚:A0—A14数据引脚:I/O0—I/O7片选:CE低有效读/写控制:WE,低电平时为写入控制;高电平时为读出控制。WEA12A7A6A5A4A3A2A1A0I/O0I/O1I/O2GND12345678910111213142827262524232221201918171615VccA14A13A8A9A11OEI/O3I/O4I/O5I/O6I/O7CEA10M62256第23页,共99页,2024年2月25日,星期天静态存储芯片的读/写周期

tRCtAtCOtOTD地址数据出tWCtWtAWtWRtDHtDW数据入地址CSDoutCSWEDin(a)读周期(b)写周期静态RAM芯片的读、写周期第24页,共99页,2024年2月25日,星期天【例】有问题吗?下图是某SRAM的写入时序图。其中R/W是读/写命令控制线,当R/W线为低电平时(写有效),存储器按给定地址把数据线上的数据写入存储器。请指出下图写入时序中的错误,并画出正确的写入时序图。第25页,共99页,2024年2月25日,星期天【解】

写入存储器的时序信号必须同步。通常,当R/W线为有效信号时,地址线和数据线的电平必须是稳定的。当R/W线达到低电平时,数据立即被存储。因此,当R/W线处于低电平时,如果数据线改变了数值,那么存储器将存储新的数据⑤。同样,当R/W线处于低电平时地址线如果发生了变化,那么同样数据将存储到新的地址②或③。所以:正确的写入时序见下图。第26页,共99页,2024年2月25日,星期天注意到:在CS和R/W均有效时,地址线和数据线上的数值必须是稳定的。正确时序第27页,共99页,2024年2月25日,星期天5.2.2存储器容量的扩展

不同的应用场合会对芯片提出不同的要求。现有的芯片往往不能完全满足系统的需要,因此如何用现有的芯片来实现系统的性能要求就成为了存储系统必须解决的重要问题之一。芯片不满足使用的需要主要有以下几个方面:1.位数不够如系统需要的存储容量为128K×8位,可选的芯片却只有128K×1位或者128K×4位的芯片。这种情况下,芯片能够满足128K的要求,而位数却不能满足8位的要求。此时需要对位数进行扩展,即位扩展。第28页,共99页,2024年2月25日,星期天2.字数不够如系统需要的存储容量为256K×8位,可选的芯片却只有64K×8位或者128K×8位的芯片。这种情况下,芯片能满足8位的要求,但却不能满足容量256K的要求。需要对字进行扩展,即字扩展。3.字数位数均不够如系统需要的存储容量为256K×8位,可选的芯片却只有64K×4位或者128K×4位等芯片。这种情况下,芯片既不能满足8位的要求,又不能满足容量256K的要求。此时需要对位数和字同时进行扩展,即字位扩展。第29页,共99页,2024年2月25日,星期天1、位扩展方式方法:利用芯片并联的方法,根据所需位数选择RAM(或ROM)芯片的个数,将RAM(或ROM)的地址线、读/写线、片选信号线对应地并联接在一起,而各个片子的输入/输出(I/O)作为字的各个位线。

当芯片不能直接满足系统需求时,就需要对存储器进行扩展。上述是对存储器进行扩展时的三种主要情况,因此对存储器的扩展又主要有位扩展、字扩展和字位扩展。第30页,共99页,2024年2月25日,星期天例:用8个1K1RAM扩展成

1K8的存储器系统。10241A0A1…A9R/WCSI/O10241A0A1…A9R/WCSI/O10241A0A1…A9R/WCSI/O••••••••••......R/WCSA0A1A9D0D1D7第31页,共99页,2024年2月25日,星期天10248RAM............R/WCSD0D1D7A0A1A92、字扩展方式方法:利用外加译码器控制芯片的片选输入端 来实现。第32页,共99页,2024年2月25日,星期天CPU译码器16K816K816K816K8A15A14A0~A13D0~D7R/WR/WR/WR/WCSCSCSCS第33页,共99页,2024年2月25日,星期天3.字位同时扩展

由m1×n1位存储器芯片组成m2×n2位的存储器,需要(m2/m1)×(n2/n1)片的m1×n1位存储器芯片。字位扩展构成的存储器1K×4bitD7~D4D7~D4D7~D4D7~D4第34页,共99页,2024年2月25日,星期天①地址线的连接,包括内部地址线和芯片选择线的连接;②数据线的连接,数据线对应相接;③控制线的连接,控制线主要有读/写控制线WE和存储器访问线MREQ。4.静态RAM芯片与CPU连接第35页,共99页,2024年2月25日,星期天5.2.3DRAM利用MOS管的柵极对其衬底间的分布电容来保存信息,以储存电荷的多少即电容端电压的高低来表示“1”和“0”。可以由单管MOS管存放一位二进制信息。优点:集成度高、功耗低、价格便宜缺点:DRAM中的信息会因电容器的漏电而消失,一般信息只能保存2ms左右,为了保存DRAM中的信息,每隔1~2ms要对其进行刷新。系统中必须配有刷新电路。微机系统中的内存条都采用DRAM芯片。第36页,共99页,2024年2月25日,星期天VDD预充脉冲••••••••••••••X地址线(字选择线)Y地址线(位选择线)T7T8T2T1T3T4T5T6CBCBDD存储元AB第37页,共99页,2024年2月25日,星期天

读操作:先给出预充信号,使T5、T6管导通,于是电源就向位线D和D上的电容充电,使它们都达到电源电压。当字选择线使T3,T4管导通时,存储的信息通过A,B端向位线输出。若原存信息为“1”,则电容C2上存有电荷,T2导通,而T1管截至,因此D上的预充电荷经T2管泄漏,故D=“0”,而D仍为“1”,信号通过I/O和I/O线输出。与此同时,D上的电荷可以通过A点向C2补充。故读出的过程也是刷新的过程。

刷新操作:为防止存储的信息电荷泄漏而丢失信息,由外界按一定规律不断给栅极进行充电,补足栅极的信息电荷,这就是所谓的“再生”和“刷新”。只要定时给全部存储单元电路执行一遍空读操作(信息不向外输出),那么就可以实现信息“再生”或“刷新”。第38页,共99页,2024年2月25日,星期天特点:

数据预先存好,使用时只能读出,不能写入,一般用来存放系统启动程序和参数表等,也用来存放常驻内存的监控程序等。5.3只读存储器ROM掩膜ROMPROM——可编程ROMEPROM——可擦除PROME2PROM——电可擦除PROMFlachMemory——闪存第39页,共99页,2024年2月25日,星期天一.ROM的逻辑结构1.地址译码器 译码量由存储单元的数量决定。例1.共有2i个存储单元,则地址译码器应有i个输入,

2i个输出。2.存储体(又叫存储矩阵)存储矩阵由许多存储单元排列而成,每个存储单元可用二极管、三极管或MOS管构成。3.输出缓冲器作用:1)提高存储器的带负载能力;

2)实现对输出状态的三态控制,以便与系统的总线联接。第40页,共99页,2024年2月25日,星期天地址译码器存储矩阵MN输出缓冲器……..........A0Ai地址输入W2i-1W0B0BN-1ROM矩阵M条输入线—字线N条输入线—位线存储容量=MN第41页,共99页,2024年2月25日,星期天二、几种ROM类型:1、掩膜ROM特点:内部信息在芯片制造时由厂家写入,用户对这类芯片无法进行任何修改。第42页,共99页,2024年2月25日,星期天2、可编程ROMPROM(ProgrammableROM)PROM中的程序和数据可由用户写入,但只能写入一次,是一次性写入的ROM。存储单元可以用半导体二极管、三极管、MOS三极管电路构成。VCC行线列线熔丝熔丝断为“0”熔丝未断为“1”第43页,共99页,2024年2月25日,星期天PROM结构框图地址译码器存储矩阵MN输出缓冲器……..........A0Ai地址输入W2i-1W0B0BN-1……写入控制第44页,共99页,2024年2月25日,星期天3、可擦除的PROMEPROM(ErasablePROM)可由用户自行写入数据和程序,写入后的内容可由紫外线灯照射擦除,然后再可重新写入。EPROM可多次擦除,多次写入。为了擦除数据,需要将存取器从芯片上拔下。停电后,信息可长久保留。第45页,共99页,2024年2月25日,星期天P沟道的EPROM基本存储元电路P+P++++++–––––N型衬底SiO2SiO2浮置栅漏极D源极S第46页,共99页,2024年2月25日,星期天4、电可擦除PROME2PROM(ElectricallyErasablePROM)——在读数据的方式上与EPROM完全一样;可用电信号擦除和改写的PROM,在每次写入操作时执行一个自动擦除,擦写方便;比RAM的写操作慢的多;价格较高、使用受限;E2ROM存放的数据至少可维持10年。第47页,共99页,2024年2月25日,星期天5、闪速存储器(FlachMemory)具有整片电擦除和部分电擦除的优点;具有耗电低、容量大、体积小、可靠性高、无需后备电池、可改写、重复使用性好等优点;广泛应用于微型计算机系统中,用来存放主板和显卡上的BIOS,使BIOS的升级变得更容易。第48页,共99页,2024年2月25日,星期天例:设CPU有16根地址线,8根数据线,并用MREQ

作为访存控制信号(低电平有效),用WR作为读/写控制信号(高电平为读,低电平为写)。现有下列存储芯片:1K4位RAM,4K8位RAM,

8K8位ROM,2K8位ROM,4K8位ROM及

74138译码器和各种门电路。试画出CPU与存储器的连接图。第49页,共99页,2024年2月25日,星期天解:

(1)写出对应的二进制地址码(2)确定芯片的数量及类型0110000000000000A15A14A13A11A10…A7…

A4A3…

A0…01100111111111110110100000000000…01101011111111112K×8位1K×8位RAM2片1K×4位ROM1片2K×8位第50页,共99页,2024年2月25日,星期天(3)分配地址线A10~A0接2K

×

8位ROM的地址线A9~A0接1K

×

4位RAM的地址线(4)确定片选信号CBA0110000000000000A15A13A11A10…A7…A4A3…

A0…01100111111111110110100000000000…01101011111111112K

×

8位1片ROM1K

×

4位2片RAM第51页,共99页,2024年2月25日,星期天2K

×8位ROM

1K

×4位

RAM1K

×4位

RAM………&PD/ProgrY5Y4G1CBAG2BG2A……MREQA14A15A13A12A11A10A9A0…D7D4D3D0WR…………CPU与存储器的连接图………第52页,共99页,2024年2月25日,星期天5.4多体交叉存储器提高访存速度的措施:采用高速器件采用层次结构Cache–主存调整主存结构,采用多体交叉存储器采用相联存储器,加长存储器的字长第53页,共99页,2024年2月25日,星期天5.4.1编址方式

通常,一个由若干个模块组成的主存储器是线性编址的。这些地址在各模块有两种编址方式:一、顺序编址特点:某个模块进行存取时,其他模块不工作;某一模块出现故障时,其它模块可以照常工作;通过增添模块来扩充存储器容量比较方便。但由于各模块串行工作,存储器的带宽受到了限制。第54页,共99页,2024年2月25日,星期天M0……M1……M2M3…………块内地址块号地址000000000001001111010000010001011111100000100001101111110000110001111111第55页,共99页,2024年2月25日,星期天M0地址01……n-1M1nn+1……2n-1M22n2n+13n-1M33n3n+14n-1…………地址译码块内地址块号高位交叉,各个体并行工作第56页,共99页,2024年2月25日,星期天二、交叉方式特点:连续地址分布在相邻的不同模块内,同一个模块内的地址都是不连续的。地址码的低位字段经过译码选择不同的模块,而高位字段指向相应模块内的存储字。这种方式对连续字的成块传送可实现多模块流水式并行存取,因而可大大提高存储器的带宽。第57页,共99页,2024年2月25日,星期天M0……M1……M2M3…………

块号块内地址地址000000000001000010000011000100000101000110000111111100111101111110111111第58页,共99页,2024年2月25日,星期天低位交叉,各个体轮流编址M0地址04……4n-4M115……4n-3M2264n-2M3374n-1…………地址译码

块内地址

块号第59页,共99页,2024年2月25日,星期天低位交叉的特点:在不改变存取周期的前提下,增加存储器的带宽时间

单体访存周期

单体访存周期启动存储体0启动存储体1启动存储体2启动存储体3第60页,共99页,2024年2月25日,星期天设四体低位交叉存储器,存取周期为T,总线传输周期为τ,为实现流水线方式存取,应满足T=4τ。T字块号时间W4W3W2W1W0M0M0M1M2M3

连续读取4

个字所需的时间为T+(4-1)τ第61页,共99页,2024年2月25日,星期天例:设存储器容量为32字,字长64位,模块数m=4,分别用顺序方式和交叉方式进行组织。存储周期T=200ns,数据总线宽度为64位,总线传送周期τ=50ns。问顺序存储器和交叉存储器的带宽各是多少?第62页,共99页,2024年2月25日,星期天解:顺序存储器和交叉存储器连续读出m=4个字的信息总量都是:q=64位×4=256位顺序存储器和交叉存储器连续读出4个字所需的时间分别是:

t2=mT=4×200ns=800ns=8×10-7s;

t1=T+(m-1)τ=200ns+3×50ns=350ns=3.5×10-7s顺序存储器和交叉存储器的带宽分别是:

W2=q/t2=256÷(8×10-7)=32×107[位/s]

W1=q/t1=256÷(3.5×10-7)=73×107[位/s]第63页,共99页,2024年2月25日,星期天5.5高速缓冲存储器(Cache)Cache的工作原理地址映象与变换替换策略及更新策略第64页,共99页,2024年2月25日,星期天▲问题的提出:避免CPU“空等”现象;CPU和主存(DRAM)的速度差异;程序访问的局部性原理。▲cache的功能:

cache是介于CPU和主存之间的小容量存储器,存取速度比主存快(一般可达5~10倍以上)。它能高速地向CPU提供指令和数据,加快程序的执行速度。它是为了解决CPU和主存之间速度不匹配而采用的一项重要技术。第65页,共99页,2024年2月25日,星期天▲设置Cache的必要性计算机有两个核心器件,一个内存,另外一个则是CPU二者是否能较好配合,将直接影响计算机性能。早期的CPU跟内存的速度相差不多,但是随着计算机硬件技术的发展,CPU的速度提高的比内存快,现在内存和CPU的读写速度相差2~3个数量级。如果仅仅依靠内存给CPU传输数据,那么CPU可能会长时间等待,降低资源利用率。所以,必须对二者速度进行匹配。第66页,共99页,2024年2月25日,星期天匹配内存和CPU的速度有以下三个方法:(1)降低CPU速度;(2)采用高速的SRAM作为内存的存储器;(3)根据程序执行的局部性原理,在二者之间设置一定的缓冲器。显然,第一个方法降低了计算机性能,不可能采用;第二个方法需要用价格昂贵的SRAM来制作容量高达几百兆的内存,成本过高。因此第三个方法则呈了现代计算机的首选方法。第67页,共99页,2024年2月25日,星期天实际的计算机系统中,常常在CPU和内存间设置一个容量不大(常常为几十至几百K)但是速度跟CPU速度相同的Cache作为缓冲器,把正在执行的指令代码单元附近的一部分指令代码或数据存入Cache中,CPU需要数据时,直接从Cache中读取,这种方法解决了速度不匹配的问题,又不会大幅度增加成本。

根据Cache所处位置的不同,可以将Cache分为一级Cache、二级Cache和三级Cache。第68页,共99页,2024年2月25日,星期天▲基本概念命中——访问主存的数据或代码存在于cache中。命中率——cache命中的统计概率失效——访问主存的数据或代码不存在于cache中。失效率——未命中的统计概率命中访问时间——cache命中时所需的访问时间失效访问时间(misspenalty)——未命中时因访问主存而增加的访问时间第69页,共99页,2024年2月25日,星期天▲设计问题主存种的块放在cache的什么地方?——地址映象Cache放满时怎么办?——替换策略写cache时是否写主存?——更新策略cache容量、块容量第70页,共99页,2024年2月25日,星期天5.5.1Cache的工作原理CPU与Cache之间的数据交换是以字为单位,而Cache与主存之间的数据交换是以块为单位。一个块由通常若干定长的字组成。基本原理:

当CPU要读取主存中一个字时,总是将存放该字的内存地址同时发给Cache和主存。此时,Cache控制逻辑立即依据地址,判断该字当前是否已在Cache中:若是,将此字立即传送给CPU,CPU无需再访问主存(让主存访问失效);第71页,共99页,2024年2月25日,星期天若非,则用主存读周期把此字从主存读出送到CPU,与此同时,把含有这个字的数据块从主存读出并装入到Cache中,将Cache中较旧的内容(块)替换掉。

这种替换控制由始终管理Cache使用情况的硬件逻辑电路来实现,最常用的替换算法为LRU(最近最少使用策略,在后面介绍)。第72页,共99页,2024年2月25日,星期天配置了Cache的CPU和内存之间的存储结构如图所示:第73页,共99页,2024年2月25日,星期天

在Cache控制器的作用下,CPU首先访问Cache,如其需要的数据在Cache中,则直接访问Cache即可,否则再访问内存。如果设置了L2Cache,则系统将按照L1Cache、L2Cache、内存的顺序访问。值得注意的是:

Cache不能被用户直接访问,用户不能使用Cache地址进行编程。第74页,共99页,2024年2月25日,星期天~~~~……主存页面号主存储器012m-1页面0页面1页面M-1主存页号页内地址m位b位n位M页B个字缓存页号页内地址c位b位C页B个字~~~~……页面0页面1页面C-1012c-1标记Cache缓存页面号一、主存和缓存的编址:主存和缓存按页面存储页面的大小相同,B

为页第75页,共99页,2024年2月25日,星期天二、命中与未命中缓存共有C

页,主存共有M

页,M>>C命中:主存页面调入缓存,主存页与缓存页建立了对应关系。用标记记录与某缓存页建立了对应关系的主存页号。未命中:主存页面未调入缓存,主存页与缓存页未建立对应关系。第76页,共99页,2024年2月25日,星期天三、Cache的命中率命中率:CPU欲访问的信息在Cache中的比率。命中率与Cache的容量与页面大小有关。

在一个程序执行期间,设Nc为访问cache的总命中次数,Nm为访问主存的总次数,h定义为命中率,则有:命中率:为提高访问效率,命中率h越接近1越好,命中率h与程序的行为、cache的容量、组织方式、块的大小有关。第77页,共99页,2024年2月25日,星期天

若tc表示命中时的cache访问时间,tm表示未命中时的主存访问时间,(1-h)表示未命中率,则cache/主存系统的平均访问时间ta为:平均访问时间:访问效率:访问效率e与命中率有关。第78页,共99页,2024年2月25日,星期天例:CPU执行一段程序时,cache完成存取的次数为1900次,主存完成存取的次数为100次,已知cache存取周期为50ns,主存存取周期为250ns,求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第79页,共99页,2024年2月25日,星期天四、Cache的基本结构Cache的结构原理地址映象变换机构

页内地址第80页,共99页,2024年2月25日,星期天5.5.2地址映象

1.直接映象

2.全相联映像

3.组相联映像第81页,共99页,2024年2月25日,星期天一、直接映象

是一种多对一的映射关系,但一个主存页只能拷贝到cache的一个特定页位置上去。

cache的行号i和主存的页号j有如下函数关系:

i=jmodm(m为cache中的总行数)优点:硬件简单,成本低。缺点:每个主存页只有一个固定的页位置可存放,容易产生冲突和Cache空间使用效率的降低。

这种方法一般只适合在大容量cache中采用。第82页,共99页,2024年2月25日,星期天t位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页,共99页,2024年2月25日,星期天页面标记页号页内地址m位t位c位b位比较标记标记标记命中失靶Cache读出主存主存读出数据总线主存地址直接映象方式下,主存和Cache的读出过程...第84页,共99页,2024年2月25日,星期天例1:设有一个cache的容量为2K字,每个页为16字,求:该cache可容纳多少个页?如果主存的容量是256K字,则有多少个页?主存的地址有多少位?cache地址有多少位?在直接映象方式下,主存中的第i页映象到cache中哪一个页中?进行地址映象时,存储器的地址分成哪几段?各段分别有多少位?第85页,共99页,2024年2月25日,星期天解:cache中有2048/16=128个页。(2)主存有256K/16=16384个页。(3)cache容量为2K=211字,所以cache字地址为11位。(4)主存中的第i页映象到cache中第imod128个页中。(5)存储器的字地址分成三段:区号、页号、页内字地址。区号的长度为18-11=7位,页号为7位。页内字地址为4位。第86页,共99页,2024年2月25日,星期天例2:设主存容量为1MB,高速缓存容量为16KB,块(页)的大小为512字节。采用直接地址映像法。(1)写出主存地址格式。(4)画出直接方式地址映像及变换示意图。(2)写出Cache地址格式。(3)页表的容量是多大。第87页,共99页,2024年2月25日,星期天(1)主存地址格式为:(2)Cache地址格式为:(3)页表的容量为32字×6位。

页面标记页面地址页内地址191413980

页面地址页内地址13980第88页,共99页,2024年2月25日,星期天第0页第1页第31页第32页第33页第63页第64页第65页第95页第2016页第2017页第2047页第0页第1页第2页第Y页第30页第31页主存区号区内页号页内地址(标记)(4)直接方式地址映像及变换示意图第89页,共99页,2024年2月25日,星期天例3:设在直接映像的Cache中,主存地址的区号5位,页号3位,CPU访存过程中,依次访问主存单元高8位地址为:00010110,00011010,00010110,00011010,00010000,00000011,00010000,00010010。要求写出每次访问后Cache中的内容。第90页,共99页,2024年2月25日,星期天访问顺序12345678页地址22

温馨提示

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

评论

0/150

提交评论