Ⅰ cpu,cache与主存数据交换原理
cpu缓存(cache
memoney)位于cpu与内存之间的临时存储器,它的容量比内存小但交换速度快。
设置它主要是为了提高速度的。
我们可以想象一下,主存里面有大量的数据等cpu来处理,cpu处理速度赶不上的时候,就会停止对主存的数据检索,当cpu有空余的处理体的时候,会再次检索主存,但是这样的话,由于主存的速度不够高,造成了cpu的延时,影响了速度。所以就会设立一个cpu缓存,用来存放cpu代处理的数据,这样可以提高处理的速度。
如果cpu有空余的处理单元是主存数据直接进入cpu,如果cpu没有空余的处理单元是主存数据进入cpu缓存中,然后等cpu有空余资源的时候,再从cache中提取出来。
Ⅱ cache 可以是看作是主存的延伸,与主存统一编址,接受cpu的访问,但其速度要比主存高得多,这对
cache是高速缓冲存储器存储了频繁访问的主存,直接接受CPU的访问,速度也比主存快?错,错在 并不是所有的数据cache 都比主存快,例如处理器引用某些地址时,先看cache里有没有,他有的化,就直接复制到哪里,速度就提高了,要是没有,一样跟主存一样速度
应该是“接受CPU访问”之前的错了 高速缓存分为多级,有一级缓存,主要用来缓存CPU指令,二级缓存,才是CPU于物理内存之间的缓存,至于三级缓存应该就是二级缓存于内存间的另一个缓存,所以不是统一编址的
传统意义上,我们把memory翻译成内存,这个词在台湾似乎是翻译为记忆体。在pc上一般指的ram。但是在移动设备中还有一个词叫做internal storage,这个词直译就是内存,但跟我们pc时代所说的内存具有完全不同的含义。所以,现在内存确实可以是ram,是内存条,也可能是手机上的flash。在说内存的时候现在倾向于直接使用ram来指代,避免歧义。
概述
存储器分类
存储器的层次结构
主存储器
概述:
半导体芯片简介
随机存取存储器(RAM)
只读存储器(ROM)
存储器与CPU的连接
存储器的校验
汉明码简介:
提高访问速度的措施
高速缓冲存储器
Cache的工作原理:
主存—Cache的地址映射
写操作
Pentium的Cache
辅助存储器
概述
存储器分类
按存储介质分类:
半导体存储器 TTL,MOS
磁表面存储器 磁头,载磁体
磁芯存储器 硬磁材料,环状元件
光盘存储器 激光,磁光材料
按存取方式分类:
1.存取时间与物理地址无关(随机访问)
随机存储器 在程序的执行过程中 读 写
只读存储器 在程序的执行过程中 读
2.存取时间与物理地址有关(串行访问)
顺序存取存储器 磁带
直接存取存储器 磁盘
3.按在计算机中的作用分类
存储器:主存储器,Flash Memory,高速缓冲存储器(Cache),辅助存储器
主存储器:RAM,ROM,
RAM:静态RAM,动态RAM
ROM:MROM,PROM,EPROM,EEPROM
辅助存储器:磁盘,磁带,光盘
存储器的层次结构
存储器三个主要特性的关系:
速度:快--慢
容量:小--大
价格:高--低
缓存—主存层次和主存—辅助层次
缓存—主存:主存储器地址 注重速度 由硬件来处理
主存—辅存:虚拟存储器 注重容量 由软硬件相结合
程序的局部性原理:程序在执行时呈现出局部规律,即在一段时间内,整个程序的执行仅限于程序中的某一部分。相应的,执行所访问的存储空间也局限于某个内存区域。
主存储器
概述:
1.主存的基本组成
2.主存和CPU的联系
3.主存中存储单元地址的分配
高位字节 地址为字地址
地址线24根,按字节寻址范围为224224 =16M;
若字长32位,则一个字有4个字节,所以要留2根地址线指出该字中的哪个字节[00,01,10,11],即寻址范围为 224−2=4M224−2=4M;
若字长16位,则一个字有2个字节,所以要留1根地址线指出该字中的哪个字节[0,1],即寻址范围为 224−1=8M224−1=8M;
Ⅲ CPU写 Cache时,会发生 Cache与主存的对应复本内容不一致的现象,解决这个问题有哪些方法各需要增加什么
写回法:CPU只写入Cache,不写入主存,仅当Cache块替换时,才先写回主存后
再替换。这种方法要求对每个Cache块增加一个修改位的资源开销。
写直达法:CPU每次写Cache的同时,也经写直达通路写入主存。这种方法要增加写主存的时间开销。
Ⅳ 简述Cpu与cache.主存和外存的关系
计算机的读取顺序为外存→内存→Cache→cpu
CPU缓存可以大幅度提升CPU内部数据读取效率,因此是衡量CPU性能的一个重要指标,包括L1 Cache(一级缓存)、L2Cache(二级缓存)和L3 Cache(三级缓存)三种,其中L1 Cache是CPU第一层..
什么是cpu缓存
CPU缓存可以大幅度提升CPU内部数据读取效率,因此是衡量CPU性能的一个重要指标,包括L1 Cache(一级缓存)、L2Cache(二级缓存)和L3 Cache(三级缓存)三种,其中L1 Cache是CPU第一层高速缓存,由于CPU制造工艺等方面的因素,L1缓存的容量一般都比较小。一般CPU的L1缓存容量通常在32KB~256KB左右。L2 Cache是CPU的第二层高速缓存,L2高速缓存容量对CPU的性能有很大的影响,一般来说是越大越好,现在使用的CPU的L2 Cache容量一般在256KB~2MB。L3 Cache(三级缓存)能进一步降低内存延迟,也能增强CPU处理大数据量的能力。随着64位处理器的全面普及,出于进一步提升CPU性能的考虑,Intel已经把高速的L3 加入到Itanium 2和P4EE中。
CPU的英文全称是:Central Processing Unit,也就是中央处理器。从雏形发展壮大到今天,CPUde 制造技术是越来越先进,其集成的电子元件也越来越精密,上万个,甚至是上百万个微型的晶体管构成了CPU的内部结构。那么这上百万个晶体管是如何工作的呢?看上去似乎很深奥,其实只要稍加分析就会一目了然的,CPU的内部结构可分为控制单元,逻辑单元和存储单元三大部分。而CPU的工作原理就象一个工厂对产品的加工过程:进入工厂的原料(指令),经过物资分配部门(控制单元)的调度分配,被送往生产线(逻辑运算单元),生产出成品(处理后的数据)后,再存储在仓库(存储器)中,最后等着拿到市场上去卖(被应用程序使用)。
存储器按照用途可分为主存储器和辅助存储器,主存储器又称内存储器(简称内存),辅助存储器又称外存储器(简称外存)。外存通常是磁性介质或光盘,像硬盘,软盘,磁带,CD等,能长期保存信息,并且不依赖于电来保存信息,但是由机械部件带动,速度与CPU相比就显得慢的多。内存指的就是主板上的存储部件,是CPU直接与之沟通,并用其存储数据的部件,存放当前正在使用的(即执行中)的数据和程序,它的物理实质就是一组或多组具备数据输入输出和数据存储功能的集成电路,内存只用于暂时存放程序和数据,一旦关闭电源或发生断电,其中的程序和数据就会丢失。
Ⅳ 请问CPU, Cache和主存之间数据交换的基本流程
CPU接收到指令后,它会最先向CPU中的一级缓存(L1 Cache)去寻找相关的数据,然一级缓存是与CPU同频运行的,但是由于容量较小,所以不可能每次都命中。这时CPU会继续向下一级的二级缓存(L2 Cache)寻找,同样的道理,当所需要的数据在二级缓存中也没有的话,会继续转向L3 Cache(如果有三级缓存的话,如Xeon、Phenom等)、内存(主存)和硬盘。
Ⅵ CPU是具体是如何访问Cache中
cpu与主存储器之间速度不匹配的矛盾也就更加突出,比如说pentium处理器平均每10ns就执行一条指令,但dram的典型访问速度是60-120ns,这相差了6-12倍,我想这样的速度cpu是无法忍受的,也不能委屈cpu去将就dram,这样cpu的发展就会受到阻碍。无法想象cpu必须和dram同步发展的景象。所以就在cpu与主存之间在增加一级或多级能与cpu速度相匹配的高速缓冲存储器即所谓的cache.
cache的研制是基于局部性思想原理的,也就是用到了概率的原理,就是在一个较短的时间间隔内,由程序产生的地址往往是集中在主存储器逻辑地址空间很小的范围内,指令地址也是连续的,加上循环程序段和子程序段的重复执行,对这些地址的访问,自然具有时间上集中的倾向了,数据分布的这种集中虽不如指令明显,但对数组的存储和访问以及工作单元的选择都可以使存储地址相对集中。
由于以上所述的局部性原理,就导致了对局部范围的存储器地址的频繁访问,对此外地址访问则很少的情形,为此就提出了这样的设计思想,即使用高性能的sram芯片组成高速小容量的缓存器(cache),使用最低价格,最小体积能提供更大存储空间的dram芯片组成主存储器,而在缓存器(cache)里放着主存的一部分副本,当存储器收到读指令时,现在cache中查找此信息,若找到则执行,若没有,则直接到主存中读取,同时写入cache,之后cpu查该信息时就可以知访问cache而不必访问低速的主存储器,由于程序访问的局限性,就可以保证cpu读取cache中数据命中率比较高,缩短了相应的存取时间,从而可提高计算机整体的运行速度。
Ⅶ 在主存和CPU之间加cache有什么用
这个就是计算机数据存储的层次结构。
内存就好像是CPU存放数据的仓库,而这个仓库的吞吐速度,其实是远远赶不上CPU的处理速度的,所以,如果CPU直接从内存读写数据,CPU很多时候都要等待仓库而怠工,CPU的处理效率大打折扣。
所以,我们设计了高速缓存Cache,将CPU经常调用的数据,从内存抓进Cache,而Cache的速度是高于内存的,和CPU的速度接近。这样一来,CPU经常读写的数据因为放入Cache而被加速,CPU的处理效率也就被提升了。
Ⅷ CPU每次访问主存都要先访问Cache吗
不太对吧。主存编址和缓存编址不完全相同,它们之间还有映射的问题。CACHE作为CPU和主存之间的部件,解决CPU与主存速度不匹配和CPU空等问题。
Ⅸ cpu与主存之间设置cache
在cpu与主存之间设置高速缓冲存储器(cache)的目的是:
1、减少cpu的等待时间;
2、提高cpu对主存的访问效率。
什么是cache?
高速缓冲存储器(Cache)是位于CPU与主存间的一种容量较小但速度很快的存储器。
作用:
由于CPU的速度远高于主存,CPU直接从主存中存取数据要等待一定的时间周期,Cache中保存着CPU刚用过或循环使用的一部分数据,当CPU再次使用该部分数据时可从Cache中直接调用,这样就减少了CPU的等待时间,提高了CPU对主存的访问效率
因为cpu的速度太快了。硬盘和内存的速度无法跟上。就必须弄出几级cache来暂存数据。否则,cpu把数据处理完毕,但是硬盘上的数据和内存中的数据却还没有达到cpu,那样cpu就会空转,影响整个系统的效率
以上就是在cpu与主存之间设置cache的目的的详细内容,