第三章_ARM9体系结构
第3章 ARM9汇编指令系统

第三章
例如
例如: LDR R8,[R10] ;R8←[R10] LDRNE R2,[R5,#960]! ;( 有 条 件 地 ) R2←[R5+960],R5←R5+960 LDR R0,localdata ;加载一个字到R0寄存 器,该字存 于localdata所指地址处 STR R5,[R7],#-8! ;R5→[R7],R7←R7-8 STRB R0,[R3,-R8 ASR #2] ;R0→[R3-R8/4], 存储R0的最低有效字节,R3和R8不变
其中:type 必须是下面所列的形式之一: SH 带符号半字(仅对LDR); H 无符号半字; SB 带符号字节(仅对LDR)。 label 程序相对偏移表达式。偏移量必须是在 当前指令的上下255字节范围内。 offset 加在Rn上的偏移量。其形式是下列两种 之一: ① #expr 是取值范围为-255~+255的整数, 经常是常量或常量表达式。 ② {-} Rm Rm是内含偏移量的寄存器,它不 能是R15。
第三章
存储器访问指令(续)
(3)LDR和STR ----双字:加载/存储两个相邻 的寄存器,64位双字。其句法有4种:
Op {cond} D Rd,[Rn] 零偏移 Op {cond} D Rd,[Rn,offset] {!} 前索引偏移 Op {cond} D Rd,label 程序相对偏移 Op {cond} D {T} Rd,[Rn],offset 后索引偏移
第三章
存储器访问指令(续)
(1) SWP:在寄存器和存储器之间 进行数据交换,其句法是: SWP {cond} {B} Rd,Rm,[Rn] 其中:B是可选后缀,若有B,则交换字 节,否则交换字。该指令作用是数据从 存储器加裁到Rd中,Rm中的内容存储 到存储器,需交换数据存储单元的首地 址在Rn中。在此,Rd和Rm可以相同, 但Rn必须与Rd、Rm不同。
arm9处理器的内部寄存器结构

arm9处理器的内部寄存器结构
ARM9处理器是一种32位的嵌入式处理器,内部包含了多种寄存器,这些寄存器扮演着不同的角色,用于存储不同类型的数据和指令,从而实现处理器的各种功能。
ARM9处理器的内部寄存器结构主要包括:
1.通用寄存器:ARM9处理器有16个32位的通用寄存器,这些寄存器不仅可以用于存储数据,还可以用于存储指令中的操作数。
通用寄存器还可以用于存储函数的参数和返回值。
2.程序计数器(PC):程序计数器是一个32位的寄存器,用于存储当前正在执行的指令的地址。
当处理器执行完一条指令后,PC会自动递增,指向下一条指令的地址。
3.状态寄存器:状态寄存器用于存储处理器的当前状态。
例如,它可以用于存储处理器的运行模式,或者存储处理器的条件码。
4.堆栈指针(SP):堆栈指针用于指向当前的堆栈顶部。
当处理器需要执行函数调用或其他需要使用堆栈的指令时,它会将数据压入堆栈中,并将堆栈指针减小。
当函数返回时,处理器会将数据从堆栈中弹出,并将堆栈指针增加。
5.链接寄存器(LR):链接寄存器用于存储函数调用的返回地址。
当函数被调用时,处理器将当前指令的地址存储在LR中。
当函数执行完毕后,处理器会将LR中的地址作为返回地址,跳转回调用函数的地方。
6.中断寄存器:中断寄存器用于存储当前中断的状态。
当处理器
接收到一个中断时,它会将当前的状态保存在中断寄存器中,并跳转到中断处理程序的地址。
总之,ARM9处理器的内部寄存器结构是非常复杂的,不同类型的寄存器扮演着不同的角色。
通过合理地利用这些寄存器,程序员可以实现各种复杂的嵌入式应用。
嵌入式系统习题查根龙

嵌入式系统温习第一章嵌入式系统基础一、嵌入式系统的概念?二、嵌入式系统的组成?3、嵌入式系统的特点?4、嵌入式系统的应用?五、嵌入式处置器的分类,常见的嵌入式处置器有哪些?六、什么是嵌入式操作系统?嵌入式操作系统有哪些类型?7、什么是实时操作系统?实时操作系统的组成和特点。
它有哪些特征?八、常见的嵌入式操作系统有哪些?九、实时操作系统常常利用的任务调试算法有哪几种?10、用什么方式解决优先级反转问题?1一、单片机是不是嵌入式系统?它与ARM嵌入式系统有何异同?1二、嵌入式系统与通用运算机之间的区别。
第二章嵌入式系统开发流程一、嵌入式系统开发进程分为哪几个阶段?每一个阶段的特点是什么?二、嵌入式软件开发流程。
3、嵌入式系统有哪几种调试方式?此刻最流行的是哪一种?利用什么接口?4、什么是板级支持包?它一般应完成哪些工作?第三章ARM的体系结构一、ARM的英文命名是什么?AMR处置器有人材特点?二、运算机中的两种典型体系结构是什么,各自的特点是什么?3、试比较RISC体系结构和CISC体系结构的特点。
4、ARM支持哪些数据类型?五、ARM处置器支持的数据类型有哪些?六、画出别离采用小端格式和大端格式寄存0x的存储器示用意。
设存储器的初始地址为0x4000。
7、在ARM处置器的存储空间中,有一段存储空间中存储的数据如下所示:①假设,存储空间中的数据是以大端存储的,那么地址0x8000中存储的一个字是什么?地址0x8000中存储的一个半字是什么?地址0x8003中存储的一个字节是什么?②若是,存储空间中的数据是小端存储的,上述问题的答案别离是什么?八、在ARM处置器的存储空间中,有一段存储空间中存储的数据如下所示:假设,存储空间中的数据是以小端存储的,R0中的值为0x8000。
回答以下问题:①执行完LDR R1,[R0]后,R1的值是多少?②执行完LDR R1,[R0],#4后,R1的值是多少?③执行完LDR R1,[R0,#2]后,R1的值是多少?④执行完LDMIA R0,{R1-R4}后,R0中的值如何转变?⑤执行完LDR R0,[R1,R2,LSL #3]后,R1的值如何转变?九、ARM处置器一共有几种中工作模式,别离是?那种模式下,专业寄放器最多。
ARM9寻址方式及指令集介绍

ARM9寻址方式及指令集介绍ARM9是一种32位精简指令集计算机(RISC)架构的微处理器。
在本文中,我们将介绍ARM9寻址方式和指令集的基本特点。
直接寻址是最简单的寻址方式,寻址单元根据操作码中给出的直接地址来访问内存。
例如,LDR指令将数据从内存中的特定地址加载到寄存器中。
直接寻址在寻址范围上有限制,因为地址是直接编码在指令中的。
间接寻址是通过一个保存数据的寄存器的地址来访问内存。
寄存器中的地址表示需要访问数据的内存地址。
例如,LDR指令可以使用R0寄存器中的地址来获取数据。
间接寻址使得程序可以动态地计算内存地址,提高了灵活性。
相对寻址是通过相对于当前指令地址的偏移量来访问内存。
偏移量在指令的操作码中给出,并且通常是一个8位或12位的整数。
相对寻址使得程序可以方便地访问位于当前指令之前或之后的内存位置。
基址寻址是通过一个基址寄存器和一个偏移量来访问内存,其中基址寄存器存储了起始地址,偏移量存储了与起始地址的相对位置。
例如,LDR指令可以使用R0寄存器作为基址寄存器,并使用R1作为偏移量。
基址寻址适用于访问数组或数据结构等连续的内存块。
核心寄存器寻址是指通过核心寄存器的内容来访问内存。
在ARM9架构中,核心寄存器包括程序计数器、堆栈指针和链接寄存器等。
这些寄存器具有特殊的寻址方式,允许对于特定的功能进行优化。
ARM9的指令集包括数据处理指令、分支和跳转指令、访存指令和特权指令等。
数据处理指令是最常用的指令类型,用于完成算术和逻辑操作。
例如,ADD指令将两个操作数相加,并将结果存储在目的寄存器中。
分支和跳转指令用于控制程序的流程。
例如,B指令可以根据条件跳转到指定的地址上。
访存指令用于读写内存和I/O端口。
例如,LDR指令可以将数据从内存加载到寄存器中,STR指令可以将寄存器中的数据存储到内存地址中。
特权指令用于进行特权级别的操作,例如,访问系统寄存器或控制外设。
这些指令一般只能由操作系统或系统软件使用。
ARM体系架构解析ppt课件

2)提供了较大的存储器带宽,各自有自己的
总线。
3)适合于数字信号处理.
4)大多数DSP都是哈佛结构.
5)ARM9是哈佛结构
6)取指和取数在同一周期进行,提高速度,
改进哈佛体系结构分成三个存储区:程序、数据、
程序和数据共用。
经营者提供商品或者服务有欺诈行为 的,应 当按照 消费者 的要求 增加赔 偿其受 到的损 失,增 加赔偿 的金额 为消费 者购买 商品的 价款或 接受服 务的费 用
6)将结果回写到寄存器组(res)
经营者提供商品或者服务有欺诈行为 的,应 当按照 消费者 的要求 增加赔 偿其受 到的损 失,增 加赔偿 的金额 为消费 者购买 商品的 价款或 接受服 务的费 用
流水线技术
❖
三级流水线技术
经营者提供商品或者服务有欺诈行为 的,应 当按照 消费者 的要求 增加赔 偿其受 到的损 失,增 加赔偿 的金额 为消费 者购买 商品的 价款或 接受服 务的费 用
因此,把它称为流水线工作方式。
处理器按照一系列步骤来执行每一条指令。典
型的步骤为:
1)从存储器读取指令(fetch)
2)译码以鉴别它是哪一类指令(dec)
3)从寄存器组取得所需的操作数(reg)
4)将操作数进行组合以得到结果或存储器地址(exe)
5)如果需要,则访问存储器存取数据(mem)
冯·诺依曼体系的特点
1)数据与指令都存储在同一存储区中,取指
令与取数据利用同一数据总线。
❖ 2)被早期大多数计算机所采用
❖ 3)ARM7——冯诺依曼体系
❖
结构简单,但速度较慢。取指不能同时取数据
经营者提供商品或者服务有欺诈行为 的,应 当按照 消费者 的要求 增加赔 偿其受 到的损 失,增 加赔偿 的金额 为消费 者购买 商品的 价款或 接受服 务的费 用
ARM体系结构与编程

ARM体系结构与编程
一、ARM体系结构
ARM(Advanced RISC Machine)是由英国ARM公司开发的一种低功耗、超低成本的处理器架构,是移动设备的首选处理器。
ARM架构的处理器有ARM7、ARM9、ARM11、 Cortex-A8 、Cortex-A15等,它们核心架构特点为以下几点:
1.保护模式。
ARM架构的处理器能够在用户模式和两个高级的保护模式之间来回切换。
2.对齐式存储。
ARM架构的处理器采用对齐方式,其二进制指令必须按照固定的位置排列,以便提高存储空间的利用率。
3.浮点处理单元。
ARM架构的处理器具有浮点数处理功能,使数值运算能够高效率地完成。
4.多级缓存。
ARM架构的处理器将原始数据复制到不同级别的快速缓存中,以便快速访问。
二、ARM程序的编程
1、ARM程序的编写
ARM程序的编写可以使用C语言编写,程序开发者需要掌握ARM架构各种中央处理器扩展指令集的使用方法,以便获得更好的效率。
2、编译ARM程序
ARM程序的编译是使用GNU的gcc编译器进行的,它可以将C语言编写的程序编译成ARM架构的机器码,并可以在ARM架构的处理器上运行。
3、调试ARM程序
ARM程序的调试使用GDB程序调试,它可以提供丰富的调试工具,可以跟踪程序执行的步骤,提供全面的程序反馈信息,可以帮助开发者快速定位程序运行出错的地方。
三、总结。
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种又称为异常模式, 常用于处理中断或异常,以及访问受保护的系统资源等情 况。
ARM9系统的硬件设计

ARM9系统的硬件设计ARM9系统的硬件设计指的是基于ARM9内核的嵌入式系统的硬件组成和设计方法。
ARM9是英国ARM公司推出的第九代32位内核处理器,被广泛应用于移动设备、嵌入式系统、消费电子产品等领域。
下面将详细介绍ARM9系统的硬件设计内容。
一、ARM9系统硬件设计的基本原则1.系统性能和功耗平衡:硬件设计要充分考虑系统性能和功耗之间的平衡,尽量在不影响系统性能的情况下降低功耗。
2.硬件模块化设计:将整个系统划分为多个模块,每个模块负责特定的功能,便于维护和升级。
3.充分利用硬件资源:合理利用硬件资源,提高系统的性能和效率。
4.合理布局和连接:设计时应合理布局硬件组件和引脚连接,减少信号干扰和传输延迟。
5.异常处理:系统设计要考虑到异常情况的处理,保证系统的稳定性和可靠性。
二、ARM9系统硬件设计的基本组成1.处理器:ARM9内核的处理器是系统的核心部件,负责执行指令和控制系统运行。
2.存储器:包括RAM、ROM和闪存等,用于存储指令和数据,RAM用于存储工作数据,ROM和闪存用于存储软件和操作系统。
3.外设接口:包括串口、并口、USB接口等,用于与外部设备通信。
4.时钟和定时器:时钟提供系统的时序和时基,定时器用于定时和计数。
5.中断控制器:用于处理外部中断和异常,保证系统的正常运行。
6.显示控制器:用于控制和管理显示设备,如LCD显示屏。
7.输入输出设备:如触摸屏、键盘、鼠标等,用于用户与系统的交互。
8.电源管理:包括电源管理单元和电源管理软件,用于控制和管理系统的电源消耗。
三、ARM9系统硬件设计的关键技术1.PCB设计:根据系统需求和硬件组件的布局,设计合适的PCB板,保证信号传输的稳定和可靠。
2.时钟设计:根据系统需求设计合适的时钟方案,保证系统的协调和同步。
3.内存管理:根据系统的存储需求,选择适当的存储器类型和容量,合理划分存储区域。
4.性能优化:通过合理的硬件配置和系统参数调整,提高系统的运行速度和性能。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ADD
SUB
CMP
ADD
SUB
ADD
ARM的三级流水线(例如ARM7TDMI)
ARM流水线的级数
• • • • ARM9 流水线增加到5级,增加了存储器访问段和回写段,使ARM9处理能力平均可达到1.1 Dhrystone,指令吞吐量增加了约13%。 随着流水线深度(级数)的增加,每一段的工作量被削减了,这使得处理器可以工作在更高的频 率,同时改进了性能; 负面作用是增加了系统的延时,即内核在执行一条指令前,需要更多的周期来填充流水线; 流水线级数的增加也意味着在某些段之间会产生数据相关;
– 提高了最大时钟频率
ARM9TDMI数据通道 (1)
ARM9TDMI 数据通道 (2)
结果 DINFWD
MU 逻辑
B 寄存器 Bank Imm BDATA 移位器
A
乘法器
ALU
PSR
ADATA
锁存
锁存
ARM9TDMI 处理器结构示意图
第三节 ARM920T的体系结构简介
ARM9系列微处理器包含ARM920T、ARM922T和ARM940T几种类型,可以在 高性能和低功耗特性方面提供最佳的性能。采用5级整数流水线,指令执行 效率更高。提供1.1MIPS/MHz的哈佛结构。支持数据Cache和指令Cache,具 有更高的指令和数据处理能力。 支持32位ARM指令集和16位Thumb指令集。 支持32位的高速AMBA总线接口。全性能的MMU,支持Windows CE、Linux、 Palm OS等多种主流嵌入式操作系统。MPU支持实时操作系统。 ARM920T处理器核在ARM9TDMI处理器内核基础上,增加了分离式的指令 Cache和数据Cache,并带有相应的存储器管理单元I-MMU和D-MMU、写缓冲器 及AMBA接口等,如图3.1.2所示。
乘数 An-1An 00 01 进位Cin 0 0 操作 S->2, Cout=“0” S+B->2, Cout=“0”
10
11
0
0
S+2×B->2, Cout=“0”
S-B->2, Cout=“1”
00
01 10 11
1
1 1 1
S+B->2, Cout=“0”
S+2×B->2, Cout=“0” S-B->2, Cout=“1” S->2, Cout=“1”
这里S为低二位乘以被乘数的部分积、B为被乘数、Cin为低二位乘以被乘数时产生 的进位。Cout为当前二位乘以被乘数时产生的进位,在下二位乘以被乘数时,传递 给Cin。 被乘数(B) 10110110 乘数 10110101
右移3
in[0] in[1] in[2] in[3]
右移2
右移1
不移位
in[3] 左移1 左移2
图3.1.2
ARM920T内核结构
第四节 ARM9体系结构的重要特性
• • • • • • • • • 流水线技术 总线技术 Cache技术 协处理器 异常与中断 工作模式 寄存器组 ARM体系结构的命名规则 JTAG调试接口
3.4.1 ARM的流水线技术
取指
译码
执行
周期1 时 间 周期2
周期3
预取 译码 执行 (Fetch) (Decode) (Execute) 预取 译码 执行 访存 写入 (Fetch) (Decode) (Execute) (Memory) (Write) 预取 (Fetch) 预取 (Fetch) 发送 译码 执行 访存 写入 (Issue) (Decode) (Execute) (Memory) (Write) 预取 (Fetch) 发送 译码 (Issue) (Decode) 转换 执行 访存 写入 (Snny) (Execute) (Memory) (Write)
ARM7
ARM9
ARM10 ARM11
ARM9TDMI
Instruction Fetch
ARM or Thumb Inst Decode Reg Reg Decode Read
Shift + ALU
Memory Access
Reg Write
FETCH
DECODE
EXECUTE
MEMORY
WRITE
A操作数锁存
反相ALeabharlann B操作数锁存反相B
XOR门
XOR门
功能
逻辑功能运算器
加法器
C 输入 C 进位位 V 溢出
逻辑/算术
结果多路器 N 符号位 零检测
Z 为零标志
结果
ALU 逻辑框图
高速乘法器
下面我们以两位乘法器为例。所谓的两位乘法器是指把乘数每两位分成一段,根据该段 值,通过硬件实现被乘数与该段值的相乘。规则如下:
• 5 级流水线
• 实现了以下改进: – 改进 CPI(Cycles Per Instruction)
ARM9系列与ARM7TDMI的比较. ARM9TDMI上100条指令平均需176周期,CPI为1.760 。 ARM7TDMI上100条指令平均需224.1个周期,CPI为2.241。 因此在ARM9TDMI上花费的时间平均是ARM7TDMI上的79%,或者说在 同频率下,ARM9TDMI的性能是ARM7TDMI的127%
协处理器
• 协处理器的应答信号中: ● nCPI为ARM处理器至CPn协处理器信号,该信号低电压有效代表“协处理 器指令”,表示ARM处理器内核标识了1条协处理器指令,希望协处理器去执 行它。 ● CPA为协处理器至ARM处理器内核信号,表示协处理器不存在,目前协处 理器无能力执行指令。 ● CPB为协处理器至ARM处理器内核信号,表示协处理器忙,还不能够开始 执行指令。 协处理器也采用流水线结构,为了保证与ARM处理器内核中的流水线同步,在 每一个协处理器内需有1个流水线跟随器(Pipeline Follower),用来跟踪ARM 处理器内核流水线中的指令。由于ARM的Thumb指令集无协处理器指令,协 处理器还必须监视TBIT信号的状态,以确保不把Thumb指令误解为ARM指 令。 协处理器也采用Load/Store结构,用指令来执行寄存器的内部操作,从存储 器取数据至寄存器或把寄存器中的数保存至存储器中,以及实现与ARM处理 器内核中寄存器之间的数据传送。而这些指令都由协处理器指令来实现。
3.4.2 AMBA总线
• 高级微控制器总线协议(AMBA)是1996年提出的,被ARM处理器做为片上总线 结构; ARM处理器内核可以通过先进的微控制器总线架构AMBA(Advanced Microcontroller Bus Architecture)来扩展不同体系架构的宏单元及I/O部 件。AMBA已成为事实上的片上总线OCB(On Chip Bus)标准。 • 最初的AMBA总线包含ARM系统总线(ASB)和ARM外设总线(APB);AMBA有AHB (Advanced High-performance Bus,先进高性能总线)、ASB(Advanced System Bus,先进系统总线)和APB(Advanced Peripheral Bus,先进外围 总线)等三类总线。 • ARM高性能总线(AHB)是新的标准,可以支持64位和128位宽度的ARM总线; • ASB是目前ARM常用的系统总线,用来连接高性能系统模块,支持突发(Burst) 方式数据传送。 • AHB不但支持突发方式的数据传送,还支持分离式总线事务处理,以进一步提 高总线的利用效率。特别在高性能的ARM架构系统中,AHB有逐步取代ASB的趋 势,例如在ARM1020E处理器核中。 • APB为外围宏单元提供了简单的接口,也可以把APB看作ASB的余部。
ARM9嵌入式系统设计基础
—基于S3C2410A与μC/OS-II
第三章 ARM9体系结构
徐卓镛
1 ARM9体系结构简介
2 ARM9TDMI
3
ARM920T的体系结构简介
4 ARM9TDMI体系结构的重要特性
第一节 ARM9体系结构简介
• 一个典型的ARM体系结构方框图如图3.1.1所示, 包含有32位ALU、31个32位通用寄存器及6位状 态寄存器、32×8位乘法器、32×32位桶形移位 寄存器、指令译码及控制逻辑、指令流水线和数 据/地址寄存器等。
图2.7.1 一个基于AMBA的典型系统
3.4.3 Cache和紧耦合器
• 冯诺伊曼结构数据和指令共用一个缓存;哈佛体系结构 有独立的指令和数据缓存; • Cache改善了系统的整体性能,但也使程序的执行时间 变得不可预测,对实时系统而言,代码执行的确定性— —装载和存储指令或数据的时间必须是可预测的; • ARM采用紧耦合器TCM实现可预测,TCM紧靠内核,保证 取指或数据操作的时钟周期数。TCM位于存储器的地址 映射中,可作为快速存储器访问; • 结合Cache和TCM,ARM既能改善性能,又能够获得可预 测的实时响应;
AMBA总线
• AMBA通过测试接口控制器TIC(Test Interface Controller)提供了模块测 试的途径,允许外部测试者作为ASB总线的主设备来分别测试AMBA上的各个模 块。 • AMBA中的宏单元也可以通过JTAG方式进行测试。虽然AMBA的测试方式通用性 稍差些,但其通过并行口的测试比JTAG的测试代价也要低些。
3.4.4 协处理器
为了便于片上系统SoC的设计,ARM可以通过协处理器(CP)来支持 一个通用指令集的扩充,通过增加协处理器来增加系统的功能。
• 协处理器可以附属于ARM处理器,一个协处理器通过扩展指令或提供配臵寄 存器来扩展内核处理功能; • 协处理器可以通过一组专门的、提供load-store类型接口的ARM指令来访问。 如协处理器15(CP15),用于控制Cache、TCM和存储器管理;在逻辑上, ARM可以扩展16个(CP15~CP0)协处理器,其中:CP15作为系统控制, CP14作为调试控制器,CP7~4作为用户控制器,CP13~8和CP3~0保留。每 个协处理器可有16个寄存器。例如MMU和保护单元的系统控制都采用CP15协 处理器;JTAG调试中的协处理器为CP14,即调试通信通道DCC(Debug Communication Channel)。 • 协处理器也能通过提供一组专门的新指令来扩展指令集,如,处理向量浮点 运算的指令集; • 这些指令在ARM流水线的译码阶段被处理,如果在译码阶段发现是一条协处 理器指令,则把它送给相应的协处理器。如果该协处理器不存在,或不认识 该指令,则ARM认为发生未定义指令异常; • ARM处理器内核与协处理器接口有以下4类。 ① 时钟和时钟控制信号:MCLK、nWAIT、nRESET; ② 流水线跟随信号:nMREQ、SEQ、nTRANS、nOPC、TBIT; ③ 应答信号:nCPI、CPA、CPB; ④ 数据信号:D[31:0]、DIN[31:0]、DOUT[31:0]。