linux(第十期)--Cortex-A7架构(1)-- Ubuntu20.04

Cortex-A7 MPCore****简介

主包用的I.MX6UL的开发板,此开发板使用的是 Cortex-A7 架构,所以在此介绍一下 Cortex-A7 架构的一些基本知识。Cortex-A7 架构很庞大,在此只是对 Cortex-A7 架构做基本的介绍。

Cortex-A7 MPcore 处理器支持 1~4 核,通常是和 Cortex-A15 组成 big.LITTLE 架构的,Cortex-A15 作为大核负责高性能运算,比如玩游戏啥的,Cortex-A7 负责普通应用,因为 Cortex-A7 省电。Cortex-A7 MPCore 支持在一个处理器上选配 1~4 个内核。

Cortex-A7 MPCore 多核配置如下图所示:

Cortex-A7MPCore 的 L1 可选择 8KB、16KB、32KB、64KB,L2 Cache 可以不配,也可以选择 128KB、256KB、512KB、1024KB。I.MX6UL 配置了 32KB 的 L1 指令 Cache 和 32KB 的 L1 数据 Cache,以及 128KB 的 L2 Cache。Cortex-A7MPCore 使用 ARMv7-A 架构,主要特性如下:①、SIMDv2 扩展整形和浮点向量操作。

②、提供了与 ARM VFPv4 体系结构兼容的高性能的单双精度浮点指令,支持全功能的 IEEE754。

③、支持大物理扩展 (LPAE),最高可以访问 40 位存储地址,也就是最高可以支持 1TB 的内存。④、支持硬件虚拟化。

⑥、支持 Generic Interrupt Controller (GIC) V2.0。

⑦、支持 NEON,可以加速多媒体和信号处理算法

Cortex-A****处理器运行模型

如果学过 STM32 和 UCOS、FreeRTOS 就会知道,STM32 只有两种运行模式,特权模式和非特权模式,但是 Cortex-A 就有 9 种运行模式:

在表中,除了 User (USR) 用户模式以外,其它 8 种运行模式都是特权模式。这几个运行模式可以通过软件进行任意切换,也可以通过中断或者异常来进行切换。大多数的程序都运行在用户模式,用户模式下是不能访问系统所有资源的,有些资源是受限的,要想访问这些受限的资源就必须进行模式切换。但是用户模式是不能直接进行切换的,用户模式下需要借助异常来完成模式切换,当要切换模式的时候,应用程序可以产生异常,在异常的处理过程中完成处理器模式切换。

当中断或者异常发生以后,处理器就会进入到相应的异常模式中,每一种模式都有一组寄存器供异常处理程序使用,这样的目的是为了保证在进入异常模式以后,用户模式下的寄存器不会被破坏。

相关推荐
狼爷9 小时前
日均100万订单!「订单超时自动取消」全方案解析(附并发避坑指南)
架构
roman_日积跬步-终至千里13 小时前
如何分析复杂架构:一套真正能落地的方法
java·开发语言·架构
Bode_200213 小时前
“端-边-云”协同架构构建难点
人工智能·架构·制造
敖正炀14 小时前
高并发系统的降级预案与容错策略
分布式·架构
敖正炀14 小时前
稳定性监控与告警体系:SLI/SLO/SLA 实践
分布式·架构
敖正炀14 小时前
故障演练与混沌工程:ChaosBlade 到 Litmus
分布式·架构
敖正炀14 小时前
全链路压测与容量规划方法论
分布式·架构
敖正炀15 小时前
限流算法深度与 Guava/Sentinel 源码:从单机令牌桶到分布式滑动窗口的流量防护体系
分布式·架构
前端小蜗15 小时前
转生到 AI 时代,我不再相信一键生成代码的传说
前端·人工智能·架构
_Evan_Yao15 小时前
限流的艺术:令牌桶与滑动窗口的博弈,以及我为何在 AI 项目中选择了后者
java·后端·架构