




文档简介
1 32位嵌入式系统现状及教学 与科研应用 32位嵌入式系统现状及教学 与科研应用 北京航空航天大学北京航空航天大学北京航空航天大学北京航空航天大学 机器人研究所机器人研究所机器人研究所机器人研究所 魏洪兴魏洪兴魏洪兴魏洪兴 2005.11 2005.11 2005.11 2005.11 天津天津天津天津 2 提要提要 1 1 1 3 3 3 2 2 2 4 4 4 嵌入式系统的基本概念嵌入式系统的基本概念 arm微处理器概述 嵌入式系统的教学与人才培养 嵌入式系统的科研实践 微处理器概述 嵌入式系统的教学与人才培养 嵌入式系统的科研实践 3 嵌入式系统的应用领域 嵌入式应用嵌入式应用 信息家电信息家电 智能玩具智能玩具 军事电子军事电子 通信设备通信设备 移动存贮移动存贮 工控设备工控设备 智能仪表智能仪表 汽车电子汽车电子 网络设备网络设备 消费电子消费电子 军事国防军事国防 电子商务电子商务 网络网络 工业控制工业控制 4 嵌入式技术正在改变生活嵌入式技术正在改变生活 5 基于基于vxworksvxworks的火星探路者的火星探路者 6 20042004年年“ “勇气号勇气号” ”再次登陆火星再次登陆火星 7 嵌入式系统 ?广义上讲,凡是带有微处理器的专用软硬件系统都可 称为嵌入式系统。如各类单片机和dsp系统。这些系统 在完成较为单一的专业功能时具有简洁高效的特点。 但由于他们没有操作系统,管理系统硬件核软件的能 力有限,在实现复杂多任务功能时,往往困难重重, 甚至无法实现 广义上讲,凡是带有微处理器的专用软硬件系统都可 称为嵌入式系统。如各类单片机和dsp系统。这些系统 在完成较为单一的专业功能时具有简洁高效的特点。 但由于他们没有操作系统,管理系统硬件核软件的能 力有限,在实现复杂多任务功能时,往往困难重重, 甚至无法实现 ?从狭义上讲,我们更加强调那些使用嵌入式微处理器 构成独立系统,具有 从狭义上讲,我们更加强调那些使用嵌入式微处理器 构成独立系统,具有自己操作系统,具有特定功能, 用于特定场合的嵌入式系统。这里所谓的嵌入式系统 是指狭义上的嵌入式系统。 自己操作系统,具有特定功能, 用于特定场合的嵌入式系统。这里所谓的嵌入式系统 是指狭义上的嵌入式系统。 8 实时系统 ?实时系统实时系统 ?实时系统的正确性依赖于运行结果的逻辑正确性和 运行结果产生的时间正确性,即实时系统必须在规 定的时间范围内正确地响应外部物理过程的变化。 实时系统的正确性依赖于运行结果的逻辑正确性和 运行结果产生的时间正确性,即实时系统必须在规 定的时间范围内正确地响应外部物理过程的变化。 9 实时系统 ?硬实时软实时硬实时软实时 10 嵌入式系统的架构嵌入式系统的架构 处理器处理器 存储器存储器 输入输入 输出输出 操作系统操作系统 应用程序应用程序 软件软件 结构结构 硬件硬件 结构结构 11 嵌入式系统的软/硬件框架 嵌入式 微处理器 嵌入式 微处理器 sdramsdram romrom i/oi/o a/da/d d/ad/a 人机交互接口人机交互接口 通用接口通用接口 实时操作系统(rtos)实时操作系统(rtos) 图形用户 接口 bsp/hal 硬件抽象层/板极支持包 图形用户 接口 bsp/hal 硬件抽象层/板极支持包 任务管理任务管理文件系统文件系统 应用程序 嵌入式计算机系统 硬件层 软件层 中间层 功能层应用程序 嵌入式计算机系统 硬件层 软件层 中间层 功能层 12 冯冯诺依曼体系结构模型诺依曼体系结构模型 指令寄存器指令寄存器 控制器控制器 数据通道数据通道 输入输出输入输出 中央处理器中央处理器 存储器 程序 指令0 指令1 指令2 指令3 指令4 数据 存储器 程序 指令0 指令1 指令2 指令3 指令4 数据 数据0 数据1 数据2 数据0 数据1 数据2 13 哈佛体系结构哈佛体系结构 指令寄存器指令寄存器 控制器控制器 数据通道数据通道 输入输出输入输出 中央处理器中央处理器 程序存储器 指令 程序存储器 指令0 指令指令1 指令指令2 数据存储器数据存储器 数据数据0 数据数据1 数据数据2 地址 指令 地址 数据 地址 指令 地址 数据 14 cisc和和risc cisc:复杂指令集(complex instruction set computer)cisc:复杂指令集(complex instruction set computer) 具有大具有大量的指令和寻址方式 8/2原则:80% 量的指令和寻址方式 8/2原则:80%的程序只使用20%的指令 大多数程序只使用少量的指令就能够运行。 的程序只使用20%的指令 大多数程序只使用少量的指令就能够运行。 risc:精简指令集(reduced instruction set computer)risc:精简指令集(reduced instruction set computer) 在通道中只包含最有用的指令在通道中只包含最有用的指令 确保数据通道快速执行每一条指令确保数据通道快速执行每一条指令 使cpu硬件结构设计变得更为简单使cpu硬件结构设计变得更为简单 15 cisc与与risc的数据通道的数据通道 ifid regalumem 开始 退出 ifid alumemreg 微操作通道 开始 退出 单通数据通道 16 cisc与与risc的对比的对比 类别ciscrisc 指令系统 执行时间 编码长度 寻址方式 操作 类别ciscrisc 指令系统 执行时间 编码长度 寻址方式 操作可以对存储器和寄存器进行 算术和逻辑操作 只能对寄存器对行算术和逻辑 操作,load/store体系结构 可以对存储器和寄存器进行 算术和逻辑操作 只能对寄存器对行算术和逻辑 操作,load/store体系结构 编译编译 指令数量很多较少,通常少于100 有些指令执行时间很长,如 整块的存储器内容拷贝;或 将多个寄存器的内容拷贝到 存贮器 没有较长执行时间的指令 编码长度可变,1-15字节编码长度固定,通常为4个字节 寻址方式多样简单寻址 难以用优化编译器生成高效 的目标代码程序 采用优化编译技术,生成高效 的目标代码程序 指令数量很多较少,通常少于100 有些指令执行时间很长,如 整块的存储器内容拷贝;或 将多个寄存器的内容拷贝到 存贮器 没有较长执行时间的指令 编码长度可变,1-15字节编码长度固定,通常为4个字节 寻址方式多样简单寻址 难以用优化编译器生成高效 的目标代码程序 采用优化编译技术,生成高效 的目标代码程序 17 知识产权核知识产权核(ip核核, intellectual property) ?知识产权(ip) 电路或核是设计好并经过验证的集成电 路功能单元 知识产权(ip) 电路或核是设计好并经过验证的集成电 路功能单元 ?ip复用意味着设计代价降低(时间,价格)ip复用意味着设计代价降低(时间,价格) ?ip核的类别:ip核的类别: ?微处理器微处理器: arm, powerpc;微处理器微处理器: arm, powerpc; ?存储器存储器: ram, memory controller;存储器存储器: ram, memory controller; ?外设: pci, dma controller;外设: pci, dma controller; ?多媒体处理: mpeg/jpeg ;多媒体处理: mpeg/jpeg ; ?encoder/decoder ;encoder/decoder ; ?数字信号处理器(dsp) 数字信号处理器(dsp) ?通信: ethernet controller, router,通信: ethernet controller, router, 18 ip核的种类ip核的种类 ?soft cores(soft cores(“codecode”)(软核))(软核) ?hdl语言描述hdl语言描述 ?灵活度高,可修改灵活度高,可修改 ?与工艺独立,可根据具体的加工工艺重新综合;与工艺独立,可根据具体的加工工艺重新综合; ?ip很难保护ip很难保护 ?firm cores(firm cores(“code+structurecode+structure”)(固核))(固核) ?逻辑综合后的描述逻辑综合后的描述 ?与工艺相关与工艺相关 ?hard cores(hard cores(“physicalphysical”)(硬核))(硬核) ?物理综合后的描述物理综合后的描述 ?准备流片准备流片 ?包含工艺相关的布局和时序信息包含工艺相关的布局和时序信息 ?ip很容易保护ip很容易保护 ?多数的处理器和存储器多数的处理器和存储器 19 2004年全球半导体年全球半导体ip供应商排名供应商排名 all data from gartner-dataquest * only sip revenue reported 20 流水线技术流水线技术 流水线技术:几个指令可以并行执行流水线技术:几个指令可以并行执行 提高了cpu的运行效率提高了cpu的运行效率 内部信息流要求通畅流动内部信息流要求通畅流动 译码取指执行add 译码取指执行sub 译码取指执行cmp 时间 add sub cmp 21 高速缓存(高速缓存(cache) 1、为什么采用高速缓存1、为什么采用高速缓存 微处理器的时钟频率比内存速度提高快得多,高速缓存可以 提高内存的平均性能。 微处理器的时钟频率比内存速度提高快得多,高速缓存可以 提高内存的平均性能。 2、高速缓存的工作原理2、高速缓存的工作原理 高速缓存是一种小型、快速的存储器,它保存部分主存内容 的拷贝。 高速缓存是一种小型、快速的存储器,它保存部分主存内容 的拷贝。 cpu 高 速 缓 存 控 制 器 cache 主存 数据 数据 地址 22 存储器系统的层次结构存储器系统的层次结构 寄存器 高速缓存 寄存器 高速缓存 sram 主存储器主存储器 dram 本地存储器本地存储器 flash、rom、磁盘 网络存储器 、磁盘 网络存储器 flash、rom、磁盘 时 钟 周 期 、磁盘 时 钟 周 期 0 110 50100 20000000 23 rtos是是32位嵌入式位嵌入式cpu的软件基础的软件基础 ?rtos内核 提供cpu的管理rtos内核 提供cpu的管理 ?硬件初时化,mmu,定时器,中断硬件初时化,mmu,定时器,中断 ?rtos内核提供任务,内存管理rtos内核提供任务,内存管理 ?rtos提供设备管理,文件和网络的支持rtos提供设备管理,文件和网络的支持 ?rtos提供c/c+,java,图形模块等编程接口rtos提供c/c+,java,图形模块等编程接口 24 嵌入式操作系统的发展嵌入式操作系统的发展 操作系统内核 应用程序 驱动程序和固件 操作系统内核 文件系统 驱动程序和固件 apigui 应用程序 操作系统内核 文件系统 驱动程序和固件 apigui 应用程序 通信协议库函数 80年代初期80年代中期-90年代中 期 90年代末期-21世纪 25 提要提要 1 1 1 3 3 3 2 2 2 4 4 4 嵌入式系统的基本概念嵌入式系统的基本概念 arm微处理器概述微处理器概述 嵌入式系统的学习与人才培养 嵌入式系统的科研实践 嵌入式系统的学习与人才培养 嵌入式系统的科研实践 26 嵌入式处理器概述嵌入式处理器概述 ?嵌入式微处理器是嵌入式系统的核心。目前嵌入式微处理器是嵌入式系统的核心。目前32位嵌入式微处理器 是市场的主流。 位嵌入式微处理器 是市场的主流。 ?32位嵌入式微处理器市场,我们可以发现超过位嵌入式微处理器市场,我们可以发现超过100家的芯片供应 商和近 家的芯片供应 商和近30种指令体系结构。种指令体系结构。 ?在在1996年以前,最成功的嵌入式微处理器是年以前,最成功的嵌入式微处理器是motorola公司的公司的 68000系列。此外嵌入式微处理器市场还包括其它体系结构,如系列。此外嵌入式微处理器市场还包括其它体系结构,如 intel公司的公司的i960,motorola公司的公司的coldfire,sun公司的公司的sparc, 以及嵌入式 , 以及嵌入式x86系列平台。系列平台。 ?当然,最引人注目的还是当然,最引人注目的还是arm公司的公司的arm系列、系列、mips公司的公司的 mips系列,以及系列,以及hitachi公司的公司的superh系列(其中系列(其中arm和和mips 都知识产权公司,把他们的微处理器都知识产权公司,把他们的微处理器ip技术授权给半导体厂商,由 他们生产形态各异的微处理器芯片)。 技术授权给半导体厂商,由 他们生产形态各异的微处理器芯片)。 27 嵌入式处理器评价指标(嵌入式处理器评价指标(1) ?功耗。一般的嵌入式微处理器都有三种运行模式:运行模式(功耗。一般的嵌入式微处理器都有三种运行模式:运行模式( operational);待机模式();待机模式(standby or power down);停机 模式( );停机 模式(and clock-off)。功耗的评测指标是)。功耗的评测指标是mips/w; ?代码存储密度。传统的代码存储密度。传统的cisc指令集计算机具有较好的代码存储密 度。而 指令集计算机具有较好的代码存储密 度。而rics指令集计算机由于要求指令编码长度固定,虽然可以 简化和加速指令译码过程,但为了实现与 指令集计算机由于要求指令编码长度固定,虽然可以 简化和加速指令译码过程,但为了实现与cisc指令集计算机相同 的作业,往往需要更多的指令来完成,从而增加了代码长度。如 指令集计算机相同 的作业,往往需要更多的指令来完成,从而增加了代码长度。如 hitachi的的superh体系结构采用了定长的体系结构采用了定长的16位指令,对每条指令 按 位指令,对每条指令 按16位的格式存储。位的格式存储。arm则采用则采用16位扩展的位扩展的thumb指令集,片 内的逻辑译码器将其等价为 指令集,片 内的逻辑译码器将其等价为32位的位的arm指令而实时解码。而指令而实时解码。而 mips则采用则采用mips16方法来解决这个问题。(影响代码密度的另 外一个主要因素是所采用的 方法来解决这个问题。(影响代码密度的另 外一个主要因素是所采用的c编译器。编译器。ansi c是当前嵌入式领域 的标准编程语言,随着嵌入式微处理器性能的提高,面向对象的 语言也将被采用并会逐渐成为主流,一些编译器供应商已经开始 着手解决代码密度问题。) 是当前嵌入式领域 的标准编程语言,随着嵌入式微处理器性能的提高,面向对象的 语言也将被采用并会逐渐成为主流,一些编译器供应商已经开始 着手解决代码密度问题。) 28 嵌入式处理器评价指标(嵌入式处理器评价指标(2) ?集成度。嵌入式微处理器一般都为专用市场设计的, 需要较高的集成度。但把所有的外围设备都集成到一 个芯片上也不是一种好的解决方案。这是因为高集成 度使芯片变得复杂,芯片引脚变密,增加了系统设计 和测试的复杂性。因此,集成外围设备时必须要考虑 简化系统设计,并缩短整个系统的开发周期。 集成度。嵌入式微处理器一般都为专用市场设计的, 需要较高的集成度。但把所有的外围设备都集成到一 个芯片上也不是一种好的解决方案。这是因为高集成 度使芯片变得复杂,芯片引脚变密,增加了系统设计 和测试的复杂性。因此,集成外围设备时必须要考虑 简化系统设计,并缩短整个系统的开发周期。 ?多媒体加速。为实现多媒体加速功能,嵌入式微处理 器的设计者在传统的微处理器指令集的基础上增加 多媒体加速。为实现多媒体加速功能,嵌入式微处理 器的设计者在传统的微处理器指令集的基础上增加 jpeg和和mpeg解压缩的离散余弦变换指令。还有一些 半导体厂商针对智能手机和移动通讯市场的需求,将 解压缩的离散余弦变换指令。还有一些 半导体厂商针对智能手机和移动通讯市场的需求,将 risc微处理器和微处理器和dsp集成在一个芯片上,如集成在一个芯片上,如ti 的的 omap。 29 嵌入式处理器的基本结构(嵌入式处理器的基本结构(1) ?微处理器是整个系统的核心,通常由微处理器是整个系统的核心,通常由3大部分组成:控 制单元、算术逻辑单元和寄存器。 大部分组成:控 制单元、算术逻辑单元和寄存器。 算术逻辑单元算术逻辑单元 寄存器寄存器 控制单元 微处理器 控制单元 微处理器 存储器存储器 输入输出输入输出 30 一个合适的选择arm 2002嵌入式内核总量嵌入式内核总量: 6.265亿亿 其他其他 0.8% microsparc 3.1% mips 13.9% powerpc 2.8% arm 79.5% 498m498m 87m87m 19m19m 17.617.6 mm *包括用于32位、64位risc结构的片上系统 31 arm ltd ?成立于1990年11月成立于1990年11月 ?前身为 acorn计算机公司前身为 acorn计算机公司 ?advance risc machine(arm)advance risc machine(arm) ?主要设计arm系列risc处理器内核主要设计arm系列risc处理器内核 ?授权arm内核给生产和销售半导体的合作伙伴授权arm内核给生产和销售半导体的合作伙伴 ?arm 公司不生产芯片arm 公司不生产芯片 ?ip(intelligence property)ip(intelligence property) ?另外也提供基于arm架构的开发设计技术另外也提供基于arm架构的开发设计技术 ?软件工具, 评估板, 调试工具,应用软件,软件工具, 评估板, 调试工具,应用软件, ?总线架构, 外围设备单元,等等总线架构, 外围设备单元,等等 32 ?arm公司成立于1981年,最初与英国广播公司合作为英国教育界设计 小型机,当时采用的是美国的6502芯片。取得成功后,他们开始设 计自己的芯片,受当时美国加洲大学伯克利分校提出的risc思想的 影响,他们设计的芯片也采用risc体系结构,并命名为“acorn risc machine”。 arm公司成立于1981年,最初与英国广播公司合作为英国教育界设计 小型机,当时采用的是美国的6502芯片。取得成功后,他们开始设 计自己的芯片,受当时美国加洲大学伯克利分校提出的risc思想的 影响,他们设计的芯片也采用risc体系结构,并命名为“acorn risc machine”。 ?arm公司的第一款芯片arm1在1985年被设计出来,次年又设计了真正 实用的arm2。arm2具有32位数据总线和24位地址总线,带有16个寄 存器。arm2可能是当时最简化的32位微处理器,上面仅有30000个晶 体管(4年前motorola公司的68000则有68000个晶体管)。这种精简 的结构使arm2具有优异的低功耗特性,而性能则超过了同期intel公 司的286(134k个晶体管)。 arm公司的第一款芯片arm1在1985年被设计出来,次年又设计了真正 实用的arm2。arm2具有32位数据总线和24位地址总线,带有16个寄 存器。arm2可能是当时最简化的32位微处理器,上面仅有30000个晶 体管(4年前motorola公司的68000则有68000个晶体管)。这种精简 的结构使arm2具有优异的低功耗特性,而性能则超过了同期intel公 司的286(134k个晶体管)。 ?1990年arm公司另外组建了一个名为1990年arm公司另外组建了一个名为“advanced risc machines“advanced risc machines”的 公司,专门从事arm系列微处理器的开发。1998年arm公司在伦敦证 券交易所和nasdaq上市。 ”的 公司,专门从事arm系列微处理器的开发。1998年arm公司在伦敦证 券交易所和nasdaq上市。 arm的发展历程-1 33 ?arm7tdmi 是arm公司最成功的微处理器ip之一,至今在蜂窝电话领 域已销售了数亿个微处理器。 arm7tdmi 是arm公司最成功的微处理器ip之一,至今在蜂窝电话领 域已销售了数亿个微处理器。 ?dec公司获得arm公司授权设计并生产了strongarm系列微处理器,这 款cpu的主频达到了233mhz,而功率不到1瓦。后来dec公司 strongarm部门被intel公司并购,intel公司用strongarm取代了他 们境况不佳的 dec公司获得arm公司授权设计并生产了strongarm系列微处理器,这 款cpu的主频达到了233mhz,而功率不到1瓦。后来dec公司 strongarm部门被intel公司并购,intel公司用strongarm取代了他 们境况不佳的i860i860和和 i960i960体系,并在此基础上开发了新的体系结构 xscale系列。 体系,并在此基础上开发了新的体系结构 xscale系列。 ?世界各大半导体生产商从arm公司购买其设计的arm微处理器核,根 据各自不同的应用领域,加入适当的外围电路,从而形成自己的arm 微处理器芯片进入市场。目前,motorola、ibm、ti、philips、 vlsi、atmel和samsung等几十家大的半导体公司都获得了arm公司的 授权,生产形态各异的arm芯片 世界各大半导体生产商从arm公司购买其设计的arm微处理器核,根 据各自不同的应用领域,加入适当的外围电路,从而形成自己的arm 微处理器芯片进入市场。目前,motorola、ibm、ti、philips、 vlsi、atmel和samsung等几十家大的半导体公司都获得了arm公司的 授权,生产形态各异的arm芯片 arm的发展历程-2 34 arm处理器的技术优势 ?低能耗:当初刚刚起步的嵌入式应用对运算性能并不苛求,但对 芯片的功耗却相当敏感。而相对同时期的其他解决方案, arm架 构的能效比优势非常明显。 低能耗:当初刚刚起步的嵌入式应用对运算性能并不苛求,但对 芯片的功耗却相当敏感。而相对同时期的其他解决方案, arm架 构的能效比优势非常明显。 ?应用方案非常灵活:由于arm公司只是提供了一个高效精简的核心 ,各半导体厂商可根据自身需求进行应用设计,架构灵活简便、 扩展力很强。如厂商可为多媒体信号处理加入相关的指令集,或 为java相关的应用加入高效执行单元,或增加3d图形协处理器等 等。 应用方案非常灵活:由于arm公司只是提供了一个高效精简的核心 ,各半导体厂商可根据自身需求进行应用设计,架构灵活简便、 扩展力很强。如厂商可为多媒体信号处理加入相关的指令集,或 为java相关的应用加入高效执行单元,或增加3d图形协处理器等 等。 ?得到大量的软件支持:包括windows ce、symbian和palm os在内 的手持设备三种主要操作系统系统都是基于arm架构所设计。目前 ,arm已经牢牢占领手机、pda以及其他的掌上电子产品市场,这 些领域都非常注重软件兼容和设计延续性,arm在这些领域会继续 保持优势。 得到大量的软件支持:包括windows ce、symbian和palm os在内 的手持设备三种主要操作系统系统都是基于arm架构所设计。目前 ,arm已经牢牢占领手机、pda以及其他的掌上电子产品市场,这 些领域都非常注重软件兼容和设计延续性,arm在这些领域会继续 保持优势。 35 arm处理器的应用 ?当前主要应用于消费类电子领域;当前主要应用于消费类电子领域; ?到目前为止,基于arm技术的微处理器应用约占据了32 位嵌入式微处理器75以上的市场份额 到目前为止,基于arm技术的微处理器应用约占据了32 位嵌入式微处理器75以上的市场份额 ?全球80%的gsm/3g手机、99%的cdma手机以及绝大多数 pda产品均采用arm体系的嵌入式处理器, 全球80%的gsm/3g手机、99%的cdma手机以及绝大多数 pda产品均采用arm体系的嵌入式处理器, ?“掌上计算”相关的所有领域皆为其所主宰。“掌上计算”相关的所有领域皆为其所主宰。 ?arm技术正在逐步渗入到我们生活的各个方面。arm技术正在逐步渗入到我们生活的各个方面。 36 arm处理器的3大特点如下:arm处理器的3大特点如下: ?小体积、低功耗、成本低、高性能;小体积、低功耗、成本低、高性能; ?16位/32位双指令集;16位/32位双指令集; ?全球众多的合作伙伴。全球众多的合作伙伴。 当前arm体系结构的扩充包括:当前arm体系结构的扩充包括: ?thumb:16位指令集,用以改善代码密度;thumb:16位指令集,用以改善代码密度; ?dsp:用于dsp应用的算术运算指令集;dsp:用于dsp应用的算术运算指令集; ?jazeller:允许直接执行java代码的扩充。jazeller:允许直接执行java代码的扩充。 arm处理器系列提供的解决方案包括:arm处理器系列提供的解决方案包括: ?在无线、消费电子和图像应用方面的开放平台;在无线、消费电子和图像应用方面的开放平台; ?存储、自动化、工业和网络应用的嵌入式实时系统;存储、自动化、工业和网络应用的嵌入式实时系统; ?智能卡和sim卡的安全应用。智能卡和sim卡的安全应用。 arm处理器的特点 37 arm 授权费 ip arm 创造和 设计ip partner 产品,例如:芯片 partner把arm ip 和其他 ip 集成进 产品 oem customer 版权费 单价 oem 用来自 arm partner的 芯片设计制造最 终用户产品 业务拓展 / 市场格局 arm的业务模型 38 arm体系结构的发展 sa-110 arm7tdmi 4t 1 halfword and signed halfword / byte support system mode thumb instruction set 2 4 arm9tdmi sa-1110 arm720tarm940t improved arm/thumb interworking clz 5te saturated maths dsp multiply- accumulate instructions xscale arm1020e arm9e-s arm966e-s 3 early arm architectures arm9ej-s 5tej arm7ej-s arm926ej-s jazelle java bytecode execution 6 arm1136ej-s arm1026ej-s simd instructions multi-processing v6 memory architecture (vmsa) unaligned data support 39 arm流水线 add subadd cmpsubadd 取指译码执行 时 间 周期1 周期2 周期3 40 arm流水线的级数 ?arm9流水线增加到5级,增加了存储器访问段和回写段 ,使arm9处理能力平均可达到1.1 dhrystone,指令吞 吐量增加了约13%。 arm9流水线增加到5级,增加了存储器访问段和回写段 ,使arm9处理能力平均可达到1.1 dhrystone,指令吞 吐量增加了约13%。 ?随着流水线深度(级数)的增加,每一段的工作量被 削减了,这使得处理器可以工作在更高的频率,同时 改进了性能; 随着流水线深度(级数)的增加,每一段的工作量被 削减了,这使得处理器可以工作在更高的频率,同时 改进了性能; ?负面作用是增加了系统的延时,即内核在执行一条指 令前,需要更多的周期来填充流水线; 负面作用是增加了系统的延时,即内核在执行一条指 令前,需要更多的周期来填充流水线; ?流水线级数的增加也意味着在某些段之间会产生数据 相关; 流水线级数的增加也意味着在某些段之间会产生数据 相关; 41 arm流水线结构的发展 预取 (fetch) 译码 (decode) 执行 (execute) 预取 (fetch) 译码 (decode) 执行 (execute) 访存 (memory) 写入 (write) 预取 (fetch) 译码 (decode) 发送 (issue) 预取 (fetch) 预取 (fetch) 执行 (execute) 访存 (memory) 写入 (write) 译码 (decode) 发送 (issue) 执行 (execute) 转换 (snny) 访存 (memory) 写入 (write) arm7 arm9 arm10 arm11 42 arm微处理器特性 项目arm7arm9arm10arm11 流水线3568 典型频率 (mhz) 80150260335 功耗 (mw/mhz) 0.060.19 (+cache) 0.5 (+cache) 0.4 (+cache) 性能 mips*/mhz 0.971.11.31.2 架构冯诺伊曼哈佛哈佛哈佛 乘法器83283216321632 43 amba总线 ?高级微控制器总线协议(amba)是1996年提出的,被 arm处理器做为片上总线结构; 高级微控制器总线协议(amba)是1996年提出的,被 arm处理器做为片上总线结构; ?最初的amba总线包含arm系统总线(asb)和arm外设总 线(apb); 最初的amba总线包含arm系统总线(asb)和arm外设总 线(apb); ?arm高性能总线(ahb)是新的标准,可以支持64位和 128位宽度的arm总线; arm高性能总线(ahb)是新的标准,可以支持64位和 128位宽度的arm总线; 44 arm微处理器系列arm微处理器系列 ?arm7系列系列 ?arm9系列系列 ?arm9e系列系列 ?arm10e系列系列 ?arm11系列系列 ?securcore系列系列 ?cortex系列系列 ?inter的的strongarm和和xscale系列系列 45 1.27 billion shipments in 2004 ?ink printer ?digital camera ?laser printer ?digital video camera ?hard disk drives ?flash cards ?networked storage ?voice phones ?feature phones ?smart phones / pda ?bluetooth peripherals ?set-top-box ?digital audio ?gaming ?dvd ?sim ?financial ?gvt id/it security ?wireless lan ?voip ?digital modems ?home gateways ?abs/airbag/safety ?body & dashboard ?infotainment ?powertrain ?white goods ?brown goods (low end) ?industrial control 66% 7% 1% 7% 2% 2% 8% 7% 1.27b % shown as shipment in q3 46 arm内核的数据流模型 47 处理器工作模式(1) arm 有7个基本工作模式:arm 有7个基本工作模式: 1、user:非特权模式,大部分任务执行在这种模式1、user:非特权模式,大部分任务执行在这种模式 ?正常程序执行的模式正常程序执行的模式 2、fiq:当一个高优先级(fast)中断产生时将会进入这种模式2、fiq:当一个高优先级(fast)中断产生时将会进入这种模式 ?高速数据传输和通道处理高速数据传输和通道处理 3、irq:当一个低优先级(normal)中断产生时将会进入这种模式3、irq:当一个低优先级(normal)中断产生时将会进入这种模式 ?通常的中断处理通常的中断处理 4、supervisor:当复位或软中断指令执行时将会进入这种模式4、supervisor:当复位或软中断指令执行时将会进入这种模式 ?供操作系统使用的一种保护模式供操作系统使用的一种保护模式 5、abort: 当存取异常时将会进入这种模式5、abort: 当存取异常时将会进入这种模式 ?虚拟存储及存储保护虚拟存储及存储保护 6、undef: 当执行未定义指令时会进入这种模式6、undef: 当执行未定义指令时会进入这种模式 ?软件仿真硬件协处理器软件仿真硬件协处理器 7、system: 使用和user模式相同寄存器集的特权模式7、system: 使用和user模式相同寄存器集的特权模式 ?特权级的操作系统任务特权级的操作系统任务 48 寄存器组织 1* user32 fiq32 supervisor32abort32 irq32 undefined32 r0 r0 r0 r0 r0 r0 r1 r1 r1 r1 r1 r1 r2 r2 r2 r2 r2 r2 r3 r3 r3 r3 r3 r3 r4 r4 r4 r4 r4 r4 r5 r5 r5 r5 r5 r5 r6 r6 r6 r6 r6 r6 r7 r7 r7 r7 r7 r7 r8 r8_fiq r8 r8 r8 r8 r9 r9_fiq r9 r9 r9 r9 r10 r10_fiq r10 r10 r10 r10 r11 r11_fiq r11 r11 r11 r11 r12 r12_fiq r12 r12 r12 r12 r13(sp) r13_fiq r13_svc r13_abt r13_irq r13_und r14(lr) r14_fiq r14_svc r14_abt r14_irq r14_und r15(pc) r15(pc) r15(pc) r15(pc) r15(pc) r15(pc) cpsr cpsr cpsr cpsr cpsr cpsr spsr_fiq spsr_svc spsr_abt spsr_irq spsr_und 49 程序状态寄存器 - 1 ?arm7tdmi 包含当前程序状态寄存器 (cpsr), 加上5个 程序状态保存寄存器spsr,当异常发生时,用于保存 cpsr的状态 arm7tdmi 包含当前程序状态寄存器 (cpsr), 加上5个 程序状态保存寄存器spsr,当异常发生时,用于保存 cpsr的状态 ?这些寄存器的功能是:这些寄存器的功能是: ?保存alu当前操作信息保存alu当前操作信息 ?控制允许和禁止中断控制允许和禁止中断 ?设置处理器操作模式设置处理器操作模式 50 程序状态寄存器 ?条件位:条件位: ?n = 1-结果为负,0-结果为正或0n = 1-结果为负,0-结果为正或0 ?z = 1-结果为0,0-结果不为0z = 1-结果为0,0-结果不为0 ?c =1-进位,0-借位c =1-进位,0-借位 ?v =1-结果溢出,0结果没溢出v =1-结果溢出,0结果没溢出 ?q 位:q 位: ?仅arm 5te/j架构支持仅arm 5te/j架构支持 ?指示增强型dsp指令是否溢出指示增强型dsp指令是否溢出 ?j 位j 位 ?仅arm 5te/j架构支持仅arm 5te/j架构支持 ?j = 1: 处理器处于jazelle状态j = 1: 处理器处于jazelle状态 ?中断禁止位:中断禁止位: ?i = 1: 禁止irq.i = 1: 禁止irq. ?f = 1: 禁止fiq.f = 1: 禁止fiq. ?t bitt bit ?仅arm xt架构支持仅arm xt架构支持 ?t = 0: 处理器处于 arm 状态t = 0: 处理器处于 arm 状态 ?t = 1: 处理器处于 thumb 状态t = 1: 处理器处于 thumb 状态 ?mode位(处理器模式位):mode位(处理器模式位): ?0b10000user0b10000user ?0b10001fiq0b10001fiq ?0b10010irq0b10010irq ?0b10011supervisor0b10011supervisor ?0b10111abort0b10111abort ?0b11011undefined0b11011undefined ?0b11111system0b11111system 2731 n z c v q 2867 i f tmode 162381554024 fsxc u n d e f i n e dj 51 处理器工作模式(2) ?处理器模式主要决定了哪些寄存器是活动的及对cpsr的访问 权; 处理器模式主要决定了哪些寄存器是活动的及对cpsr的访问 权; ?除user模式之外,其余都是特权模式,特权模式允许对cpsr 的完全读/写访问; 除user模式之外,其余都是特权模式,特权模式允许对cpsr 的完全读/写访问; ?非特权模式中允许对cpsr的控制域进行读访问,但允许对标 志位的读写访问; 非特权模式中允许对cpsr的控制域进行读访问,但允许对标 志位的读写访问; ?系统模式是一种特殊的用户模式,允许对cpsr的完全读写访 问; 系统模式是一种特殊的用户模式,允许对cpsr的完全读写访 问; 52 异常和中断 ?异常(exception)是指任何打断处理器正常执行,并且 迫使处理器进入一个由有特权的特殊指令执行的事件。 异常(exception)是指任何打断处理器正常执行,并且 迫使处理器进入一个由有特权的特殊指令执行的事件。 ?异常可分为两类:同步异常(synchronous exceptions)和异步异常(asynchronous exceptions) ; 异常可分为两类:同步异常(synchronous exceptions)和异步异常(asynchronous exceptions) ; 53 异常分类 ?异常可分为4类:中断(interrupt)、陷井(trap)、故 障(fault)和终止(abort) 异常可分为4类:中断(interrupt)、陷井(trap)、故 障(fault)和终止(abort) 类别类别原因原因异步/同步异步/同步返回行为返回行为 中断中断来自i/o设备的信号来自i/o设备的信号异步异步总是返回到下 一条指令 总是返回到下 一条指令 陷井陷井有意的异常有意的异常同步同步总是返回到下 一条指令 总是返回到下 一条指令 故障故障潜在可恢复的错误潜在可恢复的错误同步同步可能返回到当 前指令 可能返回到当 前指令 终止终止不可恢复的错误不可恢复的错误同步同步不会返回不会返回 54 vector table ?当异常产生时, arm core:当异常产生时, arm core: ?拷贝 cpsr 到 spsr_拷贝 cpsr 到 spsr_ ?设置适当的 cpsr 位:设置适当的 cpsr 位: ?改变处理器状态进入 arm 态改变处理器状态进入 arm 态 ?改变处理器模式进入相应的异常模式改变处理器模式进入相应的异常模式 ?设置中断禁止位禁止相应中断 (如需要)设置中断禁止位禁止相应中断 (如需要) ?保存返回地址到 lr_保存返回地址到 lr_ ?设置 pc 为相应的异常向量设置 pc 为相应的异常向量 ?返回时, 异常处理需要:返回时, 异常处理需要: ?从 spsr_恢复cpsr从 spsr_恢复cpsr ?从lr_恢复pc 从lr_恢复pc ?note:这些操作只能在 arm 态执行.note:这些操作只能在 arm 态执行. vector table can be at 0xffff0000on arm720t and on arm9/10 family devices 异常处理 fiq irq (reserved) data abort prefetch abort software interrupt undefined instruction reset 0x1c 0x18 0x14 0x10 0x0c 0x08 0x04 0x00 55 嵌入式系统的开发嵌入式系统的开发流程流程 确定产品需求选择主要芯片 确定编程语言 选择开发环境 rtos的使用 选择开发方案选择开发方案 设计与调试 测试 测试工具与其他 辅助设备 产品 56 嵌入式系统的开发嵌入式系统的开发设计与调试设计与调试 设 计 生 产 编译器 链接器 调试器 ide 操作系统 软件测试 评估板 仿真器 逻辑分析仪边界扫描测试仪 编程器 57 开发环境开发环境 ?什么是嵌入式开发环境:什么是嵌入式开发环境: 源程序 编译器 目标文件 链接器 可重定位程序 定位器 可执行文件 ?编译器/汇编器/链接定位器 ?调试器/仿真器 ?主机(host)及其工作平台 ?实时操作系统(可选) ?目标评估系统(可选) ?测试工具(软件/硬件/协议等,可 选) ?其他辅助设备(可选) ?典型的开发环境 58 嵌入式系统的调试(1) 嵌入式系统的调试有四种基本方法:嵌入式系统的调试有四种基本方法: ?模拟调试(模拟调试(simulator) ?软件调试(软件调试(debugger) ?bdm/jtag调试(调试(bdm/jtag debugger) ?全仿真调试(全仿真调试(emulator) 59 选择实时操作系统rtos ?对于复杂的嵌入式系统应考虑使用对于复杂的嵌入式系统应考虑使用rtos ?rtos的作用:的作用: ?提供提供api(应用编程接口)(应用编程接口):操作系统为应用程序员提供可供调用的api,允 许程序员致力于应用程序的开发 :操作系统为应用程序员提供可供调用的api,允 许程序员致力于应用程序的开发 ?简化系统设计简化系统设计:实时嵌入式系统比非实时系统更难设计. 使用实时多任务的 内核能简化系统设计,可将复杂的应用程序分为几个不同的任务,由内核去 对他们协调处理 :实时嵌入式系统比非实时系统更难设计. 使用实时多任务的 内核能简化系统设计,可将复杂的应用程序分为几个不同的任务,由内核去 对他们协调处理 ?实验平台如下支持实验平台如下支持arm的实时操作系统:的实时操作系统: ?uc/os ?linux 60 嵌入式系统编程语言 ?data from japan itron survey for new embedded systems type of processors 0% 10% 20% 30% 40% 50% 60% 70% 4-bits8-bits16-bits32-bits64-bitsspecial 1998-99 1999-00 2000-01 programming languages 0% 10% 20% 30% 40% 5
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 印刷废纸处置合同范本
- 2025设备租赁合同模板参考
- 租赁场地建设 合同范本
- 流动空地出租合同范本
- 养猪承包土地合同范本
- 监控安装电子合同范本
- 广告项目项目合同范本
- 建设项目变更造价咨询合同
- 砖厂挂牌转让合同范本
- 承包烟花戒指合同范本
- 老年肌肉衰减综合征(肌少症)课件
- 山西省持有《危险废物经营许可证》单位一览表
- PCB全制程培训教材
- 《李将军列传》教学教案及同步练习 教案教学设计
- 烟草配送车辆GPS管理方案
- 中图法分类号与中图分类法查询
- 酒店客房验收工程项目检查表(双床房、大床房、套房)
- 开音节闭音节中元音字母的发音规律练习
- 电力设备预防性试验及维护保养方案
- 融资性担保贷款保后检查表
- 公司人力资源管理制度管理制度
评论
0/150
提交评论