《嵌入式系统及其应用课件》第二章嵌入式微处理器的体系结构.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《《嵌入式系统及其应用课件》第二章嵌入式微处理器的体系结构.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式系统及其应用课件 嵌入式 系统 及其 应用 课件 第二 微处理器 体系结构
- 资源描述:
-
1、嵌入式系统及其应用嵌入式系统及其应用李李 登登 峰峰主要内容:主要内容:n一、一、ARM处理器概述处理器概述n二、二、ARM内核结构内核结构 n三、三、ARM中断与异常中断与异常n四、四、ARM寄存器组织寄存器组织n五、五、ARM的协处理器接口的协处理器接口n六、六、ARM的存储系统的存储系统n七、七、S3C2440微处理器微处理器一一、ARM处理器概述处理器概述 ARM(Advanced RISC Machines)是一家专是一家专门从事基于门从事基于RISC技术的芯片设计开技术的芯片设计开 发的公司,发的公司,但公司并不直接从事芯片生产,而是靠转让设但公司并不直接从事芯片生产,而是靠转让设
2、计许可获得收益。计许可获得收益。ARM微处理器内核产品是一个庞大产品系列,微处理器内核产品是一个庞大产品系列,采用采用ARM微处理器内核的微处理器芯片遍及微处理器内核的微处理器芯片遍及工业控制消费类电子产品、通信系统、网络系工业控制消费类电子产品、通信系统、网络系统、无线传输等各类产品市场,约占据了统、无线传输等各类产品市场,约占据了32位位RISC微处理器微处理器75%以上的市场份额。以上的市场份额。1.ARM处理器体系结构版本 从指令集体系结构版本来看,为了清楚从指令集体系结构版本来看,为了清楚地表达每个地表达每个ARM内核应用实例所使用的指内核应用实例所使用的指令集,令集,ARM公司定义
3、了公司定义了7种主要的种主要的ARM指指令集体系结构版本,以版本号令集体系结构版本,以版本号V1V7表示,表示,其中其中V1、V2、V3版本已经不再使用或未版本已经不再使用或未实现商业化。实现商业化。(1)V3版架构(目前已废弃)对原来的ARM体系结构作了较大的改动:n寻址空间增至32位(4GB);n当前程序状态信息从原来的R15寄存器移到当前程序状态寄存器CPSR中(Current Program Status Register)n增加了程序状态保存寄存器SPSR(Saved Program Status Register);n增加了两种异常模式,使操作系统代码可方便地使用数据访问中止异常、
4、指令预取中止异常和未定义指令异常;n增加了MRS/MSR指令,以访问新增的CPSR/SPSR寄存器;n增加了从异常处理返回的指令功能。(2)V4版架构是目前应用最广的ARM体系结构,不再强制要求与26位地址址空间兼容,而且还明确了哪些指令会引起未定义指令异常指令集中增加了以下功能:n符号化和非符号化半字及符号化字节的存/取指令;n增加了T变种,处理器可工作在Thumb状态,增加了16位Thumb指令集;n完善了软件中断SWI指令的功能;n处理器系统模式引进特权方式时使用用户寄存器操作;n把一些未使用的指令空间捕获为未定义指令。(3)V5版架构是在V4版的基础上增加了一些新的指令:n带有链接和交
5、换的转移BLX指令;n计数前导零CLZ指令;nBRK中断指令;n增加了数字信号处理指令(V5TE版);n为协处理器增加更多可选择的指令;n改进了ARM/Thumb状态之间的切换效率;n增加了两个E和J两个变种,其中E表示增强型DSP指令集,包括全部算法操作和16位乘法操作,J表示支持新的JAVA,提供字节代码执行的硬件和优化软件加速功能。(4)V6版架构在V5版的基础上强化了图形处理性能,增加了一些新的功能:n单指令多数据功能(Single Instruction,Multiple Data,SIMD),将语音及图像的处理功能提高到了原型机的4倍;nThumb增强功能,使得35%代码压缩;高性
6、能定点DSP功能;nJazelleTM功能,Java性能优化,速度可提高8倍。(5)v7构架是在V6版的基础上发展的,是目前ARM处理器体系结构的最高版本,并保持了对现存ARM解决方案的完整的代码兼容性。n采用了新型13级流水线,指令的吞吐率更高;n增加了硬件处理中断嵌套功能,具有更好的实时性;n采用了Thumb-2技术,比纯32位代码少使用31%的内存;n采用了NEON(可执行打包的 SIMD处理)技术,将DSP和媒体处理能力提高了进4倍,可加速多媒体和信号处理算法(如视频编码/解码、2D/3D 图形、游戏、音频和语音处理、图像处理技术、电话和声音合成),其性能至少为 ARMv6 SIMD性
7、能的2倍;n增加了支持改良的浮点运算,满足下一代3D图形、游戏以、信号分析及传统嵌入式控制需求。2.ARM处理器家族nARM7 FamilyUnified Cache内存管理内存管理流水线级流水线级别别ThumbDSPJazelleARM7TDMI无无无无3有有无无无无ARM7TDMI-S无无无无3有有无无无无ARM710T/720T8kMMU3有有无无无无ARM740T8k或或4kProtection Unit3有有无无无无ARM7EJ-S无无无无3有有有有有有ARM9 FamilyCache内存管理内存管理流水线流水线级别级别ThumbDSPJazelleARM9无无无无5有有无无无无AR
8、M920T16K/16kMMU5有有无无无无ARM922T8k/8kMMU5有有无无无无ARM940T4k/4kProtection Unit5有有无无无无ARM10 FamilyCache内存管内存管理理流水线流水线级别级别ThumbDSPJazelleARM10E无无无无6有有有有无无ARM1020E32k/32kMMU6有有有有无无ARM1022E16k/16kMMU6有有有有无无ARM10EJ-S无无无无6有有有有有有ARM1026EJ-S0,4-128k/0,4-128kMMU6有有有有有有ARM10TDMI无无无无6有有无无无无ARM1020T32k/32kMMU6有有无无无无AR
9、M11 FamilyCache内存内存管理管理流水线流水线级别级别ThumbDSPJazelle浮点浮点运算运算ARM1136J-S4-64kMMU8有有有有有有无无ARM1136JF-S4-64kMMU8有有有有有有有有ARM1156T2-S可配置可配置9Thumb-2有有无无无无ARM1156T2F-S可配置可配置9Thumb-2有有无无有有3.ARM产品命名规则可综合版本S支持向量浮点运算F支持Jazelle加速J基于TDMI增强型,支持DSP指令E支持Embedded ICE,支持嵌入式跟踪调试I支持快速乘法器M支持片上调试D支持Thumb指令集TcacheZ存储管理/保护单元Y处理器
10、系列,如ARM7/ARM9/ARM11等X含义后缀变量此外还必须注意:nARM7TDMI之后的所有ARM内核,即使“ARM”标志后没有包含那些字符,但也包含了TDMI的特性;处理器系列是共享相同硬件特性的一组处理器的具体实现。n例如,ARM7TDMI:nARM740T和ARM720T都共享相同的系列特性,都属于ARM7系列;nJTAG是由 IEEE1149。1标准测试访问端口(standard test access port)和边界扫描来描述的。它是ARM 用来发送和接受处理器内核与测试一起之间调试信息的一系列协议;嵌入式ICE宏单元(Embedded ICE macrocell)是建立在处
11、理器内部、用来设置断点和观察点的调试硬件。n可综合版本,意味着处理器内核是以源代码形式提供的。这种源代码形式又可以被编译成一种易于EDA工具使用的形式。家族架构內核主要特点ARM7ARMv4TARM7TDMI(-S)基本内核/无cache/无MMU,3级流水ARM710TARM7TDMI+8KB/8KB+MMUARM720TARM710T的超集ARM740TARM7TDMI+8KB/8KB+MPUARMv5TEJARM7EJ-SARM7TDMI+DSP+Jazelle+可综合ARM9ARMv4TARM9TDMI基本内核/无cache/无MMU,5级流水ARM920TARM9TDMI+16KB/
12、16KB+MMUARM922TARM9TDMI+8KB/8KB+MMUARM940TARM9TDMI+4KB/4KB+MPUARM9EARMv5TEARM946E-SARM9E+可变+MPU+可综合ARM966E-SARM9E+无cache+TCMs+可综合ARM968E-SARM9E+无cache+TCMs+可综合ARMv5TEJARM926EJ-SARM9E+无cache+MMU+Jazelle+可综合ARMv5TEARM996HSARM966E(无振荡器)ARM主要产品家族、架构、内核及主要特点关系ARM10EARMv5TEARM1020EARM10E+32KB/32KB+MMU+(VF
13、P)ARM1022EARM10E+16KB/16KB+MMU+(VFP)ARMv5TEJARM1026EJ-SARM10E+可变+MMU+(VFP)+Jazelle+可综合ARM11ARMv6ARM1136J(F)-SARM11+可变+MMU+JazelleDBX+(VFP)ARMv6T2ARM1156T2(F)-SARM11+可变+MMU+JazelleDBX+(VFP)ARMv6KZARM1176JZ(F)-SARM11+可变+MMU+JazelleDBX+(VFP)+TrustZoneARMv6KARM11 MPCoreARM11+可变+MMU+JazelleDBX+(VFP)+对称多核
14、处理器CortexARMv7-ACortex-A8可变动+MMU+VFP+NEON+Jazelle RCT+Thumb-2+TrustZoneARMv7-RCortex-R4(F)可变动+(MMU)+(FPU)+Embedded profileARMv7-MCortex-M3基本核心+无cache+MPUARMv7-MECortex-M4Optional 8 region MPU with sub regions and background region二、二、ARM内核结构内核结构T功能模块功能模块(16 Thumb):可以在可以在兼顾性能的同时减少代码尺寸。兼顾性能的同时减少代码尺寸。M
15、功能模块功能模块:(增强型乘法器增强型乘法器)可生可生成全成全64位的结果。位的结果。D功能模块功能模块(Debug):该内核中放该内核中放置了用于调试的结构。置了用于调试的结构。I功能模块功能模块(EmbeddedICE Logic):用于实现断点观测及变量用于实现断点观测及变量观测的逻辑电路部分观测的逻辑电路部分 ARM内核内核TMDIARM9内核模块示意图ARM内核采用了内核采用了RISC型处理器结构,具有低功耗、型处理器结构,具有低功耗、成本低、功能强等突出优势,在嵌入式系统及应用成本低、功能强等突出优势,在嵌入式系统及应用领域具有重要的影响,其主要特点包括:领域具有重要的影响,其主要
16、特点包括:n采用了采用了RISC型处理器结构;型处理器结构;n低功耗、成本低、功能强;低功耗、成本低、功能强;n采用采用ARM/Thumb(32位位/16位)双指令集;位)双指令集;n具有多处理器状态模式;具有多处理器状态模式;n具有在线仿真调试功能;具有在线仿真调试功能;n具有协处理器接口;具有协处理器接口;n具有优化设计的片上总线具有优化设计的片上总线AMBA(AHB/ASB/APB);n具有灵活方便的接口。具有灵活方便的接口。1.ARM7TDMI主处理器逻辑结构三级指令流水线是三级指令流水线是ARM7TDMI的主要特征之一,三级指令的主要特征之一,三级指令流水线指令的执行分为取指、译码和
17、执行三个阶段,各阶段流水线指令的执行分为取指、译码和执行三个阶段,各阶段所完成的操作详细分解表如下:所完成的操作详细分解表如下:ARM7TDMI单周期指令最佳流水线MOV、ADD、SUB指令为单周期指令。从指令为单周期指令。从T1开始,用开始,用3个时个时钟周期执行了钟周期执行了3条指令,指令平均周期数等于条指令,指令平均周期数等于1个时钟周期。个时钟周期。2.ARM9TDMI主处理器通用内核结构3.ARM920T内核结构 4.ARM启动方式nARM内核真正支持的启动方式只有一个:内核真正支持的启动方式只有一个:通过操作通过操作CP15来实现对来实现对reset vector的重的重定向定向
18、nmemory remap:这一机制并非:这一机制并非ARM内内核本身所支持的,而是在核本身所支持的,而是在SoC的时候人为的时候人为修改修改memory的访问逻辑而实现的的访问逻辑而实现的 5.ARM处理器运行模式处理器模式处理器模式说明说明备注备注 用户用户 (usr)正常程序执行模式正常程序执行模式不能直接切换到其它模式不能直接切换到其它模式 系统系统 (sys)运行操作系统的特权任务运行操作系统的特权任务与用户模式类似,但具有可以直与用户模式类似,但具有可以直接切换到其它模式等特权接切换到其它模式等特权 快中断快中断 (fiq)支持高速数据传输及通道支持高速数据传输及通道处理处理FIQ
19、异常响应时进入此模式异常响应时进入此模式 中断中断 (irq)用于通用中断处理用于通用中断处理IRQ异常响应时进入此模式异常响应时进入此模式 管理管理 (svc)操作系统保护模式操作系统保护模式系统复位和软件中断响应时进入系统复位和软件中断响应时进入此模式此模式 中止中止 (abt)用于支持虚拟内存和用于支持虚拟内存和/或存或存储器保护储器保护在在ARM7TDMI没有大用处没有大用处 未定义未定义 (und)支持硬件协处理器的软件支持硬件协处理器的软件仿真仿真未定义指令异常响应时进入此模未定义指令异常响应时进入此模式式、ARM微处理器的运行模式可以通过软件微处理器的运行模式可以通过软件改变,也
20、可以通过外部中断或异常处理改变。改变,也可以通过外部中断或异常处理改变。、大多数的应用程序运行在用户模式下,当、大多数的应用程序运行在用户模式下,当处理器运行在用户模式下时,某些被保护的系统资处理器运行在用户模式下时,某些被保护的系统资源是不能被访问的。源是不能被访问的。、除用户模式以外,其余的所有、除用户模式以外,其余的所有6种模式称种模式称为非用户模式或特权模式为非用户模式或特权模式(Privileged Modes);、其中除去用户模式和系统模式以外的、其中除去用户模式和系统模式以外的5种种又称为异常模式又称为异常模式(Exception Modes),常用于处理,常用于处理中断或异常中
21、断或异常,以及需要访问受保护的系统资源等情况。以及需要访问受保护的系统资源等情况。ARM微处理器运行模式要注意的问题微处理器运行模式要注意的问题nARM体系中有以下3种方式控制程序的执行流程。n1.顺序执行:每执行一条ARM指令,程序计数器寄存器的值加4个字节;每执行一条Thumb指令,程序计数器寄存器的值加两个字节。n2.跳转:通过跳转指令,程序可以跳转到特定的地址标号处执行,或者跳转到特定的子程序处执行。n3.异常:当异常或中断发生时,系统执行完当前指令后,将跳转到相应的异常处理程序处执行。异常是指处理器正常的程序执行流程发生暂时的停止。三、三、ARM中断与异常中断与异常1.ARM中断与异
22、常类型 异常类型复位(reset)当处理器的复位引脚有效时,系统产生复位异常,程序跳转到复位异常处理程序执行。复位异常中断通常用在下面几种情况下:系统上电、系统复位、软复位。未定义指令(undefined instruction)当ARM处理器或协处理器遇到不能处理的指令时,产生未定义指令异常,可使用异常机制进行软件仿真软件中断(software interrupt)该异常由执行SWI指令产生,可用于用户模式下的程序调用特权操作指令,可使用该异常机制实现系统功能调用。指令预取中止(prefech abort)若处理器预取指令的地址不存在,或该地址不允许当前指令访问,存储器会向处理器发出终止信号
23、,但当预取的指令被执行时,才会产生指令预取中止异常。数据中止(data abort)若处理器数据访问指令的地址不存在,或该地址不允许当前指令访问时,产生数据中止异常。外部中断请求(irq)当处理器的外部中断请求引脚有效,且CPSR中的1位为0时,产生IRQ异常,系统的外设可通过该异常请求中断服务。快速中断请求(fiq)当处理器的快速中断请求引脚有效,且CPSR中的F位为0时,产生FIQ异常。当一个异常出现以后,当一个异常出现以后,ARM微处理器会执行以下几步操微处理器会执行以下几步操作:作:n(1)保存处理器当前状态、中断屏蔽位以及各条件标志位。将下一条指令的地址存入相应连接寄存器,以便程序在
24、处理异常返回时能从正确的位置重新开始执行。n(2)根据异常类型,设置CPSR中相应的位 包括设置CPSR中的位,使处理器进入相应的执行模式;设置CPSR中的位,禁止IRQ中断,当进入FIQ模式时,禁止FIQ中断。n(3)将程序计数器设置为该异常中断的中断向量地址,之后跳转到相应的异常中断处理程序处执行。n(4)还可以设置中断禁止位,以禁止中断发生。如果异常发生时,处理器处于Thumb状态,则当异常向量地址加载PC时,处理器自动切换到ARM状态。2.异常的响应及返回类型地址异常类型进入时的模式进入时I的状态进入时F的状态0 x0000 0000复位管理 禁止禁止0 x0000 0004未定义指令
25、未定义IF0 x0000 0008软件中断(SWI)管理禁止F0 x0000 000C预取中止(指令)中止IF0 x0000 0010数据中止中止IF0 x0000 0014保留保留0 x0000 0018IRQ中断禁止F0 x0000 001CFIQ快中断禁止禁止3.中断与异常入口向量 ARM处理器有处理器有37个寄存器:个寄存器:31个通用寄存器,个通用寄存器,6个状态寄存器。个状态寄存器。1.通用寄存器 通用寄存器包括通用寄存器包括R0R15,可以分为三类:,可以分为三类:未分组寄存器未分组寄存器 R0-R7分组寄存器分组寄存器 R8R14 寄存器类别寄存器在汇编中的名称各模式下实际访问
展开阅读全文