第2章-1 ARM7处理器结构
第二章ARM处理器基础ARM7课件

2、条件码标志位
在ARM状态下,绝大多数指令都是有条件执行指令;在THUMB状 态下,仅有分支指令是有条件执行指令。
各条件码标志位的具体含义
标志位 N Z
C
V
含义
运算结果的符号位。对于有符号二进制补码,结果为负时,N=1;结果为正或零时, N=0。
Z=1表示运算的结果为零(通常表示比较结果“相等”);Z=0表示运算的结果不为 零。
第二章 ARM处理器基础
一、ARM7处理器概述 二、ARM处理器的数据格式 三、处理器模式与内部寄存器 四、ARM的异常处理 五、本节附录
一、ARM7处理器概述
ARM7TDMI是一个32位的微处理器核, 基于精简指令集(RISC)的 原理设计而成的。处理器的译码结构相对简单;处理器内含集成元件 的门数相对减少,功耗降低。
2、堆栈指针 R13
寄存器R13(也称为堆栈指针或SP)有6个分组的物理寄存器。 寄存器R13通常作为堆栈指针SP。
3、链接寄存器 R14
寄存器R14(也称为链接寄存器或LR)有6个分组的物理寄存器。 寄存器R14有三种用途: 1、当发生异常时,它被设置为该异常返回地址; 2、在执行分支和链接(BL)指令时,它用于保存子程序的返回地址; 3、而在其他时候,作为一个通用寄存器来对待。
分4种情况设置C的值 - 加法运算 当运算结果产生进位时,C=1;否则C=0 - 减法运算 当运算产生借位时,C=0;否则C=1 - 包含移位操作的非加/减运算指令 C为移出值的最后一位 - 其他的非加/减运算指令 C的值通常不变
分2种情况设置V的值 - 加/减法运算指令 当发生有符号溢出时,V=1;否则,V=0 - 其他的非加/减运算指令 V的值通常不变
1.2 ARM处理器的程序与数据存储
ARM7体系结构详细介绍(ppt 112页)

3.2 ARM7TDMI
三级流水线
ARM7TDMI处理器使用流水线来增加处理器指 令流的速度。这样可使几个操作同时进行,并使处 理和存储器系统连续操作,能提供0.9MIPS/MHz的 指令执行速度。
ARM7TDMI的流水线分3级,分别为: 取指译码执行
ARM处理器支持下列数据类型:
字节 8位
1
半字 16位(必须分配为占用两个字节) 1 2
字 32位(必须分配为占用4各字节) 1 2 3 4
3.4 体系结构直接支持的数据类型
体系结构直接支持的数据类型
注意: V4版本之后的ARM结构都支持这3种结构(包括 V4版本),而以前的版本只支持字节和字; 当数据类型定义为无符号型时,N位数据值使用正 常的二进制格式表示范围为0~2N-1的非负整数; 当数据类型定义为有符号型时,N位数据值使用2 的补码格式表示范围为-2N-1~+2N-1-1的整数;
半字加载/存储指令; 字节和半字的加载和符号扩展指令; 具有可以转换到Thumb状态的指令(BX); 增加了用户模式寄存器的新的特权处理器模式。
3.1 ARM简介
各ARM体系结构版本——V5
在V4版本的基础上,对现在指令的定义进行 了必要的修正,对V4版本的体系结构进行了扩展 并并增加了指令,具体如下:
1.简介
9.异常
2.ARM7TDMI
10.复位
3.ARM7TDMI的模块和 11.存储器及存储器映射
内部框图
I/O
4.体系结构直接支持的 数据类型
5.处理器状态
6.处理器模式
7.内部寄存器
8. 程序状态寄存器
第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、片内外设组合在 一起才能构成现实的芯片。 一起才能构成现实的芯片。
ARM7内部结构PPT

4 5
CPOL MSTR
6
LSBF
控制传输字节的移动方向 LSBF=1:数据传输LSB(bit0)在先 LSBF=0:数据传输MSB(bit7)在先
SPI中断使能位 SPIE=1:每次SPIE或MODF由0变为1,都会产生硬件中断 SPIE=0:SPI中断关闭
7
SPIE
SPI数据寄存器——SPDR
双向数据寄存器用于SPI数据的发送和接收。 处于主模式时,写该寄存器将启动SPI数据传输。从数据传输开始到SPIF状态位置位 并且还没有读取状态寄存器这段时间不能对该寄存器执行写操作 发送数据通过将数据写入该寄存器来实现,SPI接收的数据可以从该寄存器读出。 处于主模式时,没有缓冲区,所以在发送数据期间,不能再对寄存器进行写操作
10
11 7:2
VPB总线时钟是处理器时钟的1/2
无效 无效
四、SPI接口
在同一总线上可以有多个主机和从机,在同一时刻只允许有一个主机操作总线。在数据 传输过程中,总线上只能有个主机和一个从机。在一次数据传输中,主机总是向从机发 送一个字节数据(主机通过MOSI),而从机也总是向主机发送一个字节数据(主机通过 MISO接收数据),SPI总线时钟是由主机产生的。
SPI引脚描述
引脚名称 SCK
描述 串行时钟:用于同步SPI接口间数据传输的时钟信号。该信号总是由主机 驱动并且从机接收。时钟可编辑为高有效或低有效。它只是在数据传输 时才激活,其它任何时候都处在非激活或三态。 主入从出 主出从入 从机选择信号,低电平有效,用于指示被选择参与数据传输的从机。每 个从机都有各自特定的从机选择输入信号。 在数据传输之前,SSEL必须为低电平并且整个传输过程中保持低电平。 如果在数据的传输过程中SSEL变为高电平,传输被终止,从机返回空闲 状态并将任何接收到的数据丢失。这种异常没有其他指示。 该信号不直接由主机驱动,可通过软件使用一个普通IO口驱动。
ch2_ARM7体系结构-精品文档

半字加载/存储指令;
字节和半字的加载和符号扩展指令; 具有可以转换到Thumb状态的指令; 用户模式寄存器的新的特权处理器模式。
14
西安邮电学院 2019/3/20
2.1 ARM简介
各ARM体系结构版本——V5 在V4版本的基础上,对现在指令的定义进行了必要
的修正,对V4版本的体系结构进行了扩展并增加了指令, 具体如下:
RISC:精简指令集(Reduced Instruction Set Computer)
在通道中只包含最有用的指令
确保数据通道快速执行每一条指令 使CPU硬件结构设计变得更为简单
8
西安邮电学院 2019/3/20
2.1 ARM简介——RISC结构特性
两种体系结构: CISC (Complex Instruction Set Computer), 即
2
西安邮电学院 2019/3/20
2.1 ARM简介
ARM公司简介
• ARM是Advanced RISC Machines的缩写,它是一家微处理器行业的知 名企业,该企业设计了大量高性能、廉价、耗能低的RISC处理器。
•ARቤተ መጻሕፍቲ ባይዱ公司的特点是只设计芯片,而不生产。它将技术授权给世界上许多
著名的半导体、软件和 OEM(Original Equipment Manufacturer, 原始 设备生产商)厂商,并提供服务。
快速中断模式中具有的两个以上的分组寄存器;
具有原子性加载/存储指令swp和swpb。
13
西安邮电学院 2019/3/20
2.1 ARM简介
各ARM体系结构版本——V4 不再为了与以前的版本兼容而支持 26位体系结构, 并明确了哪些指令会引起未定义指令异常发生,它相对 V3版本作了以下的改进:
第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 那 样通过执行较少指令来完成工作未必省时,因为还要包括微代码译码所需要的时间。
因此, 由硬件实现指令在执行时间方面提供了更好的平衡。
除此之外,还节省了芯片上用于存储微 代码的空间并且消除了翻译微代码所需的时间。
单片机课件第二章 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
(6) CMP指令是如何执行的?写一程序,判断R1的值是否大于0x30,是则 将R1减去0x30。 答:CMP指令是将寄存器Rn的值减去operand2的值,根据操作的结果更新 CPSR中的相应条件标志位,以便后面的指令根据相应的条件标志来判断是 否执行。 比如: CMP {cond} Rn,operand2 CMP R1,#0x30 ;将R1与常数0x30比较 LDRLE PC,LR;如果小于或等于0x30,则程序返回 SUB R1,R1,#0x30;大于0x30,则将R1减去0x30,结果存回 R1 (7)调用子程序是用B指令还是用BL指令?请写出返回子程序的指令。 答:调用子程序是用BL指令; MOV PC,LR 或 BX LR
• 2、定义R0 =0x12345678,假设使用存储指令将R0的值放在0x4000单元中。 如果存储器格式为大端格式,请写出在执行加载指令将存储器0x4000单元 内容取出存放到R2寄存器操作后所得R2的值。如果存储器改为小端格式, 所得的R2值又为多少?低地址0x4000单元的字节内容分别是多少?
PC,
第三章
ARM7TDMI(-S)指令系统
(1)ARM7TDMI(-S)有几种寻址方式?“LDR R1,[R0,#0x08]”属于哪种寻址 方式? 答:有8种寻址方式:1.寄存器寻址 2.立即寻址 3.寄存器移位寻址 4.寄存器 间接寻址 5.基址寻址 6.多寄存器寻址 7.堆栈寻址 8.相对寻址;“LDR R1,[R0,#0x08]”属于基址寻址。 (3) ARM指令中的第2个操作数有哪几种形式?列举5个8位图立即数。 答:a.常数表达式(8位图) b.寄存器方式 c.寄存器移位方式; 八位位图即常熟是由一个八位的常数循环移位偶数位得到的 0x3FC、0、0xF0000000、200、0xF0000001。 (5)请指出MOV指令与LDR加载指令的区别及用途? 答:MOV指令的源操作数是常数或(带偏移量的)寄存器,用于寄存器之 间的数据传送;LDR指令的源操作数是地址,用于存储器到寄存器的数据传 送。
第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位地址空间 兼容。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
存储接口
nMREQ 当处理器请求存储器访问时为低。 SEQ 当下一个存储器周期的地址与上一次存储器的访问地 址紧密相关时为高。新地址可以是相同的字/半字或下一个 字/半字。
nMREQ 0 0 1 1
SEQ 0 1 0 1
总线周期类型 非顺序周期 顺序周期 内部周期 协处理器寄存器
07:21 12
2.1.2 ARM7TDMI
特点:
1 2 3 4 5
使用RISC指令集 具有三级流水线 存储器访问数据类型多样 存储器接口具备多种存储周期 嵌入式ICE-RT逻辑
07:21
13
2.1.2 ARM7TDMI
1 RISC指令集
ARM7TDMI处理器是ARM通用32位微处理器 家族的成员之一。它具有优异的性能,但功耗却很 低,使用门的数量也很少。它属于精简指令集计算 机 (Reduced Instruction Set Computer) ,比复杂指 令集计算机( Complex Instruction Set Computer ) 要简单得多。这样的简化实现了: 高的指令吞吐量;
2.1.1 ARM简介
微处理器是整个系统的核心,通常由3大部分 组成:控制单元、算术逻辑单元和寄存器。
微处理器 输入 算术逻辑单元 控制单元 输出
寄存器
存储器
07:21
7
2.1.1 ARM简介
各ARM体系结构版本
ARM体系结构从最初开发到现在有了很大的改 进,并仍在完善和发展。为了清楚的表达每个 ARM应用实例所使用的指令集,ARM公司定义了7 种主要的ARM指令集体系结构版本,以版本号 V1~V7表示。
07:21
33
存储接口
nRW 当处理器正在执行读周期时为低。由APE,ALE, ABE控制。 MAS[1:0] 用于指示存储器在读和写周期要求的数据传送大 小(字节、半字、字)。
MAS1 0 0
MAS0 0 1
数据 大小 字节 半字
MAS1 1 1
MAS0 0 1
数据 大小 字 保留
07:21
07:21 28
总线控制
nENIN 在写周期,为了驱动数据总线,必须为低, 可与nENOUT配合使用,在写周期期间控制数据总 线。 nENOUT 在写周期,在MCLK上升沿之前驱动为低, 且在整个写周期内保持低。 nENOUTI 在嵌入式ICE-RT通信通道协处理器到 ARM的协处理器传送的写周期,信号变低。
07:21
22
2.1 ARM微处理器结构
2.1.1简介 2.1.2ARM7TDMI特点 2.1.3ARM7TDMI的模块 和内部框图
07:21
23
2.1.3 系统内部结构图
ARM7TDMI处理 器部件和主要信 号路径的框图如 图所示。它内部 由处理器核、用 于边界扫描的 TAP控制器和在 线仿真器ICE组 成。双向数据总 线D[31:0]被分 割成单向输入和 输出总线,以便 与外部存储器兼 容。
内核 流水线 典型频率(MHz) 总线架构 ARM7 3 80 冯诺伊曼 ARM9 5 150 哈佛 ARM10 6 260 哈佛 ARM11 8 335 哈佛
07:21
17
2.1.2 ARM7TDMI
3 存储器访问
ARM7TDMI处理器使用了冯· 诺依曼(Von Neumann)结构,指令和数据共用一条32位总线。 只有装载、存储和交换指令可以对存储器中的数据 进行访问。 ARM处理器支持下列数据类型: 字节 8位 半字 16位(必须分配为占用两个字节) 字 32位(必须分配为占用4各字节)
07:21 31
存储接口
A[31:0] 32位地址总线.当地址总有效时,由 ABE,ALE,APE来控制。 D[31:0] 双向数据总线,用于处理器与外部存储器 之间的数据传送。在读周期MCLK下降沿有效;写 周期,在MCLK下降沿之前输出数据有效。 DIN[31:0] 用于从存储器向处理器传送指令和数据 的单向总线。该总线仅当BUSEN为高时使用,不用 则接低电平。读周期时MCLK下降沿时总对其采样。 DOUT[31:0] 用于从处理器向存储器传送数据的单 向总线。该总线仅当BUSEN为高时使用,不用则输 出低电平。写周期时MCLK低电平时有效,直到 MCLK上升沿之后。
C H A P T E R
2
07:21
ARM7体系结构
1
上次课的内容
1 嵌入式系统简介 2 嵌入式处理器 3 4 5 嵌入式操作系统 嵌入式系统的典型应用
嵌入式系统的基本设计过程
07:21
2
第2章 ARM7体系结构
2.1 ARM微处理器结构 2.2 处理器状态和模式 2.3 存储器组织 2.4 异常 2.5 ARM寻址方式
2.1 ARM微处理器结构
2.1.1 简介 2.1.2 ARM7TDMI特点 2.1.3 ARM7TDMI的模 块和内部框图
07:21
10
2.1.2 ARM7TDMI
ARM7TDMI
ARM7TDMI基于ARM体系结构V4版本,是目 前较低端的ARM核。但仍具有广泛的应用,其最 显著的应用为数字移动电话。
07:21
11
2.1.2 ARM7TDMI
ARM7TDMI命名方式
ARM7TDMI支持32位寻址范围,并弥补了 ARM6不能在低于5V电源电压下工作的不足,可以 在3V电压下工作。ARM7TDMI的后缀意义为: ARM7 T D M I
支持Embeded-ICE观察硬件; 支持64位乘法; 支持片上调试; 支持高密度16位的Thumb指令集;
ARM7TDMI有4种基本的存储周期:
1 空闲周期(指令不访问存储器); 2 非顺序周期(访问与前一次无关); 3 顺序周期(访问与上次相同或加1);
07:21
4 协处理器寄存器周期(协处理器寄存器 传送期间);
21
2.1.2 ARM7TDMI
5 嵌入式ICE-RT逻辑
嵌入式ICE-RT逻辑为ARM7TDMI核提供了集 成的片内调试支持,可以使用嵌入式ICE-RT逻辑来 设置断点或观察断点出现的状态。嵌入式ICE-RT逻 辑通过JTAG (joint test action group)测试访问口进 行控制。
34
存储接口
BL[3:0] 信号为高时数据总线的值在MCLK的下降 沿锁存,对于大多数设计,这些信号必须接高电 平。 LOCK 当处理器正在执带锁存的存储器访问时为 高电平,用于防止存储器允许其他器件访问存储 器。 nTRANS 当处理在用户模式下工作时为低,由 APE等控制。 ABORT 存储系统使用该信号通知处理器其所请求 的访问是不被允许的。
15
流水线技术
流水线(Pipeline)技术:几个指令可以并行执行 • 提高了CPU的运行效率 • 内部信息流动通畅
Add Sub PC Cmp 时间
取指
译码 取指
执行add 译码 取指 执行sub 译码 执行cmp
注意:程序计数器(PC)指向取指的指令而不是正在执行的指令。
07:21 16
流水线技术
ALU
SIZE[1:0] PROT[1:0] TRANS[1:0]
DBG输出 DBG输入 CP控制 CP握手
总 线
A 总 线
32*8乘法器 桶形移位器
B 总 线
写数据寄存器 32位ALU
指令流水线读数据寄存器 Thumb指令译码器
WDATA[31:0]
07:21
RDATA[31:0]
25
ARM7TDMI主处理器逻辑
2.1.3 ARM7TDMI功能信号图
ARM7TDMI
07:21
ARM7TDMI处理器的功能信号
26
时钟和定时
MCLK 全局主时钟,所有存储访问和处理器操作
的主时钟。速度可控制分别访问不同速度的外设和 存储器。
nWAIT 为低电平时处理器将其访问时间延长几个
时钟周期,用于访问低速外设,不用时接高电平。
07:21 35
协处理器接口
处理器正在从存储器取指令为低。由APE 等控制。 nCPI 当处理协处理器指令时为低,然后处理器 CPA和CPB线上等待协处理器响应。 CPA 若协处理器能执行处理器请求的操作,则 CPA由协处理器置低。 CPB 当协处理器准备好开始处理器请求操作时, CPB由协处理器置低。
07:21
1 1 1 2 2 3 4
18
冯· 诺依曼体系结构
存储器
指令寄存器
控制器
地址
程序
指令0 指令1 指令2 指令3 指令4 数据 数据0 数据1 数据2
指令/数据 数据通道 输入 中央处理器
输出
07:21
19
哈佛体系结构
地址 程序存储器 指令0 指令1 指令2
指令寄存器
控制器
指令
地址 数据通道 输入
07:21
30
总线控制
DBE 当数据出现在双向或单向数据总线上时,DBE 必须为高。为低时双向总线为高阻,单向总线阻止 数据输出。用于测试和共享总线。 TBE 为低时D,A等总线置高阻抗。正常操作下, TBE必须为高。 BUSDIS 当扫描链0,4或8选择测试时为高。用于禁 止在扫描测试期间外部逻辑驱动到双向数据总线上, 在TCLK下降沿后改变。 ECAPCLK 用于ARM7TDMI测试芯片上,其他情况 下必须不接。
07:21
29
总线控制
ABE 低时禁止总路线驱动,让地址总路线进入高阻 状态;同样控制LOCK,MAS,nRW,nOPC和 nTRANS信号。系统没有要求必须接高。 ALE 信号为低时锁存地址总线,可允许这些信号在 整个存储器访问周期内部都有效。 APE 选择地址总线是在流水线方式(高),还是在非流 水线方式(低)。