第7章 ARM微处理器体系结构
ARM体系结构详解精

ARM嵌入式系统第2章ARM体系结构ARM微处理器的编程模型♦ARM徴处理器的工作状态♦ARM体系结构的存储器格式♦ARM体系结构的指令长度及数据宽度♦ARM微处理器的处理器模式♦ARM体系结构的寄存器组织♦ARM微处理器的异常状态字、半字、字节字(Word)在ARM体系结构中,字的长度为32位半字(Half-Word)在ARM体系结构中,半字的长度为16位字节(Byg)在ARM体系结构中,字节的长度为8位。
ARM微处理器的工作状态(1)字对齐:四字节对齐半字对齐:两字节对齐两种状态:♦ARM状态:处理器执行32位的字对齐的令♦Thumb状态:处理器执行16位的、半字对齐的Thumb指令处理器工作状态的转变并不影响处理器的工作模式和相应寄存器中的内容。
I ARM微处理器的工作状态(2 )状态切换:BX {<cond>} <Rm><cond>指令的条件码。
忽略时无条件执行。
<Rm>子存器中为跳转的目标地址,当<Rm><存器的bit[O]为0时, 目标地址处的指令为ARM指令;当<Rm>^存器的bit[O]为1时,目标地址处的指令为Thumb 指令。
伪代码:if ConditionPassed(cond) thenT Flag=Rm[O]PC=Rm AND OxFFFFFFFEARM微处理器在复位或上电时处于ARM状态,发生异常时处于ARM状态。
右ARM体系结构的存储器格式(1)ARM体系结构所支持的最大寻址空间为4GB (2^字节)♦大端格式(Big Endian)字数据的高字节存储在低地址中,而字数据的低字节则存放在高地址中。
♦小端格式(Little Endian)低地址中存放的是字数据的低字节,高地址存放的是字数据的高字节。
字地址字地址右ARM 体系结构的存储器格式(2)(0H)=0123H (4H)=4567H (8H)=89ABHBig Endian(0H)=3210H (4H)=7654H (8H)=BA98HLittle Endian右ARM 体系结构的存储器格式(3)8 9 AB4 5 6 7 0123一 “A ・■ • rO= 0x11223344 I 11 I 22 33 : 44 ILittle endian Big endianR2 =异FI*右 ARM 体系结构的指令长度及数据宽度♦指令长度:32位(在ARM 状态下) 16位(在Thumb 状态下)♦数据宽度: 字节(8位) 半字(16位) 字(32位)三种数据宽度对存储器及外部设备的访问。
ARM处理器特点及分类

Jazelle
有 有 无
浮点 运算
无 有 无
ARM1156T2F-S 可配置
9 Thumb-2 有
无
有
ARM1176JZ-S 可配置
9 Thumb-2 有
有
无
ARM1176JZF-S 可配置
9 Thumb-2 有
有
有
Cortex微处理器系列
Cortex系列微处理器属于ARMv7架构,这是 ARM公司最新的指令集架构。
ARM处理器系统应用与开 发
1
ARM处理器特点与分类
ARM发展历程
核 ARM7TDMI,ARM710T,ARM720T ARM740T Strong ARM,ARM8,ARM810 ARM9TDMI,ARM920T,ARM940T ARM9E-S ARM10TDMI,ARM1020E ARM11,ARM1156T2-S,ARM1156T2F-S,ARM1176JZ-S, ARM11JZF-S Cortex–A15, Cortex–A9, Cortex–A8, A7,A5 Cortex – R系列 Cortex – M系列
ARM11系列微处理器是ARM公司近年推出的新一代RISC处理 器,它是ARM新指令架构——ARMv6的第一代设计实现。
ARM1136J-S ARM1135JF-S ARM1156T2-S
Cache
4~64KB 4~64KB 可配置
内存 管理
MMU
MMUห้องสมุดไป่ตู้
流水线 Thumb DSP 级别
8
有
有
8
有
有
9 Thumb-2 有
体系结构 V4T V4 V4T V5TE V5TE V6
关于ARM的内核架构介绍

张凌001关于ARM的内核架构很多时候我们都会对M0,M0+,M3,M4,M7,arm7,arm9,CORTEX-A系列,或者说AVR,51,PIC等,一头雾水,只知道是架构,不知道具体是什么,有哪些不同?今天查了些资料,来解解惑,不是很详细,但对此有个大体了解。
咱先来当下最火的ARM吧1.ARMARM即以英国ARM(Advanced RISC Machines)公司的内核芯片作为CPU,同时附加其他外围功能的嵌入式开发板,用以评估内核芯片的功能和研发各科技类企业的产品.ARM 微处理器目前包括下面几个系列,以及其它厂商基于 ARM 体系结构的处理器,除了具有ARM 体系结构的共同特点以外,每一个系列的 ARM 微处理器都有各自的特点和应用领域。
- ARM7 系列- ARM9 系列- ARM9E 系列- ARM10E 系列- ARM11系列- Cortex 系列- SecurCore 系列- OptimoDE Data Engines- Intel的Xscale- Intel的StrongARM ARM11系列2. Cortex 系列32位RISCCPU开发领域中不断取得突破,其设计的微处理器结构已经从v3发展到现在的v7。
Cortex 系列处理器是基于ARMv7架构的,分为Cortex-M、Cortex-R和Cortex-A三类。
由于应用领域的不同,基于v7架构的Cortex处理器系列所采用的技术也不相同。
基于v7A的称为“Cortex-A系列。
高性能的Cortex-A15、可伸缩的Cortex-A9、经过市场验证的Cortex-A8处理器以及高效的Cortex-A7和Cortex-A5处理器均共享同一体系结构,因此具有完整的应用兼容性,支持传统的ARM、Thumb指令集和新增的高性能紧凑型Thumb-2指令集。
1Cortex-M系列Cortex-M系列又可分为Cortex-M0、Cortex-M0+、Cortex-M3、Cortex-M4;2Cortex-R系列Cortex-R系列分为Cortex-R4、Cortex-R5、Cortex-R7;3Cortex-A 系列Cortex-A系列分为Cortex-A5、Cortex-A7、Cortex-A8、Cortex-A9、Cortex-A15、Cortex-A50等 ,同样也就有了对应内核的Cortex-M0开发板、Cortex-A5开发板、Cortex-A8开发板、Cortex-A9开发板、Cortex-R4开发板等等。
ARM7体系结构

2.1 ARM简介
ARM10E系列简介
该系列包括ARM1020E和ARM1020E处理器核, 其核心在于使用向量浮点(VFP)单元VFP10提供高性 能的浮点解决方案,从而极大提高了处理器的整型和 浮点运算性能。 可以用于视频游戏机和高性能打印机等场合。
ARM7体系结构
1.ARM简介 2.ARM7TDMI 3.ARM的模块、内 核和功能框图 4.ARM处理器状态 5.ARM处理器模式 6.ARM内部寄存器 7.当前程序状态寄存 器 8.ARM体系的异常、 中断及其向量表 9.ARM体系的存储 系统
2.1 ARM简介
2.1 ARM简介
ARM9系列简介
该系列包括ARM9TDMI、ARM920T和带有高速 缓存处理器宏单元的ARM940T。除了兼容ARM7系列, 而且能够更加灵活的设计。 ARM9系列主要应用于引擎管理、仪器仪表、安 全系统和机顶盒等领域。
2.1 ARM简介
ARM9E系列简介
该系列为含有DSP指令集的综合处理器,包括 ARM926EJ-S、带有高速缓存处理器宏单元的 ARM966E-S/ARM946E-S。其内核在ARM7处理器内核 的基础上使用了Jazelle增强技术,该技术支持一种新 的Java操作状态,允许在硬件中执行Java字节码。
2.1 ARM简介
CortexTM-A8处理器简介
该处理器是ARM公司所开发的基于ARMv7架构的 首款应用级处理器,其特色是运用了可增加代码密度 和加强性能的技术、可支持多媒体以及信号处理能力 的NEONTM技术、以及能够支持Java和其他文字代码语 言的提前和即时编译的Jazelle@RTC技术。 众多先进的技术使其适用于家电以及电子行业等各 种高端的应用领域。
ARM入门教程.pdf

目录第1章 ARM微处理器概述 51.1 ARM-Advanced RISC Machines 51.2 ARM微处理器的应用领域及特点 51.2.1 ARM微处理器的应用领域 51.2.2 ARM微处理器的特点 61.3 ARM微处理器系列 61.3.1 ARM7微处理器系列 61.3.2 ARM9微处理器系列 71.3.3 ARM9E微处理器系列 71.3.4 ARM10E微处理器系列 71.3.5 SecurCore微处理器系列 81.3.6 StrongARM微处理器系列 81.3.7 Xscale处理器 81.4 ARM微处理器结构 81.4.1 RISC体系结构 81.4.2 ARM微处理器的寄存器结构 91.4.3 ARM微处理器的指令结构 91.5 ARM微处理器的应用选型 101.6 本章小节10第2章 ARM微处理器的编程模型 112.1 ARM微处理器的工作状态 112.2 ARM体系结构的存储器格式 112.3 指令长度及数据类型 122.4 处理器模式 122.5 寄存器组织 132.5.1 ARM状态下的寄存器组织 132.5.2 Thumb状态下的寄存器组织 152.5.3 程序状态寄存器 162.6 异常(Exceptions) 182.6.1 ARM体系结构所支持的异常类型 182.6.2 对异常的响应 182.6.3 从异常返回 192.6.4 各类异常的具体描述 192.6.5 异常进入/退出小节 202.6.6 异常向量(Exception Vectors) 202.6.7 异常优先级(Exception Priorities) 212.6.8 应用程序中的异常处理 212.7 本章小节21第3章 ARM微处理器的指令系统 223.1 ARM微处理器的指令集概述 223.1.1 ARM微处理器的指令的分类与格式 223.1.2 指令的条件域 233.2 ARM指令的寻址方式 233.2.1 立即寻址 243.2.2 寄存器寻址 243.2.2 寄存器间接寻址 243.2.3 基址变址寻址 243.2.4 多寄存器寻址 253.2.5 相对寻址 253.2.6 堆栈寻址 253.3 ARM指令集 253.3.1 跳转指令 253.3.2 数据处理指令 263.3.3 乘法指令与乘加指令 303.3.4 程序状态寄存器访问指令 323.3.5 加载/存储指令 323.3.6 批量数据加载/存储指令 343.3.7 数据交换指令 353.3.8 移位指令(操作) 353.3.9 协处理器指令 363.3.10 异常产生指令 383.4 Thumb指令及应用 383.5 本章小节39第4章 ARM程序设计基础 404.1 ARM汇编器所支持的伪指令 404.1.1 符号定义(Symbol Definition)伪指令 404.1.2 数据定义(Data Definition)伪指令 414.1.3 汇编控制(Assembly Control)伪指令 434.1.4 其他常用的伪指令 454.2 汇编语言的语句格式 484.2.1 在汇编语言程序中常用的符号 494.2.2 汇编语言程序中的表达式和运算符 494.3 汇编语言的程序结构 524.3.1 汇编语言的程序结构 524.3.2 汇编语言的子程序调用 524.3.3 汇编语言程序示例 534.3.4 汇编语言与C/C++的混合编程 554.4 本章小节56第5章应用系统设计与调试 575.1 系统设计概述 575.2 S3C4510B概述 585.2.1 S3C4510B及片内外围简介 585.2.2 S3C4510B的引脚分布及信号描述 615.2.3 CPU内核概述及特殊功能寄存器(Special Registers) 675.2.4 S3C4510B的系统管理器(System Manager) 725.3 系统的硬件选型与单元电路设计 825.3.1 S3C4510B芯片及引脚分析 825.3.2 电源电路 835.3.3 晶振电路与复位电路 835.3.4 Flash存储器接口电路 855.3.5 SDRAM接口电路 895.3.6 串行接口电路 935.3.7 IIC接口电路 945.3.8 JTAG接口电路 955.3.9 10M/100M以太网接口电路 965.3.10 通用I/O接口电路 1005.4 硬件系统的调试 1015.4.1 电源、晶振及复位电路 1015.4.2 S3C4510B及JTAG接口电路 1025.4.3 SDRAM接口电路的调试 1035.4.4 Flash接口电路的调试 1055.4.5 10M/100M以太网接口电路 1055.5 印刷电路板的设计注意事项 1055.5.1 电源质量与分配 1055.5.2 同类型信号线的分布 1065.6 本章小节 106 第6章部件工作原理与编程示例 1076.1 嵌入式系统的程序设计方法 1076.2 部件工作原理与编程示例 1086.2.1 通用I/O口工作原理与编程示例 1086.2.2 串行通讯工作原理与编程示例 1116.2.3 中断控制器工作原理与编程示例 1206.2.4 定时器工作原理与编程示例 1236.2.5 GDMA工作原理与编程示例 1276.2.6 IIC总线控制器工作原理 1336.2.7 以太网控制器工作原理 138主要特性139MAC功能模块 140 带缓冲DMA接口(Buffered DMA Interface) 144以太网控制器特殊功能寄存器(Ethernet Controller Special Registers) 147MAC寄存器(Media Access Control(MAC)Register) 154以太网控制器的操作(Ethernet Controller Operation) 160发送一个帧(Transmitting a Frame) 162接收一个帧(Receiving a Frame) 1626.2.8 Flash存储器工作原理与编程示例 1626.3 BootLoader简介 1676.4 本章小节 167 第7章嵌入式uClinux及其应用开发 1687.1 嵌入式uClinux系统概况 1687.2 开发工具GNU的使用 1707.2.1 GCC编译器 1707.2.2 GNU Make 1727.2.3 使用GDB调试程序 1777.3 建立uClinux开发环境 1807.3.1 建立交叉编译器 1817.3.2 uClinux针对硬件的改动 1847.3.3 编译uClinux内核 1857.3.4 内核的加载运行 1877.4 在uClinux下开发应用程序 1887.4.1 串行通信 1907.4.2 socket编程 1957.4 .3 添加用户应用程序到uClinux 2027.4.4 通过网络添加应用程序到目标系统 2057.5 本章小结 207 第8章ARM ADS集成开发环境的使用 2098.1 ADS集成开发环境组成介绍 2098.1.1 命令行开发工具 2098.1.2 ARM运行时库 2188.1.3 GUI开发环境(Code Warrior和AXD) 2198.1.4 实用程序 2218.1.5 支持的软件 2218.2 使用ADS创建工程 2228.2.1 建立一个工程 2228.2.2 编译和链接工程 2258.2.3 使用命令行工具编译应用程序 2298.3 用AXD进行代码调试 2308.4 本章小结 233第1章 ARM微处理器概述本章简介ARM微处理器的一些基本概念、应用领域及特点,引导读者进入ARM技术的殿堂。
《嵌入式系统基础》课程教学大纲

嵌入式系统基础课程教学大纲(EmbeddedMicroprocessorSystem)学时数:32其中:实验学时:0课外学时:0学分数:2适用专业:计算机科学与技术一、课程的性质、目的和任务本课程是计算机科学与技术专业本科生的一门专业选修课程。
通过本课程的学习,使学生掌握嵌入式系统的基础知识,熟悉典型的嵌入式微处理器及嵌入式操作系统,掌握嵌入式系统的一般设计方法与开发过程,具备初步的嵌入式系统的软硬件设计开发能力,为嵌入式系统的实际应用打下基础。
二、课程教学的基本要求(一)掌握嵌入式系统的基本概念、基本组成及发展、嵌入式处理器及嵌入式操作系统分类(二)掌握ARM嵌入式微处理器体系结构、ARM指令系统及ARM汇编语言(H)掌握嵌入式1inUX 操作系统内核结构及文件系统(四)掌握嵌入式系统的一般设计流程、典型开发环境及开发工具(五)掌握基于ARM嵌入式微处理器的典型接口设计(六)初步掌握基于嵌入式1inUX操作系统的软件设计三、课程的教学内容、重点和难点第一章嵌入式系统基础知识一、嵌入式系统简介二、嵌入式处理器第二章嵌入式系统一般设计方法一、嵌入式系统的层次结构二、嵌入式系统的设计流程第三章ARM处理器体系结构及指令系统一、ARM微处理器的体系结构二、指令系统三、基于ARM体系的汇编语言程序设计第四章基于ARM处理器的硬件平台设计一、基于微处理器的嵌入式系统的硬件设计二、存储系统的分析与设计三、通用I/O接口的设计第五章嵌入式1inux操作系统一、1i1IUX及其应用二、嵌入式1inux内核三、嵌入式1inUX文件系统第六章嵌入式1inux系统的Boot1oader设计一、Boot1oader的基本概念二、Boot1oader的具体实现重点:Boot1oader的基本概念难点:BOOt1Oader的具体实现第七章嵌入式1inux程序设计基础一、嵌入式1inUX开发基础二、1inUX的常用工具三、嵌入式1inUX操作系统的开发工具四、交叉开发环境重点:嵌入式1inUX操作系统的开发工具、难点:交叉开发环境第八章嵌入式1inux系统的驱动开发一、1inUX下的设备驱动程序简介二、设备驱动程序的开发过程三、典型设备驱动程序设计分析第九章嵌入式网络程序设计一、嵌入式以太网基础知识二、以太网接口设计三、1in1IX网络编程实现重点:以太网接口设计、1inUX网络编程实现难点:1inUX网络编程实现第十章嵌入式1inux图形用户界面编程一、1inux图形开发基础二、嵌入式1inIIX图形用户界面简介四、课程各教学环节要求(一)作业根据课程学习需要,安排适当课外作业。
ARM架构详解

ARM内核全解析,从ARM7,ARM9到Cortex-A7,A8,A9,A12,A15到Cortex-A53,A57前不久ARM正式宣布推出新款ARMv8架构的Cortex-A50处理器系列产品,以此来扩大ARM在高性能与低功耗领域的领先地位,进一步抢占移动终端市场份额。
Cortex-A50是继Cortex-A15之后的又一重量级产品,将会直接影响到主流PC市场的占有率。
围绕该话题,我们今天不妨总结一下近几年来手机端较为主流的ARM处理器。
以由高到低的方式来看,ARM处理器大体上可以排序为:Cortex-A57处理器、Cortex-A53处理器、Cortex-A15处理器、Cortex-A12处理器、Cortex-A9处理器、Cortex-A8处理器、Cortex-A7处理器、Cortex-A5处理器、ARM11处理器、ARM9处理器、ARM7处理器,再往低的部分手机产品中基本已经不再使用,这里就不再介绍。
ARM 处理器架构发展● Cortex-A57、A53处理器Cortex-A53、Cortex-A57两款处理器属于Cortex-A50系列,首次采用64位ARMv8架构,意义重大,这也是ARM最近刚刚发布的两款产品。
Cortex-A57是ARM最先进、性能最高的应用处理器,号称可在同样的功耗水平下达到当今顶级智能手机性能的三倍;而Cortex-A53是世界上能效最高、面积最小的64位处理器,同等性能下能效是当今高端智能手机的三倍。
这两款处理器还可整合为ARM big.LITTLE(大小核心伴侣)处理器架构,根据运算需求在两者间进行切换,以结合高性能与高功耗效率的特点,两个处理器是独立运作的。
应用案例:预计于2014年推出。
● Cortex-A15处理器架构解析ARM Cortex-A15处理器隶属于Cortex-A系列,基于ARMv7-A架构,是业界迄今为止性能最高且可授予许可的处理器。
Cortex-A15 MPCore处理器具有无序超标量管道,带有紧密耦合的低延迟2级高速缓存,该高速缓存的大小最高可达4MB。
ARM架构

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、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2. V2版架构
– – –
已废弃不再使用
支持乘法和乘加指令
支持协处理器操作指令 支持基本的存储器与寄存器交换指令SWP/SWPB
–
支持快速中断模式
3. V3版架构
) 快速中断模式具有两个以上的分组寄存器 增加状态寄存器CPSR/SPSR,及从异常处理返回的MSR/MRS指令, 便于异常的处理 增加了中止和未定义两种处理器模式
第七章 ARM微处理器编程模型
参考:1) 《ARM体系结构与编程》,杜春雷 2) ARM公司官方网站 7.1 ARM 内核体系结构(了解)
体系结构版本 ARM 内核简介
ARM
7.2 ARM 编程模型(理解)
处理器工作状态 处理器运行模式 寄存器组织 数据类型和储存格式 异常
ARM处理器(核)比较
项目 流水线 典型频率 MHz ARM7 3 80 0.06 ARM9 5 150 ARM10 6 260 ARM11 8 335
功耗 mW/MHz
性能 MIPS/MHz 架构
0.19 0.5 0.4 (+cache) (+cache) (+cache) 1.1
哈佛
0.97
冯诺伊曼
ARM体系结构的版本
ARM架构自诞生至今已发展并定义了V1 到V7七种不同的版本。
1.V1版架构
– – – – –
2015-2-28
只在原型机ARM1中出现过
支持基本的数据处理指令(无乘法) 支持字节、半字和字的LOAD/STORE指令
支持转移指令,包括子程序调用及链接指令
支持软件中断指令SWI 寻址空间位64MB(26位)
ARM9
2015-2-28
ARM926EJ-S:Jazelle 技术,有 ARM9E是针对微控制器、DSP和Java的单 MMU,可配置的数据和指令 处理器解决方案; Cache,TCM接口; ARM Jazelle 技术提供 8倍的 Java 加速性 ARM946E-S:可配置的数据和指 能 (ARM926EJ-S) ; 令Cache及TCM; 5-级整数流水线; ARM966E-S:针对要求高性能和 在0.13µ m工艺下最高性能可达到300MIPS 低功耗的可预测的指令执行时间的 (Dhrystone 2.1测试标准); 硬实时应用设计 可选择的 向量浮点单元VFP9 协处理器指令 ARM968E-S:最小、功耗最小 优秀海浮点性能,对于3D图形加速和实时控 的 ARM9E系列处理器,针对嵌入 制可达到 215MFLOPS。 式实时应用设计; 高性能的AHB总线,带MMU 可在0.18µ m, 0.15µ m, 0.13µ m工艺的硅芯 片上实现。 ARM10E ARM1020E:带DSP指令集,在 带分支预测的6级整数流水线; 片调试功能,独立的32KB数据和 在0.13µ m工艺下最高性能可达到430MIPS 指令Cache,MMU支持; (Dhrystone 2.1测试标准); ARM1022E:与ARM1020E相同,对于3D图形运算和实时控制采用VFP协处理 只是独立的数据和指令Cache变为 器,浮点运算性能最高可达650MFLOPS; 16KB; 双64位AMBA总线接口和64位内部总路线接 ARM1026EJ-S:同时具有MPU和 口; MMU,可综合版本; 优化的缓存结构提高了处理器访问低速存储 器的性能; 可在0.18µ m, 0.15µ m, 0.13µ m工艺的硅芯 片上实现
ARM9E
ARM11
ARM11 MPCore:可综合 的多处理器核,1至4个处理 器可配置; ARM1136J(F)-S:可配置 的数据和指令Cache,可提 供1.9位的MPEG4编码加速 功能; ARM1156T2(F)-S:带集成 浮点协处理器,带内存保护 单元MPU ; ARM1176JZ(F)-S:带针对 CPU和系统安全架构扩展的 TrustZone技术。
–
2015-2-28
6/94
4. V4版架构
– –
目前应用最广的ARM体系结构,ARM7、 ARM8、ARM9和StrongARM都采用该版架构
增加了有/无符号的半字和有符号字节的Load/Store指令 增加了16位Thumb指令集 完善了软件中断SWI指令的功能 增加了处理器的特权模式 ARM10和XScale都采用该版架构 改进了ARM/Thumb状态之间的切换效率; E-增强DSP指令集,包括全部算法操作和16位乘法操作; J-支持新的JAVA,提供字节代码执行的加速功能 增加了带有链接和交换指令BLX 增加了计数前导零指令CLZ 增加了软件断点指令 为协处理器增加更多可选择的指令
④ 采用固定长度的指令格式,简化了指令的译码,便于指令流水线设计
⑤ RISC简单的结构使ARM内核非常小、功耗低、成本低 2. ① ② ③ ④ ⑤ ARM体系特别技术: 在同一条数据处理指令中包含算术逻辑单元和移位处理 支持Thumb(16 位)/ARM(32 位)双指令集,能很好的兼容16 位器件 使用地址自动增加(减少)来优化程序中的循环处理 Load/Store指令可以批量传输数据,从而提高数据传输的效率 所有指令的条件执行实现最快速的代码执行 4/94
片内外设在硬件设计上只允许(或 这五种模式称为异常模式。它们 者可选为只允许)特权模式下访问。 系统复位和软件中断响应时进 除了可以通过程序切换进入外,也可 管理 (svc) 操作系统保护模式 此外,特权模式可以自由的切换处 管理(svc) 入此模式 以由特定的异常进入。每种异常模式 理器模式,而用户模式不能直接切 用于支持虚拟内存 都有一些独立的寄存器,以避免异常 换到别的模式。 中止 (abt) 在ARM7TDMI没有大用处 中止(abt) 和退出时用户模式的状态不可靠。 /或存储器保护
16/94
BX
R0
;从Thumb状态切换到ARM状态 LDR BX
2015-2-28
R0,=Label R0
ARM处理器的运行模式(支持异常处理)
处理器模式 说明 备注 这两种模式都不能由异常进入,而且它们 使用完全相同的寄存器组。 用户(usr) 不能直接切换到其它模式 用户 (usr) 正常程序执行模式 系统模式是特权模式,操作系统在该模式 运行操作系统的特 与用户模式类似,但具有可以 下访问用户模式的寄存器就比较方便,而且操 系统 (sys) 系统(sys) 权任务 直接切换到其它模式等特权 作系统的一些特权任务可以使用这个模式访问 除用户模式外,其它模式均为 支持高速数据传输 快中断 (fiq) 一些受控的资源。 FIQ 异常响应时进入此模式 快中断(fiq) 特权模式。 ARM 内部寄存器和一些 及通道处理
1.3
哈佛
1.2
哈佛
ARM处理器内核流水线工作流程
ARM处理器的工作状态
1. ARM状态 : 执行32位(字方式)的ARM指令 2. Thumb状态: 执行16位(半字方式)的Thumb指令 3. Jazelle状态: 执行可变长的、以字节为单位的
Jazelle(Java)指令
注意:
1. 处理器复位后处于ARM状态; 2. 处理器异常处理时进入ARM状态(即中断服务子程 序处于ARM状态); 3. 若处理器在Thumb状态进入异常,则异常返回仍然 自动转换到Thumb状态; 4. 状态切换不影响工作模式及寄存器内容。
到目前为止,基于ARM技术的微处理器应用约占据了 32位嵌入式微处理器75%以上的市场份额; 全球80%的GSM/3G手机、99%的CDMA手机以及绝大 多数PDA产品均采用ARM体系的嵌入式处理器,“掌 上计算”相关的领域主要使用ARM技术; 参考常用术语
3/94
ARM体系结构的特点
1. 具有RISC技术特点: ① 具有大量的寄存器 ② 绝大多数操作都在寄存器中进行,通过Load/Store(装载/保存)的体系结构在内 存和寄存器之间传递数据 ③ 寻址方式灵活简单
SecurCo SC100:第一个32位安全处 SecurCore是专门为智能卡、安全IC re 理器;、SC110:在SC100 提供的32位安全处理器, 为电子商务、
上增加密钥协处理器; SC200:带Jazelle技术的 高级安全处理器; SC210:在SC200上增加密 钥协处理器
银行、网络、移动多媒体、公共交通提 供安全解决方案; 体积小、功耗低,代码压缩密度高; 为快速增长的Java卡平台提供Java 加速功能;
2015-2-28
8/94
ARM处理器(核)命名规则
ARM {x} {y} {z} {T} {D} {M} {I} {E} {J} {F} {-S}
x——系列号(最小为7) y——存储管理/保护单元 2:带MMU 4:带MPU 6:无MMU和MPU
z——Cache
T——Thumb指令集 D——JTAG调试器 M——快速乘法器 I——嵌入式跟踪宏单元 E——增强DSP指令 J——Jazelle技术 F——向量浮点单元 S——可综合的内核
将技术授权给 其它芯片厂商
ARM(Advanced RISC Machines)公司设计了大量 高性能、廉价、耗能低的 RISC (精简指令集)处理器; ARM公司的特点是只 设计而不生产,也不销售 。它将技术授权给世界上 许多著名的半导体、软件 和OEM厂商,并提供服务 。
加入ROM、 RAM和外部 接口形成各 具特色的 ARM芯片
0:标准cache 2:小cache 6:可变cache
ARM7TDMI-S ARM926EJ-S ARM966ES ARM1022E
9/94
MMU:Memory Management Unit, MPU:Memory Protection Unit
ARM处理器(核)简介
ARM系 列 ARM7 微处理器核 ARM7TDMI:整数处理核 ARM7TDMI 处理器的可 综合版本; ARM720T:带MMU的处理 器核心,支持操作系统; ARM7EJ-S:带有DSP和 Jazelle TM 技术,能够实现 Java加速功能 ARM920T:带有独立的 16KB 数据和指令Cache; ARM922T:带有独立的8位 KB 数据和指令Cache; ARM940T–包括更小数据和 指令Cache和一个MPU 特点 冯诺伊曼体系结构; ARMTDMI是目前应用最广的微处理 器核 ARM720T带有MMU和8KB的指令数 据混合cache; ARM7EJ-执行ARMv5TEJ指令,5级 流水线,提供Java加速指令,没有存 储器保护。 基于ARM9TDMI ,带16位的Thumb 指令集,增强代码密度最多到35%; 在0.13µ m工艺下最高性能可达到 300MIPS(Dhrystone 2.1测试标准); 集成了数据和指令Chche; 32位AMBA总线接口的MMU支持; 可在0.18µ m、 0.15µ m和0.13µ m工艺的 硅芯片上实现。 10/94