ARM体系结构与接口技术(一)

合集下载

ARM嵌入式体系结构与接口技术

ARM嵌入式体系结构与接口技术

4
1.1.1 嵌入式系统的基本概念
嵌入式系统的特点
(1)面向特定应用的特点,与“通用型”系统相比,满 足特定应用的特定需求 (2)嵌入式系统的硬件和软件都必须进行高效地设计, 量体裁衣、去除冗余,力争在同样的硅片面积上实现更 高的性能 (3)嵌入式系统是将先进的计算机技术、半导体技术和 电子技术与各个行业的具体应用相结合后的产物。
8
1.1.2 嵌入式系统的体系结构


嵌入式操作系统不仅具有通用操作系统的一般功 能,如向上提供对用户的接口(如图形界面、库 函数API等),向下提供与硬件设备交互的接口( 硬件驱动程序等),管理复杂的系统资源, 在系统实时性、硬件依赖性、软件固化性以及应 用专用性等方面,具有更加鲜明的特点
9
1.1.2 嵌入式系统的体系结构

5
(4)为了提高执行速度和系统可靠性,嵌入式系统中的 软件一般都固化在存储器芯片中或单片机本身,而不是 存储于磁盘中。 (5)嵌入式开发的软件代码尤其要求高质量、高可靠性 。 (6)嵌入式系统本身不具备二次开发能力,即设计完成 后用户通常不能在该平台上直接对程序功能进行修改, 必须有一套开发工具和环境才能进行再次开发。厂家对 产品固件(Firmware)进行升级

3
1.1.1 嵌入式系统的基本概念


嵌入式系统的基本概念
嵌入式系统应用随处可见,工业、军事、宇宙、通信、运 输、金融、医疗、气象、农业等领域 嵌入式系统是以应用为中心,以计算机控制系统为基础, 并且软硬件可裁剪,适用于应用系统对功能、可靠性、成 本、体积、功耗有严格要求的专用计算机系统。 嵌入式系统通常由特定功能模块和计算机控制模块组成, 主要由嵌入式微处理器、外围硬件设备、嵌入式操作系统 以及用户应用软件等部分组成。它具有“嵌入性”、“专 用性”与“计算机系统”的三个基本要素。

第2章 ARM体系结构

第2章  ARM体系结构

• 控制位

程序状态寄存器PSR(Program Status Register)的最低8位I、F、T和 M[4:0]用作控制位。当异常出现时改变控制位。处理器在特权模式 下时也可由软件改变。
• 中断禁止位 I:置1,则禁止IRQ中断; F:置1,则禁止FIQ中断。 • T位 T=0 指示ARM执行; T=1 指示Thumb执行。 • 模式控制位 M4、M3、M2、Ml和M0(M[4:0])是模式位,决定处理器 的工作模式,如表2.3.1所列。
6 (最低)
6 5
数据中止
IRQ (外部中断请求) FIQ (快速中断请求)
中止(数据)
IRQ FIQ
中止模式
IRQ FIQ
0x0000,0010
0x0000,0018 0x0000,001C
2
4 3
2.4.2 异常类型的含义
(1)复位
• • 处理器的复位电平有效时,产生复位异常 当ARM处理器或协处理器遇到不能处理的指令时,产生未定义指令异常
2.4 ARM微处理器的异常处理
• 异常:在一个正常的程序流程执行过程中,由内 部或外部源产生的一个事件使正常的程序产生暂 时的停止,称之为异常。
2.4.1 ARM体系结构的异常类型
• ARM体系结构支持7种类型的异常
• 异常出现后,强制从异常类型对应的固定存储器地址开始 执行程序。这些固定的地址称为异常向量(Exception Vectors)。
M[4:0]模式控制位
M[4: 0] 10000 10001 10010 10011 10111
处理器工作 模式 用户模式 FIQ模式 IRQ模式 管理模式 中止模式
可访问的寄存器 PC,CPSR,R14~R0 PC,R7~R0,CPSR, SPSR_fiq,R14_fiq~ R8_fiq PC,R12~R0,CPSR, SPSR_irq,R14_irq, R13_irq PC,R12~R0, CPSR, SPSR_svc,R14_svc, R13_svc PC,R12~R0, CPSR, SPSR_abt,R14_abt, R13_abt

单片机课件第二章 ARM体系结构

单片机课件第二章 ARM体系结构

2.5
ARM微处理器指令系统
2.5.1 基本寻址方式
寻址方式是根据指令中给出的地址码字段来实现寻找真实操作数地 址的方式,ARM处理器有9 种基本寻址方式。
1.寄存器寻址
操作数的值在寄存器中,指令中的地址码字段给出的是寄存器编 号,指令执行时直接取出寄存器值操作。
例如指令: MOV R1,R2 SUB R0,R1,R2
11111
系统模式
PC,R14~R0,CPSR(ARM v4及以上版本)
并非所有的模式位组合都能定义一种有效的处理器模式。其他组合的 结果不可预知。
2.2 ARM微处理器的寄存器结构
2.2.4 Thumb状态的寄存器集
2.2 ARM微处理器的寄存器结构
2.2.4 Thumb状态的寄存器集
Thumb 状态的寄存器在ARM 状态的寄存器上的映射


在Thumb状态下,程序计数器PC(Program Counter)使用位[1]选 择另一个半字。ARM处理器在两种工作状态之间可以切换。
Thumb状态:当操作数PSR控制位T为1时,执行BX指令进入Thumb 状态。如果处理器在Thumb状态进入异常,则当异常处理(IRQ、 FIQ、Undef、Abort和SWI)返回时,自动转换到Thumb状态。(异 常都是在ARM 状态中执行) ARM状态:当操作数PSR控制位T为0时,执行BX指令进入ARM状态 ;处理器发生异常(IRQ、FIQ、Reset、Undef、Abort和SWI)。在 此情况下,把PC内容复制到异常模式的链接寄存器中,并且异常处 理将从异常向量地址开始。
sys(系统模式):运行具有特权的操作系统任务。

und(未定义指令中止模式):当未定义的指令执行时进入该 模式,可用于支持硬件协处理器的软件仿真。

ARM处理器详解(1)-ARMCortex-A系列处理器

ARM处理器详解(1)-ARMCortex-A系列处理器

ARM处理器详解(1)-ARMCortex-A系列处理器如图所⽰,绿⾊的部分都是v7-A的架构,蓝⾊的是v8-A架构,基本上绿⾊都是可以⽀持到32和64位的,除了A32,只⽀持到32位。

在右边的每个部分,⽐如说需要⾼效能的最上⾯的A15-A73这个部分是最⾼效的,接下来就是⽐较注重整个效率的部分了,中间那个部分是⽐较⾼效率的,最下⾯那栏的是效率最好的,在电池的效能⽅⾯达到了最好的标准。

最新的还有使⽤在麒麟980上的,基于Dynamiq技术的第⼆代优质内核 Cortex A76。

Acore主打的就是⾼性能,消费类的产品⽐如⼿机,平板,机顶盒等需要上系统的基本上都需要使⽤Acore。

Acore的发展曲线基本上和⼯艺曲线重叠,最新的A76是基于7nm的⼯艺,A73基于10nm的⼯艺,更早些的A5,A9基本上使⽤40nm或28nm的⼯艺。

这是ARM 2016年发布的最新A系列处理器,Cortex-A73⽀持全尺⼨ARMv8-A构架,ARMv8-A是ARM公司的⾸款⽀持64位指令集的处理器架构,包括ARM TrustZone技术、NEON、虚拟化和加密技术。

所以⽆论是32位还是64位,Cortex-A73都可以提供适应性最强的移动应⽤⽣态开发环境。

Cortex-A73包括128位 AMBR 4 ACE接⼝和ARM的big.LITTLE系统⼀体化接⼝,采⽤了⽬前最先进的10nm技术制造,可以提供⽐Cortex-A72⾼出30%的持续处理能⼒,⾮常适合移动设备和消费级设备使⽤。

预计今年晚些时候到2017年,Cortex-A73处理器将会逐渐覆盖到我们合作伙伴的⾼端智能⼿机、平板电脑、翻盖式移动设备、数字电视等⼀系列消费电⼦设备。

big.LITTLE架构发展到最新的A76,更新了Dynamiq架构,core的外⾯再包了⼀层L3 cache,减少了对外部DDR的读写,所以性能更优。

Cortex-A72最早发布于2015年年初,也是基于ARMv8-A架构,采⽤台积电16nm FinFET制造⼯艺,Cortex-A72可在芯⽚上单独实现性能,也可以搭配Cortex-A53处理器与ARMCoreLinkTMCCI⾼速缓存⼀致性互连(CacheCoherentInterconnect)构成ARMbig.LITTLETM配置,进⼀步提升能效。

ARM体系结构

ARM体系结构
2015/9/288源自ARM920T系统结构分析
ARM9TDMI处理器一个显著的特点是采用 指令和数据分离访问的方式,即采用了指令 缓存(I-Cache)和数据缓存(D-Cache)。 这样可以把指令访问和数据访问单独安排1级 流水线。
2015/9/28
9
ARM9处理能力的提高是通过增加时钟频率和减少指令执行周期实 现的。 (1)时钟频率的提高 ARM9采用了五级流水线,而ARM7采用的是三级流水线,ARM9增 加的流水线设计提高了时钟频率和并行处理能力。五级流水线能够将各 条指令处理分配到5个时钟周期内,在每个时钟周期内同时有5条指令在 执行。在同样的加工工艺下,ARM9 TDMI处理器的时钟频率是ARM7 TDMI的2倍左右。 (2)指令周期的改进 指令周期的改进有助于处理器性能的提高。性能提高的幅度依赖于 代码执行时指令的重叠。 ① load指令和store指令 指令周期数改进最明显的是load指令和store指令。 ② 互锁(interlock)技术 当指令需要的数据因为以前的指令没有执行完,将产生管道互锁。管
操作系统的保护模式 指令或数据预取操作中止时的模 式,该模式下实现虚拟存储器或 存储器保护 当执行未定义的指令时进入该模 式 响应普通中断时的处理模式
未定义模式 IRQ模式
Und Irq
FIQ模式
Fiq
响应快速中断时的处理模式
2015/9/28
21
处理器工作模式
ARM微处理器的运行模式可以通过软件改变,也可以通 过外部中断或异常处理改变。 大多数的应用程序运行在用户模式下,当处理器运行在 用户模式下时,某些被保护的系统资源是不能被访问的。 除用户模式以外,其余的6种模式称为非用户模式或特 权模式; 除去用户模式和系统模式以外的5种又称为异常模式, 常用于处理中断或异常,以及访问受保护的系统资源等情 况。

ARM架构

ARM架构
R15(PC) 状态寄存器 CPSR SPSR R15 CPSR
R13(SP)
R13
R13
R13_svc R13_svc R14_svc R14_svc
2-3-1 ARM状态下的寄存器组织
寄存器类别 寄存器在汇编中的名 称 用户 用户 R0(a1) R1(a2) R2(a3) R3(a4) R4(v1) R5(v2) R6(v3) 通用寄存器 和程序计数 器 R7(V4) R8(V4) R9(SB,v6) R0 R0 R1 R1 R2 R2 R3 R3 R4 R4 R5 R5 R6 R6 R7 R7 R8 R8 R9 R9 R10 R10 R11 R11 R8 R9 各模式下实际访问的寄存器 系统 系统 管理 管理 中止 中止 R0 R1 R2 R3 R4 R5 R6 R7 R8_fiq R8_fiq R9_fiq R9_fiq R10_fiq R10_fiq R11_fiq R11_fiq 未定义 未定义 中断 中断 快中断 快中断
1-4-1 常见ARM微处理器系列介绍
ARM9系列微处理器在高性能和低功耗特性方面提供 最佳的性能:
5级整数流水线,指令执行效率更高。 提供1.1MIPS/MHz的哈佛结构。 支持32位ARM指令集和16位Thumb指令集。 支持32位的高速AMBA总线接口。 全性能的MMU,支持Windows CE、Linux、Palm OS 等多种主流 嵌入式操作系统。 MPU支持实时操作系统。 支持数据Cache和指令Cache,具有更高的指令和数据处理能力。
2-1 ARM微处理器的工作状态
处理器状态: ARM9处理器内核使用V4T版本的ARM结构,具有 两种操作状态:
ARM状态:32位,这种状态下执行的是字方式的ARM指令 Thumb状态:16位,这种状态下执行半字方式的ARM指令。

1、ARM体系结构

1、ARM体系结构

ARM全球合作伙伴(合作模型)
ARM产品应用领域
Samsung ML5100A Diamond Multimedia Rio 600 JVC "Pixstar" GC-X1 Alba Bush Internet TV
3Com 10/100 PCI NIC
Nintendo Gameboy Advance Lexmark Z52 Color Jetprinter HP Jornado 820
5TE
XScale ARM1020E
6
Thumb-2 SIMD Instructions Multi-processing
7
CoreSight
Improved ARM/Thumb ARM9E-S Interworking ARM966E-S CLZ Saturated arithmetic DSP multiplyaccumulate instructions Extensions: Jazelle (5TEJ)
• •
该例中,用6周期执行了4条指令 指令周期数 (CPI) = 1.5
分支流水线举例
Cycle 1 2 L 3 4 5 6 7 8 9
Address
0x8000 0x8004 0x8008 0x8FEC 0x8FF0 0x8FF4
Operation
BL 0x8FEC SUB ORR AND ORR EOR
Iomega HipZip
Sony MZ-R90 MiniDisc
Ericsson R38Share
Nokia Mediamaster
Psion Revo Plus
ARM体系结构的发展
4T
Halfword and signed halfword / byte support System mode Thumb instruction set ARM7TDMI ARM720T ARM9TDMI ARM940T ARM920T

基于cortex-a7的arm体系结构与接口技术

基于cortex-a7的arm体系结构与接口技术

ARM Cortex-A7是一种基于ARMv7-A架构的处理器核心,属于ARM 的低功耗应用处理器系列。

它在性能和功耗方面取得了良好的平衡,广泛应用于移动设备、嵌入式系统和物联网设备等领域。

ARM Cortex-A7的主要特点和接口技术包括:1. 架构特性:Cortex-A7采用了ARMv7-A架构,支持32位指令集,并提供了多种指令集扩展,如Thumb-2和NEON等,以提高代码密度和多媒体处理能力。

2. 处理器核心:Cortex-A7采用了超标量乱序执行(Out-of-Order Execution)的架构,具有双发射、乱序执行和多级流水线等特性,可以提供较高的性能和效率。

3. 处理器频率:Cortex-A7的时钟频率可根据具体实现而异,通常在几百MHz到几GHz之间,可以根据功耗和性能要求进行调整。

4. 高效能耗比:Cortex-A7以低功耗为设计目标,具有较低的静态功耗和动态功耗。

它采用了一些功耗优化技术,如动态电压频率调节(DVFS)、低功耗待机模式和智能缓存等,以在提供足够性能的同时降低功耗。

5. 内存接口:Cortex-A7支持多种内存接口技术,包括LPDDR2、DDR3、DDR3L和DDR4等,可以与不同类型的内存进行高效通信。

6. 外设接口:Cortex-A7提供了多种外设接口,如UART、SPI、I2C 和USB等,用于与外部设备进行通信和控制。

7. 硬件加速器:Cortex-A7还支持NEON向量处理引擎,用于高效处理多媒体数据和信号处理任务。

此外,它还可以与其他硬件加速器,如GPU和图像处理器等进行协同工作,以提高整体系统性能。

总的来说,基于Cortex-A7的ARM体系结构具有较低的功耗、高性能、丰富的接口技术和良好的可扩展性,适用于多种低功耗应用场景,如智能手机、平板电脑、物联网设备和工业控制等。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

ARM920TDMA处理器是哈佛结构,包括取指、译码、执行、存储、写入的五级流水线。

包括cp14和cp15两个协处理器。

16k数据缓存和16k指令缓存。

虚拟地址64路相关缓存。

每线8字。

ARM的基本数据类型:
ARM采用的是32位架构,基本上数据类型有以下三种:
Byte :字节,8位
Halfword:半字,16bit(半字必须与2字节边界对齐
Word:字,32bit(必须与4字节边界对齐
所有的数据类型指令的操作数都是字类型。

ARM指令编译后是4字节(与字边界对齐,Thumb指令编译后是2字节(与半字对齐
存储器大/小端
Arm支持大端模式和小端模式。

在大端模式下,一个字的高地址放的是数据的地位,在小端模式下,数据的低地址放的是数据的低位。

ARM920T,有7中工作模式:
用户模式(User,正常程序执行模式。

快速中断模式(FIQ,当一个高优先级中断产生时将会进入该模式,一般用于高速数据传输和通道处理。

外部中断模式(IRQ,当一个低优先级中断产生时将会进入该模式,一般用于通常的中断处理
特权模式(Supervise,当复位或软中断指令执行时进入该模式,是一种供操作系统使用的保护模式。

数据访问中止模式(abort,当存取异常时将会进入该模式,用于虚拟存储或存储保护未定义指令中止模式(undef,当执行未定义指令时进入该模式,有时用于通过软件仿真协处理器硬件的工作方式
系统模式(system使用和user模式相同的寄存器集模式,用于运行特权级操作系统任务
除了用户模式,其他六中均为特权模式。

在特权模式下,程序可以访问所有的系统资源,也可以任意的进行处理器模式切换。

流水线的概念与原理
处理器按照一系列的步骤来执行每一条指令,典型的步骤如下:
1、从存储器读取指令(fetch
2、译码以鉴别它是属于哪一条指令(decode
3、从指令中提取指令的操作数(这些操作数往往存在于寄存器中(reg
4、将操作数进行组合以得到结果或存储器地址(ALU
5、如果需要,则访问存储器以存储数据(mem
6、将结果写回到寄存器堆(res
流水线的分类:
1、3级流水线ARM组织
取指令—>译码—>执行
2、5级流水线ARM组织
取指令—>译码—>执行—>缓冲/数据—>回写
3、6级流水线ARM组织
取指令—>发射—>译码—>执行—>存储—>回写
影响流水线性能的因素:
1、互锁:即一条指令的结果被用作下一条指令的操作数
2、跳转指令:
ARM为微处理器指令系统
ARM处理器的寻址方式:
1、立即数寻址方式
2、寄存器寻址方式
3、寄存器移位寻址方式
内存访问指令寻址方式:
内存访问指令的寻址方式可以分为以下几种
1、字及无符号字节的load/store指令的寻址方式
2、杂类load/store指令的寻址方式
3、批量load/store指令的寻址方式
4、协处理器load/store指令的寻址方式
ARM处理器的指令集
操作数指令集:
MOV:执行的结果就是把一个数N送到目标寄存器Rd,其中N可以是寄存器也可以是立即数
MVN:是反相传送指令,它将操作数的反码传送到目的寄存器,多用于向寄存器传送一个负数或者生成位掩码。

AND:指令将shifter_operand表示的数值与寄存器Rn的值按位做逻辑与操作,并将结果保存到目标寄存器Rd中,同时根据操作的结果更新CPSR寄存器
EOR:指令时将寄存器Rn中的值和shifter_operand的执行行按位异或操作,并将执行结果存储到目的寄存器Rd中,同时根据指令的执行结果更新到 CPSR中相应的条件标志位
SUB:指令从急促安全Rn中减去shifter_operand表示的数值,并将结果存到目标寄存器Rd中,同时更具指令的执行结果设置CPSR中相应的标志位
RSB :指令从寄存器shifter_operand中减去Rn表示的数值,并将结果保存到目标寄存器Rd中,同时更具指令的执行结果设置CPSR中的相应位。

ADC:指令将寄存器shifter_operand的值加上Rn表示的值,再加上CPSR中的C 条件标志位的值,并将结果保存到目标寄存器Rd中,同时根据指令的执行结果设置CPSR中相应的标志位
SBC指令用于执行操作数大于32位时的减法操作。

该指令从寄存器Rn中减去shifter_operand表示的数值,再减去寄存器CPSR中C条件标志位的反码,并将结果保存到目标寄存器Rd中,同时根据指令的执行结果哦设置CPSR中相应的标志位。

RSC指令从寄存器shifter_operand中减去Rn表示的数值,再减去寄存器CPSR 中C条件标志位的反码,并将结果保存到目标寄存器Rd中,同时根据指令的执行结果设置CPSR 中相应的标志位
TST 测试执行用于将一个寄存器的值和一个算术值进行比较,条件标志位根据两个操
作数做逻辑与后的结果设置。

TEQ 指令用于将一个寄存器的值和一个算术值做比较,条件标志位根据两个操作数做逻辑异或后的结果设置,以便以后的指令根据相应的条件标志来判断是否执行。

CMP 指令使用寄存器Rn的值减去shifter_operand的值,根据操作的结果更新CPSR中相应的条件标志位,以便后面的指令根据相应的条件标志来判断是否执行。

CMN 指令使用寄存器Rn的值将去shifter_operand表示的负数值,根据操作的结果跟新CPSR中相应的条件标志位,以便后面的指令更具相应的条件标志来判断是否执行。

ORR 位逻辑或操作指令,它将第二个源操作数shifter_operand的值与寄存器Rn 的值按位做逻辑或操作,并将结果保存到Rd中
BIC 位清零指令,将寄存器Rn中的值与第二个源操作数shifter_operand的值的反码按位做逻辑与操作,并将结果保存到目标寄存器中
乘法指令集
ARM异常中断处理概述
ARM处理器中有7中类型的异常,按优先级从高到低的排序如下:复位异常(reset、数据异常(data abort、快速中断异常(FIQ、外部中断异常(IRQ、预取异常(prefetch abort、软中断异常(swi和未定义异常(undefined instruction。

当异常发生的时候处理器会把PC设置为一个特定的存储器地址,之一地址房子被称为向量表的特定地址范围内。

向量表的入口是一些跳转指令,跳转到专门处理摸个异常或者中断的子程序。

存储器映射地址0x00000000 是为向量表(一组32位字保留的。

在有些处理器中,向量表可以选择定位在存储空间的高地址(从偏移量0xffff0000开始,一些嵌入式系统,如Linux和windows CE就是利用这一特性。

当异常发生时,分组寄存器r14和SPSR 用于保存处理器状态。

异常返回
式,SPSR内容回复到CPSR中,连接寄存器r14的内容回复到程序计数器PC。

1、复位异常:当处理器的复位引脚有效时,系统产生复位异常中断,程序跳转到复位异常中断处理程序处执行。

复位异常中断有以下两种情况:系统上电和系统复位。

复位异常中断处理程序的主要功能:
A、设置异常中断向量表
B、初始化数据栈和寄存器
C、初始化存储系统,如系统中的MMU
D、初始化关键的I/0设备
E、使能中断
F、处理器切换到合适的模式
G、初始化c变量,跳转到应用程序执行
2、未定义指令异常
3、软中断SWI:软中断发生时,处理器进入特权模式,执行一些特权模式下的操作系统功能。

4、预取指令异常:是由系统存储器报告的,当处理器试图去取一条被标记为预取无效的指令式,发生预取异常
5、数据访问异常:数据访问异常是由存储器发出数据中止信号,它由存储器访问指令load/store产生。

当数据访问指令的目标地址不存在或者改地址不允许当前指令访问时,处理器产生数据访问中止异常。

当数据访问中止异常发生时,寄存器的值将根据以下规则进行修改:
A、返回地址寄存器r14的值只与发生数据异常的指令地址有关,与PC无关
B、如果指令中没有指定基址寄存器回写,则基址寄存器的值不会改变
C、如果指令中指定了机制寄存器回写,则寄存器的值与具体芯片的ABORT MODELS 有关,由芯片的生产商指定
D、如果指令只加载一个通用寄存器的值,则通用寄存器的值不变
E、如果批量加载指令,则寄存器的值是不可预知的值
F、如果指令加载协处理器寄存器的值,则被加载的寄存器的值是不可预知
6、外部中断IRQ:当处理器的外部中断请求引脚有效,而且CPSR寄存器I控制位被清除时,处理器产生外部中断IRQ异常。

7、快速中断FIQ:当处理器的快速中断请求引脚有效且CPSR寄存器的F控制位被清除时,处理器产生快速中断请求FIQ异常。

相关文档
最新文档