TLB的含义、作用和实现。

一、TLB的含义
TLB:Translation Lookaside Buffer 页表缓冲
用于存放页表文件,即虚拟地址VA到物理地址PA的转换表。
二、TLB的作用
引入TLB前:CPU收到来自程序的虚拟内存地址后,首先需要去物理内存中取页表,然后对应程序传来的虚拟页面号,在页表中找到对应的物理页面号,然后才能访问实际的物理内存地址,整个流程中CPU至少访问两次物理内存,实际上可能更多次。因此为了减少CPU访问物理内存的次数,引入TLB。
引入TLB后:CPU收到来自程序的虚拟内存地址后,优先在TLB中进行寻址。TLB负责将虚拟内存地址转换为实际的物理内存地址,然后再去访问实际的物理内存地址。
TLB对地址的处理:地址透传(不做处理)、地址扩展(比如32位扩展为36位)、地址转换(按照一定规则)、地址保护。
三、TLB的实现
3.1 entry
映射机制必须使一个程序能断言某个地址在其自己的进程空间或地址空间内,并且能够高效的将其转换为真实的物理地址以访问内存。一个方法是使用一个含有整个空间内所有页的入口(entry)的表(即页表),每个入口包含这个页的正确物理地址。
Entry:每一条记录虚拟页面和物理页框对应关系的记录称之为一个页表条目。entry的个数一般为16、32、64。
3.2 TLB_miss、TLB_hit、TLB_multi_hit
TLB_hit:
当CPU收到来自程序的虚拟地址后,首先到TLB中查找相应的页表数据,如果TLB中正好存放着所需的页表,则称为TLB命中。
TLB_multi_hit:
当CPU收到来自程序的虚拟地址后,首先到TLB中查找相应的页表数据,如果TLB中存放着所需的页表,且个数大于1,则称为TLB多次命中,属于异常现象。
TLB_miss:
当CPU收到来自程序的虚拟地址后,首先到TLB中查找相应的页表数据,如果TLB中没有对应的存放着所需的页表,则称为TLB_miss,属于异常现象。
3.3 实现
VA:虚拟地址
PA:物理地址
MASK:用来标识并配置输入地址和VA做比较的最小地址单位。假设所有的输入地址都需要比较,此时的输入地址即虚拟地址。
读写通道TLB转换时分开。
四、注意事项
4.1 配置好一次TLB时,可管控该地址的4k空间,即从0000到1000。
4.2 TLB集成功能验证时,需要验证每一entry的走位,确保所有地址转换正确。

  • 8
    点赞
  • 53
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值