嵌入式系统及其应用-第二章嵌入式微处理器的体系结构 ppt课件_第1页
嵌入式系统及其应用-第二章嵌入式微处理器的体系结构 ppt课件_第2页
嵌入式系统及其应用-第二章嵌入式微处理器的体系结构 ppt课件_第3页
嵌入式系统及其应用-第二章嵌入式微处理器的体系结构 ppt课件_第4页
嵌入式系统及其应用-第二章嵌入式微处理器的体系结构 ppt课件_第5页
已阅读5页,还剩96页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、主要内容:主要内容:一、一、ARM处置器概述处置器概述 ARMAdvanced RISC Machines是一家专门从事基于RISC技术的芯片设计开 发的公司,但公司并不直接从事芯片消费,而是靠转让设计答应获得收益。 ARM微处置器内核产品是一个庞大产品系列,微处置器内核产品是一个庞大产品系列,采用采用ARM微处置器内核的微处置器芯片普及微处置器内核的微处置器芯片普及工业控制消费类电子产品、通讯系统、网络系工业控制消费类电子产品、通讯系统、网络系统、无线传输等各类产品市场,约占据了统、无线传输等各类产品市场,约占据了32位位RISC微处置器微处置器75%以上的市场份额。以上的市场份额。1V3版

2、架构 目前已废弃 对原来的ARM体系构造作了较大的改动: ARM10 Family可综合版本S支持向量浮点运算F支持Jazelle加速J基于TDMI加强型,支持DSP指令E支持Embedded ICE,支持嵌入式跟踪调试I支持快速乘法器M支持片上调试D支持Thumb指令集TcacheZ存储管理/维护单元Y处置器系列,如ARM7/ARM9/ARM11等X含义后缀变量 ARM主要产品家族、架构、内核及主要特点关系主要产品家族、架构、内核及主要特点关系T功能模块功能模块(16 Thumb ): 可以在可以在兼顾性能的同时减少代码尺寸。兼顾性能的同时减少代码尺寸。M功能模块功能模块: (加强型乘法器加

3、强型乘法器)可生可生成全成全64位的结果。位的结果。D功能模块功能模块(Debug ):该内核中放该内核中放置了用于调试的构造。置了用于调试的构造。I功能模块功能模块(EmbeddedICE Logic):用于实现断点观测及变量用于实现断点观测及变量观测的逻辑电路部分观测的逻辑电路部分 ARM内核内核TMDIARM内核采用了内核采用了RISC型处置器构造,具有低功耗、型处置器构造,具有低功耗、本钱低、功能强等突出优势,在嵌入式系统及运用本钱低、功能强等突出优势,在嵌入式系统及运用领域具有重要的影响,其主要特点包括:领域具有重要的影响,其主要特点包括:三级指令流水线是三级指令流水线是ARM7TD

4、MI的主要特征之一,三级指令的主要特征之一,三级指令流水线指令的执行分为取指、译码和执行三个阶段,各阶段流水线指令的执行分为取指、译码和执行三个阶段,各阶段所完成的操作详细分解表如下:所完成的操作详细分解表如下:MOV、ADD、SUB指令为单周期指令。从指令为单周期指令。从T1开场,用开场,用3个时个时钟周期执行了钟周期执行了3条指令,指令平均周期数等于条指令,指令平均周期数等于1个时钟周期。个时钟周期。ARM微处置器运转方式要留意的问题微处置器运转方式要留意的问题3. 中断与异常入口向量一切的37个存放器,分成两大类:31个通用32位存放器;6个形状存放器。 在汇编言语中存放器R0R13为保

5、管数据或地址值的通用存放器。它们是完全通用的存放器,不会被体系构造作为特殊用途,并且可用于任何运用通用存放器的指令。 其中R0R7为未分组的存放器,也就是说对于任何处置器方式,这些存放器都对应于一样的32位物理存放器。 存放器R8R14为分组存放器。它们所对应的物理存放器取决于当前的处置器方式,几乎一切允许运用通用存放器的指令都允许运用分组存放器 存放器R8R12有两个分组的物理存放器。一个用于除FIQ方式之外的一切存放器方式,另一个用于FIQ方式。这样在发生FIQ中断后,可以加速FIQ的处置速度。 存放器R13、R14分别有6个分组的物理存放器。一个用于用户和系统方式,其他5个分别用于5种异

6、常方式。 存放器R13常作为堆栈指针SP。在ARM指令集当中,没有以特殊方式运用R13的指令或其它功能,只是习惯上都这样运用。但是在Thumb指令集中存在运用R13的指令。 R14为链接存放器LR,在构造上有两个特殊功能:在每种方式下,方式本身的R14版本用于保管子程序前往地址;当发生异常时,将R14对应的异常方式版本设置为异常前往地址有些异常有一个小的固定偏移量。Lable程序A程序BR14BL Lable地址A?MOV PC,LRR14(地址A)Lable?1.1.程序程序A A执行过程中调执行过程中调用程序用程序B B;调用流程调用流程2.2.程序跳转至标号程序跳转至标号LableLab

7、le,执行程序,执行程序B B。同。同时硬件将时硬件将“BL Lable“BL Lable指令的下一条指令所指令的下一条指令所在地址存入在地址存入R14R14LRLR;3.3.程序程序B B执行最后,将执行最后,将R14R14存放器的存放器的内容放入内容放入PCPC,前往程序,前往程序A A;R14R14_irq用户方式下的程序IRQ方式下的程序AaB.XA地址A地址A1.执行用户方式下的程序;2.发生IRQ中断,硬件将某个地址存入IRQ方式下的R14_irq存放器,用户方式下的R14没有被破坏;3. IRQ效力程序A执行终了,将R14_irq存放器的内容减去某个常量后存入PC,前往之前被中断

8、的程序;未被破坏IRQ方式下的程序BareturnB.XA地址B地址B4. 假设在IRQ处置程序中翻开IRQ中断,并且再次发生IRQ中断;5. 硬件将前往地址保管在R14_irq存放器中,原来保管的前往地址将被覆盖,呵斥错误;R14_irq 被破坏被破坏6. 在程序B前往到程序A,然后在前往到用户方式下被中断的程序时,发生错误,将不能正确前往;returnreturnnR14存放器留意要点存放器留意要点 存放器R15为程序计数器PC,它指向正在取指的地址。可以以为它是一个通用存放器,但是对于它的运用有许多与指令相关的限制或特殊情况。假设R15运用的方式超出了这些限制,那么结果将是不可预测的。读

9、读R15的限制的限制 正常操作时,从正常操作时,从R15读取的值是处置器正在取指的地读取的值是处置器正在取指的地址,即当前正在执行指令的地址加上址,即当前正在执行指令的地址加上8个字节两条个字节两条ARM指令的长度。由于指令的长度。由于ARM指令总是以字为单位,所以指令总是以字为单位,所以R15存放器的最低两位总是为存放器的最低两位总是为0。LDR R0,PC?PCPC-4PC-8正在执行正在译码正在取指流水线形状地址程序代码 存放器CPSR为程序形状存放器,在异常方式中,另外一个存放器“程序形状保管存放器SPSR可以被访问。每种异常都有本人的SPSR,在进入异常时它保管CPSR的当前值,异常

10、退出时可经过它恢复CPSR。NZCV IM0M1M2M3M4TF. . .31 30 29 28 27 26 8 7 6 5 4 3 2 1 0条件代码标志保管控制位溢出标志oVerflow进位或借位扩展 Carry零 Zero负或小于 NegativeIRQ制止 InterruptFIQ制止 Fast形状位 Thumb方式位 ModeNZCVIM0M1M2M3M4TF2 .程序形状存放器 N、Z、C、V均为条件码标志位。它们的内容可被均为条件码标志位。它们的内容可被算术或逻辑运算的结果所改动,并且可以决议某条指令算术或逻辑运算的结果所改动,并且可以决议某条指令能否被执行。能否被执行。条条件件

11、码码的的详详细细含含义义PSR的低的低8位位(包括包括I、F、T和和M4:0)称为控制位,当发生称为控制位,当发生异常时这些位可以被改动。假设处置器运转特权方式,这些异常时这些位可以被改动。假设处置器运转特权方式,这些位也可以由程序修正。位也可以由程序修正。中断制止位中断制止位I、FI1 制止制止IRQ中断中断F1 制止制止FIQ中断中断T标志位:该位反映处置器的运转形状。标志位:该位反映处置器的运转形状。对于对于ARM体系构造体系构造v5及以上版本的及以上版本的T系列处置器,当该系列处置器,当该位为位为1时,程序运转于时,程序运转于Thumb形状,否那么运转于形状,否那么运转于ARM形状。形

12、状。非非T系列处置器,当该位为系列处置器,当该位为1时,执行下一条指令以引起未定时,执行下一条指令以引起未定义的指令异常;当该位为义的指令异常;当该位为0时,表示运转于时,表示运转于ARM形状。形状。运转方式位运转方式位M4:0:M0、M1 、 M2、M3、M4是方式位。是方式位。这些位决议了处置器的运转方式。详细含义如下表:这些位决议了处置器的运转方式。详细含义如下表:留意:并不是一切的运转方式位的组合都是有效的,其他的留意:并不是一切的运转方式位的组合都是有效的,其他的组合结果会导致处置器进入一个不可恢复的形状!组合结果会导致处置器进入一个不可恢复的形状!PSR中的其他位为保管位,当改动中

13、的其他位为保管位,当改动PSR中的条件码标志中的条件码标志位或者控制位时,保管位不要改动,在程序中也不要运用保位或者控制位时,保管位不要改动,在程序中也不要运用保管位来存储数据。保管位将用于管位来存储数据。保管位将用于ARM版本的扩展。版本的扩展。 3 .ARM形状下的存放器 表为ARM形状下的存放器组织 表为Thumb形状下的存放器组织 R1 R2 R3 R4 R5 T humb R6 R7 ( C PSR ) ( SPSR ) R1 R2 R3 R4 R5 A R M R6 R7 R8 ( C PSR ) ( SPSR ) R9 R10 R11 R12 R0 R0 状态 状态 堆栈指针(S

14、P) 连接寄存器(LR) 程序计数器(PC) 当前程序状态寄存器 被保存程序状态寄存器 堆栈指针(R13) 连接寄存器(R14) 程序计数器(R15) 当前程序状态寄存器 被保存程序状态寄存器 ThumbThumb形状存放器在形状存放器在ArmArm形状存放器上的映射形状存放器上的映射R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R0 堆栈指针 (R13) 衔接存放器 (R14) 程序计数器 (R15) 低存放器高存放器调试通讯通道协处置器DCC(the Debug Communications Channel)提供了两个32位的数据传送存放器和一个通讯控制存放

15、器,通讯数据控制存放器的编码格式如下图通讯数据控制存放器的编码格式 W和和R位两位可提供目的和主机调试器之间的同步握手,其功位两位可提供目的和主机调试器之间的同步握手,其功能定义见表能定义见表 : 调试器不能利用协处置器调试器不能利用协处置器CP14 直接访问调试通讯通道,由直接访问调试通讯通道,由于这对调试器无意义于这对调试器无意义,但调试器可运用扫描链读写但调试器可运用扫描链读写DCC 存放器。存放器。DCC数据和控制存放器可映射到数据和控制存放器可映射到 EmbeddedICE 逻辑单元中逻辑单元中的地址。的地址。 定义了16个内部存放器,经过MCR和MRC协处置器指令对这些存放器进展读

16、写操作,可以实现Cache、MMU、维护系统、配置时钟方式的配置和控制。 CP15协处置器的存放器只能在特权方式下运用MCR和MRC指令访问,MCR指令是写操作指令,MRC是读操作指令,其指令位格式分别为:mcr p15, opcode1, Rd, CRn, , ; / 写CP15存放器mrc p15, opcode1, Rd, CRn, , ; / 读CP15存放器其中,p15表示是CP15协处置器;CP15协处置器规定opcode1为0;Rd是处置器内核存放器编号;CRn是CP15存放器编号;opcode2和CRm是指令的选项,详细含义取决于不同的存放器。2存放器C1存放器C1主要用于Ca

17、ches、异常中断向量选择、存储格式选择、写缓冲使能和MMU使能等功能的配置和设置,称为控制存放器。其编码格式如下图,对C1存放器进展读写操作时,CRm 和opcode2被忽略。 对C2存放器进展读写操作时,CRm 和opcode2被忽略。 存放器C2的编码格式如下图 存放器C3的编码格式 两个位字段编码与对应的域访问权限关系表对C5和C6存放器进展读写操作时,CRm 和opcode2被忽略 数据、CRm 和opcode2组合与操作功能关系表数据、CRm 和opcode2组合与操作功能关系存放器C9的A编码格式 存放器C9的B编码格式W=LOG2(TLB入口数目); P=1时写入TLB的地址变

18、换条目不会受使整个TLB无效操作的影响,不断坚持有效;P=0时写入TLB的地址变换条目将会遭到使整个TLB无效操作的影响。PID表示当前进程所在进程空间块的编号,即当前进程的标识符,取值为0127。PID=0,变换后的虚拟地址MVA=虚拟地址VA,制止运用快速上下文切换FCSE技术,系统复位后PID的默许值为0;PID的值为非0,使能快速上下文切换FCSE技术。 32位ARM体系构造两级查表的查找流程存储器访问的顺序和控制过程 当CPU要访问存储器时,MMU先查找TLB中的虚拟地址表,假设TLB中没有虚拟地址的入口,那么转换表遍历硬件从存于主存储器中的转换表中获取转换表和访问权限并存放在TLB

19、中,由TLB 入口地址获得对应的页表,根据页表中的C/B高速缓存/缓冲位、访问权限和域控制等相关控制位,分别控制高速缓存和写缓冲的访问以及能否允许访问所指向的存储区域,假设所指向的存储区不允许访问,那么MMU将向CPU发送一个存储器异常。 3地址变换 变换基址3131141413130 0变化表基址存放器变化表基址存放器 MVA的31:20位作为偏移地址,所以变换表中最多可以有4096个项,每项32位,包含了区或页描画符信息,分别用于描画虚拟存储器的1MB空间,可以寻址最大4GB的虚拟存储器。 第一级取操作与页表描画符 第一级描画符是一个区描画符、粗页表描画符、细页表描画符或者是无效内容。第一

20、级描画符的格式如图第一级描画符 区描画符:区描画符为一个1MB的存储块提供基地址 区描画符的区描画符的格式格式 粗页表描画符粗页表描画符的格式粗页表描画符的格式 粗页表描画符的位分配粗页表描画符的位分配 细页表描画符细页表描画符的格式细页表描画符的格式 细页表描画符的位分配细页表描画符的位分配 区映射变换从MVA到区第一级描画的生成和获取,直至得到实践的物理地址的整个顺序。但要留意在生成物理地址之前,还必需检查第一级描画符中的访问权限。区变换的整个顺序 第二级取操作与页表描画符 第二级描画符的格式第二级描画符的格式 第二级描画符的位分配 页表项D1D0 位描画 图中显示了一个64KB大页的整个

21、变换顺序变换大页参考 图中显示了一个4KB小页的整个变换顺序。变换极小页参考 图中显示了一个1KB极小页的整个变换顺序。七、七、S3C2440微处置器微处置器三星公司推出的三星公司推出的16/32位位RISC微处置器微处置器S3C2440A, 为手持为手持设备和普通类型运用提供了低价钱、低功耗、高性能小型微设备和普通类型运用提供了低价钱、低功耗、高性能小型微控制器的处理方案。控制器的处理方案。S3C2440A 采用了采用了16/32位位ARM920T的的RISC 处置器内核处置器内核ARM920T和和0.13um的的CMOS工艺,最工艺,最高任务频率是高任务频率是400MHZ,具有低本钱、低功耗和高性能的特,具有低本钱、低功耗和高性能的特点。点。S3C2440A是目前市场上运用非常广泛的一款多用途嵌是目前市场上运用非常广泛的一款多用途嵌入式微处置器芯片,内部集成了入式微处置器芯片,内部集成了ARM920T微处置核和常用外微处置核和常用外围组件,具有较高的性价比,特别适宜于对本钱和功率敏感围组件,具有较高的性价比,特别适宜于对本钱和功率敏感型的运用。型的运用。S3C2440A采用采用ARM920T内

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论