ARM体系结构20171007
第2章 ARM7体系结构(删减版)
PC
PC-4
PC-8
取指
译码
执行
处理指令并将结果写回寄存器 识别将要被执行的指令 从寄存器装载一条指令
从ARM状态切换到Thumb状态的程序代 ARM状态切换到 状态切换到Thumb状态的程序代 码如下: 码如下:
跳转地址标号 CODE32
ARM指令集
LDR BX CODE16 Lable MOV
正常操作过程中,在执行一条指令的同时对下一条 正常操作过程中, (第二条)指令进行译码,并将第三条指令从存储器中取 第二条)指令进行译码, 出。
2.2 ARM7TDMI
三级流水线
在ARM状态下,流水线上各指令的地址为 ARM状态下 状态下, 水线分3 分别为: 水线分3级,分别为: ARM7TDMI的流 ARM7TDMI的流
存储器的字与半字
从偶数地址开始的连续2个字节构成一个半字 从偶数地址开始的连续2个字节构成一个半字; 半字; 以能被4整除的地址开始的连续4个字节构成一个字 以能被4整除的地址开始的连续4个字节构成一个字; ARM指令的长度刚好是一个字,Thumb指令的长度 ARM指令的长度刚好是一个字,Thumb指令的长度 指令的长度刚好是一个字 刚好是一个半字。 刚好是一个半字。
简介 ARM7TDMI是基于 ARM7TDMI是基于ARM体系结构V4 是基于ARM体系结构 体系结构V4 版本的低端ARM核 其弥补了ARM6很难 版本的低端ARM核。 其弥补了ARM6很难 在低于5V电压下稳定工作的不足, 5V电压下稳定工作的不足 在低于5V电压下稳定工作的不足,还增加 了后缀所对应的功能: 了后缀所对应的功能: 注意: ARM核 并非芯片,ARM核与 注意:“ARM核”并非芯片,ARM核与 其它部件如RAM、ROM、 其它部件如RAM、ROM、片内外设组合在 一起才能构成现实的芯片。 一起才能构成现实的芯片。
ARM体系结构20171007
数有据较1 高的执行效率。
数据2
第25页,共85页。
冯诺依曼结构与哈佛结构
程序和数据都放在内存中,且不彼此分 离的结构称为冯诺依曼结构。譬如 Intel的CPU均采用冯诺依曼结构。
程序和数据分开独立放在不同的内存块 中,彼此完全分离的结构称为哈佛结构 。譬如大部分的单片机(MCS51、 ARM9等)均采用哈佛结构。
ARM7TDMI完全支持这七种模式。
第32页,共85页。
一下不外相出且户就它些访,应能时模比这们这片 问 也 的直 用除式 较使两内 。 可 模接 户五用的方用种外 此 以 式切 模种户限便完模设 外 由 。换 式模制,全式在 , 特 每到 的式。而相都硬 特 定 种别 状称外同操且不件权的异的 态为,的作操能设模异常模不异其寄系作由计式常模式可常它存异统系上可进式。靠器模常只以入都。在统组式进允自。有该的。均。入许由当一模一系为它,(的特些式些统们特想或切定独下特模权除要者换的立访权式模了进可处异的是式问任可入选理常寄。特以用 务必为 器 出 存A通权户可须只 模 现 器R过模M模以修允 式 时 ,程内改式式使许 , , 以序部C) 而 处 避,的用P切寄特 用 理 免不寄这SR换存权 户 器 异受存个,进器模 模 进 常用而器模入和式 式 入 退 式访问一些受控的资源。
何处时理进器入模异式 常模式,具说体明规定如下:
备注
•式用处;户理(u器sr)复位之后正 式进常程入序管运理行模的式工作,模操作不它系能模统直式内接核从用通户常模处式于切管换到理其模
••当当处系处统理理(器s器ys访遇) 问到存没用 权储有于任器支务定失持等义败操或作时不系,支统进的持入特的数指据与直令访用接时问户切,中模换进止式 到类 其入模似 它式未, 模;定但 式义具 等模有 特可 权式以;
ARM体系结构
CPSR可在任何运行模式下被访问,它包括条件标志位、中断禁止位、当前处 理器模式标志位,以及其他一些相关的控制和状态位。 备份的程序状态寄存器SPSR(Saved Program Status Register) , 当异常发生时,SPSR用于保存CPSR的当前值,从异常退出时则可由SPSR来 恢复CPSR。 用户模式和系统模式不属于异常模式,他们没有SPSR,当在这两种模式下访 问SPSR,结果是未知的。
ARM体系结构的存储器格式(1)
ARM体系结构所支持的最大寻址空间为4GB(232字节)
大端格式(Big Endian) 字数据的高字节存储在低地址中,而字数据的低字节则存 放在高地址中。 小端格式(Little Endian) 低地址中存放的是字数据的低字节,高地址存放的是字数 据的高字节。
特 权 异 模 常 式 模 式
7种处理器模式: 用户模式(usr): 用户应用程序 系统模式(sys): 特权模式 快速中断模式(fiq):用于快速数据传输 中断模式(irq): 通用的中断处理 管理模式(svc): 操作系统使用的保护模式 终止模式(abt): 数据访问中止或指令预取中止 未定义指令模式(und):未定义的指令执行时
Example: User to FIQ mode
Registers in use
Registers in use
User Mode
r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 (sp) r14 (lr) r8_fiq r9_fiq r10_fiq r11_fiq r12_fiq r13_fiq r14_fiq
ARM体系结构介绍课件
- 能够提供0.9MIPS/MHz的三级流水线结构。 - 代码密度高并兼容16位的Thumb指令集。 - 主频最高可达130MIPS,高速的运算处理能力能胜任绝大多数
的复杂应用。
ARM7系列微处理器包括如下几种类型的核:ARM7TDMI、 ARM7TDMI-S、ARM720T、ARM7EJ。其中, ARM7TMDI是目前使用最AR广M体泛系结的构介3绍 2位嵌入式RISC处理器,
ARM:32位,执行字对准 的ARM指令
Thumb:16位,执行半字 对准的Thumb指令
两种工作状态可以相互切 换,当处在Thumb状态下 发生外部中断或异常时, 处理完毕后,程序会自动
ARM体系结构介绍 跳回Thumb状态
特殊的寄存器
ARM体系结构
R13,堆栈指针寄存器,处理器的每种运行模式均有自己独立的物 理寄存器R13,在程序初始化时,一般都要初始化每种模式下的 R13,使其指向该运行模式的栈空间,这样,当程序进入异常模式 时,可以将需要保护的寄存器放入R13所指向的堆栈,而当程序从 异常模式返回时,则从对应的堆栈中恢复,采用这种方式可以保证 异常发生后程序的正常执行。
R15,用作程序计数器(PC)。指示当前程序进行的指令地址。
ARM体系结构介绍
模式切换的寄存器保护
ARM体系结构
先是初始化各种处理器模式下 的堆空间地址。
当进入相应的模式时,将需要 保存的寄存器保存到R13所指 定的该模式的堆栈空间,如左 图,SVC定义的为Task Stack 空间,IRQ定主的IRQ Stack 空间。
R14,也称作子程序连接寄存器(Subroutine Link Register) 或连接寄存器LR。当执行BL子程序调用指令时,R14中得到R15 (程序计数器PC)的备份。
第一讲 ARM体系结构及ARM指令介绍
加广阔; 嵌入在复杂SoC中、基于ARM核的调试系统代表着当今
片上调试技术的前沿。
共四十八页
ARM技术 特点 (jìshù)
现代SoC和处理器核设计的基本原理都在基 于ARM核的SoC设计和ARM系列处理器中 得到使用;
ARM系列芯片已经被广泛的应用(yìngyòng)于移动电话、手持
式计算机以及各种各样的嵌入式应用(yìngyòng)领域,成为世
界上销量最大的32位微处理器。
共四十八页
ARM — 致力于设计(shèjì)数字世界的应用技术
Thumb-2 technology ARM11™ family
MPCore™
1975年IBM公司投资亿美元研制的高速 机器FS机,最终以“复杂结构不宜构成 高速计算机”的结论(jiélùn),宣告研制失败。
共四十八页
计算机体系结构的发展(fāzhǎn)
•
CISC存在的多方面的缺点(quēdiǎn)
20%与80%的问题 指令复杂度对处理器的VLSI实现
性能的影响
软硬件的协同设计问题
20世纪90年代, ARM快速进入世界市场
共四十八页
ARM发展 的历程 (fāzhǎn)
在ARM的发展历程中,从ARM7开始,ARM 核被普遍认可和广泛使用
1995年 StrongARM 问世 XScale是下一代StrongARM芯片的发展基础 ARM10TDMI是ARM处理器核中的高端产品
共四十八页
ARM体系结构的发展历史和技术(jìshù)特 征
ARM处理器已经占据了绝大部分32、64 位高端嵌入式处理器的市场,形成了移 动通信、手持计算、多媒体数字消费等 嵌入式解决方案事实上的标准。
ARM体系结构
处理器模式
说明
用户(usr)
正常程序运行的工作模式
系统(sys)
用于支持操作系统的特权任务 等
快中断(fiq)
特 权
异
中断(irq)
模 常 管理(svc)
式模 式 中止(abt)
快速中断请求处理 中断请求处理
供操作系统使用的一种保护模 式
用于虚拟内存和/或存储器保护
未定义(und) 支持软件仿真的硬件协处理器
第一章
ARM体系结构
本章目标
• 了解ARM基本知识 • 掌握MDK开发工具的基本使用 • 掌握ARM体系结构
ARM的业务模型
• ARM公司是知识产权(IP)公司,本身不生产芯片,靠转让 设计许可,由合作伙伴公司来生产各具特色的芯片
ARM微处理器特点
ARM微处理器特点
–体积小、低功耗、低成本、高性能 –支持Thumb(16 位)/ARM(32 位)双指令集, 能很好的兼容8 位/16 位器件 –大量使用寄存器,指令执行速度更快 –大多数数据操作都在寄存器中完成 –寻址方式灵活简单,执行效率高 –指令长度固定
ARM微处理器系列
ARM微处理器目前包括下面几个系列,除了具有
ARM体系结构的共同特点以外,每一个系列的
ARM微处理器都有各自的特点和应用领域:
- ARM7系列
- ARM9系列
- ARM9E系列
- ARM10E系列 - ARM11系列
- SecurCore系列 - Cortex系列
其中,ARM7、ARM9、ARM9E和ARM10为4 个通用处理器系列,每一个系列提供一套相对独特 的性能来满足不同应用领域的需求。SecurCore系 列专门为安全要求较高的应用而设计。
第章ARM7体系结构ppt课件
1.1 ARM简介
• ARM处理器核简介——SecurCore
该系列涵盖了SC100、SC110、SC200和SC210 处理核。该系列处理器主要针对新兴的安全市场, 以一种全新的安全处理器设计为智能卡和其它安全 IC开发提供独特的32位系统设计,并具有特定反伪 造方法,从而有助于防止对硬件和软件的盗版。
1.2 ARM7TDMI
• 存储器访问
ARM7TDMI处理器使用了冯·诺依曼(Von Neumann)结构,指令和数据共用一条32位总线。 只有装载、存储和交换指令可以对存储器中的数据 进行访问。
数据可以是字节( 8位)、半字( 16位)或者 字(32位)。
1.2 ARM7TDMI
• 存储器访问
第1章 ARM7体系结构
第1章 目录
1.简介
9.异常
2.ARM7TDMI
10.中断延迟
3.ARM7TDMI的模块和 11.复位
内部框图
12.存储器及存储器映射
4.体系结构直接支持的 I/O
数据类型
13.寻址方式简介
5.处理器状态
14.ARM7指令简介
6.处理器模式
内部周期; 非连续的周期; 连续 的周期; 协处理器寄存器的传输周期。
第1章 目录
1.简介
9.异常
2.ARM7TDMI 10 Nhomakorabea中断延迟
3.ARM7TDMI的模块和 11.复位
内部框图
12.存储器及存储器映射
4.体系结构直接支持的 I/O
数据类型
13.寻址方式简介
LOCK
DBGINSTRVALID DBGRQ DBGBREAK DBGACK DBGnEXEC DBGEXT[1] DBGEXT[0] DBGEN DBGRNG[1] DBGRNG[0] DBGCOMMRX DBGCOMMTX
ARM体系结构
中止模式(abt)
- 支持虚拟内存和/或内存保护 中止进入
预取指令中止/数据
未定义模式(und)
- 支持硬件协处理器的软件仿真(浮点、向量运算) 未定义指令进入 上述为异常模式!共计5种
- 支持操作系统的特殊用户模式(运行操作系统任务) 上述为特权模式(Privileged Modes)共计6种
18
内核扩展--带紧耦合存储器和cache的哈佛结构ARM核
结构特点: 数据、指令放在不同 cache,有两套地址、数 据总线。 带TCM,取指、数据操作 稳定性高。
19
带cache的哈佛结 构ARM核
数据和指令分离 cache,如 ARM920T。
20
内核扩展—存储管理
ARM内核的存储管理3种不同的类型: 1、无存储管理、无存储保护(ucLinux操作系统) 2、提供有限的存储保护MPU,对每个存储区域提 供专门的访问权限,但没有复杂的存储映射。 3、提供全面保护的存储管理单元MMU, MMU使用 一组表提供精细的存储控制,包括:虚拟地址与 物理地址的转换及访问权限控制。
34
ARM与Thumb状态转换
ARM状态 当ARM微处理器执行32位的ARM指令集时,工作在 ARM状态; Thumb状态 当ARM微处理器执行16位的Thumb指令集时,工作在 Thumb状态。
在程序的执行过程中,微处理器可以随时在两种工作状态之间切换, 并且该转变不影响处理器的工作模式和相应寄存器中的内容。
16
数据和指令共用一个cache, 如ARM710T。
17
内核扩展--带紧耦合存储器的哈佛结构ARM核
紧耦合存储器位于存储器物理 地址的映射中,是一种快速 SRAM,其取指、数据操作比 cache有较高的的稳定性。
1 ARM体系结构
华清远见
ARM版本比较
华清远见
1、 ARM体系结构
ARM简介 ARM体系结构特点 ARM体系结构特点 流水线 异常中断处理 I/O管理
华清远见
RISC设计思想
Load/Store体系结构 固定指令长度 使用单周期指令,便于流水线操作 执行 很多寄存器
华清远见
ARM的独特性能
所有的指令都可根据前面的执行结果决 定是否被执行,从而提高指令的执行效率。 可用加载/存储指令批量传输数据,以提 高数据的传输效率。 可在一条数据处理指令中同时完成逻辑 处理和移位处理。 在循环处理中使用地址的自动增减来提高 运行效率。
华清远见
内核变量z-Cache
华清远见
ARM命名规则
ARMx1z (e.g. ARM710T) indicates cache & full MMU ARMx2z (e.g. ARM720T) indicates cache, MMU & Process ID support ARMx3z (e.g. ARM1136J-S) indicates physically mapped caches and MMU ARMx4z (e.g. ARM740T) indicates cache and MPU ARMx5z (e.g. ARM1156T2-S) indicates cache, MPU and error correcting memory ARMx6z (e.g. ARM966E-S) indicates write buffer but no caches ARMx7z (e.g. ARM1176JZ-S) indicates physically mapped caches and MMU ARMxy6 (e.g. ARM946E-S) indicates TCMs
ARM系统体系架构
ARM体统体系架构ARM平台可以采用核心主板加扩展板的设计方式,基于ARM微处理器芯片的核心主板,能将ARM所有的I/O全部引出,在核心主板上面只提供最基本的接口;而对于一些特殊用途的USB接口、以太网接口、LCD接口,以扩展板形式提供。
ARM模块部分是其一个重要的组成部分,在系统中ARM模块主要负责系统控制部分,其硬件体系结构灵活、接口丰富。
核心包括嵌入式ARM CPU及必需的SDRAM和Hash 等器件,通过表贴封装的双排插针将各信号线及控制线引出。
这样,只需要设计不同的扩展板即可实现不同的系统功能,节约了开发成本并提高了平台的灵活性。
软件开发方面,如果采用Linux开放源代码进行开发,可以大大降低开发成本,加快软件的开发过程,并有利于后期开发。
1.硬件体系结构嵌入式系统硬件平台结构主要分为2大部分:一部分为系统主板,为基于ARM的最小系统,包括ARM CPU、∏ash、SDRAM、串口、键盘等最基本部分;另一部分为系统扩展板,提供了用于完成各个不同硬件的功能模块。
常用的嵌入式外围设备则有存储设备、通信设各和显示设备三类。
相关支撑硬件包括显示卡、存储介质(ROM和RAM等)、通信设备、IC卡或信用卡的读取设备等。
嵌入式系统有别于一般的计算机处理系统,它不具备像硬盘那样大容量的存储介质,而大多使用闪存(∏ash Memory)作为存储介质。
整个系统硬件结构如图1所示,主要组成部分及其功能如表1所示。
图1 ARM嵌入式硬件平台表1 系统硬件主要组成及其功能描述另外,系统总线扩展引出数据总线、地址总线和必需的控制总线,便于用户根据自身的特定需求,扩展外围电路。
在选择嵌入式系统的硬件时,最重要的是要先选择ARM处理器类型,因为ARM处理器不仅决定整个系统的性能,而且影响其他硬件的选用,以及操作系统和软件代码的配置。
一个设计好的ARM核心板硬件如图2所示。
图2 ARM核心板硬件图软件体系结构嵌入式软件包括与硬件相关的底层软件、操作系统、图形界面、通信协议、数据库系统、标准化浏览器和应用软件等。
第2章ARM体系结构
除法和中断优先级排队操作更为有效;
3、增加了BKPT(软件断点)指令;
4、为协处理器设计提供了更多的可供选择的指令;
5、更加严格地定义了乘法指令对条件码标志位的
影响。
六、版本V6 ARM体系版本6是2001年发布的。新架构V6
在降低耗电量的同时,还强化了图形处理性能。 通过追加有效进行多媒体处理的SIMD功能,将 语音及图象的处理功能提高到了原机型的4倍。 V6还支持微处理器内核。 七、版本V7-Cortex 前所未有的低成本实现
处理器 PC
存储器 指令
数据
2.1.1 计算机体系结构(2)
2. 哈佛体系结构
为数据和程序提供了各自独立的存储器。 程序计数器只指向程序存储器而不指向
数据存储器 两组数据线允许同时访问指令和数据
(访问指令和数据互不干扰)
2.1.2 RISC技术
CISC:复杂指令集计算机(Complex Instruction Set Computer)
3、对于FIQ模式,提供了额外的影子寄存器;
4、SWP指令及SWPB指令。
三、版本V3
版本3较以前的版本发生了大的变化,具体的改进如下:
1、地址空间扩展到了32位,但除了版本3G外的其他版本是
向前兼容的,也支持26位的地址空间;
2、分开的当前程序状态寄存器CPSR(Current Program
练习:
2. ARM7TDMI中的T、D、M、I的含义是什么? ARM7TDMI采用几级流水线?使用何种体系结构?
高密度 16 位的Thumb指令机扩展(带T 后缀的) 支持片上调试(带D 后缀的)、 64 位乘法指令(带M 后缀的)、 嵌入式ICE,支持片上点和调试点(带I 后缀的)
3 ARM体系结构
ARM体系结构
3.5 处理器模式
• • • • • • •
ARM体系结构
堆栈指针—R13
• • •
R13在ARM指令中常用作堆栈指针,但这只是一 种习惯用法,用户也可使用其他的寄存器作为堆 栈指针。 在Thumb指令集中,某些指令强制性的要求使用 R13作为堆栈指针。 由于处理器的每种运行模式均有自己独立的物理 寄存器R13,在初始化部分,都要初始化每种模 式下的R13,这样,当程序的运行进入异常模式 时,可以将需要保护的寄存器放入R13所指向的 堆栈,而当程序从异常模式返回时,则从对应的 堆栈中恢复。
ARM体系结构
ARM状态下的寄存器组织(1)
•
通用寄存器:通用寄存器包括R0~R15,可以 分为三类:
未分组寄存器R0~R7 分组寄存器R8~R14 程序计数器PC(R15)
ARM体系结构
ARM状态下的寄存器组织(2)
ARM体系结构
未分组寄存器R0~R7
• •
在所有的运行模式下,未分组寄存器都指向同 一个物理寄存器,他们未被系统用作特殊用途。 在中断或异常处理进行运行模式转换时,由于 不同的处理器运行模式均使用相同的物理寄存 器,可能会造成寄存器中数据的破坏,这一点 在进行程序设计时应引起注意。
ARM体系结构
子程序连接寄存器—R14
• •
子程序连接寄存器或连接寄存器LR。 当执行BL子程序调用指令时,可以从R14中得到R15(程 序计数器PC)的备份。在每一种运行模式下,都可用R14 保存子程序的返回地址,当用BL或BLX指令调用子程序 时,将PC的当前值拷贝给R14,执行完子程序后,又将 R14的值拷贝回PC,即可完成子程序的调用返回。
第2章-ARM体系结构
39
第2章 ARM体系结构
NAND技术
• NAND技术 Flash Memory具有以下特点: – 以页为单位进行读和编程操作,1页为256或512字 节;以块为单位进行擦除操作,1块为4K、8K或 16K字节。具有快编程和快擦除的功能,其块擦除 时间是2ms;而NOR技术的块擦除时间达到几百ms
这样,5级流水线分为:取指、 指令译码、执行、数据缓存和 写回。
第2章 ARM体系结构
34
第2章 ARM体系结构
2.1.2 ARM处理器结构
1 ARM的体系结构 2 冯诺依曼结构 与哈佛结构 3 ARM的流水线结构 4 ARM存储器结构
5 ARM I/O结构 6 ARM协处理器接口 7 ARM AMBA接口 8 ARM JTAG 调试接口
闪速存储器(FLASH)
• 相对传统的EPROM芯片,这种芯片可以 用电气的方法快速地擦写
• 由于快擦写存储器不需要存储电容器, 故其集成度更高,制造成本低于DRAM
• 它使用方便,既具有SRAM读写的灵活 性和较快的访问速度,又具有ROM在断 电后可不丢失信息的特点,所以快擦写 存储器技术发展十分迅速
30
第2章 ARM体系结构
ARM9 架构采用5级流水线:
增加了I-Cache和D-Cache,把存储器的取指与数 据存取分开;
➢ 增加了数据写回的专门通路和寄存器; ➢ 把指令的执行过程分割为5阶段:
取指令; 指令译码、寄存器读、分支目标计算及执行; 移位和ALU操作; 数据Cache访问; 结果写回到寄存器。
第章ARM体系结构
2.1 ARM简介
ARM10E系列简介
该系列包括ARM1020E和ARM1020E处理器核,其核心在 于使用向量浮点(VFP)单元VFP10提供高性能的浮点解决 方案,从而极大提高了处理器的整型和浮点运算性能。
可以用于视频游戏机和高性能打印机等场合。
Xscale简介
Intel Xscale微控制器则提供全性能、高性价比、低功耗 的解决方案,支持16位Thumb指令并集成数字信号处理 (DSP)指令。
ARM7体系结构
1.ARM简介
6.ARM内部寄存器
2.ARM7TDMI
7.当前程序状态寄存 器
3.ARM的模块、内 核和功能框图
8.ARM体系的异常、 中断及其向量表
4.ARM处理器状态 9.ARM体系的存储 5.ARM处理器模式 系统
1
冯·诺依曼体系结构模型
指令寄存器 控制器
集
Thumb指令集版本2:ARMv5T
Thumb-2:ARMv6T
D
片上调试
M 支持长乘法 32位乘32位得到64位,32位的乘加得到64位
I Embedded ICE
E
DSP指令 增加了DSP算法处理器指令:16位乘加指令,
饱和的带符号数的加减法,双字数据操作,
cache预取指令
J Java加速器 提高java代码的运行速度
处理器内核 ARM11
内核分类 ARM1136J(F)-S ARM1156T2(F)-S ARM1176JZ(F)-S
SecurCore
Strong ARM Xscale
SC100 SC110 SC200 SC210
12
2.1 ARM简介
[计算机软件及应用]ARM体系结构
1.2.4 ARM10E微处理器 ARM10E系列微处理器包含ARM1020E、ARM1022E和 ARM1026EJ-S几种类型,由于采用了新的体系结构,与同等的 ARM9器件相比较,在同样的时钟频率下,性能提高了近50%。 同时采用了两种先进的节能方式,使其功耗极低。 ARM10E系列微处理器支持DSP指令集,适合于需要高速数字信号 处理的场合。 采用6级整数流水线,支持32位ARM指令集和16位 Thumb指令集,支持32位的高速AMBA总线接口,支持VFP10浮点 处理协处理器,MMU支持Windows CE、Linux、Palm OS等多种 主流嵌入式操作系统,支持数据Cache和指令Cache,内嵌并行读 /写操作部件,主频最高可达400MIPS。 ARM10E系列微处理器主要应用于下一代无线设备、数字消费品、 成像设备、工业控制、通信和信息系统等领域。
图1.2.1 ARM7TDMI内核结构
ARM7TDMI还提供了存储器接口、MMU接口、协处理器接口和调 试接口,以及时钟与总线等控制信号,如图1.2.2所示。 存储器接口包括了32位地址A[31:0]、双向32位数据总线 D[31:0]、单向32位数据总线DIN[31:0]与DOUT[31:0]、以及存储 器访问请求MREQ、地址顺序SEQ、存储器访问控制MAS[1:0和数 据锁存控制BL[3:0]等控制信号。 ARM7TDMI处理器内核也可以ARM7TDMI-S软核(Softcore)形式 向用户提供。同时,提供多种组合选择,例如可以省去嵌入式 ICE单元等。
1.2.6 StrongARM微处理器 Intel StrongARM处理器是采用ARM体系结构高度集成的32位RISC 微处理器,采用在软件上兼容ARMv4体系结构、同时采用具有 Intel技术优点的体系结构。典型产品如SA110 处理器、SA1100、 SA1110PDA系统芯片和SA1500多媒体处理器芯片等。例如其中的 Intel StrongARM SA-1110 微处理器是一款集成了32位 StrongARM RISC处理器核、系统支持逻辑、多通信通道、LCD控 制器、存储器和PCMCIA控制器以及通用I/O口的高集成度通信控 制器。该处理器最高可在206 MHz下运行。SA-1110有一个大的指 令Cache 和数据Cache、内存管理单元(MMU)和读/写缓存。存 储器总线可以和包括SDRAM、SMROM 和类似SRAM的许多器件相 接。软件与ARM V4结构处理器家族相兼容。 Intel StrongARM处理器是便携式通讯产品和消费类电子产品的理 想选择。
第2章 ARM体系结构
当前程序状态寄存器
CPSR CPSR SPSR_ fiq
ARM状态 程序状态寄存器
CPSR SPSR_svc CPSR SPSR_abt CPSR SPSR_irq CPSR SPSR_ und
程 序 计 数 器
备份程序状态寄存器
堆栈指针—R13
R13在ARM指令中常用作堆栈指针SP,但 这只是一种习惯用法,用户也可使用其他 的寄存器作为堆栈指针。 在Thumb指令集中,某些指令强制性的要 求使用R13作为堆栈指针。 由于处理器的每种运行模式均有自己独立 的物理寄存器R13,在初始化部分,都要 初始化每种模式下的R13,这样,当程序 的运行进入异常模式时,可以将需要保护 的寄存器放入R13所指向的堆栈,而当程 序从异常模式返回时,则从对应的堆栈中 恢复。
Thumb状态的寄存器组织
Thumb状态 通用寄存器和程序计数器
系统和用户 R0 R1 R2 R3 R4 R5 R6 R7 SP LR PC FIQ R0 R1 R2 R3 R4 R5 R6 R7 SP_ fiq LR_ fiq PC
管理
R0 R1 R2 R3 R4 R5 R6 R7 SP_ svc LR_ svc PC
在处理器进行异常处理时,把PC指 针放入异常模式链接寄存器中,并从 异常向量地址开始执行程序,也可以 使处理器切换到ARM状态。
进入Thumb状态
当操作数寄存器的状态位(位0)为1时, 可以采用执行跳转指令BX的方法,使微处 理器从ARM状态切换到Thumb状态。
当处理器处于Thumb状态时发生异常(如 IRQ、FIQ、Undef、Abort、SWI等), 则异常处理返回时,自动切换到Thumb状 态。 在开始执行代码时,微处理器应该处于ARM状态!
ARM体系结构
ARM体系结构
ARM体系结构,简称ARM(英语:Advanced RISC Machines),是一
种处理器架构,是一种精简指令集计算机(RISC)架构的家族,该家族目
前拥有多种系列处理器,被广泛应用于各种嵌入式应用,尤其是智能手机
和平板电脑的设备中,ARM架构是英国ARM公司的商标。
ARM架构拥有强
大的硬件设计灵活性,可以无需改变软件就可以调节硬件的特性,线条的
优化可以为系统提供更加高性能和更低的成本,使得ARM体系结构能够被
全球众多的计算机厂商和平台支持,并被广泛的应用在智能手机和平板电
脑上。
ARM架构系统的特色是具有节省空间和能耗的RISC体系结构,它支
持低功耗、体积小的设计。
其中,超标量处理器让系统中的微处理器可以
一次性处理多个指令,从而提高了执行效率;Branch prediction和容错
处理器,可以帮助系统快速解决复杂的冲突状况;Jazelle技术,基于
Java虚拟机技术,为系统提供了双重处理器架构,实现Java的加速运行;Multi-mode前沿技术,支持多核心处理,系统可以多个核心一起工作,
实现更高性能和能效的处理。
ARM架构针对不同的应用程序定制了不同的处理器体系结构,可根据
实际情况进行调整和灵活配置,满足不同系统的需求。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
•特权当异处中理断(器irq) 遇到中没断请有求处定理 义或不支持的只有指在IR令Q异时常响,应时进,才入进入未此模定式 义
模式; 模 常 管理(svc)
式模
供操作系统使用的一种保护模式
只有在系统复位和软件中断响应时,才进入 此模式
•中式断中模止(式abt)与快用速于虚中拟内断存和模/或存式储器分保护别对A在ARRMM7内处核中理没有器多大2用种处 不同级
3. ARM处理器的流水线概念及运行原理
三级流水线
ARM处理器使用流水线来增加处理器指令流的速 度,这样可使几个操作同时进行,并使处理和存储器系 统连续操作,能提供0.9MIPS/MHz的指令执行速度。
ARM7TDMI的流水线分3级,分别为:
取指
译码
执行
处理指令并将结果写回寄存器 识别将要被执行的指令 从寄存器装载一条指令
存储器
结构特点: 程序
1、指令和数据存储在相同 的内存空间,但指指存令令01储地址
不同。
指令2
2线、处处理理内器存利中用的指指相指令令同34令的和总数
据,指令和数据数具据有相同
的数据宽度,指令与数据
无法同时存取。数据0
数据1 数据2
哈佛体系结构
指令寄存器 控制器
地址 指令
数据通道
输入
输出
地址
数字信号处C理PU器DSP通常采用数据哈 佛结构 ; 自ARM9开始,ARM嵌入式微处 理器亦采用此结构。
寄只换换时的C特访些P存允处进,寄权问特SR除这这器 许 理 入 处 存模 用 权,用五两和)器外理式户任而户种种一特模,器,,模务且模模些权式也进以不式可它式式片模,可入避受的以们外称都内式而以相免用寄使使,为不外下用由应异户存用用其异能设访户特的常模器这完它常由在问模定模退式就个全模异硬。式的式出的比模相式常件此不异。时限较式同均。进设外能常每用制方访的为它入计,直进种户。便问寄特们,上特接入异模操,一存权除想只权切。常式作而些器模了要允模换当的系且受组式可进许式到特状统操控。以。入(可别定都态在作的系通A必或以的的有不该系资统R过须者自模异一可模统源M模程修可由式常些靠式的。内式序改选的。出独下一部是切为切现立
ARM处理器共有7种不同的处理器模式,每种模 式都有一组相应的寄存器组,最多可以18个活动的寄 存器。
4. ARM各模式及可访问的寄存器
4. ARM各模式及可访问的寄存器
程序状态寄存器的格式
条件代码标志
保留
控制位
课前导入
1.嵌入式系统和一般的计算机系统在硬件组 成结构上有哪些异同之处?
2. 什么是嵌入式最小系统?一般常见的最小 嵌系入式统系由统哪的些最部小分系统组指成基?于某处理器为核心,可以 运基3.转本嵌起 系入来统式的)系最。简统单常的见硬的件扩设展计(部即件处有理哪器些能?够运行的最
嵌入式最小系统的组成,包括处理器、内存、时钟、 电源和复位。为了能够支持程序的下载和调试,一般还 需要在最小系统中添加对JTAG接口的支持。
2冯诺依曼体系工作原理
冯诺依曼体系工作原理(CPU工作原理):
程序的执行过程实际上是不断地取出指令、分析指令、执行指 令的过程。冯·诺依曼型计算机从本质上讲是采取串行顺序处理 的工作机制,即使有关数据巳经准备好,也必须逐条执行指令 序列。
开始
取指令
指令译码
执行指令
2冯诺依曼体系工作原理
数据流
CPU 指令流
三级流水线
正常操作过程中,在执行一条指令的同时对下一条
(第二条)指令进行译码,并将第三条指令从存储器中取
出。 在AThRuMm状b状态态下下,,流流水水线线上上各各指指令令的的地地址址为为::
PC
取指
PC-42
译码
PC-84
执行
处理指令并将结果写回寄存器 识别将要被执行的指令 从寄存器装载一条指令
3. 嵌入式系统常见的扩展部件有哪些?
课程重点
1.可编程器件的特点 2.计算机的体系结构(冯诺依曼与哈佛) 3. ARM处理器的流水线概念及运行原理 4. ARM各模式及可访问的寄存器 5. ARM体系的异常 6. ARM体系的存储系统 7. ARM的寻址方式
1.可编程器件的特点
• 模拟器件 -> 数字器件 • ASIC -> 可编程器件
思考题
注意:只地有址流水线被指指令令填满时才能发挥最大效能,即每
一般来说,人们习惯
时 线 因PC钟将此周被,000期清为xxx444完空提000000成,高480 一这程条将序AD指需执D令要行PC… …的几效,… …执个率PC行时,,。钟应#4如才尽果能可总 的 “ 性 的 取 译令执 令 PPCC是 指 正 约 指 码程使能后行 执值=程P执P指 令 在 定 令 A=C,A行P序流少CD序行C当指D向 , 执 将 作指P的D+发水用D前计AC向为而 行“ “指向4结D指程的数=生 线跳0参不正”正D令0序果令值x器0x跳再考4转是在在的执P。4为x,为0CR04行点指取执指0转次指:,1所00多P位504,向指行令08C地(,填令以置少地8P,则”或”#+C+址指?流满址,4):84指,,水。解 决的方0案x4是00尽C 量使用指…令…的“条件执“ 每=正 条行0注x在 指4”:0译 令0功A码 为CR。能M”4字状。的节态指长时令。,。
冯∙诺依曼结构
—冯∙诺依曼理论的要点:
指令像数据那样存放在存储器中,并可以 像数据那样进行处理;
指令格式使用二进制机器码表示;
? 十进制→计
算机指令
冯∙诺依曼提出二进制机器 码表示计算机指令格式
使用程序存储控制方式工作。
冯·诺依曼体系结构
指令寄存器 控制器
数据通道
输入
输出
中央处理器
ARM7嵌入式微处理 器采用此结构
1.可编程器件的特点 从源代码到CPU执行过程
.c等高 级语言 源代码
编译器 .S汇编 源代码
汇编器 Elf格式 二进制可 执行程序
Objcopy工具
CPU内部
指令流水线 CPU执 行指令
CPU读 入后先 解码
总线
Bin格 式烧录 文件
2.计算机的体系结构(冯诺依曼与哈佛结构 )
2冯诺依曼体系结构
嵌入式系统
第2课 ARM 体系结构
课前导入
嵌入式系统组成原理 嵌入式最小系统 嵌入式系统扩展
课前导入
1.嵌入式系统和一般的计算机系统在硬件组 成结构上有哪些异同之处?
嵌2. 入什式么系是统嵌和入一般式的最计小算系机统系?统类一似般,常也见是的由最CP小U、 内存系、统IO由端口哪、些总部线分等组几成个部?分组成。 接嵌3口. 入嵌非式入常系式复统杂系硬。统件的常特见点的主扩要展是部集成件度有高哪,些非?标准化,
PC A…D…D
PC-4
PC-8
取指
译码
执行
ARM7的3级流水线
4. ARM各模式及可访问的寄存器
简介
ARM体系结构支持7种处理器模式,分别为:用户模 式、快中断模式、中断模式、管理模式、中止模式、未定 义模式和系统模式。所处的模式由当前程序状态寄存器 CPSR中的控制位M[4:0]反映。这样的好处是可以更好的 支持操作系统并提高工作效率。ARM7TDMI完全支持这 七种模式。
程序存储器
指令0结构特点: 1、指指令令1 存储和数据存储分 开,指令指2令和数据分别位于
不同的存储空间。
2、指令与数据的存取采 用数不据存同储总器 线,取指令和存
取数数据据0可同时进行,微处
理器数据具1有较高的执行效率
数据2
。
冯诺依曼结构与哈佛结构
程序和数据都放在内存中,且不彼此 分离的结构称为冯诺依曼结构。譬如 Intel的CPU均采用冯诺依曼结构。
十进制 →计算机指令
?
冯∙诺依曼提出二进制机器 码表示计算机指令格式
2 冯诺依曼体系结构
—冯∙诺依曼计算机组成(五大部分):
运算器(ALU,Arithmetic Logic Unit ) 控制器(Controler) 存储器(Memory) 输出设备(Output Unit) 输入设备(Input Unit)
程序和数据分开独立放在不同的内存 块中,彼此完全分离的结构称为哈佛 结构。譬如大部分的单片机(MCS51 、ARM9等)均采用哈佛结构。
优劣对比
冯诺依曼结构中程序和数据不区分的 放在一起,因此安全和稳定性是个问 题,好处是处理起来简单。
哈佛结构中程序(一般放在ROM、 flash中)和数据(一般放在RAM中) 独立分开存放,因此好处是安全和稳 定性高,缺点是软件处理复杂一些( 需要统一规划链接地址等)
控制流
冯诺依曼体系结构计算机功能图
2冯∙诺依曼结构思想
冯∙诺依曼理论的思想是:
应该把程序和数据一起存储在存储器里,让计算机自 己负责从存储器里提取指令,执行指令,循环式地执 行这两个动作。
这样,计算机在执行程序的过程中,就可以完全 摆脱外界的影响,以自己可能的速度自动地运行。
按照这种原理构造出来的计算机就是“存储程序 控制计算机”,也被称做“冯∙诺依曼计算机”
1.可编程器件的特点
• CPU在固定频率的时钟控制下节奏运行。 • CPU可以通过总线读取外部存储设备中的
二进制指令集,然后解码执行。
• 这些可以被CPU解码执行的二进制指令集 是CPU设计的时候确定的,是CPU的设计 者(ARM公司)定义的,本质上是一串由1 和0组成的数字。这就是CPU的汇编指令集。
何时处理进器模入式 异常模式,具说明体之正后常程进序运入行的管工作理模式模式,操不能作直接系从用统户模内式切核换到通其它常模式处于
管理模式; 系统(sys)
用于支持操作系统的特权任务等
与用户模式类似,但具有可以直接切换到其 它模式等特权