arm体系结构及其嵌入式处理器

arm体系结构及其嵌入式处理器

ID:42577303

大小:154.27 KB

页数:7页

时间:2019-09-18

arm体系结构及其嵌入式处理器_第1页
arm体系结构及其嵌入式处理器_第2页
arm体系结构及其嵌入式处理器_第3页
arm体系结构及其嵌入式处理器_第4页
arm体系结构及其嵌入式处理器_第5页
资源描述:

《arm体系结构及其嵌入式处理器》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、二进制ALU算术逻辑运算单元机器数指令程序及其首地址PC计算机:主机(CPU(运算器、控制器)存储器)IO(输入输出设备)RISC:精简指令系统计算机CISC:复杂指令系统计算机指令流水线cache协处理器片上系统SOC(SystemOnChip)总线:连接各部件信息传输的线并行串行系统总线:计算机芯片之间的连接总线数据总线DB:传输数据的通路地址总线AB:传送有指令或PC经地址寄存器送出的地址信息控制总线CB:传送读写等控制信息系统总线结构:同步通信:发送和接受使用同一时钟冯.依曼:数据和指令放在一起arm7哈弗结构:数据和

2、指令分开arm9arm10运行模式:用户模式:USR特权模式:FIQIRQSVCABTSYSUND快速终端管理中断系统未定义工作状态:ARM32位默认Thumb16位由程序状态寄存器SPSR的D5位决定寄存器:R0~R15:基寄存器R13:SPR14:LR子程序返回地址R15:PCCPSR(CurrentProcessStatueRegister)存储方式:小端模式:低字节在底端大端模式:低字节在高端堆栈:FILO(FirstinLastOut)地址递增方式:初始化时指针处于较低端,存入数据时,指针向高地址位移动地址递减方式:

3、初始化时指针处于较高端,存入数据时,指针向低地址位移动满递增堆栈:SP指向最后压入的数据,由低向高地址生成满递减堆栈:SP指向最后压入的数据,有高向低地址生成空递增堆栈:SP指向下一个要放入的数据的空位置,由低向高地址生成空递减堆栈:SP指向下一个要放入的数据的空位置,有高向低地址生成指令系统:立即寻址:movr0,#0x01寄存器寻址:movr0,r1寄存器简址:ldrr0,[r1]变址寻址:ldrr0,[r1,#4]//r0ß(r1+4)指令格式:条件码:EQZ=1相等NEZ=0CSC=1无符号大于等于CCc=0无符号小于

4、MIN=1负数PLN=0正数或0VSV=1溢出VCV=0HIC=0且Z=0无符号大于LSC=0或z=1无符号大于等于GEN=V带符号大于等于GTZ=0且N=V带符号大于LE带符号小于等于AL无条件执行LTN<>V带符号小于逻辑左移:LSL:movR0,R1,LSL#2R0=R1<<2逻辑右移:LSR:movR0,R1,LSR#2R0=R1>>2算术左移:和LSL效果相同循环右移:RORMovr0,r1Movnr0,r1//取反Addr0,r1,Adcrd,rn,//带进位加法Rd=rn+oper2+

5、CPSR中C标志位(进位标志)Subr0,r1,Sbcrd,rn,//带进位减法Rd=rn+-CPSR中C标志位的值(进位标志)RSCrd,rn,//带进位的逆向减法RSCrd,rn,Mulrd,rm,rs//32位乘法Mlard,rm,rs,rn//32位乘加Rd=rm*rs+rnSmullrdl0,rdhi,rm,rs//64位乘法Rdl0=rm*rs保存结果的低32位Rdhi=rm*rs保存结果的高32位Smlaardlo,rdhi,rm,rs//64

6、位乘加Rdl0+=rm*rs的低32位Rdhi+=rm*rs的高32位ANDr0,r1,r2//r0=r1&r2ORr0,r1,r2//ro=r1

7、r2EORr0,r1,r2//异或Bicrd,rn,//位清除Rd=rn清除oper2中为1的位如:Bicr0,r0,#b1011//清除r0的013位Tstrd,//与测试如:tstr1,#b101测试r1中02位是否为1Teqrd,//异或测试一般用于判断相等Cmprd,CPSR标志位的更新=rd-CMNrd

8、,//CPSR标志位的更新=-rdBladdr//保存返回地址LRBaddr//不保存放回地址BxRn//跳转并切换处理器状态dengsl暂时还不懂Blxrm///跳转并切换处理器状态Mrsrd,cpsr/spsrMsrcpsr/spsr,rdLdrrd,[addr]//读内存数据Ldrr0,[r1,r2]r0ß[r1+r2]Ldrr0,[r1,#8]r0ß[r1+8]Ldrr0,[r1],#8r0ß[r1];r1+=8Ldrr0,[r1,r2]!R1ßr1+r2;r0ß[r1]Ldrb

9、r0,[r1,#8]r0ß[r1+8]将R0的高24位清零Ldrhr0,[r1,#8]r0ß[r1+8]将R0的高16位清零Strr0,[r1,#8]Strbr0,[r1,#8]Strhr0,[r1,#8]LDM{mode}RD!,{reglist}//加载Rd为基地址寄存器

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。