0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

关于ARM 处理器的两种主要缓存系统

454398 来源: ARM 作者: ARM 2021-06-18 17:02 次阅读

为了从 ARM710a 和 StrongARM SA-110 等处理器获得最大性能,必须启用缓存。例如,应用程序可以通过系统上的底层微内核来完成这项工作。但是,如果没有这样的内核,应用程序将不得不自己启用缓存。

ARM 处理器上使用了两种主要的缓存系统。这些都是:

内存管理单元(例如 ARM610、ARM710a、SA-110)

保护单元(例如 ARM940T)

本应用笔记提供了一些示例代码,用于在两种类型的 ARM 处理器上启用缓存,并概述了 ARMulator 的 PageTables 模块。它还讨论了:

@armasm@ 和 @tasm@ 中的重复组装

@armasm@ 和 @tasm@ 条件汇编

@armasm@ 和 @tasm@ 中的宏

带有 C 编译器的内联汇编器

内联函数

内存管理单元 (MMU)

内存管理单元提供完整的虚拟内存系统。有关更完整的说明,请参阅 ARM 体系结构参考手册 (ARM DDI 0100)。简而言之,它使用片外页表向处理器描述:

虚拟到物理地址映射

访问权限

缓存和写缓冲区控制。

支持三种页面大小(1MB、64kB 和 4kB)。(还提供了 16kB 和 1kB 的子页面用于访问控制。)“域”的附加系统用于在多线程环境中提供有效的访问保护。

例如,该系统允许多个具有按需分页和交换的虚拟地址空间。UNIX 操作系统的风格已经移植到使用这种内存管理单元的 ARM 计算机上。

该系统的优点是:

以细粒度完全控制内存

基于域的保护

虚拟到物理地址转换。

主要缺点是它需要内存页表(如果不启用 MMU,则无法启用缓存)。

保护单元 (PU)
保护单元为更嵌入式的环境提供访问和缓存控制。有关更完整的说明,请参阅 ARM940T 数据表 (ARM DDI 0092)。

简而言之,保护单元有一组片上寄存器,其中包含以下描述:

访问权限

最多八个(可编程)内存区域的缓存和写缓冲区控制。

该系统允许在例如嵌入式应用程序中使用基本的内存保护和缓存控制。

该系统的优点是:

访问控制完全在片上(不需要任何片外表)

提供四级访问控制、缓存和写缓冲区控制

对指令和数据缓存的单独控制。

缺点是:

区域数量少

区域大小和对齐的限制。

例子

内存布局

尽管两个系统不同,但都使用协处理器 15 来控制系统。两个系统都有足够的通用功能来区分正在使用的系统。例如,考虑图 1 所示的内存映射。

pYYBAGDMYMWACIZaAAEvvSfH-vM570.png

底部的 16MB 内存被标记为可缓存。这是应用程序代码和堆的基础。

紧邻 2GB 的 1MB 内存也被标记为可缓存,因为这是放置堆栈的地方。

其余内存既不可缓存也不可缓冲。真实系统也可能将该内存标记为“不可访问”(中止生成)。

编辑:hfy

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • ARM处理器
    +关注

    关注

    6

    文章

    346

    浏览量

    41320
收藏 人收藏

    评论

    相关推荐

    ARM处理器ARM处理器工作模式

    ARM处理器状态ARM处理器的工作状态一般有两种,并可在两种状态之间切换:第一
    发表于 01-27 11:13

    ARM处理器ARM处理器工作模式

    ARM处理器状态ARM处理器的工作状态一般有两种,并可在两种状态之间切换:第一
    发表于 01-27 14:19

    两种ARM 64位处理器学习平台

    处理器,且有pin to pin兼容的Cortex-A9 架构的S5P4418可以应用于多种场合满足不同需求。市面上有很多使用这款芯片的板子,通过综合对比最终确定选择华清远见的产品,但是在同时推出的
    发表于 10-26 15:47

    嵌入式ARM系统之如何辨别正在使用的处理器

    本帖最后由 枯藤小桥人家 于 2017-7-6 09:45 编辑   虽然处理器的命名五花八门,但是所有的ARM内核均遵循一个公共的命名约定,而在架构的生命周期中曾出现主要
    发表于 07-06 09:41

    ARM处理器工作模式

    ,而不是单纯的mov这3个字母长度。二、ARM体系的CPU有两种工作状态1、ARM状态:处理器执行32位的字对齐的ARM指令;2、Thumb
    发表于 10-12 11:30

    ARM处理器工作模式详解

    的指令的长度,而不是单纯的mov这3个字母长度。二、ARM体系的CPU有两种工作状态1、ARM状态:处理器执行32位的字对齐的ARM指令;2
    发表于 10-25 16:55

    ARM处理器工作模式

    ,字需要4字节对齐,半字需要2字节对齐。注:所谓的指令长度是一条完整的指令的长度,而不是单纯的mov这3个字母长度。二、ARM体系的CPU有两种工作状态1、ARM状态:处理器执行32位
    发表于 11-06 10:43

    ARM Cortex-A9处理器

    类别:嵌入式系统处理器知识产权许可商ARMHoldingsplc已经成功开发出双内核Cortex-A9处理器设计(被称为Osprey)的个实现。Cortex-A9
    发表于 09-06 09:27

    什么是ARM处理器 ARM处理器有哪些系列

    ARM 处理器是一低功耗高性能的 32 位 RISC(精简指令系统处理器。从结构 入手对其进行分析,并针对目前流行的
    发表于 09-24 17:47

    ARM920T高缓存处理器有哪些性能参数和特性?

    对调试信道的访问。CP15:系统控制处理器,提供 16 个额外寄存来配置与控制缓存、MMU、系统保 护、时钟模式及其他系列选项。
    发表于 09-26 09:43

    处理器与外部通信的两种方式

    处理器与外部通信的两种方式并行通信数据各个位同时传输,速度快,占用引脚资源多串行通信数据按位顺序传输,占用引脚资源少,速度相对比较慢1.按照数据传送方向可以分为:单工:数据传输只支持在一个方向
    发表于 08-18 08:06

    ARM 720T处理器技术参考手册

    ARM720T是一款通用的32位微处理器,具有8KB的高速缓存、扩大的写入缓冲区和内存管理单元(MMU),组合在一个芯片中。ARM720T中的CPU是
    发表于 08-02 11:36

    ARM922T处理器技术参考手册

    以作为可以嵌入到更复杂的设备中的独立核心来提供。独立核心有一个简单的总线接口,允许您设计自己的缓存和周围的内存系统ARM9TDMI系列微处理器同时支持32位
    发表于 08-02 15:44

    ARM920T处理器技术参考手册

    简单的总线接口,允许您围绕它设计自己的缓存和内存系统ARM9TDMI系列微处理器支持32位ARM和16位Thumb指令集,允许您在高性能和
    发表于 08-02 13:05

    ARM7TDMI (Rev 3)核心处理器产品概述

    和symbian操作系统ARM7EJ-S处理器是一个可合成的核心,它提供了ARM7TDMI的所有优点——低功耗、小尺寸和拇指指令集——同时还结合了
    发表于 08-02 10:25