在计算机硬件中或者在手机中你总会是遇到一些常见的词语,但是有时候如果是不太深入的研究和了这些专业的术语还真的不知道是什么意思,比如我们说的cache,你时候懂得它的意思,并且了解它的工作原理呢?本文将为大家详细的去介绍一下它的工作原理。希望能够帮助到大家!
cache的基本概念
cache在计算机存储系统的层次结构中,介于中央处理器和主存储器之间的高速小容量存储器。它和主存储器一起构成一级的存储器。高速缓冲存储器和主存储器之间信息的调度和传送是由硬件自动进行的。
我们看到某些机器甚至有二级三级缓存,并且是每级缓存比前一级缓存速度慢且容量大。
cache它的组成结构
高速缓冲存储器是存在于主存与CPU之间的一级存储器,由静态存储芯片(SRAM)组成,容量比较小但速度比主存高得多,接近于CPU的速度。
主要由三大部分组成:
Cache存储体:存放由主存调入的指令与数据块。
地址转换部件:建立目录表以实现主存地址到缓存地址的转换。
替换部件:在缓存已满时按一定策略进行数据块替换,并修改地址转换部件。
基本工作原理
我们看到下图中cache的工作原理,我们看到在Cache存储系统中,把Cache和主存储器都划分成相同大小的块,因此,主存地址由块号B和块内地址W两部分组成。同样的,在Cache的地址也由块号b和块内地址w组成。
它的原理是这样的当CPU要访问Cache时,送来主存地址放入主存地址寄存器。通过主存-Cache地址变换部件把主存地址中的块号B变换成Cache的块号b放入Cache地址寄存器中,并且把主存地址中的块内地址W直接作为Cache的块内地址w装入到Cache地址寄存器中。如果变换成功(称为Cache命中),就用所得到的Cache地址去访问Cache,然后再从Cache中取出数据送往CPU。
在变换的过程中如果是不成功的话,那么将会是产生Cache的失效信息,并且用主存地址访问主存储器。从主存储器中读出一个字送往CPU。同时,把包括被访问字在内的一整块都从主存储器中读出来,装入到Cache中去。在这个时候如果Cache已经装满的话,则要采用某种Cache替换算法把不常用一块先调入主存储器中原来存放它的地方。以便腾出空间来存放新调入的块。由于程序具有局部性特点,当每次块失效时都把一块(通常是由多个字组成)再调入到Cache中,这样是可以能够提高Cache的命中率。
一般来说Cache的容量比较小,主存储器的容量要比它大得多。那么,Cache中的块与主存储器中的块是按照什么样的规则建立对应关系的呢?在这种对应关系下,主存地址又是如何变换成Cache地址的呢?在日后的文章中我们将继续为大家简述!
结语:本文为大家简述的是cache它的工作流程,相信很多非专业人士并非一下子可以看得懂,这也是属于正常,只要是能够掌握到一般以上的一个水平在软考网络考试中也可以是拿到高分。