嵌入式系统-Chapter2-嵌入式硬件系统基础.ppt_第1页
嵌入式系统-Chapter2-嵌入式硬件系统基础.ppt_第2页
嵌入式系统-Chapter2-嵌入式硬件系统基础.ppt_第3页
嵌入式系统-Chapter2-嵌入式硬件系统基础.ppt_第4页
嵌入式系统-Chapter2-嵌入式硬件系统基础.ppt_第5页
已阅读5页,还剩193页未读 继续免费阅读

下载本文档

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

文档简介

电子科技大学嵌入式软件工程中心 嵌入式系统 电子科技大学嵌入式软件工程中心 第二章 嵌入式硬件系统基础 电子科技大学嵌入式软件工程中心 主要内容 嵌入式硬件系统基本组成 嵌入式微处理器 嵌入式系统总线 嵌入式存储系统 电子科技大学嵌入式软件工程中心 第一节 嵌入式硬件系统基本组成 电子科技大学嵌入式软件工程中心 嵌入式系统的硬件是以包含嵌入式微处 理器的SoC为核心,主要由SoC、总线、 存储器、输入/输出接口和设备组成。 嵌入式微处理器为核心的SoC 总线 存储器 输入/输出接口和设备 电子科技大学嵌入式软件工程中心 嵌入式微处理器 每个嵌入式系统至少包含一个嵌入式微处 理器 嵌入式微处理器体系结构可采用冯诺依曼 (Von Neumann)结构或哈佛(Harvard) 结构 地址 数据 主存储器 MOV r8,#8 CPU PC 指令 程序存储器 CPU PC 地址 数据存储器 MOV r8,#8 地址 数据 冯诺依曼结构哈佛结构 指令和数据 存放在同一 存储空间中, 统一编址 指令和 数据通 过同一 总线访 问 程序和数据 存储在不同 的存储空间 中 两条总线(程 序总线和数据 总线),数据 的吞吐率提高 了一倍 电子科技大学嵌入式软件工程中心 嵌入式微处理器 传统的微处理器采用的冯诺依曼结构将指令和 数据存放在同一存储空间中,统一编址,指令 和数据通过同一总线访问。 哈佛结构则是不同于冯诺依曼结构的一种并行 体系结构,其主要特点是程序和数据存储在不 同的存储空间中,即程序存储器和数据存储器 是两个相互独立的存储器,每个存储器独立编 制、独立访问。与之相对应的是系统中设置的 两条总线(程序总线和数据总线),从而使数 据的吞吐率提高了一倍。 电子科技大学嵌入式软件工程中心 嵌入式微处理器 嵌入式微处理器的指令系统可采用精简指令集系统RISC( Reduced Instruction Set Computer)或复杂指令集系统 CISC(Complex Instruction Set Computer) CISCRISC 价格 由硬件完成部分软件功能,硬件复 杂性增加,芯片成本高 由软件完成部分硬件功能,软件复 杂性增加,芯片成本低 性能 减少代码尺寸,增加指令的执行周 期数 使用流水线降低指令的执行周期数 ,增加代码尺寸 指令集 大量的混杂型指令集,有简单快速 的指令,也有复杂的多周期指令, 符合HLL(high level language) 简单的单周期指令,在汇编指令方 面有相应的CISC微代码指令 高级语言支持硬件完成软件完成 寻址模式 复杂的寻址模式,支持内存到内存 寻址 简单的寻址模式,仅允许LOAD和 STORE指令存取内存,其它所有的 操作都基于寄存器到寄存器 控制单元 微码直接执行 寄存器数目 寄存器较少寄存器较多 电子科技大学嵌入式软件工程中心 嵌入式微处理器 嵌入式微处理器有许多不同的体系,即使 在同一体系中也可能具有不同的时钟速度 和总线数据宽度、集成不同的外部接口和 设备。 据不完全统计,目前全世界嵌入式微处理 器的品种总量已经超过千种,有几十种嵌 入式微处理器体系,主流的体系有ARM、 MIPS、PowerPC、SH、 X86等。 电子科技大学嵌入式软件工程中心 总 线 嵌入式系统的总线可分为: 片内总线:与嵌入式微处理器集成在一起, 如:AMBA、 AVALON、OCP、 WISHBONE等 片外并行总线:如:PCI、ISA等 片外串行总线:UART、SPI、I2C、USB等 片内总线的选择取决于CPU Core 片外总线的选择取决于应用 电子科技大学嵌入式软件工程中心 存储器 嵌入式系统的存储器包括主存和外存 。 大多数嵌入式系统的代码和数据都存 储在处理器可直接访问的存储空间即 主存中。 系统上电后在主存中的代码直接运行 。主存储器的特点是速度快,一般采 用ROM、EPROM、Nor Flash、SRAM、 DRAM等存储器件。 电子科技大学嵌入式软件工程中心 存储器 目前有些嵌入式系统除了主存外,还有外存。 外存是处理器不能直接访问的存储器,用来存 放各种信息,相对主存而言具有价格低、容量 大的特点。 在嵌入式系统中除部分采用硬盘外,大多数采 用电子盘做外存,电子盘的主要种类有: NandFlash SD(Secure Digital) CompactFlash U盘 SmartMedia Memory Stick MultiMediaCard DOC(Disk On Chip 等 电子科技大学嵌入式软件工程中心 输入/输出接口和设备 嵌入式系统的大多数输入/输出接口和部分 设备已经与嵌入式微处理器集成在一起。 输入/输出接口和设备主要包括: 中断控制器、DMA、串行和并行接口 定时器(Timers)、计数器(counters)、看 门狗(watchdog timers)、RTC、UARTs、 PWM(Pulse width modulator) AD/DA、显示器、键盘和网络等。 电子科技大学嵌入式软件工程中心 第二节 嵌入式微处理器 嵌入式微处理器的发展 嵌入式微处理器的分类 嵌入式微处理器的特点 主流的嵌入式微处理器 (ARM, MIPS, SH, PowerPC, x86) 电子科技大学嵌入式软件工程中心 20世纪80年代 中后期 20世纪90年代 初期 20世纪90年代 中后期 21世纪 初期 制作工艺 1 - 0.8 m0.8 - 0.5 m0.5 0.35 m 0.25 - 0.13 m 主频 500K2M5M22M 位数4/8/16bit4/8/16/32bit4/8/16/32bit4/8/16/32/64b 嵌入式微处理器的发展 电子科技大学嵌入式软件工程中心 嵌入式微处理器的分类 嵌入式微处理器种类繁多,按位数可分为4位 、8位、16位、32位和64位。 按用途来分,嵌入式微处理器可分为嵌入式 DSP和通用的嵌入式微处理器两种: 嵌入式DSP:专用于数字信号处理,采用哈 佛结构和一系列措施保证数字信号的处理速 度,如对FFT(快速傅立叶变换)的专门优 化。 通用的嵌入式微处理器:一般是集成了通用 微处理器的核、总线、外围接口和设备的 SOC芯片,有些还将DSP作为协处理器集成 。 电子科技大学嵌入式软件工程中心 嵌入式微处理器的特点 体系结构 指令集 性能 功耗和管理 成本 集成度 基础是通用微处理器 与通用微处理器相比的 区别: 体积小、重量轻 成本低、功耗低 工作温度宽 抗电磁干扰、可靠性 强 电子科技大学嵌入式软件工程中心 External Memory CPU Address Data Cache Bus Interface Write Buffer MMU / MPU R R W WW W (R/W) 外设 如USB、LCD 控制器等 扩展芯片 内核(core)处理器存储器子系统SoC的片内外设系统的片外设备 处理器(Processor) 芯片(SoC) 系统(System) 嵌入式微处理器的集成度 符合嵌入式系统的低成 本和低功耗需求 电子科技大学嵌入式软件工程中心 嵌入式微处理器的集成度 嵌入式微处理器是面向应用的,其片内所包含 的组件的数目和种类是由它的市场定位决定的 。 在最普通的情况下,嵌入式微处理器包括: 片内存储器:部分嵌入式微处理器 外部存储器的控制器,外设接口(串口,并口) LCD控制器:面向终端类应用的嵌入式微处理器 中断控制器,DMA控制器,协处理器 定时器,A/D、D/A转换器 多媒体加速器:当高级图形功能需要时 总线 其他标准接口或外设返回 电子科技大学嵌入式软件工程中心 嵌入式微处理器的体系结构 算术格式(Arithmetic Format) 由于低成本和低功耗的限制,大多数的嵌入式微处理 器使用定点运算(fixed-point arithmetic) 当嵌入式系统中需要使用浮点运算时,可采用软件模 拟的方式实现浮点运算,只不过这样要占用更多的处 理器时间。 功能单元(Functional Units) 通常包括不止一个的功能单元,典型的是包含一个 ALU、移位器和MAC,处理器通常用一条指令完成 乘法操作。 流水线(Pipeline) 通常采用单周期执行指令,可能导致比较长的流水线 返回 电子科技大学嵌入式软件工程中心 嵌入式微处理器的指令集 为满足应用领域的需要,嵌入式微处理器的指令 集一般要针对特定领域的应用进行剪裁和扩充。 目前很多应用系统需要类似于DSP的数字处理功 能。这些指令主要有: 乘加(MAC)操作:它在一个周期中执行了一次乘法运 算和一次加法运算。 SIMD类操作:允许使用一条指令进行多个并行数据流 的计算。 零开销的循环指令:采用硬件方式减少了循环的开销 。仅使用两条指令实现一个循环,一条是循环的开始 并提供循环次数,另一条是循环体。 多媒体加速指令:像素处理、多边形、3D操作等指令 。 返回 电子科技大学嵌入式软件工程中心 嵌入式微处理器的性能 低端(低价,低性能) 一般低端嵌入式微处理器的性能最多达到50MIPS,应 用在对性能要求不高但对价格和功耗有严格要求的应 用系统中。 中档,低功耗 中档的嵌入式微处理器可达到较好的性能(如 150MIPS左右),采用增加时钟频率、加深流水深度 、增加Cache及一些额外的功能块来提高性能,并保 持低功耗。 高端 电子科技大学嵌入式软件工程中心 嵌入式微处理器的性能 高端嵌入式微处理器用于高强度计算的应用, 使用不同的方法来达到更高的并行度 单指令执行乘法操作:通过加入额外的功能单元和扩展指令 集,使许多操作能在一个单一的周期内并行执行。 每个周期执行多条指令:桌面和服务器的超标量处理器都支 持单周期多条指令执行,在嵌入式领域通常使用VLIW(very large instruction word)来实现,这样只需较少的硬件,总体 价格会更低些。例如TI的TMS320C6201芯片,通过使用 VLIW方法,能在每个周期同时执行8条独立的32位指令。 使用多处理器:采用多处理器的方式满足应用系统的更高要 求。一些嵌入式微处理器采用特殊的硬件支持多处理器。如TI 的OMAP730包括了三个处理器核ARM9、ARM7、DSP。 返回 电子科技大学嵌入式软件工程中心 嵌入式微处理器的功耗管理 大多数嵌入式系统有功耗的限制(特别是电池 供电的系统),它们不支持使用风扇和其他冷 却设备。 降低工作电压:1.8v、1.2v甚至更低,而且 这个数值一直在下降。 提供不同的时钟频率:通过软件设置不同的 时钟分频。 关闭暂时不使用的功能块:如果某功能块在 一个周期内不使用,就可以被完全关闭,以 节约能量。 电子科技大学嵌入式软件工程中心 嵌入式微处理器的功耗管理 提供功耗管理机制 运行模式(Running Mode):处理器处于全速运 行状态下。 待命模式(Standby Mode):处理器不执行指令, 所有存储的信息是可用的,处理器能在几个周期内 返回运行模式。 时钟关闭模式(clock-off mode):时钟完全停止 ,要退出这个模式系统需要重新启动。 影响功耗的其他因素还有总线(特别是总线转 换器,可以采用特殊的技术使它的功耗最小) 和存储器类型的大小(如果使用DRAM,它需 要不断的刷新)。为了使功耗最小,总线和存 储器要保持在应用系统可接受的最小规模。 返回 电子科技大学嵌入式软件工程中心 嵌入式微处理器的成本 为降低价格,需要在嵌入式微处理器的设计中考虑不 同的折衷方案。 处理器的价格受如下因素影响: 处理器的特点:功能块的数目、总线类型等。 片上存储器的大小。 芯片的引脚数和封装形式:如PQFP(Plastic Quad Flat Package)通常比BGA(Ball Grid Array Package)便宜。 芯片大小(die size):取决于制造的工艺水平。 代码密度(code density):代码存储器的大小将影响价 格,不同种类的处理器结构(CISC/RISC/ VLIW )有不 同的代码密度。 电子科技大学嵌入式软件工程中心 主流的嵌入式微处理器 目前主流的嵌入式微处理器系列主要有: ARM系列 MIPS系列 PowerPC系列 Super H系列等。 属于这些系列的嵌入式微处理器产品很多 ,有上千种以上。 电子科技大学嵌入式软件工程中心 UnitsUnits (millions)(millions) Source: Andrew Allison, Inside The New Computer Industry, January 2001 Embedded RISC Processor ShipmentsEmbedded RISC Processor Shipments 电子科技大学嵌入式软件工程中心 32位浪潮的到来 Source: Semico Research Corp. and SIA/WSTS Total MCU, by Sub-Category (excl. DSP) Total Embedded Control Market Shipments by Type 总共约26亿个32位处理器 付运,占总数96亿的27% 2005年ARM为17亿个, 约占32位总量的70%左右 电子科技大学嵌入式软件工程中心 X86系列 主要由AMD,Intel,NS,ST等公司提 供,如:Am186/88、Elan520、嵌入式 K6,386EX、STPC等。 主要应用在工业控制、通信等领域。 国内由于对X86体系比较熟悉,得到广泛 应用,特别是嵌入式PC的应用非常广泛 。 电子科技大学嵌入式软件工程中心 Intel Atom processor Z5xx built on a new 45-nanometer Hi-k low power micro- architecture and 45 nm process technology the first generation of lowpower IA-32 micro- architecture specially designed for the new class of Mobile Internet Devices (MIDs). In the Intel Centrino Atom processor technology platform, the Intel Atom processor Z5xx series supports the Intel System Controller Hub (Intel SCH), a single-chip component design for low-power. This document contains electrical, mechanical and thermal specifications for the following processors: Intel Atom processor Z540, Z530, Z520, Z510, and Z500 电子科技大学嵌入式软件工程中心 Intel Atom processor Z5xx built on a new 45-nanometer Hi-k low power micro- architecture and 45 nm process technology the first generation of lowpower IA-32 micro- architecture specially designed for the new class of Mobile Internet Devices (MIDs). In the Intel Centrino Atom processor technology platform, the Intel Atom processor Z5xx series supports the Intel System Controller Hub (Intel SCH), a single-chip component design for low-power. This document contains electrical, mechanical and thermal specifications for the following processors: Intel Atom processor Z540, Z530, Z520, Z510, and Z500 电子科技大学嵌入式软件工程中心 Intel Atom processor Z5xx built on a new 45-nanometer Hi-k low power micro- architecture and 45 nm process technology the first generation of low power IA-32 micro- architecture specially designed for the new class of Mobile Internet Devices (MIDs). In the Intel Centrino Atom processor technology platform, the Intel Atom processor Z5xx series supports the Intel System Controller Hub (Intel SCH), a single-chip component design for low-power. This document contains electrical, mechanical and thermal specifications for the following processors: Intel Atom processor Z540, Z530, Z520, Z510, and Z500 电子科技大学嵌入式软件工程中心 Intel Atom processor Z5xx New single-core processor for mobile devices offering enhanced performance On die, primary 32-kB instructions cache and 24-kB write- back data cache 100-MHz and 133-MHz Source-Synchronous front side bus (FSB) 100 MHz: Intel Atom processor Z500 133 MHz: Intel Atom processor Z540, Z530, Z520, and Z510 Supports Hyper-Threading Technology 2-threads On die 512-kB, 8-way L2 cache Support for IA 32-bit architecture Intel Virtualization Technology (Intel VT) Intel Streaming SIMD Extensions 2 and 3 (Intel SSE2 and Intel SSE3) and Supplemental Streaming SIMD Extensions 3 (SSSE3) support 电子科技大学嵌入式软件工程中心 MPC/PPC系列 Motorola推出的MPC系列,如MPC8XX 。 IBM推出PPC系列,如PPC4XX。 主要应用在通信、消费电子及工业控制 、军用装备等领域。 电子科技大学嵌入式软件工程中心 MPC/PPC系列 IBM PowerPC 集成10/100Mbps以太网 控制器、串行和并行端口、内存控制器 以及其它外设的高性能嵌入式处理器。 Motorola MPC 高度综合的SOC设备 ,它结合了PPC微处理器核心的功能、 通信处理器和单硅成分内的显示控制器 。这个设备可以在大量的电子应用中使 用,特别是在低能源、便携式、图象捕 捉和个人通信设备。 电子科技大学嵌入式软件工程中心 技术0.25微米CMoS SA-12E 282 Dhrystone 2.1 MIPS 200MHz 375 Dhrystone 2.1 MIPS 266MHz 200/100/66/50 MHz 266/133/66/66 MHz 晶体数量480万 电源消耗1.1瓦 信号 I/O300 温度范围-40到80度 电源供应2.5V ( 逻辑电路 ),3.3V (I/O) ,支持 5V I/Os 456-Ball,Enhanced PBGA (35mm x 35mm) 性能 频率 (CPU / SDRAM /PCI /EBC) 封装 PowerPC 405 GPPowerPC 405 GP技术规格技术规格 * *Dhrystone是一个综合性的基准测试程序,它是为了测试编译器和CPU处 理整数指令和控制功能的有效性,人为地选择一些“典型指令综合起来形 成的测试程序。 电子科技大学嵌入式软件工程中心 ARM系列 ARM(Advanced RISC Machine)公司是一家专门从 事芯片IP设计与授权业务的英国公司,其产品有 ARM内核以及各类外围接口。 ARM内核是一种32位RISC微处理器,具有功耗低 、性价比高、代码密度高等三大特色。 目前,90%的移动电话、大量的游戏机、手持PC 和机顶盒等都已采用了ARM处理器,许多一流的 芯片厂商都是ARM的授权用户(Licensee),如 Intel、Samsung、TI、Motorola、ST等,ARM已 成为业界公认的嵌入式微处理器标准。 电子科技大学嵌入式软件工程中心 ARM处理器的分类 结构体系版本(Architecture ) ARM v4T ARM v5TE ARM v6 ARM Cortex (v7) Processor Family ARM7 ARM9 ARM10 ARM11 ARM Cortex 按应用特征分类 应用处理器 Application Processor 实时控制处理器 Real-time Controller 微控制器 Micro-controller 特征:MMU, Cache 最快频率、最高性能、合理功耗 特征:MPU, Cache 实时响应、合理性能、较低功耗 特征:no sub-memory system 一般性能、最低成本、极低功耗 电子科技大学嵌入式软件工程中心 v4 v5TE SA110 v4T ARM720T ARM7TDMI-S ARM920T ARM940T ARM922T ARM966E-S ARM946E-S ARM1020E v5TEJ / Jazelle v6 / Jazelle ARM7EJ-S ARM926EJ-S ARM1026EJ-S ARM11 Micro-Architecture Roadmap of ARM V4/V5/V6Roadmap of ARM V4/V5/V6 基于32-bit地址空间的32-bit指令集 增加16-bit Thumb 指令集,使得编译器 能产生紧凑代码(内存能节省到35%以上 ) Thumb在处理器中仍然要扩展为标准的 32位ARM指令来运行。 采用16位Thumb指令集最大的好处就是 可以获得更高的代码密度和降低功耗。 1999年推出 增强了Thumb体系:以更好地 平衡代码空间和性能 并在ARM ISA上扩展了增强的DSP 指令 集: E扩展表示在通用的CPU上提供DSP 能力。 2000年推出, 增加了Jazelle扩展以支持 Java加速技术。 Jazelle技术比仅仅基于软件的JVM性能提 高近8倍的性能减少了80的功耗。 2001年推出,它在许多方面做了改进如内存系统、异 常处理和较好地支持多处理器。 SIMD扩展使得广大的软件应用如Video和Audio codec的性能提高了4倍。 Thumb-2和TrustZone 技术也用于ARMv6中。 电子科技大学嵌入式软件工程中心 ARMv7(Cortex) ARMv7定义了3种不同的处理器配置(processor profiles): Profile A是面向复杂、基于虚拟内存的OS和应用的 Profile R是针对实时系统的 Profile M是针对低成本应用的优化的微控制器的。 所有ARMv7 profiles实现Thumb-2技术,同时还 包括了NEON技术的扩展提高DSP和多媒体处 理吞吐量400 ,并提供浮点支持以满足下一代 3D图形和游戏以及传统嵌入式控制应用的需要。 电子科技大学嵌入式软件工程中心 ARM Family ARM7 Family ARM9 Family ARM10 Family ARM11 Family 150DMIPS 300 DMIPS 500 DMIPS 1000 DMIPS ARM Cortex Family ARM720T ARM1136J ARM1176JZ ARM1026E ARM920T/ARM922T ARM926EJ Cortex A Application Processor ARM7TDMI ARM1156T2 ARM1026E ARM946E Cortex R Embedded RT Controller ARM7TDMI ARM966E ARM968E Cortex M Micro- controller ARM Architecture 电子科技大学嵌入式软件工程中心 当前的主流ARM处理器 ARM7 世界上最为广泛使用的 CPU 之一 内存访问指令示例 LDR r0,r1 STRNEB r2,r3,r4 STMFD sp!,r4-r8,lr r0 = r1 - 5 r2 = r3 + (r3 * 4) r4 = r4 AND 0x20 (set flags) IF EQ condition true r5 = r5 + r6 Branch forwards or backwards relative to current PC (+/- 32MB range) Load word at address r1 into r0 IF NE condition true, store bottom byte of r2 to address r3+r4 Store registers r4 to r8 and lr on stack. Then update stack pointer 电子科技大学嵌入式软件工程中心 Thumb指令集 Thumb是一个16位的指令集 对C代码的紧密度做了优化 (大约是ARM代码大小的65%) 对窄内存的性能进行了提高 是ARM指令集的功能子集 对大多数的Thumb指令而言 没有使用条件执行 标志一直都是置位的 源寄存器和目标寄存器是相同的 只使用了低端寄存器 常量有大小的限制 没有使用内嵌桶型移位器(inline barrel shifter) 通过使用BX指令来切换ARM态和Thumb态 Thumb不是一个“常规”的指令集! 对指令的约束有时是不一致的 一般由编译器生成,而不是手动编写代码 电子科技大学嵌入式软件工程中心 ARM和Thumb的性能对比 0 5000 10000 15000 20000 25000 30000 35000 Dhrystone 2.1 / sec 20MHz on ARM7TDMI ARM Thumb 32 bit16 bit16 bit with 32 bit stack 内存宽度 (0等待状态) 电子科技大学嵌入式软件工程中心 Thumb-2 指令集 Thumb-2 主要是对Thumb指令集架构(ISA)的扩展指令 增加了32位指令实现了几乎所有的ARM指令集架构的功能 保留了完整的16位Thumb指令集 ARM1156T2-S和Cortex 系列支持Thumb-2 Cortex-M3只支持Thumb-2! 设计目标:以Thumb的指令密度达到ARM的性能 不需要手动选择指令集 减少了剖析代码和理解执行方式的需求 编译器可以自动地选择16位和32位指令的混合 可以访问ARM态的行为 异常可以直接处理 可以访问协处理器 可以完成v5TE的高级数据处理 条件执行可以通过If-Then (IT) 指令 1-4条紧接指令可以条件性地执行 电子科技大学嵌入式软件工程中心 Thumb 2的性能/密集度 性能 代码密度 100% ARM code 100% Thumb code Random mixProfiled mix Thumb-2 电子科技大学嵌入式软件工程中心 指令流 执行单元 ARM Thumb 译码阶段执行阶段取指阶段 Jazelle Jazelle使得ARM核可以执行8位的Java字节码 95%的字节码可以用硬件执行(典型) 普通JVM:0.7 Caffeinemarks/MHz ARM9EJ:5.5 Caffeinemarks/MHz 功耗效率显著提高 相比ARM9E, ARM9EJ-S多了大约12K个额外的门电路 ARM JTEK (Java Technology Enabling Kit)提供了支持代码 当处理器在Jazelle态执行时: 所有的指令都是8位宽 处理器进行字访问一次读4条指令 Jazelle 电子科技大学嵌入式软件工程中心 ARM微处理器:异常 异常是由内部或者外部原因引起的,当异 常发生时CPU将暂停执行当前指令自动到指 定的向量地址读取指令并且执行。 在X86上,当有异常发生时CPU是到指定的向 量地址读取要执行的程序的地址 而ARM是到向量地址的地方读取指令,也就是 ARM的向量地址处存放的是一条指令(一般是 一条跳转指令) 电子科技大学嵌入式软件工程中心 ARM微处理器:异常 X86体系的中断跳转 内存地址 IDT表 0x0000 0x0004 0x0008 0x000c 0x0010中断服务程序入口地址 ISR_addr . . . . . 0x003f4 0x003f8 0x003fc ISR() 保存现场 中断处理 恢复现场 中断到来,传入中断号。CPU 根据(中断号4)找寻内存地址 将相应内存地 址中的 isr_addr加载 到PC,实现 程序跳转 电子科技大学嵌入式软件工程中心 ARM微处理器:异常 ARM中断的跳转 0x00000000LDR PC, Reset_Addr 0x00000004LDR PC, Undefined_Addr 0x00000008LDR PC, SWI_Addr 0x0000000cLDR PC, Prefetch_Addr 0x00000010LDR PC, Abort_Addr 0x00000014NOP 0x00000018LDR PC, IRQ_ISR_Addr 0x0000001cLDR PC, FIQ_ISR_Addr 内存地址异常向量表 IRQ_ISR() 判断中断源 . 触发IRQ的设备 处理程序 Device() 在X86中,根据中断号得出的中断处 理程序已经判断了中断源,而在ARM 中,IRQ只是一类中断的总称,还需 要具体判断触发IRQ的是哪个设备! 电子科技大学嵌入式软件工程中心 ARM微处理器:异常 ARM CPU将引起异常的类型分为7种 电子科技大学嵌入式软件工程中心 ARM微处理器:异常 当异常出现时,异常模式分组的R14和SPSR用于 保存状态,即: R14_=return link SPSR_=CPSR CPSR4:0=exception mode number CPSR5=0 /*在ARM状态执行*/ if=Reset or FIQ then CPSR6=1 /*禁止快速中断*/ CPSR7=1 /*禁止正常中断*/ PC=exception vector address 当处理异常返回时,将SPSR传送到CPSR,R14 传送到PC 电子科技大学嵌入式软件工程中心 ARM微处理器:异常 Reset:CPU被复位后,进入Supervisor Mode并且禁止FIQ和IRQ。 Undefined Instructions: CPU执行一条 未被定义的指令时就会触发该异常。这种 机制可以用于通过软件仿真的方式扩展 THUMB or ARM指令集。 SWI:软中断(SWI)是执行SWI指令时触发 的,该异常主要用于OS的系统调用。 电子科技大学嵌入式软件工程中心 ARM微处理器:异常 Prefetch Abort: CPU在读取指令时发生 读内存错误并且该指令又要被执行则触发 该异常;如果只是在读取指令时发生了内 存错误而该指令又未被执行则不会触发该 异常。 Data Abort:当CPU在读写数据时,如果发 生错误则触发该异常。 电子科技大学嵌入式软件工程中心 ARM微处理器:异常 IRQ:当外部IRQ输入请求发生时(IRQ中断 已经被使能),触发该异常。 FIQ: FIQ通常被用于快速传输数据。当外 部FIQ输入请求发生时(FIQ中断已经被使 能),触发该异常。 电子科技大学嵌入式软件工程中心 ARM微处理器:异常 异常的优先级 电子科技大学嵌入式软件工程中心 ARM微处理器:内存和I/O ARM 的寻址空间是线性的地址空间,为232=4G Bytes 0 to 3 存储第一个word, bytes 4 to 7存 储第二个word 大小端决定了寄存器的内容和内存内容的格式关联 ARM寄存器是字(4字节)宽 ARM是按照字节顺序来寻址内存的 ARM支持大端(Big-endian)和小端(Little- endian)的内存数据方式,可以通过硬件的方式设 置端模式,也可以通过软件的方式来设置(V6版本 以上) 电子科技大学嵌入式软件工程中心 大端的数据存放格式 低地址 高地址 地址A 地址A+1 地址A+2 地址A+3 最高有效字节的地址 就是该word的地址 最高有效字节 位于最低地址 word a=0x f6 73 4b cd f6 73 4b cd ARM微处理器:内存和I/O 最高有效字节:Most significant byte 最低有效字节:Least significant byte 电子科技大学嵌入式软件工程中心 小端的数据格式 低地址 高地址 地址A 地址A+1 地址A+2 地址A+3 最低有效字节的地址 就是该word的地址 最低有效字节 位于最低地址 word a=0x f6 73 4b cd f6 73 4b cd 最高有效字节:Most significant byte 最低有效字节:Least significant byte ARM微处理器:内存和I/O 电子科技大学嵌入式软件工程中心 ARM微处理器:内存和I/O 大端: 小端: 0xb3204500 0xddddddd0 0xb3204500 0xddddddd0 f6 f6 73 73 4b 4b cd cd da da 00 00 实例 变量A:word A=0x f6 73 4b cd,在内存中的起始 地址为0x b3 20 45 00 变量B:half word B=218,在内存中的起始地址为 0x dd dd dd d0问题:half word B=218与word C=218在内 存中的存放方式有何不同?请分大端和小 端两种情况说明。 电子科技大学嵌入式软件工程中心 ARM微处理器:内存和I/O 数据信息 状态信息 控制信息 数字量 模拟量 开关量 连续几位二进制形式表示的数或字符。如 键盘输入的信息以及打印机、显示器输出 的信息等 时间上连续变化的量,如温度、压力、流 量等 只有两个状态的量,如阀门的合与断、电 路的开与关等 CPU与 I/O设备 之间的 接口信 息 反映外设当 前工作状态 的信息 READY信号:输入设备是否准 备好 BUSY信号:输出设备是否忙 CPU向外部 设备发送的 控制命令信 息 读写控制信号 时序控制信号 中断信号 片选信号 其它操作信号 数据、状态、控制信息都 是通过CPU的数据总线传 送,存在I/O接口的不同 端口中:数据、状态、控 制端口 电子科技大学嵌入式软件工程中心 ARM微处理器:内存和I/O I/O端口的编址方法,即I/O端口的地址安排方式 存储器映射编址I/O映射编址 I/O端口的地址与内存地址统 一编址,即I/O单元与内存单 元在同一地址空间 I/O端口与内存单元分开编址 ,即I/O单元与内存单元都有 自己独立的地址空间 电子科技大学嵌入式软件工程中心 ARM微处理器:内存和I/O 存储器映射编址I/O映射方式 优点 可采用丰富的内存操作指 令访问I/O单元 无需单独的I/O地址译码 电路 无需专用的I/O指令 I/O单元不占用内存空 间 I/O程序易读 缺点 外设占用内存空间 I/O程序不易读 I/O操作指令仅有单一的 传送指令,I/O接口需有 地址译码电路 举例 ARM中,I/O端口与内存单 元统一编址 Intel 80X86系列,I/O 端口与内存单元分开编 址,I/O端口有自己独立 的地址空间,其大小为 64KB 电子科技大学嵌入式软件工程中心 ARM微处理器:内存和I/O ARM 的I/O端口都是内存映射的方式,即对 I/O端口的访问与内存的访问的方式完全一 样。 通常将I/O所映射的存储系统标识为非高速 缓存(uncachable)和非缓冲( unbufferable)。 电子科技大学嵌入式软件工程中心 MIPS:简介 MIPS是世界上很流行的一种RISC处理器。 MIPS的意思是“无互锁流水级的微处理器 ”(Microprocessor without interlocked piped stages)。 其机制是尽量利用软件办法避免流水线中的数 据相关问题。 MIPS处理器是由斯坦福(Stanford)大学John Hennery教授领导的研究小组研制出来的。 President of Stanford University, USA Computer architecture book use MIPS as foundation 电子科技大学嵌入式软件工程中心 MIPS:发展历程 1984年MIPS计算机公司成立。 1986年推出R2000处理器。 1988年推出R3000处理器。 1989年 IPO as MIPS Computer Systems, 专注于 workstations 1991年推出第一款64位商用微处理器R4000。 1992年,SGI收购了MIPS计算机公司之后,该公司又 陆续推出R8000(于1994年)、R10000(于1996年) 和R12000(于1997年)等型号的处理器。 1998年,MIPS脱离SGI成为MIPS Technologies之后 IPO,其战略发生变化,把重点放在了嵌入式系统上 。 电子科技大学嵌入式软件工程中心 MIPS:发展历程 1999年,MIPS公司发布MIPS 32和MIPS 64架构 标准,为未来MIPS处理器的开发奠定了基础。 新的架构集成了所有原来的MIPS指令集,并且增 加了许多更强大的功能。 和ARM公司一样,MIPS公司本身并不从事芯片 的生产活动(只进行设计),不过其他公司如果 要生产该芯片的话必须得到MIPS公司的许可。 电子科技大学嵌入式软件工程中心 电子科技大学嵌入式软件工程中心 MIPS:指令体系 MIPS指令集体系ISA (MIPS Instruction Set Architecture) 从最早的MIPS I ISA开始发展,到MIPS V ISA ,再到现在的MIPS32和MIPS64结构,其所有 版本都是与前一个版本兼容的。 在MIPS III的ISA中,增加了64位整数和64位 地址。 在MIPS IV和MIPS V的ISA中增加了浮点数的 操作等。 电子科技大学嵌入式软件工程中心 MIPS :指令体系 MIPS I MIPS V MIPS32和MIPS64结构 ,其所有版本都是与前一个版本兼容的。 MIPS32和MIPS64体系是为满足高性能、成本 敏感的需求而设计的。 MIPS32体系是基于MIPS II的, 并从MIPS III、 MIPS IV和MIPS V中选择一些指令以增强数据 和代码的有效操作。 MIPS64体系是基于MIPS V并与MIPS32体系兼 容的。 电子科技大学嵌入式软件工程中心 电子科技大学嵌入式软件工程中心 第三节 嵌入式系统总线 概述 AMBA总线 PCI总线 CPCI总线 串行总线 电子科技大学嵌入式软件工程中心 概述 总线是CPU与存储器和设备通信的机制,是计 算机各部件之间传送数据、地址和控制信息的 公共通道。 片内总线或内部总线:连接 CPU内部各主要功能部件 片外总线:CPU与存储器(RAM和ROM) 和I/O接口之间进行信息交换的通道 数据总线Dbus 地址总线Abus 控制总线Cbus 总 线 分 类 电子科技大学嵌入式软件工程中心 概述 总线宽度 总线频率 总线带宽 总线带宽(单位:MB/s) =(总线宽度/8) 总线频率 如:总线宽度32位,频率66MHZ,则 总线带宽=(32/8)* 66MHz=264MB/s 总 线 的 主 要 参 数 又称总线位宽,指的是总线能同时 传送数据的位数。如16位总线就是 具有16位数据传送能力。 总线工作速度的一个重要参数, 工作频率越高,速度越快。 通常用MHz表示。 又称总线的数据传送率,是指在一 定时间内总线上可传送的数据总量, 用每秒最大传送数据量

温馨提示

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

评论

0/150

提交评论