嵌入式系统原理与应用 课件 第1、2章 嵌入式系统设计基础、CPU组成与流水线设计_第1页
嵌入式系统原理与应用 课件 第1、2章 嵌入式系统设计基础、CPU组成与流水线设计_第2页
嵌入式系统原理与应用 课件 第1、2章 嵌入式系统设计基础、CPU组成与流水线设计_第3页
嵌入式系统原理与应用 课件 第1、2章 嵌入式系统设计基础、CPU组成与流水线设计_第4页
嵌入式系统原理与应用 课件 第1、2章 嵌入式系统设计基础、CPU组成与流水线设计_第5页
已阅读5页,还剩91页未读 继续免费阅读

下载本文档

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

文档简介

嵌入式系统原理与设计第一章嵌入式系统设计基础第1章0102030405嵌入式系统概述计算机系统的组成计算机系统中的数据表示计算机系统的性能嵌入式处理器/01嵌入式系统概述嵌入式系统的定义嵌入式系统是嵌入式计算机系统的简称,是一种“完全嵌入受控器件内部,为特定应用而设计的专用计算机系统”。根据IEEE(国际电气和电子工程师协会)的定义:嵌入式系统是“用于控制、监视或者辅助操作机器和设备的装置”。广义来说,嵌入式系统是指以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。嵌入式系统的特点·嵌入性:嵌入到对象体系中,有对象环境要求·专用性:软、硬件按对象要求裁减·计算机:实现对象的智能化功能简单来说,就是嵌入到对象中的专用计算机系统三要素:嵌入、专用、计算机嵌入式系统的特点:由三要素引出嵌入式系统的特点·生命周期长:更新、换代也是和实际产品一同进行·软件固化:软件固化在非易失性存储介质中·有实时性要求:在规定的时限内做出正确的反应除了上述核心特点外,嵌入式系统还有以下特点嵌入式系统的发展趋势www.islide.cc7·智能化:具有一定的智能处理能力·网络化:能够连上Internet网络,通过网络开展应用·人性化:拥有更好的用户使用感受或人机接口嵌入式系统与通用计算机系统的比较www.islide.cc81.应用为中心2.资源受限3.面向应用优化4.百花齐放5.更新换代慢1.性能为中心2.海量资源3.应用未知4.Intel、AMD独大5.更新换代快总结:嵌入式系统是应用驱动技术进步,通用系统是性能推动技术进步。嵌入式系统通用系统/02计算机系统的组成硬件系统-抽象模块冯·诺依曼将计算机的硬件系统·控制器·运算器·输入设备·输出设备·存储器硬件系统-实际设备www.islide.cc11CPU(中央处理单元)主板:集运算器和控制器于一体内存(主存):内存储器(DDR4SDRAM)硬盘(外存、辅存):外存储器(磁介质机械硬盘,SSD)显示器(液晶屏):输出设备键盘、鼠标(按键):输入设备软件系统仅仅有硬件系统,计算机仍然是无法工作的,就像我们需要大脑指挥四肢进行一系列动作,才能完成工作。软件系统就像是整个计算机系统的“大脑”。软件系统按其功能分为系统软件和应用软件两大类·应用软件:是为满足用户不同领域、不同问题的应用需求而开发的软件。·系统软件:为实现计算机系统的管理、调度、监视和服务等功能而开发的软件。计算机程序www.islide.cc13高级语言:C、Java、Matlab汇编语言:指令助记符表示机器语言:二进制代码高级语言可以跨平台,汇编语言与机器语言是针对具体硬件平台软硬件系统关系硬件是计算机系统的物质基础,软件是在硬件的基础上为有效地使用计算机而配置。没有硬件对软件的支持,软件的功能就无从谈起;同样,没有软件计算机将无法正常运行,也就不能发挥其作用。因此,硬件和软件是相辅相成、不可分割的整体。嵌入式系统设计相关就业岗位www.islide.cc15架构设计工程师硬件设计工程师软件设计工程师(应用、驱动、系统等)测试工程师产品工程师……需求最大的就是软件设计工程师/03计算机系统中的数据表示数的r进制表示

计算机中常用的记数制二进制:只有0和1两个数码,其记数特点及进位原则为“逢二进一”。八进制:共有0~7八个数码,其记数特点及进位原则为“逢八进一”。十六进:共有0~9、A、B、C、D、E、F十六个数码,其记数特点及进位原则为“逢十六进一”。原码、反码、补码原码,反码,补码在计算机中运用最多的数字表示形式。原码:是机器数中最简单的一种表示形式,采用1位符号位+n位数值位的形式。符号位为0表示正数,为1表示负数,数值位即真值的绝对值。若整数X用n+1位二进制表示,可以表示为:原码、反码、补码反码:通常用来由原码求补码或者由补码求原码的中间过渡。二进制整数反码的定义为:补码:二进制整数补码的定义为:例:X=±35的原码、反码和补码(8位表示)www.islide.cc21浮点数的表示

F=M×rE式中M为尾数(可正可负),E为阶码(可正可负),r是基数(或基值)。在计算机中,基数可取2、4、8或16等。浮点数的表示IEEE754规定了单精度和双精度两种基本的浮点格式,以及双精度扩展等多种浮点格式。参数单精度浮点数双精度浮点数双精度扩展浮点数浮点数长度(bit)326480尾数长度(bit)235264符号位s111指数E的长度(bit)81115最大指数Emax+127+1023+16383最小指数E­min-126-1022-16382指数偏移量+127+1023+16383可表示的实数范围10-38~10+3810-308~10+30810-4932~10+4932IEEE754标准表示形式如下:S为该浮点数的符号位,当S为0时表示为正数,S为1时为负数。E为指数的阶码,用移码表示。

为尾数,共P位,用原码表示。非数值数据的编码ASCII码:目前国际上普遍采用的信息交换标准码是ASCII码(美国国家信息交换标准码),它包括10个十进制数码,26个英文字母的大小写和一定数量的专用符号、控制命令等总共约128个元素。因此,用二进制编码表示只需要7位。若加上一个奇(偶)校验位,共8位,刚好可用一个字节表示。汉字编码:为了使汉字信息交换有一个通用的标准,1981年我国制定推行的GB2312-80国家标准。GB2312-80国标字符集构成一个二维平面,分成94行和94列,并将行号称为区号,将列号称为位号。因此,在此字符集中的每一个汉字或符号对应唯一的一个区号和位号。非数值数据的编码汉字编码码表示例/04计算机系统的性能性能量化指标直观来说,人们在衡量计算机的性能时,更多的考虑的是计算机运行速度的快与慢。因此,计算机的性能与完成一个任务所需要的时间直接相关。计算机的性能与其完成任务的时间成反比。因此,计算机的性能一般用下面公式来衡量:为方便对计算机的性能进行评价,有时也用计算机每秒能执行的百万条指令(MillionInstructionsPerSecond,MIPS)数量来衡量。性能预测的摩尔定律集成电路芯片的集成度每18个月翻一番,即集成电路单位面积的晶圆上可容纳的晶体管的数量约每隔18个月便会增加一倍,芯片的性能也将提升一倍。换言之,每一美元所能买到的电脑性能,将每隔18个月翻一倍。摩尔定律非物理定律,仅是一个技术发展趋势预测。它正在走向失效,但何时失效也说不清楚。性能改进的Amdahl定律Amdahl定律是20世纪60年代由Amdahl提出,其内容为:系统中对某一部件采用更快执行方式所能获得的系统性能改进程度,取决于这种执行方式被使用的频率,或所占总执行时间的比例。系统性能加速比计算式如下:性能改进的Amdahl定律加速比依赖于两个因素:可改进比例:在改进前的系统中,可改进部分的执行时间在总的执行时间中所占的比例称为可改进比例。部件加速比:改进前所需的执行时间与改进后执行时间的比。改进后系统的总执行时间可以表示为不可改进部分的执行时间与可改进部分改进后的执行时间的和。进一步,改进后系统的总执行时间可以表示为:性能改进的Amdahl定律根据上式,可以得到系统的性能加速比为:Amdahl定律揭示了计算机系统性能改进的两种局限。(1)部分性能改进的递减局限。即如果仅仅对计算机系统的一部分做性能改进,则改进得越多,所得到的总体性能的提升就越有限。(2)对计算机系统进行部分性能改进,系统加速比存在极限,极限为1/(1-可改进比例)。结论:统的性能改进是受系统中不可改进部分的比例所限制的。例:

Amdahl的使用www.islide.cc32若计算机系统有三个部件a、b、c可改进,它们的部件加速比分别为rea=30,reb=30,rec=20。他们在总执行时间中所占的比例分别是30%、30%、20%。试计算这三个部件同时改进后的系统加速比。多个部件同时可改进的情况下,Amdahl定律可表示为:上述公式里面fe代表可改进比例,re代表可改进部分的部件加速比。将已知的可改进比例和部件加速比代入上式,可得:/04嵌入式处理器嵌入式系统的分类单片机(SCM)数字信号处理器(DSP)片上系统(SOC)与SOPC微处理器(MPU)单片机(SingleChipMicrocomputer,SCM)单片机芯片内部集成ROM/EPROM、RAM、总线逻辑、定时/计数器、看门狗、I/O、串行口、脉宽调制输出、A/D、D/A、Flash、EEPROM等各种必要功能和外设。单片机(SingleChipMicrocomputer,SCM),顾名思义,就是将整个计算机系统集成到一块芯片中的单片计算机。一般用于系统的控制,故又称微控制器(MicroControlUnit,EMCU)单片机(SingleChipMicrocomputer,SCM)按照数据处理的宽度,MCU可以分为4位、8位、16位甚至32位的单片机。一般数据处理宽度越低,其数据处理能力越弱,越只能进行简单的系统控制。由于SCM主要定位于系统控制和简单的数据处理,其计算速度慢,处理能力不强,一般在几个MIPS左右。因此SCM一般适用于运算速度要求不高的控制端,这也是其被称为MCU的原因。51系列、PIC系列、AVR系列、MSP430系列、STM32系列等。目前,单片机芯片可以做到自主可控(兆易创新)。中国MCU市场www.islide.cc37微处理器(MicroProcessorUnit,MPU)支持操作系统和实时任务调度MPU嵌入式微处理器最早由通用计算机中的CPU演变而来的,用于复杂的嵌入式系统开发中,如智能手机、车载主机系统等。典型代表为ARMCortex-A系列处理器数字信号处理器(DigitalSignalProcessor,DSP)DSP处理器是专门用于信号处理方面的处理器,其在系统结构和指令算法方面进行了特殊设计,在数字滤波、FFT、频谱分析等各种仪器上DSP获得了大规模的应用。DSP是运算密集处理器,一般用在快速执行算法,做控制比较困难。为了追求高执行效率,不适合运行操作系统,核心代码使用汇编。片上系统(System-on-Chip,SoC)SOC是集成电路(IntegratedCircuit,IC)设计的发展趋势。采用SoC设计技术,可以大幅度地提高系统的可靠性,减少系统的面积和功耗,降低系统成本,极大地提高系统的性能价格比。SoC芯片已经成为提高移动通信、网络、信息家电、高速计算、多媒体应用及军用电子系统性能的核心器件。SOPC:FPGA随着技术的发展,对SoC芯片的扩展性需求逐渐上升,一块SoC芯片通过编程可实现不同的功能,增加SoC芯片的应用范围。例如,用可编程逻辑技术把整个系统放到一块硅片上称作可编程片上系统(System-on-Programmable-Chip,SoPC)。现场可编程门阵列(Field-ProgrammableGateArray,FPGA)是具有代表性SoPC系统芯片。利用FPGA内部集成MPU软核+专用电路构成面向应用的处理器芯片。华为麒麟手机芯片自研之路2004年,成立海思半导体公司2009年,K3V1,首款手机芯片,2012年:K3V2,40nm制程工艺打造,是全球最小的四核ARMA9架构CPU,集成GPU。发热严重。2014年:麒麟910和麒麟920。910基于28nm工艺制程打造,首次集成华为自研巴龙710基带。920升级到8核,还集成了音频芯片、视频芯片、集成自研第一款LTECat.6的巴龙720基带。920获得市场认可,打响了麒麟品牌。2015年:麒麟930和麒麟950。CPU采用A53架构,最高主频可达2.0GHz,GPU为Mali-T628MP4。麒麟950采用台积电16nm制程和A72架构,GPU为Mali-T880MP4。第1章嵌入式系统设计基础42华为麒麟手机芯片自研之路2016年:麒麟960。基于16nm制程打造,华为Mate9系列首发。CPU首次配备了A73核心,小核心为A53,组成四大四小的8核组合,GPU为MaliG71MP8。麒麟960的图形处理性能提升了180%,GPU能效提升了20%,补齐了麒麟芯片GPU性能大幅落后于高通的这块短板2017年:麒麟970。首款10nm工艺芯片—麒麟970,四核A73+四核A53架构,主频2.4+1.8GHz。麒麟970还有专门的AI硬件处理单元—NPU(NeuralNetworkProcessingUnit,神经网络处理单元),以支持AI。2018年:麒麟980。使用台积电的第一代7nm工艺制程,4*A76+4*A55的八核心设计,最高主频可达2.6GHz。GPU是Mali-G76MP10,搭载寒武纪1M的人工智能NPU,继续保持在AI性能上的领先。第1章嵌入式系统设计基础43华为麒麟手机芯片自研之路2019年:麒麟990。2019年是5G手机元年,国内开始了从4G网络向5G网络的过渡期。2019年9月6日,华为同时发布了麒麟990和麒麟9905G两款芯片,麒麟990也是华为最后一款4G旗舰芯片。麒麟9905G采用了更先进的7nmEUV工艺,且集成了巴龙50005G基带,CPU为2+2+4架构,两颗2.86GHz的A76大核,两颗2.36GHz的A76中核,以及四颗1.95GHz的A55小核组合。2020年5月15日后,台积电不能代工华为最新麒麟芯片,华为受打压正式开始,到现在也没有结束。2020年:Mate40搭载麒麟9000,采用ARM的Cortex-A78CPU和Cortex-G78GPU架构,CPU方面对比上代A77,单核性能提高20%,功耗降低50%。台积电5nm工艺制造。到目前为止,麒麟9000卖一块少一块,台积电无法再生产。第1章嵌入式系统设计基础44嵌入式系统原理与设计第2章CPU组成与流水线设计第2章01020304CPU组成CPU性能量化流水线技术流水线相关及解决方案05ARM流水线举例/01CPU组成CPU的基本结构CPU包含控制器和运算器控制器是命令发布的决策机构和源头,协调和指挥整个计算机系统的操作运算器是数据处理部件,接受控制器的命令而进行算数运算和逻辑运算CPU的主要寄存器程序计数器PC:指向要执行的下一条指令的地址指令寄存器IR:用来保存当前正在执行的指令编码数据缓冲寄存器DR:用来暂时存放数据数据地址寄存器AR:用来保存当前CPU所访问的数据存储器单元的地址通用寄存器GR:暂存运算器需要的源操作数和结果操作数状态字寄存器PSW:用来保存处理器的运行状态CPU的基本功能指令控制:指令控制是指指令执行的次序操作控制:指令执行时确保执行部件按照指令的要求完成指令执行。时间控制:指令执行时确保指令各个操作及整个执行过程在规定时限内完成。数据处理:CPU完成数据的算术或逻辑运算,有时也称为数据加工。/02CPU性能量化CPU性能公式时钟周期时间(ClockCycleTime,CCT)程序执行所需要的指令数(InstructionCount,IC)每条指令执行需要的时钟周期数(CPI,CyclesPerInstruction)CPU时间=IC×CPI×CCTCPU性能公式【例2-1】比较下面两种CPU执行某程序的性能优劣。假设CPU1执行该程序需要5百万条指令,指令的平均CPI为1.2,时钟频率为1GHz;CPU2执行该程序需要3百万条指令,指令的平均CPI为3.0,时钟频率为0.5GHz。根据CPU性能公式2-1,可以知道两种CPU的程序执行时间如下:CPU1的时间T1=5×106×1.2×10-9=6ms;CPU2的时间T2=3×106×3.0×2×10-9=18ms;因为T2>T1,故CPU1的性能更好。CPU性能公式【例2-2】比较下面两种浮动指令优化方案的性能优劣。假设某CPU的浮点指令的使用频率为0.2,浮点指令的平均CPI为10;其它指令的使用频率为0.8,其它指令的平均CPI为1.2。方案1:把所有浮点指令的平均CPI降到8;方案2:把浮点指令FSQRT的CPI降到2,其中FSQRT占浮点指令使用频率的0.2。CPU性能公式在知道每类指令的使用频率和CPI后,式2-1可以改写为:根据题意,两种方案在改进过程中,指令集未发生变化,则完成任务所需要的指令数IC不会发生变化;同时,也没有提到时钟频率发生变化,即CCT也不会变化。因此,根据CPU性能公式2-2,可以计算两种改进方案的CPU时间,如下:方案1的时间T1=(0.2×IC×8+0.8×IC×1.2)×CCT=11.2×IC×CCT;方案2的时间T2=(0.2×0.2×IC×2+0.8×0.2×IC×10+0.8×IC×1.2)×CCT

=11.28×IC×CCT。因为T2>T1,故方案1的性能更好。CPU性能公式的暗示CCT主要取决于芯片加工工艺及CPU硬件结构,CPI主要取决于CPU硬件结构及指令集架构(ISA),IC则主要取决于ISA和编译技术【例2-3】比较表2-1所示的基于RISC和CISC的CPU性能优劣。表2-1RISC和CISC的运算速度CPU性能公式的暗示取表2-1数据的均值,根据公式2-1,可以计算得到RISC和CISC的CPU性能如下(设完成相同任务需要CISCCPU需要的指令数为IC):CISC的CPU性能=IC×8.5×19=161.5×ICnsRISC的CPU性能=1.35×IC×1.25*6=10.125×ICnsRISC相对CISC的性能加速比=161.5×IC/(10.125×IC)≈16倍。可见,RISCCPU的性能远高于CISCCPU的性能。实际上,由表2-1数据可以看出,完成相同的任务,CISC需要的IC少于RISC,这是CISC的优势,但在CPI和CCT上,CISC都处于劣势。尤其是平均CPI,如果都取均值,CISC的CPI为8.5,RISC的CPI为1.25,RISC领先6.8倍。/03流水线技术流水线概念【例2-4】假设某产品的生产需要4道工序,该产品生产车间以前只有1个工人,只有1套生产该产品的机器。该工人工作8小时,可以生产120件产品(即每4分钟生产1件)。现车间主任希望将该产品的日产量提高到480件,那么他如何能够实现其目标呢?方案一:再聘请3名工人,同时再购买3套生产该产品的机器。让4名工人同时工作8小时,可以达到期望的日产量目标。可以看到,这种方案简单直接,但需要付出购买3套机器和聘请3名工人的成本。流水线概念方案二:产品生产采用流水线生产方式,将原来的机器按照4道工序重新进行改造组合,将4道生产工序分离开来,使得每道工序的生产时间一样,均为1分钟。同时车间再聘请3名工人,让每个工人负责该产品生产的一道工序,每完成一道工序,就将半成品传给下一道工序的工人,直至生产出完整的产品。采用此种方案后,在不需要购买新设备,仅聘请3名工人,也能达到将日产量提高到480件的目标。流水线概念【例2-5】假设指令流水执行时需要3个阶段,第1个阶段是取指令IF,第2个阶段是解析指令ID,第3阶段是执行指令EX,这三个阶段分别需要的时间是t1,t2和t3秒;如果不采用流水,则需要的时间是t1+t2+t3秒。求采用流水线技术和不采用流水线技术的指令吞吐率。方案1:不采用流水。由于每执行一条指令需要t1+t2+t3秒,则指令吞吐率为1/(t1+t2+t3)。流水线概念方案2:流水执行。完成快的部件必须等完成慢的部件,因此,时钟周期应该为t1,t2和t3中最大的一个,则指令吞吐率为1/max(t1,t2,t3)。考虑一种理想情况,这三个时间相等,此时的吞吐率为3/(t1+t2+t3),为方案1的3倍。流水线分类1、单功能流水线和多功能流水线流水线分类2、静态流水线和动态流水线流水线性能分析1.吞吐率吞吐率是衡量流水线性能的重要指标,它是指单位时间内流水线所完成的任务数,即流水线单位时间内能输出的结果。

式中,n表示任务数,Tp表示流水执行n个任务所用的时间。当流水线在连续流动达到稳定以后所得到的吞吐率称为最大吞吐率。流水线性能分析假设流水线各功能段执行时间Δt都相等,总共有k个功能段(这里取k=4)流水线性能分析如图(a)所示的4段流水线中,其时空图如图(b)所示。流水线性能分析如图(a)所示的4段流水线中,其时空图如图(b)所示。流水线性能分析(1)将瓶颈功能段继续细分 从式中可以看出,最大吞吐率与实际吞吐率是由执行时间最长的那个流水决定。因此,最长流水段就成了整个流水线的瓶颈。图中除了流水线中的瓶颈功能段一直处于忙碌状态外,其他功能段有2/3的时间是空闲的,造成资源浪费。流水线性能分析(2)将瓶颈功能段资源重复

流水线性能分析2.加速比流水线的加速比是指完成一批任务,不使用流水线所用的时间与使用流水线的时间之比。若不使用流水线,即顺序执行所用的时间为Ts,使用流水线的执行时间为Tp,则流水线的加速比为: 流水线性能分析如果流水线各段执行时间都相等,则一条k段流水线,连续完成n个任务所需的时间为等效的非流水线上所需的时间为当n>>k时,,即当流水线的各功能段时间相等时,其最大加速比等于流水线的段数。流水线性能分析3.效率流水线效率是指流水线的各功能段部件的利用率。如果各段执行时间相等,则

流水线性能分析【例2-6】一个单功能流水线,每段执行时间都相等为Δt,输入任务不连续的情况下,计算一条4段浮点加法器求8个浮点数和的流水线的吞吐率、加速比和效率。解:改写式子为:流水线性能分析/04流水线相关及解决方案流水线相关及解决方案◆结构相关

当硬件资源满足不了同时重叠执行的指令的要求,而发生资源冲突时,就发生了结构相关。◆数据相关

当一条指令需要用到前面某条指令的结果,从而不能重叠执行时,就发生了数据相关。◆控制相关

当流水线遇到分支指令和其他能够改变PC值的指令时,就会发生控制相关。结构相关采用5级指令流水线,IM、Reg、ALU和DM分别表示流水段中的功能部件取指阶段IF(InstructionFetch),此阶段访问IM,读取存储在IM中的指令;译码阶段ID(InstructionDecode),此阶段对取得的指令进行译码,并根据译码结果读取Reg数据;执行阶段EX(Execute),此阶段利用ALU执行指令或计算地址;访存阶段MEM(Memory),此阶段访问DM,读取存储在DM中的数据或将数据写入到DM中;写回阶段WB(WriteBack),此阶段将将计算结果写回Reg。结构相关结构相关插入暂停,解决结构相关数据相关数据相关①写后读相关(ReadAfterWrite,RAW)。j的执行要用到i的计算结果,j可能在i写入其计算结果之前就先行对保存该结果的寄存器进行读操作②写后写相关(WriteAfterWrite,WAW)。j和i的目的寄存器一样,但是当其在流水线中采用乱序执行时,j可

温馨提示

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

评论

0/150

提交评论