第二章ARM微处理器及其硬件体系结构概要
第二章 ARM9体系结构ppt课件

ARM9E-S ARM10TDMI,ARM1020E ARM11,ARM1156T2-S,ARM1156T2F-S, ARM1176JZ-S,ARM11JZF-S
.
2.1.1 ARM公司简介
ARM公司是知识产权IP ( Intellectual Property ) 公司,本身不生产芯片,只转让设计许可,由合 作伙伴公司来生产各具特色的芯片。
目前,全世界有几十家著名的半导体公司都使用 ARM公司的授权,其中包括Intel、IBM、 MOTOROLA、SONY、NEC、LG 、 ATMEL 等, 从而保证了大量的开发工具和丰富的第三方资源, 它们共同保证了基于ARM处理器核的设计可以很 快投入市场。
灵活方便的协处理器接口
ARM体系结构具有协处理器接口,允许接16 个协处理器。既可以使基本的ARM处理器内核尽 可能小,方便地扩充ARM指令集,也可以通过未 定义指令来支持协处理器的软件仿真。
低电压功耗的设计
考虑到ARM处理器主要用于手持式嵌入式系 统中,在设计中. 就十分注意功耗的设计。
2.1.3 ARM指令系统版本
难以优化编译成高效目标 代码
能优化编译成高效目标代码
.
2.1.2 ARM体系结构的特点
多种处理器模式 ARM体系结构定义了7种处理器模式:用户、 快 中断、中断、管理、终止、未定义和系统模式, 大大提高了ARM处理器的效率。
两种处理器工作状态 ARM状态(32位指令)和Thumb状态(16位指
令) 。 虽然ARM处理器本身是32位设计,但考虑到
第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系列处理器应用技术完全手册》第02章

华清远见——嵌入式培训专家“黑色经典”系列之《ARM 系列处理器应用技术完全手册》第2章ARM 体系结构华清远见<ARM 开发培训班>培训教材华清远见——嵌入式培训专家2.1 ARM 体系结构的特点ARM 内核采用精简指令集结构(RISC,Reduced Instruction Set Computer)体系结构。
RISC 技术产生于上世纪 70 年代。
其目标是设计出一套能在高时钟频率下单周期执行、简单 而有效的指令集, RISC 的设计重点在于降低硬件执行指令的复杂度, 这是因为软件比硬件容 易提供更大的灵活性和更高的智能。
与其相对的传统复杂指令级计算机(CISC)则更侧重于 硬件执行指令的功能性,使 CISC 指令变得更复杂。
RISC 的设计思想主要有以下特性。
• Load/Store 体系结构。
Load/Store 体系结构也称为寄存器/寄存器体系结构或者 RR 系统结构。
在这类机器中, 操作数和运算结果不是通过主存储器直接取回而是借用大量标量和矢量寄存器来取回的。
与 RR 体系结构相反,还有一种存储器/存储器体系结构,在这种体系结构中,源操作数的中间 值和最后的运算结果是直接从主存储器中取回的。
这类机器的缩写符号是 SS 体系结构。
• 固定长度指令。
固定长度指令使得机器译码变得比较容易。
由于指令简单,需要更多的指令来完成相同 的工作, 但是随着存储器存取速度的提高, 处理器可以更快地执行较大代码段 (即大量指令) 。
• 硬联控制。
RISC 机以硬联控制指令为特点,而 CISC 的微代码指令则相反。
使用 CISC(常常是可 变长度的)指令集时处理器的语义效率最大,而简单指令往往容易被机器翻译。
像 CISC 那 样通过执行较少指令来完成工作未必省时,因为还要包括微代码译码所需要的时间。
因此, 由硬件实现指令在执行时间方面提供了更好的平衡。
除此之外,还节省了芯片上用于存储微 代码的空间并且消除了翻译微代码所需的时间。
第2章 ARM技术概述

2.1 ARM体系结构及技术特征
将技术授权给 其它芯片厂商
...
形成各具特色 的ARM芯片
2.1.1 ARM的发展的历程
第一片ARM处理器是1983年10月到1985年4月间在位 于英国剑桥的Acorn Computer公司开发 。 1990年,为广泛推广ARM技术而成立了独立的公司 : Advanced RISC Machine,由苹果电脑、Acorn电脑 集团和VLSI Technology合资组建。 20世纪90年代, ARM快速进入世界市场并在高性能、 低功耗和低价格的嵌入式应用领域中占据领先地位。 让业内人士认识到英国的电子公司以及chipless、 fabless模式。
PC-8
取指
译码 ARM7的3级流水线
执行
1.7 ARM发展总结
ARM核系列
ARM1
体系结构
V1
ARM2
ARM2aS,ARM3
V2
V2a
ARM6,ARM600,ARM610
ARM7,ARM700,ARM710 ARM7TDMI,ARM710T,ARM720T ARM740T Strong ARM,ARM8,ARM810 ARM9TDMI,ARM920T,ARM940T ARM9E-S ARM10TDMI,ARM1020E ARM11,ARM1156T2-S,ARM1156T2F-S,ARM1176JZ-S, ARM11JZF-S
2.1.1 ARM的发展的历程
最近10多年来ARM技术的突出成果表现在: 使用“Thumb”的新型压缩指令格式,使得应用系 统开发的系统成本和功耗大为降低; ARM9、ARM10、Strong-ARM和ARM11等系列处 理器的开发,显著地提高了ARM的性能,使得ARM 技术在面向高端数字音、视频处理等多媒体产品的 应用中更加广泛; 提供了更好的软件开发和调试环境,加快用户产品 开发; 更为广泛的产业联盟使得基于ARM的嵌入式应用领 域更加广阔。
嵌入式系统应用考点总结(中国矿业大学徐海学院信息10

中国矿业大学徐海学院信息10-1 邹柯 22100804第一章嵌入式系统概述嵌入式系统--综合描述❖是现代科学多学科互相融合的以应用技术产品为核心,以计算机技术为基础,以通信技术为载体,以消费类产品为对象,引入各类传感器,进入Internet网络技术的连接,从而适应应用环境的产品。
❖无多余软件,软件以固化态出现,硬件亦无多余存储器,可靠性高,成本低,体积小,功耗少,包含于各种不同类型的设备。
❖技术密集,投资强度大,高度分散,不断创新的知识密集型系统。
反映当代最新技术的先进水平。
嵌入式系统定义❖IEEE(国际电气和电子工程师协会)给出的定义:嵌入式系统是用于控制、监视或者辅助装置、机器或者设备运行的装置。
➢通常执行特定功能➢以微电脑和外围构成核心➢严格的时序和稳定性要求此定义是从应用上考虑的,嵌入式系统是软件和硬件的综合体,还可以涵盖机电等附属装置。
❖从技术的角度定义:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。
(国内普遍被认同的定义) ❖从系统的角度定义:嵌入式系统是设计完成复杂功能的硬件和软件,并使其紧密耦合在一起的计算机系统。
术语嵌入式反映了这些系统通常是更大系统中的一个完整的部分,称为嵌入的系统。
嵌入的系统中可以共存多个嵌入式系统。
广义与狭义的嵌入式系统❖“嵌入式系统”是指操作系统和功能软件集成于计算机硬件系统;❖广义上讲,凡是带有微处理器的专用软硬件系统都可称为嵌入式系统➢如各类单片机和DSP系统。
这些系统在完成较为单一的专业功能时具有简洁高效的特点➢但由于他们没有操作系统,管理系统硬件和软件的能力有限,在实现复杂多任务功能时,往往困难重重,甚至无法实现❖狭义上讲,我们更加强调那些使用嵌入式微处理器构成独立系统,具有操作系统,具有特定功能,用于特定场合的嵌入式系统国内普遍被认同的定义:•嵌入式系统是以应用为中心,以计算机技术为基础,软、硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。
ARM体系结构

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种又称为异常模式, 常用于处理中断或异常,以及访问受保护的系统资源等情 况。
第2章 ARM微处理器概述

工业控制领域:
作为32位 的RISC 架构,基于ARM 核的微控制器芯片不
但占据了高端微控制器市场的大部分市场份额,同时也 逐渐向低端微控制器应用领域扩展,ARM 微控制器的低 功耗、高性价比,向传统的8 位/16 位微控制器提出了挑 战。
无线通讯领域:
目前已有超过85%的无线通讯设备采用了ARM 技术,
ARM体系结构的变种
(4)J变种(Java加速器Jazelle)
ARM的Jazelle技术将Java的优势和先进的32位RISC芯
片完美地结合在一起。Jazelle技术提供了Java加速功能, 可以得到比普通Java虚拟机高得多的性能。与普通的 Java虚拟机相比,Jazelle使Java代码运行速度提高了8 倍,而功耗降低了80%。 Jazelle技术使得程序员可以在一个独立的处理器上同时 运行Java应用程序、已经建立好的操作系统、中间件以 及其他的应用程序。与使用协处理器和双处理器相比, 使用单独的处理器可以在提供高性能的同时保证低功耗 和低成本。 J变种首先在ARM体系版本4TEJ中使用,用字母J表示。
使用电池供电的高性能的便携式设备。这些 设备一方面需要处理器提供高性能,另一方 面又需要功耗很低。SIMD功能扩展为包括音 频/视频处理在内的应用相同提供了优化功能。 它可以使音频/视频处理性能提高4倍。 Version 6首先在2002年春季发布的ARM11 处理器中使用。
2.2.3 ARM体系结构的变种及版本 命名格式
Version 4(v4)
该版本增加了下列指令:
半字加载和存储指令; 加载带符号的字节和半字数据的指令; 增加mb状态; 增加了处理器的特权模式。 该版本不再强制要求与以前的26位地址空间 兼容。
第二章ARM微处理器及其硬件体系结构概要

spsr
Note: System模式使用user模式寄存器集
Abort
User mode r0-r12 r15, and cpsr
r13(sp) r14(lr)
spsr
Thumb state Low registers
Thumb state High registers
ARM 寄存器名称
ARM 有37个32-Bits长的寄存器. 1 个用作PC( program counter)(r15) 1个用作CPSR(current program status register) 5个用作SPSR(saved program status registers) 30 个通用寄存器
执行2
数据
10、高速缓存(CACHE)
高 数据
速
缓
CACHE
CPU
存
主存
控
制
地址
器
数据
1、为什么采用高速缓存
微处理器的时钟频率比内存速度提高快得多,高速缓存可以 提高内存的平均性能。
2、高速缓存的工作原理
高速缓存是一种小型、快速的存储器,它保存部分主存内容 的拷贝。
11、总线和总线桥
CPU
高速总线
3、ARM 寄存器(37)
2
30 个通用32位寄存器,1 个程序计数器PC 6 个状态寄存器 15 个通用寄存器 (R0-R14), 1或者2个状态寄存器和程序计数器在任何时候都中可见的
当前可见寄存器
Abort Mode
r0 r1
r2
r3
r4
r5
r6
r7
r8
r9
r10
r11
r12
r13(sp)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
高 数据
速
缓
CACHE
CPU
存
主存
控
制
地址
器
数据
1、为什么采用高速缓存
微处理器的时钟频率比内存速度提高快得多,高速缓存可以提 高内存的平均性能。
2、高速缓存的工作原理
高速缓存是一种小型、快速的存储器,它保存部分主存内容 的拷贝。
9
11、总线和总线桥
CPU
高速总线
低速设备
低速总线
桥
存储器
高速设备
数据
E – 执行
该例中用6个时钟周期执行了6条指令 所有的操作都在寄存器中(单周期执行) 指令周期数 (CPI) = 1
7
9、超标量执行
超标量CPU采用多条流水线结构
指令CACHE
预取
流 译码1 水 译码2 线 执行1 1
执行2
预取
流 译码1 水 译码2 线 执行1 2
执行2
数据
8
10、高速缓存(CACHE)
V3版本推出32位寻址能力,结构扩展变化为 T—16位压缩指令集 M—增强型乘法器,产生全64位结果(32X3264or32X32+64 64)
V4版本增加了半字load和store指令 V5版本改进了ARM和Thumb之间的交互,结构扩展变化为:
E---增强型DSP指令集,包括全部算法操作和16位乘法操作 J----支持新的JAVA,提供字节代码执行的硬件和优化软件加 速功能
19
1.3 ARM 架构
1、数据和指令类型
ARM 采用的是32位架构. ARM 约定:
▪Byte : 8 bits ▪Halfword :16 bits (2 byte) ▪Word : 32 bits (4 byte)
大部分ARM core 提供: ▪ARM 指令集(32-bit) ▪Thumb 指令集(16-bit )
12
2、ARM7TDMI 外部接口
时钟 中断
ARM7TDMI 内核
数据总线 地址总线
控制
存储器接口
复位 协处理器接口
13
3、ARM7TDMI 方框图
控制信号
地址总线
ARM7TDM 内核
数据总线
BUS
Splitter
A[31:0] DOUT[31:0] DIN[31:0] D[31:0]
TAP 控制器
2
3、哈佛体系结构
地址
指令寄存器
控制器
指令
数据通道
输入
输出
中央处理器
地址 数据
程序存储器
指令0 指令1 指令2
数据存储器
数据0 数据1 数据2
3
4、哈佛体系结构的特点 1)程序存储器与数据存储器分开 2)提供了较大的数存储器带宽 3)适合于数字信号处理 4)大多数DSP都是哈佛结构 5)ARM9是哈佛结构
第二章ARM微处理器及其硬件体系结构
1.1 硬件基础
1、冯·诺依曼体系结构模型
指令寄存器 控制器
数据通道
输入
输出
中央处理器
存储器
程序
指令0 指令1 指令2 指令3 指令4
数据
数据0 数据1 数据2
1
2、冯·诺依曼体系的特 点 1)数据与指令都存储在存储器中 2)被大多数计算机所采用 3)ARM7——冯诺依曼体系
5
7、流水线技术: 几个指令可以并行执行 提高了CPU的运行效率 内部信息流要求通畅流动
为增加处理器指令流的速度,ARM7 系列使用3级流水线. 允许多个操作同时处理,而非顺序执行。
ARM Thumb PC PC
Fetch
从存储器中读取指令
PC - 4 PC-2
Decode
解码指令中用到的寄存器
PC - 8 PC - 4
高速设备
10
12、存储器系统
RAM:随机存取存储器 SRAM:静态随机存储器 DRAM:动态随机存储器
1)SRAM比DRAM快 2)SRAM比DRAM耗电多 3)DRAM存储密度比SRAM高得多 4)DRAM需要周期性刷新 ROM:只读存储器 FLASH:闪存
CS R/W Addr Data
CS R/W RAS CAS Addr Data
Embedded
ICE 逻辑
JTAG 接口
14
4、ARM7TDMI 内核
地址自增器
B
寄存器 Bank
乘法器
PC
A
地址寄存器
Vectors
指令解码
写数据 寄存器
读数据 寄存器
D[31:0]
桶 移位器
ALU
ALU
15
5、外部地址产生
PC[31:2] ARM State PC[31:1] Thumb State
Execute
寄存器读(从寄存器Bank) 移位及ALU操作 寄存器写(到寄存器Bank )
PC指向正被取指的指令,而非正在执行的指令 6
8、最佳流水线
Cycle Operation ADD SUB ORR AND ORR EOR
Hale Waihona Puke 123456789FDE
FDE
FDEM
FDE
FDE
FDE
W
F – 取指 D – 解码
4
5、CISC:复杂指令集(Complex Instruction Set Computer) ▪具有大量的指令和寻址方式 ▪8/2原则:80%的程序只使用20%的指令 ▪大多数程序只使用少量的指令就能够运行。 6、RISC:精简指令集(Reduced Instruction Set Computer) ▪在通道中只包含最有用的指令 ▪确保数据通道快速执行每一条指令 ▪使CPU硬件结构设计变得更为简单
17
7、ARM7EJ-S
ARM7EJ-S 是可综合的内核版本: ARM体系结构 V5TEJ Jazelle Java 加速技术 增强的DSP 指令系统 5级流水线 高性能乘法器 实时调试EmbeddedICE-RT ETM 接口 向后兼容其它 ARM7内核 兼容 V5TE 体系
18
ARM体系结构版本 - 2
SRAM DRAM
11
1.2 ARM7处理器内核
1、ARM7TDMI处理器 ARM7TDMI 特性
3 级流水线 冯.诺依曼架构 CPI(Cycle Per Instruction) 约为1.9 T-Thumb 架构扩展, 提供两个独立指令集:
ARM 指令,均为 32位 Thumb指令,均为 16位 两种运行状态,用来选择哪个指令集被 执行 D - 内核具有Debug扩展结构 M – 增强乘法器 (32x8) 支持64位结果. I - EmbeddedICE 逻辑
ALU[31:0]
0x1C 向量
0x00 INC
自增器
地址 寄存器
A[31:0]
16
6、ARM7TDMI-S
ARM7TDMI-S 是ARM7TDMI 的完全可合 成 版本 指令集和周期与ARM7TDMI 固化版本兼容
完全可合成的 RTL 使用了纲要设计构件的组件 ALU 寄存器bank
单周期设计(上升沿)单一总线接口