【嵌入式开发】ARM芯片简介(ARM芯片类型|ARM处理器工作 - 新闻资讯 - 云南小程序开发|云南软件开发|云南网站建设-昆明葵宇信息科技有限公司

159-8711-8523

云南网建设/小程序开发/软件开发

知识

不管是网站,软件还是小程序,都要直接或间接能为您产生价值,我们在追求其视觉表现的同时,更侧重于功能的便捷,营销的便利,运营的高效,让网站成为营销工具,让软件能切实提升企业内部管理水平和效率。优秀的程序为后期升级提供便捷的支持!

您当前位置>首页 » 新闻资讯 » 技术分享 >

【嵌入式开发】ARM芯片简介(ARM芯片类型|ARM处理器工作

发表时间:2020-10-19

发布人:葵宇科技

浏览次数:34


作者 : 韩曙亮
博客地址 : http://blog.csdn.net/shulianghan/article/details/42375701
相干资本下载 : 
-- 三星 ARM Architecture Reference Manual 文档 : http://download.csdn.net/detail/han1202012/8324641







一. ARM 芯片类型


1. ARM 分类


(1) ARM 分类类型(芯片 | 核 | 指令架构)


ARM 分类
-- ARM 芯片类型 : 6410, 2440, 210;
-- ARM 菏攀类型 : arm11, arm9, CortexA9;
-- 指令架构 : armv7, armv6;




(2) ARM芯片 与 ARM核 关系


芯片 和 核关系 : 芯片包含核; 
-- 2440 芯片 : 包含 arm9 核; 
-- 6410 芯片 : 包含 arm11 核; 
-- 210 芯片 : 包含 CortexA8 核;




(3) ARM核 与 指令架构 关系




ARM 核 与 指令架构 关系
-- ARM9 : armv4 指令架构;
-- ARM11 : armv6 指令架构;
-- CortextA8 : armv7 指令架构;




2. ARM 演变变迁




(1) 经的┞敷营


成长过程 : ARM7 --> ARM9 --> ARM11, ARM11 机能最高, ARM7 机能最低;




(2) Cortex 阵营


Cortext 系列
-- Cortex-M 系列 : 没有操作体系, 面向工控范畴, 与单片机差不多;
-- Cortex-R 系列 : 面向及时应用, 强调及时性, 可以运行操作体系;
-- Cortex-A 系列 : 重要面向多媒体应用, 今朝多半的智妙手机属于该系列;


机能递推 : Cortex-M0 --> Cortex-M1 --> Cortex-M3 --> Cortex-M4 --> Cortex-R4 --> Cortex-A5 --> Cortex-A8 --> Cortex-A9 ;


(3) Cortex 与 ARM 比较




ARM 与 Cortext 比较
-- ARM7 :  ARM 7 与 Cortext-M3 类似, 都没有操作体系, 机能上 Cortex-M3 略高, 然则高的有限;
-- ARM9 和 ARM11 : ARM9 和 ARM11 与 Cortex-R4 机能类似, ARM11 不如 Cortex-A5, 远远比不上 Cortex-A8 和 Cortex-A9;




3. 芯片机能比较(处理速度 | 缓存 | 内存接口 | OS)




(1) 处理速度比较


芯片处理速度比较 : 去芯片对应的芯片手册中查找 Clock&Power Management 章节, 查看时钟相干参数;
-- 6410 : 533MHz ~ 667MHz;
-- 2440 : 12MHz 晶振 对应 405 ~ 532 MHz 处理速度;
-- 210 : 800MHz ~ 1GHz;




(2) 缓存比较



芯片缓存比较 : 去芯片对应的芯片手册;
-- 6410 : 16K 指令缓存, 16K 数据缓存;
-- 2440 : 16K 指令缓存, 16K 数据缓存;
-- 210 : 32KB 指令缓存, 32KB 数据缓存;




(3) 内存接口比较


芯片内存接口比较 : SDRAM 已经镌汰掉落了;
-- 2440 : 供给 SDRAM 内存接口;
-- 6410 : 供给了 SDRAM, 也供给了 DDR 内存接口;
-- 210 : 供给了 DDR1 和 DDR2 两种内存接口;




(4) 支撑的操作体系



芯片支撑操作体系比较 : 去芯片对应的芯片手册中查找;
-- 6410 : WinCE | Linux | Android;
-- 2440 : WinCE | Linux;
-- 210 : WinCE | Linux | Android;




(5) 其它贸易信息


芯片贸易比较 : 
-- 6410 : 持续应用;
-- 2440 : 三星宣布停产;
-- 210 : 持续应用;

二. ARM 工作模式


对应手册ARM Architecture Reference Manual.pdf 手册, 在本博客中供给下载;
-- 章节内容 : Programmers’ Model, A2.2 Page 41;
-- 手册下载地址 : http://download.csdn.net/detail/han1202012/8324641

1. 处理器工作模式


(1) ARM 工作模式图例


工作模式图示 : 图片截图自 ARM Architecture Reference Manual.pdf 手册, Page 41, A2.2 章节;
[img]http://img.blog.csdn.net/20150104130555281

(2) ARM 工作模式介绍


工作模式介绍
-- User 模式 (usr) : 通俗应用法度榜样运行的模式; 
-- FIQ 模式 (fiq) : 快速中断模式; 
-- IRQ 模式 (irq) : 通俗中断模式; 
-- Supervisor 模式 (svc) : 为操作体系供给的保护模式; 
-- Abort 模式 (abt) : 拜访虚拟内存导致异常的模式; 
-- Undefined 模式 (und) : 不决义指令模式; 
-- System 模式 (sys) : armv4 以上版本才有该模式; 
Linux 体系工作模式 : 体系运行在 usr 模式, 内核运行在 svc 模式;

三. ARM 存放器


对应手册 : ARM Architecture Reference Manual.pdf 手册, 在本博客中供给下载;
-- 章节内容 : Programmers’ Model, A2.3 Page 42;
-- 手册下载地址 : http://download.csdn.net/detail/han1202012/8324641

1. 存放器简介


存放器简介
-- 存放器个数 : ARM 有 37 个存放器;
-- 通用存放器 : 31 个通用存放器, 法度榜样计数器 也是一个通用存放器;
-- 状况存放器 : 6 个状况存放器;
-- 图示
[img]http://img.blog.csdn.net/20150104132429953
-- 存放器图示 : 截图自 Page 43;
[img]http://img.blog.csdn.net/20150104133326298

2. 通用存放器


(1) 通用存放器分类


通用存放器分类
-- 不分组存放器 : R0 ~ R7;
-- 分组存放器 : R8 ~ R14, 不合模式下应用的存放器都不雷同;
-- 法度榜样计数器 : PC 指针, 是 R15;

(2) 常用通用存放器解析


R13 存放器 : 平日用来做 SP 客栈指针;
R14 存放器 : 平日用来做 链接存放器;
-- 感化一 : 保存函数返回地址;
-- 感化二 : 异常产生时, 重要用于记录函数返回地址;
R15 存放器 : PC 指针, 法度榜样计数器;

3. 状况存放器


(1) 对应各个模式的状况存放器出现原因


状况存放器
-- 图示
[img]http://img.blog.csdn.net/20150104135228937
-- 对应各个模式的状况存放器 : 当出现中断后, 履行中断法度榜样, 须要将对应的 CPRS 保存到对应模式的 SPRS_xxx 存放器中, 如当前在 scv 模式中断, 将状况存放器保存到 SPSR_svc 存放器中, 中断履行完后, 将状况大年夜 SPSR_svc 中写回到 CPRS 存放器中;

(2) CPSR 存放器位简介


CRSR 存放器简介
-- 图示
[img]http://img.blog.csdn.net/20150104135604639
-- N 位 : 两个数a 和 b比较, 即做减法 (a-b), 如不雅 a < b, 减法结不雅是负数, N = 1; 如不雅 a >= b, 减法结不雅是正数或0, N = 0; 
-- Z 位 : 两个数进行比较, 只有两个数相等时 Z = 1;
-- I 位 : I = 1 时不克不及产生中断;
-- F 位 : F = 1 时不克不及产生快速中断;
-- M 位 : 占了 5 个位 0 ~ 4, 重要用于标明处理器模式, 可以攫取模式 和 设置模式, 如下图 : 
[img]http://img.blog.csdn.net/20150104140244546








四. ARM 寻址方法


对应手册 : ARM Architecture Reference Manual.pdf 手册, 在本博客中供给下载;
-- 章节内容 : Programmers’ Model, A2.3 Page 42;
-- 手册下载地址 : http://download.csdn.net/detail/han1202012/8324641
寻址方法 : 处理器根据指令给出的信息找到指令的操作数;

1. 急速数寻址


急速数寻址简介
-- 寻址过程 : 操作数本身就在指令中给出, 掏出指令同时也可以获取操作数; 
-- 操作数 : 指令中掏出的操作数就是急速数;
-- 寻址方法 : 这种大年夜指令中掏出急速数的方法就是急速数寻址;


急速数寻址示例
-- 示例 : ADD R0, R0, #0x3F; 
-- 解析 : 将 R0 + #0x3F 相加, 结不雅放入到 R0 中;


急速数寻址请求 : 第二个源操作数以 "#" 为后缀;


2. 存放器寻址


存放器寻址简介 : 应用存放器中的数值作为操作数;
-- 示例 : ADD R0, R1, R2;
-- 示例解析 : 将 R1 和 R2 存放器中的数字相加, 结不雅存放到 R0 中;




3. 存放器借居寻址


存放器借居寻址简介 : 存放器中存放的操作数在内存中, 存放器存放内存的地址;
-- 示例 : LDR R0, [R2];
-- 示例解析 : 存放器 R2 中存放的是 操作数的内存地址, 大年夜内存中掏出操作数存入 R0 中;




4. 基址变址寻址


基址变址寻址简介
-- 基址存放器 : 存放器中存放一个基地址;
-- 偏移量 : 指令中给出一个偏移量, 与基址存放器放在一个中括号号中;
-- 示例 : LDR R0, [R1. #4];
-- 示例解析 : 大年夜 R1 中掏出地址, 然后 该地址 加上 4, 大年夜 相加后的地址中掏出数据;




5. 相对寻址


相对寻址简介 : PC 指针当前值为基地址, 指令中地址标号是偏移量, 两者相加后是有效地址;
-- 示例 : BL NEXT 时会跳转到 NEXT 处履行, 履行完后会返回到原法度榜样处;
BL NEXT ;跳转到 NEXT 处履行
... ...
NEXT
... ...
MOV PC, LR ;大年夜子法度榜样返回


作者 : 韩曙亮
博客地址 : http://blog.csdn.net/shulianghan/article/details/42375701
相干资本下载 : 
-- 三星 ARM Architecture Reference Manual 文档 : http://download.csdn.net/detail/han1202012/8324641

相关案例查看更多