资源描述:
《ARM体系结构与接口技术(一)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、ARM920TDMA处理器是哈佛结构,包括取指、译码、执行、存储、写入的五级流水线。包括cp14和cp15两个协处理器。16k数据缓存和16k指令缓存。虚拟地址64路相关缓存。每线8字。ARM的基本数据类型:ARM采用的是32位架构,基本上数据类型有以下三种:Byte:字节,8位Halfword:半字,16bit(半字必须与2字节边界对齐Word:字,32bit(必须与4字节边界对齐所有的数据类型指令的操作数都是字类型。ARM指令编译后是4字节(与字边界对齐,Thumb指令编译后是2字节(与半字对齐存储器大/小端A
2、rm支持大端模式和小端模式。在大端模式下,一个字的高地址放的是数据的地位,在小端模式下,数据的低地址放的是数据的低位。ARM920T,有7中工作模式:用户模式(User,正常程序执行模式。快速中断模式(FIQ,当一个高优先级中断产生时将会进入该模式,一般用于高速数据传输和通道处理。外部中断模式(IRQ,当一个低优先级中断产生时将会进入该模式,一般用于通常的中断处理特权模式(Supervise,当复位或软中断指令执行时进入该模式,是一种供操作系统使用的保护模式。数据访问中止模式(abort,当存取异常时将会进入该模式
3、,用于虚拟存储或存储保护未定义指令中止模式(undef,当执行未定义指令时进入该模式,有时用于通过软件仿真协处理器硬件的工作方式系统模式(system使用和user模式相同的寄存器集模式,用于运行特权级操作系统任务除了用户模式,其他六中均为特权模式。在特权模式下,程序可以访问所有的系统资源,也可以任意的进行处理器模式切换。流水线的概念与原理处理器按照一系列的步骤来执行每一条指令,典型的步骤如下:1、从存储器读取指令(fetch2、译码以鉴别它是属于哪一条指令(decode3、从指令中提取指令的操作数(这些操作数往往
4、存在于寄存器中(reg4、将操作数进行组合以得到结果或存储器地址(ALU5、如果需要,则访问存储器以存储数据(mem6、将结果写回到寄存器堆(res流水线的分类:1、3级流水线ARM组织取指令—>译码—>执行2、5级流水线ARM组织取指令—>译码—>执行—>缓冲/数据—>回写3、6级流水线ARM组织取指令—>发射—>译码—>执行—>存储—>回写影响流水线性能的因素:1、互锁:即一条指令的结果被用作下一条指令的操作数2、跳转指令:ARM为微处理器指令系统ARM处理器的寻址方式:1、立即数寻址方式2、寄存器寻址方式3、
5、寄存器移位寻址方式内存访问指令寻址方式:内存访问指令的寻址方式可以分为以下几种1、字及无符号字节的load/store指令的寻址方式2、杂类load/store指令的寻址方式3、批量load/store指令的寻址方式4、协处理器load/store指令的寻址方式ARM处理器的指令集操作数指令集:MOV:执行的结果就是把一个数N送到目标寄存器Rd,其中N可以是寄存器也可以是立即数MVN:是反相传送指令,它将操作数的反码传送到目的寄存器,多用于向寄存器传送一个负数或者生成位掩码。AND:指令将shifter_opera
6、nd表示的数值与寄存器Rn的值按位做逻辑与操作,并将结果保存到目标寄存器Rd中,同时根据操作的结果更新CPSR寄存器EOR:指令时将寄存器Rn中的值和shifter_operand的执行行按位异或操作,并将执行结果存储到目的寄存器Rd中,同时根据指令的执行结果更新到CPSR中相应的条件标志位SUB:指令从急促安全Rn中减去shifter_operand表示的数值,并将结果存到目标寄存器Rd中,同时更具指令的执行结果设置CPSR中相应的标志位RSB:指令从寄存器shifter_operand中减去Rn表示的数值,并将
7、结果保存到目标寄存器Rd中,同时更具指令的执行结果设置CPSR中的相应位。ADC:指令将寄存器shifter_operand的值加上Rn表示的值,再加上CPSR中的C条件标志位的值,并将结果保存到目标寄存器Rd中,同时根据指令的执行结果设置CPSR中相应的标志位SBC指令用于执行操作数大于32位时的减法操作。该指令从寄存器Rn中减去shifter_operand表示的数值,再减去寄存器CPSR中C条件标志位的反码,并将结果保存到目标寄存器Rd中,同时根据指令的执行结果哦设置CPSR中相应的标志位。RSC指令从寄存器
8、shifter_operand中减去Rn表示的数值,再减去寄存器CPSR中C条件标志位的反码,并将结果保存到目标寄存器Rd中,同时根据指令的执行结果设置CPSR中相应的标志位TST测试执行用于将一个寄存器的值和一个算术值进行比较,条件标志位根据两个操作数做逻辑与后的结果设置。TEQ指令用于将一个寄存器的值和一个算术值做比较,条件标志位根据两个操作数做逻辑异或