版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、2C H A P T E R嵌入式系统的基本知识本节提要1324嵌入式系统硬件基础嵌入式系统软件基础嵌入式操作系统嵌入式系统设计方法嵌入式系统硬件部分嵌入式系统软件部分如人的大脑,决定了硬件的操作模式。通过良好的操作系统以及应用程序,把硬件功能发挥到极至。如人的手、脚、神经等部位,决定了嵌入式系统的先天功能。如运算能力和I/O接口等。嵌入式系统的硬件是以嵌入式微处理器为核心,主要由嵌入式微处理器、总线、存储器、输入/输出接口和设备组成。嵌入式微处理器 总线 存储器 输入/输出接口和设备 冯诺依曼体系结构和哈佛体系结构RISC和CISC流水线信息存储的字节顺序嵌入式微处理器体系结构总线高速输入输
2、出接口输入输出设备存储器嵌入式系统硬件基础嵌入式微处理器每个嵌入式系统至少包含一个嵌入式微处理器 嵌入式微处理器体系结构可采用冯诺依曼(Von Neumann)结构或哈佛(Harvard)结构地址数据主存储器MOV r8,#8CPUPC指令程序存储器CPUPC地址数据存储器MOV r8,#8地址数据冯诺依曼结构哈佛结构1、存储器结构冯诺依曼体系结构与哈佛体系结构冯诺依曼体系结构特点:数据和指令都存储在同一存储器中。通用PC,ARM 7。哈佛体系结构特点:数据存储器和程序都存储分开;数据存储器的带宽较宽;DSP、ARM91、存储器结构冯诺依曼体系结构与哈佛体系结构冯.诺曼结构处理器指令流的定时关
3、系示意图 2、流水线技术流水线(Pipeline)技术:几个指令可以并行执行 提高了CPU的运行效率 内部信息流要求通畅流动译码取指执行add译码取指执行sub译码取指执行cmp时间AddSubCmp指令流水线以ARM为例为增加处理器指令流的速度,ARM7 系列使用3级流水线.允许多个操作同时处理,比逐条指令执行要快。 PC指向正被取指的指令,而非正在执行的指令FetchDecodeExecute从存储器中读取指令解码指令寄存器读(从寄存器Bank)移位及ALU操作寄存器写(到寄存器Bank )PCPCPC - 4PC-2PC - 8PC - 4ARMThumb 最佳流水线该例中用6个时钟周期
4、执行了6条指令所有的操作都在寄存器中(单周期执行)指令周期数 (CPI) = 1 操作周期 1 2 3 45 6 ADD SUB MOV AND ORR EOR CMP RSBFetchDecodeExecuteFetchDecodeExecuteFetchDecodeExecuteFetchDecodeExecuteFetchDecodeExecuteDecodeExecuteFetchDecodeFetchFetch LDR 流水线举例该例中,用6周期执行了4条指令指令周期数 (CPI) = 1.5 周期 操作123456 ADD SUB LDR MOV AND ORRFetchDecod
5、eExecuteFetchDecodeExecuteFetchDecodeExecuteDataWritebackFetchDecodeExecuteFetchDecodeFetch分支流水线举例流水线被阻断注意:内核运行在ARM状态周期 1 2 3 4 5 0 x8000 BL 0 x8004 X0 x8008 XX0 x8FEC ADD0 x8FF0 SUB0 x8FF4 MOV地址 操作FetchDecodeExecuteFetchDecodeExecuteFetchDecodeFetchFetchDecodeExecuteLinkretAdjustFetchDecodeFetch超流水
6、线超流水线(superpiplined)是指某型CPU内部的流水线超过通常的56步以上,例如Pentium pro的流水线就长达14步。将流水线设计的步(级)数越多,其完成一条指令的速度越快,因此才能适应工作主频更高的CPU。 超标量执行超标量(Superscalar)执行:超标量CPU采用多条流水线结构 执行1取指指令译码2译码1执行2执行1取指译码2译码1执行2流水线1流水线2数据回写流水线技术中涉及到的两个问题相关:在一个流水线系统中,如果第二条指令需要用到第一条指令的结果,这种情况叫做相关。目前解决这个问题的方法是乱序执行。条件转移分支预测技术CISC和RISCCISC:复杂指令集(C
7、omplex Instruction Set Computer)具有大量的指令和寻址方式,指令长度可变8/2原则:80%的程序只使用20%的指令大多数程序只使用少量的指令就能够运行。RISC:精简指令集(Reduced Instruction Set Computer)只包含最有用的指令,指令长度固定确保数据通道快速执行每一条指令使CPU硬件结构设计变得更为简单CISC与RISC的数据通道IFIDREGALUMEM开始退出IFIDALUMEMREG微操作通道开始退出单通数据通道RISC:Load/Store结构CISC:寻址方式复杂CISC的背景和特点 背景: 存储资源紧缺, 强调编译优化增强
8、指令功能,设置一些功能复杂的指令,把一些原来由软件实现的、常用的功能改用硬件的(微程序)指令系统来实现为节省存储空间,强调高代码密度,指令格式不固定,指令可长可短,操作数可多可少寻址方式复杂多样,操作数可来自寄存器,也可来自存储器采用微程序控制,执行每条指令均需完成一个微指令序列CPI ,指令越复杂,CPI越大。CISC的主要缺点指令使用频度不均衡。高频度使用的指令占据了绝大部分的执行时间,扩充的复杂指令往往是低频度指令。大量复杂指令的控制逻辑不规整,不适于VLSI工艺VLSI的出现,使单芯片处理机希望采用规整的硬联逻辑实现,而不希望用微程序,因为微程序的使用反而制约了速度提高。(微码的存控速
9、度比CPU慢5-10倍)。软硬功能分配复杂指令增加硬件的复杂度,使指令执行周期大大加长,直接访存次数增多,数据重复利用率低。不利于先进指令级并行技术的采用流水线技术RISC基本设计思想减小CPI: CPUtime=Instr_Count * CPI * Clock_cycle精简指令集:保留最基本的,去掉复杂、使用频度不高的指令采用Load/Store结构,有助于减少指令格式,统一存储器访问方式采用硬接线控制代替微程序控制RISC的提出与发展Load/Store结构提出: CDC6600(1963)-CRAY1(1976)RISC思想最早在IBM公司提出,但不叫RISC,IBM801处理器是公
10、认体现RISC思想的机器。1980年,Berkeley的Patterson和Dizel提出RISC名词,并研制了RISC-,实验样机。1981年Stenford的Hennessy研制MIPS芯片。85年后推出商品化RISC: MIPS1(1986)和SPARC V1(1987)典型的高性能RISC处理器SUN公司的SPARC(1987)MIPS公司的SGI:MIPS(1986)HP公司的PA-RISC,IBM, Motorola公司的PowerPCDEC、Compac公司的Alpha AXPIBM的RS6000(1990)第一台Superscalar RISC机 CISC与RISC的对比类别C
11、ISCRISC指令系统指令数量很多较少,通常少于100执行时间有些指令执行时间很长,如整块的存储器内容拷贝;或将多个寄存器的内容拷贝到存贮器没有较长执行时间的指令编码长度编码长度可变,1-15字节编码长度固定,通常为4个字节寻址方式寻址方式多样简单寻址操作可以对存储器和寄存器进行算术和逻辑操作只能对寄存器对行算术和逻辑操作,Load/Store体系结构编译难以用优化编译器生成高效的目标代码程序 采用优化编译技术,生成高效的目标代码程序 信息存储的字节顺序以32位的ARM微处理器为例ARM体系结构将存储器看作是从零地址开始的字节的线性组合。从零字节到三字节放置第一个存储的字数据,从第四个字节到第
12、七个字节放置第二个存储的字数据,依次排列。作为32位的微处理器,ARM体系结构所支持的最大寻址空间为4GB。 ARM存储数据类型ARM处理器支持以下六种数据类型: 8位有符号和无符号字节。16位有符号和无符号半字,以2字节的边界对齐。32位有符号和无符号字,以4字节的边界对齐。存储器格式地址空间的规则:位于地址A的字包含的字节位于地址A,A+1,A+2和A+3;位于地址A的半字包含的字节位于地址A和A+1;位于地址A+2的半字包含的字节位于地址A+2和A+3;位于地址A的字包含的半字位于地址A和A+2; 字节字节字节字节地址AA+1A+2A+3半字半字字存储器系统有两种映射机制:小端存储器系统
13、: 在小端格式中,高位数字存放在高位字节中。因此存储器系统字节0连接到数据线70(低位对齐)。 大端存储器系统: 在大端格式中,高位数字存放在低位字节中。因此存储器系统字节0连接到数据线3124(高位对齐) 。 0 x12345678字数据的大小端存储方式存储器格式0 x12高位地址低位地址0 x340 x560 x78大端模式0 x78高位地址低位地址0 x560 x340 x12小端模式大端的数据存放格式低地址高地址地址A地址A+1地址A+2地址A+3最高有效字节的地址就是该word的地址最高有效字节位于最低地址word a=0 x f6 73 4b cdf6734bcd小端的数据格式低地
14、址高地址地址A地址A+1地址A+2地址A+3最低有效字节的地址就是该word的地址最低有效字节位于最低地址word a=0 x f6 73 4b cdf6734bcd实例大端: 小端:0 xb32045000 xddddddd00 xb32045000 xddddddd0 f6 f6 73 73 4b 4b cd cddada0000 变量A:word A=0 x f6 73 4b cd,在内存中的起始地址为0 x b3 20 45 00变量B:half word B=218,在内存中的起始地址为0 x dd dd dd d0问题:half word B=218与word C=218在内存中的
15、存放方式有何不同?请分大端和小端两种情况说明。嵌入式微处理器的分类按体系结构的不同可分为五大类ARMMIPSPOWER PCX86SH系列 Units (millions)Source: Andrew Allison, Inside The New Computer Industry, January 2001Embedded RISC Processor Shipments32位浪潮的到来Source: Semico Research Corp. and SIA/WSTSTotal MCU, by Sub-Category (excl. DSP) Total Embedded Control
16、 Market Shipments by Type 总共约26亿个32位处理器付运,占总数96亿的27%2005年ARM为17亿个,约占32位总量的70%左右ARM处理器的分类结构体系版本(Architecture)ARM v4TARM v5TE ARM v6ARM Cortex (v7)Processor FamilyARM7 ARM9ARM10ARM11ARM Cortexv4 v5TESA110v4TARM720TARM7TDMI-SARM920TARM940TARM922TARM966E-SARM946E-SARM1020Ev5TEJ / Jazellev6 / JazelleARM7
17、EJ-SARM926EJ-SARM1026EJ-SARM11 Micro-Architecture Roadmap of ARM V4/V5/V6ARM V4ARMV4是目前支持的最老的架构,是基于32-bit地址空间的32-bit指令集。ARMv4除了支持ARMv3的指令外还扩展了:支持halfword的存取支持byte和halfword的符号扩展读支持Thumb指令提供Thumb和Normal状态的转换指令进一步的明确了会引起Undefined异常的指令 对以前的26bits体系结构的CPU不再兼容 ARMv4TARMv4T增加了16-bit Thumb指令集,这样使得编译器能产生紧凑代码
18、(相对于32-bit代码,内存能节省到35%以上)并保持32-bit系统的好处。Thumb在处理器中仍然要扩展为标准的32位ARM指令来运行。用户采用16位Thumb指令集最大的好处就是可以获得更高的代码密度和降低功耗。 ARM V5TE1999年推出ARMv5TE其增强了Thumb体系,增强的Thumb体系增加了一个新的指令同时改进了Thumb/ARM相互作用、编译能力和混合及匹配ARM与Thumb例程,以更好地平衡代码空间和性能并在ARM ISA上扩展了增强的DSP指令集: 增强的DSP指令包括支持饱和算术(saturated arithmetic), 并且针对Audio DSP应用提高了
19、70%性能。E扩展表示在通用的CPU上提供DSP能力。 ARMv5TEJ2000年推出ARMv5TEJ,增加了Jazelle扩展以支持Java加速技术。Jazelle技术比仅仅基于软件的JVM性能提高近8倍的性能减少了80的功耗。 ARMv62001年推出ARMv6,它在许多方面做了改进如内存系统、异常处理和较好地支持多处理器。SIMD扩展使得广大的软件应用如Video和Audio codec的性能提高了4倍。Thumb-2和TrustZone 技术也用于ARMv6中。ARMv6第一个实现是2002年春推出的ARM1136J(F)-STM处理器,2003年又推出了ARM1156T2(F)-S和
20、ARM1176JZ(F)-S处理器。ARMv7ARMv7定义了3种不同的处理器配置(processor profiles): Profile A是面向复杂、基于虚拟内存的OS和应用的Profile R是针对实时系统的Profile M是针对低成本应用的优化的微控制器的。所有ARMv7 profiles实现Thumb-2技术,同时还包括了NEON技术的扩展提高DSP和多媒体处理吞吐量400,并提供浮点支持以满足下一代3D图形和游戏以及传统嵌入式控制应用的需要。系列相应产品性能特点ARM7系列ARM7TDMI,ARM7TDMI-S,ARM720T,ARM7EJ三级流水性能:0.9MIPS/MHz,
21、 可达到130MIPs (Dhrystone2.1) ARM9系列ARM920T, ARM922T 五级流水,性能:1.1MIPS/MHz,可达300 MIPS (Dhrystone 2.1),单32-bit AMBA bus接口,支持MMU ARM9E系列ARM926EJ-S, RM946E-S, ARM966E-S, ARM968E-S,ARM996HS 五级流水,支持DSP指令。性能:1.1MIPS/MHz,可达300 MIPS (Dhrystone 2.1),高性能AHB, 软核(soft IP) ARM10系列ARM1020E, ARM1022EARM1026EJ-S 6级流水支持分
22、支预测(branch prediction),支持DSP指令。性能:1.35 MIPS/MHz,可达430+ Dhrystone 2.1 MIPS,可选支持高性能浮点操作,双64位总线接口,内部64位数据通路 系列相应产品性能特点ARM11 系列ARM11MPCore,ARM1136J(F)-S, ARM1156T2(F)-S,ARM1176JZ(F)-S 8级流水线(9级ARM1156T2(F)-S),独立的load-store和arithmetic流水线,支持分支预测和返回栈(Return Stack)。强大的ARMv6 指令集,支持DSP, SIMD (Single Instructio
23、n Multiple Data) 扩展,支持ARM TrustZone 、Thumb-2核心技术。740 Dhrystone 2.1 MIPS,低功耗0.6mW/MHz (0.13m, 1.2V) Cortex系列Cortex-A8, Cortex-M3,Cortex-R4 Cortex-A系列: 面向用于复杂OS和应用的应用处理器(applications processors),支持ARM, Thumb and Thumb-2指令集。Cortex-R系列:面向嵌入式实时领域的嵌入式处理器,支持ARM, Thumb,和Thumb-2 指令集。Cortex-M系列:面向深嵌入式价格敏感的嵌入式
24、处理器, 只支持Thumb-2指令集 SecurCore 系列SecurCore SC100,SecurCore SC200 用于Smart Card和Secure IC的32-bit解决方案。支持ARM和Thumb指令集,软核。具有安全特征和低成本安全存储保护单元 当前的主流ARM处理器ARM7世界上最为广泛使用的 CPU 之一100MHzARM9100-300MHz1.7B ARM Powred shipment in year of 2005, 31% is ARM9 based.ARM11 芯片已经面世ARM11300-700+ MHzSIMD 指令扩展支持更丰富的多媒体应用40家授权
25、芯片公司,一些已开始量产FOMA N902iFirst ARM11 based phoneOMAP2420i.MX31/i.MX31L目前最快的嵌入式处理器最快的处理器提供超过2000 DMIPS 的性能运行于 1GHz 频率 (90nm or 65nm 制造工艺)功耗小于 300mWARM Cortex A8 Application ProcessorARM7TDMIThumb 架构扩展, 提供两个独立的指令集:ARM 指令,均为 32位Thumb指令,均为 16位两种运行状态,用来选择哪个指令集被执行内核具有Debug扩展结构增强乘法器 (32x8) 支持64位结果EmbeddedICE
26、逻辑3 级流水线冯诺依曼架构CPI(Cycle Per Instruction) 约为1.9ARM7TDMI指令流水线为增加处理器指令流的速度,ARM7 系列使用3级流水线。允许多个操作同时处理,而非顺序执行。 PC指向正被取指的指令,而非正在执行的指令。FetchDecodeExecute从存储器中读取指令解码指令中用到的寄存器寄存器读(从寄存器Bank)移位及ALU操作寄存器写(到寄存器Bank )PCPCPC - 4PC-2PC - 8PC - 4ARMThumbARM7TDMI指令流水线 操作周期 1 2 3 45 6 ADD SUB MOV AND ORR EOR CMP RSBFe
27、tchDecode。FetchExecuteDecodeFetchExecuteDecodeFetchExecuteDecodeFetchFetchExecuteDecodeExecuteDecodeFetchExecuteDecodeFetch最佳流水线该例中用6个时钟周期执行了6条指令所有的操作都在寄存器中(单周期执行)指令周期数 (CPI) = 1ARM9TDMIHarvard架构增加了可用的存储器宽度指令存储器接口数据存储器接口可以实现对指令和数据存储器的同时访问5 级流水线实现了以下改进:改进 CPI 到 1.5提高了最大时钟频率ARM9TDMIInstructionFetch Sh
28、ift + ALUMemoryAccessRegWriteRegReadRegDecodeFETCHDECODEEXECUTEMEMORYWRITEARM9TDMIARM or ThumbInst DecodeReg SelectRegReadShiftALURegWriteThumbARMdecompressARM decodeInstructionFetchFETCHDECODEEXECUTEARM7TDMI流水线ARM9E-S 系列概述ARM9E 基于 ARM9TDMI 内核,有以下扩展和增强单周期 32x16 乘法器EmbeddedICE 逻辑 RT改进的 ARM/Thumb 交互操作
29、新的32x16和 16x16 乘法指令新的计数到零指令新的饱和算术指令ARM946E-SARM9E-S 内核指令和数据cache, 大小可选择指令和数据RAM,大小可选择保护单元AHB 总线接口ARM966E-S与 ARM946E-S相似, 但无 cacheARM926EJ-S系列概述Jazelle状态允许直接执行Java 8位码ARM926EJ-SARM9E-S 内核可配置的cache和 TCM内存管理单元双重 32位 AHB 总线接口 (多层)ARM10E 系列概述v5TE架构CPI 1.36 级流水线静态分支预测32kB 指令cache和32kB数据cache支持“Hit under m
30、iss”非阻塞的执行单元每周期64 位的 LDM / STM操作EmbeddedICE逻辑 - RT-II支持新的 VFPv1 结构同ARM1020E,除了cache大小为16kB对SUDL(single user design license )有效ARM1020EARM1022EARM9 vs ARM10流水线的对比 MIPS从1986年推出R2000处理器以来,MIPS陆续推出R3000、R4000、R8000等。之后,MIPS公司的战略发生变化,把重点放在嵌入式系统。1999年,MIPS公司发布了MIPS32和MIPS64体系结构标准,集成了原来所有的MIPS指令集,并且增加了许多更强大的功能。此后MIPS公司又陆续开发了高性能、低功耗的32位和64位处理器内核。 MIPS RISCMIPS在MIPS的32位内核中4K系列对应于SOC应用设计;M4K系列内核是为在下一代消费电子、网络、宽带应用中越来越受欢迎的多CPU SOC所设计;4KE系列具有目前32位通用嵌入式处理器中最高的DMIPS/MHz性能指标;4KS系列由于采用了特殊的SmartMIPS体系结构,特别适用
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026二上数学物体细分类说课课件
- 2026二上数学第四单元公开课课件
- DIP和DRG易发违规要点总结2026
- 人教版小学四年级上册语文 语文园地六 教案
- 装配式建筑节点密封施工技术要点
- 污水调节池浇筑施工方案
- 2027届河南省许昌建安区四校联考物理九上期末调研模拟试题含解析
- 陕西省安康市2027届九上物理期末监测试题含解析
- 2027届辽宁省沈阳市沈北新区九上化学期中监测模拟试题含解析
- 浙江省杭州市临安县2027届化学九年级第一学期期中达标检测模拟试题含解析
- GB/T 31880-2026检验检测机构诚信基本要求
- 2026年注册会计师《财务管理》模拟试卷(含解析)
- 1.4 人口普查 课件(共25张) 北师大版数学四年级上册
- 2026广东汕尾市总工会招聘工会社会工作者及维权维稳专业队伍人员32人笔试模拟试题及答案详解
- 妊娠期妇女心肺复苏急救指南(2025版)中文版+围产期急救操作规范
- 中国骨科大手术静脉血栓栓塞症预防指南(2024年版)
- 电工竞赛考试题库及答案
- 乳腺癌非药物干预患者版指南
- TCAWS 0007―2026 安全管理标准化班组评定通 用要求
- 2026科特迪瓦能源行业的现状贸易分析及投资策略配置布局研究方案
- 古茗店员工作制度
评论
0/150
提交评论