gpt4 book ai didi

raspberry-pi - ARM 处理器如何使用超过 4GB 的内存?

转载 作者:行者123 更新时间:2023-12-04 08:03:12 27 4
gpt4 key购买 nike

我最近开始在我自己的操作系统上工作。我正在关注 jsandler18 的 awesome tutorial并进行更改以使其在 raspberry pi 4 上运行。
遗憾的是,jsandler18 在完成虚拟内存页面之前停止更新教程。我翻阅了其他一些资料,发现了一个小问题:ARM l1 地址转换表将计算机 RAM 划分为 1-MB 块。这里的问题是它最多只允许 4096 个条目,或 4GB 的虚拟内存。
有什么方法可以使用 ARM MMU 来转换超过 4GB 的虚拟内存?

最佳答案

所引用的教程似乎是在 ARMV7 中执行的,可以将其视为 32 位 ARM。这大致相当于在 X86 中以 32 位 PAE 模式运行。因此,使用此示例不可能使用超过 4GB 的虚拟内存。
ARMV8(或 AARCH64)支持 64 位虚拟地址,并允许映射超过 4GB 的虚拟内存。
切换到 ARMV8 是通过切换异常级别来完成的,异常级别通常表示为 EL0、EL1、EL2 和 EL3。您可能遇到的一个挑战是,一旦您进入 AARCH32 模式,您就无法进入较低的异常级别并切换到 AARCH64。例如,支持从 EL1 64 位 -> EL0 32 位,但不支持从 EL1 32 位 -> EL0 64 位。如果将执行移交给您的操作系统的固件处于 AARCH32 模式,这可能会带来挑战。

关于raspberry-pi - ARM 处理器如何使用超过 4GB 的内存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66348244/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com