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

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

相关推荐
heart_fly_in_sky11 小时前
Mali GPU架构深度解析:Bifrost架构与优化策略(Lesson 4)
架构
2501_9333295511 小时前
企业级AI舆情中台架构实践:Infoseek系统如何实现亿级数据实时监测与智能处置?
人工智能·架构
奈斯ing16 小时前
【Oracle篇】基于OGG 21c全程图形化实现9TB数据从Oracle 11g到19c的不停机迁移(上):微服务架构详解与微服务部署,及同步问题总览(第一篇,总共三篇)
微服务·oracle·架构
Hernon16 小时前
微服务架构设计 - 架构取舍决策CAP
微服务·云原生·架构
LINgZone216 小时前
领域驱动设计(DDD)在架构中的应用
架构
潆润千川科技16 小时前
架构演进思考:中老年社交应用如何通过数据治理与业务解耦实现稳健增
架构·聊天小程序
潆润千川科技16 小时前
适老社交应用后端架构思考:在安全、性能与简单之间的平衡艺术
安全·架构
vx-bot55566619 小时前
企业微信接口在微服务协同架构中的事件桥接与状态同步模式
微服务·架构·企业微信
Yeats_Liao20 小时前
异步推理架构:CPU-NPU流水线设计与并发效率提升
python·深度学习·神经网络·架构·开源
虫小宝21 小时前
从单体到微服务:淘客返利系统的演进路径与拆分边界划分原则
微服务·云原生·架构