版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第4章存储器系统4.1存储器系统概述计算机硬件是由运算器、控制器、存储器、输入设备、输出设备五大部分组成的。但是需要特别指出的是,这里的存储器是指的主存储器,而不是辅助存储器。主存储器简称为主存,又称为内存。辅助存储器简称为辅存,又称为外存。如果以个人计算机(PC机)为例,主存储器(内存)主要是指内存条;辅助存储器(外存)是指硬盘、光盘、U盘等。由于主存储器的数据存取速度远远超过辅助存储器,所以计算机系统中所有的软件都必须在主存储器中运行。辅助存储器的主要作用是保存一些暂时不需要运行的软件和文件,以备随时调入主存中运行。计算机的存储管理软件将它与主存储器一起统一管理,作为主存储器的补充。4.1.1存储器分类
随着计算机技术的不断发展,存储器的种类越来越多,不同角度有不同的分类方式。1.按照在计算机中的作用来分按在计算机系统中的作用不同,存储器分为:主存储器和辅助存储器。两者一起共同构成计算机系统中的存储器系统。主存储器的主要特点是它可以和CPU直接交换数据,计算机的所有程序及相关的数据都必须在主存储器中运行。辅助存储器是主存储器的后援存储器,主要用于存放当前暂时不用的各种软件和文件,它不能与CPU直接交换数据,它的程序和数据需要先调入主存储器中然后由CPU运行和处理。主存储器和辅助存储器两者相比,主存储器速度快、容量小、每位价位高;辅助存储器速度慢、容量大、每位价格低。2.按存储介质来分存储器是具有“记忆”功能的设备,它采用具有两种稳定状态的物理器件来存储信息,这些器件也称为记忆元件。计算机中的程序和数据都是由二进制“0”、“1”两个数字来描述的,所以从理论上讲,只要能形成两种稳定状态分别表示为“0”和“1”的物质,都可以用来做存储介质。目前,在计算机系统中采用最多的三种做存储器存储介质的物质是:半导体材料、磁材料和光盘等。(1)半导体存储器二极管、三极管都是采用半导体材料制作的电子元件,而且二极管和三极管是组成各种数字电路最基本电子元件,其中也包括用来“记忆”数据的存储器电路。半导体存储器就是指采用半导体数字电路组成“记忆”部件的存储器。半导体存储器又可以按照其工艺和材料不同,分为双极型(TTL)和MOS型半导体存储器两种。双极型(TTL)半导体存储器速度快,MOS半导体存储器集成度高,制造简单,成本低、功耗小。常见的半导体存储器有:内存条、U盘、固态硬盘等。(2)磁表面存储器磁表面存储器是在金属或塑料基体的表面上涂一层磁性材料作为存储介质。磁表面存储器具有非易失性的特点,而且磁材料价格低,所以磁表面存储器价格相对半导体存储器便宜。它的工作原理是磁层随着载磁体高速运转,用磁头在磁层上进行读取数据或写入数据,故称为磁表面存储器。常见的磁表面存储器有:硬盘、磁带。由于磁表面存储器的读、写数据的速度太慢,随着半导体存储器的价格下降,逐步有被淘汰的趋势。(3)光盘存储器用做光盘存储器的存储介质有:非磁性材料和磁性材料两种。前者用来做光盘的存储介质,后者构成磁光盘存储介质。光盘存储器是一种采用光存储技术存储信息的存储器,它采用聚焦激光束在盘式介质上非接触地记录高密度信息,以介质材料的光学性质(如反射率、偏振方向)的变化来表示所存储信息的“1”或“0”。它具有非易失性、可靠性高、耐用性好、容量大等特点,因而被称为半永久性存储器。光盘存储器的缺点是读、写速度慢。随着U盘技术的发展,U盘容量越来越大,加上计算机网络的快速发展,光盘在个人计算机中的应用慢慢被淘汰。3.按存取方式来分按照存取方式来分,可把存储器分为随机存储器、只读存储器、串行访问存储器。(1)随机存储器(RandomAccessMemory,RAM)RAM是一种可以读、写的半导体存储器,其特点可以随机存取任何一个存储单元的内容,而且存取时间与存储单元的物理位置无关。计算机系统中的主存都是采用这种随机存储器。由于存取信息的原理不同,RAM又分为静态RAM(以触发器电路寄存信息)和动态RAM(以电容充放电原理寄存信息)。RAM的优点是存取速度快,缺点是价格高。当电源关闭,RAM存储器电路里寄存的数据也就消失,重新打开电源后,RAM存储器内的数据就变成了一些随机数。(2)只读存储器(ReadOnlyMemory,ROM)只读存储器是能对其存储的数据读出,而不能在常规下对其内容重新写入的存储器。ROM通常用来存放固定不变的程序或数据。比如个人计算机(PC机)中的BIOS芯片,还有一些计算机系统中的固化操作系统芯片等。随着半导体技术的不断进步,推出了可以擦写的只读存储器(EPROM),这种可擦写的存储器必须在紫外线照射下对原数据进行擦除,要在专门的写入器上写入新数据。随着技术的发展出现了电可擦的只读存储器EEPROM,这种只读存储器的擦除可以用电来在线擦除和写入,只是写入速度比RAM慢很多。最新又出现了闪速存储器(FlashMemory,闪存),它具有EEPROM的特点,但擦除和写入速度快得多。U盘采用的就是闪速存储器(FlashMemory,闪存)。它和传统硬盘相比优点是速度快得多,同时噪音小,缺点是价格相比传统硬盘高。同为半导体存储器的RAM和ROM,有各自的优点和缺点。从读、写速度来说,RAM存储器比ROM存储器要快得多,但RAM存储器价格也高得多。ROM存储器的优点是存储在ROM中的数据即使电源关闭,不会丢失数据。RAM存储器中的数据会随着计算机关机而消失,重新开机后,RAM存储器中的数据变成了随机数。(3)串行访问存储器对存储单元进行读、写操作时必须按照其物理位置的先后顺序寻找地址才能操作的存储器称为串行访问存储器。这种存储器对不同位置的信息读、写速度是不同的。例如磁带存储器,不论信息在磁带的哪个位置,都必须从其介质的始端开始按照顺序寻找,故称为顺序存取存储器。现在顺序存取存储器已经很少使用了。4.1.2存储器的层次结构衡量存储器的性能有三个主要指标:存储速度、容量和价格。除了容量外,还有存储速度和价格指标。什么是存储速度呢?我们常常用存储器的存取时间来衡量一个存储器的存储速度,存取时间是指从存储器的地址总线给出存储单元的地址到它的数据总线出现数据的时间,目前半导体RAM存储器的存取时间已经能达到ns(纳秒)级水平。在性能指标中,价格是指存储器每一个二进制位的价格(简称位价),比如说某存储器的容量是1KB,市场价格是80元,则该存储器的每位价格为80÷(1024×8)元。很显然,我们希望计算机系统中都是大容量、高速度、低价格的存储器,但实际上是很难兼顾,往往是速度快的存储器,价格高。4.1.2存储器的层次结构作为工程师在设计一个计算机系统时,需要在存储容量、存储速度和价格上做综合考虑,追求一个高的性价比。计算机中的存储器系统采取层次结构的方式就是要尽可能解决好存储器的速度、容量、价格三个指标的综合平衡,从而使计算机系统获得一个最佳的性价比。对一个计算机系统来说,它的核心是CPU,CPU中设计有各种寄存器来存储指令和数据,作为CPU中的寄存器它直接参与运算器ALU的运算。由于CPU是采用最好的工艺来制造,所以CPU内部的寄存器速度最快,但由于价格高,CPU中就不可能设计很多的寄存器。计算机需要运行的程序往往很大,同时需要处理的数据也很多,光靠CPU中的寄存器是不够的,所以除开CPU中的寄存器外,还需要有其他存储器器件来运行程序和存储数据。这些存储器器件就构成了计算机的存储器系统。计算机中存储器系统采取层次结构的方式来管理和使用计算机中各类存储器,最早是采用的是两级架构的存储器系统。如图所示。这个两级架构的存储器系统把存储器分为:主存储器(主存)和辅助存储器(辅存)二级。1.二级存储器系统从计算机的工作原理我们知道,主存储器和CPU一起构成计算机的主机,在计算机的主机中,主存储器和CPU直接交换指令和数据,所以主存储器必须尽量选择存储速度快的存储器器件,尽管价格比较高。主存储器和辅助存储器两者相比,主存储器速度快、容量小、每位价位高;辅助存储器速度慢、容量大、每位价格低。这样,通过层次结构的方式,采取主存储器和辅助存储器两级存储器架构可以较好地解决存储器容量、速度、价格的矛盾,使得计算机获得一个良好的性价比。今天的计算机都有主存和辅存两级存储器系统,比如在个人计算机(PC机)设计中,主存储器(内存)采用价格高、速度快的RAM存储器,它的容量较小,一般为8GB;辅助存储器(外存)采用价格便宜、速度较慢的磁盘(机械硬盘)或ROM存储器(固态硬盘),容量比内存大得多的,常常达到1TB(1024GB)。2.三级存储器系统在现代计算机技术发展过程中,为了追求更好的性价比,出现了缓冲存储器Cache技术,即在CPU和主存(内存)之间再增加一级缓冲存储器(简称缓存)Cache。缓冲存储器Cache是一种比主存容量小、价格高但速度更快的存储器。今天计算机系统的缓冲存储器Cache都集成在CPU芯片内。如图所示。现代计算机系统中的存储器系统,其基本架构由两级存储器系统变成了三级存储器系统,即缓冲存储器Cache、主存储器和辅助存储器。这个三级存储器系统又构成两个存储层次:其中一个层次是:缓存Cache—主存储器;另外一个层次是:主存储器—辅助存储器。新增加的缓存Cache—主存储器这个层次主要解决CPU和主存储器速度不匹配的问题。缓存和主存之间的数据调动是由硬件自动完成的,程序员在编程时是不需要考虑它的存在,也就是说高速缓存Cache对程序员是透明的。主存储器—辅助存储器这一层次,从整体分析,其速度接近于主存,容量接近于辅存,平均位价接近于辅存,这样解决了速度、容量、成本三者之间的矛盾。现代计算机系统几乎都采用了具有这样的两个存储层次,构成了缓存Cache、主存储器、辅助存储器三级存储器系统。4.2主存储器4.2.1概述主存储器简称主存,又叫内存,是计算机硬件系统中除开CPU以外最重要的部件,它是由半导体材料的二极管、三极管电路组成。在程序执行过程中,CPU从主存储器中取得指令,其中指令中要用到的数据也要通过访问主存储器来取得,而且运算结果最后也是存入主存储器中,计算机每执行完成一条指令,至少要访问一次主存。各种输入、输出设备的数据不是直接和CPU交换数据,而是先和主存储器交换数据,再由主存储器交给CPU处理。因此,主存储器是计算机运行过程中数据的交换枢纽,从这个意义上说,现代计算机是以主存储器为中心。主存储器的工作原理首先,CPU或其他设备对主存储器的操作只有两种:读(Read)操作(简称“读”)和写(Write)操作(简称“写”)。读操作是指从存储器的存储单元中读出数据,但不破坏存储单元中原有的内容;写操作是指把数据写入(存入)存储器中,新写入的数据将覆盖存储单元中原有的数据。我们把对主存储器进行一次“读”或“写”的操作称为进行一次存储器访问,简称为访存。所谓CPU或其他设备和主存储器交换数据其实就是对主存储器进行“读”或者“写”操作。
为了实现CPU或其他设备对主存储器数据的读、写操作,主存储器不能只是有存储数据的电路部件,还必须要有相应的读、写控制电路部件,才能完成对存储器数据的存取。(1)读操作注意,“读”操作是非破坏性操作,它不改变原存储单元中的数据,也就是说,在这个例子里执行完“读”操作后,02号存储单元中的数据还是10000100。(2)写操作写操作是指把数据写入(存入)存储器中,新写入的数据将覆盖存储单元中原有的数据。主存储器芯片内部框图从图中可以看到主存储器集成电路芯片中有地址寄存器(MAR)、译码器、驱动器、读/写控制电路、数据寄存器(MDR)等。CPU和主存储器连接图现代计算机技术已经把地址寄存器(MAR)和数据寄存器(MDR)制作在CPU芯片中。存储器芯片和CPU芯片通过地址总线、数据总线、控制总线连接,如图所示。主存的技术指标主存储器的主要技术指标是存储字长、存储容量和存储速度。(1)存储字长主存储器是由若干个存储单元组成的,每个存储单元能存储的二进制数位的长度称为存储字长。存储字长一般情况下采取8位(1个字节),但可以是16位(2个字节)、32位(4个字节)、64位(8个字节)等等。(2)存储容量存储容量是指主存储器能存放二进制数据的总位数。存储容量的计算公式如下:存储容量=存储单元个数×每个存储单元存储的二进制数位对于一个计算机系统,如果说它的主存储器有多大存储容量,一般是用字节总数来表示。存储容量=存储单元个数×每个存储单元存储的二进制数位/8比如说某台计算机的主存容量是128KB,表示它的主存储器能存放128×210个字节。大容量的存储器常用的单位有:千字节(KB)、兆字节(MB)、吉字节(GB)、太字节(TB)等表示。其换算关系为:1KB=210B=1024B1MB=220B=1024KB1GB=230B=1024MB1TB=240B=1024GB(3)存储速度由于计算机的主机是由CPU和主存组成,所以存储器的速度是计算机中最重要的指标之一。存储速度是由存取时间和存取周期来表示的。存取时间:指启动一次存储器操作到完成该操作所用的时间。具体说是从存储器从地址总线接收到地址开始到读出或写入数据为止所需的时间。存取周期:指连续两次独立的存储器操作(如连续两次读操作)所需的最小时间间隔。存取周期通常略大于存取时间。半导体存储芯片采用超大规模集成电路制造工艺,在一个芯片内集成具有记忆功能的存储矩阵(存储体)、译码电路、驱动电路和读/写电路等,如图所示。地址线是单向输入的,其位数决定存储矩阵(存储体)中存储单元的地址编号。数据线是双向的,其位数和存储矩阵(存储体)中每个存储单元存储的数据位数相对应。4.2.2半导体存储器芯片
读/写控制线的作用是:控制存储器芯片进行读操作还是写操作。
有的存储器芯片的读/写控制线共用一根,比如低电平为写控制,高电平就为读控制。也有些存储器芯片读/写控制线分用两根,一根为读控制,一根为写控制。片选控制信号的作用是:当片选信号有效时,这个存储器芯片就正常工作;当片选信号无效时,这个存储器芯片就不工作。
有的存储器芯片使用1根线做片选信号,也有些存储器芯片采用2根线做片选信号。通过地址线和数据线计算存储器芯片的存储容量。
例如:某个存储芯片有地址线10根(也就是有10个地址引脚),有数据线4根(也就是有4个数据脚),那么这个存储芯片的容量多大呢?地址线10根,说明它用10位二进制位来做存储单元的地址编号,那么它共有210=1024个存储单元。同时它有数据线4根,说明它的每个存储单元能保存4位二进制位,所以这个存储芯片的容量为:210×4=1K×4位(bit)。下面介绍两种型号的静态随机存储器(SRAM)芯片。一、Intel公司生产的6116芯片6116引脚功能如图所示二、Intel公司生产的6264芯片6264引脚功能如图所示例题4.1已知某静态随机存储器芯片的地址线为18根,数据线为2根,请问该存储器芯片的容量为多少?解:地址线为18根说明该芯片采用18位二进制位来做存储单元的地址编号,共有218个存储单元。数据线为2根,则说明该存储器芯片每个存储单元存储数据位数为2位。所以该存储器芯片的容量为:218×2=28×210×2=256K×2位(bit)=512K位。例题4.2
设计一个计算机系统,其中主存储器(内存)容量是512KB,现在采用Intel公司的6264存储器芯片来组成,共需要多少片?解:从前面所介绍,我们可以知道Intel6264存储器芯片容量为:8K×8bit(8KB)。如果要设计一个容量为512KB的主存储器,需要的Intel6264存储器芯片数量为:512KB÷8KB=64片。4.2.3随机存储器RAM随机存储器RAM的存储速度很快,常常用来做主存储器。随机存储器RAM根据不同的电路结构分为两种类型:静态随机存储器(SRAM)和动态随机存储器(DRAM),下面分别介绍如下。1.静态随机存储器(Static
RAM,SRAM)在图中,T3、T4是负载管,T1、T2是工作管,T5、T6、T7、T8是是控制管。其中T7、T8是一列所共有,不在基本电路之中。所以我们称静态RAM为6管组成的存储元电路。由于静态RAM存储器是用双稳态触发器工作原理保存数据,所以如果不掉电,则数据不会丢失,也不会变化。但电源掉电后,原存储的数据就会丢失,掉电后再恢复电源供电,存储器的基本单元电路(存储元)里的数据将不再是原来的数据,还是变成一些随机数据。2.动态随机存储器(Dynamic
RAM,DRAM)单管存储元电路如图所示。动态随机存储器(DRAM)特点是:都是依靠电容存储电荷的原理来寄存数据。若电容上存储有足够多的电荷表示
“1”,电容上无电荷就表示“0”。由于电容上的电荷一般只能维持1~2ms。因此,即使电源不掉电,数据也会消失。为此,必须在数据消失之前对其所有存储元恢复一次原状态,这样做可以使得原来是“0”依然保持是“0”,原来是“1”依然保持是“1”。这个过程称为“再生”或
“刷新”。动态随机存储器(DRAM)必须要有刷新电路才能保证数据不变。3.动态随机存储器(DRAM)和静态随机存储器(SRAM)比较由于动态存储器RAM的基本单元电路(存储元)为1个MOS管,静态存储器RAM基本单元电路(存储元)为4~6个MOS管,所以同样大小的芯片,动态存储器DRAM的集成度远高于静态存储器SRAM。由于动态存储器DRAM的集成度比静态存储器SRAM高,容量大小一样的存储器芯片,动态存储器DRAM的功耗也远低于静态存储器SRAM。同理,容量大小一样的动态存储器DRAM的价格远低于静态存储器SRAM。动态存储器DRAM的缺点:由于采用电容存储电荷的原理,它从“0”改变为“1”有一个充电的过程,从“1”改变为“0”,有个放电的过程,所以它的存储速度比静态存储器SRAM要慢得多,同时,动态存储器DRAM需要设计再生(刷新)电路。目前,个人计算机(PC机)中的内存条都采用动态存储器DRAM,价格较低。高速缓存Cache则使用静态存储器SRAM,速度较快。4.2.5存储器与CPU的连接1.存储容量的扩展单片存储器芯片的容量总是有限的,在实际应用中,我们在设计一个计算机系统时候存储器的容量往往远远超过单片存储器芯片的容量,这样组成一个计算机系统的存储器需要用很多片存储器芯片组成。比如,我们要设计一个计算机系统的主存储器容量为512MB,而单片存储器芯片容量只有8MB,这样组成一个容量为512MB主存储器需要512/8=64片容量为8MB的存储器芯片。对于静态随机存储器(SRAM)芯片容量和芯片所拥有的地址线、数据线的数量关系一般是这样表示:比如说某个SRAM芯片的容量是1K×4bit,这个乘法表达式中的1K代表存储单元数,4bit代表每个存储单元中的数据位数。例题4.3已知某静态随机存储器(SRAM)芯片的容量为128K×2bit。请问有多少根地址线?多少根数据线?解:该芯片容量为128K×2bit,说明该芯片共有128K个存储单元。128K=128×1024=27×210=217,它的指数项为17,所以该芯片共有17根地址线。2bit表示每个存储单元有2位数据位,所以该芯片有2根数据线。由于存储器芯片生产厂家不同、型号不同、内部结构不同、容量不同,由多片存储器芯片组成大容量存储器系统的方式也就不同,一般来说分为以下几种情况。(1)位扩展、(2)字扩展、(3)字、位扩展(1)位扩展位扩展是指单片存储器芯片的存储单元数和系统主存储器的存储单元数是一样的,但存储器芯片中每个存储单元内存储的数据位数不能满足系统要求。例如:使用容量是1K×4bit的存储器芯片,设计一个主存储器容量为1KB(1K×8bit)的计算机系统。(2)字扩展字扩展是指存储器芯片每个存储单元的位数能满足构成系统的要求,但存储单元的数量不够。用1K×8bit的存储器芯片来组成一个容量为2KB(2K×8bit)的存储器系统。(3)字、位扩展字位扩展是指存储器芯片的存储单元数量和每个存储单元内存储数据的位数都不能满足所设计的存储器系统的要求采用1KB(1K×4bit)的存储器芯片组成4KB(4K×8bit)的存储器系统。.存储器和CPU的连接(1)地址线的连接存储器芯片的容量不同,其地址线数也不同,CPU的地址线数往往比存储器芯片的地址线多。通常总是将CPU地址线的低位与存储芯片的地址线相连。CPU的地址线高位用在存储器芯片扩展时使用,或做片选等用。
(2)数据线的连接同样,CPU的数据线和存储器芯片的数据线也不一定相同。此时,必须对存储器芯片进行位扩展,使得其数据线的位数和CPU的数据线位数相等。(3)读/写控制线的连接CPU的读/写控制线可以一般可以和存储器芯片的读/写控制线相连,也有些CPU的读/写信号是分开的,这是需要和存储器芯片的相应端相连接,即CPU读信号和写信号分别和存储器芯片的读信号、写信号相连接。(4)片选信号的连接存储器芯片的片选信号连接是CPU和存储器芯片能否达到设计要求和能否正确工作的关键所在。片选信号主要和地址线有关,CPU的地址线一般是多于存储器芯片的地址线的,除了低位地址线互相连接外,CPU多余的高位地址线必须和译码器、各种门电路以及相关的控制信号组合起来产生片选有效信号。(5)合理选择存储器芯片作为工程师,在设计一个存储器系统时有各种类型和型号的存储器芯片可选,要根据具体使用的情况来决定。如果存储器系统存储的是监控程序、系统标准子程序等需要固化在芯片内的程序和数据,可选用只读存储器ROM。如果是为用户编程和运行程序而设计的存储器空间,则选用随机存储器RAM。在选用存储器芯片的型号方面,要考虑CPU和存储器芯片的连线简单方便,尽量不要采取字位扩展等连线复杂的设计。4.3高速缓冲存储器4.3.1概述如何解决CPU速度和主存速度不匹配的问题呢?第一,在基本总线周期中插入若干个等待周期,如第3章“系统总线”中介绍的“半同步通信”方式。第二,全部采用存取速度较快的SRAM(静态随机存储器)。第三,在慢速的DRAM和高速的CPU之间插入一级速度较快、容量较小的SRAM,起到缓冲作用,使得CPU既可以较快的速度存取SRAM中的数据,又不至于增加较多成本,这种技术就是高速缓存(Cache)技术。今天的个人计算机(PC机)普遍采取这种方法来提高存储器系统的性能,使得系统在成本增加不多的情况下,性能显著提高。4.3.2Cache的工作原理Cache的工作原理是基于程序访问的局部性原理。通过大量典型程序运行情况的分析表明,程序运行期间,在一个相对较短的时间里,由程序产生的主存访问地址往往集中在存储器的很小范围的地址空间内。这种在一定时间内CPU对局部地址范围的主存储器地址频繁访问,而对此范围外的地址则访问甚少的现象被称为程序访问的局部性工作原理。我们可以设想,如果把在一段时间内和一定地址范围中被频繁访问的指令和数据集合,成批从主存中读到一个能比主存更高速存取的小容量存储器中存放起来,供CPU在这段时间内随时使用,从而减少或不再去访问速度相对较慢的主存,就可以极大的加快程序运行的速度,这就是高速缓存Cache的设计思想。高速缓存Cache的工作原理说明图在这个高速缓存Cache的工作原理说明图中,假设主存储器的容量是1MB,主存的存取时间为80ns,高速缓存Cache的容量是8KB,高速缓存Cache的存取时间为6ns。我们先把主存和Cache的容量分成块。为了说明方便,我们假定每块为1KB,这样Cache容量为8KB共分成8块(块号为:0块到7块),主存的容量为1MB共分成1024块(块号为:0块到1023块),同时假定每条指令长度为一个字节。计算机启动时,程序计数器(PC)的值为0,CPU会首先指向Cache的0号地址读取第一条指令,此时由于第一条指令在主存中,不在Cache中,所以没找到第一条指令,称为“不命中”。例题4.4
假设Cache容量为16KB,每个字块32个字,每个字16位,请问此Cache可容纳多少个字块?解:首先求出每1个字块占用多少个字节。题目中每个字16位,16位=16/8=2个字节=2B,。每个字块32个字,则每个字块所占字节数=32×2=64个字节=64B。在一个程序执行期间,设Nc为访问Cache的总命中次数,Nm为访问主存的总次数,则命中率h为:h=Nc/(Nc+Nm)设tc为命中时的Cache访问时间,tm为未命中时的主存访问时间,1-h表示未命中率,则Cache—主存系统的平均访问时间ta为:ta=htc+(1-h)tm。例题4.5
假设CPU执行某段程序时,共访问Cache命中2000次,访问主存40次。已知Cache的存取周期为50ns,主存的存取周期为200ns。求Cache—主存储器的命中率h和平均访问时间ta为多少?解:(1)Cache的命中率h为h=2000/(2000+40)=0.98(2)Cache-主存系统的平均访问时间为ta=50ns×0.98+200ns×(1-0.98)=53ns4.3.3Cache与主存地址映射主存储器地址映射到Cache地址的方式称为:Cache—主存地址映射。Cache—主存地址映射基本方式有三种,分别为:直接映射、全相联映射、组相联映射。1.直接映射直接映射方式下的主存块和高速缓存Cache块对应的映射关系式为:i=jmodC(mod为取模运算,又称为求余数运算)其中
i为高速缓存Cache块号,j为主存块号,C为Cache中缓存块数。如前图所示,Cache中的缓存块数为8块,所以C=8。例如:主存块号为j=9,根据i=jmodC,得出对应的缓存块号为:i=9mod8=1也就说,主存的第9块,一定是放在高速缓存Cache的第1块。在直接映射方式中,主存块号和缓存块号之间是固定的一一对应的关系。如果C=8,则主存中的块号为:0、8、16、32、……
一定对应缓存块号为:0块;主存中的块号为:1、9、17、33、……
一定对应缓存块号为:1块;主存中的块号为:2、10、18、34、……一定对应缓存块号为:2块;直接映射方式的优点:算法容易,实现这种算法的控制电路简单。缺点:不够灵活。因为主存中的每一块都固定映射到缓存的某一块,即使高速缓存Cache中还有其它空余块,也不能利用,使得缓存空间得不到充分使用。2.全相联映射全相联映射方式可以允许主存中每一字块映射到缓存的任意字块,没有固定的算法关系。优点:增加了灵活性,提高了命中率。缺点:实现全相联映射的电路更为复杂,它需要不断判断高速缓存Cache中是否有空块?如果Cache中没有空块,那替换哪一个Cache字块更好?常用的替换策略有下面三种:(1)先进先出算法(First-In-First-Out,FIFO)(2)最近最少使用算法(LeastRecentlyUsed,LRU)(3)随机法3.组相联映射组相联映射方式是直接
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年CPA会计全真模拟试题(含答案解析)
- 介入手术室护理文书质控问题原因及整改措施
- 2026年一级建造师《建设工程经济》练习题及答案
- 2025年12345热线诉求研判人员业务考核题库完整
- 甜品店菜单更新与优化手册
- 电信服务规范与客户投诉处理手册
- 锂电池隔膜孔隙率调控拉伸工艺
- 2025-2026年考研物理力学与热学专项训练题库
- 2025-2026年医学考研外科学考点巩固习题
- 2025-2026年电子商务师考试备考习题
- 2026年江苏省徐州市中考语文试卷
- ISO9001-2026 DIS标准条款解读-内审员培训课件
- 2026年秋季大学开学第一课 新起点新征程新篇章
- (正式版)DB63∕T 2571-2026 森林资源管护网格划分及编码规范
- 2026年乡村振兴练习题附答案
- 家庭健康管理方案指南手册
- 中考英语阅卷老师超喜欢的写作万能高分句型
- 中医眩晕诊疗指南2025版
- 2026年医疗质量安全管控全攻略:新政解读与实践路径
- 2026年及未来5年市场数据中国猪油行业发展潜力预测及投资战略、数据研究报告
- 公司付款流程及审批制度
评论
0/150
提交评论