安徽理工大学计算机汇编教程ARM系统结构.ppt
《安徽理工大学计算机汇编教程ARM系统结构.ppt》由会员分享,可在线阅读,更多相关《安徽理工大学计算机汇编教程ARM系统结构.ppt(62页珍藏版)》请在三一办公上搜索。
1、2023/9/24,第16章 ARM 系统结构,1,8086/8088和ARM核汇编语言程序设计,第16章ARM系统结构,2023/9/24,第16章 ARM 系统结构,2,16.2 ARM微处理器的工作模式,16.3 ARM微处理器的寄存器组织,第15章 ARM CPU 概述,16.1 ARM微处理器的工作状态,16.4 ARM异常处理,16.5 ARM体系中的存储系统,2023/9/24,第16章 ARM 系统结构,3,ARM处理器支持下列数据类型:字节 8位半字 16位(必须分配为占用两个字节)字 32为(必须分配为占用4各字节),2023/9/24,第16章 ARM 系统结构,4,AR
2、M处理器有两种操作状态:ARM状态:32位,这种状态下执行的是字方式的ARM指令;Thumb状态:16位,这种状态下执行半字方式的Thumb指令。,16.1 ARM微处理器的工作状态,注意:两个状态之间的切换并不影响处理器模式或寄存器内容。,2023/9/24,第16章 ARM 系统结构,5,处理器状态的切换,使用BX指令将ARM7TDMI内核的操作状态在ARM状态和Thumb状态之间进行切换。,;从Arm状态切换到Thumb状态 LDR R0,=Lable+1 BX R0;从Thumb状态切换到ARM状态 LDR R0,=Lable BX R0,地址最低位为1,表示切换到Thumb状态,地址
3、最低位为0,表示切换到ARM状态,跳转地址标号,2023/9/24,第16章 ARM 系统结构,6,16.2 ARM微处理器的工作模式,16.3 ARM微处理器的寄存器组织,第15章 ARM CPU 概述,16.1 ARM微处理器的工作状态,16.4 ARM异常处理,16.5 ARM体系中的存储系统,2023/9/24,第16章 ARM 系统结构,7,16.2 ARM微处理器的工作模式,ARM体系结构支持7种处理器模式,分别为:用户模式、快中断模式、中断模式、管理模式、中止模式、未定义模式和系统模式,如下表所示。这样的好处是可以更好的支持操作系统并提高工作效率。ARM7TDMI完全支持这七种模
4、式。,2023/9/24,第16章 ARM 系统结构,8,16.2 ARM微处理器的工作模式,2023/9/24,第16章 ARM 系统结构,9,特权模式,除用户模式外,其它模式均为特权模式。ARM内部寄存器和一些片内外设在硬件设计上只允许(或者可选为只允许)特权模式下访问。此外,特权模式可以自由的切换处理器模式,而用户模式不能直接切换到别的模式。,2023/9/24,第16章 ARM 系统结构,10,异常模式,这五种模式称为异常模式。它们除了可以通过程序切换进入外,也可以由特定的异常进入。当特定的异常出现时,处理器进入相应的模式。每种异常模式都有一些独立的寄存器,以避免异常退出时用户模式的状
5、态不可靠。,2023/9/24,第16章 ARM 系统结构,11,用户和系统模式,这两种模式都不能由异常进入,而且它们使用完全相同的寄存器组。系统模式是特权模式,不受用户模式的限制。操作系统在该模式下访问用户模式的寄存器就比较方便,而且操作系统的一些特权任务可以使用这个模式访问一些受控的资源。,2023/9/24,第16章 ARM 系统结构,12,16.2 ARM微处理器的工作模式,16.3 ARM微处理器的寄存器组织,第15章 ARM CPU 概述,16.1 ARM微处理器的工作状态,16.4 ARM异常处理,16.5 ARM体系中的存储系统,2023/9/24,第16章 ARM 系统结构,
6、13,ARM状态各模式下的寄存器,2023/9/24,第16章 ARM 系统结构,14,所有的37个寄存器,分成两大类:31个通用32位寄存器;6个状态寄存器。,2023/9/24,第16章 ARM 系统结构,15,2023/9/24,第16章 ARM 系统结构,16,在汇编语言中寄存器R0R13为保存数据或地址值的通用寄存器。它们是完全通用的寄存器,不会被体系结构作为特殊用途,并且可用于任何使用通用寄存器的指令。,2023/9/24,第16章 ARM 系统结构,17,其中R0R7为未分组的寄存器,也就是说对于任何处理器模式,这些寄存器都对应于相同的32位物理寄存器。,2023/9/24,第1
7、6章 ARM 系统结构,18,寄存器R8R14为分组寄存器。它们所对应的物理寄存器取决于当前的处理器模式,几乎所有允许使用通用寄存器的指令都允许使用分组寄存器,2023/9/24,第16章 ARM 系统结构,19,寄存器R8R12有两个分组的物理寄存器。一个用于除FIQ模式之外的所有寄存器模式,另一个用于FIQ模式。这样在发生FIQ中断后,可以加速FIQ的处理速度。,2023/9/24,第16章 ARM 系统结构,20,寄存器R13、R14分别有6个分组的物理寄存器。一个用于用户和系统模式,其余5个分别用于5种异常模式。,2023/9/24,第16章 ARM 系统结构,21,寄存器R13常作为
8、堆栈指针(SP)。在ARM指令集当中,没有以特殊方式使用R13的指令或其它功能,只是习惯上都这样使用。但是在Thumb指令集中存在使用R13的指令。,2023/9/24,第16章 ARM 系统结构,22,R14为链接寄存器(LR),在结构上有两个特殊功能:在每种模式下,模式自身的R14版本用于保存子程序返回地址;当发生异常时,将R14对应的异常模式版本设置为异常返回地址(有些异常有一个小的固定偏移量)。,2023/9/24,第16章 ARM 系统结构,23,R14寄存器与子程序调用,MOV PC,LR,R14(地址A),1.程序A执行过程中调用程序B;,操作流程,2.程序跳转至标号Lable,
9、执行程序B。同时硬件将“BL Lable”指令的下一条指令所在地址存入R14;,3.程序B执行最后,将R14寄存器的内容放入PC,返回程序A;,2023/9/24,第16章 ARM 系统结构,24,R14寄存器与异常发生,异常发生时,程序要跳转至异常服务程序,对返回地址的处理与子程序调用类似,都是由硬件完成的。区别在于有些异常有一个小常量的偏移。,2023/9/24,第16章 ARM 系统结构,25,R14寄存器注意要点,当发生异常嵌套时,这些异常之间可能会发生冲突。例如:如果用户在用户模式下执行程序时发生了IRQ中断,用户模式寄存器不会被破坏。但是如果允许在IRQ模式下的中断处理程序重新使能
10、IRQ中断,并且发生了嵌套的IRQ中断时,外部中断处理程序保存在R14_irq中的任何值都将被嵌套中断的返回地址所覆盖。,2023/9/24,第16章 ARM 系统结构,26,R14寄存器注意要点,a,return,地址A,1.执行用户模式下的程序;,2.发生IRQ中断,硬件将某个地址存入IRQ模式下的R14_irq寄存器,用户模式下的R14没有被破坏;,3.IRQ服务程序A执行完毕,将R14_irq寄存器的内容减去某个常量后存入PC,返回之前被中断的程序;,未被破坏,2023/9/24,第16章 ARM 系统结构,27,R14寄存器注意要点,a,地址A,1.执行用户模式下的程序;,2.发生I
11、RQ中断,硬件将某个地址存入IRQ模式下的R14_irq寄存器,用户模式下的R14没有被破坏;,3.IRQ服务程序A执行完毕,将R14_irq寄存器的内容减去某个常量后存入PC,返回之前被中断的程序;,未被破坏,a,return,地址B,4.如果在IRQ处理程序中打开IRQ中断,并且再次发生IRQ中断,或者调用子程序;,5.硬件将返回地址保存在R14_irq寄存器中,原来保存的返回地址将被覆盖,造成错误;,被破坏,6.在程序B返回到程序A,然后在返回到用户模式下被中断的程序时,发生错误,将不能正确返回;,return,return,解决办法是确保R14的对应版本在发生中断嵌套时不再保存任何有意
12、义的值(将R14入栈),或者切换到其它处理器模式下。,2023/9/24,第16章 ARM 系统结构,28,寄存器R15为程序计数器(PC),它指向正在取指的地址。可以认为它是一个通用寄存器,但是对于它的使用有许多与指令相关的限制或特殊情况。如果R15使用的方式超出了这些限制,那么结果将是不可预测的。,2023/9/24,第16章 ARM 系统结构,29,读R15的限制,正常操作时,从R15读取的值是处理器正在取指的地址,即当前正在执行指令的地址加上8个字节(两条ARM指令的长度)。由于ARM指令总是以字为单位,所以R15寄存器的最低两位总是为0。,2023/9/24,第16章 ARM 系统结
13、构,30,读R15的限制,当使用STR或STM指令保存R15时,会有一个例外。这些指令可能将当前指令地址加8字节或加12字节保存(将来可能还有其它数字)。偏移量是8还是12取决于具体的ARM芯片,但是对于一个确定的芯片,这个值是一个常量。所以最好避免使用STR和STM指令来保存R15,如果很难做到,那么应当在程序中计算出该芯片的偏移量。,2023/9/24,第16章 ARM 系统结构,31,读R15的限制,计算偏移量程序代码:,SUBR1,PC,#4;R1=下面STR指令的地址STRPC,R0;保存STR指令地址+偏移量LDRR0,R0;然后重装SUBR0,R0,R1;计算偏移量,2023/9
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 安徽理工 大学计算机 汇编 教程 ARM 系统 结构

链接地址:https://www.31ppt.com/p-6100386.html