计算机组成原理 第17讲_Cache
- 格式:ppt
- 大小:644.00 KB
- 文档页数:39
计算机组成原理课程报告学号:班级:姓名:Cache的发展历程及应用在计算机组成原理课学过Cache之后我才发现原来我对Cache了解的如此之少,以前在买电脑时经常看到一级缓存、二级缓存和三级缓存,然而当时并不懂这是什么东西,现在学过Cache 之后才知道了缓存在电脑中的地位.原来Cache在提高计算机速度方面有如此大的作用。
那么就让我们来了解一下Cache的发展历程。
经过我查资料得知,Cache一词来源于法语,其原意是“藏匿处,隐秘的地方”,而自从被应用于计算机科学之后,就已经成为了英语中的一个计算机体系结构专有名词。
Sun Microsystems 的前首席科学家Billy Joy,作为BSD unix,csh,vi,NFS,java,TCP/IP等的发明者,他曾经说过,在计算机科学领域,如果没有了cache的发明,其他的一切发明都将失去意义。
而正是他,将给予分页的虚拟内存系统引入了Unix,影响了之后所有的新操作系统开发。
Cache的出现正是为了解决CPU日益增长的核心时钟频率以及系统主内存日益落后的速度之间的矛盾①。
这就是Cache解决的主要问题。
那么,这个问题是怎样显现出来以及Cache是如何出现的呢?纵观PC系统和CPU二十年的发展,随着半导体加工工艺水平的不断提高,集成电路技术的不断进步,导致生产成本不断降低,CPU的功能不断增强,运算速度越来越快,CPU和存储器的性能都有了很大的提高。
CPU频率的提高,必然要求系统中存储器的存取速度要提高,还要求其容量要增大。
主存储器DRAM容量的提高还是比较快的,但是DRAM读取时间的提高却很慢。
从而在速度上与CPU主频的提高产生了极不相配的情况,这样会影响整个系统的性能.二十年来,CPU 设计的问题之一就是解决高速CPU和低速DRAM之间的平衡或匹配问题,以求系统性能的整体提高。
在它们之间加入高速缓冲存储器Cache,就是这个问题的解决方案之一。
计算机组成原理--cache主存地址映射
1.位(bit)<字节(byte)<字?
计算机内存中,最⼩的存储单位是“位(bit)”,8个“位”构成⼀个“字节(byte)”,字节是内存的基本单位,也是编址单位。
例如,某计算机的内存是2GB,指的就是该计算机的内存中共有2×1024×1024×1024个字节。
计算机的性能越强,⼀次运算所能处理的“位”越多,
例如:16位计算机⼀次运算能处理16个“位”,即两个“字节”,称为⼀个“字”。
16位计算机中,⼀个“字”就是两个“字节”
32位计算机⼀次运算能处理32个“位”,即四个“字节”,称为⼀个“字”。
32位计算机中,⼀个“字”就是四个“字节”。
PS: 32位编译系统中,int与long均占四字节。
⽽64位操作系统中,int占四字节,范围为-2147483648~ 2147483647(⼗位数)。
long占8字节,long数据范围变为:-263~263-1。
(long因平台实现不同⽽不同,有4字节,6字节和8字节三种。
)
2.访存地址为字地址,访存地址为字节地址有什么异同?
字块内地址:b = 4位(16字)+2位(32位=4B)=6位
因题中给定:按字访存,故此时只需考虑块长
字块内地址:b = 2位(块长=4)。
计算机组成原理cache
计算机组成原理中的cache,是指作为CPU与内存之间的缓存器,用于提高计算机访问内存的速度。
cache一般由高速SRAM组成,速度比DRAM快得多,而且由于其容量较小,可以用来缓存CPU最频繁使用的数据和指令,从而减少对内存的访问次数,提高计算机的执行效率。
cache的大小和组织方式是影响计算机性能的重要因素之一。
一般来说,cache的大小越大,覆盖的内存区域也就越大,可以缓存更多的数据和指令,从而提高计算机的性能。
同时,cache还可以通过分为多级来提高性能,其中一级cache位于CPU内部,速度最快,容量最小,常常只能缓存几十KB的数据,而二级cache则通常位于CPU 和内存之间,容量较大,速度较快,可以缓存几百KB或几MB的数据。
当CPU需要访问内存中的数据或指令时,首先会检查cache中是否已经缓存了这些数据或指令。
如果已经缓存了,CPU就可以直接从cache中读取,从而避免了对内存的访问。
如果cache中没有缓存这些数据或指令,CPU就会从内存中读取,并将其缓存到cache中,以备以后使用。
cache还有一种常见的问题,就是缓存一致性问题。
由于多个CPU 或多个核心可能共享同一块内存区域,当其中一个CPU或核心修改了这个内存区域中的数据时,其他CPU或核心的cache中缓存的数据就已经过时了,需要进行更新。
为了解决这个问题,常常需要通过总线协议、缓存行标记等机制来保证缓存的一致性。
总之,cache是计算机组成原理中的重要概念之一,对于理解计算机系统的运作原理和优化计算机性能都有重要的作用。
王道讲计组cache课后题(原创实用版)目录1.介绍王道讲计组 cache 课后题2.解析课后题的关键知识点3.举例说明如何解答课后题4.总结王道讲计组 cache 课后题的解题技巧和方法正文一、介绍王道讲计组 cache 课后题王道讲计组 cache 课后题是针对计算机组成原理中 cache 这一知识点的课后练习题,旨在帮助学生巩固和加深对 cache 的理解。
cache 是计算机系统中的一种高速缓存存储器,用于存放最常用的数据和指令,以减少 CPU 与主存储器之间的访问延迟。
通过做王道讲计组 cache 课后题,学生可以更好地掌握 cache 的原理、结构和操作。
二、解析课后题的关键知识点在解答王道讲计组 cache 课后题时,需要掌握以下几个关键知识点:1.cache 的存储方式:包括直接映射、组相联和全相联等。
2.cache 的替换策略:包括随机替换、最近最少使用(LRU)和时钟替换等。
3.cache 的读写操作:包括读操作、写操作和写回操作等。
4.cache 的命中率:包括命中率的定义、计算方法和如何提高命中率。
三、举例说明如何解答课后题以一道简单的王道讲计组 cache 课后题为例:题目:假设有一个 4 路组相联 cache,共 16 个字块。
主存储器中有 4 个块 A、B、C、D,分别存储数据 1、2、3、4。
现在有以下访问序列:1-2-3-4-1-2-3-4-1,请回答以下问题:1.cache 初始状态是什么?2.按照给定的访问序列,cache 的状态如何变化?3.计算命中率。
解答过程如下:1.初始状态下,cache 中没有数据,因此需要将主存储器中的数据依次加载到 cache 中,得到 cache 的状态为:A1-B2-C3-D4。
2.按照访问序列,cache 的状态变化如下:- 访问 1,cache 命中,状态不变:A1-B2-C3-D4。
- 访问 2,cache 命中,状态不变:A1-B2-C3-D4。
计算机组成原理——cache⾼速缓存存储器cache-⾼速缓存存储器在主存与CPU之间插⼊⼀级或多级SRAM组成的⾼速缓存存储器。
扩展cache有限,因为SRAM价格昂贵。
cache作⽤:为了解决CPU和主存之间速度不匹配⽽采⽤的⼀项重要技术。
cache特性:具有空间局部性以及时间局部性。
cache的组成:SRAM和控制逻辑。
如果cache在CPU芯⽚外,它的控制逻辑⼀般和主存控制逻辑合成在⼀起,称主存/cache控制器。
若cache在CPU 内,则由CPU提供它的控制逻辑。
CPU与cache之间的数据交换是以字为单位,⽽cache与主存之间的数据交换是以块为单位。
⼀个块由若⼲字组成,是定长的。
cacheache的命中率:为了使主存的平均读出时间尽可能接近cache的读出时间,cache命中率应接近于1.地址映射含义:为了把主存块放到cache中,必须应⽤某种⽅法把主存地址定位到cache中,称作地址映射。
地址映射⽅式:全相联映射⽅式、直接映射⽅式和组相联映射⽅式。
全相联映射⽅式⼩结:(1)在全相联cache中,全部标记⽤⼀个相联存储器来实现,全部数据⽤⼀个普通RAM来实现。
(2)优点”冲突率⼩,cache利⽤率⾼(3)缺点:⽐较器难于设计与实现(4)只适⽤⼩容量cache。
直接映射⽅式⼩结:(1)优点:硬件简单,成本低。
(2)缺点:每个主存块只有⼀个固定得⾏位置可存放。
(3)发⽣冲突率⼤。
(如果块号相距m整数倍得两个块存于同⼀cache⾏时)(4)适合⼤容量cache.组相联映射⽅式⼩结:适度兼顾了“全相联映射⽅式”和“直接映射⽅式”的优点以及尽量避免两者的缺点。
替换策略含义:当⼀个新的主存块需要拷贝到cache,⽽允许存放块的⾏位置都被其他主存占满时,就要产⽣替换。
适合的地址映射⽅式:全相联映射⽅式和组相联映射⽅式(1)最不经常使⽤(LFU)算法含义:将⼀段时间内被访问次数最少的那⾏数据换出。
cache计算机组成原理小伙伴们!今天咱们来唠唠计算机组成原理里超级有趣的一个东西——Cache(高速缓冲存储器)。
你可以把计算机想象成一个超级大的办公室。
这里面有各种各样的员工(部件)在忙忙碌碌地干活。
而Cache呢,就像是办公室里最机灵的小秘书。
为啥这么说呢?你想啊,CPU(中央处理器)这个大老板,每天都要处理好多好多的数据,就像大老板每天要做各种决策一样。
这些数据呢,原本是放在内存这个大仓库里的。
可是呀,内存离CPU有点远,每次CPU要找个数据,就像大老板要从老远的大仓库里找个文件一样,特别费时间。
这时候,Cache就闪亮登场啦。
Cache这个小秘书特别聪明,它就在CPU的身边,离得超级近。
它就像有个超能力,会提前猜一猜CPU这个大老板接下来可能会用到哪些数据。
然后呢,它就偷偷地从内存这个大仓库里把那些可能会用到的数据拿过来,放在自己这里。
当CPU说:“我要找个数据啦。
”Cache就会特别快地说:“老板,你要的是不是这个呀?”然后一下子就把数据给CPU了。
这速度,就像闪电一样快。
Cache这个小秘书呀,它的存储空间可没有内存那么大。
它就像是一个小巧精致的文件柜,虽然装不了太多东西,但是放的都是最最常用的文件。
比如说,你每天都要用到的办公软件的一些小设置之类的。
它把这些常用的数据放在身边,就为了能让CPU快速拿到。
那Cache是怎么知道哪些数据是常用的呢?这就像是小秘书有自己的小秘诀。
它会根据数据被访问的频率呀,还有一些算法来判断。
就好像小秘书会观察,哪些文件大老板经常看,哪些偶尔才看一次。
经常看的就牢牢放在自己身边的小文件柜里,不常看的就先放一边。
有时候呀,也会出点小状况。
比如说,Cache以为CPU会用到某个数据,就把它从内存里拿过来了,结果CPU要的是另外一个数据。
这就像小秘书猜错了大老板的心思。
不过没关系呀,Cache会很快调整自己的策略,再去内存里找正确的数据。
而且呢,Cache还有不同的级别。