zoukankan      html  css  js  c++  java
  • 转:Cache相关

    声明:本文截取自http://blog.163.com/ac_victory/blog/static/1033187262010325113928577/
    (1)“Cache”是什么

    Cache(即高速缓冲存储器(Cache Memory),是我们最常听到的一个词了。

    (2)为什么要设计Cache

    我们知道,电脑的内存是以系统总线的时钟频率工作的,这个频率通常也就是CPU的外频(对于雷鸟、毒龙系列的处理器,由于在设计采用了DDR技术,CPU工作的外频为系统总线频率的两倍)。但是,CPU的工作频率(主频)是外频与倍频因子的乘积。这样一来,内存的工作频率就远低于CPU的工作频率了。这样造成的直接结果是:CPU在执行完一条指令后,常常需要“等待”一些时间才能再次访问内存,极大降了CPU工作效率。在这样一种情况下, Cache就应运而生了!

    (3)Cache是什么

    Cache是一种特殊的存储器,它由Cache 存储部件和Cache控制部件组成。Cache 存储部件一般采用与CPU同类型的半导体存储器件,存取速度比内存快几倍甚至十几倍。而Cache控制器部件包括主存地址寄存器、Cache 地址寄存器,主存—Cache地址变换部件及替换控制部件等。至于它们各自又是怎样工作的、有何作用等等,就没有必要做进一步的研究,知道一般 Cache分为L1 Cache(其中又分为数据Cache、代码Cache)、L2 Cache就行。

    (4)Cache是怎样工作的

    我们知道,CPU运行程序是一条指令一条指令地执行的,而且指令地址往往是连续的,意思就是说CPU在访问内存时,在较短的一段时间内往往集中于某个局部,这时候可能会碰到一些需要反复调用的子程序。电脑在工作时,把这些活跃的子程序存入比内存快得多的Cache 中。CPU在访问内存时,首先判断所要访问的内容是否在Cache中,如果在,就称为“命中”,此时CPU直接从Cache中调用该内容;否则,就称为 “不命中”,CPU只好去内存中调用所需的子程序或指令了。CPU不但可以直接从Cache中读出内容,也可以直接往其中写入内容。由于Cache的存取速率相当快,使得CPU的利用率大大提高,进而使整个系统的性能得以提升。

  • 相关阅读:
    JQuery常用动画实现函数
    DOM对象和JQuery对象进行转换
    JQuery中的mouseover和mouseenter的区别
    JQuery使用和选择器
    LintCode 11 二叉查找树的搜索区间
    Java IO整理
    JS基础知识——缓动动画
    JS——无缝滚动
    Java GC系列(1):Java垃圾回收简介
    深入理解Java之线程池
  • 原文地址:https://www.cnblogs.com/bewolf/p/4460150.html
Copyright © 2011-2022 走看看