【问题标题】:Memory space of ARM microprocessorsARM微处理器的内存空间
【发布时间】:2013-04-17 12:27:56
【问题描述】:

在 ARM 微处理器中,唯一可用的内存空间是 37 个左右的通用和状态寄存器,还是微处理器芯片内有单独的可访问内存空间?

例如,在 Atmel AVR 微控制器中,据我了解,内存在同一芯片内部映射,包括数据内存、程序内存(包含程序内存)和 EEPROM 内存。这同样适用于 ARM 微处理器,还是带有 ARM 微处理器的微控制器需要单独的外部存储器?

【问题讨论】:

    标签: arm computer-architecture microprocessors


    【解决方案1】:

    您对 Atmel AVR 架构的解释并不完全正确。

    当然,几乎可以将任何类型的内存与 CPU 内核集成在同一个芯片上。但是,这并不意味着您可以将一个此类集成系统上的可用闪存与另一个系统上的寄存器进行比较。

    CPU 内核需要一个内存接口,这才是最重要的:闪存比寄存器慢。因此,如果您将 Flash 连接到 ARM 处理器,它的行为将与 AVR 的板载 Flash 类似(在速度方面的数量级相同)。

    此外,ARM 只是一种 IP(设计概念),并已获得众多公司的许可,这些公司构建高效的外围设备,有时还围绕内核构建内存。所以你会在市场上找到带有 ARM 内核和板载内存的芯片。

    (我在上面的描述中稍微简化了一些事情,但我专注于指出我认为您误解了两个处理器的比较。)

    【讨论】:

    • 感谢您的来信!不过我想问一下,ARM内核是否需要单独的内存空间来存储它可以读/写的程序代码(即指令)?
    • 再次,您将 ARM 核心AVR 芯片 进行比较,后者是核心 plus 内存。正如我所说,ARM 内核只是一个设计,而不是一个芯片。您正在尝试比较两个不属于同一类别的事物。这有点像是在问,“BMW 3 升发动机是否需要外部换档,因为我看到克莱斯勒航海者已经有一个?”
    • 对不起,如果我误解了,但是ARM核心模型(例如cortex-A系列)没有详细说明内存空间的配置吗?例如,程序代码的存储位置不会有规范吗?
    • (即程序内存将存储在哪里?)
    • 代码可以位于现代处理器的 RAM 或 ROM 中,CPU 几乎不在乎。听说过堆栈溢出? ;) 应用程序 决定了代码最终将在何处执行。但我不确定这是你的问题。也许如果您提出问题的动机,我可以更好地了解您真正需要哪些信息。
    【解决方案2】:

    下面的链接讨论了很多关于如何在 ARM 处理器中进行内存管理的内容。希望对你有帮助

    http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0471c/CHDDJIFI.html

    【讨论】:

      猜你喜欢
      • 2013-02-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-06
      • 2021-03-03
      • 2021-05-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多