ARM体系结构与接口技术(一) 联系客服

发布时间 : 星期六 文章ARM体系结构与接口技术(一)更新完毕开始阅读2867eca3b80d6c85ec3a87c24028915f814d8458

ARM920TDMA处理器是哈佛结构,包括取指、译码、执行、存储、写入的五级流水线。包括cp14和cp15两个协处理器。16k数据缓存和16k指令缓存。虚拟地址64路相关缓存。每线8字。

ARM的基本数据类型:

ARM采用的是32位架构,基本上数据类型有以下三种: Byte :字节,8位

Halfword:半字,16bit(半字必须与2字节边界对齐 Word:字,32bit(必须与4字节边界对齐 所有的数据类型指令的操作数都是字类型。

ARM指令编译后是4字节(与字边界对齐,Thumb指令编译后是2字节(与半字对齐

存储器大/小端

Arm支持大端模式和小端模式。在大端模式下,一个字的高地址放的是数据的地位,在小端模式下,数据的低地址放的是数据的低位。

ARM920T,有7中工作模式: 用户模式(User,正常程序执行模式。

快速中断模式(FIQ,当一个高优先级中断产生时将会进入该模式,一般用于高速数据传输和通道处理。

外部中断模式(IRQ,当一个低优先级中断产生时将会进入该模式,一般用于通常的中断处理

特权模式(Supervise,当复位或软中断指令执行时进入该模式,是一种供操作系统使用的保护模式。

数据访问中止模式(abort,当存取异常时将会进入该模式,用于虚拟存储或存储保护未定义指令中止模式(undef,当执行未定义指令时进入该模式,有时用于通过软件仿真协处理器硬件的工作方式

系统模式(system使用和user模式相同的寄存器集模式,用于运行特权级操作系统任务

除了用户模式,其他六中均为特权模式。在特权模式下,程序可以访问所有的系统资源,也可以任意的进行处理器模式切换。

流水线的概念与原理

处理器按照一系列的步骤来执行每一条指令,典型的步骤如下: 1、从存储器读取指令(fetch

2、译码以鉴别它是属于哪一条指令(decode

3、从指令中提取指令的操作数(这些操作数往往存在于寄存器中(reg 4、将操作数进行组合以得到结果或存储器地址(ALU 5、如果需要,则访问存储器以存储数据(mem 6、将结果写回到寄存器堆(res 流水线的分类:

1、3级流水线ARM组织 取指令—>译码—>执行

2、5级流水线ARM组织

取指令—>译码—>执行—>缓冲/数据—>回写 3、6级流水线ARM组织

取指令—>发射—>译码—>执行—>存储—>回写 影响流水线性能的因素:

1、互锁:即一条指令的结果被用作下一条指令的操作数 2、跳转指令:

ARM为微处理器指令系统 ARM处理器的寻址方式: 1、立即数寻址方式 2、寄存器寻址方式 3、寄存器移位寻址方式 内存访问指令寻址方式:

内存访问指令的寻址方式可以分为以下几种 1、字及无符号字节的load/store指令的寻址方式 2、杂类load/store指令的寻址方式 3、批量load/store指令的寻址方式 4、协处理器load/store指令的寻址方式 ARM处理器的指令集

操作数指令集:

MOV:执行的结果就是把一个数N送到目标寄存器Rd,其中N可以是寄存器也可以是立即数

MVN:是反相传送指令,它将操作数的反码传送到目的寄存器,多用于向寄存器传送一个负数或者生成位掩码。

AND:指令将shifter_operand表示的数值与寄存器Rn的值按位做逻辑与操作,并将结果保存到目标寄存器Rd中,同时根据操作的结果更新CPSR寄存器

EOR:指令时将寄存器Rn中的值和shifter_operand的执行行按位异或操作,并将执行结果存储到目的寄存器Rd中,同时根据指令的执行结果更新到 CPSR中相应的条件标志位

SUB:指令从急促安全Rn中减去shifter_operand表示的数值,并将结果存到目标寄存器Rd中,同时更具指令的执行结果设置CPSR中相应的标志位

RSB :指令从寄存器shifter_operand中减去Rn表示的数值,并将结果保存到目标寄存器Rd中,同时更具指令的执行结果设置CPSR中的相应位。

ADC:指令将寄存器shifter_operand的值加上Rn表示的值,再加上CPSR中的C条件标志位的值,并将结果保存到目标寄存器Rd中,同时根据指令的执行结果设置CPSR中相应的标志位

SBC指令用于执行操作数大于32位时的减法操作。该指令从寄存器Rn中减去shifter_operand表示的数值,再减去寄存器CPSR中C条件标志位的反码,并将结果保存到目标寄存器Rd中,同时根据指令的执行结果哦设置CPSR中相应的标志位。

RSC指令从寄存器shifter_operand中减去Rn表示的数值,再减去寄存器CPSR中C条件标志位的反码,并将结果保存到目标寄存器Rd中,同时根据指令的执行结果设置CPSR 中相应的标志位