文档库 最新最全的文档下载
当前位置:文档库 › Cache的工作原理

Cache的工作原理

Cache的工作原理
Cache的工作原理

前言

虽然CPU主频的提升会带动系统性能的改善,但系统性能的提高不仅仅取决于CPU,还与系统架构、指令结构、信息在各个部件之间的传送速度及存储部件的存取速度等因素有关,特别是与CPU/内存之间的存取速度有关。

若CPU工作速度较高,但内存存取速度相对较低,则造成CPU等待,降低处理速度,浪费CPU的能力。

如500MHz的PⅢ,一次指令执行时间为2ns,与其相配的内存(SDRAM)存取时间为10ns,比前者慢5倍,CPU和PC的性能怎么发挥出来?

如何减少CPU与内存之间的速度差异?有4种办法:

一种是在基本总线周期中插入等待,但这样会浪费CPU的能力。

另一种方法是采用存取时间较快的SRAM作存储器,这样虽然解决了CPU与存储器间速度不匹配的问题,但却大幅提升了系统成本。

第3种方法是在慢速的DRAM和快速CPU之间插入一速度较快、容量较小的SRAM,起到缓冲作用;使CPU既可以以较快速度存取SRAM中的数据,又不使系统成本上升过高,这就是Cache法。

还有一种方法,采用新型存储器。

目前,一般采用第3种方法。它是PC系统在不大增加成本的前提下,使性能提升的一个非常有效的技术。

本文简介了Cache的概念、原理、结构设计以及在PC及CPU中的实现。

Cache的工作原理

Cache的工作原理是基于程序访问的局部性。

对大量典型程序运行情况的分析结果表明,在一个较短的时间间隔内,由程序产生的地址往往集中在存储器逻辑地址空间的很小范围内。指令地址的分布本来

就是连续的,再加上循环程序段和子程序段要重复执行多次。因此,对这些地址的访问就自然地具有时间上集中分布的倾向。

数据分布的这种集中倾向不如指令明显,但对数组的存储和访问以及工作单元的选择都可以使存储器地址相对集中。这种对局部范围的存储器地址频繁访问,而对此范围以外的地址则访问甚少的现象,就称为程序访问的局部性。

根据程序的局部性原理,可以在主存和CPU通用寄存器之间设置一个高速的容量相对较小的存储器,把正在执行的指令地址附近的一部分指令或数据从主存调入这个存储器,供CPU在一段时间内使用。这对提高程序的运行速度有很大的作用。这个介于主存和CPU之间的高速小容量存储器称作高速缓冲存储器(Cache)。

系统正是依据此原理,不断地将与当前指令集相关联的一个不太大的后继指令集从内存读到Cache,然后再与CPU高速传送,从而达到速度匹配。

CPU对存储器进行数据请求时,通常先访问Cache。由于局部性原理不能保证所请求的数据百分之百地在Cache中,这里便存在一个命中率。即CPU在任一时刻从Cache中可靠获取数据的几率。

命中率越高,正确获取数据的可靠性就越大。一般来说,Cache的存储容量比主存的容量小得多,但不能太小,太小会使命中率太低;也没有必要过大,过大不仅会增加成本,而且当容量超过一定值后,命中率随容量的增加将不会有明显地增长。

只要Cache的空间与主存空间在一定范围内保持适当比例的映射关系,Cache 的命中率还是相当高的。

一般规定Cache与内存的空间比为4:1000,即128kB Cache可映射32MB内存;256kB Cache可映射64MB内存。在这种情况下,命中率都在90%以上。至于没有命中的数据,CPU只好直接从内存获取。获取的同时,也把它拷进Cache,以备下次访问。

Cache的基本结构

Cache通常由相联存储器实现。相联存储器的每一个存储块都具有额外的存储信息,称为标签(Tag)。当访问相联存储器时,将地址和每一个标签同时进行比较,从而对标签相同的存储块进行访问。Cache的3种基本结构如下:

全相联Cache

在全相联Cache中,存储的块与块之间,以及存储顺序或保存的存储器地址之间没有直接的关系。程序可以访问很多的子程序、堆栈和段,而它们是位于主存储器的不同部位上。

因此,Cache保存着很多互不相关的数据块,Cache必须对每个块和块自身的地址加以存储。当请求数据时,Cache控制器要把请求地址同所有地址加以比较,进行确认。

这种Cache结构的主要优点是,它能够在给定的时间内去存储主存器中的不同的块,命中率高;缺点是每一次请求数据同Cache中的地址进行比较需要相当的时间,速度较慢。

直接映像Cache

直接映像Cache不同于全相联Cache,地址仅需比较一次。

在直接映像Cache中,由于每个主存储器的块在Cache中仅存在一个位置,因而把地址的比较次数减少为一次。其做法是,为Cache中的每个块位置分配一个索引字段,用Tag字段区分存放在Cache位置上的不同的块。

单路直接映像把主存储器分成若干页,主存储器的每一页与Cache存储器的大小相同,匹配的主存储器的偏移量可以直接映像为Cache偏移量。Cache的Tag 存储器(偏移量)保存着主存储器的页地址(页号)。

以上可以看出,直接映像Cache优于全相联Cache,能进行快速查找,其缺点是当主存储器的组之间做频繁调用时,Cache控制器必须做多次转换。

组相联Cache

组相联Cache是介于全相联Cache和直接映像Cache之间的一种结构。这种类型的Cache使用了几组直接映像的块,对于某一个给定的索引号,可以允许有几个块位置,因而可以增加命中率和系统效率。

Cache与DRAM存取的一致性

在CPU与主存之间增加了Cache之后,便存在数据在CPU和Cache及主存之间如何存取的问题。读写各有2种方式。

贯穿读出式(Look Through)

该方式将Cache隔在CPU与主存之间,CPU对主存的所有数据请求都首先送到Cache,由Cache自行在自身查找。如果命中,则切断CPU对主存的请求,并将数据送出;不命中,则将数据请求传给主存。

该方法的优点是降低了CPU对主存的请求次数,缺点是延迟了CPU对主存的访问时间。

旁路读出式(Look Aside)

在这种方式中,CPU发出数据请求时,并不是单通道地穿过Cache,而是向Cache 和主存同时发出请求。由于Cache速度更快,如果命中,则Cache在将数据回送给CPU的同时,还来得及中断CPU对主存的请求;不命中,则Cache不做任何动作,由CPU直接访问主存。

它的优点是没有时间延迟,缺点是每次CPU对主存的访问都存在,这样,就占用了一部分总线时间。

写穿式(Write Through)

任一从CPU发出的写信号送到Cache的同时,也写入主存,以保证主存的数据能同步地更新。

它的优点是操作简单,但由于主存的慢速,降低了系统的写速度并占用了总线的时间。

回写式(Copy Back)

为了克服贯穿式中每次数据写入时都要访问主存,从而导致系统写速度降低并占用总线时间的弊病,尽量减少对主存的访问次数,又有了回写式。

它是这样工作的:数据一般只写到Cache,这样有可能出现Cache中的数据得到更新而主存中的数据不变(数据陈旧)的情况。但此时可在Cache 中设一标志地址及数据陈旧的信息,只有当Cache中的数据被再次更改时,才将原更新的数据写入主存相应的单元中,然后再接受再次更新的数据。这样保证了Cache和主存中的数据不致产生冲突。

Cache的分级体系设计

微处理器性能由如下几种因素估算:

性能=k(fⅹ1/CPI-(1-H)ⅹN)

式中:k为比例常数,f为工作频率,CPI为执行每条指令需要的周期数,H 为Cache的命中率,N为存储周期数。

虽然,为了提高处理器的性能,应提高工作频率,减少执行每条指令需要的周期数,提高Cache的命中率。同时分发多条指令和采用乱序控制,可以减少CPI 值;采用转移预测和增加Cache容量,可以提高H值。为了减少存储周期数N,可采用高速的总线接口和不分块的Cache方案。

以前提高处理器的性能,主要靠提高工作频率和提高指令级的并行度,今后则主要靠提高Cache的命中率。设计出无阻塞Cache分级结构。

Cache分级结构的主要优势在于,对于一个典型的一级缓存系统的80%的内存申请都发生在CPU内部,只有20%的内存申请是与外部内存打交道。而这20%的外部内存申请中的80%又与二级缓存打交道。因此,只有4%的内存申请定向到DRAM中。

Cache分级结构的不足在于高速缓存组数目受限,需要占用线路板空间和一些支持逻辑电路,会使成本增加。综合比较结果还是采用分级Cache。

L1 Cache的设计有在片一级分离和统一设计两种方案。

Intel、AMD、原DEC等公司将L1 Cache设计成指令Cache与数据Cache分离型。因为这种双路高速缓存结构减少了争用高速缓存所造成的冲突,改进了处理器效能,以便数据访问和指令调用在同一时钟周期内进行。

但是,仅依靠增加在片一级Cache的容量,并不能使微处理器性能随之成正比例地提高,还需设置二级Cache。

在L1 Cache结构方面,一般采用回写式静态随机存储器(SRAM)。目前,L1 Cache 容量有加大的趋势。

L2 Cache的设计分芯片内置和外置两种设计。

如AMD K6-3内置的256kB L2 Cache与CPU同步工作。外置L2 Cache,一般都要使二级Cache与CPU实现紧密耦合,并且与在片一级Cache形成无阻塞阶层结构。同时还要采用分离的前台总线(外部I/O总线)和后台总线(二级Cache总线)模式。

显然,将来随着半导体集成工艺的提高,如果CPU与二级Cache集成在单芯片上,则CPU与二级Cache的耦合效果可能更佳。

由于L2 Cache内置,因此,还可以在原主板上再外置大容量缓存1MB~2MB,它被称为L3 Cache。

PC中的Cache技术的实现

PC中Cache的发展是以80386为界的。

结语

目前,PC系统的发展趋势之一是CPU主频越做越高,系统架构越做越先进,而主存DRAM的结构和存取时间改进较慢。因此,Cache技术愈显重要,在PC系统中Cache越做越大。广大用户已把Cache做为评价和选购PC系统的一个重要指标。本文小结了Cache的源脉。希望可以给广大用户一个较系统的参考。

速缓冲存储器Cache是位于CPU与内存之间的临时存储器,它的容量比内存小但交换速度快。

在Cache中的数据是内存中的一小部分,但这一小部分是短时间内CPU即将访问的,当CPU调用大量数据时,就可避开内存直接从Cache中调用,从而加快读取速度。由此可见,在CPU中加入Cache是一种高效的解决方案,这样整个内存储器(Cache+内存)就变成了既有Cache的高速度,又有内存的大容量的存储系统了。

Cache 对CPU的性能影响很大,主要是因为CPU的数据交换顺序和CPU与Cache间的带宽引起的。

高速缓存的工作原理

1、读取顺序

CPU要读取一个数据时,首先从Cache中查找,如果找到就立即读取并送给CPU 处理;如果没有找到,就用相对慢的速度从内存中读取并送给CPU处理,同时把这个数据所在的数据块调入Cache中,可以使得以后对整块数据的读取都从Cache中进行,不必再调用内存。

正是这样的读取机制使CPU读取Cache的命中率非常高(大多数CPU可达90%左右),也就是说CPU下一次要读取的数据90%都在Cache中,只有大约10%需要从内存读取。这大大节省了CPU直接读取内存的时间,也使CPU读取数据时基本无需等待。总的来说,CPU读取数据的顺序是先Cache后内存。

2、缓存分类

前面是把Cache作为一个整体来考虑的,现在要分类分析了。Intel从Pentium开始将Cache分开,通常分为一级高速缓存L1和二级高速缓存L2。

在以往的观念中,L1 Cache是集成在CPU中的,被称为片内Cache。在L1中还分数据Cache(I-Cache)和指令Cache(D-Cache)。它们分别用来存放数据和执行这些数据的指令,而且两个Cache可以同时被CPU访问,减少了争用Cache 所造成的冲突,提高了处理器效能。

在P4处理器中使用了一种先进的一级指令Cache——动态跟踪缓存。它直接和执行单元及动态跟踪引擎相连,通过动态跟踪引擎可以很快地找到所执行的指令,并且将指令的顺序存储在追踪缓存里,这样就减少了主执行循环的解码周期,提高了处理器的运算效率。

以前的L2 Cache没集成在CPU中,而在主板上或与CPU集成在同一块电路板上,因此也被称为片外Cache。但从PⅢ开始,由于工艺的提高L2 Cache被集成在CPU内核中,以相同于主频的速度工作,结束了L2 Cache与CPU大差距分频的历史,使L2 Cache与L1 Cache在性能上平等,得到更高的传输速度。

L2Cache只存储数据,因此不分数据Cache和指令Cache。在CPU核心不变化的情况下,增加L2 Cache的容量能使性能提升,同一核心的CPU高低端之分往往也是在L2 Cache上做手脚,可见L2 Cache的重要性。现在CPU的L1 Cache与L2 Cache惟一区别在于读取顺序。

3、读取命中率

CPU在Cache中找到有用的数据被称为命中,当Cache中没有CPU所需的数据时(这时称为未命中),CPU才访问内存。从理论上讲,在一颗拥有2级Cache 的CPU中,读取L1 Cache的命中率为80%。也就是说CPU从L1 Cache中找到的有用数据占数据总量的80%,剩下的20%从L2 Cache读取。由于不能准确预测将要执行的数据,读取L2的命中率也在80%左右(从L2读到有用的数据占总数据的16%)。那么还有的数据就不得不从内存调用,但这已经是一个相当小的比例了。在一些高端领域的CPU(像Intel的Itanium)中,我们常听到L3 Cache,它是为读取L2 Cache后未命中的数据设计的—种Cache,在拥有L3 Cache的CPU 中,只有约5%的数据需要从内存中调用,这进一步提高了CPU的效率。

为了保证CPU访问时有较高的命中率,Cache中的内容应该按一定的算法替换。一种较常用的算法是“最近最少使用算法”(LRU算法),它是将最近一段时间内最少被访问过的行淘汰出局。因此需要为每行设置一个计数器,LRU算法是把命中行的计数器清零,其他各行计数器加1。当需要替换时淘汰行计数器计数值最大的数据行出局。这是一种高效、科学的算法,其计数器清零过程可以把一些频繁调用后再不需要的数据淘汰出Cache,提高Cache的利用率。缓存技术的发展

总之,在传输速度有较大差异的设备间都可以利用Cache作为匹配来调节差距,或者说是这些设备的传输通道。在显示系统、硬盘和光驱,以及网络通讯中,都需要使用Cache技术。

分析影响cache命中率的因素

分析影响cache命中率的因素 摘要: 存储器是计算机的核心部件之一。由于CPU和主存在速度上的存在着巨大差异,现代计算机都在CPU和主存之间设置一个高速、小容量的缓冲存储器cache。而它完全是是由硬件实现,所以它不但对应用程序员透明,而且对系统程序员也是透明的。Cache对于提高整个计算机系统的性能有着重要的意义,几乎是一个不可缺少的部件。 关键字:cache容量;失效率;块大小;相联度;替换策略。 一、概述 存储器是计算机的核心部件之一。其性能直接关系到整个计算机系统性能的高低。如何以合理的价格,设计容量和速度都满足计算机系统要求的存储器系统,始终是计算机系统结构设计的中关键的问题之一。 计算机软件设计者和计算机用户对于存储器容量的需求是没有止境的,他们希望容量越大越好,而且要求速度快、价格低。仅用单一的存储器是很难达到这一需求目标的。较好的方法是采用存储层次,用多种存储器构成存储器的层次结构。 其中“cache-主存”和“主存-辅存”层次是常见的两种层次结构,几乎所有现代的计算机都同时具有这两种层次。我们都知道,程序在执行前,需先调入主存。在这里主要讨论的是“cache-主存”层次。 “cache-主存”是在为了弥补主存速度的不足,这个层次的工作一般来说,完全是由硬件实现,所以它不但对应用程序员透明,而且对系统程序员也是透明的。 如前所述,为了弥补CPU和主存在速度上的巨大差异,现代计算机都在CPU和主存之间设置一个高速、小容量的缓冲存储器cache。Cache对于提高整个计算机系统的性能有着重要的意义,几乎是一个不可缺少的部件。 Cache是按块进行管理的。Cache和主存均被分割成大小相同的块。信息以块为单位调入cache。相应的,CPU的访存地址被分割成两部分:块地址和块内位移。

计算机原理试题与答案

全国2004年4月高等教育自学考试 计算机原理试题 课程代码:02384 第一部分选择题(共25分) 一、单项选择题(本大题共25小题,每小题1分,共25分) 在每小题列出的四个选项中只有一个选项是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 1.计算机中一次处理的最大二进制位数即为() A.位B.字节 C.字长D.代码 2.下列算式中属于逻辑运算的是() A.1+1=2 B.1-1=0 C.1+1=10 D.1+1=1 3.下图所示的门电路,它的逻辑表达式是() A.F=CD AB B.F=ABCD C.F=AB+CD D.F=ABCD 4.八进制数中的1位对应于二进制数的() A.2位B.3位 C.4位D.5位 5.下列叙述正确的是() A.原码是表示无符号数的编码方法 B.对一个数据的原码的各位取反而且在末位再加1就可以得到这个数据的补码

C.定点数表示的是整数 D.二进制数据表示在计算机中容易实现 6.浮点数0.00100011B×2-1的规格化表示是() A.0.1000110B×2-11B B.0.0100011B×2-10B C.0.0100011B×20B D.0.1000110B×21B 7.两个定点数作补码加法运算,对相加后最高位出现进位1的处理是() A.判为溢出B.AC中不保留 C.寄存在AC中D.循环加到末位 8.运算器中通用寄存器的长度一般取() A.8位B.16位 C.32位D.等于计算机字长 9.目前在大多数微型机上广泛使用宽度为32/64位的高速总线是() A.ISA B.EISA C.PCI D.VESA 10.某计算机指令的操作码有8个二进位,这种计算机的指令系统中的指令条数至多为 ()A.8 B.64 C.128 D.256 11.间接访内指令LDA @Ad的指令周期包含CPU周期至少有() A.一个B.二个 C.三个D.四个 12.在程序中,可用转移指令实现跳过后续的3条指令继续执行。这种指令的寻址方式是() A.变址寻址方式B.相对寻址方式

CACHE的一些名词术语

CACHE的一些名词术语 Allocation 在CACHE中发现一个位置,并把新的cache数据存到这个位置的过程。这个处理过程可能包括evicting(驱逐)cache中已存在的数据,从而为新的数据腾出空间。 Associativity 指每个Set(集)里包含的line frames(行帧)数。也就是cache的way(路)数。 Capacity miss容量失效 因为cache的容量限制,导致不能包括一个程序的整个working set(工作集),从而造成cache失效。这是三个cache失效原因(容量、强制、冲突)之一。Clean干净 一个有效的cache行,它的内容没有被更高层内存或CPU修改写过,我们称这个cache行是“干净”的,显然相反状态是dirty(“脏”) Coherence一致性 如果读内存任意地址的数据返回的总是这个地址的数据最近的更新,我们说内存系统是一致的。存取指CPU和EDMA等的存取。 Compulsory miss强制失效 有时称为首次引用失效。强制失效是一种肯定发生的一种失效,因为数据事先从没有使用过也就没有机会被cache。但有些情况也被称为强制失效,尽管它们不是第一被引用的数据,比如对非写定位的cache进行同一位置的重复写,以及对一个不被cache内存区域的存取。这是三个cache失效原因(容量、强制、冲突)之一。 Conflict miss 冲突失效 由于Associativity的限制导致的而非容量限制造成的cache失效。 Direct-mapped cache直接映射cache 直接映射cache映射低层内存的每个地址到cache的一个单一位置。这样低层内存的多个地址可能被映射到cache中的同一位置上。它相当于1-way set-associative cache。 Dirty脏 对writeback回写cache,写到达多级存储结构的某一层,并更新这一层内容,但并不更新更低层的内存,这样,当一个cache行有效并包含更新后的数据,但却不更新下一更低层的内存,我们说这个cache是“脏”的,显然一个有效行的相反状态是“干净”。 DMA直接内存存取

计算机组成原理试题及答案

二、填空题 1 字符信息是符号数据,属于处理(非数值)领域的问题,国际上采用的字符系统是七单位的(ASCII)码。P23 2 按IEEE754标准,一个32位浮点数由符号位S(1位)、阶码E(8位)、尾数M(23位)三个域组成。其中阶码E的值等于指数的真值(e)加上一个固定的偏移值(127)。P17 3 双端口存储器和多模块交叉存储器属于并行存储器结构,其中前者采用(空间)并行技术,后者采用(时间)并行技术。P86 4 衡量总线性能的重要指标是(总线带宽),它定义为总线本身所能达到的最高传输速率,单位是(MB/s)。P185 5 在计算机术语中,将ALU控制器和()存储器合在一起称为()。 6 数的真值变成机器码可采用原码表示法,反码表示法,(补码)表示法,(移码)表示法。P19-P21 7 广泛使用的(SRAM)和(DRAM)都是半导体随机读写存储器。前者的速度比后者快,但集成度不如后者高。P67 8 反映主存速度指标的三个术语是存取时间、(存储周期)和(存储器带宽)。P67 9 形成指令地址的方法称为指令寻址,通常是(顺序)寻址,遇到转移指令时(跳跃)寻址。P112 10 CPU从(主存中)取出一条指令并执行这条指令的时间和称为(指令周期)。 11 定点32位字长的字,采用2的补码形式表示时,一个字所能表示

的整数范围是(-2的31次方到2的31次方减1 )。P20 12 IEEE754标准规定的64位浮点数格式中,符号位为1位,阶码为11位,尾数为52位,则它能表示的最大规格化正数为(+[1+(1-2 )]×2 )。 13 浮点加、减法运算的步骤是(0操作处理)、(比较阶码大小并完成对阶)、(尾数进行加或减运算)、(结果规格化并进行舍入处理)、(溢出处理)。P54 14 某计算机字长32位,其存储容量为64MB,若按字编址,它的存储系统的地址线至少需要(14)条。64×1024KB=2048KB(寻址范32围)=2048×8(化为字的形式)=214 15一个组相联映射的Cache,有128块,每组4块,主存共有16384块,每块64个字,则主存地址共(20)位,其中主存字块标记应为(9)位,组地址应为(5)位,Cache地址共(13)位。 16 CPU存取出一条指令并执行该指令的时间叫(指令周期),它通常包含若干个(CPU周期),而后者又包含若干个(时钟周期)。P131 17 计算机系统的层次结构从下至上可分为五级,即微程序设计级(或逻辑电路级)、一般机器级、操作系统级、(汇编语言)级、(高级语言)级。P13 18十进制数在计算机内有两种表示形式:(字符串)形式和(压缩的十进制数串)形式。前者主要用在非数值计算的应用领域,后者用于直接完成十进制数的算术运算。P19 19一个定点数由符号位和数值域两部分组成。按小数点位置不同,

cache性能分析实验报告

计算机系统结构实验报告 名称: Cache性能分析学院:信息工程 姓名:陈明 学号:S121055 专业:计算机系统结构年级:研一

实验目的 1.加深对Cache的基本概念、基本组织结构以及基本工作原理的理解; 2.了解Cache的容量、相联度、块大小对Cache性能的影响; 3.掌握降低Cache失效率的各种方法,以及这些方法对Cache性能提高的好处; 4.理解Cache失效的产生原因以及Cache的三种失效; 5.理解LRU与随机法的基本思想,及它们对Cache性能的影响; 实验平台 Vmware 虚拟机,redhat 9.0 linux 操作系统,SimpleScalar模拟器 实验步骤 1.运行SimpleScalar模拟器; 2.在基本配置情况下运行程序(请指明所选的测试程序),统计Cache总失效 次数、三种不同种类的失效次数; 3.改变Cache容量(*2,*4,*8,*64),运行程序(指明所选的测试程序), 统计各种失效的次数,并分析Cache容量对Cache性能的影响; 4.改变Cache的相联度(1路,2路,4路,8路,64路),运行程序(指明所 选的测试程序),统计各种失效的次数,并分析相联度对Cache性能的影响; 5.改变Cache块大小(*2,*4,*8,*64),运行程序(指明所选的测试程 序),统计各种失效的次数,并分析Cache块大小对Cache性能的影响; 6.分别采用LRU与随机法,在不同的Cache容量、不同的相联度下,运行程序 (指明所选的测试程序)统计Cache总失效次数,计算失效率。分析不同的替换算法对Cache性能的影响。 预备知识 1. SimpleScalar模拟器的相关知识。详见相关的文档。 2. 复习和掌握教材中相应的内容 (1)可以从三个方面改进Cache的性能:降低失效率、减少失效开销、减少Cache命中时间。 (2)按照产生失效的原因不同,可以把Cache失效分为三类: ①强制性失效(Compulsory miss)

计算机组成原理参考答案汇总

红色标记为找到了的参考答案,问答题比较全,绿色标记为个人做的,仅供参考!第一章计算机系统概述 1. 目前的计算机中,代码形式是______。 A.指令以二进制形式存放,数据以十进制形式存放 B.指令以十进制形式存放,数据以二进制形式存放 C.指令和数据都以二进制形式存放 D.指令和数据都以十进制形式存放 2. 完整的计算机系统应包括______。 A. 运算器、存储器、控制器 B. 外部设备和主机 C. 主机和实用程序 D. 配套的硬件设备和软件系统 3. 目前我们所说的个人台式商用机属于______。 A.巨型机 B.中型机 C.小型机 D.微型机 4. Intel80486是32位微处理器,Pentium是______位微处理器。 A.16B.32C.48D.64 5. 下列______属于应用软件。 A. 操作系统 B. 编译系统 C. 连接程序 D.文本处理 6. 目前的计算机,从原理上讲______。 A.指令以二进制形式存放,数据以十进制形式存放 B.指令以十进制形式存放,数据以二进制形式存放 C.指令和数据都以二进制形式存放 D.指令和数据都以十进制形式存放 7. 计算机问世至今,新型机器不断推陈出新,不管怎样更新,依然保有“存储程序”的概念,最早提出这种概念的是______。 A.巴贝奇 B.冯. 诺依曼 C.帕斯卡 D.贝尔 8.通常划分计算机发展时代是以()为标准 A.所用的电子器件 B.运算速度 C.计算机结构 D.所有语言 9.到目前为止,计算机中所有的信息任以二进制方式表示的理由是() A.节约原件 B.运算速度快 C.由物理器件的性能决定 D.信息处理方便 10.冯.诺依曼计算机中指令和数据均以二进制形式存放在存储器中,CPU区分它们的依据是() A.指令操作码的译码结果 B.指令和数据的寻址方式 C.指令周期的不同阶段 D.指令和数据所在的存储单元 11.计算机系统层次结构通常分为微程序机器层、机器语言层、操作系统层、汇编语言机器层和高级语言机器层。层次之间的依存关系为() A.上下层都无关 B.上一层实现对下一层的功能扩展,而下一层与上一层无关 C.上一层实现对下一层的功能扩展,而下一层是实现上一层的基础

cache性能分析报告

《计算机系统结构课内实验》 实验报告

一、实验目的及要求 1.加深对Cache的基本概念、基本组织结构以及基本工作原理的理 解; 2.了解Cache的容量、相联度、块大小对Cache性能的影响; 3.掌握降低Cache失效率的各种方法,以及这些方法对Cache性能 提高的好处; 4.理解Cache失效的产生原因以及Cache的三种失效; 5.理解LRU与随机法的基本思想,及它们对Cache性能的影响; 二、实验环境 Vmware 虚拟机,redhat 9.0 linux 操作系统,SimpleScalar模拟器 三、实验内容 1.运行SimpleScalar模拟器; 2.在基本配置情况下运行程序(请指明所选的测试程序),统计 Cache总失效次数、三种不同种类的失效次数; 3.改变Cache容量(*2,*4,*8,*64),运行程序(指明所选的 测试程序),统计各种失效的次数,并分析Cache容量对Cach e性能的影响; 4.改变Cache的相联度(1路,2路,4路,8路,64路),运行 程序(指明所选的测试程序),统计各种失效的次数,并分析相联度对Cache性能的影响; 5.改变Cache块大小(*2,*4,*8,*64),运行程序(指明所选 的测试程序),统计各种失效的次数,并分析Cache块大小对Cache性能的影响;

6.分别采用LRU与随机法,在不同的Cache容量、不同的相联度 下,运行程序(指明所选的测试程序)统计Cache总失效次数,计算失效率。分析不同的替换算法对Cache性能的影响。 四、实验步骤 1、关于simplescalar的简要说明 SimpleScalar包括多个仿真器:sim-fast ,sim-safe,sim-cache,sim-cheetah,sim-pro和sim-outorder。 本次实验使用的是sim-cache,下面说明一下sim-cache。sim-cache:在这个仿真中加入了cache,用户可以对cache及TLB 进行设置,支持两级的cache和一级的TLB,第一级cache和TLB 均分为数据和指令两部分。(摘自百度百科) 下面简要说明一下有关cache的信息: 一般来说,Cache的结构参数主要包括以下几个方面:容量、块大小、相联度、替换算法等。在SimpleScalar模拟器中,采用了两级Cache结构,同时数据和指令Cache分开。SimpleScalar的Cache参数配置命令为::::: :Cache的名称,其中: dl1:一级数据Cache; dl2:二级数据Cache; il1:一级指令Cache; il2:二级指令Cache;

计算机组成原理试题及答案

《计算机组成原理》试题 一、(共30分) 1.(10分) (1)将十进制数+107/128化成二进制数、八进制数和十六进制数(3分) (2)请回答什么是二--十进制编码?什么是有权码、什么是无权码、各举一个你熟悉的有权码和无权码的例子?(7分) 2.已知X=0.1101,Y=-0.0101,用原码一位乘法计算X*Y=?要求写出计算过程。(10分) 3.说明海明码能实现检错纠错的基本原理?为什么能发现并改正一位错、也能发现二位错,校验位和数据位在位数上应满足什么条件?(5分) 4.举例说明运算器中的ALU通常可以提供的至少5种运算功能?运算器中使用多累加器的好处是什么?乘商寄存器的基本功能是什么?(5分) 二、(共30分) 1.在设计指令系统时,通常应从哪4个方面考虑?(每个2分,共8分) 2.简要说明减法指令SUB R3,R2和子程序调用指令的执行步骤(每个4分,共8分) 3.在微程序的控制器中,通常有哪5种得到下一条指令地址的方式。(第个2分,共10分) 4.简要地说明组合逻辑控制器应由哪几个功能部件组成?(4分) 三、(共22分) 1.静态存储器和动态存储器器件的特性有哪些主要区别?各自主要应用在什么地方?(7分) 2.CACHE有哪3种基本映象方式,各自的主要特点是什么?衡量高速缓冲存储器(CACHE)性能的最重要的指标是什么?(10分) 3.使用阵列磁盘的目的是什么?阵列磁盘中的RAID0、RAID1、RAID4、RAID5各有什么样的容错能力?(5分) 四、(共18分) 1.比较程序控制方式、程序中断方式、直接存储器访问方式,在完成输入/输出操作时的优缺点。(9分) 2.比较针式、喷墨式、激光3类打印机各自的优缺点和主要应用场所。(9分) 答案 一、(共30分) 1.(10分) (1) (+107/128)10 = (+1101011/10000000)2 = (+0.1101011)2 = (+0.153)8 = (+6B)16 (2) 二-十进制码即8421码,即4个基2码位的权从高到低分别为8、4、2、1,使用基码的0000,0001,0010,……,1001这十种组合分别表示0至9这十个值。4位基二码之间满足二进制的规则,而十进制数位之间则满足十进制规则。 1

计算机原理 试题及答案

计算机组成原理试卷A 一、选择题(每小题2分,共30分) 1.下列数中最小的数是______。 A.(100100)2 B.(43)8 C.(110010)BCD D.(25)16 2.计算机经历了从器件角度划分的四代发展历程,但从系统结构上来看,至今绝大多数计算机仍属于______型计算机。 A.实时处理 B.智能化 C.并行 D.冯.诺依曼 3.存储器是计算机系统中的记忆设备,它主要用来______。 A.存放数据 B.存放程序 C.存放微程序 D.存放数据和程序 4.以下四种类型指令中,执行时间最长的是______。 A.RR型指令 B.RS型指令 C.SS型指令 D.程序控制指令 5. 计算机的外围设备是指______。 A.输入/输出设备 B.外存储器 C.远程通信设备 D.除了CPU和内存以外的其它设备 6.堆栈寻址方式中,设A为通用寄存器,SP为堆栈指示器,M SP为SP指示器的栈顶单元,如果操作动作是:(A)→M SP,(SP)-1→SP,那么出栈操作的动作应为______。 A.(M SP)→A,(SP)+1→SP B.(SP)+1→SP,(M SP)→A C.(SP)-1→SP,(M SP)→A D.(M SP)→A,(SP)-1→SP 7.某寄存器中的值有时是地址,因此只有计算机的______才能识别它。 A.译码器 B.判别程序 C.指令 D.时序信号 8. 寄存器间接寻址方式中,操作数处在______。 A.通用寄存器 B.主存单元 C.程序计数器 D.堆栈 9. 假定下列字符码中有奇偶校验位,但没有数据错误,采用偶校验的字符码是______。 A.11001011 B.11010110 C.11000001 D.1100101 10.不是发生中断请求的条件是______。 A.一条指令执行结束 B.一次I/O操作结束 C.机器内部发生故障 D.一次DMA操作结束 11.指令系统中采用不同寻址方式的目的主要是______。 A实现存贮程序和程序控制B缩短指令长度,扩大寻址空间,提高编程灵活性C可以直接访问外存D提供扩展操作码的可能并降低指令译码难度 12.某SRAM芯片,其容量为512×8位,除电源和接地端外,该芯片引出线的最小数目应 是______。 A 23 B 25 C 50 D 19 13.算术右移指令执行的操作是______。 A 符号位填0,并顺次右移1位,最低位移至进位标志位;

计算机原理-答案

《计算机原理》答案 一、填空题 1、1024 1024 1024 2、运算器、控制器、存储器、输入设备、输出设备 1、内存储器外存储器 2、打字键区_、功能键区、游标/控制键区__、数字键区_ 3、处理器、文件、存储器、作业、 4、多任务、图形界面 5、您的计算机进入睡眠状态、关闭计算机、重新启动计算机和重新启动计算机并切换到 MS___DOS方式(M)。 6、两 7、三 8、用户的帐号 9、不同性质的概念 二、简答题 1、简述计算机的工作原理。 计算机仅有硬件,计算机只有运算的可能性,如果计算机进行计算、控制等功能的话,计算机还必须配有必要的软件。所谓软件就是指使用计算机的各种程序。(1)指令和程序的概念指令就是让计算机完成某个操作所发出的指令或命令,即计算机完成某个操作的依据。 一条指令通常有两个部分组成,前面是操作码部分,后面是操作数部分。操作码是指该指令要完成的操作,操作数是指参加运算的数或者数所在的单元地址。一台计算机的所有指令的集合,称为该计算机的指令系统。 使用者根据解决某一问题的步骤,选用一条条指令进行有许的排列。计算机执行了这一指令序列,便可完成预定的任务。这一指令序列就称为程序。显然,程序中的每一条指令必须是所用计算机的指令系统中的指令,因此指令系统是系统提供给使用者编制程序的基本依据。指令系统反映了计算机的基本功能,不同的计算机其指令系统也不相同。 (2)计算机执行指令的过程 计算机执行指令一般分为两个阶段:第一阶段,将要执行的指令从内存取到CPU内;第二阶段,CPU对屈辱的该指令进行分析译码,判断该条指令要完成的操作,然后向各部件发出完成该操作的控制信号,完成该指令的功能。当一条指令执行完后就进入下一条指令的取指操作。一般将第一阶段取指令的操作称为取指周期,将第二阶段称为执行周期。 (3)程序的执行过程 程序是一系列指令的有序集合构成,计算机执行程序就是、执行这系列指令。CPU从内存读出一条指令到CPU执行,该指令执行完,再从内存读出下一条指令到CPU内执行。CPU 不断取指令,执行指令,这就是程序的执行过程。 2、计算机有哪些应用领域? 目前,电子计算机已经在工业、农业、财贸、经济、国防、科技及社会生活的各个领域中得到极其广泛的应用。归纳起来分以下几个方面。科学计算数据处理自动控制计算机辅助工程人工智能 3、什么是操作系统? 操作系统是计算机软件系统的核心和基础,它提供了软件开发和运行的环境。有了操作系统,计算机的各个部件才得以协调工作,得到有效管理。 4、文档是如何创建、关闭和打开的?其内容是如何进行复制、删除和移动的? 创建;在WORD窗口中选择文件菜单中的新建,即可新建一个文档 关闭:所谓关闭文档,即对当前文档存盘并退出对该文档的处理,只需要在文件菜单中选择关闭命令,或者用鼠标单击文档窗口右上角的关闭按钮。如果关闭文档之前尚未保存文档,则系统会给出提示,询问是否保存对该文档的修改。 打开;(1)在WINDOWS的资源管理器中或我的电脑窗口中找到需要打开的WORD文档,然后

Cache性能分析

Cache 性能分析 一、性能分析 1.不同容量下Cache 命中率: 设置:选择不同的cache 容量,2k ,4k ,8k ,16k ,32k ,64k ,128k ,256k 块大小:16k 相联度:直接相连 替换策略:LRU 预取策略:不预取 写策略:写回 写不命中的调快策略:按写分配 文件:cc1.din 表1 不同容量下Cache 命中率 图1 结论:在其他条件一定的情况下,随着cache 容量的增加,不命中率逐渐减小 2.相联度对不命中率的影响: 设置:Cache 容量:64K/256KB 块大小;16B 相联度设置:1,2,4, 8,16,32 替换策LRU 预取策略:不预取 写策略:写回 写不命中的调快策略:按写分配 文件:cc1.din Cache 容量为64KB 时: 表2 当容量为64K 时的不命中率 相联度 1 2 4 8 16 32 不命中率(%) 2.71 1.80 1.61 1.55 1.54 1.54 Cache 容量为256KB 时: 表3 当容量为256K 时的不命中率 相联度 1 2 4 8 16 32 不命中率(%) 1.58 1.34 1.28 1.26 1.24 1.24 结论: Cache 的容量(KB ) 2 4 8 16 32 64 128 256 不命中率(%) 18.61 14.09 10.12 6.34 3.81 2.71 1.95 1.58

图2 结论:(1)当Cache容量一定时,随着相联度的不断增加,不命中率逐渐减小,但是当相联度增加到一定程度时,不命中率保持不变。 (2)当关联度相同时,Cache容量越大,不命中率越小,当关联度增加到一定程度时,不命中率和Cache容量大小无关。 3.Cache块大小对命中率的影响: 设置:Cahce块大小(B):16,32,64,128,256 Cache容量设置(KB):2,8,32,128,512 相联度:直接相联预取策略:不预取写策略:写回写不命中的调快策略:按写分配文件:eg.din 表4 不同Cache行大小情况下Cache的不命中率 块大小(B) Cache的容量(KB) 2 8 32 128 512 16 7.80% 7.40% 7.20% 7.20% 7.20% 32 5.40% 5.00% 4.70% 4.70% 4.70% 64 4.00% 3.40% 3.10% 3.10% 3.10% 128 4.40% 3.30% 2.40% 2.40% 2.40% 256 6.50% 5.10% 2.30% 1.90% 1.90% 图3 结论:(1)在Cache容量一定时,Cache 不命中率随着Cache行的增加先减小后增加。 (2)在Cache行一定的情况下,Cache不命中率随着Cache容量的增加不断减小。

实验6Cache性能分析

实验6 Cache 性能分析 6.1 实验目的 1. 加深对Cache 的基本概念、基本组织结构以及基本工作原理的理解; 2. 掌握Cache 的容量、相联度、块大小对Cache 性能的影响; 3. 掌握降低Cache 不命中率的各种方法,以及这些方法对Cache 性能提高的好处; 4. 理解LRU 与随机法的基本思想以及它们对Cache 性能的影响; 6.2 实验平台 实验平台采用Cache 模拟器My Cache 。 6.3 实验内容及步骤 首先要掌握My Cache 模拟器的使用方法。 6.3.1 Cache 的容量对不命中率的影响 1. 启动MyCache 模拟器。 2. 用鼠标单击“复位”按钮,把各参数设置为默认值。 3. 选择一个地址流文件。方法:选择“访问地址”→“地址流文件”选项,然后单击“浏 览”按钮,从本模拟器所在的文件夹下的“地址流”文件夹中选取。 4. 选择不同的Cache 容量,包括2KB 、4KB 、8KB 、16KB 、32KB 、64KB 、128KB 和256KB 。分 别执行模拟器(单击“执行到底”按钮即可执行),然后在表5.1中记录各种情况下的不命中率。 地址流文件名: E:\cjh\系统结构模拟器\MyCache 模拟器\地址流\all.din 5. 以容量为横坐标,画出不命中率随Cache 容量变化而变化的曲线,并指明地址流文件名。 不命中率随Cache容量变化图 0.00% 2.00%4.00%6.00%8.00%10.00%12.00%2 4 8 16 32 64 128 Cache容量(KB) 不命中率 6据结果,你能得出什么结论? 6.3.2 相联度对不命中率的影响 1. 用鼠标单击“复位”按钮,把各参数设置为默认值。此时的Cache 的容量为64KB 。 2. 选择一个地址流文件。方法:选择“访问地址”→“地址流文件”选项,然后单击“浏 览”按钮,从本模拟器所在的文件夹下的“地址流”文件夹中选取。 3. 选择不同的Cache 相联度,包括直接映像、2路、4路、8路、16路和32路。分别执行 模拟器(单击“执行到底”按钮即可执行),然后在表5.2中记录各种情况下的不命中

计算机组成原理试题及答案

本科生期末试卷十五 一、选择题(每小题1分,共10分) 1.下列数中最大的数为______。 A.(10010101)2 B.(227)8 C.(96)8 D.(143)5 2.IEEE754标准规定的32位浮点数中,符号位为1位,阶码为8位,则它所能表示的最大规格化正数为______。 A.+(2 – 223)×2+127B.+(1 – 223)×2+127C.+(2 – 223)×2+255 D.2+127 + 227 3.四片74181ALU和一片74182CLA器件相配合,具有如下进位传送功能______。 A.行波进位 B.组内先行进位,组间先行进位 C.组内先行进位,组间行波进位 D.组内行波进位,组间先行进位 4.某计算机字长32位,其存储容量为4MB,若按字编址,它的寻址范围是______。 A.0-1M B.0-4MB C.0-4M D.0-1MB 5.以下四种类型的半导体存储器中,以传输同样多的字为比较条件,则读出数据传输率最高的是______。 A.DRAM B.SRAM C.闪速存储器 D.EPROM 6.位操作类指令的功能是______。 A.对CPU内部通用寄存器或主存某一单元任一位进行状态检测(0或1) B.对CPU内部通用寄存器或主存某一单元任一位进行状态强置(0或1) C.对CPU内部通用寄存器或主存某一单元任一位进行状态检测或强置 D.进行移位操作 7.操作控制器的功能是______。 A.产生时序信号 B.从主存取出一条指令 C.完成指令操作的译码 D.从主存取出指令,完成指令操作码译码,并产生有关的操作控制信号,以解释执 行该指令 8.采用串行接口进行七位ASCⅡ码传送,带有一位奇偶校验位为1位起始位和1位停止位,当波特率为9600波特时,字符传送速率为______。 A.960 B.873 C.1371 D.480 9.3.5英寸软盘记录方式采用____________。 A.单石双密度 B.双石双密度 C.双面高密度 D.双石单密度 10.通道对CPU的请求形式是______。 A.自陷 B.中断 C.通道命令 D.跳转指令 二、填空题(每小题3分,共24分) 1.{(26)16∨(63)16}⊕(135)8的值是A______。 2.Cache是一种A______存储器,是为了解决CPU和主存之间B______不匹配而采用的一项重要的硬件技术。现发展为C______体系。 3.一个较完善的指令系统应包含A______类指令,B______类指令,C______类指令,程序控制类指令,I/O类指令,字符串类指令,系统控制类指令。

cache性能分析及优化实验报告

实验报告 实验名称:计算机原理cache性能分析及优化实验 学员:张英杰学号: 201008040092 培养类型: 4+1军人年级:任职培训队 专业:计算机科学与技术所属学院:计算机学院 指导教员:唐玉华职称:研究员 实验室:校计算机中心四号院机房实验日期: 2010.12.1—2010.12.19国防科学技术大学训练部制

《实验报告》填写说明 1.学员完成人才培养方案和课程标准要所要求的每个实验后,均须提交实验报告。 2.实验报告封面必须打印,报告内容可以手写或打印。 3.实验报告内容编排及打印应符合以下要求: (1)采用A4(21cm×29.7cm)白色复印纸,单面黑字打印。上下左右各侧的页边距均为3cm;缺省文档网格:字号为小4号,中文为宋体,英文和阿拉伯数字为Times New Roman,每页30行,每行36字;页脚距边界为2.5cm,页码置于页脚、居中,采用小5号阿拉伯数字从1开始连续编排,封面不编页码。 (2)报告正文最多可设四级标题,字体均为黑体,第一级标题字号为4号,其余各级标题为小4号;标题序号第一级用“一、”、“二、”……,第二级用“(一)”、“(二)” ……,第三级用“1.”、“2.”……,第四级用“(1)”、“(2)” ……,分别按序连续编排。 (3)正文插图、表格中的文字字号均为5号。

一实验概述 (一)实验目的 1.掌握Cache的基本概念、基本组织结构 2.掌握影响Cache性能的三个指标 3.了解相联度对Cache的影响 4.了解块大小对Cache的影响 5.了解替换算法对Cache的影响 6.了解Cache失效的分类及组成情况 7.了解一些基本的Cache性能优化方法(选做) (二)实验步骤 1.运行模拟器SimpleScalar 2.在基本配置情况下运行矩阵乘计算程序统计Cache失效次数,并统计三种 不同类型的失效 3.改变Cache容量,统计各种失效的次数,并进行分析 4.改变Cache的相联度,统计各种失效的次数,并进行分析 5.改变Cache块大小,统计各种失效的次数,并进行分析 6.改变Cache的替换策略,统计各种失效次数,并分析 7.对给出的矩阵乘计算程序进行适当改写以优化cache性能。(选做) (三)实验平台 Vmware 虚拟机,redhat 9.0 linux 操作系统,SimpleScalar模拟器。(四)实验课时 3课时 (五)参考资料 计算机体系结构教材、SimpleScalar模拟器使用指南等 二背景知识 (一)Cache基本知识 (1) 可以从三个方面改进Cache的性能:降低失效率、减少失效开销、减少Cache 命中时间; (2) 按照产生失效的原因不同,可以把Cache失效分为三类: 1)强制性失效(Compulsory miss)

Cache的工作原理4

前言 虽然CPU主频的提升会带动系统性能的改善,但系统性能的提高不仅仅取决于CPU,还与系统架构、指令结构、信息在各个部件之间的传送速度及存储部件的存取速度等因素有关,特别是与CPU/存之间的存取速度有关。 若CPU工作速度较高,但存存取速度相对较低,则造成CPU等待,降低处理速度,浪费CPU的能力。 如500MHz的PⅢ,一次指令执行时间为2ns,与其相配的存(SDRAM)存取时间为10ns,比前者慢5倍,CPU和PC的性能怎么发挥出来? 如何减少CPU与存之间的速度差异?有4种办法: 一种是在基本总线周期中插入等待,但这样会浪费CPU的能力。 另一种方法是采用存取时间较快的SRAM作存储器,这样虽然解决了CPU与存储器间速度不匹配的问题,但却大幅提升了系统成本。 第3种方法是在慢速的DRAM和快速CPU之间插入一速度较快、容量较小的SRAM,起到缓冲作用;使CPU既可以以较快速度存取SRAM中的数据,又不使系统成本上升过高,这就是Cache法。 还有一种方法,采用新型存储器。 目前,一般采用第3种方法。它是PC系统在不大增加成本的前提下,使性能提升的一个非常有效的技术。 本文简介了Cache的概念、原理、结构设计以及在PC及CPU中的实现。Cache的工作原理 Cache的工作原理是基于程序访问的局部性。 对大量典型程序运行情况的分析结果表明,在一个较短的时间间隔,由程序产生的地址往往集中在存储器逻辑地址空间的很小围。指令地址的分布本来就是连

续的,再加上循环程序段和子程序段要重复执行多次。因此,对这些地址的访问就自然地具有时间上集中分布的倾向。 数据分布的这种集中倾向不如指令明显,但对数组的存储和访问以及工作单元的选择都可以使存储器地址相对集中。这种对局部围的存储器地址频繁访问,而对此围以外的地址则访问甚少的现象,就称为程序访问的局部性。 根据程序的局部性原理,可以在主存和CPU通用寄存器之间设置一个高速的容量相对较小的存储器,把正在执行的指令地址附近的一部分指令或数据从主存调入这个存储器,供CPU在一段时间使用。这对提高程序的运行速度有很大的作用。这个介于主存和CPU之间的高速小容量存储器称作高速缓冲存储器(Cache)。 系统正是依据此原理,不断地将与当前指令集相关联的一个不太大的后继指令集从存读到Cache,然后再与CPU高速传送,从而达到速度匹配。 CPU对存储器进行数据请求时,通常先访问Cache。由于局部性原理不能保证所请求的数据百分之百地在Cache中,这里便存在一个命中率。即CPU在任一时刻从Cache中可靠获取数据的几率。 命中率越高,正确获取数据的可靠性就越大。一般来说,Cache的存储容量比主存的容量小得多,但不能太小,太小会使命中率太低;也没有必要过大,过大不仅会增加成本,而且当容量超过一定值后,命中率随容量的增加将不会有明显地增长。 只要Cache的空间与主存空间在一定围保持适当比例的映射关系,Cache的命中率还是相当高的。 一般规定Cache与存的空间比为4:1000,即128kB Cache可映射32MB存;256kB Cache可映射64MB存。在这种情况下,命中率都在90%以上。至于没有命中的数据,CPU只好直接从存获取。获取的同时,也把它拷进Cache,以备下次访问。

计算机组成原理答案

计算机组成原理答案文档编制序号:[KKIDT-LLE0828-LLETD298-POI08]

第5章习题参考答案 1.请在括号内填入适当答案。在CPU中: (1)保存当前正在执行的指令的寄存器是( IR ); (2)保存当前正在执行的指令地址的寄存器是( AR ) (3)算术逻辑运算结果通常放在( DR )和(通用寄存器)。 2.参见图的数据通路。画出存数指令“STO Rl,(R2)”的指令周期流程图,其含义是将寄存器Rl的内容传送至(R2)为地址的主存单元中。标出各微操作信号序列。 解: STO R1, (R2)的指令流程图及微操作信号序列如下: 3.参见图的数据通路,画出取数指令“LAD (R3),R0”的指令周期流程图,其含义是将(R3)为地址主存单元的内容取至寄存器R2中,标出各微操作控制信号序列。 解: LAD R3, (R0)的指令流程图及为操作信号序列如下: 4.假设主脉冲源频率为10MHz,要求产生5个等间隔的节拍脉冲,试画出时序产生器的逻辑图。 解: 5.如果在一个CPU周期中要产生3个节拍脉冲;T l=200ns,T2=400ns,T3=200ns,试画出时序产生器逻辑图。 解:取节拍脉冲T l、T2、T3的宽度为时钟周期或者是时钟周期的倍数即可。所以取时钟源提供的时钟周期为200ns,即,其频率为5MHz.;由于要输出3个节拍脉冲信号,而T3的宽度为2个时钟周期,也就是一个节拍电位的时间是4个时钟周期,所以除了C4外,还需要3个触发器——C l、C2、C3;并令

211C C T *=;321C C T *=;313C C T =,由此可画出逻辑电路图如下: 6.假设某机器有80条指令,平均每条指令由4条微指令组成,其中有一条取指微指令是所有指令公用的。已知微指令长度为32位,请估算控制存储器容量。 解:80条指令,平均每条指令由4条微指令组成,其中有一条公用微指令,所以总微指令条数为80 (4-1)+1=241条微指令,每条微指令32位,所以控存容量为:24132位 7.某ALU 器件是用模式控制码M S 3 S 2 S 1 C 来控制执行不同的算术运算和逻辑操作。下表列出各条指令所要求的模式控制码,其中y 为二进制变量,φ为0或l 任选。 试以指令码(A ,B ,H ,D ,E ,F ,G)为输入变量,写出控制参数M ,S 3,S 2,S l ,C 的逻辑表达式。 解: 由表可列如下逻辑方程 M=G S 3=H+D+F S 2=A+B+D+H+E+F+G S 1=A+B+F+G C=H+D+Ey+Fy 8.某机有8条微指令I 1—I 8,每条微指令所包含的微命令控制信号如下表所示。 a —j 分别对应10种不同性质的微命令信号。假设一条微指令的控制字段仅限为8位,请安排微指令的控制字段格式。

实验4 Cache性能分析

实验4 Cache性能分析 4.1 实验目的 1.加深对Cache的基本概念、基本组织结构以及基本工作原理的理解; 2.掌握Cache的容量、相联度、块大小对Cache性能的影响; 3.掌握降低Cache不命中率的各种方法,以及这些方法对Cache性能提高的好处; 4.理解LRU与随机法的基本思想以及它们对Cache性能的影响; 4.2 实验平台 实验平台采用Cache模拟器My Cache。 4.3 实验内容及步骤 首先要掌握My Cache模拟器的使用方法。 4.3.1 Cache的容量对不命中率的影响 1.启动MyCache模拟器。 2.用鼠标单击“复位”按钮,把各参数设置为默认值。 3.选择一个地址流文件。方法:选择“访问地址”→“地址流文件”选项,然后单击“浏 览”按钮,从本模拟器所在的文件夹下的“地址流”文件夹中选取。 4.选择不同的Cache容量,包括2KB、4KB、8KB、16KB、32KB、64KB、128KB和256KB。分 别执行模拟器(单击“执行到底”按钮即可执行),然后在表5.1中记录各种情况下的不命中率。 地址流文件名: 5.以容量为横坐标,画出不命中率随Cache容量变化而变化的曲线,并指明地址流文件名。 6.根据该模拟结果,你能得出什么结论? 4.3.2 相联度对不命中率的影响 1.用鼠标单击“复位”按钮,把各参数设置为默认值。此时的Cache的容量为64KB。 2.选择一个地址流文件。方法:选择“访问地址”→“地址流文件”选项,然后单击“浏 览”按钮,从本模拟器所在的文件夹下的“地址流”文件夹中选取。 3.选择不同的Cache相联度,包括直接映像、2路、4路、8路、16路和32路。分别执行 模拟器(单击“执行到底”按钮即可执行),然后在表5.2中记录各种情况下的不命中率。

计算机组成原理课后答案

计算机系统:计算机硬件、软件和数据通信设备的物理或逻辑的综合体 计算机硬件:计算机的物理实体 计算机软件:计算机运行所需的程序及相关资料 硬件和软件在计算机系统中相互依存,缺一不可,因此同样重要 如何理解计算机系统的层次结构? 实际机器M1向上延伸构成了各级虚拟机器,机器M1内部也可向下延伸而形成下一级的微程序机器M0,硬件研究的主要对象归结为传统机器M1和微程序机器M0,软件研究对象主要是操作系统及以上的各级虚拟机 说明高级语言、汇编语言和机器语言的差别及其联系。 机器语言是可以直接在机器上执行的二进制语言 汇编语言用符号表示指令或数据所在存储单元的地址,使程序员可以不再使用繁杂而又易错的二进制代码来编写程序 高级语言对问题的描述十分接近人们的习惯,并且还具有较强的通用性 如何理解计算机组成和计算机体系结构? 计算机体系结构是对程序员可见的计算机系统的属性 计算机组成对程序员透明,如何实现计算机体系结构所体现的属性 冯·诺依曼计算机的特点是什么? 由运算器、控制器、存储器、输入设备、输出设备五大部件组成 指令和数据以同一形式(二进制形式)存于存储器中 指令由操作码、地址码两大部分组成 指令在存储器中顺序存放,通常自动顺序取出执行 以运算器为中心(原始冯氏机) 画出计算机硬件组成框图,说明各部件的作用及计算机硬件的主要技术指标。 计算机硬件各部件 运算器:ACC, MQ, ALU, X 控制器:CU, IR, PC 主存储器:M, MDR, MAR

I/O设备:设备,接口 计算机技术指标: 机器字长:一次能处理数据的位数,与CPU的寄存器位数有关 存储容量:主存:存储单元个数×存储字长 运算速度:MIPS, CPI, FLOPS 解释概念 主机:计算机硬件的主体部分,由CPU+MM(主存或内存)组成 CPU:中央处理器,是计算机硬件的核心部件,由运算器+控制器组成 主存:计算机中存放正在运行的程序和数据的存储器,可随机存取;由存储体、各种逻辑部件及控制电路组成 存储单元:可存放一个机器字并具有特定存储地址的存储单位 存储元件/存储基元/存储元:存储一位二进制信息的物理元件,是存储器中最小的存储单位,不能单独存取 存储字:一个存储单元所存二进制代码的逻辑单位 存储字长:一个存储单元所存二进制代码的位数 存储容量:存储器中可存二进制代码的总量 机器字长:CPU 能同时处理的数据位数 指令字长:一条指令的二进制代码位数 解释英文代号 CPU: Central Processing Unit PC: Program Counter IR: Instruction Register CU: Control Unit ALU: Arithmetic Logic Unit ACC: Accumulator MQ: Multiplier-Quotient Register

相关文档