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

下载本文档

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

文档简介

计算机组成原理存储器系统修改版演示文稿现在是1页\一共有282页\编辑于星期二计算机组成原理第章存储器系统修改版现在是2页\一共有282页\编辑于星期二2023/4/253本章学习内容存储器的分类及主要技术指标

存储系统的层次结构半导体存储器的工作原理存储器与CPU的连接辅助存储器的工作原理Cache的工作原理并行存储系统

现在是3页\一共有282页\编辑于星期二2023/4/2544.1存储器概述存储器:计算机的存储部件,用于存放程序和数据。计算机发展的重要问题之一,就是如何设计容量大、速度快、价格低的存储器。现在是4页\一共有282页\编辑于星期二2023/4/2554.1.1存储器分类1.按与CPU的连接和功能分类(1)主存储器

CPU能够直接访问的存储器。用于存放当前运行的程序和数据。主存储器设在主机内部,所以又称内存储器。简称内存或主存。现在是5页\一共有282页\编辑于星期二2023/4/256(2)辅助存储器为解决主存容量不足而设置的存储器,用于存放当前不参加运行的程序和数据。当需要运行程序和数据时,将它们成批调入内存供CPU使用。CPU不能直接访问辅助存储器。辅助存储器属于外部设备,所以又称为外存储器,简称外存或辅存。现在是6页\一共有282页\编辑于星期二2023/4/257(3)高速缓冲存储器(Cache)Cache是一种介于主存与CPU之间用于解决CPU与主存间速度匹配问题的高速小容量的存储器。Cache用于存放CPU立即要运行或刚使用过的程序和数据。现在是7页\一共有282页\编辑于星期二2023/4/2582.按存取方式分类(1)随机存取存储器(RAM)RAM存储器中任何单元的内容均可按其地址随机地读取或写入,且存取时间与单元的物理位置无关。RAM主要用于组成主存。(2)只读存储器(ROM)ROM存储器中任何单元的内容只能随机地读出而不能随便写入和修改。ROM可以作为主存的一部分,用于存放不变的程序和数据,与RAM分享相同的主存空间。ROM还可以用作其它固定存储器,如存放微程序的控制存储器、存放字符点阵图案的字符发生器等。现在是8页\一共有282页\编辑于星期二2023/4/259(3)顺序存取存储器(SAM)SAM存储器所存信息的排列、寻址和读写操作均是按顺序进行的,并且存取时间与信息在存储器中的物理位置有关。如磁带存储器,信息通常是以文件或数据块形式按顺序存放,信息在载体上没有唯一对应的地址,完全按顺序存放或读取。(4)直接存取存储器(DAM)DAM是介于RAM和SAM之间的存储器。也称半顺序存储器。典型的DAM就是磁盘。当对磁盘进行信息存取时,先进行寻道,属于随机方式,然后在磁道中寻找扇区,属于顺序方式。现在是9页\一共有282页\编辑于星期二2023/4/2510

3.按存储介质分类存储介质:具有两个稳定物理状态,可用来记忆二进制代码的物质或物理器件。目前,构成存储器的存储介质主要是半导体器件和磁性材料。(1)磁存储器

磁存储器就是采用磁性材料制成的存储器。磁存储器是利用磁性材料的的两个不同剩磁状态存放二进制代码“0”和“1”。早期有磁芯存储器,现多为磁表面存储器,如磁盘、磁带等。现在是10页\一共有282页\编辑于星期二2023/4/2511磁芯存储器现在是11页\一共有282页\编辑于星期二2023/4/25123.5英寸软盘现在是12页\一共有282页\编辑于星期二2023/4/2513硬盘现在是13页\一共有282页\编辑于星期二2023/4/2514(2)半导体存储器半导体存储器是用半导体器件组成的存储器。根据制造工艺不同,可分为双极型和MOS型。现在是14页\一共有282页\编辑于星期二2023/4/2515U盘现在是15页\一共有282页\编辑于星期二2023/4/2516(3)光存储器利用光学原理制成的存储器,它是通过能量高度集中的激光束照在基体表面引起物理的或化学的变化,记忆二进制信息。如光盘存储器。现在是16页\一共有282页\编辑于星期二2023/4/2517光盘和光驱现在是17页\一共有282页\编辑于星期二2023/4/2518(1)易失性存储器电源掉电后,信息自动丢失。如半导体RAM。(2)非易失性存储器电源掉电后,信息仍能继续保存。如ROM、磁盘、光盘等。4.按信息的可保存性分类现在是18页\一共有282页\编辑于星期二2023/4/25194.1.2主存储器的组成和基本操作现在是19页\一共有282页\编辑于星期二2023/4/2520⑴存储元件(存储元、存储位)能够存储一位二进制信息的物理器件。如一个双稳态半导体电路、一个CMOS晶体管或一个磁性材料的存储元等。存储元是存储器中最小的存储单位。作为存储元的条件:①有两个稳定状态。即可以存储“0”、“1”

。②在外界的激励下,能够进入要求的状态。即可以写入“0”、“1”。③能够识别器件当前的状态。即可以读出所存的“0”、“1”。现在是20页\一共有282页\编辑于星期二2023/4/2521六管静态RAM基本存储元电路

现在是21页\一共有282页\编辑于星期二2023/4/2522单管DRAM基本存储元电路

现在是22页\一共有282页\编辑于星期二2023/4/2523⑵存储单元:由一组存储元件组成,可以同时进行读写。⑶存储体(存储阵列):把大量存储单元电路按一定形式排列起来,即构成存储体。存储体一般都排列成阵列形式,所以又称存储阵列。存储单元的地址:存储体中每个存储单元被赋予的一个唯一的编号。存储单元的地址用于区别不同的存储单元。要对某一存储单元进行存取操作,必须首先给出被访问的存储单元的地址。因为地址是用二进制进行编码的,所以又称为地址码。

现在是23页\一共有282页\编辑于星期二2023/4/2524存储单元的编址编址单位:存储器中可寻址的最小单位。①按字节编址:相邻的两个单元是两个字节。②按字编址:相邻的两个单元是两个字。例如一个32位字长的按字节寻址计算机,一个存储器字中包含四个可单独寻址的字节单元。当需要访问一个字,即同时访问4个字节时,可以按地址的整数边界进行存取。即每个字的编址中最低2位的二进制数必须是“00”

,这样可以由地址的低两位来区分不同的字节。现在是24页\一共有282页\编辑于星期二2023/4/2525地址1110010000003210010076541000111098110015141312现在是25页\一共有282页\编辑于星期二2023/4/2526⑷地址寄存器:用于存放所要访问的存储单元的地址。要对某一单元进行存取操作,首先应通过地址总线将被访问单元地址存放到地址寄存器中。⑸地址译码与驱动电路:用于对地址寄存器中的地址进行译码,通过对应的地址选择线到存储阵列中找到所要访问的存储单元,并提供驱动信号驱动其完成指定的存取操作。⑹读写电路:根据CPU发出的读写控制命令,控制对存储单元的读写。⑺数据寄存器:暂存需要写入或读出的数据。数据寄存器是存储器与计算机其它功能部件联系的桥梁。现在是26页\一共有282页\编辑于星期二2023/4/2527⑻时序控制电路:用于接收来自CPU的读写控制信号,产生存储器操作所需的各种时序控制信号,控制存储器完成指定的操作。如果存储器采用异步控制方式,当一个存取操作完成后,该控制电路还应给出存储器操作完成(MFC)信号。现在是27页\一共有282页\编辑于星期二2023/4/25282.主存与CPU的连接及主存的操作主存储器用于存放CPU正在运行的程序和数据。主存与CPU之间通过总线进行连接。现在是28页\一共有282页\编辑于星期二2023/4/2529主存的操作过程MAR:地址寄存器MDR:数据寄存器CPU读操作(取操作)地址(MAR)ABMEM读命令(Read)CBMEMMEM存储单元内容(M)DBMDRCPU写操作(存操作)地址(MAR)ABMEM写命令(Write)CBMEMMEM存储单元MDBMDR现在是29页\一共有282页\编辑于星期二2023/4/2530同步控制方式:数据传送在固定的时间间隔内完成,即在一个存取周期内完成。异步控制方式:数据传送的时间不固定,存储器在完成读/写操作后,需向CPU回送“存储器功能完成”信号(MFC),表示一次数据传送完成。目前多数计算机采用同步方式控制CPU与主存之间的数据传送。由于异步控制方式允许不同速度的设备进行信息交换,所以多用于CPU与外设的数据传送中。CPU与主存之间的数据传送控制方式现在是30页\一共有282页\编辑于星期二2023/4/25314.1.3半导体存储器的主要性能指标衡量主存的性能指标主要有:1.存储容量:存储器所能存储的二进制信息总量。存储容量的表示:①用存储单元数与每个单元的位数的乘积表示。如:512k×16位,表示主存有512k个单元,每个单元为16位。②在以字节为编址单位的机器中,常用字节表示存储容量,例如4MB、16MB分别表示主存可容纳4兆个字节(MB)信息和16兆个字节信息。现在是31页\一共有282页\编辑于星期二2023/4/2532容量与存储器地址线的关系1K=210

需要10根地址线1M=220需要20根地址线256M=228

需要28根地址线2G=231

需要31根地址线现在是32页\一共有282页\编辑于星期二2023/4/25332.速度由于主存的速度慢于CPU速度,所以主存速度直接影响着CPU执行指令的速度。因此,速度是主存的一项重要技术指标。⑴访问时间(取数时间tA)从启动一次存储器存取操作到完成该操作所需的全部时间。即从存储器接到CPU发出的读/写命令和地址信号到数据读入MDR/从MDR写入MEM所需的时间。读出时间:从存储器接到有效地址开始到产生有效输出所需的时间。写入时间:从存储器接到有效地址开始到数据写入被选中单元为止所需的时间。现在是33页\一共有282页\编辑于星期二2023/4/2534与tA相关的参数:tCA:指从加载到存储器芯片上的()引脚上的选片信号有效开始,直到读取的数据或指令在存储器芯片的数据引脚上可以使用为止的时间间隔。tOE:指从读(OE)信号有效开始,直到读取的数据或指令在存储器芯片的数据引脚上可以使用为止的时间间隔。现在是34页\一共有282页\编辑于星期二2023/4/2535⑵存取周期(存储周期、读写周期TM)对存储器连续进行两次存取操作所需要的最小时间间隔。由于存储器进行一次存取操作后,需有一定的恢复时间,所以存储周期TM大于访问时间tA。半导体存储器的存取周期tMTM=tA+一定的恢复时间MOS型存储器的TM约100ns双极型TTL存储器的TM约10ns现在是35页\一共有282页\编辑于星期二2023/4/2536带宽是指存储器单位时间内所存取的二进制信息的位数。带宽也称存储器数据传输率、频宽Bm带宽等于存储器总线宽度除以存取周期。W:存储器总线的宽度,对于单体存储器,W就是数据总线的根数。带宽的单位:兆字节/秒3.带宽现在是36页\一共有282页\编辑于星期二2023/4/2537提高存储器速度的途径①采用高速器件②减少存取周期TM,如引入Cache。③提高总线宽度W,如采用多体交叉存储方式。④采用双端口存储器。⑤加长存储器字长。现在是37页\一共有282页\编辑于星期二2023/4/25384.价格存储器的价格常用每位的价格来衡量。设存储器容量为S位,总价格为C总,每位价格为cc=C总/SC总不仅包含存储器组件本身的价格,也包括为该存储器操作服务的外围电路的价格。存储器的总价格与存储容量成正比,与存储周期成反比。现在是38页\一共有282页\编辑于星期二2023/4/25394.可靠性存储器的刷新可能会影响可靠性。存储器可靠性的衡量指标——主存的平均无故障时间MTBF。MTBF越长,可靠性越高。除上述几个指标外,功耗也是影响存储器性能的因素之一。现在是39页\一共有282页\编辑于星期二2023/4/2540容量、速度、价格三个指标是相互矛盾、相互制约的。高速的存储器往往价格也高,因而容量也不可能很大。为了较好地解决存储器容量、速度与价格之间的矛盾,在现代计算机系统中,通常都是通过辅助软、硬件,将不同容量、不同速度、不同价格的多种类型的存储器组织成统一的整体。即构成存储器系统的多级层次结构。4.1.4存储器系统的层次结构现在是40页\一共有282页\编辑于星期二2023/4/2541存储器层次结构辅助软硬件辅助硬件现在是41页\一共有282页\编辑于星期二2023/4/2542按层次结构自上而下

⑴访问时间逐渐增长寄存器的访问时间是几个纳秒高速缓存的访问时间是寄存器访问时间的几倍主存储器的访问时间是几十个纳秒磁盘的访问时间最少10ms以上磁带和光盘的访问时间以秒来计量。

现在是42页\一共有282页\编辑于星期二2023/4/2543⑵存储容量逐渐增大寄存器约几十到几百字节Cache约几百到几M字节主存在几十MB到几GB之间磁盘的容量为几十GB到几TB磁带和光盘一般脱机存放,其容量只受限于用户的预算现在是43页\一共有282页\编辑于星期二2023/4/2544⑶存储器每位的价格逐渐降低例如主存的价格约每兆字节几角磁盘的价格是每兆字节几分或更低磁带的价格是每G字节几元或更低现在是44页\一共有282页\编辑于星期二2023/4/2545Cache——

主存层次主要解决速度问题通过辅助硬件,把主存和Cache构成统一整体,使它具有接近Cache的速度、主存的容量和接近于主存的平均价格。主存——

辅存层次主要解决容量问题大量的信息存放在大容量的辅助存储器中,当需要使用这些信息时,借助辅助软、硬件,自动地以页或段为单位成批调入主存中。现在是45页\一共有282页\编辑于星期二2023/4/25464.2半导体存储器4.2.1半导体存储器的分类现在是46页\一共有282页\编辑于星期二2023/4/25474.2.2随机存取存储器的结构及工作原理

1.

半导体存储器芯片结构及实例存储器组件把存储体及其外围电路(包括地址译码与驱动电路、读写放大电路及时序控制电路等))集成在一块硅片上,称为存储器组件。存储器芯片存储器组件经过各种形式的封装后,通过引脚引出地址线、数据线、控制线及电源与地线等,制成存储器芯片。

现在是47页\一共有282页\编辑于星期二2023/4/2548存储器芯片现在是48页\一共有282页\编辑于星期二2023/4/2549存储器芯片一般做成双列直插形式,有若干引脚引出地址线、数据线、控制线及电源与地线等。半导体存储器芯片一般有两种结构:字片式结构和位片式结构。…An-1~0…Dm-1~0R/WCS电源地线现在是49页\一共有282页\编辑于星期二2023/4/25501)字片式结构的存储器芯片现在是50页\一共有282页\编辑于星期二2023/4/2551单译码方式(一维译码):访存地址仅进行一个方向译码的方式。每个存储单元电路接出一根字线和两根位线。存储阵列的每一行组成一个存储单元,存放一个8位的二进制字。一行中所有单元电路的字线联在一起,接到地址译码器的对应输出端。6位访存地址经地址译码器译码选中某一输出端有效时,与该输出端相联的一行中的每个单元电路同时进行读写操作,实现一个字的同时读/写。现在是51页\一共有282页\编辑于星期二2023/4/255264字×8位的存储体中共有64个字,每个字为8位,排成64×8的阵列。存储芯片共需6根地址线,8根数据线,一次可读出一个字节。存储体中所有存储单元的相同位组成一列,一列中所有单元电路的两根位线分别连在一起,并使用一个读/写放大电路。读/写放大电路与双向数据线相连。现在是52页\一共有282页\编辑于星期二2023/4/2553读/写控制线R/W

:控制存储芯片的读/写操作。片选控制线

CS:CS为低电平时,选中芯片工作;CS为高电平时,芯片不被选中。操作00写01读1×未选中现在是53页\一共有282页\编辑于星期二2023/4/2554字片式结构存储器芯片,由于采用单译码方案,有多少个存储字,就有多少个译码驱动电路,所需译码驱动电路多。双译码方式(二维译码):采用行列译码的方式,位于选中的行和列的交叉处的存储单元被唯一选中。采用双译码方式的存储芯片即位片式结构存储器芯片。现在是54页\一共有282页\编辑于星期二2023/4/25552)位片式结构的存储器芯片现在是55页\一共有282页\编辑于星期二2023/4/25564K×1位的位片式存储器芯片中有4096个存储单元电路,排列成64×64的阵列。4096个单元需12位地址。将12位地址分为6位行地址和6位列地址。对于给定的访存地址,经行、列译码后,选中一根行地址选择线和列地址选择线有效。行地址选择线选中一行中的64个存储电路进行读写操作。列地址选择线用于选择64个多路转接开关,控制各列是否能与读/写电路的接通。每个多路转接开关由两个MOS管组成,控制一列中的64个存储电路的位线与读/写电路的接通。现在是56页\一共有282页\编辑于星期二2023/4/2557当选中存储芯片工作时,首先给定访存地址,并给出片选信号CS和读写信号R/W6行列地址,被选的行、列选择线的交叉处的存储电路被唯一地选中,读出或写入一位二进制信息。采用双译码方案,对于4096个字只需128个译码驱动电路。而若采用单译码方案,4096个字将需4096个译码驱动电路。现在是57页\一共有282页\编辑于星期二2023/4/25583)Intel2114芯片Intel2114是1K×4位的静态MOS存储器芯片。采用N—MOS工艺制作,双列直插式封装。共18个引脚。A9~A0:10根地址线,用于寻址1024个存储单元I/O4~I/O1:4根双向数据线CS:片选信号线WE:读/写控制线+5V:5V电源线GND:地线现在是58页\一共有282页\编辑于星期二2023/4/2559三态门X0X63Y0Y15现在是59页\一共有282页\编辑于星期二2023/4/25602114芯片由存储体、地址缓冲器、地址译码器、读/写控制电路及三态输入输出缓冲器组成。存储体中共有4096个六管存储单元电路,排列成64×64阵列。地址译码采用二维译码结构,10位地址码分成两组,A8~A3作为6位行地址,经行地址译码器驱动64根行选择线。A2~A0及A9作为4位列地址,经列地址译码器驱动16根列选择线,每根列选择线同时选中64列中的4列,控制4个转接电路,控制被选中的4列存储电路的位线与I/O电路的接通。被选的行选择线与列选择线的交叉处的4个存储电路,就是所要访问的存储字。4个存储电路对应一个字的4位。现在是60页\一共有282页\编辑于星期二2023/4/2561在存储体内部的阵列结构中,存储器的读/写操作由片选信号CS与读/写控制信号WE控制。CS为高电平时,输入与输出的三态门均关闭,不能与外部的数据总线交换信息。CS为低电平时,芯片被选中工作,若WE为低电平,则打开4个输入三态门,数据总线上的信息被写入被选的存储单元;若WE为高电平,打开4个输出三态门,从被选的存储单元中读出信息并送到数据总线上。现在是61页\一共有282页\编辑于星期二2023/4/25624)TMS4116芯片TMS4116是由单管动态MOS存储单元电路构成的动态RAM芯片。容量为16k×1位。16k的存储器应有14根地址线,为了节省引脚,该芯片只使用7根地址线A6~A0,采用分时复用技术,分两次把14位地址送入芯片。行地址选通信号RAS:用于将低7位地址A6~A0打入行地址缓冲器锁存。列地址选通信号CAS:用于将高7位地址A13~A7,打入列地址缓冲器锁存。现在是62页\一共有282页\编辑于星期二2023/4/2563TMS4116的外部引脚现在是63页\一共有282页\编辑于星期二2023/4/2564TMS4116的内部逻辑结构现在是64页\一共有282页\编辑于星期二2023/4/256516k×1位共16384个单管MOS存储单元电路,排列成128×128的阵列,并将其分为两组,每组为64行×128列。每根行选择线控制128个存储电路的字线。列选择线控制读出再生放大器与I/O缓冲器的接通,控制数据的读出或写入。每一根列选择线控制一个读出再生放大器,128列共有128个读生再生放大器,一列中的128个存储电路分为两组,每64个存储电路为一组,两组存储电路的位线分别接入读出再生放大器的两端。现在是65页\一共有282页\编辑于星期二2023/4/2566TMS4116的存储阵列结构

现在是66页\一共有282页\编辑于星期二2023/4/2567行地址经行地址译码选中某一根行线有效,接通此行上的128个存储电路中的MOS管,使电容所存信息分别送到128个读出再生放大器放大。同时,经放大后的信息又回送到原电路进行重写,使信息再生。列地址经列地址译码选中某根列线有效,接通相应的列控制门,将该列上读出放大器输出的信息送入I/O缓冲器,经数据输出寄存器通过数据输出引脚DOUT输出到系统数据总线上。TMS4116的读出现在是67页\一共有282页\编辑于星期二2023/4/2568TMS4116的写入首先将要写入的信息通过数据输入引脚DIN经由数据输入寄存器、I/O缓冲器送入被选列的读出再生放大器中,然后再写入行、列同时被选中的存储单元。为写允许控制线为高电平,读出;为低电平,写入。TMS4116芯片没有专门设置选片信号,一般用

信号兼做选片控制信号。只有当有效(低电平)时,芯片才工作。

现在是68页\一共有282页\编辑于星期二2023/4/2569TMS4116的刷新当某个存储单元被选中进行读/写操作时,该单元所在行的其余127个存储电路也将自动进行一次读出再生操作,即完成一次刷新操作。TMS4116的刷新是按行进行的,每次只加行地址,不加列地址,即可实现被选行上的所有存储电路的刷新。即一次可以刷新128个存储单元电路。现在是69页\一共有282页\编辑于星期二2023/4/2570TMS4116芯片的读、写周期时序在读周期中,行地址必须在RAS有效前有效,列地址必须在CAS有效前有效,并且在CAS到来之前,WE必须为高电平,并保持到CAS结束之后。在写周期中,当WE有效之后,所加的DIN信号必须保持到CAS变为低电平之后,RAS、CAS和WE全部有效时,将DIN数据写入被选的存储单元。现在是70页\一共有282页\编辑于星期二2023/4/2571读周期(列选通下降沿触发)现在是71页\一共有282页\编辑于星期二2023/4/2572写周期(列选通下降沿触发)现在是72页\一共有282页\编辑于星期二2023/4/25735)动态存储器的刷新方式

因为电容电荷的泄放会引起信息的丢失,所以动态MOS存储器每隔一定时间需进行一次刷新操作。刷新的间隔时间主要由电容电荷泄放速度决定。①刷新最大周期(刷新最大间隔)设存储电容为C,其两端电压为u,

电荷Q=C•u,则泄漏电流I为:现在是73页\一共有282页\编辑于星期二2023/4/2574所以泄漏时间为Δu:电容两端的电压变化I:泄露电流C:存储电容例如设某动态MOS元件的C=0.2pf,

当I=0.1nA,电压变化Δu=1V时,信息将丢失。则泄漏时间Δt为:说明该动态MOS元件每隔2ms必须刷新一次,Δt就是刷新最大周期(刷新最大间隔)。现在是74页\一共有282页\编辑于星期二2023/4/2575动态存储器芯片的刷新均是按行刷新。例如,对于16K的4116芯片,存储体排成128×128阵列。刷新时,共需要刷新128行。每次由刷新地址计数器给出刷新的行地址,每刷新一行,刷新地址计数器加1。现在是75页\一共有282页\编辑于星期二2023/4/2576②动态存储器的刷新方式

当主存需要刷新时,CPU不能访存,所以要尽可能让刷新时间少占用CPU时间。A.集中式刷新

按照存储器芯片容量的大小集中安排刷新操作的时间段,在此时间段内对芯片内所有的存储单元电路执行刷新操作。CPU的“死区”

在刷新操作期间,禁止CPU对存储器进行正常

读/写的访问操作,称这段时间为CPU的“死区”。现在是76页\一共有282页\编辑于星期二2023/4/2577例如,设16k×1位芯片的存储矩阵为128×128。存储器的刷新最大周期为2ms,存储器的存取周期为500ns,一次刷新操作可同时刷新128个存储单元电路。因为存储矩阵为128×128,所以对芯片内的所有存储单元电路全部刷新一遍需要128个存取周期。因此在2ms内,必须留出128个周期专用于刷新。因为存储器的存取周期为500ns,所以在2ms内需要有500×128=64µs专门用于刷新操作,其余1936µs可用于正常的存储器读写操作。现在是77页\一共有282页\编辑于星期二2023/4/2578集中式刷新的优点

系统的存取周期不受刷新工作的影响,读写操作和刷新工作在最大刷新周期内分开进行,控制简单。集中式刷新的缺点

在“死区”内CPU必须停止访存操作,CPU利用率低。现在是78页\一共有282页\编辑于星期二2023/4/2579B.分散式刷新

定义系统对存储器的存取周期是存储器本身的存取周期的两倍。再把系统的存取周期平均分为两个操作阶段,前一个阶段用于对存储器的正常访问,后一个阶段用于刷新操作,每次刷新一行。分散式刷新的优点:没有“死区”,每一系统周期都可进行读/写操作。分散式刷新的缺点:没有充分利用所允许的最大刷新间隔(2ms),且刷新过于频繁,人为降低了存储器的速度。

现在是79页\一共有282页\编辑于星期二2023/4/2580以128×128阵列、存取周期为500ns的存储器芯片为例。采用分散式刷新时,系统总线周期为存取周期的两倍,即1µs。这样每隔128µs就可以将存储器全部刷新一遍。现在是80页\一共有282页\编辑于星期二2023/4/2581C.异步式刷新异步式刷新是前两种刷新方式的折衷。其思想是充分利用最大刷新间隔,每隔一段时间刷新一行。以128×128阵列、存取周期为500ns,刷新最大周期为2ms的存储器芯片为例。因为要求在2ms内将所有128行都刷新一遍,所以只要每隔2ms/128=15.6µs的时间刷新一行即可。取两次刷新的间隔时间为周期的整数,可使存储器每隔15.5µs执行刷新操作一次,一次刷新一行。这样在15.5µs中,前15µs即30个存取周期用于读/写操作,后0.5µs用于刷新。现在是81页\一共有282页\编辑于星期二2023/4/2582异步式刷新既充分利用了2ms的最大刷新间隔,保持了存储系统的高速性,又大大缩短了主机的“死区”,所以是一种最常用的刷新方式。现在是82页\一共有282页\编辑于星期二2023/4/2583D.透明式刷新

利用CPU不访存操作时主存的空闲时间进行刷新。透明式刷新方式的优点:完全消除了“死区”。透明式刷新方式的缺点:较难控制何时能够进行刷新,刷新控制电路极其复杂。现在是83页\一共有282页\编辑于星期二2023/4/25844.2.4半导体存储器的组成由于一块存储器芯片的容量总是有限的,因此一个存储器总是由一定数量的存储器芯片构成。要组成一个主存储器,需要考虑的问题:①如何选择芯片根据存取速度、存储容量、电源电压、功耗及成本等方面的要求进行芯片的选择。②所需的芯片数量:

现在是84页\一共有282页\编辑于星期二2023/4/2585例:用2114芯片组成32K×8位的存储器,所需2114芯片数为:③如何把许多芯片连接起来。要考虑地址、数据和控制信号线的连接。

通常存储器芯片在单元数和位数方面都与实际存储器要求有很大差距,所以需要在字方向和位方向两个方面进行扩展。现在是85页\一共有282页\编辑于星期二2023/4/25861.位扩展当芯片的单元数满足存储器单元数的要求,但单元中的位数不满足要求时,需要进行位扩展。位扩展:只进行位数扩展(加大字长)。采用位扩展时,芯片的单元数(字数)与存储器的单元数是一致的。位扩展的连接方式:①将所有存储器芯片的地址线、片选信号线和读/写控制线均对应的并接在一起,连接到地址和控制总线的对应位上。②将各芯片的数据线单独列出,分别接到数据总线的对应位。现在是86页\一共有282页\编辑于星期二2023/4/2587例:用2114存储器芯片构成1K×8位的存储器。2114为1K×4位的芯片,现存储器要求容量为1K×8位,单元数满足,位数不满足,需要1K×8/1K×4=2片

2114来构成存储器。1K×8位的存储器共需8根数据线D7~D0,两片2114各自的4根数据线分别用于连接D7~D4和D3~D0。2114本身具有10根地址线,称为片内地址线,与存储器要求的10根地址线一致,所以只要将他们并接起来即可。电路中CPU的读/写控制线(R/W)与2114的WE信号并接。MREQ为CPU的访存请求信号,作为2114的片选信号连接到CS上。现在是87页\一共有282页\编辑于星期二2023/4/2588存储器位扩展举例现在是88页\一共有282页\编辑于星期二2023/4/25892.字扩展当芯片单元中的的位数满足存储器位数的要求,但芯片的单元数不满足存储器单元数要求时,需要进行字扩展。字扩展:仅是单元数(字数)扩展,而位数不变。采用字扩展时,芯片单元中的位数与存储器的数据位数是一致的。现在是89页\一共有282页\编辑于星期二2023/4/2590字扩展的连接方式:①将所有芯片的地址线、数据线、读/写控制线均对应地并接在一起,连接到地址、数据、控制总线的对应位上。②由片选信号区分被选芯片。片选信号:通常由高位地址经译码进行控制。高位地址:存储器总地址减去芯片内部寻址的地址得到的地址。现在是90页\一共有282页\编辑于星期二2023/4/2591例:用16K×8位的存储器芯片构成64K×8位的存储器。16K×8位的芯片,可以满足64K×8位的存储器数据位的要求,但不满足单元数的要求。需要4片16K×8位的芯片采用字扩充方式来构成存储器。64K×8位的存储器需要16位地址线A15~A0,而16K×8位的芯片的片内地址线为14根,所以用16位地址线中的低14位A13~A0进行片内寻址,高两位地址A15、A14用于选择芯片,即选片寻址。现在是91页\一共有282页\编辑于星期二2023/4/2592设存储器从0000H开始连续编址,则四块芯片的地址分配:第一片地址范围为:0000H~3FFFH

第二片地址范围为:4000H~7FFFH

第三片地址范围为:8000H~BFFFH

第四片地址范围为:C000H~FFFFH现在是92页\一共有282页\编辑于星期二2023/4/2593A15A14A13A12………A2A1A0000000000000000000111111111111110000H~3FFFH第一片010000000000000001111111111111114000H~7FFFH第二片100000000000000010111111111111118000H~BFFFH第三片11000000000000001111111111111111C000H~FFFFH第四片片内地址片选地址现在是93页\一共有282页\编辑于星期二2023/4/2594现在是94页\一共有282页\编辑于星期二2023/4/25953.字和位同时扩展当芯片的单元数和单元的数据位均不满足存储器的要求时需要进行字和位的同时扩展。字和位同时扩展:按位扩展和字扩展的方法分别在位方向和字方向进行扩展。现在是95页\一共有282页\编辑于星期二2023/4/2596①所有芯片的片内地址线、读/写控制线均对应地并接在一起,连接到地址和控制总线的对应位上。②同一地址区域内,不同芯片的片选信号连在一起,接到片选译码器的同一输出端;

不同地址区域内内,各组芯片的片选信号分别接到片选译码器的不同输出端。③不同地址区域内,同一位芯片的数据线对应地并接在一起,连接到数据总线的对应位上。不同位芯片的数据线分别连接到数据总线的不同位上。字和位同时扩展的连接方式现在是96页\一共有282页\编辑于星期二2023/4/2597例4.4:用2114芯片组成4K×8位存储器需用8片2114芯片构成4K×8位存储器。8片芯片排成4行×2列,每行按位扩展方法连接,每列按字扩展方法连接。存储器地址线A11~A0,芯片片内地址A9~A0,高两位地址A11、A10用于选片寻址。存储器数据线D7~D0,芯片数据线I/O3~I/O0,两片芯片的数据线一同构成存储器的8位数据线。现在是97页\一共有282页\编辑于星期二2023/4/2598A11A10A9……A2A1A00000000000000011111111110000H~03FFH第一组0100000000000111111111110400H~07FFH第二组1000000000001011111111110800H~0BFFH第三组1100000000001111111111110C00H~0FFFH第四组现在是98页\一共有282页\编辑于星期二2023/4/2599现在是99页\一共有282页\编辑于星期二2023/4/25100例:某微机系统有16根地址线,8根数据线,地址空间安排为:16K系统程序存储区,用ROM芯片,安排在地址最低区;接着留出16K的设备地址空间;其后的32K作为用户程序区,采用RAM芯片。给定芯片如下,请画出连线图,给出各存储区的地址范围。ROMD7~D0A13A0CSDE…RAMD7~D0A13A0CSRD…WR现在是100页\一共有282页\编辑于星期二2023/4/25101ROM区:16K×8位,需1片16K×8位ROM芯片RAM区:32K×8位,需2片16K×8位RAM芯片I/O区:16K×8位,主存不应使用A15A14A13A12………A2A1A0000000000000000000111111111111110000H~3FFFHROM区010000000000000001111111111111114000H~7FFFHI/O区100000000000000010111111111111118000H~BFFFHRAM区111000000000000001111111111111111C000H~FFFFHRAM区2现在是101页\一共有282页\编辑于星期二2023/4/25102ROMA13~A0CSDERAMD7~D0A15A14CSRDWRRAMY0CSRDWR地址译码器MEMRY2Y3Y1R/W现在是102页\一共有282页\编辑于星期二2023/4/251034.

多种数据位输出的组织问题多种数据的传输是指存储器按照CPU的指令要求,与CPU间分别传输8位、16位、32位或64位数据的情况。此时,CPU要增加控制信号,控制存储器传输不同位数的数据。

现在是103页\一共有282页\编辑于星期二2023/4/25104整数边界存储当计算机具有多种信息长度(8位、16位、32位等),则应当按存储周期的最大信息传输量为界(Bm为界),保证数据都能在一个存储周期内存取完毕。例如,设计算机字长为32位,一个存储周期内可传输8位、16位、32位、64位等不同长度信息。那么1个8位、2个16位、2个32位、1个64位等信息的存储地址应如何给出呢?现在是104页\一共有282页\编辑于星期二2023/4/25105⑴无边界规定0000H0008H0010H64位/存储周期0020H64816163232321664☓☓☓☓☓☓0018H现在是105页\一共有282页\编辑于星期二2023/4/25106无边界规定时存在的问题若地址分配不合理,则会出现两个周期才能将数据传送完毕的情况。如上图的第1个16位、第2个32位和64位都需两个存储周期才能完成访问。无边界规定有可能造成系统访存速度的下降。现在是106页\一共有282页\编辑于星期二2023/4/25107⑵采用整数边界0000H0008H0010H64位/存储周期0020H☓☓☓☓☓☓0018H81616323264现在是107页\一共有282页\编辑于星期二2023/4/25108整数边界地址安排8位(1个字节)地址码最低位为任意值XXXXXB16位(半字)地址码最低1位为0XXXX0B32位(单字)地址码最低2位为00XXX00B64位(双字)地址码最低3位为000XX000B现在是108页\一共有282页\编辑于星期二2023/4/25109采用整数边界存在的问题浪费空间随着半导体存储器的扩容,以空间换取速度势在必行。现在是109页\一共有282页\编辑于星期二2023/4/25110例:请用2K×8bit的SRAM设计一个8K×16bit的存储器,要求:⑴存储器可以分别被控制访问8位和16位数据。控制位数的信号B由CPU提供:当B=0时访问16位数据;当B=1时访问8位数据。⑵存储芯片地址按交叉方式编址。⑶画出存储器与CPU的连接原理图。条件:①SRAM芯片除地址、数据线外,控制信号有(低电平有效)、(高电平读、低电平写)。②CPU提供的控制信号有(低电平有效)

、(高电平读、低电平写)等。现在是110页\一共有282页\编辑于星期二2023/4/25111地址线的安排因为需要访问8位数据,所以将16位数据分为高8位和低8位,分别用奇存储体和偶存储体存放。即访问16位数据时实际需要访问两个存储体,而访问8位数据时只需访问一个存储体,因此在地址线中需要有1位用于区分奇、偶存储体。由于8K×16bit的存储空间需要13根地址线,再加一根地址线用于选择奇、偶存储体,共14根地址线,这样存储空间实际变成了8K×2×8bit,相当于214×8bit。现在是111页\一共有282页\编辑于星期二2023/4/25112为了符合整数边界的要求,规定一个16位的单元必须由一个A0=1和一个A0=0的存储单元构成,即系统采用低位交叉方式编址;而一个16位的数据必须存放在高位地址相同,低位分别为A0=1和A0=0的两个单元中。规定14根地址线中,A0与B组合用于控制8位、16位数据的存取。由于每个SRAM芯片容量是2K,所以A11~A1用于片内地址,A13、A12

用于2-4译码。得到4组译码信号,与A0、B组成每个芯片的片选信号。现在是112页\一共有282页\编辑于星期二2023/4/25113逻辑表达式BA0POddPEven000(选中)0(选中)读写16位0111不读写1010(选中)读写低8位110(选中)1读写高8位现在是113页\一共有282页\编辑于星期二2023/4/25114Peven=A0Podd=A0B2-4译码器Y0Y1Y2Y3A13A12现在是114页\一共有282页\编辑于星期二2023/4/25115CS1=Y0+PoddCS0=Y0+PevenCS3=Y1+PoddCS2=Y1+PevenCS5=Y2+PoddCS4=Y2+PevenCS7=Y3+PoddCS6=Y3+Peven每个芯片的片选信号现在是115页\一共有282页\编辑于星期二2023/4/25116现在是116页\一共有282页\编辑于星期二2023/4/25117现在是117页\一共有282页\编辑于星期二2023/4/251184.4高速缓冲存储器(Cache)4.4.1Cache在存储体系中的地位和作用

高速缓冲存储器是位于主存与CPU之间的高速小容量存储器,用来存放程序中当前最活跃的程序和数据。Cache的容量比主存小得多。采用Cache的主要目的提高存储器的平均访问速度,从而使存储器的速度与CPU的速度相匹配。现在是118页\一共有282页\编辑于星期二2023/4/25119CPU在一个较短的时间间隔内,由程序产生的地址往往簇聚在一个很小的区域内。如果把这一局部区域的程序和数据从主存复制到Cache中,使CPU能够高速地在Cache中读取指令和数据,就可大大提高CPU的访存速度。程序局部性原理现在是119页\一共有282页\编辑于星期二2023/4/25120现在是120页\一共有282页\编辑于星期二2023/4/25121Cache是按块进行管理的Cache和主存均被分割成大小相同的块。信息以块为单位调入Cache。Cache中数据块的大小一般为几个~几百个字节。主存中的数据块可称为“块(black)”,Cache中数据块可称为“行(line)”或“槽(slot)”。现在是121页\一共有282页\编辑于星期二2023/4/25122...........主存主存块号块A-1块1块0........块C-1块0CacheCache块号B个字现在是122页\一共有282页\编辑于星期二2023/4/25123...........主存主存块号块A-1块1块0....块C-1块0CacheCache块号块1现在是123页\一共有282页\编辑于星期二2023/4/25124主存容量:A×B个字Cache容量:C×B个字设A=2a,B=2b,C=2c主存地址:Cache地址:主存块号块内偏移量a位b位a+b位cache块号块内偏移量c位b位c+b位现在是124页\一共有282页\编辑于星期二2023/4/25125Cache的命中根据程序局部性原理,可将包含CPU马上要访问内容的主存块调入Cache块中。当CPU欲访问某主存字时的两种情况:①所需内容已在Cache中,称为CPU访问Cache命中,CPU可直接访问Cache。②所需内容不在Cache中,称为CPU访问Cache不命中(失败)。CPU需访问主存获得所需内容,并将包含所需内容的主存块调入Cache中,以备下次访问。现在是125页\一共有282页\编辑于星期二2023/4/25126Cache命中率Cache命中率:CPU要访问的内容在Cache中的比率。设在一个程序执行期间,访问Cache的总命中次数为Nc,访问主存的次数为Nm,CPU访问Cache的命中率为H,则有:现在是126页\一共有282页\编辑于星期二2023/4/25127Cache-主存系统的访问时间设Tc为Cache命中时的访问时间,Tm为Cache不命中时的主存访问时间,1-H为不命中率,Ta为Cache-主存系统的平均访问时间,则有:

Ta=H

Tc+(1-H)

Tm现在是127页\一共有282页\编辑于星期二2023/4/25128带Cache存储系统的加速比SpCache-主存系统的访问效率e现在是128页\一共有282页\编辑于星期二2023/4/25129例:设CPU执行某程序时共访问Cache命中2000次,访问主存50次,已知cache的存取周期为50ns,主存的存取周期为200ns。求该Cache-主存系统的命中率、平均访问时间和访问效率。解:Cache的命中率:

H=2000/(2000+50)≈0.97平均访问时间:ta=0.97×50+(1-0.97)×200≈54.5ns访问效率:现在是129页\一共有282页\编辑于星期二2023/4/25130利用目前的大规模集成电路技术和生产工艺,人们可以在CPU芯片内部放置一定容量的高速缓冲存储器(Cache)。一级(L1)Cache

:CPU芯片内部的高速缓冲存储器。二级(L2)Cache

:CPU外部由SRAM构成的高速缓冲存储器。目前最新的CPU内部已经可以放置二级乃至三级Cache。现在是130页\一共有282页\编辑于星期二2023/4/251314.4.2Cache的基本结构及工作原理现在是131页\一共有282页\编辑于星期二2023/4/25132⑴Cache存储阵列由高速存储器构成,用于存放主存信息的副本。容量小于主存,但编址方式、物理单元长度均与主存相同。⑵地址映像变换机构用于实现主存地址与Cache地址转换的部件,一般由相联存储器组成,用以记录主存内容存入Cache时两者地址的对应关系。⑶替换策略实现机构根据一定的算法,用硬件实现块的替换。1.Cache的基本结构现在是132页\一共有282页\编辑于星期二2023/4/25133在带Cache的存储器中,CPU的访存地址被分割成两部分:①块地址(块框架地址、块号)用于查找该块在Cache中的位置。②块内偏移量(块内位移)用于确定所访问的数据在块中的位置。01011010001000000100101110011100块号块内偏移量现在是133页\一共有282页\编辑于星期二2023/4/25134⑴

当CPU需要进行访存时,首先给出主存实地址。2.Cache的工作过程⑵

地址映像变换机构接收到主存实地址后,根据块号判定所访问的信息字是否在Cache中。若在(Cache命中),通过地址变换机构将主存块号变换为Cache块地址,再根据块内偏移量,对Cache进行存取。若不在(Cache不命中),则通知访问Cache块失效。然后通过CPU与主存之间的直接数据通路访问主存,将被访问字直接送给CPU,并将包含该字的新块装入Cache。若Cache巳满,则通过替换策略实现机构,调出某一Cache块,然后装入所需的块。现在是134页\一共有282页\编辑于星期二2023/4/25135Cache的存在对程序员是透明的。在处理机每次访问存储器时,系统自动将地址转换成Cache中的地址。提高Cache的访问速度的方法⑴Cache的地址变换和数据块的替换算法均用硬件实现。⑵在物理位置上让Cache尽量靠近CPU,以减少CPU与Cache之间的传输延迟。如将Cache集成在CPU芯片内。⑶为了加速调块,一般将每个数据块的容量规定为并行主存系统一个存储周期所能访问到的字数。现在是135页\一共有282页\编辑于星期二2023/4/251364.4.3Cache的地址映像方式因为CPU以主存地址访问Cache,所以必须把访存时必须把主存地址变换为Cache的实际地址。地址变换取决于地址的映像方式,就是主存信息按什么规则装入Cache。现在是136页\一共有282页\编辑于星期二2023/4/25137直接映像是指任何一个主存块只能复制到Cache的某一固定块中。直接映像的思想是:将主存块号除以Cache块数结果“同余”的主存块映射在同一Cache块中。设Cache中有2m个块,主存中有2n个块。设Cache块号为i,主存块号为j,则有:

i=jmod2m即:Cache块号i=主存块号jmodCache块数1.直接映像方式现在是137页\一共有282页\编辑于星期二2023/4/25138主存中主存地址除以Cache块数结果“同余”的主存块映射在同一Cache块中。也就是主存的n位块地址中低m位相同的块将被映射到同一个Cache块中。若主存和Cache地址采用十进制编号,也可以同样计算i与j的对应关系。现在是138页\一共有282页\编辑于星期二2023/4/25139主存Cache0区0块0区1块……0区2m-1块1区0块1区1块……1区2m-1块……2n-m-1区0块2n-m-1区1块……2n-m-1区2m-1块0块1块…2m-1块m位2n块2m块现在是139页\一共有282页\编辑于星期二2023/4/25140采用直接映像方式时,主存地址分成三段:区号用于判断Cache命中与否。区内块号直接用于在Cache中进行块寻址。块内偏移量用于块内字或字节的寻址。地址映像机构在判断块命中与否时,只需判断Cache中某一块对应于主存中哪一区即可。区号(标识)区内块号块内偏移量n-mnm现在是140页\一共有282页\编辑于星期二2023/4/25141地址变换方式利用标识Cache中的内容实现地址变换。标识Cache用于存放主存块在Cache中的调入情况。标识Cache共有2m个单元,每个单元对应一个Cache块,每个单元中标识信息长n-m位。区号(标识)区内块号块内偏移量n-mnm主存地址Cache地址块号块内偏移量m现在是141页\一共有282页\编辑于星期二2023/4/25142直接映像下的标识Cache

标识tag(主存区号)有效位Cache块012m-1n-m1块0块1块2m-1现在是142页\一共有282页\编辑于星期二2023/4/25143标识Cache现在是143页\一共有282页\编辑于星期二2023/4/25144访存时,以主存块号为地址定位到块表的相应位置,再将主存地址中的区号与标识Cache中的相应单元中的区号比较。如果相等,表示Cache命中,将主存块号和块内偏移量变换为Cache块号和块内偏移量,即可在Cache中访问所需的单元。在直接映像方式中,区号也称为标识(tag)。区内块号和块内偏移量也可合称为索引(index)。用于存放数据或指令的Cache,可称为内容Cache。现在是144页\一共有282页\编辑于星期二2023/4/25145在直接映像方式下,主存中存储单元的数据只可调入Cache中的一个位置,如果主存中另一个存储单元的数据也要调入该位置,则将发生冲突。直接映像方式的特点:⑴硬件线路简单;⑵地址变换速度快;⑶因为主存块在Cache中的位置固定,一个主存块只能对应一个Cache块,所以没有替换策略问题;⑷块的冲突率高,若程序往返访问两个相互冲突的块,将会使命中率急剧下降。⑸Cache利用率低。现在是145页\一共有282页\编辑于星期二2023/4/25146现在是146页\一共有282页\编辑于星期二2023/4/251472.全相联映像及变换任何主存块可映像到任意一个Cache块。主存Cache0块1块…k块…2n-1块0块1块…2m-1块设主存有2n块Cache有2m块现在是147页\一共有282页\编辑于星期二2023/4/25148地址变换方式全相联映像的标识Cache共有2m个单元,每个单元的标识信息内容为存入相应Cache块的主存块号,占n位。在全相联映像中,主存块号称为标识,块内偏移量称为索引。现在是148页\一共有282页\编辑于星期二2023/4/25149全相联映像下的标识Cache

标识tag(主存块号)有效位Cache块012m-1n1块0块1块2m-1现在是149页\一共有282页\编辑于星期二2023/4/25150标识Cache现在是150页\一共有282页\编辑于星期二2023/4/25151在访存操作时,根据主存地址中的块号在标识Cache中查找是否有相同的主存块号。如果有相同的主存块号,则表示Cache命中,将对应的Cache块号取出以对Cache进行访问;如果没有相同的主存块号,则表示不命中,然后在对主存进行访问并将主存中的块调入Cache中的同时,将主存块号和Cache块号写入标识Cache中,以改变地址映像关系。在调入新的数据块时,需根据替换策略确定将Cache中的哪一个数据块替换出去。现在是151页\一共有282页\编辑于星期二2023/4/25152⑴块冲突概率小,Cache命中率高全相联方法只有在Cache中的块全部装满后才会出现块冲突,所以块冲突概率小。⑵Cache利用率高。⑶由于需要相联存储器实现相联访问和实现替换策略的硬件,故硬件复杂,成本高。⑷相联访问影响访问速度。全相联映像方式的特点现在是152页\一共有282页\编辑于星期二2023/4/25153组相联映像是前两种方式的一种折衷方式。组相联映像方式是先将Cache块分为若干组,每组中有相同数量的Cache块,再将主存块以和Cache组中的相同块数进行分组。主存中的任何一组只能映像到Cache中的某一固定组,但同一组中的主存块可调入Cache中指定组内的任意块中。3.组相联映像方式现在是153页\一共有282页\编辑于星期二2023/4/25154主存Cache块号对应组00组11组22组33组40组51组62组73组80组91组102组113组0组0块0组…0组3块1组0块1组…1组3块2组0块2组…2组3块3组0块3组…3组3块现在是154页\一共有282页\编辑于星期二2023/4/25155将主存第i块映像到Cache的第k组,即:k=imodG(G为Cache的组数)即主存块号除以Cache组数同余的块被映射到在一组中。设主存有2n块,Cache有2m块,组数G=2g,则当用二进制数表示地址时,G实际上就是主存块地址i的低g位:g位

组号G主存块地址i组内块号(标识)n-g位n位现在是155页\一共有282页\编辑于星期二2023/4/25156组相联的地址变换方式在组相联映像方式下,同一组中的主存块可调入Cache中一个指定组内的任意块中。如果组的大小为1时就变成了直接映像;如果组的大小为整个Cache的尺寸时就变成了全相联映像。如果一个组里有k块,则这种组相联映像方式也称为k路组相联。现在是156页\一共有282页\编辑于星期二2023/4/25157在组相联映像中,组的个数一般为2的幂,主存地址和Cache地址的形式为:组内块号(标识)组号块内偏移量ng主存地址Cache地址m组号组内块号块内偏移量m-ggn-gngmm-ggn-gCache块号现在是157页\一共有282页\编辑于星期二2023/4/25158标识(tag)(n-g位)有效位(1位)Cache块01…2m-g-1………2m-10组2g-1组组相联映像下的标识Cache现在是158页\一共有282页\编辑于星期二2023/4/25159在访存操作时,根据访存地址中的组号,在块表中查找该组对应的若干项中是否有相应的主存标识。如果有且有效位为“1”,表示Cache命中,将在对应的Cache块中根据块内偏移地址对Cache中的相应单元进行访问;如果没有或有效位为“0”,表示不命中,对主存进行访问并将主存中的块按所属的组调入Cache组中合适的块中,同时将主存的组内块号写入标识Cache,以改变地址映像关系。在新的数据块调入时,还需确定将组内的哪一个数据块替换出去。现在是159页\一共有282页\编辑于星期二2023/4/25160例:某主存容量为64B,Cache容量为16B,Cache块的大小为4B,采用组相联映像方式,每组的大小为2块。主存为16块,Cache为4块,分为2组。主存与Cache地址:组内块号(标识)组号块内偏移量41主存地址Cache地址2组号组内块号块内偏移量11322现

温馨提示

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

最新文档

评论

0/150

提交评论