| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1104 人关注过本帖
标题:CPU和内存中间加个缓存为什么会提高CPU利用率?
只看楼主 加入收藏
lantianye
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2007-8-6
收藏
 问题点数:0 回复次数:1 
CPU和内存中间加个缓存为什么会提高CPU利用率?
800MHz 的PIII CPU 的一条指令执行时间约为1.25ns ,而133MHz 的SDRAM 存取时间为7.5ns ,
即83% 的时间CPU 都处于等待状态,运行效率极低。

这句话怎么理解?是内存向外设取指令需要7.5ns,而CPU必须等待内存把指令取过来才能再从内存里把指令取到CPU的吧?就是说,内存在向外设取指令的时候CPU得在那看着内存把指令取到内存里?
而中间加了个缓存就相当于中间加了个传送带,每次内存取了指令就放传送带上,CPU就是从传送带上去指令,这是一本书上的解释。
但是我不明白了,CPU取的快,内存放的慢,一会CPU不就把传送带上的指令取完了吗?那取完了他不还得等?
CPU运算一条指令只需要1.25ns,而内存取个指令就7.5ns,也就是说,CPU运算完6条指令内存才取过来1条,比如传送带上有6条,CPU把这6条都运算完了,内存这才取过来1条而已,内存取来指令不是立即就能被CPU取走吗?接下来CPU运算完那一条,内存这边那个7.5ns还没过完指令还没取到呢,不就又成CPU等待内存了吗?

我到底哪理解错了?请高人指点一下,快快!!拜托了!!!

搜索更多相关主题的帖子: CPU 内存 缓存 利用率 指令 
2007-08-24 00:03
WSY379
Rank: 6Rank: 6
来 自:网络农民
等 级:贵宾
威 望:28
帖 子:1293
专家分:3
注 册:2007-6-24
收藏
得分:0 
首先你要知道缓存是什么~二级缓存又叫L2 CACHE,它是处理器内部的一些缓冲存储器,其作用跟内存一样。 它是怎么出现的呢? 要上溯到上个世纪80年代,由于处理器的运行速度越来越快,慢慢地,处理器需要从内存中读取数据的速度需求就越来越高了。然而内存的速度提升速度却很缓慢,而能高速读写数据的内存价格又非常高昂,不能大量采用。从性能价格比的角度出发,英特尔等处理器设计生产公司想到一个办法,就是用少量的高速内存和大量的低速内存结合使用,共同为处理器提供数据。这样就兼顾了性能和使用成本的最优。而那些高速的内存因为是处于CPU和内存之间的位置,又是临时存放数据的地方,所以就叫做缓冲存储器了,简称“缓存”。PIII一般只有2级缓存P4有的配制了3级缓存~也就是说缓存也在帮助内存工作~当然缓存受限制的话CPU是有一定的浪费~CPU等带处理是有可能的~但是你发现没有~每次机器死机~有两个是肯定的~1、CPU 100%  2、内存资源基本上满~为什么呢?而且很多的时候CPU100%但内存不一定满~其实数据的交流瓶颈在于主板~峰值达到一个数值时就OVER了~

[此贴子已经被作者于2007-8-24 9:42:38编辑过]



/祈福/如果生命以如残喘~!那我活着的唯一意义就是你!~所以我封存了所有的记忆~!等你回来~!!!!!!!
2007-08-24 09:41
快速回复:CPU和内存中间加个缓存为什么会提高CPU利用率?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.042312 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved