爱问知识人 爱问教育 医院库

什么叫缓存和内存缓存区?

首页

什么叫缓存和内存缓存区?


        

提交回答
好评回答
  • 2009-03-08 10:44:15
      什么是缓存?简单来说缓存就是数据交换的缓冲区(称作Cache),当某一硬件要读取数据时,会首先从缓存中查找需要的数据,如果找到了则直接执行,找不到的话则从内存中找。
      在电脑系统里,缓存在很多方面都起着举足轻重的作用, 并且它以各种各样的形式存在不同的硬件里面。
      其中有内存缓存,硬盘和软盘缓存,软件磁盘缓存,还有页面缓存等更多;虚拟内存也是另外一种不同表达形式的缓存。   在电脑系统中,硬件运行速度的快慢基本由缓存决定,缓存的容量越大,相应的硬件运行速度也就越快。   由于缓存的运行速度比内存快得多,故缓存的作用就是帮助硬件更快地运行,因此,我们要不惜使出一切手段来增加硬件的缓存,让机器运行更快(内存缓存是自动分配的)。
        磁盘缓存分为读缓存和写缓存。   读缓存是指,操作系统为已读取的文件数据,在内存较空闲的情况下留在内存空间中(这个内存空间被称之为“内存池”),当下次软件或用户再次读取同一文件时就不必重新从磁盘上读取,从而提高速度。   写缓存实际上就是将要写入磁盘的数据先保存于系统为写缓存分配的内存空间中,当保存到内存池中的数据达到一个程度时,便将数据保存到硬盘中。
      这样可以减少实际的磁盘操作,有效的保护磁盘免于重复的读写操作而导致的损坏,也能减少写入所需的时间。   根据写入方式的不同,有写通式和回写式两种。写通式在读硬盘数据时,系统先检查请求指令,看看所要的数据是否在缓存中,如果在的话就由缓存送出响应的数据,这个过程称为命中。
      这样系统就不必访问硬盘中的数据,由于SDRAM的速度比磁介质快很多,因此也就加快了数据传输的速度。回写式就是在写入硬盘数据时也在缓存中找,如果找到就由缓存就数据写入盘中,现在的多数硬盘都是采用的回写式缓存,这样就大大提高了性能。   缓存英文名为 Cache。
      CPU 缓存也是内存的一种,其数据交换速度快且运算频率高。磁盘缓存则是操作系统为磁盘输入输出而在普通物理内存中分配的一块内存区域。   硬盘的缓冲区   硬盘的缓冲区是硬盘与外部总线交换数据的场所。硬盘的读数据的过程是将磁信号转化为电信号后,通过缓冲区一次次地填充与清空,再填充,再清空,一步步按照PCI总线的周期送出,可见,缓冲区的作用是相当重要的。
      
      它的作用也是提高性能,但是它与缓存的不同之处在于:一、它是容量固定的硬件,而不像缓存是可以由操作系统在内存中动态分配的。二、它对性能的影响大大超过磁盘缓存对性能的影响,因为如果没有缓冲区,就会要求每传一个字(通常是4字节)就需要读一次磁盘或写一次磁盘。

    低***

    2009-03-08 10:44:15

其他答案

    2009-03-07 18:51:24
  •   缓存简介
      CPU缓存(Cache Memory)位于CPU与内存之间的临时存储器,它的容量比内存小但交换速度快。在缓存中的数据是内存中的一小部分,但这一小部分是短时间内CPU即将访问的,当CPU调用大量数据时,就可避开内存直接从缓存中调用,从而加快读取速度。
      由此可见,在CPU中加入缓存是一种高效的解决方案,这样整个内存储器(缓存+内存)就变成了既有缓存的高速度,又有内存的大容量的存储系统了。缓存对CPU的性能影响很大,主要是因为CPU的数据交换顺序和CPU与缓存间的带宽引起的。   缓存是为了解决CPU速度和内存速度的速度差异问题。
      内存中被CPU访问最频繁的数据和指令被复制入CPU中的缓存,这样CPU就可以不经常到象“蜗牛”一样慢的内存中去取数据了,CPU只要到缓存中去取就行了,而缓存的速度要比内存快很多。   这里要特别指出的是:   1。因为缓存只是内存中少部分数据的复制品,所以CPU到缓存中寻找数据时,也会出现找不到的情况(因为这些数据没有从内存复制到缓存中去),这时CPU还是会到内存中去找数据,这样系统的速度就慢下来了,不过CPU会把这些数据复制到缓存中去,以便下一次不要再到内存中去取。
         2。因为随着时间的变化,被访问得最频繁的数据不是一成不变的,也就是说,刚才还不频繁的数据,此时已经需要被频繁的访问,刚才还是最频繁的数据,现在又不频繁了,所以说缓存中的数据要经常按照一定的算法来更换,这样才能保证缓存中的数据是被访问最频繁的。
       [ 缓存的工作原理   缓存的工作原理是当CPU要读取一个数据时,首先从缓存中查找,如果找到就立即读取并送给CPU处理;如果没有找到,就用相对慢的速度从内存中读取并送给CPU处理,同时把这个数据所在的数据块调入缓存中,可以使得以后对整块数据的读取都从缓存中进行,不必再调用内存。
         正是这样的读取机制使CPU读取缓存的命中率非常高(大多数CPU可达90%左右),也就是说CPU下一次要读取的数据90%都在缓存中,只有大约10%需要从内存读取。这大大节省了CPU直接读取内存的时间,也使CPU读取数据时基本无需等待。
      总的来说,CPU读取数据的顺序是先缓存后内存。

    飛***

    2009-03-07 18:51:24

类似问题

换一换

相关推荐

正在加载...
最新问答 推荐信息 热门专题 热点推荐
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200

热点检索

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):