【问题标题】:physical address space mapping for arm64arm64 的物理地址空间映射
【发布时间】:2021-10-08 00:09:32
【问题描述】:

我可以从 DEN0001C_principles_of_arm_memory_maps.pdf 找到 arm 的物理地址空间映射:

32-bit, 36-bit and 40-bit ARM Address Maps
Address map in use in ARM development systems today
          - 32-bit -     - 36-bit -     - 40-bit -
1024GB+              +              +--------------+ <- 40-bit
      |                             | DRAM         |
      ~              ~              ~              ~
      |                             |              |
      |                             |              |
      |                             |              |
      |                             |              |
544GB +              +              +--------------+
      |                             | Hole or DRAM |
      |                             |              |
512GB +              +              +--------------+
      |                             | Mapped       |
      |                             | I/O          |
      ~              ~              ~              ~
      |                             |              |
256GB +              +              +--------------+
      |                             | Reserved     |
      ~              ~              ~              ~
      |              |                             |
64GB  +              +--------------+--------------+ <- 36-bit
      |              | DRAM                        |
      ~              ~              ~              ~
      |              |                             |
      |              |                             |
34GB  +              +--------------+--------------+
      |              | Hole or DRAM                |
32GB  +              +--------------+--------------+
      |              | Mapped I/O                  |
      ~              ~              ~              ~
      |              |                             |
16GB  +              +--------------+--------------+
      |              | Reserved                    |
      ~              ~              ~              ~
4GB   +--------------+--------------+--------------+ <- 32-bit
      | 2GB of DRAM                                |
      |                                            |
2GB   +--------------+--------------+--------------+
      | Mapped I/O                                 |
1GB   +--------------+--------------+--------------+
      | ROM & RAM & I/O                            |
0GB   +--------------+--------------+--------------+ 0
        - 32-bit -     - 36-bit -     - 40-bit -
Figure 1 32-bit, 36-bit and 40-bit Address Map 

但是找不到arm64的映射,有官方文档吗?

【问题讨论】:

  • 官方文档会有关键词:ARM参考手册ARMv8

标签: arm64 memory-mapping


【解决方案1】:

更新

Arm 架构确实没有标准化 CPU 对物理地址空间的看法,DRAM 可能从地址 0x0 开始,但通常不是。 soc 设计师可以有自己的布局。

================================================ ===============

  • 没有 LPAE 的 32 位 armv7 最多可以访问 32 位地址空间
  • 32 位 armv7 最多可以访问 40 位地址空间
  • 64 位 arm 自然可以访问多达 48 位的物理地址空间:
 256TB +-----------------+ <- 48-bit
       | DRAM            |
       ~                 ~
       |                 |
       |                 |
       |                 |
       |                 |
 136TB +-----------------+
       | Hole or DRAM    |
       |                 |
 128TB +-----------------+
       | Mapped          |
       | I/O             |
       ~                 ~
       |                 |
 64TB  +-----------------+
       | Reserved        |
       ~                 ~
       |                 |
 16TB  +-----------------+ <- 44-bit
       ~                 ~
       ~                 ~
       ~                 ~
 0GB   +-----------------+ 0

所以,48bits以下的地址空间只是按照问题描述中的布局。

【讨论】:

    猜你喜欢
    • 2023-03-03
    • 1970-01-01
    • 2017-05-06
    • 2012-02-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-29
    相关资源
    最近更新 更多