第2章ARM技术概述2.ppt
《第2章ARM技术概述2.ppt》由会员分享,可在线阅读,更多相关《第2章ARM技术概述2.ppt(65页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、嵌入式原理及应用第二章 ARM技术概述廖京盛茂名学院计算机与电子信息学院自动化系电气教研室2.8 ARM920T内部功能及特点2.6 数据类型n字节(字节(ByteByte):在ARM体系结构和8位/16位处理器体系结构中,字节的长度均为8位。n字(字(WordWord):在ARM体系结构中,字的长度为32位,而在8位/16位处理器体系结构中,字的长度一般为16位。(注:字必须与(注:字必须与4 4字节的边界对准。)字节的边界对准。)n半字(半字(Half-WordHalf-Word):在ARM体系结构中,半字的长度为16位,与8位/16位处理器体系结构中字的长度一致。(注:半字必须与(注:半
2、字必须与2 2字节的边界对准。)字节的边界对准。)1112342ARMARM的体系结构的体系结构ARMARM的指令存储结构的指令存储结构THUMBTHUMB的指令存储结构的指令存储结构3232位位存储存储结构结构1616位位存存储储结结构构2.6.3 存储器格式ARM体系结构所支持的最大寻址空间为体系结构所支持的最大寻址空间为4GB(232字节)字节)u大端格式(大端格式(Big Endian)字数据的高字节存储在低地址中,而字数据的低字节则存字数据的高字节存储在低地址中,而字数据的低字节则存放在高地址中。放在高地址中。u小端格式小端格式(Little Endian)低地址中存放的是字数据的低
3、字节,高地址存放的是字数低地址中存放的是字数据的低字节,高地址存放的是字数据的高字节。据的高字节。2.6.3 存储器格式(0H)=0123H(4H)=4567H(8H)=89ABHBig Endian(0H)=3210H(4H)=7654H(8H)=BA98HLittle Endian字地址字地址0123456789AB048低低高高字地址字地址0123456789AB048低低高高r0=0 x11223344STR r0,r1LDRB r2,r1r1=0 x100Memory3 2 1 0 0 1 2 3Byte Lane3124 2316 158 70112233443124 2316 1
4、58 70112233443124 2316 158 70112233443124 2316 158 70000000443124 2316 158 7000000011Little endianBig endianR2=0 x44R2=0 x11n简介 ARM体系结构支持7种处理器(内核工作)模式,分别为:用户模式、快中断模式、中断模式、管理模式、中止模式、未定义模式和系统模式。这样的好处是可以更好的支持操作系统并提高工作效率。2.7 处理器模式处理器模式 处理器模式处理器模式说明说明备注备注 用户用户 (usr)正常程序工作模式正常程序工作模式不能直接切换到其它模式不能直接切换到其它模式
5、系统系统 (sys)用于支持操作系统的特权用于支持操作系统的特权任务等任务等与用户模式类似,但具有可以与用户模式类似,但具有可以直接切换到其它模式等特权直接切换到其它模式等特权 快中断快中断 (fiq)支持高速数据传输及通道支持高速数据传输及通道处理处理FIQ异常响应时进入此模式异常响应时进入此模式 中断中断 (irq)用于通用中断处理用于通用中断处理IRQ异常响应时进入此模式异常响应时进入此模式 管理管理 (svc)操作系统保护代码操作系统保护代码系统复位和软件中断响应时进系统复位和软件中断响应时进入此模式入此模式 中止中止 (abt)用于支持虚拟内存和用于支持虚拟内存和/或或存储器保护存储
6、器保护在在ARM7TDMI没有大用处没有大用处 未定义未定义(und)支持硬件协处理器的软件支持硬件协处理器的软件仿真仿真未定义指令异常响应时进入此未定义指令异常响应时进入此模式模式n处理器模式2.7 处理器模式处理器模式 n特权模式处理器模式说明备注 用户 (usr)正常程序工作模式不能直接切换到其它模式 系统 (sys)用于支持操作系统的特权任务等与用户模式类似,但具有可以直接切换到其它模式等特权 快中断 (fiq)支持高速数据传输及通道处理FIQ异常响应时进入此模式 中断 (irq)用于通用中断处理IRQ异常响应时进入此模式 管理 (svc)操作系统保护代码系统复位和软件中断响应时进入此
7、模式 中止 (abt)用于支持虚拟内存和/或存储器保护在ARM7TDMI没有大用处 未定义 (und)支持硬件协处理器的软件仿真未定义指令异常响应时进入此模式 除用户模式外,其它模式均为特权模式。ARM内部寄存器和一些片内外设在硬件设计上只允许(或者可选为只允许)特权模式下访问。此外,特权模式可以自由的切换处理器模式,而用户模式不能直接切换到别的模式。未定义 (und)中止 (abt)管理 (svc)中断 (irq)快中断 (fiq)系统 (sys)2.4 处理器模式 n异常模式处理器模式说明备注 用户 (usr)正常程序工作模式不能直接切换到其它模式 系统 (sys)用于支持操作系统的特权任
8、务等与用户模式类似,但具有可以直接切换到其它模式等特权 快中断 (fiq)支持高速数据传输及通道处理FIQ异常响应时进入此模式 中断 (irq)用于通用中断处理IRQ异常响应时进入此模式 管理 (svc)操作系统保护代码系统复位和软件中断响应时进入此模式 中止 (abt)用于支持虚拟内存和/或存储器保护在ARM7TDMI没有大用处 未定义 (und)支持硬件协处理器的软件仿真未定义指令异常响应时进入此模式 未定义 (und)中止 (abt)管理 (svc)中断 (irq)快中断 (fiq)这五种模式称为异常模式。它们除了可以通过程序切换进入外,也可以由特定的异常进入。当特定的异常出现时,处理器
9、进入相应的模式。每种异常模式都有一些独立的寄存器,以避免异常退出时用户模式的状态不可靠。2.4 处理器模式 n用户和系统模式处理器模式说明备注 用户 (usr)正常程序工作模式不能直接切换到其它模式 系统 (sys)用于支持操作系统的特权任务等与用户模式类似,但具有可以直接切换到其它模式等特权 快中断 (fiq)支持高速数据传输及通道处理FIQ异常响应时进入此模式 中断 (irq)用于通用中断处理IRQ异常响应时进入此模式 管理 (svc)操作系统保护代码系统复位和软件中断响应时进入此模式 中止 (abt)用于支持虚拟内存和/或存储器保护在ARM7TDMI没有大用处 未定义 und)支持硬件协
10、处理器的软件仿真未定义指令异常响应时进入此模式 这两种模式都不能由异常进入,而且它们使用完全相同的寄存器组。系统模式是特权模式,不受用户模式的限制。操作系统在该模式下访问用户模式的寄存器就比较方便,而且操作系统的一些特权任务可以使用这个模式访问一些受控的资源。系统 (sys)用户 (usr)2.7 处理器模式 处理器启动时的模式转换图处理器启动时的模式转换图管理模式管理模式SVC(Supervisor)多种特权模式变化多种特权模式变化用户程序的运行模式用户程序的运行模式 复位后复位后缺省模式缺省模式主要完成各主要完成各模式的堆栈模式的堆栈设置,注意设置,注意不要进入用不要进入用户模式户模式一般
11、为用户一般为用户模式模式UserARM微处理器的处理器模式(2)ARM微处理器的运行模式可以通过软件改变(特权模式),微处理器的运行模式可以通过软件改变(特权模式),也可以通过外部中断或异常处理改变。也可以通过外部中断或异常处理改变。大多数的应用程序运行在用户模式下,当处理器运行在用大多数的应用程序运行在用户模式下,当处理器运行在用户模式下时,某些被保护的系统资源是不能被访问的。也户模式下时,某些被保护的系统资源是不能被访问的。也不能改变模式。除非异常发生。不能改变模式。除非异常发生。特权模式可以自由地访问系统资源和改变模式。特权模式可以自由地访问系统资源和改变模式。ARM ARM存储系统有非
12、常灵活的体系结构,可存储系统有非常灵活的体系结构,可以适应不同的嵌入式应用系统的需要。以适应不同的嵌入式应用系统的需要。ARMARM存存储器系统可以使用简单的平板式地址映射机制储器系统可以使用简单的平板式地址映射机制(就像一些简单的单片机一样,地址空间的分(就像一些简单的单片机一样,地址空间的分配方式是固定的,系统中各部分都使用物理地配方式是固定的,系统中各部分都使用物理地址),也可以使用其他技术提供功能更为强大址),也可以使用其他技术提供功能更为强大的存储系统。的存储系统。2.8 ARM2.8 ARM存储系统存储系统 例如:例如:(1 1)系统可能提供多种类型的存储器件,)系统可能提供多种类
13、型的存储器件,如如FlashFlash、ROMROM、SRAMSRAM等;等;(2 2)CacheCache技术;技术;(3 3)写缓存技术()写缓存技术(write bufferswrite buffers););(4 4)虚拟内存和)虚拟内存和I/OI/O地址映射技术。地址映射技术。大多数的系统通过下面的方法之一可实大多数的系统通过下面的方法之一可实现对复杂存储系统的管理。现对复杂存储系统的管理。(1 1)使用)使用CacheCache,缩小处理器和存储系统,缩小处理器和存储系统速度差别,从而提高系统的整体性能。速度差别,从而提高系统的整体性能。(2 2)使用内存映射技术实现虚拟空间到)使
14、用内存映射技术实现虚拟空间到物理空间的映射。物理空间的映射。(3 3)引入存储保护机制,增强系统的安)引入存储保护机制,增强系统的安全性。全性。(4 4)引入一些机制保证将)引入一些机制保证将I/OI/O操作映射成操作映射成内存操作后,各种内存操作后,各种I/OI/O操作能够得到正确的结操作能够得到正确的结果。果。(1 1)内核级的寄存器。)内核级的寄存器。(2 2)芯片级的紧耦合存储器)芯片级的紧耦合存储器TCMTCM。(3 3)芯片级的片上)芯片级的片上CacheCache存储器的容量在存储器的容量在8 832KB32KB之间,访问时间大约为之间,访问时间大约为10ns10ns。(4 4)
15、板卡级的)板卡级的DRAMDRAM。(5 5)外设级的后援存储器,通常是硬盘,)外设级的后援存储器,通常是硬盘,可能从几百可能从几百MBMB到几个到几个GBGB,访问时间为几十,访问时间为几十msms。ARM的存储器系统由多级构成(图2-4)2.8.1 协处理器(协处理器(CP15)ARM ARM处理器支持处理器支持1616个协处理器。个协处理器。CP15CP15,即通常所说的系统控制协处理器,即通常所说的系统控制协处理器(System Control CoprocesssorSystem Control Coprocesssor),它负责),它负责完成大部分的存储系统管理。完成大部分的存储系
16、统管理。CP15CP15包含包含1616个个3232位寄存器,其编号为位寄存器,其编号为0 01515。CP15CP15中的寄存器可能是只读的,也可能中的寄存器可能是只读的,也可能是只写的,还有一些是可读可写的。是只写的,还有一些是可读可写的。2.8.2 存储管理单元(存储管理单元(MMU)在创建多任务嵌入式系统时,最好有一个在创建多任务嵌入式系统时,最好有一个简单的方式来编写、装载及运行各自独立的任简单的方式来编写、装载及运行各自独立的任务。目前大多数的嵌入式系统不再使用自己定务。目前大多数的嵌入式系统不再使用自己定制的控制系统,而使用操作系统来简化这个过制的控制系统,而使用操作系统来简化这
17、个过程。较高级的操作系统采用基于硬件的存储管程。较高级的操作系统采用基于硬件的存储管理单元(理单元(MMUMMU)来实现上述操作。)来实现上述操作。MMU MMU提供的一个关键服务是使各个任务作提供的一个关键服务是使各个任务作为各自独立的程序在其自己的私有存储空间中为各自独立的程序在其自己的私有存储空间中运行。在带运行。在带MMUMMU的操作系统控制下,运行的任的操作系统控制下,运行的任务无须知道其他与之无关的任务的存储需求情务无须知道其他与之无关的任务的存储需求情况,这就简化了各个任务的设计。况,这就简化了各个任务的设计。MMU MMU提供了一些资源以允许使用虚拟存储提供了一些资源以允许使用
18、虚拟存储器(将系统物理存储器重新编址,可将其看成器(将系统物理存储器重新编址,可将其看成一个独立于系统物理存储器的存储空间)。一个独立于系统物理存储器的存储空间)。MMUMMU作为转换器,将程序和数据的虚拟地址作为转换器,将程序和数据的虚拟地址(编译时的连接地址)转换成实际的物理地址,(编译时的连接地址)转换成实际的物理地址,即在物理主存中的地址。这个转换过程允许运即在物理主存中的地址。这个转换过程允许运行的多个程序使用相同的虚拟地址,而各自存行的多个程序使用相同的虚拟地址,而各自存储在物理存储器的不同位置。储在物理存储器的不同位置。这样存储器就有两种类型的地址:虚拟地这样存储器就有两种类型的
19、地址:虚拟地址和物理地址。址和物理地址。2.8.3 高速缓冲存储器(高速缓冲存储器(Cache)Cache Cache是一个容量小但存取速度非常快的是一个容量小但存取速度非常快的存储器,它保存最近用到的存储器数据副本。存储器,它保存最近用到的存储器数据副本。CacheCache经常与写缓存器(经常与写缓存器(write bufferwrite buffer)一起)一起使用。使用。通过引入通过引入CacheCache和写缓存区,存储系统的和写缓存区,存储系统的性能得到了很大的提高,但同时也带来了一些性能得到了很大的提高,但同时也带来了一些问题。问题。2.9 2.9 流流 水水 线线2.9.1 流
20、水线的概念与原理流水线的概念与原理 处理器按照一系列步骤来执行每一条指令,处理器按照一系列步骤来执行每一条指令,典型的步骤如下:典型的步骤如下:(1 1)从存储器读取指令()从存储器读取指令(fetchfetch););(2 2)译码以鉴别它是属于哪一条指令)译码以鉴别它是属于哪一条指令(decodedecode););(3 3)从指令中提取指令的操作数(这些)从指令中提取指令的操作数(这些操作数往往存在于寄存器中)(操作数往往存在于寄存器中)(regreg););(4 4)将操作数进行组合以得到结果或存)将操作数进行组合以得到结果或存储器地址(储器地址(ALUALU););(5 5)如果需要
21、,则访问存储器以存储数)如果需要,则访问存储器以存储数据(据(memmem););(6 6)将结果写回到寄存器堆()将结果写回到寄存器堆(resres)。)。2.9.2 流水线的分类流水线的分类 到到ARM7ARM7为止的为止的ARMARM处理器使用简单的处理器使用简单的3 3级级流水线,它包括下列流水线级。流水线,它包括下列流水线级。(1 1)取指令()取指令(fetchfetch):从寄存器装载):从寄存器装载一条指令。一条指令。(2 2)译码()译码(decodedecode):识别被执行的指):识别被执行的指令,并为下一个周期准备数据通路的控制信号。令,并为下一个周期准备数据通路的控制
22、信号。在这一级,指令占有译码逻辑,不占用数据通在这一级,指令占有译码逻辑,不占用数据通路。路。(3 3)执行()执行(excuteexcute):处理指令并将结):处理指令并将结果写回寄存器。果写回寄存器。1 13 3级流水线级流水线ARMARM组织组织 在在ARM9TDMIARM9TDMI中使用了典型的中使用了典型的5 5级流水线,级流水线,5 5级流水线包括下面的流水线级。级流水线包括下面的流水线级。(1 1)取指令()取指令(fetchfetch):从存储器中取出):从存储器中取出指令,并将其放入指令流水线。指令,并将其放入指令流水线。(2 2)译码()译码(decodedecode):
23、指令被译码,从):指令被译码,从寄存器堆中读取寄存器操作数。在寄存器堆中寄存器堆中读取寄存器操作数。在寄存器堆中有有3 3个操作数读端口,因此,大多数个操作数读端口,因此,大多数ARMARM指令能指令能在在1 1个周期内读取其操作数。个周期内读取其操作数。2 25 5级流水线级流水线ARMARM组织组织 (3 3)执行()执行(executeexecute):将其中):将其中1 1个操作个操作数移位,并在数移位,并在ALUALU中产生结果。如果指令是中产生结果。如果指令是LoadLoad或或StoreStore指令,则在指令,则在ALUALU中计算存储器的地中计算存储器的地址。址。(4 4)缓
24、冲)缓冲/数据(数据(buffer/databuffer/data):如果):如果需要则访问数据存储器,否则需要则访问数据存储器,否则ALUALU只是简单地只是简单地缓冲缓冲1 1个时钟周期。个时钟周期。(5 5)回写()回写(write-backwrite-back):将指令的结果):将指令的结果回写到寄存器堆,包括任何从寄存器读出的数回写到寄存器堆,包括任何从寄存器读出的数据。据。在在ARM10ARM10中,将流水线的级数增加到中,将流水线的级数增加到6 6级,级,使系统的平均处理能力达到了使系统的平均处理能力达到了1.3DMIPS/MHz1.3DMIPS/MHz。3 36 6级流水线级流
25、水线ARMARM组织组织图图图图2-4 62-4 6级级级级流水流水流水流水线线线线指令的指令的指令的指令的执执执执行行行行过过过过程程程程2.9.3 影响流水线性能的因素影响流水线性能的因素1 1互锁互锁2 2跳转指令跳转指令简介简介2.10 寄存器组织寄存器组织nARM处理器有处理器有37(31+6)个物理寄存器个物理寄存器,有有18个可编程访问的寄存器。个可编程访问的寄存器。n寄存器被安排成部分重叠的组。在不同的寄存器被安排成部分重叠的组。在不同的工作模式和处理器状态下,程序员可以访工作模式和处理器状态下,程序员可以访问的寄存器也不尽相同。问的寄存器也不尽相同。n分组的寄存器在处理处理器
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ARM 技术 概述
限制150内