您当前的位置:钢材 > 型钢 > 市场分析

arm微处理器的几种工作模式,arm微处理器系列芯片的特点

来源:头条 作者: chanong
分享到
关注德勤钢铁网在线:
  • 扫描二维码

    关注√

    德勤钢铁网微信

在线咨询:
  • 扫描或点击关注德勤钢铁网在线客服

1. 嵌入式处理器基础知识典型的微处理器由控制单元、程序计数器(PC)、指令寄存器(IR)、数据通道、存储器等组成。指令执行过程一般分为:

取指令:从内存中取出下一条要执行的指令并将其加载到指令寄存器中。 PC: 程序计数器始终指向下一条要执行的指令。 IR: 指令寄存器用于保存提取的指令。如图所示:

解码:解释指令并确定指令执行的含义,如图所示。

执行:将数据从内存移至数据通道寄存器,通过算术逻辑单元ALU进行数据运算,如图所示。

存储:将数据从寄存器写入内存。如图所示:

一些微处理器,例如ARM系列处理器和DSP,实现了指令流水线行为,其中指令处理根据流水线的数量进行划分。例如,具有五级流水线的处理器分五个阶段执行指令。 (1)按存储结构分:冯·诺依曼架构和哈佛架构冯·诺依曼架构又称普林斯顿架构,是一种程序指令存储器和数据存储器相结合的存储器结构。处理器通过同一总线传输访问程序和数据存储器,程序指令和数据具有相同的宽度。如图,X86系列、ARM7等:

哈佛结构是一种将程序指令存储和数据存储分离的内存结构,以缓解程序执行过程中的内存访问瓶颈。哈佛架构的微处理器通常具有较高的执行效率。 Microchip的PIC系列芯片、Motorola的MC68系列、Zilog的Z8系列、Atmel的AVR系列、ARM的ARM9、ARM10、ARM11等。如图所示:

根据指令类型的不同,可分为复杂指令集(CISC)处理器和精简指令集(RISC)处理器。 CISC:复杂指令集计算机。由于指令和寻址方式较多,因此需要更多的解释器。 8/2原理:80%的程序仅使用20%的指令,并且大多数程序仅使用少量指令即可运行。 CISC 具有以下主要特点: (1) 指令格式不固定,指令长度不恒定,操作数可以多也可以少; (2) 使编程更加容易(3) 每个操作的执行都采用一个微程序结构,每条指令需要完成一系列微指令;(4)每条指令的完成需要几个机器周期,指令越复杂,需要的机器周期越多。 RISC:精简指令集计算机:指令数量少,通道中只包含最有用的指令,执行时间短,保证数据通道快速执行每条指令,简化了CPU硬件结构的设计。每条指令都使用标准字长。

2. ARM 处理器架构ARM 代表高级RISC 机器。 1985年4月26日,第一台ARM原型机在英国剑桥的Acorn计算机有限公司诞生。 20世纪80年代末,ARM迅速发展为Acorn的桌面产品,并构成了英国计算机教育的基础。 Advanced RISC Machines Limited 成立于1990 年。 20世纪90年代,ARM 32位嵌入式RISC(精简指令集计算机)处理器在全球范围内扩展,并在低功耗、低成本、高性能嵌入式系统应用中占据了领导地位。目前它占据了32位嵌入式产品市场75%以上的份额。 32位RISC处理器是首选,以ARM嵌入式微处理器系列为首。尽管ARM已经存在了20多年,但在1999年手机市场的繁荣时期,其32位RISC处理器占据了50%以上的市场份额,到2001年初,ARM的32位RISC处理器已经出现了。处理器占据75%以上的市场份额。 ARM 是一家知识产权供应商和设计公司。合作伙伴公司生产自己的芯片。 ARM处理器特点:(1)ARM指令是32位定长(不包括将指令增加到64位的AArch64架构部分)(2)大量寄存器(37个寄存器)(3)定期加载/存储(4)多寄存器加载/存储指令(5) 指令的条件执行(6) 在一个时钟周期内用一条指令完成数据移位和ALU 操作(7) 通过变体和交互扩展ARM 处理器的功能处理器(8) 增强型16-位Thumb指令提高代码密度ARM命名约定是基于ARM架构版本的“处理器系列”命名约定和基于ARM架构版本的“处理器型号”命名约定,分为两类: ARM架构版本。

ARMv6 架构引入了一系列新功能,包括单指令多数据(SIMD) 计算。 ARMv6-M架构专为低成本、高性能设备而设计,为之前由8位设备主导的市场提供了强大的32位解决方案。例如Cortex-M0 和Cortex-M1。 ARMv7 架构:所有ARMv7 架构处理器均实现Thumb-2 技术,这是一种优化的16/32 位混合指令集。该架构分为三种类型的处理器:Cortex-A - 应用处理器和Cortex-R - 实时处理器。Cortex-M - 微控制器。 ARMv8 架构,ARMv8-A 为ARM 架构引入了64 位架构支持。这包括64 位通用寄存器、SP(堆栈指针)和PC(程序计数器)、64 位数据处理和扩展虚拟寻址、兼容性。 32 位处理。 ARMv9架构最重要的升级是AI和安全。它以ARMv8 兼容性为基础,提高了安全性,增加了矢量计算、机器学**、数据信号处理等功能,并显着提高了性能。 1) ARM 数据类型(1) 双字:64 位(2) 字:在ARM 架构中,一个字的长度为32 位。 (3) 半字:在ARM架构中,一个半字的长度为16位。 (4)字节:在ARM架构中,一个字节有8位长。 2)ARM处理器存储格式作为32位微处理器,ARM架构支持的最大地址空间为4GB。 ARM架构可以以两种方式存储字数据:大端模式和小端模式。大端模式(上上下):字的高字节存储在低地址的字节单元中,字的低字节存储在高地址的字节单元中。

3)ARM处理器的工作状态从编程的角度来看,ARM微处理器通常有两种工作状态:ARM和Thumb,并且可以在两种状态之间切换。 (1) ARM状态:目前,处理器执行在32位字边界上对齐的ARM指令,并且大多数指令在该状态下运行。 (2) Thumb状态:此时,处理器执行16位半字对齐的Thumb指令。 THUMB 指令特性:THUMB 代码所需的空间是ARM 代码所需空间的70%。 THUMB 代码比ARM 代码使用的指令多40%。使用32 位内存,ARM 代码比THUMB 代码快40%。使用16位。内存,THUMB 代码比ARM 代码快45%,THUMB 代码在外部存储器中消耗的电量比ARM 代码少30% 4) ARM 处理器操作模式

5) ARM Cortex-A 处理器工作模式

6)Cortex-A寄存器组有34个通用寄存器,包括各种模式下的R0-R14和共享的R15程序计数器(PC),均为32位。 8 个状态寄存器,Hyp 模式有自己的ELR_Hyp 寄存器。

7)程序状态寄存器CPSR和SPSR与其他处理器中相同,ARM有一个程序状态存储器来设置处理器的工作模式并显示其工作状态。 ARM 处理器有两个程序状态寄存器:当前程序状态寄存器(CPSR) 和已保存程序状态寄存器(SPSR)。 CPSR 可在任何操作模式下访问,并包含条件标志、中断禁用位、当前处理器模式标志以及其他相关控制和状态位。每种工作模式都有一个专用的物理状态寄存器,称为状态寄存器SPSR。

(1) N(负数):对以补码表示的有符号数进行运算时,N=1 表示结果为负数,N=0 表示结果为正数或零。 (2) Z(零):Z=1 表示运算结果为0,Z=0 表示运算结果非零(3) C(进位):有四种方式设置C 的值。 1) 加法指令(包括比较指令CMP) 2) 如果运算产生进位(无符号数字溢出),则C=1,否则C=03) 减法运算(包括比较指令CMP) 4) 如果运算产生进位,则C=0借用(无符号数字溢出),否则C=1 for 包含移位操作的非加/减操作指令。 C 是移位值的最后一位。对于其他非加减指令,C的值通常不变。 (4)V(溢出):设置V的值有两种方法。 1) 对于加减运算指令,如果操作数和运算结果都是用二进制补码表示的有符号数,则V=1 表示符号。位溢出。 2)对于其他非加减指令,V的值通常不变。 (5) I(中断请求):I=1 表示禁止响应irq,I=0 表示允许响应。 (6) F(快速中断请求):F=1 表示禁止响应fiq。 Forbidden,F=0 表示允许响应(7) T (Thumb):T=0 表示当前状态位ARM 状态,T=1 表示Thumb 状态(8) M4-M0:表示当前处理器工作模式

8) 工作模式切换条件(1) 执行软中断(SWI)指令或复位命令(Reset)指令。当在用户模式下执行SWI指令时,CPU进入管理模式。 (2) 外部中断发生。当外部中断发生时,CPU进入IRQ或FIQ模式。 (3)CPU执行过程中出现异常。最常见的异常是MMU保护的内存访问异常,它会导致CPU进入中止模式。无效命令会导致未定义模式。 (4) 有一种模式是CPU不能自动转换到的,这就是系统模式,程序员必须编写指令才能转换到系统模式。要进入系统模式,只需将CPSR 中的模式位更改为与系统模式对应的模式位即可。 (5) 任何特权模式都可以通过改变CPSR的MODE字段进入其他模式。但请注意,在此模式下,修改后的CPSR 是影子CPSR,或SPSR,因此它不是真正的CPSR。因此,常见的做法是修改影子CPSR并执行MOVS指令来恢复执行特定断点并切换到新模式。 3、ARM处理器中的内存管理1)什么是内存映射?内存映射是利用ARM存储系统的内存管理单元(MMU)将虚拟地址映射到实际的物理地址,如图所示。

2) 为什么需要内存映射? A32架构的ARM中的地址总线是32位,所以CPU的可寻址范围是0x00000000到0xffffffff。地址空间为4GB。必须访问所有内部和外部存储或外围设备。在运行过程中,不同的芯片外设具有不同类型和数量的地址空间。为了让内核更方便地管理不同的芯片设计,ARM 内核最初提供了预定义的存储映射。芯片设计公司必须根据内核提供的预定义内存映射来定义芯片的内部外设和外部预留接口。这样做的好处是大大减少了同一核心上不同芯片之间的地址转换问题(CPU操作统一的虚拟地址,实际的物理地址由MMU管理)。

3) 位带操作(1) 什么是位带操作? 举个简单的例子,当使用51单片机在低电平操作P1.0时,在幕后,实际上是向某个位写入1或1。你可以看到有。 Register.0进程,但是在CPU的操作过程中,每个地址对应一个8位的字节,而要实现对其中一位的直接操作,就需要借助位带操作。 (2) 哪些地址可以进行位带操作? 上图中,位带是分两个区域实现的。一个是SRAM区域(位带区域)的下1MB范围,另一个是片内外围区域的下1MB范围。 4) 计算寄存器地址由于ARM中的所有外设地址本质上都挂载在AHB或APBx总线上,因此计算特定外设的快速而简洁的方法是使用基址+偏移地址+结构体方法,这种方法经常被使用。如图所示。

---摘自知识文章

责任编辑:德勤钢铁网 标签:

热门搜索

相关文章

广告
德勤钢铁网 |市场分析

arm微处理器的几种工作模式,arm微处理器系列芯片的特点

chanong

|

1. 嵌入式处理器基础知识典型的微处理器由控制单元、程序计数器(PC)、指令寄存器(IR)、数据通道、存储器等组成。指令执行过程一般分为:

取指令:从内存中取出下一条要执行的指令并将其加载到指令寄存器中。 PC: 程序计数器始终指向下一条要执行的指令。 IR: 指令寄存器用于保存提取的指令。如图所示:

解码:解释指令并确定指令执行的含义,如图所示。

执行:将数据从内存移至数据通道寄存器,通过算术逻辑单元ALU进行数据运算,如图所示。

存储:将数据从寄存器写入内存。如图所示:

一些微处理器,例如ARM系列处理器和DSP,实现了指令流水线行为,其中指令处理根据流水线的数量进行划分。例如,具有五级流水线的处理器分五个阶段执行指令。 (1)按存储结构分:冯·诺依曼架构和哈佛架构冯·诺依曼架构又称普林斯顿架构,是一种程序指令存储器和数据存储器相结合的存储器结构。处理器通过同一总线传输访问程序和数据存储器,程序指令和数据具有相同的宽度。如图,X86系列、ARM7等:

哈佛结构是一种将程序指令存储和数据存储分离的内存结构,以缓解程序执行过程中的内存访问瓶颈。哈佛架构的微处理器通常具有较高的执行效率。 Microchip的PIC系列芯片、Motorola的MC68系列、Zilog的Z8系列、Atmel的AVR系列、ARM的ARM9、ARM10、ARM11等。如图所示:

根据指令类型的不同,可分为复杂指令集(CISC)处理器和精简指令集(RISC)处理器。 CISC:复杂指令集计算机。由于指令和寻址方式较多,因此需要更多的解释器。 8/2原理:80%的程序仅使用20%的指令,并且大多数程序仅使用少量指令即可运行。 CISC 具有以下主要特点: (1) 指令格式不固定,指令长度不恒定,操作数可以多也可以少; (2) 使编程更加容易(3) 每个操作的执行都采用一个微程序结构,每条指令需要完成一系列微指令;(4)每条指令的完成需要几个机器周期,指令越复杂,需要的机器周期越多。 RISC:精简指令集计算机:指令数量少,通道中只包含最有用的指令,执行时间短,保证数据通道快速执行每条指令,简化了CPU硬件结构的设计。每条指令都使用标准字长。

2. ARM 处理器架构ARM 代表高级RISC 机器。 1985年4月26日,第一台ARM原型机在英国剑桥的Acorn计算机有限公司诞生。 20世纪80年代末,ARM迅速发展为Acorn的桌面产品,并构成了英国计算机教育的基础。 Advanced RISC Machines Limited 成立于1990 年。 20世纪90年代,ARM 32位嵌入式RISC(精简指令集计算机)处理器在全球范围内扩展,并在低功耗、低成本、高性能嵌入式系统应用中占据了领导地位。目前它占据了32位嵌入式产品市场75%以上的份额。 32位RISC处理器是首选,以ARM嵌入式微处理器系列为首。尽管ARM已经存在了20多年,但在1999年手机市场的繁荣时期,其32位RISC处理器占据了50%以上的市场份额,到2001年初,ARM的32位RISC处理器已经出现了。处理器占据75%以上的市场份额。 ARM 是一家知识产权供应商和设计公司。合作伙伴公司生产自己的芯片。 ARM处理器特点:(1)ARM指令是32位定长(不包括将指令增加到64位的AArch64架构部分)(2)大量寄存器(37个寄存器)(3)定期加载/存储(4)多寄存器加载/存储指令(5) 指令的条件执行(6) 在一个时钟周期内用一条指令完成数据移位和ALU 操作(7) 通过变体和交互扩展ARM 处理器的功能处理器(8) 增强型16-位Thumb指令提高代码密度ARM命名约定是基于ARM架构版本的“处理器系列”命名约定和基于ARM架构版本的“处理器型号”命名约定,分为两类: ARM架构版本。

ARMv6 架构引入了一系列新功能,包括单指令多数据(SIMD) 计算。 ARMv6-M架构专为低成本、高性能设备而设计,为之前由8位设备主导的市场提供了强大的32位解决方案。例如Cortex-M0 和Cortex-M1。 ARMv7 架构:所有ARMv7 架构处理器均实现Thumb-2 技术,这是一种优化的16/32 位混合指令集。该架构分为三种类型的处理器:Cortex-A - 应用处理器和Cortex-R - 实时处理器。Cortex-M - 微控制器。 ARMv8 架构,ARMv8-A 为ARM 架构引入了64 位架构支持。这包括64 位通用寄存器、SP(堆栈指针)和PC(程序计数器)、64 位数据处理和扩展虚拟寻址、兼容性。 32 位处理。 ARMv9架构最重要的升级是AI和安全。它以ARMv8 兼容性为基础,提高了安全性,增加了矢量计算、机器学**、数据信号处理等功能,并显着提高了性能。 1) ARM 数据类型(1) 双字:64 位(2) 字:在ARM 架构中,一个字的长度为32 位。 (3) 半字:在ARM架构中,一个半字的长度为16位。 (4)字节:在ARM架构中,一个字节有8位长。 2)ARM处理器存储格式作为32位微处理器,ARM架构支持的最大地址空间为4GB。 ARM架构可以以两种方式存储字数据:大端模式和小端模式。大端模式(上上下):字的高字节存储在低地址的字节单元中,字的低字节存储在高地址的字节单元中。

3)ARM处理器的工作状态从编程的角度来看,ARM微处理器通常有两种工作状态:ARM和Thumb,并且可以在两种状态之间切换。 (1) ARM状态:目前,处理器执行在32位字边界上对齐的ARM指令,并且大多数指令在该状态下运行。 (2) Thumb状态:此时,处理器执行16位半字对齐的Thumb指令。 THUMB 指令特性:THUMB 代码所需的空间是ARM 代码所需空间的70%。 THUMB 代码比ARM 代码使用的指令多40%。使用32 位内存,ARM 代码比THUMB 代码快40%。使用16位。内存,THUMB 代码比ARM 代码快45%,THUMB 代码在外部存储器中消耗的电量比ARM 代码少30% 4) ARM 处理器操作模式

5) ARM Cortex-A 处理器工作模式

6)Cortex-A寄存器组有34个通用寄存器,包括各种模式下的R0-R14和共享的R15程序计数器(PC),均为32位。 8 个状态寄存器,Hyp 模式有自己的ELR_Hyp 寄存器。

7)程序状态寄存器CPSR和SPSR与其他处理器中相同,ARM有一个程序状态存储器来设置处理器的工作模式并显示其工作状态。 ARM 处理器有两个程序状态寄存器:当前程序状态寄存器(CPSR) 和已保存程序状态寄存器(SPSR)。 CPSR 可在任何操作模式下访问,并包含条件标志、中断禁用位、当前处理器模式标志以及其他相关控制和状态位。每种工作模式都有一个专用的物理状态寄存器,称为状态寄存器SPSR。

(1) N(负数):对以补码表示的有符号数进行运算时,N=1 表示结果为负数,N=0 表示结果为正数或零。 (2) Z(零):Z=1 表示运算结果为0,Z=0 表示运算结果非零(3) C(进位):有四种方式设置C 的值。 1) 加法指令(包括比较指令CMP) 2) 如果运算产生进位(无符号数字溢出),则C=1,否则C=03) 减法运算(包括比较指令CMP) 4) 如果运算产生进位,则C=0借用(无符号数字溢出),否则C=1 for 包含移位操作的非加/减操作指令。 C 是移位值的最后一位。对于其他非加减指令,C的值通常不变。 (4)V(溢出):设置V的值有两种方法。 1) 对于加减运算指令,如果操作数和运算结果都是用二进制补码表示的有符号数,则V=1 表示符号。位溢出。 2)对于其他非加减指令,V的值通常不变。 (5) I(中断请求):I=1 表示禁止响应irq,I=0 表示允许响应。 (6) F(快速中断请求):F=1 表示禁止响应fiq。 Forbidden,F=0 表示允许响应(7) T (Thumb):T=0 表示当前状态位ARM 状态,T=1 表示Thumb 状态(8) M4-M0:表示当前处理器工作模式

8) 工作模式切换条件(1) 执行软中断(SWI)指令或复位命令(Reset)指令。当在用户模式下执行SWI指令时,CPU进入管理模式。 (2) 外部中断发生。当外部中断发生时,CPU进入IRQ或FIQ模式。 (3)CPU执行过程中出现异常。最常见的异常是MMU保护的内存访问异常,它会导致CPU进入中止模式。无效命令会导致未定义模式。 (4) 有一种模式是CPU不能自动转换到的,这就是系统模式,程序员必须编写指令才能转换到系统模式。要进入系统模式,只需将CPSR 中的模式位更改为与系统模式对应的模式位即可。 (5) 任何特权模式都可以通过改变CPSR的MODE字段进入其他模式。但请注意,在此模式下,修改后的CPSR 是影子CPSR,或SPSR,因此它不是真正的CPSR。因此,常见的做法是修改影子CPSR并执行MOVS指令来恢复执行特定断点并切换到新模式。 3、ARM处理器中的内存管理1)什么是内存映射?内存映射是利用ARM存储系统的内存管理单元(MMU)将虚拟地址映射到实际的物理地址,如图所示。

2) 为什么需要内存映射? A32架构的ARM中的地址总线是32位,所以CPU的可寻址范围是0x00000000到0xffffffff。地址空间为4GB。必须访问所有内部和外部存储或外围设备。在运行过程中,不同的芯片外设具有不同类型和数量的地址空间。为了让内核更方便地管理不同的芯片设计,ARM 内核最初提供了预定义的存储映射。芯片设计公司必须根据内核提供的预定义内存映射来定义芯片的内部外设和外部预留接口。这样做的好处是大大减少了同一核心上不同芯片之间的地址转换问题(CPU操作统一的虚拟地址,实际的物理地址由MMU管理)。

3) 位带操作(1) 什么是位带操作? 举个简单的例子,当使用51单片机在低电平操作P1.0时,在幕后,实际上是向某个位写入1或1。你可以看到有。 Register.0进程,但是在CPU的操作过程中,每个地址对应一个8位的字节,而要实现对其中一位的直接操作,就需要借助位带操作。 (2) 哪些地址可以进行位带操作? 上图中,位带是分两个区域实现的。一个是SRAM区域(位带区域)的下1MB范围,另一个是片内外围区域的下1MB范围。 4) 计算寄存器地址由于ARM中的所有外设地址本质上都挂载在AHB或APBx总线上,因此计算特定外设的快速而简洁的方法是使用基址+偏移地址+结构体方法,这种方法经常被使用。如图所示。

---摘自知识文章


市场分析