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

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

相关推荐
ZhengEnCi10 小时前
GPT-6 Astra 爆改 Qwen 权重真有那么神吗:权重空间编程 0.016% 参数的真相
算法·架构
码流子12 小时前
移动收费怎么做?手持终端+App+收费中心的架构实践
java·开发语言·架构
梦曦i13 小时前
uni-app x下自研架构的工程化突围
前端·架构·uni-app x
这个DBA有点耶13 小时前
连拿六年第一后宣布出海:国产数据库凭什么敢撕掉“平替”的标签?
数据库·人工智能·架构
高晶14 小时前
SPMI 控制器 RTL 设计与验证新手入门
设计模式·程序员·架构
解构Shopify16 小时前
专题 11 | 四维工程质量网:CWV、k6 压测、a11y 与视觉回归
架构
frjc16 小时前
Spring AI 高级实战:ChatMemory、Tool Calling 与 MCP 架构解析
人工智能·spring·架构
狂潮lister16 小时前
🚀 《掘金・挖矿小精灵》完整产品与系统架构设计 & V1.3‑LD‑M 落地工程设计文档(**封档版**)
前端·架构·前端框架
解构Shopify16 小时前
专题 01 | 展示面自持、凭据隔离与技术选型权衡
架构