嵌入式复习Word文档格式.docx
- 文档编号:16599798
- 上传时间:2022-11-24
- 格式:DOCX
- 页数:15
- 大小:85.86KB
嵌入式复习Word文档格式.docx
《嵌入式复习Word文档格式.docx》由会员分享,可在线阅读,更多相关《嵌入式复习Word文档格式.docx(15页珍藏版)》请在冰豆网上搜索。
4个DMA通道
5
2通道UART
6
1个多主的I2C总线控制器
7
1个IIS总线控制器
8
71个通道I/O口
9
8个外部中断源、实时时钟、8通道10位ADC等
ARM:
AdvancedRISCMachines
1.ARM流水线技术
ARM73级
ARM9
5级
ARM106级
ARMCortexA813级
流水线思想:
1.鼻祖是福特公司价格每下降1美元,争取1000位客户
2把复杂的装配过程分解成一个个简单的工序,让每个装配工人只专门从事其中一个细节,提高办事效率,增加装配速度。
流水线在计算机中的运用:
如:
按照冯·
诺依曼原理,一条指令运行可分为:
取指令、指令译码、取操作数、ALU运算五个步骤。
流水线思想则是当一条指令译码开始时,就可以进行第二条指令的取指令。
PC的指针指向正被取指的指令,而非执行指令。
流水线时间计算,可以正着计算,可以反着计算。
(M-1+N)t
多周期指令:
不能同时访问指令和数据存储器
ARM9
5级流水线:
哈佛结构
数据和指令分别进行独立编址。
步骤:
取指、译码、执行、缓冲、回写。
取指:
从程序存储器中取—指令流水线。
译码:
读取寄存器操作数。
执行:
如果是LDR/STR,则计算地址。
缓冲:
LDR/STR访问数据存储器,否则缓冲
回写:
结果写到寄存器中。
流水线产生的问题。
1.结构冒险:
试图同时以两种不同的方式使用同一资源。
2.数据冒险:
在产生数据前,就是图使用它。
3控制冒险:
在判定转移条件之前,就试图决策转移方向。
会导致指令流水线效率降低的问题:
1相关性问题:
前一条指令结果是第二条指令执行所需要的。
解决办法:
乱序执行,技术。
2程序转移问题:
由于无法事先判断转移指令会走哪边,出现等待的结果,当这样的指令很多时,会导致停滞状态。
解决办法:
一般是通过风险的预测执行或是强行并行执行来解决。
存储模式I/O空间
ARM7TDMI处理器有两种工作状态:
ARM-32-bit按字排列的ARM指令级
Thumb-16-bit按半字排列的Thumb指令集。
通过BX指令在两种状态间进行切换。
例
从ARM切到Thumb
从Thumb切到ARM
LDR
R0,=Label+1
LDRR0,=Label
BX
R0
BXR0
1.I/O存储空间
ARM32位架构,I/O空间采用统一编址方式
地址从0x0000/0000开始为字节为单位的线性组合
地址空间:
2的32次方4GB
地址:
32位无符号数,可加减运算
结果取模。
2.数据和指令类型
ARM32位地址线、数据线,支持如下数据型:
1.Byte:
8Bit,
2Haifword;
16bit(2byte),必须对其2字节边界。
3Word:
32bits(4byte),必须对齐4字节边界。
4有符号数
5无符号数
3.存储器工作模式(ENDIAN管脚)
(1)BigEndian大端模式
字数据高位字节存储在低地址中
低字节存在高地址中
(2)LittleEndian小段模式(默认)
低字节在低地址高字节在高地址。
(3)非对齐的存储访问
非对齐的取指
不可预知结果
ARM状态:
忽略低2两位
Thumb状态:
忽略最低为。
忽略由存储器实现。
忽略可能由处理器或存储器完成,具体才去三种中的哪一种由具体指令来决定。
工作模式和寄存器组
ARM有7个基本工作模式
USRFIQIRQSVCABTUNDSYS
1User:
用户模式,一般的非特权任务运行的模式。
(正常程序执行的模式)(程序不能访问受操作系统保护的资源,也不能改变模式)寄存器:
所有
2FIQ快中断模式:
当一个高优先级(fast)中断产生时将会进入这种模式
(高速数据传输和通道处理)寄存器:
R8-14_fiq
spsr_fiq
3IRQ中断模式:
当一个低优先级(normal)中断产生时将会进入这种模式。
(通常的中断处理)寄存器:
R13-14_irq
spsr_irq
4Supervisior管理员(特权)模式(SUV)
当复位或软中断指令执行时将会进入这种模式。
(供操作系统使用的一种模式)(除User之外的其他六种,处理异常和监控调用,可自由访问系统资源和改变模式)
寄存器:
R13-14_svc
spsr_svc
5Abort中止模式:
当存储异常时会进入这种模式。
(虚拟存储以及存储保护)R13-14_abt
spsr_abt
6Undef未定义模式:
当执行未定义指令时会进入这种模式。
(软件仿真硬件协助处理器)R13-14_und
spsr_und
7.System系统模式:
使用和User模式相同寄存器集,权限比用户模式高。
(系统级的操作系统任务)
异常模式:
除系统模式以外的五种特权模式,处理异常和中断。
系统模式:
不能通过异常进入,操作系统的任务可以访问所需系统和用户资源,不能访问异常寄存器组。
确保异常不会破坏任务状态。
工作模式的切换:
软件切换
外部中断或异常
OS控制系统整个资源。
ARM共有37个寄存器(32位)
31个通用寄存器6个状态寄存器
每一种工作模式对应一组寄存器:
15个通用寄存器R0~R14
一个或俩个状态寄存器
一个程序计数器R15(PC)
1.37寄存器
(1)31个通用32位寄存器,包括程序计数器。
不分组寄存器R0-R7
分组寄存器R8-R14
R8-R12分为两组,一组为FIQ模式R8_fiq-R12_fiq,
另一组为除FIQ以外的所有模式;
R13-R14各有6个分组的物理寄存器,1个用户和系统
模式。
其他5个分别用于5种异常模式,异常模式下命名
规则R13_<
mode>
R14_<
mode为svcabtundirqfiq之一。
R15为程序计数器PC
(2)6个状态寄存器
(3)15通用寄存器(R0toR15),以及1或者2个状态寄存器和程序计数器在任何时候都是可以访问的。
可访问的的寄存器取决于处理器的模式
其他寄存器的状态在支持IRQ,FIQ,SVC,ABTUND模式处理时被切换。
重点:
R0~R15可以直接访问
R0~R14是通用寄存器
R13:
堆栈指针(sp)通常
每种处理器模式都有单独的堆栈
R14:
链接寄存器(LR)
R15包含程序计数器(PC)。
程序状态寄存器
CPSR-当前程序状态寄存器,包括代码标志状态和当前模式位
5个SPSRs--(程序状态保存寄存器)当异常发生时保存SPSR状态。
ARM7TDMI包含当前程序状态寄存器(CPSR),加上5个程序状态保存状态寄存器SPSR,当异常发生时,用于保存CPSR的状态。
这些寄存器的功能:
保存ALU当前操作信息
控制允许和禁止中断
设置处理器操作模式。
1.条件标志位
31
30
29
28
27
Negative
Zero
Carry
oVerflow
Q
N=1结果为负0结果为正或0
Z=1结果为0
0结果不为0
C=1有进位无借位,否则结果为0
V=1结果溢出。
Q位:
bit(27)
仅支持ARM5TE/J架构
指示增强DSP指令是否溢出
J位:
bit(24)
J=1处理器处于Jazelle状态。
2.控制位
中断禁止位
I
F
T
M4
M3
M2
M1
M0
I=1:
禁止IRQ
F=1;
禁止FIQ
Tbit
仅支持xT架构支持;
T=0处于ARM
T=1处于Thumb
M控制位处理器模式
0b10000User
0b10001FIQ
0b10010IFQ
0b10011SVR
0b10111Abort
0b11011undefined
0b11111System
PPT
P129
程序计数器PC(R15)
情况一:
当处理执行在ARM状态:
1.所有指令32bits宽。
2.所有指令必须word对齐。
3.所有pc值由bits【31:
2】决定,bits【1:
0】未定义
所以指令不能半个字节对齐。
情况二:
当处理执行在Thumb状态:
所有指令16bits宽
半字节对齐。
。
情况三
当处理执行在Jazelle状态:
所有指令8bits宽
处理器执行word存取一次取4条指令。
异常和异常向量表
1.异常(Exceptions)
——内部或外部中断源产生并引起处理器处理一个事件,如外部中断或试图执行未定义指令都会引起异常。
程序流程控制三种方式:
顺序执行
跳转执行异常执行(处理异常执行之前必须保留处理器状态)
2异常的产生
直接异常:
软件中断,未定义指令(包括所要求的协处理器不存在时的协处理器命令)和预取指令
间接异常:
数据终止(在load/store数据访问时存储器故障)
外部异常:
复位IRQ和FIQ。
3异常类型:
7种
(1)RESET复位
复位引脚有效时进入:
系统加电
系统复位
软复位(跳转)
工作模式:
管理模式。
(2)UND未定义的指令
Undefinedinstruction
ARM处理器或协处理器认为当前指令没定义时产生。
未定义指令中止模式。
未定义的指令陷阱
1.当ARM收到一条不能处理的指令,ARM把这条指令提供给任何一个协处理器。
2如果协处理器能够处理,但协处理器此时正忙,ARM将等待知道协处理器准备好或中断发生。
3如果没有协处理器处理这条指令,那么ARM将处理未定义的指令陷阱。
(3)SWI软中断
SofrwareInterrupt
用户定义,用户模式程序调用特权操作指令
1
通过软件中断产生。
2
进入管理员模式中获得
通常要求特殊的管理功能,如操作系统支持。
(4)数据访问中止
数据访问指令的目的地址不存在或无法访问
中止模式。
(5)指令预取中止
预取指令的地址不存在或是无法访问,执行被预取指令时,产生此中断
(6)IRQ外部中断请求
有外部中断发生,CPSR的I位为0时
外部中断IRQ模式
(7)FIQ快速中断请求
有外部中断发生,CPSR的F为0时产生
外部中断FIQ模式。
5异常的优先级
6异常向量表:
RESET可以从0x00000000开始或是0xffff0000开始,因此异常向量表可以放在上述地址。
Address
Exception
0x00000000
Reset
0x00000004
Undefinedinstruction
0x00000008
softwareinterrupt
0x0000000c
abort(prefetch)
0x000000010
abort(date)
0x00000014
reserved
0x00000018
IRQ
0x0000001c
FIQ
7异常的处理;
异常中断响应过程(ARMcore)
(1)保存CPSR内容:
拷贝CPSR到SPSR_<
(2)设置适当的CPSR位:
改变处理器状态进入ARM态(T=0)
改变处理器模式进入相应的异常模式(M位)
设置中断禁止位禁止相应中断(IF如需要)
(3)保存现场:
保存返回地址到LR_<
设置PC为相应的异常向量,压栈寄存器数据。
R14_<
Exception_Mode>
=ReturnLink
SPSR_<
=CPSR
CPSR[4:
0]=ExceptionModeNumber
CPSR[5]=0
;
当运行于ARM状态时
IF<
==ResetorFIQthen
当响应FIQ异常时,禁止新的FIQ异常
CPSR[6]=1;
CPSR[7]=1;
PC=ExceptionVectorAddress
返回时,异常处理需要:
复位中断不需要返回
从SPSR_<
恢复CPSR,从LR_<
PC
这些操作只能在ARM态执行。
AMBA总线
1.ARM指令分类与格式
1.load/store结构:
在通用寄存器中操作
load/store从存储器中读取数据,
操作后再放回存储器
把寄存器和存储器分开。
2.指令分类(6类)
(1)数据处理指令—使用和改变寄存器的值
(2)数据传输指令—把存储器的值拷贝到寄存器中
(load)或(store)把寄存器中的值拷贝到存储器中。
(3)CPSR与通用寄存器间的传送指令
(4)跳转指令
(5)异常中断指令
(6)协处理器指令。
移位操作
1.逻辑左移:
LSL低位补零
2.算数左移:
ASL低位补零
MOVR0,R1,LSL#2
MOVR0,R1,ASL#2
3逻辑右移:
LSR高位补零
4算数右移:
ASR高位用31位值填充
5循环右移:
ROR左端用右端溢出数据补
6扩展循环右移:
RRX循环包括C位
寻址方式
ARM寻址方式;
处理器根据指令中的地址信息寻找物理地址的方式
寻址方式种类:
1.立即寻址
2寄存器寻址
3寄存器间寻址
4基址加编址寻址
5堆栈寻址
6块拷贝寻址
7相对寻址
1.立即寻址:
操作数直接通过指令给出,数据包含在32位编码中
ADDR0,R0,#1
ANDR8,R7,#0xFF
立即数:
由一个8位常数循环右移偶数位得到。
2.寄存器寻址
操作数为寄存器中的数值,指令中地址码为寄存器编号。
ADDR0,R1,R2
ADDR3,R2,R1,LSR#2
ADDR3,R2,R1,LSRR4
3寄存器间接寻址
寄存器的值作为存储器地址
LDRR0,[R1]
STRR0,[R1]
(1)基址寄存器内容与偏移量相加
前变址模式
LDRR0,【R1,#4】
自动变址模式
LDRR0,[R1,#4]!
后变址模式
LDRR0,[R1],#4
(2)寄存器用作偏移量地址
LDRR0,[R1,R2]
LDRR0,
[R1,R2,LSL,#2]
(3)传送数据类型
LDRBR0,[R1]
LDRHR1,[R0,#20]
3堆栈寻址
四种类型的堆栈工作方式:
满递增堆栈,满递减堆栈,空递增堆栈,空递减堆栈。
ARM指令中,通过LOAD/STORE指令来实现
STMFDSP!
{R1-R7,LR}
LDMFDSP!
在Thumb中,用PUSH{R1-R7,LR}
POP
{R1-R7,PC}
块拷贝寻址
多寄存器传送指令LDM/STM
LDMIAR0!
{R2-R9}将数据加载到R2-R9以R0为基址。
STMIAR1!
{R2-R9}将数据存入到存储器,R1为基址。
5相对寻址
以当前PC值为基址,以指令中地址标号为偏移量。
BLSUBA
.......
SUB
.......
MOVPC,R14
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 复习
![提示](https://static.bdocx.com/images/bang_tan.gif)