Cache的出现是基于两种因素

Cache的出现是基于两种因素
Cache的出现是基于两种因素

Cache的出现是基于两种因素:首先,是由于CPU的速度和性能提高很快而主存速度较低且价格高,第二就是程序执行的局部性特点。因此,才将速度比较快而容量有限的SRAM构成Cache,目的在于尽可能发挥CPU的高速度。很显然,要尽可能发挥CPU的高速度就必须

用硬件实现其全部功能。

Cache与主存之间可采取多种地址映射方式,直接映射方式是其中的一种。在这种映射方式下,主存中的每一页只能复制到某一固定的Cache页中。由于Cache块(页)的大小为16B,而Cache容量为16KB。因此,此Cache可分为1024页。可以看到,Cache的页内地址只需4位即可表示;而Cache的页号需用10位二进制数来表示;在映射时,是将主存地址直接复制,现主存地址为1234E8F8(十六进制),则最低4位为Cache的页内地址,即1000,中间10位为Cache的页号,即1010001111。Cache的容量为16KB决定用这14位编码即可表示。题中所需求的Cache的地址为10100011111000。

Cache中的内容随命中率的降低需要经常替换新的内容。替换算法有多种,例如,先入后出(FILO)算法、随机替换(RAND)算法、先入先出(FIFO)算法、近期最少使用(LRU)算法等。这些替换算法各有优缺点,就以命中率而言,近期最少使用(LRU)算法的命中率最高。

浏览器缓存

缓存用于存储一些临时的文件。在浏览网页的过程中,网页会自动存储在用户的硬盘上。下次再浏览相同的网站的时候,系统会自动从硬盘中调出该网页,既节省了时间也减少了网络的交换。用户可以自行设定缓存方便其上网的需要。电脑中还存在高速缓冲存储器和硬盘缓存。缓存的种类:本地服务器缓存、网页缓存、硬盘缓存、一级高速缓存、二级高速缓存。

cache是一个高速小容量的临时存储器,可以用高速的静态存储器芯片实现,或者集成到CPU芯片内部,存储CPU最经常访问的指令或者操作数据。

cache的基本原理

CPU与cache之间的数据交换是以字为单位,而cache与主存之间的数据交换是以块为单位。一个块由若干定长字组成的。当CPU读取主存中一个字时,便发出此字的内存地址到cache和主存。此时cache控制逻辑依据地址判断此字当前是否在cache中:若是,此字立即传送给CPU;若非,则用主存读周期把此字从主存读出送到CPU,与此同时,把含有这个字的整个数据块从主存读出送到cache中。由始终管理cache使用情况的硬件逻辑电路来实现LRU替换算法

由于主存容量远大于高速缓存的容量,因此两者之间就必须按一定的规则对应起来。高速缓存的地址镜像就是指按什么规则把主存块装入高速缓存中。地址变换是指当按某种镜像方式把主存块装入高速缓存后,每次访问高速缓存时,如何把主存的物理地址或虚拟地址变换成高速缓存的地址,从而访问高速缓存中的数据。

镜像和变换的方式有四种:直接镜像、全相连镜像、组相连镜像、区段相连镜像。

(1)全相联映射方式

主存中一个块的地址与块的内容一起存于cache的行中,其中块地址存于cache 行的标记部分中。

这种方法可使主存的一个块直接拷贝到cache中的任意一行上,非常灵活。

它的主要缺点是比较器电路难于设计和实现,因此只适合于小容量cache采用。

(2)直接映射方式

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

cache的行号i和主存的块号j有如下函数关系:?i=j mod m(m为cache中的总行数)?

直接映射方式的优点是硬件简单,成本低。

缺点是每个主存块只有一个固定的行位置可存放,容易产生冲突。因此适合大容量cache采用。

(3)组相联映射方式

这种方式是前两种方式的折衷方案。它将cache分成u组,每组v行,主存块存放到哪个组是固定的,至于存到该组哪一行是灵活的,即有如下函数关系:m=u×v 组号q=j mod u

组相联映射方式中的每组行数v一般取值较小,这种规模的v路比较器容易设计和实现。而块在组中的排放又有一定的灵活性,冲突减少。[1][2]Buffer和Cache的区别

buffer与cache操作的对象就不一样。

buffer(缓冲)是为了提高内存和硬盘(或其他I/0设备)之间的数据交换的速度而设计的。

cache(缓存)是为了提高cpu和内存之间的数据交换速度而设计,也就是平常见到的一级缓存、二级缓存、三级缓存等。

cpu在执行程序所用的指令和读数据都是针对内存的,也就是从内存中取得的。由于内存读写速度慢,为了提高cpu和内存之间数据交换的速度,在cpu和内存之间增加了cache,它的速度比内存快,但是造价高,又由于在cpu内不能集成太多集成电路,所以一般cache比较小,以后intel等公司为了进一步提高速度,又增加了二级cache,甚至三级cache,它是根据程序的局部性原理而设计的,就是cpu执行的指令和访问的数据往往在集中的某一块,所以把这块内容放入cache后,cpu就不用在访问内存了,这就提高了访问速度。当然若cache中没有cpu所需要的内容,还是要访问内存的。

缓冲(buffers)是根据磁盘的读写设计的,把分散的写操作集中进行,减少磁盘碎片和硬盘的反复寻道,从而提高系统性能。linux有一个守护进程定期清空缓冲内容(即写入磁盘),也可以通过sync命令手动清空缓冲。举个例子吧:我这里有一个ext2的U盘,我往里面copy一个3M的MP3,但U盘的灯没有跳动,过了一会儿(或者手动输入sync)U盘的灯就跳动起来了。卸载设备时会清空缓冲,所以有些时候卸载一个设备时要等上几秒钟。

修改/etc/sysctl.conf中的vm.swappiness右边的数字可以在下次开机时调节swap 使用策略。该数字范围是0~100,数字越大越倾向于使用swap。默认为60,可以改一下试试。--两者都是RAM中的数据。

简单来说,buffer是即将要被写入磁盘的,而cache是被从磁盘中读出来的。

buffer是由各种进程分配的,被用在如输入队列等方面。一个简单的例子如某个进程要求有多个字段读入,在所有字段被读入完整之前,进程把先前读入的字段放在buffer中保存。

cache经常被用在磁盘的I/O请求上,如果有多个进程都要访问某个文件,于是该文件便被做成cache以方便下次被访问,这样可提高系统性能。

公共方法

Add将指定项添加到Cache 对象,该对象具有依赖项、过期和优先级策略以及一个委托(可用于在从Cache 移除插入项时通知应用程序)。

Equals(从Object 继承)已重载。确定两个Object 实例是否相等。

Get从Cache 对象检索指定项。

GetEnumerator检索用于循环访问包含在缓存中的键设置及其值的字典枚举数。

GetHashCode(从Object 继承)用作特定类型的哈希函数,适合在哈希算法和数据结构(如哈希表)中使用。

GetType(从Object 继承)获取当前实例的Type。

Insert已重载。向Cache 对象插入项。使用此方法的某一版本改写具有相同key 参数的现有Cache 项。

Remove从应用程序的Cache 对象移除指定项。

ToString(从Object 继承)返回表示当前Object 的String。

public object Add(

string key,

object value,

CacheDependency dependencies,

DateTime absoluteExpiration,

TimeSpan slidingExpiration,

CacheItemPriority priority,

CacheItemRemovedCallback onRemoveCallback

);

参数

key

用于引用该项的缓存键。

value

要添加到缓存的项。

dependencies

该项的文件依赖项或缓存键依赖项。当任何依赖项更改时,该对象即无效,并从缓存中移除。如果没有依赖项,则此参数包含空引用(Visual Basic 中为Nothing)。

absoluteExpiration

所添加对象将过期并被从缓存中移除的时间。

slidingExpiration

最后一次访问所添加对象时和该对象过期时之间的时间间隔。如果该值等效于20 分钟,则对象在最后一次被访问20 分钟之后将过期并从缓存中移除。

priority

对象的相对成本,由CacheItemPriority 枚举表示。缓存在退出对象时使用该值;具有较低成本的对象在具有较高成本的对象之前被从缓存移除。

onRemoveCallback

在从缓存中移除对象时所调用的委托(如果提供)。当从缓存中删除应用程序的对象时,可使用它来通知应用程序。

示例

public void AddItemToCache(Object sender, EventArgs e) {

itemRemoved = false;

onRemove = new CacheItemRemovedCallback(this.RemovedCallback);

if (Cache["Key1"] == null)

Cache.Add("Key1", "Value 1", null, DateTime.Now.AddSeconds(60), TimeSpan.Zero, CacheItemPriority.High, onRemove);

CPU对cache的写入更改了cache的内容,如何与主存保持一致有几种写操作工作方式可供选择,统称为写策略。

(1)回写法:

当CPU对cache写命中时,只修改cache的内容不立即写入主存,只当此行被换出时菜写回主存。对一

cache行的多次写命中都在cache中快速完成修改,直至被换出时才写回主存。当CPU对cache写未命中

时,为包含欲写的主存块在cache分配一行,将此块整个复制到cache后,在cache 中对其进行修改。此

方法可显著减少写入主存的次数,但回写法存在cache与主存不一致的隐患。

(2)全写法:

当写cache命中时,cache与主存同时发生修改,当写cache未命中时,直接向主存进行写入。但是cache

在CPU向主存的写操作中没有起到高速缓存的作用,从而降低了cache的功效。

(3)写一次法:

是结合上面两种方法的策略。写命中与写未命中的处理方法与回写法基本相同,只是第一次写命中时要

同时写入主存,这便于维护系统全部cache的一致性。

第二章计算机组成原理练习题

一、判断题 1. 在使用配置了触摸屏的多媒体计算机时,可不必使用鼠标器。 2. 盘和存之间以簇为单位交换数据。 3. 光盘是一种可读不可写的存储器。 4. VGA是显示器主机间的接口。 5. 激光打印机使用的墨水质量很高。 6. 扫描仪工作时,将被扫描的图件正面朝上。 7. 数码相机的成像技术与传统相机的成像技术基本相同。 8. CMOS是一种易失性存储器。 9. SRAM比DRAM速度慢。 10.ROM是非易失性存储器。 11.利用Cache能加快程序的运行速度,其依据的原理是Cache速度快。 12.主存储器的编址单位是字节。 13.I/O控制器可以完全脱离CPU控制I/O操作的全过程。 14.CPU总线、存储器总线和I/O总线统称系统总线。 15.I/O接口就是用于连接I/O设备的各种插头插座。 16.总线控制器包含在主板的芯片组。 17.USB接口按双向并行方式传输数据。 18.ALU与浮点运算器可以同时进行整数和实数的运算。 19.CPU主频即CPU总线频率。 20.计算机常用的输入设备为键盘、鼠标,常用的输出设备有显示器、打印机。21.不同厂家生产的计算机一定互相不兼容。 22.PC机的主存储器包含大量的存储单元,每个存储单元都可以存放8个Byte。 23.在使用输入设备进行输入时,目前还只能输入文字、命令和图像,无法输入声音。 24.为了提高CPU访问硬盘的工作效率,硬盘通过将数据存储在一个比其速度快得多的缓冲区 来提高与CPU交换的速度,这个区就是高速缓冲区,它是由DRAM芯片构成的。 25.在一台已感染病毒的计算机上读取一CD-ROM光盘中的数据,该光盘也有可能被感染病毒。 26.存储容量是数码相机的一项重要性能,不论拍摄质量如何,存储容量大的数码相机可拍摄 的相片数量肯定比存储容量小的相机多。 27.绘图仪、扫描仪、显示器、音箱等均属于输出设备。 28.PC机的主板又称为母板,上面可安装CPU、存储器、总线、I/O控制器等部件,它们是 PC机的核心。 29.由于硬盘的外部传输速率要小于部传输速率,所以外部传输速率的高低是评价硬盘整体性 能的决定性因素。 30. PC机中常用的外围设备都通过各自的扩充卡与主板相连,这些扩充卡只能插在主板上的 PCI总线插槽中。 31.大部分数码相机采用CCD成像芯片,CCD芯片中有大量的CCD像素,像素越多影像的分辨 率(清晰度)就越高,生成的数字图像也越小。 32. 高速缓存(Cache)可以看做主存的延伸,与主存统一编址,接收CPU的访问,但其速度要 比主存高得多。 33. 即插即用就是不需要设备驱动程序。 34. USB接口是一种通用的串行接口,通常连接的设备有移动硬盘、优盘、鼠标器、扫描仪

Cache实验

Caches实验 杨祯 15281139 实验目的 1.阅读分析附件模拟器代码 2.通过读懂代码加深了解cache的实现技术 3.结合书后习题1进行测试 4.通过实验设计了解参数(cache和block size等)和算法(LRU,FIFO 等)选择的优化配置与组合,需要定性和定量分析,可以用数字或图表等多种描述手段配合说明。 阅读分析模拟器代码

课后习题 stride=132下直接相连映射 1)实验分析 由题意得:cachesize=256B blockinbyte=4*4B Noofblock=256B/16B=16个组数位16 array[0]的块地址为0/4=0 映射到cache的块号为0%16=0 array[132]的块地址为132/4=33 映射到cache的块号为33%16=1

第一次访问cache中的0号块与1号块时,会发生强制性失效,之后因为调入了cache中,不会发生失效,所以 misscount=2 missrate=2/(2*10000)=1/10000 hitcount=19998 hitrate=9999/10000 实验验证

stride=131下直接相连映射 实验分析 由题意得:cachesize=256B blockinbyte=4*4B Noofblock=256B/16B=16个组数位16 array[0]的块地址为0/4=0 映射到cache的块号为0%16=0 array[131]的块地址为131/4=32 映射到cache的块号为32%16=0 第一次访问cache中的0号时,一定会发生强制性失效,次数为1;之后因为cache中块号为0的块不断地被替换写入,此时发生的是冲突失效,冲突失效次数为19999, 则发生的失效次数为19999+1=20000 所以 misscount=20000 missrate=20000/(2*10000)=1

计算机组成原理概念

总线:连接多个部件的信息传输线,是各个部件共享的传输介质。在某一时刻,只允许有一个部件向总线发送信息,而多个部件可以同时从总线上接收相同的消息。分为片内总线,系统总线和通信总线。 时钟周期:也称为振荡周期,定义为时钟频率的倒数。时钟周期是计算机中最基本的、最小的时间单位。在一个时钟周期内,CPU仅完成一个最基本的动作。 机器周期:完成一个基本操作所需要的时间称为机器周期。一般情况下,一个机器周期由若干个S周期(状态周期)组成 存储容量:存储容量是指存储器可以容纳的二进制信息量,用存储器中存储地址寄存器MAR 的编址数与存储字位数的乘积表示。即:存储容量 = 存储单元个数 * 存储字长 立即寻址:立即寻址的特点是操作数本身设在指令字内,即形式地址A不是操作数的地址,而是操作数本身,又称之为立即数。数据是采用补码的形式存放的把“#”号放在立即数前面,以表示该寻址方式为立即寻址。 直接寻址:在指令格式的地址字段中直接指出操作数在内存的地址ID。在指令执行阶段对主存只访问一次。 计算机系统:由计算机硬件系统和软件系统组成的综合体。 计算机硬件:指计算机中的电子线路和物理装置。 计算机软件:计算机运行所需的程序及相关资料。 主机:是计算机硬件的主体部分,由CPU和主存储器MM合成为主机。 CPU:中央处理器,是计算机硬件的核心部件,由运算器和控制器组成; PC:程序计数器,其功能是存放当前欲执行指令的地址,并可自动计数形成下一条指令地址。IR:指令寄存器,其功能是存放当前正在执行的指令。 CU:控制单元(部件),为控制器的核心部件,其功能是产生微操作命令序列。 ALU:算术逻辑运算单元,为运算器的核心部件,其功能是进行算术、逻辑运算。 ACC:累加器,是运算器中既能存放运算前的操作数,又能存放运算结果的寄存器。MAR:存储器地址寄存器,在主存中用来存放欲访问的存储单元的地址。 MDR存储器数据缓冲寄存器,在主存中用来存放从某单元读出,或要写入某存储单元的数据。I/O输入/输出设备,为输入设备和输出设备的总称,用于计算机内部和外界信息的转换与传主存:计算机中存放正在运行的程序和数据的存储器,为计算机的主要工作存储器,可随机存取;由存储体、各种逻辑部件及控制电路组成。 存储单元:可存放一个机器字并具有特定存储地址的存储单位。 存储元件:存储一位二进制信息的物理元件,是存储器中最小的存储单位,又叫存储基元或存储元,不能单独存取。 存储字:一个存储单元所存二进制代码的逻辑单位。 存储字长:一个存储单元所存二进制代码的位数。 机器字长:指CPU一次能处理的二进制数据的位数,通常与CPU的寄存器位数有关。 指令字长:一条指令的二进制代码位数。 微指令:取指周期:PC->MAR,1->R,M(MAR)->MDR,MDR->IR,OP(IR)->CU,(PC)+1->PC 间指周期:Ad(IR)->MAR,1->R,M(MAR)->MDR 执行周期:MDR->MAR,Ad(IR)->MAR,取数指令“LDA M”:1->R,M(MAR)->MDR,MDR->ACC存数指令“STA M”:1->W,ACC->MDR,MDR->M(MAR)加法指令“ADD M”:1->R, M(MAR)->MDR, (ACC)+(MDR)->ACC 1什么是总线?总线传输有何特点?为了减轻总线的负载,总线上的部件都应具备什么特点?解:总线是多个部件共享的传输部件;总线传输的特点是:某一时刻只能有一路信息在总线上传输,即分时使用;为了减轻总线负载,总线上的部件应通过三态驱动缓冲电路与总线连通。

现代cache技术的研究 课程设计报告

计算机组成与体系结构课程设计报告题目:现代计算机cache技术的研究 学生姓名:谱 学号: 10204102 班级:10204102 指导教师:谌洪茂 2013 年1月6日

摘要 随着集成电路制造技术的持续发展,芯片的集成度和工作速度不断增加,功耗密度显著增大,功耗已经成为计算机系统设计中与性能同等重要的首要设计约束。在现代计算机系统中,处理器速度远远高于存储器速度,Cache作为处理器与主存之间的重要桥梁,在计算机系统的性能优化中发挥着重要作用,但Cache也占据着处理器的大部分能耗。处理器及其Cache存储器是整个计算机系统能耗的主要来源,降低其能耗对于优化计算机系统,特别是嵌入式系统,有着重要的意义。本文主要研究体系结构级的低能耗技术,利用优化Cache结构和动态电压缩放两种技术来实现处理器及其Cache的低能耗。本文首先详细地分析了低能耗Cache技术的研究现状,将该技术总结为基于模块分割的方法、基于路预测的方法、添加一级小Cache的方法、优化标识比较的方法和动态可重构Cache的方法等五大类,并在此基础上,提出了带有效位预判的部分标识比较Cache、带有效位判别的分离比较Cache、基于程序段的可重构Cache等三种Cache结构。然后从不同的实现层面分析比较了现有的电压缩放技术及其缩放算法,提出了一种基于程序段的动态电压缩放算法。最后结合可重构Cache和动态电压缩放技术,提出了一种基于程序段的可重构Cache及处理器电压自适应算法。本文通过仿真实验证明了上述几种方法的有效性。本文所取得的研究成果主要有: 1.一种带有效位预判的部分标识比较Cache(PTC-V Cache)。组相联Cache实现了高命中率,但同时也带来了更多的能耗。本文针对组相联Cache,提出了一种带有效位预判的部分标识比较Cache,它能够有效地节省Cache中信号放大器和位线的能耗。结果表明,PTC-V Cache平均能够节省指令Cache中约55%的能耗。 2.一种带有效位判别的分离比较Cache(SC-V Cache)。该Cache基于路暂停Cache结构,在此基础上,设计了有效位判断和分离标识比较器。它能缩短标识比较的时间,并且减少对无效数据块读取的能耗,以确保同时获得高性能和低能耗。该方案很大程度上节省了路暂停Cache的平均能耗,尤其对于大容量Cache。 3.一种基于程序段的可重构Cache自适应算法PBSTA。该算法使用建立在指令工作集签名基础上的程序段监测状态机来判断程序段是否发生变化,并做出容量调整决定;在程序段内,该算法使用容量调整状态机来指导Cache进行容量调整。与先前的算法相比,该算法不仅有效地降低了Cache存储系统的能耗,而且减少了不必要的重构所带来的性能损失。 4.一种基于程序段的动态电压缩放算法PBVSA。该算法使用程序段监测状态机来判断程序段是否发生变化,并做出CPU电压和频率调整决定,在程序段内,该算法通过计算该程序段的频率缩放因子β(片外工作时间与片上工作时间的比例关系)来设定CPU的电压和频率。结果表明,该算法在保证系统性能的前提下,有效地降低了处理器的能耗。 5.一种基于程序段的可重构Cache 与处理器电压自适应算法CVPBSTA。该算法结合PBSTA算法与PBVSA算法的特点,使用程序段监测状态机来判断程序段是否发生变化,并做出Cache容量及CPU电压和频率的调整决定。在程序段内,该算法采用了与PBSTA相似的Cache容量调整策略和与PBVSA相似的CPU电压和频率调整策略,先后对Cache容量及CPU电压和频率进行调整。结果表明,该算法在保证性能的前提下,更大程度上地节省了系统的能耗。

计算机组成原理

1.用二进制代码表示的计算机语言称为(),用助记符编写的语言称为()。 2.计算机系统的三个层次结构由内到外分别是()、系统软件和()。 3.编译方式是使用编译程序把源程序编译成机器代码的(),并以()的形式保留。 4.计算机系统的层次结构中,位于硬件系统之外的所有层次统称为() 5.现在主要采用()结构作为计算机硬件之间的连接方式。 6.存储(),并按()顺序执行,这是()型计算机的工作原理。计 算机中有()在流动:一股是(),即操作命令,其发源地是(),它分散流向各个部件;另一股是(),它受()的控制,从一个部件流向另一个部件,边流动边加工处理。 7. 假定基准程序A在某计算机上的运行时间为100s,其中90s为CPU时间,其余为I/O时间。若CPU速度提高50%,I/O速度不变,则运行基准程序A所耗费的时间是()。 8. 至今为止,计算机中的所有信息仍以二进制方式表示,其理由是()。 A节约元件 B. 运算速度快C. 物理器件性能决定 D. 信息处理方便 9. 对计算机的软、硬件资源进行管理,是()的功能。 A. 操作系统 B. 数据库管理系统 C. 语言处理程序 D. 用户程序 10. 冯诺依曼计算机中指令和数据均以二进制形式存放在存储器中,CPU区分它们的依据是() A.指令操作码的译码结果 B.指令和数据的寻址方式 C.指令周期的不同阶段 D.指令和数据所在的

存储单元 11. 存储字长是指()。 A.存放在一个存储单元中的二进制代码的组合 B.存放在一个存储单元中二进制代码位数 C.存储单元的个数 D.机器指令的位数 12. 当前设计高性能计算机的重要技术途径是() A.提高CPU主频 B.扩大主存容量 C.采用非冯诺依曼 D.采用并行处理技术 13.兼容性是计算机的一个重要性能,通常是指向上兼容,即旧型号计算机的软件可以不加修改地在新型号计算机上运行。系列机通常具有这种兼容性。 14.计算机“运算速度”指标的含义是指每秒钟能执行多少条操作系统的命令 15.利用大规模集成电路技术把计算机的运算部件和控制部件做在一块集成电路芯片上,这样的一块芯片叫做单片机 16.冯·诺依曼计算机体系结构的基本思想是什么?按此思想设计的计算机硬件系统应由哪些部件组成?它们各起什么作用? 第三章 1.根据连线的数量,总线可分为()总线和()总线,其中()总 线一般用于长距离的数据传送。

第二章 计算机组成原理(5)

第二章计算机组成原理(5) 一、选择题 1、下列关于IC卡的叙述中,错误的是______ D ___。 A.IC卡是"集成电路卡"的简称 B.IC卡中内嵌有集成电路芯片 C.IC卡不仅可以存储数据,还可以通过加密逻辑对数据进行加密 D.非接触式IC卡依靠自带电池供电 2、下列关于USB接口的说法错误的是___ A _____。 https://www.360docs.net/doc/e71666428.html,B接口只有一种标准(版本) B.一个USB接口通过USB集线器可以连接多 个设备 https://www.360docs.net/doc/e71666428.html,B的中文含义是通用串行总线 https://www.360docs.net/doc/e71666428.html,B接口连接的设备可以热插拔,即不需要关机就可以插拔设备 3、以下打印机中,需要安装硒鼓才能在打印纸上印出文字和图案的是____ A ____。 A.激光打印机 B.压电喷墨式打印机 C.热喷墨式打印机 D.针式打印 机 4、移动存储器有多种,目前已经不常使用的是__ D __。 A. U盘 B. 存储卡 C. 移动硬盘 D. 磁带 5、销售广告标为"P4/1.5G/512MB/80G"的一台个人计算机,其CPU的时钟频率是___ B _____。 A.512MHz B.1500MHz C.80000MHz D.4MHz 6、下列关于USB接口的叙述,正确的是_A_。 https://www.360docs.net/doc/e71666428.html,B接口是一种总线式串行接口 https://www.360docs.net/doc/e71666428.html,B接口是一种并行接口 https://www.360docs.net/doc/e71666428.html,B接口是一种低速接口 https://www.360docs.net/doc/e71666428.html,B接口不是通用接口 7、显示器分辨率是衡量显示器性能的一个重要指标,它指的是整屏可显示多少__D______。 A.颜色 B.ASCII字符 C.中文字符 D.像素 8、下面属于PC机标准输入设备的是_____ A ___。 A.键盘 B.触摸屏 C.扫描仪 D.数码相机 9、下面有关计算机输入输出操作的叙述中,错误的是____ C ____。 A.计算机输入/输出操作比CPU的速度慢得多 B.两个或多个输入输出设备可以同时进行工作 C.在进行输入/输出操作时,CPU必须停下来等候I/O操作的完成 D.每个(或每类)I/O设备都有各自专用的控制器 10、下面关于硬盘存储器信息存储原理的叙述中,错误的是______ D _______。 A.盘片表面的磁性材料粒子有两种不同的磁化方向,分别用来记录 "0"和"1" B.盘片表面划分为许多同心圆,每个圆称为一个磁道,盘面上一般都有几千个磁道 C.每条磁道还要分成几千个扇区,每个扇区的存储容量一般为512字节 D.与CD光盘片一样,每个磁盘片只有一面用于存储信息 11、下面关于硬盘存储器结构与组成的叙述中,错误的是______ D _____。 A.硬盘由磁盘盘片、主轴与主轴电机、移动臂、磁头和控制电路等组成 B.磁盘盘片是信息的存储介质 C.磁头的功能是读写盘片上所存储的信息 D.盘片和磁头密封在一个盒状装置内,主轴电机安装在PC主板上 12、下面关于液晶显示器的叙述中,错误的是_____D___。

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)

计算机组成原理之Cache模拟器的实现

实验一Cache模拟器的实现 一.实验目的 (1)加深对Cache的基本概念、基本组织结构以及基本工作原理的理解。 (2)掌握Cache容量、相联度、块大小对Cache性能的影响。 (3)掌握降低Cache不命中率的各种方法以及这些方法对提高Cache性能的好处。 (4)理解LRU与随机法的基本思想以及它们对Cache性能的影响。 二、实验内容和步骤 1、启动Cachesim 2.根据课本上的相关知识,进一步熟悉Cache的概念和工作机制。 Cache概念:高速缓冲存 Cache工作机制:大容量主存一般采用DRAM,相对SRAM速度慢,而SRAM速度快,但价格高。程序和数据具有局限性,即在一个较短的时间内,程序或数据往往集中在很小的存储器地址范围内。因此,在主存和CPU之间可设置一个速度很快而容量相对较小的存储器,在其中存放CPU当前正在使用以及一个较短的时间内将要使用的程序和数据,这样,可大大加快CPU访问存储器的速度,提高机器的运行效率 3、依次输入以下参数:Cache容量、块容量、映射方式、替换策略和写策略。Cache容量块容量映射方式替换策略写策略 8 32 全相联映射先进先出算法写回法(1)Cache容量: 启动CacheSim,提示请输入Cache容量,例如1、2、4、8......。此处选择输入4。 (2)块容量: 如下图所示,提示输入块容量,例如1、2、4、8......。此处选择输入16。

(3)映射方式: 如下图所示,提示输入主存储器和高速缓存之间的assoiativity方法(主存地址到Cache地址之间的映射方式),1代表直接映射(固定的映射关系)、2代表组相联映射(直接映射与全相联映射的折中)、3代表全相联映射(灵活性大的映射关系)。此处选择全相联映射。 (4)替换策略: 如下图所示,提示输入替换策略,1代表先进先出(First-In-First-Out,FIFO)算法、2代表近期最少使用(Least Recently Used,LRU)算法、3代表最不经常使用(Least Frequently Used,LFU)、4代表随机法(Random)。此处选择先进先出。 (5)写策略: 如下图所示,提示输入Cache的读写操作,1代表写直达法(存直达法)即写操作时数据既写入Cache又写入主存、2代表写回法(拷回法)即写操作时只把数据写入Cache而不写入主存,但当Cache数据被替换出去时才写回主存。

第二章 计算机组成原理(2)

第二章计算机组成原理(2) 一、选择题 1、以下关于计算机指令系统的叙述中,正确的是_____ B ___。 A.用于解决某一问题的一个指令序列称为指令系统 B.计算机指令系统中的每条指令都是CPU可执行的 C.不同类型的CPU,其指令系统是完全一样的 D.不同类型的CPU,其指令系统完全不一样 2、以下符号中____ C ____代表一种I/O总线标准。 A.CRT B.VGA C.PCI D.DVD 3、以下打印机中,需要安装硒鼓才能在打印纸上印出文字和图案的是____ A ____。 A.激光打印机 B.压电喷墨式打印机 C.热喷墨式打印机 D.针式打印 机 4、移动存储器有多种,目前已经不常使用的是__ D __。 A. U盘 B. 存储卡 C. 移动硬盘 D. 磁带 5、销售广告标为"P4/1.5G/512MB/80G"的一台个人计算机,其CPU的时钟频率是___ B _____。 A.512MHz B.1500MHz C.80000MHz D.4MHz 6、现在激光打印机与主机连接多半使用的是____B___接口,而以前则大多使用并行接口。 A.SATA https://www.360docs.net/doc/e71666428.html,B C.PS/2 D.IEEE-1394 7、显示器分辨率是衡量显示器性能的一个重要指标,它指的是整屏可显示多少__D______。 A.颜色 B.ASCII字符 C.中文字符 D.像素 8、下面属于PC机标准输入设备的是_____ A ___。 A.键盘 B.触摸屏 C.扫描仪 D.数码相机 9、下面有关计算机输入输出操作的叙述中,错误的是____ C ____。 A.计算机输入/输出操作比CPU的速度慢得多 B.两个或多个输入输出设备可以同时进行工作 C.在进行输入/输出操作时,CPU必须停下来等候I/O操作的完成 D.每个(或每类)I/O设备都有各自专用的控制器 10、下面关于硬盘存储器信息存储原理的叙述中,错误的是______ D _______。 A.盘片表面的磁性材料粒子有两种不同的磁化方向,分别用来记录 "0"和"1" B.盘片表面划分为许多同心圆,每个圆称为一个磁道,盘面上一般都有几千个磁道 C.每条磁道还要分成几千个扇区,每个扇区的存储容量一般为512字节 D.与CD光盘片一样,每个磁盘片只有一面用于存储信息 11、下面关于硬盘存储器结构与组成的叙述中,错误的是______ D _____。 A.硬盘由磁盘盘片、主轴与主轴电机、移动臂、磁头和控制电路等组成 B.磁盘盘片是信息的存储介质 C.磁头的功能是读写盘片上所存储的信息 D.盘片和磁头密封在一个盒状装置内,主轴电机安装在PC主板上 12、下面关于液晶显示器的叙述中,错误的是_____D___。 A.它的英文缩写是LCD B.它的工作电压低,功耗小 C.它几乎没有辐射 D.它与CRT显示器不同,不需要使用显示卡 13、下面关于鼠标器的叙述中,错误的是___ C _____ A.鼠标器输入计算机的是其移动时的位移量和移动方向 B.不同鼠标器的工作原理基本相同,区别在于感知位移信息的方法不同

Cache控制器设计实验

实验3 Cache 控制器设计 1、实验目的 (1)掌握Cache控制器的原理及其设计方法。 (2)熟悉FPGA应用设计及EDA 软件的使用。 (3) 熟悉Vivado软件的使用及FPGA应用设计。 2、实验原理 Cache是介于CPU与主存之间的小容量存储器,包括管理在内的全部功能由硬件实现,对程序员是透明的,在一定程度上解决了CPU与主存之间的速度差异、与主存容量相比,Cac he的容量特不小,它保存的内容只是内存内容的一个子集,且Cache与主存的数据交互以块为单位、把主存中的块放到Cache中时必须把主存地址映射到Cache中,即确定位置的对应关系,并采纳硬件实现,以便CPU给出的访存地址能够自动变换成Cache地址。由于程序访问的局部性,使得主存的平均读出时间接近Cache的读出时间,大大提高了CPU的访存效率、 地址映射方式有全相联方式、直截了当相联方式、组相联方式,本实验采纳的是直截了当方式,这种变换方式简单而直截了当,硬件实现特不简单,访问速度也比较快,然而块的冲突率比较高、其主要原则是:主存中一块只能映象到Cache的一个特定的块中、假设主存的块号为B,Cache的块号为b,则它们之间的映象关系能够表示为:b=B mod Cb其中,Cb是Cache的块容量、设主存的块容量为Mb,区容量为Me,则直截了当映象方法的关系如图3、19所示。把主存按Cache的大小分成区,一般主存容量为Cache容量的整数倍,主存每一个分区内的块数与Cache的总块数相等、直截了当映象方式只能把主存各个区中相对块号相同的那些块映象到Cache中同一块号的那个特定块中、例如,主存的块0只能映象到Cache的块0中,主存的块1只能映象到Cache的块1中,同样,主存区1中的块Cb(在区1中的相对块号是0)也只能映象到Cache 的块0中、依照上面给出的地址映象规则,整个Cache地址与主存地址的低位部分是完全相同的。

根据spim的cache实验

汕头大学实验报告 学院: 工学院系: 计算机系专业: 计算机科学与技术年级: 13实验时间: 2015.6.16 姓名: 林子伦学号: 2013101030实验名称:基于SPIM-CACHE的Cache实验 一.实验目的: (1)熟悉SPIM-CACHE模拟器环境 (2)深入认识CACHE的工作原理及其作用。 二.实验内容: (1)阅读实验指导书资料(虚拟教室提供了英文论文的电子版本); (2)下载SPIM-CACHE软件,理解英文论文的基本内容之后,给出几种典型的cache配置,运行英文论文提供的代码,记录运行时CACHE命中率等重要数据;(3)运行Fig.4代码,了解mapping functions 即映射规则 (4)运行Fig.7代码,了解temporal and spatial locality 即时空局部性,进一步理解cache的工作原理; (5)运行Fig.8代码,运行学习replacement algorithms 即替代算法,理解其工作原理。 三.实验地点,环境 实验地点:软件工程实验室 实验环境: 操作系统:Microsoft Windows 8 中文版 处理器:Intel(R) Core(TM) i3-3120M CPU @ 2.50GHz 2.50GHz 内存: 4.00GB(3.82GB 可用) 四.实验记录及实验分析(80%): 4.1实验前配置: 1) 按下图配置好Spim设置

2)关于实验中cache设置如下(具体配置根据下面实验要求) ——》 ——》 Cache size ——cache大小 Block size ——块大小 Mapping ——组相连 4.2实验一:fig4.s 实验目的:Algorithm and corresponding code to study mapping functions Cache配置:256-B size, 16-B line size, four-way set associative 实验操作: 1) Ctrl+O 打开运行代码fig4.s 代码如下: .data 0x10000480 Array_A: .word 1,1,1,1,2,2,2,2 .data 0x10000CC0 Array_B: .word 3,3,3,3,4,4,4,4 .text .globl _start _start: la $2,Array_A li $6,0 li $4,8 loop: lw $5,0($2) add $6,$6,$5 addi $2,$2,4

(完整版)计算机组成原理知识点总结

《计算机组成原理》(白中英)复习 第一章计算机系统概论 电子数字计算机的分类(P1) 通用计算机(超级计算机、大型机、服务器、工作站、微型机和单片机)和专用计算机。计算机的性能指标(P5) 数字计算机的五大部件及各自主要功能(P6) 五大部件:存储器、运算器、控制器、输入设备、输出设备。 存储器主要功能:保存原始数据和解题步骤。 运算器主要功能:进行算术、逻辑运算。 控制器主要功能:从内存中取出解题步骤(程序)分析,执行操作。 输入设备主要功能:把人们所熟悉的某种信息形式变换为机器内部所能接收和识别的二 进制信息形式。 输出设备主要功能:把计算机处理的结果变换为人或其他机器所能接收和识别的信息形 式。 计算机软件(P11) 系统程序——用来管理整个计算机系统 应用程序——按任务需要编制成的各种程序 第二章运算方法和运算器 课件+作业 第三章内部存储器 存储器的分类(P65) 按存储介质分类: 易失性:半导体存储器 非易失性:磁表面存储器、磁芯存储器、光盘存储器 按存取方式分类: 存取时间与物理地址无关(随机访问): 随机存储器RAM ——在程序的执行过程中可读可写 只读存储器ROM ——在程序的执行过程中只读 存取时间与物理地址有关(串行访问): 顺序存取存储器磁带 直接存取存储器磁盘 按在计算机中的作用分类: 主存储器:随机存储器RAM ——静态RAM 、动态RAM 只读存储器ROM ——MROM 、PROM 、EPROM 、EEPROM Flash Memory 高速缓冲存储器(Cache) 辅助存储器——磁盘、磁带、光盘 存储器的分级(P66)

存储器三个主要特性的关系:速度、容量、价格/位 多级存储器体系结构:高速缓冲存储器(cache)、主存储器、外存储器。 主存储器的技术指标(P67) 存储容量:存储单元个数M ×每单元位数N 存取时间:从启动读(写)操作到操作完成的时间 存取周期:两次独立的存储器操作所需间隔的最小时间,时间单位为ns。 存储器带宽:单位时间里存储器所存取的信息量,位/秒、字节/每秒,是衡量数据传输 速率的重要技术指标。 SRAM存储器(P67) 基本存储元:用一个锁存器(触发器)作为存储元。 基本的静态存储元阵列(P68) 双译码方式(P68) 读周期、写周期、存取周期(P70) DRAM存储器(P70) 基本存储元:由一个MOS 晶体管和电容器组成的记忆电路。 存储原理:所存储的信息 1 或0 由电容器上的电荷量来体现(充满电荷:1;没有电荷:0)。 一个DRAM 存储元的写、读、刷新操作(P71) DRAM 的刷新:集中式刷新和分散式刷新(P73) 存储器容量的扩充(P73) 位扩展——增加存储字长(P73) 字扩展——增加存储字的数量(P73) 字、位扩展(P74) 例题(P73) 只读存储器ROM(P80) 掩模ROM 、PROM 、EPROM 、EEPROM 、Flash 存储器(P80-86) 并行存储器(P86) 双端口存储器:指同一个存储器具有两组相互独立的读写控制线路。 多模块交叉存储器:连续地址分布在相邻的不同模块内,同一个模块内的地址都是不连 续的。对连续字的成块传送可实现多模块流水式并行存取,大大提高存储器的带宽。 cache基本原理(P92) 避免CPU“空等”现象 CPU 和主存(DRAM )的速度差异 程序访问的局部性原理 cache由高速的SRAM 组成 cache的基本原理(P93) 命中、未命中、命中率(P93) 例题(P94) cache与主存的地址映射(P94) 全相联映像:主存中的任一块可以映象到缓存中的任一块。 直接映像:每个缓存块可以和若干个主存块对应;每个主存块只能和一个缓存块对应。 组相联映像:某一主存块j 按模u 映射到缓存的第i 组中的任一块。 替换算法(P98) 先进先出算法(FIFO):把一组中最先调入cache 的块替换出去,不需要随时记录各个

《计算机体系结构》第六次实验 cache

Cache实验报告姓名:王宇航学号:09283020 安全0901 Cache实验报告 一、实验要求: 1.阅读分析附件模拟器代码 要求:1)读懂2)关键注释3)总结关键参数和算法的实现方法 2.通过读懂代码加深了解cache的实现技术 3.结合书后习题1进行测试 4.通过测试和进行实验设计了解参数和算法选择的特点和相互关系(比较,组合等),需要定性和量化结合说明,可以用数字或图表等多种描述手段配合说明。 二、实验代码: 1. LRU页面置换算法 程序一共有3中模式: Direct_mapped 2 Set_associate 3 Fully_associate 对于第一种,直接映射,显然用不到LRU算法,因为每一个地址在cache中只有一个地方可以去。 对于后两种,组相联映射和全相联映射,就需要用到LRU算法了。 其中,全相联映射等于是只有一个set的Set_associate,而LRU正是用在一个set中,所以,后面两种模式的LRU问题可以归结为一种:一个set中,来了一个没有的页面,需要置换出一个,应该置换出哪一个的问题。 那么,具体过程如下: 1 这个set中的每一个block都有一个lru值,初始为0。 2 每次访问这个set的时候,不管是否命中,这个set中的所有block的lru值都+1。 3 当需要置换出去一个页面的时候,选择一个lru值最大的那个置换出入,用来放入刚刚进来的。 4 不管是否命中,刚刚访问过的,或者加入的那个block的lru值置为0。 if(x

计算机组成原理_第4章作业

计算机组成原理作业(第四章) 4.1 解释概念:主存、辅存、Cache、RAM、SRAM、DRAM、ROM、PROM、EPROM、EEPROM、CDROM、Flash Memory。 主存,Memory,也称内存,其作用是用于暂时存放CPU中的运算数据,以及与硬盘等外部存储器交换的数据。 辅存,外部存储器,存储容量大、成本低、存取速度慢,可以永久地脱机保存信息。Cache,高速缓冲存储器,介于CPU和主存之间,用于解决CPU和主存之间速度不匹配问题。RAM,Random Access Memory,随机存取存储器,主要用作计算机中的主存。 SRAM,Static RAM,静态半导体随机存取存储器,具有静止存取功能的内存,不需要刷新电路即能保存它内部存储的数据。 DRAM,Dynamic RAM,动态半导体随机存取存储器,具有动态存取功能的内存,每隔一段时间,要刷新充电一次,否则内部的数据即会消失。 ROM,Read Only Memory,只读存储器,指只能从该设备中读取数据而不能往里面写数据的存储器。 PROM,Programmable ROM,可编程只读存储器,由用户根据需要,进行一次性写入操作。EPROM,Erasable Programmable ROM,紫外线擦写可编程只读存储器,可进行重复擦除和写入操作,解决了PROM芯片只能写入一次的弊端。 EEPROM,Electrically Erasable Programmable ROM,电擦写可编程只读存储器,一种断电后数据不丢失的存储芯片。 CD-ROM,Compact Disc ROM,只读型光盘,这种光碟只能写入数据一次,信息将永久保存在光碟上,使用时通过光碟驱动器读出信息。 Flash Memory,闪速存储器,一种长寿命的,在断电情况下存储数据不丢失的,运行速度较快的存储器,是EEPROM的一个变种。

《计算机组成原理》第2章习题解答

第二章习题解答 1.设机器数的字长8位(含1位符号位),分别写出下列各二进制数的原码、补码和 反码:0,-0,0.1000,-0.1000,0.1111,-0.1111,1101,-1101。 解: 2.写出下列各数的原码、补码和反码:7/16,4/16,1/16,±0,-7/16,-4/16,-1/16。解: 7/16=7*2-4=0.0111 4/16=4*2-4=0.0100 1/16=1*2-4=0.0001 真值原码补码反码 7/16 0.0111 0.0111 0.0111 4/16 0.0100 0.0100 0.0100 1/16 0.0001 0.0001 0.0001 +0 O.0OOO O.0OOO O.0OOO -0 1.0OOO O.0OOO 1.1111 -1/16 1.0OO1 1.1111 1.1110 -4/16 1.0100 1.1100 1.1011 -7/16 1.0111 1.1001 1.1000 3.已知下列数的原码表示,分别写出它们的补码表示:[X1]原=O.10100,[X2]原=l.10111。 解:[X1]补=0.10100,[X2]补=1.01001。 4.已知下列数的补码表示,分别写出它们的真值:[X1]补=O.10100,[X2]补=1.10111。 解: X1=O.10100, X2=-0.01001。 5.设一个二进制小数X≥0,表示成X=0.a1a2a3a4a5a6,其中a1~a6取“1”或“O”: (1)若要X>1/2,a1~a6要满足什么条件? (2)若要X≥1/8,a1~a6要满足什么条件? (3)若要1/4≥X>1/16,a1~a6要满足什么条件? 解:(1) X>1/2的代码为: 0.100001~0.111111。

5级流水无cache CPU实验计算机组成原理 课程设计报告

计算机组成原理 课程设计报告 5级流水无cache CPU实验 1.1 实验内容:无cache流水CPU的分析与改造 1.理解无cache流水CPU的工作原理,明确系统总体结构和数据通路图,分析解决各种相关用到的主 要信号,以及详细分析各流水段的功能和实现。 2.将16位的指令系统改为8位,设计新的指令系统,并修改相应的数据通路。 3.修改规则文件(cpu.txt),并编写测试程序验证系统改造的正确性。 1.2 总体基本信息 1.深刻理解无cache流水cpu的工作原理。在详细分析了各流水段的功能实现、3种相关的产生原因 和解决方法的基础上,完成了以下后续工作。 2.修改指令系统。具体包括: a)16位指令改为8位,重新编写了指令OP码。 b)新增了MOVI指令。由于原指令系统没有将立即数存进指定寄存器的指令,因此此处新增一 条MOVI指令。指令的汇编语句为 MOVI DR, IMM 其中DR为目的寄存器,IMM为立即数。因为指令长度为8位,OP和DR共占了6位,因此IMM 的大小不大于3(即二进制“00”至“11”)。 c)修改及删除了部分指令。此处详见5.1。 3.修改系统控制信号。在保持原有系统逻辑功能基本不变的情况下,修改各个模块里控制信号位数 以及模块接口信号位数以和新的指令系统兼容。 4.增加内存模块。使用vhdl编写了一个ram模块,根据读写信号来选择读写功能。reset时将事先写 好的二进制形式程序写进内存。 5.扩展了常量定义文件。在常量定义文件unitpack.vhd中,具体地: a)新增了ALU功能选择信号常量aluMOVI。 b)新增了寄存器编号常量R0、R1、R2和R3。 c)新增了ram类型。 6.使用Quartus II进行功能仿真并debug。 7.使用bdf构造顶层实体cpum。由于新增了内存模块,而原系统是使用vhdl编写的,为了方便对接, 我们使用bdf的形式将无cache流水线cpu和内存模块连接起来构造顶层实体cpum,“m”的含义是“memory”,即带内存模块的无cache流水线cpu。 8.重画数据通路图。我们使用了Microsoft Visio软件在原有的系统总结结构图的基础上修改并新增 了部分模块,详见2。

计算机组成原理14-课堂练习-第四章Cache

一、单项选择题 15. 关于Cache的论述中,正确的是( )。 A.Cache是一种介于主存和辅存之间的存储器。 B.如果访问Cache不命中,则用从内存中取到的数据块替换Cache中最近被访问过的数据块。 C.Cache的命中率必须很高,一般要达到90%以上才能充分发挥其作用。 D.Cache中的信息必须与主存中的信息时刻保持一致。 16.Cache的地址映射中( )比较多的采用“按内容寻址”的相联存储器来实现。 A.直接映射B.全相联映射 C.组相联映射D.段相联映射 17.在下列因素中,与Cache命中率无关的是( )。 A Cache字块的大小 B Cache的总容量 C Cache字块的个数D主存的存取时间 18.在程序的执行过程中,Cache与主存的地址映射是由( )。 A 操作系统来管理的 B 程序员调度的 C由硬件自动完成的 D 存储管理硬件和存储管理软件共同完成的 二、综合应用题 2.Cache存放的是什么内容,其命中率受哪些因素影响? 答:Cache存储器中保存的字块是主存中相应字块的一个副本。 Cache的容量和块的大小是影响命中率的重要因素。一般来说,Cache的存储容量比主存的容量小得多,但不能太小,太小会使命中率太低;也没必要太大,过大不仅会增加成本,而且当容量超过一定值后,命中率随容量的增加将不会有明显的增长。此外,Cache的组织方式与Cache的替换策略的选择也会影响Cache的命中率。

6.在Cache管理中,当新的主存块需要调入Cache时,有几种替换算法?各有何特点?哪种算法的平均命中率高? 答:在Cache管理中,当新的主存块需调人Cache时,常用的有先进先出(FIFO)算法和近期最少使用LRU算法。 前者是把最先调入Cache的块替换出去,它不随时记录各块的使用情况,所以容易实现,且开销小; 后者是把近期最少使用的块替换出去,这种算法需随时记录Cache中各块的使用情况,以便确定哪个块是近期最少使用的。 LRU算法比FIFO的平均命中率高。 9.叙述带有Cache存储器的计算机,其CPU读内存一次的工作过程。 答: (1) CPU将内存地址加载到地址总线,并发出读信号; (2) Cache从地址总线截取内存地址,分析出该地址所在的内存块号; (3)查主存Cache地址映射变换机构,若该主存块已调入Cache,则为命中,进入(4),否则,转(6); (4)将对应的Cache块号与主存地址中的块内地址拼接,形成Cache地址,访问Cache存储体,同时阻断主存的读操作; (5)由Cache读出之数据经数据总线送往CPU; (6)不命中的情况下,维持主存的读操作,由主存读出的数据经数据总线送往CPU; (7)同时查阅Cache是否尚有空间容纳块的调入,如有,则转入(9); (8)启动Cache替换机构,空出一个Cache块位置; (9)打通直接调度通路,将该主存块调入Cache,并修改标记。

相关文档
最新文档