嵌入式&物联网--ARM及Cortex-M架构CPU的概述

一,关于ARM体系架构的介绍

        1.1 什么是ARM

        1.2 ARM体系架构CPU的特点

        1.3 ARM体系架构及指令集

        1.4 ARM的具体介绍

                1.4.1 ARM9的特点

                1.4.2 ARM的工作状态

                1.4.3 ARM的存储格式

                1.4.4 ARM的运行模式

二,Contex-M系列CPU

        2.1 Contex与Contex-M系列架构简介

三,关于CPU的选择

一,关于ARM体系架构的介绍

1.1 什么是ARM(Advanced RISC Machines)

(1)ARM是一家公司,靠出售芯片的IP核授权来盈利

注:IP核,即知识产权核,是一段具有特定电路功能的硬件描述语言程序。

(2)ARM是一种CPU的体系架构

1.2 ARM体系架构CPU的特点

(1)采用ARM32为指令集合Thumb指令集。CPU的指令集就是存储在CPU内部的对CPU运算进行指导和优化的硬程序;RISC相对于CISC指令集来说,即精简指令集。

(2)体积小。

(3)功耗低。

(4)成本低。

(5)性能高。

(6)集成度高

(7)种类多,应用广泛。种类繁多:从纵向来看,CPU从低端到中端再到高端,针对不同的应用都可以找到相对应的CPU来使用;从横向来看:由于存在大量的RAM架构的CPU厂家,各个厂家生成的CPU也是各有特点。总之就是能够找出一个适合某项应用的CPU。

1.3 ARM体系架构及指令集

ARM架构ARM指令集
ARM7ARMv4T(Newman)结构
ARM9ARMv4T(Harvard)结构
ARM10ARMv5T
ARM11ARMv6T
ARM ContexARMv7

注:Newman结构,即冯诺依曼结构,特点:共用的数据和程序存储空间,共享存储总线。

        Harvard结构,即哈佛结构,特点:分离的数据和程序存储空间,以及分离的访问总线,取指与取数可以并发执行,有更高的效率。 

        1.4 ARM的具体介绍

        1.4.1 ARM9的特点 

        (1)采用五级流水线设计:取指,译码,执行,缓冲,写回。

取指和译码大家应该都有所了解了,这里主要介绍以下几点:

        执行:把一个操作数移位,产生ALU的结果

        缓冲:若需要则访问程序存储器,否则ALU只是缓冲一个时钟周期

        写回:将指令产生的结果写回到寄存器堆栈。

        (2)ARM9采用哈佛结构,有更高的效率.ARM7采用的是冯诺依曼结构。

        (3)引入了高速缓存和写缓存

        (4)支持MMU。MMU是存储器管理单元的缩写,是用来管理虚拟内存系统的器件。

MMU能够真正实现内存保护,增强稳定性和可靠性。

        1.4.2  ARM的工作状态

(1)ARM工作状态。此时处理器执行32位的字对齐ARM指令。

(2)Thumb工作状态。此时处理器执行16位的半字节对齐Thumb指令。

        1.4.3 ARM的存储格式

        (1)大端格式。字数据的高字节存储在低地址中,低字节存储在高地址中。

        (2)小端格式。字数据的高字节存储在高地址中,高字节存储在低地址中。 

        1.4.4 ARM的运行模式

运行模式模式作用
用户模式(usr)ARM处理器正常的执行状态
快速中断模式(fig)由于高速数据传输或通道处理
外部中断模式(irg)用于通用的中断处理
管理模式(svc)操作系统使用的保护模式
数据访问终止模式(abt)当数据或指令预取终止进入该模式,虚拟存储及时保护
系统模式(sys)运行具有特权的操作系统任务

二,Contex-M系列CPU

        2.1 Contex与Contex-M系列架构简介

(1)Contex系列架构

  ARM公司在处理器ARM11以后的产品都用Contex来命名,并且分成了A,R,M三类,目的是    为了各种不同的市场需求提供服务。Contex系列架构采用ARMv7指令集。

        “A”系列面向尖端的基于虚拟内存的操作系统和用户应用。

        “R”系列针对实时系统。如大家较熟悉的FreeRTOS,RT-Thread等实时操作系统。

        “M”系列针对低功耗低成本的微控制器应用。

(2)Contex-M系列架构

Contex-M系列CPU树立了全球微控制器(MCU)的设计标准。

 1. 特点:

       a.低成本;

       b. 低功耗:支持多种休眠模式(sleep),且应用更加灵活,省电。

       c.对代码量需求小:Contex-M系列架构的MCU是32位的MCU,比其他的8位或16位的设备支持的指令集密度更高,所以每个指令集完成的操作也就越多,从而就可以减小代码长度,同时对硬件的要求就没有那么高了,如存储器RAM和RAM,也降低了成本。

       d. 代码可重用性好:从纵向来看,Contex-M0采用ARMv6的指令集,Contex-M3和Contex-M4采用ARMv7的指令集,从下往上是兼容的; 从横向来看,由于Contex-M供应商都是采用的统一的指令集标准,并且都是用统一的工具进行开发,在同一体系架构的不同厂家的CPU进行移植时,对于代码的修改量是很少的。

       e. 性能强大;

       f. 可选厂家和型号多。

注:8位,16位,32位的MCU的介绍

    位数就是处理器一次性处理数据的字长。如8位的MCU,一次性就是处理一个字节(1Byte=8bit)的数据,同理,16位的MCU就是一次性能处理2个字节的数据,32位的MCU一次性能处理3个字节的数据。

 三,关于CPU的选择

(1)清楚了解项目需求

        是手持的设备还是车载设备? ==>CPU体积的大小

        是通信设备还是检测设备? 其他特别的需求?

(2)根据项目需求从以下几个方面进行选型

        1.CPU的性能

        2.CPU在某些功能上的工作范围及精确度

        3.CPU的价格与功耗,即性价比的问题

        4.CPU支持的接口

     

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值