2- STM32之ARM Cortex-M体系结构(上)

简介: 2- STM32之ARM Cortex-M体系结构


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)

640.png


2.1.2ARM体系结构类型


640.png


2.2 Cortex-M4内核基础


640.png


32-bit微控制器:32-bit 寄存器组、存储器接口。

哈佛架构:独立的指令总线和数据总线。

存储空间:4GB。

寄存器:寄存器 (R0 到 R15) 和 特殊功能寄存器。

运行模式:线程模式和处理模式;特权级和用户级。

中断和异常:内置嵌套向量中断控制器;支持11 种系统异常外加240 种外部 IRQ。

总线接口:若干总线接口允许 Cortex-M4 同时取指令和取数据。

MPU:一个可选的存储器保护单元允许对特权访问和用户程序访问制定访问规则。

指令集:Thumb-2 指令集;允许 32位指令和16位指令被同时使用。

内部调试组件:提供在线调试功能,例如:断点、单步、变量查看。


640.png

640.png


640.png


640.png640.png

640.png

640.png640.png


640.png


640.png


640.png

640.png

640.png


640.png

640.png

640.png

640.png




相关文章
2- STM32之ARM Cortex-M体系结构(下)
2- STM32之ARM Cortex-M体系结构
|
芯片 程序员 存储
带你读《数字设计和计算机体系结构(原书第2版·ARM版)》之一:二进制
采用一种独特的现代数字设计方法,先介绍数字逻辑门,接着讲述组合电路和时序电路的设计,并以这些基本的数字逻辑设计概念为基础,重点介绍如何设计实际的MIPS处理器。另外,在全书的实例中运用SystemVerilog和VHDL展示基于CAD的电路设计方法和技术。通过《数字设计和计算机体系结构(原书第2版)》,读者能够构建自己的微处理器,并能够自顶向下地理解微处理器的工作原理。
|
存储 传感器 异构计算
带你读《数字设计和计算机体系结构(原书第2版·ARM版)》之三:时序逻辑设计
采用一种独特的现代数字设计方法,先介绍数字逻辑门,接着讲述组合电路和时序电路的设计,并以这些基本的数字逻辑设计概念为基础,重点介绍如何设计实际的MIPS处理器。另外,在全书的实例中运用SystemVerilog和VHDL展示基于CAD的电路设计方法和技术。通过《数字设计和计算机体系结构(原书第2版)》,读者能够构建自己的微处理器,并能够自顶向下地理解微处理器的工作原理。
带你读《数字设计和计算机体系结构(原书第2版·ARM版)》之二:组合逻辑设计
采用一种独特的现代数字设计方法,先介绍数字逻辑门,接着讲述组合电路和时序电路的设计,并以这些基本的数字逻辑设计概念为基础,重点介绍如何设计实际的MIPS处理器。另外,在全书的实例中运用SystemVerilog和VHDL展示基于CAD的电路设计方法和技术。通过《数字设计和计算机体系结构(原书第2版)》,读者能够构建自己的微处理器,并能够自顶向下地理解微处理器的工作原理。
|
存储 机器学习/深度学习 物联网
Arm为Cortex-M添加了神经网络指令
Arm已经在其Cortex-M架构中添加了神经网络处理指令,针对物联网网络外部边缘的产品,例如可以识别少量语音而无需连接到云的设备,例如人声唤醒命令。“M-Profile Vector Extensions”(MVE)已经在“Helium”品牌下宣布,与该公司的高端Cortex-A内核的Neon SIMD(单指令多数据)扩展非常类似。
1483 0
|
前端开发 测试技术 C语言
使用Troll对ARM Cortex-M处理器进行系统内核调试
本文讲的是使用Troll对ARM Cortex-M处理器进行系统内核调试,Troll是用于ARM Cortex-M系统的C语言源代码级调试器,可通过高端的blackmagic硬件调试探针进行访问,并且还可以使用blackmagic的定制工具vx / blackstrike。
1434 0
ARM体系结构简介
ARM体系结构简介 新一代的ARM9处理器,能达到两倍ARM7的处理能力,它们的区别如下:   ARM微处理器的工作状态(可切换): 第一种为ARM状态,此时处理器执行32位的字对齐的ARM指令 第二种为Thumb状态,此时处理16位的半字节对齐的Thumb指令 ARM体系结构的存储方式 大端格式:字数据的高字节存储在低地址,反之也是; 小端格式:与上相反 ARM微处理器模式(7种),这里笔者不详细说明了,一些资料上就就有解释说明。
|
5天前
|
机器学习/深度学习 弹性计算 人工智能
阿里云服务器架构有啥区别?X86计算、Arm、GPU异构、裸金属和高性能计算对比
阿里云ECS涵盖x86、ARM、GPU/FPGA/ASIC、弹性裸金属及高性能计算等多种架构。x86架构采用Intel/AMD处理器,适用于广泛企业级应用;ARM架构低功耗,适合容器与微服务;GPU/FPGA/ASIC专为AI、图形处理设计;弹性裸金属提供物理机性能;高性能计算则针对大规模并行计算优化。