Zhlw.com - 中华龙网

站长资讯通告:
搜索: 您的位置中华龙网 > 计算机网络 > 电脑医院 > 电脑基础 > 文章列表

电脑硬件快速入门--相关指令/高速缓存

作者:bear  来源:转载  发布时间:2005-12-23 16:36:55
相关指令


  正如我们上文所介绍的那样,Pentium级芯片已经能够在一个时钟周期内同时处理两条不同的指令,这样可以成倍的提高计算机的执行速度。但是,随之出现的一个问题就是执行一条指令时可能需要使用前一条指令的处理结果。例如,当我们计算两个数的平均数时,首先需要对两个数求和,然后再被2除得平均数。如果某一时刻,加法和减法两条运算指令同时等待执行,必须首先执行加法运算,然后利用所得到的和再进行减法运算,而不同简单的并行处理。


  为了有效的解决上述问题,Pentium芯片引入乱序机制,可以查看每一个将要被执行的指令对。如果两条指令之间不存在相关依存关系,就会被同时执行。如果第二条指令需要使用第一条指令的处理结果,则在本时钟周期内只执行第一条指令,而在下一个周期内再执行第二条指令。

高速缓存


  在CPU开始执行任何指令之前,都会首先从内存中取得该条指令以及其它一些相关数据和信息。为了加快CPU的运行速度,几乎所有的芯片都采用两种不同类型的内部存储器,即高速缓存。缓存被用来临时存放一些经常被使用的程序片段或数据。


  一级高速缓存是性能最好缓存类型,与解释指令和执行算术运算的处理单元一到构成CPU的核心。CPU可以在全速运行的状态下读取存放在一级高速缓存中的指令或数据。Intel的处理器产品一般都会具有32K的一级缓存,而象AMD或Via这种竞争对手的产品则会使用更多的一级缓存。


  如果在一级缓存中没有找到所需要的指令或数据,处理器会查看容量更大的二级缓存。二级缓存既可以被集成到CPU芯片内部,也可以作为外部缓存。Pentium II处理器具有512K的二级缓存,工作速度相当于CPU速度的一半。Celeron以及更新的Pentium III芯片则分别具有128K和256K的在片二级缓存,能够在处理器全速下运行。


  对于存放在速度较慢的二级缓存中的指令或数据,处理器往往需要等待2到4个时钟周期。为了充分利用计算资源,CPU可以在这段时间内查看和执行其它正在等候处理,但不需要使用额外数据的指令,从而提高整个系统的速度,把空闲时间降低到最低程度。


  我们上面所介绍的是各种类型的高速缓存,作为计算机系统主内存的DRAM(动态随机存储器)的速度则要比CPU或者任何类型的缓存慢很多。一个500 MHz CPU的时钟周期约为2纳秒,而DRAM至少需要60纳秒的时间对数据请求做出响应。无论Pentium III处理器乱序执行的能力有多强,最终都必须等待来自内存的数据响应。

        用户名: 验证码: 验证码,看不清楚?请点击刷新验证码 (注“”为必填内容。)


文章评论: [ 查看全部 ] 网友评论
关于本站 - 网站帮助 - 广告合作 - 友情连接 - 网站地图