Cache基本原理

Cache基本原理 Cache基本原理

blog.chinaunix.net
from blog.chinaunix.net More from this publisher

<strong>Cache基本原理</strong><br />

六部/nizqsut<br />

部门/作者


目录<br />

• 为什么会有Cache?<br />

• SRAM和DRAM<br />

• Cache逻辑<br />

• Cache的类型和替换策略<br />

• Cache指令<br />

www.ruijie.com.cn 第 2页 / 共 4页


为什么会有Cache?<br />

• 存储分层<br />

• 局部性原理<br />

• 使CPU的pipeline无间歇的运转<br />

• 硬件逻辑入手,了解Cache的结构<br />

www.ruijie.com.cn 第 3页 / 共 4页


SRAM和DRAM?<br />

• SRAM和DRAM比较<br />

› 基本单元的实现<br />

» Sram 双稳态(6个晶体管),不需要刷新<br />

» Dram 单稳态(1个晶体管),需定期刷先<br />

› 工艺/成本/速度<br />

» Sram纯逻辑工艺,方便集成到芯片内部、访问速度快(门级延时)。但是需<br />

要晶体管数目多、面积大,成本高。<br />

» Dram工艺复杂,集成到芯片内部很困难、访问速度慢(延时很大)。但需要<br />

晶体管数目少、成本低。<br />

» 同样容量的sram面积是dram的3倍<br />

Cache要求访问速度快,所以Cache的存储单元通常是SRAM。<br />

问题1:用dram做cache是否可能?<br />

www.ruijie.com.cn 第 4页 / 共 4页


Cache逻辑<br />

• Ways<br />

• Set associative<br />

• Cache line<br />

• Cache size = Ways * Sets * Cache line<br />

• Eg. BCM53003 Cache size<br />

› 32KByte = 4(Ways) * 256(Sets) * 32Byte(Cache line)<br />

辅助电路:多路选择器和比较器<br />

www.ruijie.com.cn 第 5页 / 共 4页


Cache逻辑<br />

www.ruijie.com.cn 第 6页 / 共 4页


固定地址映射<br />

• 固定TLB映射<br />

www.ruijie.com.cn<br />

第 7页 / 共 4页


Cache的寻址过程<br />

问题2:怎样加快上图的寻址过程?<br />

www.ruijie.com.cn<br />

第 8页 / 共 4页


Cache类型<br />

• Write-back<br />

• Write-through<br />

• 问题3:write-buffer和cache两个概念?<br />

• 问题4:如何保证Cache一致性?<br />

www.ruijie.com.cn 第 9页 / 共 4页


Cache的替换策略<br />

• LRU(Least Recently Used)、伪LRU<br />

• LRF(Least Recently Fill)<br />

• Random<br />

• WLRU - 王大师发明的,有兴趣的可以google下。<br />

• LRU实现需要额外的硬件实现,Ways不能太大否则LRU实现太复杂。<br />

www.ruijie.com.cn 第 10页 / 共 4页


Cache指令<br />

• Invalidate range of locations<br />

• Write-back range of locations<br />

• Invalidate entire cache<br />

• Initialize caches<br />

www.ruijie.com.cn<br />

第 11页 / 共 4页


Cache指令<br />

www.ruijie.com.cn 第 12页 / 共 4页


回顾<br />

• Cache对于软件人员来说,大多数情况都是透明的。<br />

但是平台有时候需要处理一些Cache不一致导致的问题,<br />

因此了解Cache的原理,对写底层驱动和处理一些Cache不一致性的问题<br />

有帮助。<br />

• 重点是:Cache逻辑结构、Cache一致性问题<br />

www.ruijie.com.cn 第 13页 / 共 4页


Q<br />

A<br />

Thanks Thanks Thanks!<br />

www.ruijie.com.cn<br />

第 14页 / 共 4页

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!