码迷,mamicode.com
首页 > 其他好文 > 详细

存储器层次结构

时间:2015-08-21 09:27:26      阅读:176      评论:0      收藏:0      [点我收藏+]

标签:数据存储   高速缓存   主存   缓存命中   直写   



存储器层次结构
系统存储数据主要有寄存器、SRAM、SDRAM、磁盘,其中SRAM作为系统的高速缓存,DRAM是系统的主存,他们的访问读写速度各不相同,造价也因读写速度不同而不同。如图:

技术分享

cpu读磁盘上数据,首先把磁盘中的数据读取到主存中,然后高速缓存,再到寄存器,通过局部性可参考另一篇文章代码的局部性,把最近使用的数据存储在高速缓存中提高访问速度。
首先我们来介绍两个关于访问存储器中数据的概念:
①缓存命中
cpu处理数据前会先到高速缓存中查看是否有这个数据,有则直接取出来用,这就是命中
②缓存不命中
与缓存命中相反,高速缓存中并没有这个数据,只能从主存中读取然后再把读出的数据存储在高速缓存中,如果高速缓存没有多余的空间,那么覆盖之前的数据,被覆盖的数据一般选择是使用次数最少
的或前一次使用时间距离现在已很久了。


那么cpu写磁盘上的数据呢?有两种方式:
直写    直接越过高速缓存进行些操作
写回    先往高速缓存中写,然后再向低层缓存中写


那么cpu操作数据时,是如何来获得数据的呢?首先我们来看下高速缓存里面存储数据的大致结构,它主要由多个组组成,每个组由一个或多个行组成,每个行又由多个块组成,块是缓存中最小的存储单元,cpu根据组标识来定位到组,然后标记来定位到行,再从偏移来读取行中偏移位置起的数据。

版权声明:本文为博主原创文章,未经博主允许不得转载。

存储器层次结构

标签:数据存储   高速缓存   主存   缓存命中   直写   

原文地址:http://blog.csdn.net/a1009563517/article/details/47829449

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!