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

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

相关推荐
Mr_sun.20 小时前
Day03——微服务网关与配置中心
微服务·云原生·架构
web小白成长日记1 天前
企业级 Vue3 + Element Plus 主题定制架构:从“能用”到“好用”的进阶之路
前端·架构
jayaccc1 天前
微前端架构实战全解析
前端·架构
roman_日积跬步-终至千里1 天前
【大数据架构-数据中台(2)】数据中台建设与架构:从战略到落地的完整方法论
大数据·架构
颜淡慕潇1 天前
Spring Boot 3.3.x、3.4.x、3.5.x 深度对比与演进分析
java·后端·架构
gaize12131 天前
服务器分类及区别划分!多样化服务器用途体系架构及层次分类
运维·服务器·架构
小二·1 天前
微前端架构完全指南:qiankun 与 Module Federation 双方案深度对比(Vue 3 + TypeScript)
前端·架构·typescript
roman_日积跬步-终至千里1 天前
【大数据架构-数据中台(1)】解码数据中台:从概念到认知
大数据·架构·dubbo