嵌入式系统汇编指令与ARM处理器架构综述.pptx

嵌入式系统汇编指令与ARM处理器架构综述.pptx

第二章指令系统-ARMSHARC

2.1体系结构分类冯?诺伊曼结构哈佛结构存储器CPU程序存储器CPU数据存储器

体系结构分类精简指令系统(RISC)复杂指令系统(CISC)

2.2ARM处理器体系结构:版本1~版本6变种:Thumb指令集(T);长乘法指令(M);增强DSP指令(E);Java加速器(J);多媒体扩展(SIMD)

2.2.1ARM处理器系列-ARM7ARM7DMI内核32位RISC,最高主频130M,支持Thumb指令集包括:ARM7TDMI,ARM7TDMI-S,ARM7EJ-S,ARM720T4特点:低功耗;代码密度高;众多操作系统支持;代码兼容ARM9,ARM9E,ARM10E处理器;

ARM处理器系列-ARM9ARM9TDMI内核包括ARM920T、ARM922T、ARM940T支持32位ARM与16位Thumb指令集五级整数流水线32位AMBA总线接口含MMU及MPU统一的数据与指令cache

ARM处理器系列-ARM9E包括ARM926EJ-S、ARM946E-S、ARM966E-S三种类型包含DSP指令集可选的VFP9浮点协处理器

ARM处理器系列-ARM10EARM1020E,ARM1022E,ARM1026EJ-S六级流水线400M主频VFP10浮点协处理器

SecurCore系列支持ARM及Thumb指令集包括SecurCoreSC100,SecurCoreSC110,SecurCoreSC200及SecurCoreSC2104软内核技术,提供灵活性提供安全特性,抵制攻击提供面向智能卡的存储保护单元MPU

其它IntelXscale系列IntelStrongARM系列

2.2.2ARM寄存器组31个32位通用寄存器R0~R7:无备份寄存器:8R8~R12:备份寄存器(快速中断FIQ):10R13:栈指针:6R14:连接寄存器:6R15:PC:1

ARM寄存器组CPSR(程序状态寄存器)条件标志位:NZCVQ:DSP是否溢出控制位I:IRQ中断禁止位控制位F:FIQ中断禁止位控制位T:指示是ARM还是Thumb指令M[4:0]:指示处理器模式N|Z|C|V|Q|DNM(RAZ)|I|F|T|M4|M3|M2|M1|M0

2.2.3ARM指令分类数据处理指令Load/Store指令跳转指令程序状态寄存器传输指令协处理器指令异常中断产生指令

指令格式cond|00|X|opcode|S|Rn|Rd|格式由X位决定31272524201915110X=1立即数方式#rot|8位立即数1170X=0#shift|Sh|0|Rm116430Rs|0|Sh|1|Rm1176430

指令语法opcode{cond}{S}Rd,Rn,shifter_operandMOV R3,R2ADD R3,R1,R2ADD R0,R1,#2LDR R0,[R1,-R2]LDR R0,[R1,#4]

2.2.3.1数据处理指令数据传送指令MOV R0,R1MVN R0,[R1]算术运算指令ADD R0,R1,R1,LSL#1 ;R0=R1+R1*2SUB R0,R0,#1 ;R0=R0-1AND R0,R1,#15比较指令CMP R1,#256TST R1,#255

2.2.3.2Load/Store指令32位字指令LDR R0,[R1,#4]LDR R0,[R1,R2]STR R0,[R1,#100]8位字节指令LDRB R0,[R1]LDRBT R0,[R1,R2,LSL#2]STRB R0,[R1]半字指令LDRH R0,[R1]LDRSH R0,[R1],#2伪指令ADR R1,X

2.2.3.3跳转指令跳转指令范围32MBB LabelB #100 ;PC+400BLFunc

示例1X=(a+b)-CADR r4,aLDR r0,[r4]ADR r4,bLDR r1,[r4]ADD r3,r0,r1ADR r4,cLDR r2,[r4]SUB r3,r3,r2ADR r4,xSTR r3,[r4]

示例2Z=(a2)|(b15)ADR r4,aLDR r0

文档评论(0)

1亿VIP精品文档

相关文档