分享好友 最新动态首页 最新动态分类 切换频道
TLB(Translation Lookaside Buffer)
2024-12-26 12:05

本篇参考 arm 官网公开材料 和 小崔的linux 专栏 https://zhuanlan.zhihu.com/p/105005488

TLB(Translation Lookaside Buffer)

宋宝华老师MMU介绍
armv8-armv9 MMU深度学习

MMU是Memory Management Unit的缩写,中文名是内存管理单元。它是一种负责处理中央处理器(CPU)的内存访问请求的计算机硬件。它的功能包括虚拟地址到物理地址的转换(即虚拟内存管理)、内存保护、中央处理器高速缓存的控制。

在linux中,用户态使用的内存是虚拟地址(Virtual Address,VA,实际硬件内存称为物理地址(Physical Address,PA)。用户访问内存看到的是VA,内核转化成PA操作实际物理地址。这里要提一下,实际MMU硬件支持2层转化,PA->IPA->VA,但是linux bypass了IPA,简化了流程(加密1次和加密2次效果一样)。

对用户体现虚拟地址,一方面可以起到安全作用(防止直接访问物理地址,查看我们存储的数据,另一方面减少用户对物理内存设备的关注,用户只要关注申请、读写、释放等使用内存操作即可。

操作系统中,内存的使用非常频繁,小到一个进程任务分配堆栈、申请内存,大到设备访问内存(读写等操作)。根据上述MMU功能介绍,这些内存使用都需要经过CPU从VA到PA的互相转化。而CPU的总线固定,一旦访问过多,访问有快有慢等,势必造成总线拥堵,影响性能。

A System Memory Management Unit (SMMU) performs a task that is analogous to that of an MMU in a PE, ** **. It is active for DMA only. Traffic in the other direction, from the system or PE to the device, is managed by other means – for example, the PE MMUs.

1)上面SMMU给(使能DMA)device提供地址转换功能。device 使用VA访问内存,smmu根据VA计算对应PA,访问物理内存

2)下面SMMU一对一连接PCIe Root Complex (which itself hosts a network of endpoints)设备,为PCIE设备提供虚拟地址(通过ATS)功能。

2)SMMU B为多个device(使用同个I/O,经过DMA)提供地址翻译功能

3)SMMU C并行提供多条路径,多个功能,以提供更高带宽,包括
a. central translation table walker,包括主接口(用于获取翻译地址、初始化页表结构和队列)以及从接口(用于配置访问权限)。
b. 为多个device设备和PCIe提供虚拟化能力。

SMMU和MMU功能一样,为device设备提供地址转换功能,同时提供读写权限、Cache属性,更厉害的是MMU和SMMU可以共页表。

相对不同的是,一个MMU仅支持一个CPU,但是SMMU可以支持多个外设,为了区分这些外设,使用StreamID来标识,同个SMMU的StreamID必须唯一,不同SMMU的StreamID互不影响.

1.地址转换功能,虚拟内存,提供1级页表和2级页表的能力

2.地址读写权限属性、cache属性

  1. 如果SMMU全局接口关闭(SMMU_CR0.SMMUEN == 0,地址不经过翻译直接bypass传输,相当于无smmu器件

  2. stage1 bypass,只提供IPA->PA; stage2 bypass,只提供VA->IPA;这里理解下,并不是说任一bypass,smmu就无法提供VA->PA的能力,而是只翻译一次。之前提过,linux的IPA是直接bypass,只用一次页表翻译的,所以理论上bypass stage1或stage2,翻译一次即可同linux页表翻译,此时比如只使能stage1,VA->IPA相当于VA->PA

如上
1)SMMU根据 STRTAB_BASE 查找 STE table,每个设备对应一个streamID,并对应一个STE表。
2)SMMU_(S_)STRTAB_BASE_CFG.SPLIT 决定是 Linear Stream Table 还是 2-level Stream Table 查表方式
3)Linear Stream Table 方式每个 StreamID 对应一个STE
4)2-level Stream Table方式 StreamID 不同 bit 指向不同STE

Translation Lookaside Buffer可翻译为“地址转换后援缓冲器”,也可简称为“快表”。用于存放页表转换关系的 cache,其中存储了当前最可能被访问到的页表项,其内容是部分页表项的一个副本。只有在TLB无法完成地址翻译任务时,才会到内存中查询页表,这样就减少了页表查询导致的处理器性能下降,提高页表转换的效率。

最新文章
绝了,2024 最新百度网盘/阿里云盘/夸克网盘/迅雷云盘网盘资源搜索神器,全网资源任你搜...
今天分享几个2024最新阿里云盘/百度网盘/夸克网盘/迅雷云盘资源搜索神器网站和app,全网资源任你搜,无需注册使用,关键还免费,网站和app地址在公众号后台对话框回复 网盘第1个混合盘,一个搜索网站规则引
正在阅读:翻新机旧芯换新壳 360优化大师一键验真翻新机旧芯换新壳 360优化大师一键验真
  随着双十一电商热潮的临近,各大电商渠道、3C卖场均掀起了一番智能机购机潮,面对此般热潮,一些占据价格优势的水货及翻新机产品也就此浑水摸鱼,对于一些不懂行的消费者而言,就很容易陷入商家的陷阱之中。  往往购机后被曝出各种质
高测股份
高测股份(688556)业绩预告公告日期2024-02-27报告期2023-12-31类型预增业绩预告摘要预计2023年1-12月归属于上市公司股东的净利润为:1461450211.57元,与上年同期相比变动幅度:85.32%。业绩预告内容预计2023年1-12月归属于上市公司股东的
word一键生成ppt 分页_如何将word快速生成PPT
许多人的制作方法或许都是这样的: 第一步:新建一个空白的PPT文件 第二步:把word文档中的内容一点一点的复制在PPT文件中 第三步:对PPT文件排版如果是你,你也会是这样操作的吗? 实际上,完
谷歌搜索引擎优化(SEO)入门指南
随着互联网的快速发展,搜索引擎优化(SEO)已成为众多企业和个人网站不可或缺的一部分。SEO能够帮助您的网站在搜索引擎结果页(SERP)中获得更高的排名,从而增加曝光率和流量,提高销售和品牌知名度。在本文中,我们将向您介绍SEO的基本
关键词排名优化哪家?选择合适的SEO公司助你赢得流量与市场
不同的行业、不同的企业在关键词优化方面的需求各不相同,因此,选择SEO公司时,是否能够提供定制化服务是一个重要的考量标准。优秀的SEO公司会根据企业的实际情况,分析其市场定位、目标客户群体、竞争对手以及产品特点,从而提出量身定制
美职篮巅峰对决:球员强度全面排行,揭秘最强球星TOP榜单推荐
本文目录导读:T0强度排行T1强度排行T2强度排行在美职篮(NBA)的巅峰对决中,球员的强度是决定比赛胜负的关键因素之一,以下是一份基于球员实力、表现以及影响力的全面排行,揭秘最强球星TOP榜单推荐:1、迈克尔·乔丹:作为篮球历史上的
比较好的ai写作工具有哪些
以下是一些比较好的AI写作工具:1. 聪明灵犀(PC):集AI写作、AI聊天、AI改写、AI绘画、AI翻译等功能于一体,可以满足用户不同的创作需求。2. Copysmith:专注于营销文案的生成,能够根据用户输入的关键词和需求快速生成高质量的营销文案
网站目录 提交自己的网站有利于外链吗
提交自己的网站到网站目录(也称为网站分类目录或网址导航)可以有助于增加外链(外部链接),但这并不是唯一的或最主要的优势,而且效果因多种因素而异。以下是关于网站目录提交和外链的一些考虑点&#
网站SEO优化中的关键词选取策略
“我们的网站做了优化,为什么流量还是上不去?”这是许多青岛本地企业常见的困惑。其实,问题很可能出在关键词的选取上。关键词是SEO的核心,选择不当会导致精准流量缺失,或者吸引了大量与业务无关的用户。那么,如何精准选取关键词,让
相关文章
推荐文章
发表评论
0评