TLB快表的作用

华为昇腾Ascend C中级认证考试-tanh 注册昇腾社区账号后可以免费领券考试。 阅读详情

TLB快表的作用  


Translation lookaside buffer。
根据功能可以译为快表,直译可以翻译为旁路转换缓冲,也可以把它理解成页表缓冲。里面存放的是一些页表文件(虚拟地址到物理地址的转换表)。当处理器要在主内寻址时,不是直接在内存的物理地址里查找的,而是通过一组虚拟地址转换到主内存的物理地址,页表文件(PTE page table entry 页表条目存放在内存中)就是负责将虚拟内存地址翻译成实际的物理内存地址,TLB中存放了部分PTE页表的缓存。而CPU寻址时会优先在TLB中进行寻址。TLB是在MMU中包括的一段小的缓存(MMU memory management unit 存储器管理单元,是CPU芯片上的一个专用硬件)。处理器的性能就和寻址的命中率有很大的关系。

TLB命中和TLB失败

如果TLB中正好存放着所需的页表,则称为TLB命中(TLB Hit);如果TLB中没有所需的页表,则称为TLB失败(TLB Miss)。

如果命中的话,就可以直接将虚拟地址转换为物理地址,如果不命中,则必须在PTE页表中继续查找,并将找到的PTE存放到T
LB中,覆盖已经存在的一个条目。

TLB条目数
即页表条目数,Entry.

TLB的联合方式

1〉全联合方式(fully associate):Athlon XP
2〉4路联合方式(4-way set
associate):P4

当CPU执行机构收到应用程序发来的虚拟地址后,首先到TLB中查找相应的页表数据,如果TLB中正好存放着所需的页表,则称为TLB命中(TLBHit),接下来CPU再依次看TLB中页表所对应的物理内存地址中的数据是不是已经在一级、二级缓存里了(一级缓存和二级缓存中的内容都是内存中访问频率高的数据的复制品(映射),它们的存在都是为了减少高速CPU对慢速内存的访问。 通常CPU找数据或指令的顺序是:先到一级缓存中找,找不到再到二级缓存中找,如果还找不到就只有到内存中找了
)。若没有命中则到内存中取相应地址所存放的数据。既然说TLB是内存里存放的页表的缓存,那么它里边存放的数据实际上和内存页表区的数据是一致的,在内存的页表区里,每一条记录虚拟页面和物理页框对应关系的记录称之为一个页表条目(Entry),同样地,在TLB里边也缓存了同样大小的页表条目(Entry)。

TLB内部存储空间被划分为大小相同的块(即TLB页表条目),这些块的大小==内存的页表区里页表条目的大小。所以,就可以在TLB页表条目和内存页表条目间建立一定的相互对应关系。当CPU需要页表数据时,它必须迅速做出如下的2个判断:一个是所需要的页表是否已缓存在TLB内部(即判断TLB命中或是失败),另一个是所需要的页表在TLB内的哪个条目内。为了尽量减少CPU做出这些判断所需的时间,就必须在TLB页表条目和内存页表条目之间的对应方式上动点脑筋,下面是几种常见的对应关系。

名称

方式

应用

全联合方式

内存页表里的任何一个条目都可能被对应(缓存)到TLB的任何一个条目,TLB内所有条目都可能被对应到内存页表里的所有条目上。

Athlon XP在L1指令TLB部分全是这种方式

4路联合方式

只有内存页表区的某些条目可能被缓存到TLB的某4个页表条目所在的块上。

P4处理器一般采用这种方式


全相联映像规则:
主存中任意一块都可映像装入到Cache中任意一块位置。
全相联映像法的优点是块冲突概率最低,只有当Cache全部半月满才可能出现块冲突,所以,Cache空间利用率最高。但要构成容量为2ncb项的相联存储器,其代价太大,而且Cache容量很大时,其查表速度很难提高。
任意映象,命中率最高,实现最复杂

全相连
优点:命中率比较高,Cache存储空间利用率高。
缺点:访问相关存储器时,每次都要与全部内容比较,速度低,成本高,因而应用少。


组相连
组相联的映象规则:
(1) 主存和Cache按同样大小划分成块。
(2) 主存和Cache按同样大小划分成组。
(3) 主存容量是缓存容量的整数倍,将主存空间按缓冲区的大小分成区,主存中每一区的组数与缓存的组数相同。
(4) 当主存的数据调入缓存时,主存与缓存的组号应相等,也就是各区中的某一块只能存入缓存的同组号的空间内,但组内各块地址之间则可以任意存放, 即从主存的组到Cache的组之间采用直接映象方式;在两个对应的组内部采用全相联映象方式。

优点:块的冲突概率比较低,块的利用率大幅度提高,块失效率明显降低。
缺点:实现难度和造价要比直接映象方式高。

PyTorch实战(2)——使用PyTorch构建神经网络 在本节中,我们使用 PyTorch 在简单数据集上构建了一个神经网络,训练神经网络来映射输入和输出,并通过执行反向传播来更新权重值以最小化损失值,并利用 Sequential 类简化网络构建过程;介绍了获取网络中间值的常用方法,以及如何使用 save、load 方法保存和加载模型,以避免再次训练模型。 阅读详情

相关推荐

腾讯WeKnora开源了!手把手教你用Docker+Ollama本地部署多模态知识库(附避坑指南)

本文详细介绍了腾讯开源的多模态知识库工具WeKnora的本地部署方法,通过Docker和Ollama实现完全离线运行。文章包含环境准备、核心组件配置、Ollama模型集成、系统启动验证及高级性能调优等实战内容,特别适合需要构建私有化知识库的中小团队和个人开发者。

weixin_30664051的博客 478

TLB的作用及工作过程

TLB的作用及工作过程 以下内容摘自《步步惊芯——软核处理器内部设计分析》一书 页表一般都很大,并且存放在内存中,所以处理器引入MMU后,读取指令、数据需要访问两次内存:首先通过查询页表得到物理地址,然后访问该物理地址读取指 令、数据。为了减少因为MMU导致的处理器性能下降,引入了TLB,TLB是Translation Lookaside Buffer的简称,可翻译为“地址...

flc2762的专栏 2172

保姆级教程:用STM32CubeMX配置GD32的CAN总线(含异常处理)

本文提供了一份详细的STM32CubeMX配置GD32 CAN总线开发指南,涵盖从HAL库移植到异常处理的全过程。重点解析GD32与STM32在CAN总线初始化、报文发送优先级处理等方面的关键差异,并提供优化代码维护与版本控制的实用策略,帮助开发者高效完成项目迁移。

onion的博客 829

具有快表的地址变换机构(实现逻辑地址到物理地址转换)

快表,又称是一种的高速缓存(TLB不是内存!),用来存放最近访问的页表项的副本,可以加速地址变换的速度。与此对应,内存中的页表常称为慢表。

jungleirim的博客 1338

解决fetch_california_housing数据集403错误的3种实用方法(附手动下载地址)

本文针对机器学习中常见的fetch_california_housing数据集403 Forbidden错误,提供了三种实用的解决方案。从理解HTTP 403错误的根源出发,详细介绍了修改源码路径、使用国内镜像源以及手动下载并配置数据文件这三种方法,并附带了可靠的手动下载地址,帮助开发者彻底解决数据加载障碍,确保机器学习项目顺利进行。

weixin_29062963的博客 561

Unity面试题总结

Unity面试题

sinat_34014668的博客 1万+

TLB表作用及特点

TLB:Translation Lookaside Buffer. 根据功能可以译为快表,直译可以翻译为旁路转换缓冲,也可以把它理解成页表缓冲。里面存放的是一些页表文件(虚拟地址到物理地址的转换表)。当处理 器要在主内存寻址时,不是直接在内存的物理地址里查找的,而是通过一组虚拟地址转换到主内存的物理地址,TLB就是负责将虚拟内存地址翻译成实际的物理内存地址,而CPU寻址时会优先在TLB中进行寻址。处理器的性能就和寻址的命中率有很大的关系。 映射机制必须使一个程序能断言某个地址在其自己的进程空间或地址空间

渣渣 4000

UNet 改进(22):结合Transformer结构

保留了UNet的经典编码器-解码器结构在瓶颈层使用Transformer替代传统的卷积层采用跳跃连接保持空间细节信息使用双卷积块(DoubleConv)作为基础构建模块。

2401_82355416的博客 774

TLB的作用及工作原理

TLB的作用及工作过程 以下内容摘自《步步惊芯——软核处理器内部设计分析》一书          页表一般都很大,并且存放在内存中,所以处理器引入MMU后,读取指令、数据需要访问两次内存:首先通过查询页表得到物理地址,然后访问该物理地址读取指令、数据。为了减少因为MMU导致的处理器性能下降,引入了TLB,TLB是Translation Lookaside Buffer的简称,可翻译为“地址转换后援...

weixin_34357436的博客 2593

【MicroPython编程-ESP32篇:设备驱动】-SHT31温度湿度传感器驱动

SHT31 是 Sensirion 的下一代温湿度传感器。 它建立在一个新的 CMOSens® 传感器芯片之上,该芯片是 Sensirion 新湿度和温度平台的核心。

视觉与物联智能 229

自定义View系列教程04--Draw源码分析及其实践

通过之前的详细分析,我们知道:在measure中测量了View的大小,在layout阶段确定了View的位置。 完成这两步之后就进入到了我们相对熟悉的draw阶段,在该阶段真正地开始对视图进行绘制。按照之前的惯例,我们来瞅瞅View中draw( )的源码 public void draw(Canvas canvas) { final int privateFlags = mPriv

谷哥的小弟 2万+

分页的代价--TLB

分页是基于查找表的,而在内存中存储这个1M个项目的页表本身就带来了内存消耗和查找速度问题。于是,页表通常需要硬件的支持,即将页表写在硬件MMU的寄存器中。如果页表比较小,那么页表写在寄存器中可以加快查找速度。但绝大多数当代的计算机页表都非常大。对于这些页表,采用快速寄存器来实现页表就不太合理了。一种办法是使用TLB(translation look-aside buffer)。TLB是关联的寄存器,TLB条目由两部分组成:页号和帧号。TLB只包含页表中的一小部分条目,整个页表还是保存在内存中。当CPU产生逻

lcw_202的专栏 4582

基于双向GRU LSTM DNN水电站水文数据的每日径流量预测 完整代码+数据 可直接运行

基于双向GRU LSTM DNN水电站水文数据的每日径流量预测 完整代码+数据 可直接运行

1902

内存管理 —— 快表TLB

一、快表和慢表的定义 慢表(Page):页表、段表存放在主存中,收到虚拟地址后要先访问主存,査询页表、段表,进行虚实地址转换。 快表(TLB):提高变换速度→用高速缓冲存储器存放常用的页表项 二、局部性原理 三、地址转换(以分页存储为例) 四、基本地址变换机构和具有快表的地址变换机构的比较 ...

starter_____的博客 2万+

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

【操作系统-68】TLB快表

TLB(快表)是一个硬件级别的缓存,用于存储虚拟地址到物理地址的映射。它通过缓存常用的地址映射,提高了内存访问的速度,减少了访问页表的时间。TLB在现代计算机系统中起到了至关重要的作用,尤其是在虚拟内存管理中,它的优化和设计直接影响系统的性能。

m0_69378371的博客 1820

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

第三章 内存管理 七、具有快表的地址变换结构

快表,又称联想寄存器(TLB,translation lookaside buffer),是一种访问速度比内存快很多的高速缓存(TLB不是内存!),用来存放最近访问的页表项的副本,可以加速地址变换的速度。与此对应,内存中的页表常称为慢表。注意:一般不把整个页表都放在TLB里,因为成本太高了。

icbbm的博客 2034

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

基本 / 快表 地址变换机构(重要)

文章目录基本地址变换机构逻辑地址物理地址变换过程实际运用 基本地址变换机构 重点理解、记忆基本地址变换结构(用于实现逻辑地址到物理地址转换的一组硬件机构)的原理和流程 基本地址变换结构可以借助进程的页表将逻辑地址转换为物理地址。通常会在系统中设置一个页表寄存器(PTR),存放页表在内存中的起始地址F和页表长度M.进程未执行时,页表的始址和页表长度放在进程控制块(PCB)中,当进程被调度时,操作系统内核会把它们放到页表寄存器中。 注意: 页面大小(页面偏移量)是2的整数幂 页表长度—>

QuantumYou的博客 3479

【OS笔记24】:存储管理3-分页管理-页表与快表

分页管理技术通过离散化处理解决分区管理的碎片问题。将内存和进程空间划分为固定大小的页/页框,通过页表实现逻辑页号到物理页面号的映射。地址转换由硬件支持,包含页号与页内地址两部分,需两次访存操作。引入快表(TLB)作为高速缓存,利用局部性原理提升转换效率。系统维护页表和空闲页表来管理内存分配,支持静态和动态分配方式,有效提高内存利用率并实现虚拟存储。

lyh2004_08的博客 1121

如果使用多级页表(例如二级页表),那么快表里面存储的是什么?

在多级页表系统中,TLB(Translation Lookaside Buffer)存储的是最终的虚拟页号(VPN)到物理页号(PPN)的映射,而不是单独的一级或二级页表的映射。在24位虚拟地址空间中(12位一级页表,12位二级页表,10位块内偏移),TLB的映射是基于完整的24位虚拟页号的。 当发生TLB缺失时,处理器需要访问一级和二级页表来获取映射。首先,处理器使用前12位访问一级页表,获取二级页表的地址。然后,使用后12位访问二级页表,获取物理页号。这个24位虚拟页号到物理页号的映射然后被添加到TL

m0_66300412的博客 1186

ARM架构TLB快表加速地址翻译

本文深入探讨ARM架构下TLB(Translation Lookaside Buffer)的工作机制与系统级优化策略,涵盖虚拟地址翻译流程、多级TLB结构、ASID技术、大页应用及性能调优方法,揭示其在提升内存访问效率中的核心作用。

cheese的博客 996

3.1.8 具有快表的地址变换结构(局部性原理、什么是TLB、引入块表的地址变换过程)

0. 知识总览 1. 局部性原理 2. 什么时快表(TLB) 3. 引入快表后,地址的转换过程 4. 知识回顾与重要考点 0. 知识总览 1. 局部性原理 2. 什么时快表(TLB) 3. 引入快表后,地址的转换过程 4. 知识回顾与重要考点 参考:《王道操作系统》 bilibili视频链接 ...

qq_26553393的博客 434

TLB(translation lookaside buffer)介绍

扩展: 一个操作系统的实现 TLB工作原理 什么是TLB ? TLB:Translation lookaside buffer,即旁路转换缓冲,或称为页表缓冲;里面存放的是一些页表文件(虚拟地址到物理地址的转换表)。又称为快表技术。由于“页表”存储在主存储器中,查询页表所付出的代价很大,由此产生了TLB。 X86保护模式下的寻址方式:段式逻辑地址—〉线形地址—〉页式地址;页式地址=页面起始地址+

limanjihe的专栏 4765

TLB的原理和简介_20160324

TLB的原理和简介

The blog of XMAN 703

OS内存管理之快表(TLB)的引入

在前面的文章中,讲到操作系统的多级页表映射:多级页表 文章背景 我们知道,要从虚拟地址转换成一个物理地址,需要访问多次内存查页表,比如2级页表,需要访问2次内存,4级页表,查询需要访问4次内存,这也是一笔不小的开销,这样会让CPU真正执行指令的时间缩短,导致CPU的超高速度优势利用不充分。 快表应运而生 原理: 程序访问的局部性原理,对于一些指令和数据访问,在一段时间内总是高度的频繁 本质:Translation Look-aside Buffers 实际上就是一个缓冲区,实际上是CPU的高速缓存,可以缓解

KingOfMyHeart的博客 928

3.3操作系统(基本地址变换机构 快表 两级页表 分段 段页式)

目录🍓基本地址变换机构🍒对页表项大小的进一步探讨🥭具有快表的地址变换机构🌽 什么是快表(TLB)🥕引入快表后,地址的变换过程🥒局部性原理🍉两级页表🧅单级页表存在的问题🍍如何解决单级页表的问题?问题一:🍅1. 两级页表的原理、地址结构🥝 2. 如何实现地址变换问题二:🍆 1. 需要注意的几个细节🍪基本分段存储管理方式🥥 分段🍦段表🧊地址变换🍋 分段、分页管理的对比🍎段页式管理方式🧀 分页、分段的优缺点分析🧇 分段+分页=段页式管理 🌮段页式管理的逻辑地址结构 🍞段表......

Javascript_tsj的博客 3677

TLB Cache

[TOC] > 快表,直译为旁路快表缓冲,也可以理解为页表缓冲,地址变换高速缓存。 TLB是一种高速缓存,内存管理硬件使用它来改善虚拟地址到物理地址的转换速度. ## TLB原理 > 当cpu要访问一个虚拟地址/线性地址时,CPU会首先根据虚拟地址的高20位(这里是针对20来说的)在TLB中查找。如果是表中没有相应的表项,称为TLB mi...

simon的博客 206
上一篇: 经典面试题(整理)
下一篇: 一些代码
DSIslander
博客等级 码龄20年 14粉丝 2原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值