(1)块的放置,在较高层中,一个块能够被放置在哪里?(该层表示存储结构层次)
(2)块的标志,如果一个块在较高层中,如何找到它?
(3)块的替换,如果块发生缺失,哪个块被替换?
(4)写时策略.写操作时会发生什么?
一个块可以被放置到cache的什么地方?
直接映射:(块地址)MOD(cache中的块数),每个块只能出现在唯一位置上
全相连映射:一个块可以放置在cache中的任意位置上
组相连:(块地址)MOD(cache的组数), 一个块首先被映射到一个组中,然后它可以被放置在组中的任何一个块中
直接映射,全相连与组相连的关系:
直接映射是一个简单的1路组相联
一个有m块的全相联cache可以称为m路组相联
大多数处理器的cache采用直接映射,2路组相联或是4路组相联.
如果一个块在cache中,如何找到它?
块地址:块结构中有一个地址标志给出块地址,对每一个块标志进行检查,看其是否与来自处理器的块地址相匹配.考虑到速率,采用并行检查.
有效位:确定块中是否包含有效信息.
cache地址:块地址与块偏移
块地址:标志字段和索引字段
块内偏移是从块中选取数据,索引字段用来选择组,再通过比较标志字段来判断是否命中,标志字段是检查所有的块,全相联没有索引字段.
(i)没有必要对于偏移地址进行比较
(ii)索引字段的比较也是多余的,索引字段标识被检查的组
如果cache缺失,哪个块将被替换?
直接映射:直接替换不命中的块
在组相联与全相联中需要在多块中进行选择
三种基本块替换策略:
(1) 随机替换,产生伪随机数块号
(2) LRU,记录块的访问次数,替换长时间没有被访问的
(3)FIFO,最早进入cache的块被替换
4写操作时会发生什么?
读操作在 cache的访问占大多数.所有的指令都是 通过读操作来获得的,而且大部分的指令是不需要进行存储器写操作的。
块可以在标志位读和比较的同时被读出,读块操作与获得块地址的同时就开始了.如果读命中,块中所需要的信息立刻被传送到处理器
如果发生读取失,只需要将读到的信息丢失即可.
而对于写操作来说,这样做并不适合,只有在标志位有效而且地址命中时,块才能修改。检查标志位不能与写操作同时进行
写操作比读操作花费时间更长.
处理器必须给出写数据的大小,通常在1~8个字节之间,块中只有这个部分的数据能被更改.但是读数据可以读取比所需字节数更多的信息.
cache写策略:
写直达:信息被同时写到cache块和更低一层存储器中
写回法:信息只被写到cache块,只有cache中的该块被替换出去时,信息才会被写回主存中.
重写脏位:
一个块是脏的(在cache中被修改过)
干净的(在cache中没有被修改),如果是干净的,则在下层存储器中与cache包含的信息相同,因此不必被写回.
优点:
写回法:写操作与cache存储器的速度是一致的,而且对于同一块的多次操作仅需要对下一层存储器进行一次操作。
写回法需要较小的存储器带宽,对于其他层次的存储器与存储总线的使用较少,节省了功耗,适用于嵌入式应用程序.
写直达法:cache总是干净的,当发生读缺失的时候,无需对下一层存储器进行写操作(相对于写回法)
下一级存储有最新的当前数据副本,简化了数据一致性,数据一致性对于处理器和IO均很重要.
我们需要利用写回法来减少访问存储器的通信量,有希望通过写直达法来保证存储器层次结构中cache和低层存储器的数据一致性.
在写直达法中:
处理器的操作必须等待写操作完成,此时处理器称为写停顿,减少写停顿的策略是写缓存技术,允许处理器把数据写入到缓冲区之后立即继续工作.
写缺失策略:
写分配:写缺失发生时,内存的块被读到cache中,然后执行上个写命中时的操作
不按写分配:写缺失发生时,仅修改低层存储器的该块,而不将该块取到cache中
相关推荐
我第一次试图读这本书是几个月以前,当时第2章“信息的表示和处理”没看完就放下了,觉得讲了一大堆数字表达方式很没意思……这次稍微坚持了一下,没想到就一口气读下来了…… 重点推荐第3章“程序的机器级表示”、...
5.1.4 存储层次的四个问题 5.2 Cache基本知识 5.2.1 映象规则 5.2.2 查找方法 5.2.3 替换算法 5.2.4 写策略 5.2.5 Cache的结构 5.2.6 Cache性能分析 5.2.7 改进Cache性能 5.3 降低Cache失效...
1.说明计算机系统的层次结构。 计算机系统可分为:微程序机器级,一般机器级(或称机器语言级),操作系统级,汇编语言级,高级语言级。 第四章 主存储器 1.主存储器的性能指标有哪些?含义是什么? 存储器的性能...
与前几版一样,本书采用MIPS处理器讲解计算机硬件技术、汇编语言、计算机算术、流水线、存储器层次结构以及I/O等基本功能。 《计算机组成与设计:硬件/软件接口(原书第5版)》特点 更新例题、练习题和参考...
【例1-3】 图1.3是四个城市的公路交通图,这是一个典型的图状结构。在 图中,每个城市是一个顶点(在图状结构中,数据元素称为顶点),它们之间是 多对多的关系。成都与都江堰、雅安直接通公路,都江堰与成都、...
4.3 (大意接近即满分)1)存储器的层次结构主要体现在Cache—主存和主存—辅存这两个存储层次上 4.51)存储器的带宽指单位时间内存储器存取的信息量 4.
1.1、 列出并简要地定义计算机的四个主要组成部分。 答:主存储器,存储数据和程序;算术逻辑单元,能处理二进制数据;控制单元,解读存储器中的指令并且使他们得到执行;输入/输出设备,由控制单元管理。 1.2、 ...
第五章为设备管理 对 I O 软件的层次结构作了较深入的阐述; 第六 七章分别是文件管理和用户接 口; 第八章介绍了计算机网络 网络体系结构 网络提供的功能和服务以及 I nternet; 第九章对保障系统 安全的各种技术和...
由于存储手段在容量、速度、价格三者之间存在尖锐矛盾,存储器不得不采取分级的体系,形成存储器的层次结构,自上至下可分为超高速缓冲存储器、高速主存储器(又称内存储器)和大容量外存储器等。主存储器是存储体系的...
与前几版一样,本书采用了一个MIPS处理器来展示计算机硬件技术、流水线、存储器层次结构以及I/O等基本功能。此外,本书还包括一些关于x86架构的介绍。 本书主要特点 ·采用ARMv6(ARM11系列)为主要架构来展示指令...
知识点: 1.实时系统和分时系统的区别,举几个实时系统的例子 2.操作系统主要功能和基本特征,三种基本...22.IO软件层次:四层,理解设备独立性 23.如果inode结点中采用索引存储管理方式,如何计算文件最大长度。
答:从计算机系统的层次结构来看,它通常可有五个以上的层次,在每一层次(级)上都能进行程序设计。由下至上可排序为:第一级微程序设计级,微指令由硬件直接执行;第二级传统机器级,用微程序解释机器指令;第三级...
二、单项选择题(在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。) 1.在分时操作系统中,( )是衡量一个分时系统的一项重要指标。 A.响应时间 B.高...
1.了解计算机系统的层次结构; 2.理解计算机的硬件组成、计算机的组要性能指标; 3.掌握信息的数字化表示和存储程序工作方式等基本概念。 知识点: 1.冯诺依曼思想; 2.信息数字化; 3.存储程序。 二、计算机中的...
数据库系统一般由数据库、计算机硬软件系统、数据库管理系统和用户(最终用户 、应用程序设计员和数据库管理员) 四个部分构成。 29.数据库模式主要分为物理结构和逻辑结构两个方面。 30.模式反映的是数据库的结构...
层次结构作了较深入的阐述;第六、七章分别是文件管理和用户接口;第八 章介绍了计算机网络、网络体系结构、网络提供的功能和服务以及Intemet, 第九章对保障系统安全的各种技术和计算机病毒都作了较详细的介绍;第十...
可以灵活地布置组件,例如,以具有异构存储器的复杂的多级非均匀高速缓存层次结构来建模。 5、基于跟踪的CPU模型,可播放弹性跟踪,这些跟踪是由附着到乱序CPU模型的探针生成的依赖项和定时注释的跟踪。 跟踪CPU...