ARM架构与ARM内核

news2024/9/24 15:26:05

参考:https://blog.csdn.net/qq_34160841/article/details/105611131
到底什么是Cortex、ARMv8、arm架构、ARM指令集、soc?一文帮你梳理基础概念
认识ARM、Cortex-M内核,以及ARMv8-M架构

ARM架构

ARM的架构指的是ARM的指令集架构。ARM指令集从1985年ARMv1架构诞生起,到2011年,ARM架构已经发展到了第八代ARMv8。

指令集架构(ISA,Instruction Set Architecture)指的是一组指令的集合,这些指令定义了计算机如何与硬件进行交互。它常被看作软硬件之间的分界面,对软件来说它定义了对CPU操作的机器指令,对硬件来说它定义了对这些操作的硬件实现。具体来说,指令集架构包括以下几个方面:

  • 指令格式:指令的编码规则,包括操作码、操作数等字段的结构。
  • 指令类型:不同类型的指令,如算数运算、逻辑运算、数据传输、控制流等。
  • 寻址方式:指令如何访问操作数,包括直接寻址、间接寻址、立即寻址等方式。
  • 寄存器集:可用寄存器的数量和类型,包括寄存器的用途和功能。
  • 异常和中断处理:指令集如何处理异常情况和中断请求。

指令集架构分为两类:复杂指令集(CISC)和精简指令集(RISC)。复杂指令集的典型示例是Intel的x86指令集,而精简指令集的典型示例是ARM指令集和MIPS指令集。

ARM内核

ARM内核是ARM架构的硬件实现,包括了执行器、寄存器、中断控制器、总线接口和调试组件等。内核是由ARM公司设计并授权给个芯片厂商使用的。ARM11内核之后,ARM的内核分为了三个主要系列:

  1. Cortex-A系列(A:Application)

    • 应用:主要用于高性能应用,如智能手机、平板电脑和嵌入式设备。
    • 特点:支持高级特性如多核心、先进的功耗管理和虚拟化。大多数Cortex-A内核支持运行复杂的操作系统(如Linux、Android)。
  2. Cortex-R系列(R:Real-Time)

    • 应用:专为实时嵌入式应用设计,如汽车、大型工业和其他安全关键系统。
    • 特点:提供高可靠性和低延迟,支持错误检测和修复功能,适应严格的实时要求。
  3. Cortex-M系列(M:Microcontroller)

    • 应用:面向低功耗、低成本的微控制器市场,广泛应用于物联网和嵌入式系统。
    • 特点:具有较低的功耗和简单的指令集,易于开发和部署,支持中断处理和实时操作。
    • 在这里插入图片描述
  4. Cortex-SC系列(SC:SecurCore)

    除了上述三大系列之外,还有一个主打安全的Cortex-SC系列(SC:SecurCore),主要用于政府安全芯片。

对应关系

架构版本内核版本
ARMv1ARM1
ARMv2ARM2、ARM3
ARMv3ARM6、ARM7
ARMv4StrongARM、ARM7TDMI、ARM9TDMI
ARMv5ARM7EJ、ARM9E、ARM10E、XScale
ARMv6ARM11、Cortex-M0、Cortex-M0+、Cortex-M1
ARMv7Cortex-M3、Cortex-M4、Cortex-M7
ARMv8Cortex-A50、Cortex-A70、Cortex-M33、Cortex-M55

ARM授权

ARM公司既不生产芯片也不出售芯片,它只销售芯片设计的授权。ARM授权分为ARM架构授权、IP核授权、使用层级授权。

  1. 架构层级授权

    是指可以对ARM架构进行大幅度改造,甚至可以对ARM指令集进行扩展或缩减,苹果就是一个很好的例子,在使用ARMv7-A架构基础上,扩展出了自己的苹果swift架构

  2. 内核层级授权

    是指可以以一个内核为基础然后在加上自己的外设,比如USART、GPIO、SPI、ADC等等,最后形成了自己的MCU,这种公司很多,比如ST、TI

  3. 使用层级授权

    要想使用一款处理器,得到使用层级的授权是最基本的,这就意味着你只能拿别人提供的定义好的ip来嵌入在你的设计中,不能更改人家的ip,也不能借助人家的ip创造自己的基于该ip的封装产品。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2070848.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于WordPress搭建的写真网站整站打包代码,可直接运营

直接服务器整站源码数据库打包了。 这个包的资源非常多,也非常火爆,吸引力还是挺大的。用这个架设一个引流网站还是轻松的。 图片太多太敏感,就不在这里显示了,懂的都懂。 代码测试过了,运行是完全没问题的。已经好…

CSS学习【margin为负值】

目录 margin塌陷时合并规则 margin重叠概念 可能会发生的情况 外边距重叠计算规则 兄弟元素之间合并,都为负值 当“.box1”和“.box2”都未设置外间距时: 给“.box1”和“.box2”设置外间距后: 兄弟元素间合并,一正一负 …

深入解析SSRF和Redis未授权访问

深入解析SSRF和Redis未授权访问:漏洞分析与防御 在网络安全领域,服务器端请求伪造(SSRF) 和 Redis未授权访问 是两类常见且危险的安全漏洞。 1.2 SSRF攻击的利用 1.2.1 测试并确认SSRF漏洞 一个典型的例子是,当应用…

迭代器的失效问题

vector的插入与删除 我们首先举例说明vector插入和删除操作返回的是什么迭代器 void print(std::vector<int>& vec) {for(auto itvec.begin();it!vec.end();it)std::cout<<*it<<" ";std::cout<<std::endl; }void test() {/*初始化vect…

Simple RPC - 07 从零开始设计一个服务端(下)_RPC服务的实现

文章目录 PreRPC服务实现服务注册请求处理 设计&#xff1a; 请求分发机制 Pre Simple RPC - 01 框架原理及总体架构初探 Simple RPC - 02 通用高性能序列化和反序列化设计与实现 Simple RPC - 03 借助Netty实现异步网络通信 Simple RPC - 04 从零开始设计一个客户端&#…

【数据结构】堆主要的应用场景

1. 堆排序 所谓堆排序&#xff0c;就是在堆的基础上进行排序。 在讲解堆排序之前&#xff0c;让我们先来回顾一下堆的概念&#xff0c; 1.1 大根堆和小根堆 堆是一种完全二叉树&#xff0c;它有两种形式&#xff0c;一种是大根堆&#xff0c;另外一种是小根堆。 大根堆&…

2023年看过的电影和电视剧

2023年看过的电影 2023年12月21日&#xff1a;三大队 评价&#xff1a;感觉结尾不太突出&#xff0c;但是值得一看。 2023年10月02日&#xff1a;志愿军&#xff1a;雄兵出击 评价&#xff1a;感觉还行&#xff0c;场面还不错。但是记不得太多情节。 2023年08月31日&#xf…

如何将 Parallels Desktop 许可证密钥移至新的 Mac?

根据 Parallels 最终用户许可协议&#xff08;EULA&#xff09;的规定&#xff0c;您最多可以在一台设备上下载、安装和使用 Parallels Desktop 的一个原始副本。但是面对更换新机的用户&#xff0c;可以通过迁移的方式把 Parallels Desktop 许可证密钥移至新的 Mac&#xff0c…

跟《经济学人》学英文:2024年08月24日这期 What to make of America’s topsy-turvy economy

What to make of America’s topsy-turvy economy Don’t panic just yet topsy-turvy&#xff1a;颠倒的&#xff1b;混乱的&#xff1b;乱七八糟的&#xff1b; make of&#xff1a;理解&#xff1b;认为&#xff1b;看待 Make of: 这里的 “make of” 意思是如何理解或解释…

自来水厂供水监控的串口服务器应用

随着城市化进程的加快和人口的不断增长&#xff0c;自来水厂作为城市供水系统的核心组成部分&#xff0c;其稳定性和安全性对于城市的正常运行和居民的生活质量至关重要。传统的供水监控系统存在数据传输效率低、维护成本高、实时性差等问题&#xff0c;难以满足现代城市对供水…

TMDOG的微服务之路_08——使用Docker部署NestJS微服务

TMDOG的微服务之路_08——使用Docker部署NestJS微服务 博客地址&#xff1a;TMDOG的博客 在上一篇博客中&#xff0c;我们探讨了如何使用 NestJS 创建一个简单的微服务架构。为了将这些微服务部署到生产环境&#xff0c;我们可以使用 Docker 来打包和管理这些服务。本篇博客将…

Docker 数据卷的使用

Docker 数据卷的使用 文章目录 Docker 数据卷的使用导引1. 创建数据卷2. 查看创建的数据卷3. 查看数据卷的详细信息 导引 在Docker中&#xff0c;我们在创建并运行容器后&#xff0c;可以通过exec命令进入容器内部进行操作&#xff0c;但会发现一些命令是无法使用的&#xff0…

NSSCTF练习记录:[SWPUCTF 2021 新生赛]pigpig

题目&#xff1a; 根据题目名字和附件名提示&#xff0c;猜测为猪圈密码&#xff0c;对应手动解码 whenthepigwanttoeat

持久层接口开发

通常一个接口定义后&#xff0c;从持久层开始开发。 对于一个新模块需要使用工具生成模型类、mapper接口、mapper映射文件等&#xff0c;下边介绍一个工具用于自动生成代码。 1. 代码生成工具 1.1 安装插件 1.2 重启IDEA&#xff0c;连接mysql 1.3 配置代码生成规则 点击“c…

C++容器之字符串的详解

每日诗词&#xff1a; 我见青山我妩媚&#xff0c;料青山见我应如是。 ——《贺新郎甚矣吾衰矣》【宋】辛弃疾 目录 补漏&#xff1a; vector在分配新内存块后如何进行元素复制 正文&#xff1a; 字符串变量和常量 字符串变量&#xff1a; 解析&#xff1a; 字符串常量…

揭露 Sapiens:未来以人为中心的视觉任务

Sapiens | Meta Meta Reality Labs 隆重推出 Sapiens&#xff0c;这是一个尖端的模型系列&#xff0c;专为四种以人为中心的基本视觉任务而设计&#xff1a;二维姿态估计、身体部位分割、深度估计和表面法线预测。 我们的 Sapiens 模型可无缝处理 1K 高分辨率推理&#xff0c…

加州大学圣地亚哥分校 沉浸式遥操作机器人系统

想象一下&#xff0c;在VR中控制游戏角色时&#xff0c;你的手部动作能够无缝转化为角色的行动。如果将这种体验应用于现实世界中的双手机器人控制&#xff0c;将带来革命性的人机交互体验。随着Apple Vision Pro的问世&#xff0c;这一设想逐渐变为现实。然而&#xff0c;将这…

Velocity模板引擎——若依代码生成器

文章目录 快速入门准备模板数据填充运行代码 基础语法简单类型的变量获取对象类型的变量获取基础语法-循环基础语法—if判断 官网 比较擅长用于邮件&#xff0c;发票&#xff0c;web内容生成、代码生成、网页静态化 模板化的东西适合使用 当然模板引擎不止这一种&#xff0c;还…

记录|C# winform——Chart控件

目录 前言一、重点关注1.1 Chart控件效果1.2 属性1.2.0 位置讲解1.2.1 Titles——标题集合TextToolTip 1.2 .2 Series——图表序列ChartTypeLegends——图例集合 二、数据传入Chart控件2.1 如何传入数据&#xff1f;2.2 如果想限定每次展现的数据量怎么办&#xff1f; 三、标注…

主机安全-网络攻击监测

目录 概述暴力破解&#xff08;SSH爆破为例&#xff09;原理规则攻击模拟告警 端口扫描原理规则攻击模拟告警 流量劫持原理规则攻击模拟告警 参考 概述 本文介绍主机网络层面上的攻击场景&#xff0c;每种攻击场景举一个例子。监测方面以字节跳动的开源HIDS elkeid举例。 针对…