Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1365626
  • 博文数量: 245
  • 博客积分: 10021
  • 博客等级: 上将
  • 技术积分: 3094
  • 用 户 组: 普通用户
  • 注册时间: 2008-05-12 14:51
文章存档

2011年(2)

2009年(152)

2008年(91)

我的朋友

分类:

2009-01-02 12:20:55

缓冲记忆体(cache)

    这个恐怕要多花些时间解释一下了。

    因为电脑的任何设备都是依靠一定的时钟频率(Clock Rate)工作的﹐今天的 CPU 很明显比其他任何的周边都要快得多﹐就算是和它交往最密的 RAM 也最快只有 333MHz而已(写这篇文章的时候)﹐这样就造成了CPU 和周边的不协调了。Cache 的出现﹐就是为了解决这问题而来的。

    前面提到的chips﹐它管辖著三种主要的Bus类型﹕

        * 通往 CPU 的高速 Bus
        * 通往其他 I/O 的低速 Bus
        * 以及通往记忆体的高速 Bus

    但记忆体 Bus 的速度和 CPU 的 Bus 速度还是有差别的。如果 CPU 处理好资料﹐要等其他设备来接走资料才可以进行下一个运算﹔或是其它设备要等 CPU 处理完才可以送下一个资料的话﹐这样系统的效率就给拖慢了。那么我们在 CPU 和 chips 之间的 Bus 增加一种静态记忆体 SRAM(Static RAM)﹐其速度比普通的 RAM 要快得多﹐来做为 CPU 和 chips 之间的缓冲﹐将所有 CPU 输出的资料先接下来﹐再等其他设备能反应过来再接走﹐这样 CPU 就可以继续其工作了﹔或先将周边送来的资料接下来﹐等 CPU 有时间再运算。

    我们称这个 cahe 为 external cache 或 L2 (Level 2) cache因为在 CPU 里面本身就带有一定数量的 internal cache 或称 L1 (Level 1) cache ﹐只不过为数很少﹐比如 486DX 只有 8K 的 L1 cache ﹐Pentium 则有两个独立的 8K L1 cache﹐ ( PII 以后的因为偷懒﹐没去找资料了﹐望谅 ^_^ )。

    您或许不知道 cache 的缓冲模式还有两种 : Write Through 和 Write Back。究竟它们的工作模式有什么分别呢﹖前者是按顺序的接一个资料就传递一个资料出去﹐而后者则是先将资料按一定数量接受下来﹐然后将相同位址的资料一次过整批送出。好比一部电梯﹐如果按先入先出的规矩﹐即在 write through 模式下﹐要是第一个客人去 3 楼﹐第二个去 2 楼﹐然后第三个也是去 3 楼的话﹐这电梯就得先到 3 楼﹐然后 2 楼﹐然后再去 3 楼﹔但如果在 write back 模式下﹐电梯先到 2 楼把第二个送出去﹐然后再到 3 楼把第一和第三送出去﹐效率显然快多了。早期的 cache 只有 write through 模式﹐但现在的 cache 都使用 write back 模式了。

    好了﹐明白到 cache 的工作以后﹐我们在选购主机板的时候就看上面有否 (L2)cache 和 cache 的数量多寡了。这在 Pentium 时代里面尤其重要﹐因为 cache 的造价比 RAM 贵多了。以前额外加多 256K 的 cache 的假期几乎可以加多好几十 MB 的 RAM 了。不过﹐现在给 Pentium II 或 PIII 用的主机板好像已经没有 cache 的了﹐因为 CPU 本身就自带 了 L2 cache。或许您还会听过 Celeron 的名字﹐它之所以比相同速度的 PI I要便宜﹐其中一个很主要原因是少了 cache (不过 Celeron A 系统则有 256K)﹐而 PI I一般都自带有 512K 的cache。 
阅读(1171) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~