欢迎来到天天文库
浏览记录
ID:22195344
大小:229.01 KB
页数:15页
时间:2018-10-27
《嵌入式微处理器体系结构复习资料》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、一、嵌入式微处理器体系结构嵌入式微处理器的体系结构可以采用冯•诺依曼体系结构或哈佛体系结构,指令系统可以选用精简指令系统RISC和复杂指令集系统CISC。1、冯•诺依曼体系结构和哈佛体系结构;(1)冯•诺依曼结构的计算机由CPU和存储器构成,其程序和数据共用一个存储空间,程序指令存储地址和数据存储地址指向同一个存储器的不同物理位置;采用单一的地址及数裾总线,程序指令和数据的宽度相同。程序计数器(PC)是CPU内部指示指令和数据的存储位置的寄存器。(2)哈佛结构的主要特点是将程序和数据存储在不同的存储空间中,即程序存储器和数
2、据存储器是两个相互独立的存储器,每个存储器独立编址、独立访问。提高执行速度,提高数据的吞吐率,具有较高的执行效率。2、CISC和RISC类别CISCRISC指令系统指令数量很多较少,通常少于100执行时间有些指令执行时间很长,如整块的存储器内容拷W;或将多个寄存器的内界拷贝到存贮器没有较长执行时间的指令编码长度编码长度讨变,1-15字节编码长度固定,通常为4个字节寻址方式寻址方式多样简单寻址操作可以对存储器和寄存器只能对寄存器对行算术和逻辑操作,进行算术和逻辑操作Load/Store体系绍构编译难以用优化编译器生成高效的H
3、标代码程序采用优化编译技术,生成高效的目标代码程序二、ARM状态各模式下的寄存器1、所有的37个寄存器,分成两大类:(1)31个通用32位寄存器;(2)6个状态寄存器。2、R0〜R7为未分组的寄存器,也就是说对于任何处理器模式,这些寄存器都对应于相同的32位物理寄存器。3、寄存器R8〜R14为分组寄存器。它们所对应的物理寄存器取决于当前的处理器模式,几乎所有允许使用通用寄存器的指令都允许使用分组寄存器4、寄存器R8〜R12有两个分组的物理寄存器。一个用于除FIQ模式之外的所有寄存器模式,另一个用于FIQ模式。这样在发生FI
4、Q屮断后,可以加速FIQ的处理速度5、寄存器R13、R14分别有6个分组的物理寄存器。一个用于用户和系统模式,其余5个分别用于5种异常模式。三、处理器工作模式1、ARM处理器有7种工作模式;•usr(用户模式):ARM处理器正常程序执行模式。•fiq(快速中断模式):用于高速数据传输成通道处理•irq(外部中断模式):用于通用的中断处理•SVC(管理模式):操作系统使用的保护模式•abt(数据访问终止模式):当数据或指令预取终止时进入该模式,可用于虚拟存储及存储保护。•sys(系统模式):运行具有特权的操作系统任务。•un
5、d(未定义指令中止模式):当未定义的指令执行时进入该模式,可用于支持硬件协处理器的软件仿真。ARM微处理器的运行模式可以通过软件改变,也可以通过外部屮断或异常处理改变。除用户模式以外,其余的所有6种模式称之为非用户模式,或特权模式(PrivilegedModes);其中除去川户模式和系统模式以外的5种又称力异常模式(ExceptionModes),常用于处理中断或异常,以及需要访问受保护的系统资源等情况。2、除用户模式外,其它模式均为特权模式。ARM内部全部系统资源和一些片内外设在硬件设计上只允许(或者可选为只允许)特权模
6、式下访问。3、此外,特权模式可以自由的切换处理器模式,而用户模式不能直接切换到别的模式。四、ARM异常处理1、当异常产生时,ARM核:(1)拷贝CPSR至ijSPSR_(2)设置适当的CPSR位:a.改变处理器状态进入ARM态b.改变处理器模式进入相应的异常模式c.设置屮断禁止位禁止相应屮断(如需要)(3)保存返回地址到LR_(4)设置PC为相应的异常向量地址2、返回时,异常处理程序需要:(1)从SPSR_7、行.五、ARM指令集1、ARM寻址方式:掌握ARM微处理器9种寻址方式的特点。(1).寄存器寻址操作数的值在寄存器屮,指令屮的地址码字段给出的是寄存器编号,寄存器的A容是操作数,指令执行吋直接取出寄存器值操作。例如指令:MOVR1,R2;R1-R2SUBRO,R1,R2;RO—R1-R2(2).立即寻址在立即寻址指令中数据就包含在指令当中,立即寻址指令的操作码字段后面的地址码部分就是揀作数本身,収出指令也就収出了可以立即使川的操作数(也称力立即数)。立即数要以“井”为前缀,表示16进制数值时以“Ox”表示。例如指令:ADD8、R0,R0,#l;R0—RO+1MOVRO,#OxffOO;RO-OxffOO(1).寄存器移位寻址寄存器移位寻址是ARM指令集特有的寻址方式。第2个寄存器操作数在与第1个操作数结合之前,先进行移位操作。例如指令:MOVR0,R2,LSL#3:R2的值左移3位,结果放入R0,即R0=R2*8ANDSR1
7、行.五、ARM指令集1、ARM寻址方式:掌握ARM微处理器9种寻址方式的特点。(1).寄存器寻址操作数的值在寄存器屮,指令屮的地址码字段给出的是寄存器编号,寄存器的A容是操作数,指令执行吋直接取出寄存器值操作。例如指令:MOVR1,R2;R1-R2SUBRO,R1,R2;RO—R1-R2(2).立即寻址在立即寻址指令中数据就包含在指令当中,立即寻址指令的操作码字段后面的地址码部分就是揀作数本身,収出指令也就収出了可以立即使川的操作数(也称力立即数)。立即数要以“井”为前缀,表示16进制数值时以“Ox”表示。例如指令:ADD
8、R0,R0,#l;R0—RO+1MOVRO,#OxffOO;RO-OxffOO(1).寄存器移位寻址寄存器移位寻址是ARM指令集特有的寻址方式。第2个寄存器操作数在与第1个操作数结合之前,先进行移位操作。例如指令:MOVR0,R2,LSL#3:R2的值左移3位,结果放入R0,即R0=R2*8ANDSR1
此文档下载收益归作者所有