AArch64 memory management学习(一)

提示

  • 该博客主要为个人学习,通过阅读官网手册整理而来(个人觉得阅读官网的英文文档非常有助于理解各个IP特性)。若有不对之处请参考参考文档,以官网参考文档为准。
  • AArch64 memory management学习一共分为两章,这是第一章

1. 什么是memory management(内存管理)?

内存管理描述了如何控制对系统中内存的访问。每次OS(操作系统)或应用程序访问内存时,硬件都会执行内存管理。内存管理是一种为应用程序动态分配内存区域的方法。

1.1 为什么需要内存管理?

应用程序处理器被设计为运行一个丰富的操作系统,如Linux,并支持虚拟内存系统。在处理器上执行的软件只能看到虚拟地址,而处理器会将其转换为物理地址。这些物理地址被呈现给内存系统,并指向内存中的实际物理位置。

在AArch64架构中需要内存管理的几个主要原因:

  • 虚拟内存: 内存管理支持虚拟内存技术,将逻辑地址空间映射到物理内存上。每个进程都有自己的虚拟地址空间,使得进程之间彼此隔离并且可以独立运行。内存管理负责将虚拟地址转换为对应的物理地址,以实现地址映射和访问控制。

  • 内存分配与回收: 内存管理负责动态分配和回收内存资源。它跟踪哪些内存块已被分配给进程,并在进程不再需要时将其释放回可用内存池。这样可以避免内存浪费和耗尽,并确保内存资源的高效利用。

  • 内存保护: 内存管理通过页表等机制,为每个进程或应用程序设置访问权限和保护机制。这样可以防止进程之间的互相干扰或访问其他进程的内存空间,从而提高系统的安全性和稳定性。

  • 内存映射: 内存管理负责将外部设备(如显卡、网络接口等)的物理内存映射到系统内存空间中。这样,设备可以直接访问系统内存,实现高效的数据传输和交互。

  • 页面置换: 内存管理通过页面置换算法,管理可用内存和磁盘之间的数据交换。当物理内存不足时,会使用页面置换机制将一些页从内存移到磁盘上,并将需要的页重新调入内存。这样可以扩大可用内存空间,满足更多进程的需求。

总之,AArch64架构中的内存管理在系统层面上负责有效地分配、保护和优化物理内存资源。它为每个进程提供独立的虚拟地址空间,管理内存分配和回收,确保内存保护和安全,支持设备内存映射,并通过页面置换机制增加系统的可用内存空间。这些功能都是为了提高系统的性能、稳定性和安全性。

2 虚拟地址和物理地址

使用虚拟地址的好处

  • 允许管理软件,如操作系统(OS),来控制呈现给软件的内存视图
    操作系统可以控制哪块内存是可见的,该内存是可见的虚拟地址,以及允许对该内存的访问。这允许操作系统使用sandbox应用程序(从另一个应用程序中隐藏一个应用程序的资源),并提供来自底层硬件的abstraction(该单词翻译出来反倒有点抽象)。总之,可以理解为,使用虚拟地址比直接访问物理地址更加容易管理。
  • 操作系统可以将内存的多个碎片物理区域作为单一的连续虚拟地址空间呈现给应用程序
  • 提高开发效率
    虚拟地址也有利于软件开发人员,他们在编写应用程序时将不知道系统的真实物理内存地址。有了虚拟地址,软件开发人员就不需要关心物理内存了。

在实际发开中,每个应用程序都可以使用自己的虚拟地址集,这些地址将映射到物理系统中的不同位置。当操作系统在不同的应用程序之间切换时,它会重新编程映射关系。这意味着当前应用程序的虚拟地址将映射到内存中真实物理位置。

注意,该课程属于《ARMv8/ARMv9架构从入门到精通》课程的其中章2021年3月底,ARM公开了armv9的架构,那时CCA(Confidential Compute Architecture 机密计算)进入大众的视野。当时就觉得很厉害。2021年6月份,ARM公开armv9架构的更多细节,RME(Realm Management Extension)手册也随之公不出来。RME是套崭新的安全架构,是Trustzone/虚拟化/FF-A的进步的补充,是安全架构的进步的飞越式的发展。 相信在这套技术体系种,将充分发挥硬件的安全特性,也相信在这套体系种,软件行业也能够飞速发展。 第节 课程介绍第二节 ARMv8/ARMv9的Trustzone深度解读第三节 ARMv9 CCA/RME技术简介第四节 ARMv9 RMA技术详解(以下是第四节的展开)1. RME扩展2. RME Architecture3. Software Architecture4. Security State -- PE5. Switch CPU_Context6. 物理地址空间7. Translation Regime8. EL3 Translation Regime9. Non-secure state translation regimes10. Secure state translation regimes11. Realm state translation regimes12. Root state translation regimes13. TLB & Cache14. 地址空间的访问15. Completer side filtered16. Granule Protection Checks17. 地址翻译的过程18. GPC19. 相关寄存器20. GPT21. GPT Table Descriptor22. GPT Granules配置的权限23. Granule Protection Check faults24. MPAM25. cache扩展26. TLB扩展27. Elision(省略)28. 术语 (注意:本课是《ARMv8/ARMv9架构学习系列课程》中的个章节。)
### LibreOffice for AArch64 Architecture Download and Installation Instructions For users interested in running LibreOffice on devices with the AArch64 architecture, obtaining and installing this software involves several considerations to ensure compatibility and functionality. #### Compatibility Verification Before downloading or attempting an installation of LibreOffice tailored for AArch64 systems, it is crucial that one verifies whether their system meets all necessary requirements. This includes ensuring that the operating system supports applications built specifically for AArch64 processors[^1]. #### Obtaining the Correct Version To acquire a version suitable for AArch64 architectures, visiting the official LibreOffice website may not suffice as direct downloads might be limited to more common architectures like x86_64. Instead, exploring repositories specific to Linux distributions designed around ARM-based hardware can yield better results. For instance, Debian and Ubuntu offer packages through their respective package managers which include support for AArch64 platforms[^2]. Additionally, community-driven projects such as Fedora also provide binaries compatible with these types of CPUs[^3]. ```bash sudo apt-get update && sudo apt-get install libreoffice ``` This command applies when using Debian/Ubuntu based systems where `apt` serves as the primary tool for managing software installations including those optimized for AArch64 chips. #### Post-Installation Configuration After successfully acquiring and setting up LibreOffice intended for AArch64 environments, some adjustments could enhance performance further depending upon individual needs. These modifications range from configuring document settings within the application itself down to tweaking underlying OS parameters related to memory management among others[^4].
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CinzWS

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值