分享好友 最新动态首页 最新动态分类 切换频道
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无法完成地址翻译任务时,才会到内存中查询页表,这样就减少了页表查询导致的处理器性能下降,提高页表转换的效率。

最新文章
ashemaletube.net的Whois信息
clientLock ······································注册商锁定serverLock ·······························注册局锁定renewPeriod ············注册商
AI写作免费3000字(AI写作免费3000字)
今天,我来向大家介绍一个令人惊叹的人工智能写作工具——搭画快写 AI。该工具为我们提供了免费写作服务,而且每次都可以创造出长达3000字的优质文章。有了搭画快写 AI,我们再也不需要担心写作难题了。快速撰写 AI 的画卷人工智能的发展
#海外科技先锋# 美股 SoundHound AI $SoundHound AI(SOUN)$ 在人工智能领域到底有哪些...
来源:雪球App,作者: 耐心等待回踩整固,(https://xueqiu.com/8545297204/316771025)#海外科技先锋# 美股$SoundHound AI(SOUN)$ 在人工智能领域到底有哪些真本事:先进的自然语言理解能力: 的平台具备先进的自然语言理解能力,能够准
6.在根目录新建public文件夹,然后在这个public文件夹里面再创建img,css,js等公开的静态资源
Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效。Node.js 的包管理器 npm,是全球最大的开源库生态系统。 1.Node.js不是一门语言,不是库,不是框
2024年网络营销行业市场现状分析及未来发展趋势预测
第54次《中国互联网络发展状况统计报告》显示,截至2024年6月,我国网民规模近11亿人(10.9967亿人),较2023年12月增长742万人,互联网普及率达78.0%。随着互联网的普及和移动互联网的快速发展,网络营销行业的市场规模持续扩大。网络营销是
4399游戏盒子助手
4399子助手提供了一个安全玩游戏的平台,可以以最快的方式获取所需的各种内容,并在检索后以最快的速度获取游戏。每一个都是免费供你打开和播放的,你还会浏览许多分类版本。1、为你提供相应的安装包,详细的内容介绍快速找到对应的游戏主
2025年有哪些游戏推广赚佣金的平台?盘点3个真实有效的游戏推广赚佣金的平台
而游戏推广作为app拉新推广中的重要组成部分,感兴趣的朋友们同样可以在U客直谈上找到相应的游戏推广赚佣金项目,因此该平台也是一个可靠的游戏推广赚佣金的平台。平台设有便捷的搜索功能,大家只要通过平台内的搜索栏,搜索感兴趣的游戏推
AI智能电话外呼机器人-电销外呼呼叫中心系统软件解决方案
电销行业痛点分析 – 怎样建立客户强连接?***获客疫情下市场经济低迷,客户消费欲望低,点对点触达营销需求强行业竞争激烈,线上线下广告投放成本高昂,各大电商平台流量成本激增存量客户激活历史客户数据闲置,没有做到有效利用。产品可
Ai 编程实战(1)-让 Ai 帮你写一个前端页面
目录 一、使用提示词让 Ai 工具帮你写一个前端页面 1、前提说明 2、使用 Ai 生成一段代码 二、使用电脑笔记本工具新增代码 三、相关问题说明 上一篇写了 Ai 编程的准备工作,按照教程基本都可以装好,如果还有一些没装好的
boost电路,smc滑模控制,文章复现
boost电路,smc滑模控制,文章复现 资料转载自:http://popuk.cn/673291086303.htmlboost电路、SMC滑模控制与文章复现解析一、技术背景介绍在快速发展的电子信息技术领域,尤其是在微控制器应用领域,电路设计与控制技术得到了广泛的关注和
相关文章
推荐文章
发表评论
0评