您的位置:首页 > 科技 > 能源 > 郑州seo排名收费_做网站咨询_百度关键词推广_seo关键字排名优化

郑州seo排名收费_做网站咨询_百度关键词推广_seo关键字排名优化

2024/12/24 2:29:15 来源:https://blog.csdn.net/timyu007/article/details/144194359  浏览:    关键词:郑州seo排名收费_做网站咨询_百度关键词推广_seo关键字排名优化
郑州seo排名收费_做网站咨询_百度关键词推广_seo关键字排名优化

ver0.1

[看前序文章有惊喜,关注W\X\G=Z+H=“浩瀚架构师”,可以解锁全部文章]

前言

前文我们对SMMU的系统架构和基本功能做了简要的介绍,现在大家大致对SMMU在基于ARM体系的系统架构下的总线位置和产品形态有了基本的了解。这里我们还是简单做个前情回顾,从总线架构角度看过去:
(1) CPU内部就有MMU他要统扩整个VMSA空间,管理好VA到IPA再到PA的各个空间,重要性就没法形容了。
(2) 越来越多的总线IP也在内部集成SMMU,典型如GPU。这样在驱动程序的配合下,GPU自身就可以管理离散内存,实现整个系统性能提升和功能扩展。要说缺点就是贵,毕竟是独占的,哈哈。
(3) 还有就是常见的一种形态存在,各个IP-Core共享的模态存在。这种架构模态下,可以让总线上的各个功能单元共享,可以有效降低成本,就是会增加软件维护的工作量。
无论以哪种模态出现,SMMU和MMU的核心功能都是地址翻译,它们的很多Feature都是围绕着“地址翻译”展开,那么本文也会围绕着SMMU的地址翻译做一些准备工作,介绍下SMMU的页表架构:一座假设在设备和物理内存之间的桥梁。

正文

1.1 MMU页表的架构

读到这里的小伙伴对页表没有任何经验的话,那你就是没感觉,和谈对象一样,没感觉是不行的,先看看前序文章吧。
(1) [A-10]ARMv8/ARMv9-Memory-页表的概念和使用场景
(2) [A-11]ARMv8/ARMv9-Memory-多级页表架构
(3) [A-12]ARMv8/ARMv9-Memory-页表描述符(Translation table descriptor)
这里我们只会简单的回顾一下。

ARM的VMSA体系下,规定了处理器无论是处于何种安全等级(Secure\Normal\Root\Non-Secure)、任何权限等级(EL3\EL2\EL1\EL0)的程序都必须使用虚拟地址VA和CPU打交道。CPU拿到虚拟地址后,根据虚拟地址的类型(Device/Normal)通过MMU变成物理地址,然后发起总线操作完成对物理地址空间的访问。物理地址空间的资源是有限的,表现为:A进程用了,B进行就不能用;kernel 用了,Userspace就不能用;VM1用了,VM2就不能用;Secure用了,Non-Secure就不能用。虽然高权限等级的软件模块,会对低权限的等级内存产生干预,但也是有底线有原则的。那么VMSA就把地址空间划片(Page、Block),一片虚拟地址空间的内存对应着一片物理地址空间的内存。这个对应关系是需要记录下来的,就是系统在运行时要维护一本帐,通过这个账本连接起内存的虚拟地址空间和物理地址空间,如图1-1所示。
1-1

图1-1 VMSA页表模型

这个对应关系,VMSA设计了一套数据结构:TranslationTable(页表)、Page(页描述符)、Block(块描述)。这些数据结构的每一项的格式,都是ARM规定好,OS的内存管理模块在内存中创建页表的时候,就要按照这个格式填充数据,方便MMU进行遍历和访问。这里我们举一个页描述符的格式供大家参考,如图1-2所示。

1-2

图1-2 VMSA页描述符

有了这些描述符之后,OS软件就可以通过级联的方式将它们关联到一起。这里面就有一个问题了,怎么关联,是串联还是并联还是串并联。ARM采用的是多级页表级联的方式组织页表架构,如图1-3所示。
1-2

图1-3 VMSA Stage-1多级页表架构

采用这种多级页表架构的重要原因是现代处理器的地址空间实在是太大了。如果采用单级页表,在64bit空间下,光是存储页表的要消耗的内存空间就非常恐怖,这个我们前面算了一笔细账,大家可以自行阅读了解相关的背景。采多级页表架构后,这种情况就得到了很大的改善,辅之以OS软件管理模块的帮助,可以大大的节约管理数据所消耗的内存。当CPU拿到虚拟地址后,在MMU的帮助下可以快速的遍历多级页表从而找到物理地址,进而发起访问物理地址空间的操作。当然,现代处理器的肯定要越快越好,那么Cache机制和TLBs的机制的运用会大大提高地址翻译的效率。
对MMU的页表相关回顾就到这里,相信大家已经有了一定的感觉了,下面我们进入SMMU页表的世界。

1.2 SMMU的使用场景

前面的章节,我们

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com