最新嵌入式系统-第二章PPT课件.ppt
《最新嵌入式系统-第二章PPT课件.ppt》由会员分享,可在线阅读,更多相关《最新嵌入式系统-第二章PPT课件.ppt(54页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、嵌入式系统嵌入式系统-第二章第二章第二章第二章 基于基于ARM920TARM920T核微处理器核微处理器n通用处理器系列通用处理器系列ARM7、ARM9、ARM9E和和ARM10E的特点及主要应用领域的特点及主要应用领域n嵌入式嵌入式ARM920T内核编程模型、内核编程模型、ARM920T的的运行模式、寄存器组织及运行模式、寄存器组织及ARM体系结构的存储体系结构的存储器格式器格式n三星三星S3C2410X处理器结构处理器结构2nD:支持片上:支持片上Debug,实现实时调试,实现实时调试nM:内嵌硬件乘法器:内嵌硬件乘法器(multiplier)解释:解释:硬件乘法器可以在单个指令周期内完成
2、乘法操作,硬件乘法器可以在单个指令周期内完成乘法操作,是区别于通用的微处理器的重要标志是区别于通用的微处理器的重要标志nI:嵌入式:嵌入式ICE,支持片上断点和调试点,支持片上断点和调试点92.1.3 ARM9系列微处理器系列微处理器具有高性能、低功耗,主要特点:具有高性能、低功耗,主要特点:n5级流水线,具有分开的指令和数据存储器,指令执行效率更高,具级流水线,具有分开的指令和数据存储器,指令执行效率更高,具体如下:体如下:(1)取指:)取指:从存储器中取出指令,并将其放入指令流水线。从存储器中取出指令,并将其放入指令流水线。(2)译码:)译码:对指令进行译码。对指令进行译码。(3)执行:)
3、执行:把一个操作数移位,产生把一个操作数移位,产生ALU(算术逻辑单元)算术逻辑单元)的结果。的结果。(4)缓冲)缓冲/数据:数据:如需要则访问数据存储器;否则如需要则访问数据存储器;否则ALU的结果只是简的结果只是简单地缓冲单地缓冲1个时钟周期,以便所有的指令具有同样的流水线流程。个时钟周期,以便所有的指令具有同样的流水线流程。(5)回写:)回写:将指令产生的结果回写到寄存器,包括任何从存储器中将指令产生的结果回写到寄存器,包括任何从存储器中读取的数据。读取的数据。5级流水线图级流水线图10n提供提供1.1MIPS/MHZ的哈佛结构的哈佛结构哈佛结构:哈佛结构:是一种将程序指令存储和数据存储
4、分开的存储器结构。是一种将程序指令存储和数据存储分开的存储器结构。n支持支持32位位ARM指令集和指令集和16位位Thumb指令集。指令集。n支持支持32位的高速位的高速AMBA总线接口总线接口AMBA:将将RISC处理器集成在其他处理器集成在其他IP芯核和外设中,它是有效连接芯核和外设中,它是有效连接IP核的核的“数字胶数字胶”,并且是,并且是ARM复用策略的重要组件。它不是芯片与外复用策略的重要组件。它不是芯片与外设之间的接口,而是设之间的接口,而是ARM内核与芯片上其他元件进行通信的接口。内核与芯片上其他元件进行通信的接口。n全性能的全性能的MMU支持支持WindowsCE、Linux、
5、PalmOS等多种主流嵌入等多种主流嵌入式操作系统。式操作系统。MMU:MemoryManagementUnit,内存管理单元,负责虚拟地址与,内存管理单元,负责虚拟地址与物理地址的转换。达到每个用户进程都拥有自己独立的地址空间的目物理地址的转换。达到每个用户进程都拥有自己独立的地址空间的目标。标。nMPU(MemoryProtectionUnit,内存保护单元)支持实时操作系统,内存保护单元)支持实时操作系统n支持数据支持数据Cache(高速缓冲存储器)高速缓冲存储器)和指令和指令Cache112.2 ARM 920T简介简介ARM920T是ARM920TDMI系列中的一款通用性的微处理器,
6、ARM920TDMI系列微处理器包含如下几种类型的内核。ARM9TDMI:只有内核。ARM940T:由内核、高速缓存和内存保护单元(MPU)组成。ARM920T:由内核、高速缓存和内存管理单元(MMU)组成。12ARM920T以以ARM9TDMI为内核,增加了高速缓存和内存管理单元为内核,增加了高速缓存和内存管理单元(MMU),系统结构图如图),系统结构图如图4.3所示。所示。ARM920T结构功能图结构功能图内置追踪宏单元:内置追踪宏单元:ETM定义了一个物理跟踪端定义了一个物理跟踪端口用来传输程序执行流口用来传输程序执行流程的信息程的信息RISCCPU16K字节字节指令缓存指令缓存指令存储
7、器指令存储器管理单元管理单元高级微处理器高级微处理器总线架构总线架构协处理器:系统协处理器:系统控制处理器控制处理器16K字节字节数据缓存数据缓存数据存储器数据存储器管理单元管理单元写缓冲器写缓冲器13ARM920T处理器的主要特性处理器的主要特性nARM9TDMI内核,内核,ARMv4T架构(架构(ARM版本版本4,支持,支持Thumb)n两套指令集:两套指令集:ARM高性能高性能32位指令集、位指令集、Thumb高代码密高代码密度度16位指令集。位指令集。n5级流水线结构级流水线结构n16K字节数据缓存、指令缓存字节数据缓存、指令缓存n标准的标准的ARMv4存储器管理单元(存储器管理单元(
8、MMU)n8位、位、16位、位、32位的指令总线与数据总线。位的指令总线与数据总线。142.2.1 ARM920T内核编程模型内核编程模型字(字(Word),在),在ARM体系结构中,字的长度为体系结构中,字的长度为32位,而在位,而在8位位/16位处理器体系结构中,字的长度一般为位处理器体系结构中,字的长度一般为16位。位。半字(半字(Half-Word),在),在ARM体系结构中,半字的长度为体系结构中,半字的长度为16位,与位,与8位位/16位处理器体系结构中字的长度一致。位处理器体系结构中字的长度一致。字节(字节(Byte),在),在ARM体系结构和体系结构和8位位/16位处理器体系结
9、构中,字位处理器体系结构中,字节的长度均为节的长度均为8位。位。指令长度可以是指令长度可以是32位(在位(在ARM状态下),也可以为状态下),也可以为16位(在位(在Thumb状态下)。状态下)。ARM920T中支持字节(中支持字节(8位)、半字(位)、半字(16位)、字(位)、字(32位)位)3种数种数据类型,其中,字需要据类型,其中,字需要4字节对齐,半字需要字节对齐,半字需要2字节对齐。字节对齐。15ARM微处理器的工作状态微处理器的工作状态从编程的角度看,从编程的角度看,ARM920T微处理器的工作状态一般有两种:微处理器的工作状态一般有两种:ARM状态状态,此时处理器执行,此时处理器
10、执行32位的、字对齐的位的、字对齐的ARM指令;指令;Thumb状态状态,此时处理器执行,此时处理器执行16位的、半字对齐的位的、半字对齐的Thumb指令。指令。ARM指令集和指令集和Thumb指令集均有切换处理器状态的指令,在程序的执行指令集均有切换处理器状态的指令,在程序的执行过程中,微处理器可以随时在两种工作状态之间切换,并且,处理器工过程中,微处理器可以随时在两种工作状态之间切换,并且,处理器工作状态的转变并不影响处理器的工作模式和相应寄存器中的内容。但作状态的转变并不影响处理器的工作模式和相应寄存器中的内容。但ARM微处理器在开始执行代码时,应该处于微处理器在开始执行代码时,应该处于
11、ARM状态。状态。当操作数寄存器的状态位(位当操作数寄存器的状态位(位0)为)为1时,可以采用执行时,可以采用执行BX指令(跳转指指令(跳转指令)的方法,使微处理器从令)的方法,使微处理器从ARM状态切换到状态切换到Thumb状态。当操作数寄存状态。当操作数寄存器的状态位为器的状态位为0时,执行时,执行BX指令可以使微处理器从指令可以使微处理器从Thumb状态切换到状态切换到ARM状态。此外,在处理器进行异常处理时,将状态。此外,在处理器进行异常处理时,将PC指针放入异常模式链指针放入异常模式链接寄存器中,并从异常向量地址开始执行程序,也可以使处理器切换到接寄存器中,并从异常向量地址开始执行程
12、序,也可以使处理器切换到ARM状态。状态。162.2.2 ARM 体系结构的存储器格式体系结构的存储器格式ARM920T体系结构将存储器看做是从零地址开始的字节的线性组体系结构将存储器看做是从零地址开始的字节的线性组合。从合。从0字节到字节到3字节放置第字节放置第1个存储的字数据,从第个存储的字数据,从第4个字节到第个字节到第7个个字节放置第字节放置第2个存储的字数据,依次排列。作为个存储的字数据,依次排列。作为32位的微处理器,位的微处理器,ARM920T体系结构所支持的最大寻址空间为体系结构所支持的最大寻址空间为4GB(232字节)。字节)。ARM920T体系结构可以用两种方法存储字数据,
13、分别称为大端格体系结构可以用两种方法存储字数据,分别称为大端格式和小端格式。式和小端格式。大端格式中字数据的高字节存储在低地址中,而字数据的低字节大端格式中字数据的高字节存储在低地址中,而字数据的低字节则存放在高地址中,如下图所示。则存放在高地址中,如下图所示。17与大端存储格式相反,在小端存储格式中,低地址中存放与大端存储格式相反,在小端存储格式中,低地址中存放的是字数据的低字节,高地址存放的是字数据的高字节。如的是字数据的低字节,高地址存放的是字数据的高字节。如下图所示下图所示:182.2.3 处理器模式处理器模式ARM920T支持支持7种运行模式,分别为:种运行模式,分别为:用户模式(用
14、户模式(usr),),ARM处理器正常的程序执行状态;处理器正常的程序执行状态;快速中断模式(快速中断模式(fiq),),用于高速数据传输或通道处理;用于高速数据传输或通道处理;外部中断模式(外部中断模式(irq),),用于通用的中断处理;用于通用的中断处理;管理模式(管理模式(svc),),操作系统使用的保护模式;操作系统使用的保护模式;数据访问终止模式(数据访问终止模式(abt),),当数据或指令预取终止时进入该模式,可用当数据或指令预取终止时进入该模式,可用于虚拟存储及存储保护;于虚拟存储及存储保护;系统模式(系统模式(sys),),运行具有特权的操作系统任务;运行具有特权的操作系统任务
15、;未定义指令中止模式(未定义指令中止模式(und),),当未定义的指令执行时进入该模式,可用当未定义的指令执行时进入该模式,可用于支持硬件协处理器的软件仿真。于支持硬件协处理器的软件仿真。ARM微处理器的运行模式可以通过软件改变,也可以通过外部中断或异常处微处理器的运行模式可以通过软件改变,也可以通过外部中断或异常处理改变。理改变。大多数的应用程序运行在用户模式下大多数的应用程序运行在用户模式下,当处理器运行在用户模式下时,当处理器运行在用户模式下时,某些被保护的系统资源是不能被访问的。某些被保护的系统资源是不能被访问的。除用户模式以外,其余的除用户模式以外,其余的6种模式称为种模式称为非用户
16、模式或特权模式非用户模式或特权模式;其中除去用;其中除去用户模式和系统模式以外的户模式和系统模式以外的5种又称为异常模式,常用于处理中断或异常,以及访种又称为异常模式,常用于处理中断或异常,以及访问受保护的系统资源等情况。问受保护的系统资源等情况。192.2.4 寄存器组织寄存器组织ARM920T共有共有37个个32位寄存器,其中位寄存器,其中31个为通用寄存器,个为通用寄存器,6个为状态寄存器。但是这些寄存器不能被同时访问,具体哪些个为状态寄存器。但是这些寄存器不能被同时访问,具体哪些寄存器是可编程访问的,取决于微处理器的工作状态及具体的寄存器是可编程访问的,取决于微处理器的工作状态及具体的
17、运行模式。运行模式。在在ARM状态下,任一时刻可以访问状态下,任一时刻可以访问16个通用寄存器个通用寄存器和和12个状态寄存器。个状态寄存器。1、ARM状态下的寄存器组织(状态下的寄存器组织(R0R15)未分组寄存器未分组寄存器R0R7分组寄存器分组寄存器R8R14程序计数器程序计数器PC(R15)1)未分组寄存器)未分组寄存器R0-R7:在所有运行模式下,指向同一个物理:在所有运行模式下,指向同一个物理寄存器寄存器202)分组寄存器)分组寄存器R8-R14:每一次所访问的物理寄存器与处理器当:每一次所访问的物理寄存器与处理器当前的运行模式有关。前的运行模式有关。R8-R12:两种模式,对应两
18、个不同的物理寄存器两种模式,对应两个不同的物理寄存器R13、R14:7种模式(用户模式与系统模式共用),对应种模式(用户模式与系统模式共用),对应6个不个不同的物理寄存器(区分记号同的物理寄存器(区分记号R13、R14)R14也称为子程序连接寄存器(也称为子程序连接寄存器(SubroutineLinkRegister)或连)或连接寄存器接寄存器LR。当执行。当执行BL子程序调用指令时,子程序调用指令时,R14中得到中得到R15(程(程序计数器序计数器PC)的备份。在其他情况下,)的备份。在其他情况下,R14用做通用寄存器。与用做通用寄存器。与之类似,当发生中断或异常时,对应的分组寄存器之类似,
19、当发生中断或异常时,对应的分组寄存器R14_svc、R14_irq、R14_fiq、R14_abt和和R14_und用来保存用来保存R15的返回值。的返回值。213)程序计数器)程序计数器PC(R15)寄存器寄存器R15用做程序计数器(用做程序计数器(PC)。在)。在ARM状态下,位状态下,位1:0为为0,位,位31:2用于保存用于保存PC;在;在Thumb状态下,位状态下,位0为为0,位,位31:1用于保存用于保存PC。4)寄存器)寄存器R16用做当前程序状态寄存器(用做当前程序状态寄存器(CurrentProgramStatusRegister,CPSR),),CPSR可在任何运行模式下被
20、访可在任何运行模式下被访问,它包括条件标志位、中断禁止位、当前处理器模式标志位,问,它包括条件标志位、中断禁止位、当前处理器模式标志位,以及其他一些相关的控制和状态位。以及其他一些相关的控制和状态位。22用户与系统模式用户与系统模式快速中断快速中断模式模式管理模式管理模式终止模式终止模式中断模式中断模式未定义未定义模式模式232.Thumb状态下的寄存器组织状态下的寄存器组织Thumb状态下的寄存器集是状态下的寄存器集是ARM状态下寄存器集的一个子集,程序状态下寄存器集的一个子集,程序可以直接访问可以直接访问8个通用寄存器(个通用寄存器(R7R0)、程序计数器()、程序计数器(PC)、堆栈)、
21、堆栈指针(指针(SP)、连接寄存器()、连接寄存器(LR)和)和CPSR。同时,在每一种特权模。同时,在每一种特权模式下都有一组式下都有一组SP、LR和和SPSR。如图所示表明。如图所示表明Thumb状态下的寄存状态下的寄存器组织。器组织。Thumb状态下的寄存器组织与状态下的寄存器组织与ARM状态下的寄存器组织的关系:状态下的寄存器组织的关系:Thumb状态下和状态下和ARM状态下的状态下的R0R7是相同的;是相同的;Thumb状态下和状态下和ARM状态下的状态下的CPSR和所有的和所有的SPSR是相同的;是相同的;Thumb状态下的状态下的SP对应于对应于ARM状态下的状态下的R13;Th
22、umb状态下的状态下的LR对应于对应于ARM状态下的状态下的R14;Thumb状态下的程序计数器对应于状态下的程序计数器对应于ARM状态下的状态下的R15。24高位寄存器高位寄存器R8R15并不是标准寄存器集的一部分,但可使用汇编语言并不是标准寄存器集的一部分,但可使用汇编语言程序受限制地访问这些寄存器,将其用做快速的暂存器。如:程序受限制地访问这些寄存器,将其用做快速的暂存器。如:MOV、CMP、ADD指令。指令。252.2.5程序状态寄存器程序状态寄存器ARM920T体系结构中包含一个当前程序状态寄存器(体系结构中包含一个当前程序状态寄存器(CPSR)和)和5个备份的个备份的程序状态寄存器
23、(程序状态寄存器(SPSR)。备份的程序状态寄存器用来进行异常处理,其功能)。备份的程序状态寄存器用来进行异常处理,其功能包括:包括:保存保存ALU中的当前操作信息;中的当前操作信息;控制允许和禁止中断;控制允许和禁止中断;设置处理器的运行模式。设置处理器的运行模式。程序状态寄存器每一位的安排如图所示。程序状态寄存器每一位的安排如图所示。261条件码标志(条件码标志(ConditionCodeFlags)N、Z、C、V均为条件码标志位。它们的内容可被算术或逻辑运算的结果所改均为条件码标志位。它们的内容可被算术或逻辑运算的结果所改变,并且可以决定某条指令是否被执行。条件码标志各位的具体含义如表所
24、示。变,并且可以决定某条指令是否被执行。条件码标志各位的具体含义如表所示。272控制位控制位CPSR的低的低8位(包括位(包括I、F、T和和M4:0)称为控制位,当发生异常时这些位)称为控制位,当发生异常时这些位可以被改变。如果处理器运行特权模式,这些位也可以由程序修改。可以被改变。如果处理器运行特权模式,这些位也可以由程序修改。中断禁止位中断禁止位I、F:置:置1时,禁止时,禁止IRQ中断和中断和FIQ中断。中断。T标志位标志位:该位反映处理器的运行状态。当该位为:该位反映处理器的运行状态。当该位为1时,程序运行于时,程序运行于Thumb状态,否则运行于状态,否则运行于ARM状态。该信号反映
25、在外部引脚状态。该信号反映在外部引脚TBIT上。在程序中不得修上。在程序中不得修改改CPSR中的中的TBIT位,否则处理器工作状态不能确定。位,否则处理器工作状态不能确定。运行模式位运行模式位M4:0:M0、M1、M2、M3、M4是模式位。这些位决定了处是模式位。这些位决定了处理器的运行模式。具体含义如表理器的运行模式。具体含义如表4.2所示。所示。保留位保留位:CPSR中的其余位为保留位,当改变中的其余位为保留位,当改变CPSR中的条件码标志位或者中的条件码标志位或者控制位时,保留位不要被改变,在程序中也不要使用保留位来存储数据。保留位控制位时,保留位不要被改变,在程序中也不要使用保留位来存
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新 嵌入式 系统 第二 PPT 课件
限制150内