- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
TLB、cache与buffer的比较
Tag:?CPU???TLB???CACHE??
一TLB
1)TLB的概述
TLB是一个内存管理单元用于改进虚拟地址到物理地址转换速度的缓存.
TLB是位于内存中的页表的cache,如果没有TLB,则每次取数据都需要两次访问内存,即查页表获得物理地址和取数据.
?
2)TLB的原理
当cpu对数据进行读请求时,CPU根据虚拟地址(前20位)到TLB中查找.TLB中保存着虚拟地址(前20位)和页框号的对映关系,如果匹配到虚拟地址就可以迅速找到页框号,通过页框号与虚拟地址后12位的偏移组合得到最终的物理地址.页框号可以理解为页表项
如果没在TLB中匹配到虚拟地址,就出现TLB丢失,需要到页表中查询页表项,如果不在页表中,说明要读取的内容不在内存,需要到磁盘读取.
TLB是MMU中的一块高速缓存,也是一种Cache.
在分页机制中,TLB中的数据和页表的数据关联,不是由处理器维护,而是由OS来维护,TLB的刷新是通过装入处理器中的CR3寄存器来完成.
如果MMU发现在TLB中没有命中,它在常规的页表查找后,用找到的页表项替换TLB中的一个条目.
?
3)TLB的刷新原则
当进程进行上下文切换时重新设置cr3寄存器,并且刷新tlb.
有两种情况可以避免刷tlb.第一种情况是使用相同页表的进程切换.第二种情况是普通进程切换到内核线程.
lazy-tlb(懒惰模式)的技术是为了避免进程切换导致tlb被刷新.当普通进程切换到内核线程时,系统进入lazy-tlb模式,切到普通进程时退出该模式.
?
二cache1)cache的概念:cache是为了解决处理器与慢速DRAM设备之间巨大的速度差异而出现的.cache属于硬件系统,linux不能管理cache.但会提供flush整个cache的接口.cache分为一级cache,二级cache,三级cache等等.一级cache与cpu处于同一个指令周期.例如:查看当前系统的cache.
dmidecode -t cache
# dmidecode 2.9SMBIOS 2.6 present.
Handle 0x0700, DMI type 7, 19 bytesCache InformationSocket Designation: Not SpecifiedConfiguration: Enabled, Not Socketed, Level 1Operational Mode: Write BackLocation: InternalInstalled Size: 128 KBMaximum Size: 128 KBSupported SRAM Types:UnknownInstalled SRAM Type: UnknownSpeed: UnknownError Correction Type: Single-bit ECCSystem Type: DataAssociativity: 8-way Set-associative
Handle 0x0701, DMI type 7, 19 bytesCache InformationSocket Designation: Not SpecifiedConfiguration: Enabled, Not Socketed, Level 2Operational Mode: Write BackLocation: InternalInstalled Size: 1024 KBMaximum Size: 2048 KBSupported SRAM Types:UnknownInstalled SRAM Type: UnknownSpeed: UnknownError Correction Type: Single-bit ECCSystem Type: UnifiedAssociativity: 8-way Set-associative
Handle 0x0702, DMI type 7, 19 bytesCache InformationSocket Designation: Not SpecifiedConfiguration: Enabled, Not Socketed, Level 3Operational Mode: Write BackLocation: InternalInstalled Size: 4096 KBMaximum Size: 4096 KBSupported SRAM Types:UnknownInstalled SRAM Type: UnknownSpeed: Unk
文档评论(0)