基本原理、基本概念
存储系统存在的问题
对于主存,我们可以用双端口RAM、多模块存储器提高存储器的工作速度,但是无论再怎么提高,优化后速度与CPU差距依然很大。解决该类问题有一个很容易想到的方法是设计一个更高速的存储单元,但是存储器价格更高了,容量又减少了,我们可以利用程序的局部性原理,改善存储体系,增加一个cache主存层次。
cache的工作原理
cache被集成在CPU内部,用SRAM实现,速度快,成本高。
cache的原理基于程序运行中具有的空间局部性和时间局部性特性。
CPU与cache之间的数据交换是以字为单位,而cache与主存之间的数据交换是以块为单位。
cache的映射方式
如何区分cache中存放的是哪个主存块?
给每个cache增加一个标记,记录对应的贮存块号。
全相联映射(随意放)
如何访存?
直接映射(只能放固定位置)
如何访存?
组相联映射(可放到特定分组)
替换算法
随机算法RAND
先进先出算法FIFO
近期最少使用算法LRU
最不经常使用算法
cache写策略
写命中
写回法——当CPU对cache写命中时,只修改cache的内容,而不立即写入主存,只有当此块被换出时才写回主存,减少了访存次数,但存在数据不一致的隐患。
全写法——当CPU对cache写命中时,必须把数据同时写入cache和主存,一般使用写缓存。
使用写缓存,CPU写的速度很快,若写操作不频繁,则效果很好。若写操作很频繁,可能会因为写缓冲饱和而发生阻塞。
写不命中
多级cache
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
机房租用,北京机房租用,IDC机房托管, http://www.e1idc.net