2.1 ARM Cortex 体系架构概述

ARM公司在经典处理器ARM11以后的产品都改用Cortex命名,主要分成A、R和M三类,旨在为各种不同的市场提供服务,A 系列处理器面向尖端的基于虚拟内存的操作系统和用户应用;R系列处理器针对实时系统;M系列处理器针对微控制器。

2.1.1 CISC和RISC

指令的强弱是CPU的重要指标,指令集是提高微处理器效率的最有效工具之一。从现阶段的主流体系结构来讲,指令集可分为复杂指令集(CISC)和精简指令集(RISC)两部分。
1.CISC机器
CISC体系的指令特征为使用微代码,计算机性能的提高往往是通过增加硬件的复杂性来获得的。
优点:指令丰富,功能强大,寻址方式灵活,能够有效缩短新指令的微代码设计时间,允许设计师实现CISC体系机器的向上相容。
缺点:指令集及晶片的设计比上一代产品更复杂,不同的指令需要不同的时钟周期来完成,执行较慢的指令,将影响整台机器的执行效率。
2.RISC机器
RISC体系的指令特征:RISC包含简单、基本的指令,这些简单、基本的指令可以组合成复杂指令。
优点:在使用相同的晶片技术和相同运行时钟下,RISC系统的运行速度是CISC系统的运行速度的2~4倍。由于RISC处理器的指令集是精简的,它的存储管理单元、浮点单元等都能设计在同一块芯片上。
缺点:多指令的操作使得程式开发者必须小心地选用合适的编译器,而且编写的代码量会变得非常大。另外就是RISC处理器需要更快的存储器,并将其集成于处理器内部,如一级缓存(L1 Cache)。

2.1.2ARM体系结构类型


2.2 Cortex-M4内核基础


32-bit微控制器: 32-bit 寄存器组、存储器接口。
哈佛架构:独立的指令总线和数据总线。
存储空间:4GB。
寄存器:寄存器 (R0 到 R15) 和 特殊功能寄存器。
运行模式:线程模式和处理模式;特权级和用户级。
中断和异常:内置嵌套向量中断控制器;支持11 种系统异常外加240 种外部 IRQ。
总线接口:若干总线接口允许 Cortex-M4 同时取指令和取数据。
MPU:一个可选的存储器保护单元允许对特权访问和用户程序访问制定访问规则。
指令集:Thumb-2 指令集;允许 32位指令和16位指令被同时使用。
内部调试组件:提供在线调试功能,例如:断点、单步、变量查看。





















2.3 存储器系统

Cortex-M4内核的存储器系统的主要特性如下:
(1)可寻址4GB线性地址物理空间。
(2)支持小端和大端的存储器系统。Cortex-M4处理器可以选择使用小端或者大端的存储器系统。
(3)位段访问。
(4)写缓冲。对可缓冲存储器区域写操作需要花费几个周期时间,Cortex-M4处理器的写缓冲可以把写操作缓存起来,因此处理器可以继续执行下一条指令,从而提高了程序的执行速度。
(5)存储器保护单元(MPU)。MPU定义了各存储器区域的访问权限,且为可编程。Cortex-M4处理器中的MPU支持8个可编程区域,可在嵌入式操作系统中提高系统的健壮性。Cortex-M4处理器中的MPU是可选的。多数应用不会用到MPU,可以忽略。
(6)非对齐传输支持。ARMv7-M架构的所有处理器(包括Cortex-M4处理器)支持非对齐传输。








2.4 异常和中断














2- ARM Cortex-M体系结构相关推荐

  1. ARM Cortex -M 体系结构————————ARM微控制器与嵌入式系统(清华大学慕课记录)

    ARM的发展过程 对于ARM公司来讲,ARM公司只做CPU设计,采用出售IP的方式运营,半导体产商无需自己设计CPU,是生产关系的革命,提高了生产力.下面这张图ARM核的多个系列,我们可以看到ARM从 ...

  2. ARM Cortex系列(A8/A9/A15/A7) NEON多媒体处理SIMD引擎优化

    出处: http://houh-1984.blog.163.com/blog/static/31127834201211275111378/ Cortex-A9的NEON多媒体处理器是基于ARMv7的 ...

  3. i.MX6UL: i.MX 6UltraLite处理器 - 低功耗,安全,Arm® Cortex®-A7内核

    i.MX6UL: i.MX 6UltraLite处理器 - 低功耗,安全,Arm® Cortex®-A7内核 概述 i. MX6UltraLite作为i.MX6系列的扩展,一系列高性能.超高效的处理器 ...

  4. iar升级芯片库_IAR 发布支持ARM Cortex系列的开发工具包

    2009年9月, 瑞典乌普萨拉,IAR Systems正式推出支持Cortex-M系列芯片的IAR Embedded Workbench.IAR Embedded Workbench for Cort ...

  5. 关于ARM Cortex系列产品

    ARM Cortex系列的三款产品全都集成了Thumb®-2 指令集,可满足各种不同的日益增长的市场需求.ARM Cortex系列的三款处理器: • ARM Cortex-A 系列:针对复杂操作系统以 ...

  6. 意法半导体STM32 ARM Cortex 32位微控制器

    STM32系列32位微控制器基于Arm® Cortex®-M处理器,旨在为MCU用户提供新的开发自由度.它包括一系列产品,集高性能.实时功能.数字信号处理.低功耗/低电压操作.连接性等特性于一身,同时 ...

  7. ​ ARM Cortex系列那么多处理器,该怎么区分?

    关注.星标公众号,直达精彩内容 来源:嵌入式资讯精选 最近因为要为芯片选定核,所以就在了解哪些核合适且性价比好,这是一个需要结合产品各类技术.市场分析的活,看似简单却还是需要一些储备的,今天选了一篇A ...

  8. linux 返回非法指令,linux – ARM Cortex A7在内核模式下返回PMCCNTR = 0,在用户模式下返回非法指令(即使在PMUSERENR = 1之后)...

    我想在Raspberry Pi 2上读取循环计数寄存器(PMCCNTR),它有一个ARM Cortex A7内核.我为它编译了一个内核模块,如下所示: #include #include int in ...

  9. STM32MP157C-DK2->Develop on Arm® Cortex®-A7之 C语言开发uart例程

    编写C代码开启STM32MP157C-DK2开发板上的uart7的接收功能,并将收到的数据打印到控制台,并通过uart7发送出"uart"字符串. STM32MP157C-DK2的 ...

  10. ARM® Cortex®-M内核单片机STM32家族介绍,覆盖STM32F、STM32H、STM32L全系列

     STM32是ARM®Cortex®-M内核单片机.目前提供10大产品线(F0, F1, F2, F3, F4, F7, H7, L0, L1, L4),超过700个型号.STM32产品广泛应用于 ...

最新文章

  1. CStatic 控件设置文本,不能重回问题
  2. MonkeyRunner 实现自动点击截屏后与本地图库进行对比输出
  3. Matlab学习------------带有右键菜单的GUI学习实例
  4. 2016/9/23总结电脑内容
  5. git实战中遇到git@github.com: Permission denied (publickey).的问题
  6. 改变Tomcat的端口de方法
  7. 【数据结构系列】严蔚敏C语言版算法实现并附带详细注释(逐步更新)
  8. julia语言 python解释器_深入Python解释器源码,我终于搞明白了字符串驻留的原理...
  9. 物联网可视化平台-场景编辑器-轻松实现三维地图搭建
  10. python下面代码是什么意思_python的入门,代码,什么意思?
  11. Python str函数
  12. Vi IMproved
  13. stm32mp157开发板MIC 接口测试方法
  14. 今日没有睡眠质量记录
  15. python积木式编程_实例讲解python函数式编程
  16. 炒股:如何安全地追热点
  17. 苹果发布Swift编程语言 - iOS移动开发周报
  18. 自己定义控件事实上非常easy1/6
  19. 【财富空间】中兴陷入危局之际,半导体巨人三星却赚翻了!核心技术才是王道...
  20. python对笔记本电脑的要求-适合编程的笔记本

热门文章

  1. Python核心编程-Amy老师第十讲课程作业
  2. php会员生日祝福,药店会员积分卡 vip客户生日祝福短信
  3. 英语词根记忆法(6)
  4. 百亿富翁 (单调栈)
  5. 卖保健产品怎么引流?关于做男性保健品怎么引流的详细介绍
  6. 【语音识别】语音识别技术入门
  7. 数字孪生在能源、电力系统、电厂行业的应用实例
  8. Mac上Unity打ab包报错 Moving file failed. … No Such file or director
  9. AutoFlowLayout的报错处理
  10. 小米手机(MIUI)介绍以及工程机评测 【持续更新】