嵌入式系统的基础知识.ppt
《嵌入式系统的基础知识.ppt》由会员分享,可在线阅读,更多相关《嵌入式系统的基础知识.ppt(81页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、嵌入式系统原理与设计嵌入式系统原理与设计 第3章嵌入式系统的基础知识嵌入式系统原理与设计ll 本章要点嵌入式系统原理与设计3.1 基本概念3.2 开发相关知识第 第3 3 章 章 嵌 嵌入 入式 式系 系统 统的 的基 基础 础知 知识 识嵌入式系统原理与设计3.1 基本概念 存储器结构 流水线技术 CISC&RISC 大端存储和小端存储 存储器管理单元MMU BSP Bootloader和OSLoader 进程和线程嵌入式系统原理与设计3.1.1 3.1.1 存储器结构存储器结构两种类型 哈佛结构和冯哈佛结构和冯.诺依曼结构诺依曼结构哈佛结构:(11)程序存储器和数据存储器相互)程序存储器和
2、数据存储器相互独立,可独立编址、独立访问;独立,可独立编址、独立访问;(22)双总线结构;)双总线结构;(33)取指令和访问数据可并行进行。)取指令和访问数据可并行进行。程序存储器数据存储器CPU地址线数据(指令)线地址线数据线哈佛结构嵌入式系统原理与设计3.1.1 存储器结构冯.诺依曼结构:(11)程序和数据在同一存储器中,统一)程序和数据在同一存储器中,统一编址,依靠编址,依靠PCPC寄存器指示指令地址;寄存器指示指令地址;(22)单总线结构;)单总线结构;(33)取指令和访问数据不可并行。)取指令和访问数据不可并行。程序存储区数据存储区CPU公用地址线共用数据线冯.诺依曼结构嵌入式系统原
3、理与设计其它变形结构:(11)MCS-51MCS-51系列单片机:系列单片机:程序、数据地址线分开,数据线共用;程序、数据地址线分开,数据线共用;(22)TMS320TMS320系列系列DSPDSP芯片:芯片:数据存放于程序存储器中数据存放于程序存储器中 指令存放于指令存放于CacheCache中中嵌入式系统原理与设计三种提速技术Cache系统并行存取(如哈佛结构、低位交叉访问等)先行缓冲技术嵌入式系统原理与设计现代微处理器以RISC技术为基础,基于流水线技术实现指令级并行,基于多核技术实现线程级并行,基于VLSI门阵列实现控制器硬连线逻辑,使得微处理器性能大大提高,达到甚至超过上一世纪大中型
4、计算机甚至巨型计算机的性能水平。流水线技术 嵌入式系统原理与设计设一条指令的执行过程分为:取指(取指令)、析指(分析指令)、执指(执行指令)三个阶段三个阶段都可能有访存操作取指 析指 执指访存取指令分析指令,可能访存取数执行指令,可能访存存结果3.1.2 3.1.2 流水线技术流水线技术嵌入式系统原理与设计1.顺序执行方式 nn条指令的执行时间:条指令的执行时间:设每段时间相等都是设每段时间相等都是tt,则执行时间:,则执行时间:T=3ntT=3nt特点:特点:简单,但指令执行速度慢,功能部件利用简单,但指令执行速度慢,功能部件利用率低率低取指k 析指k 执指k 取指k+1 析指k+1 执指k
5、+1嵌入式系统原理与设计2.重叠执行方式 T=(2+n)tnt 当n很大时,约缩短了2/3时间ARM7TDM1(-S)处理器使用3步流水取指k 析指k 执指k取指k+1 析指k+1 执指k+1取指k+2 析指k+2 执指k+2嵌入式系统原理与设计指令的重叠执行对计算机组成提出什么要求首先首先,要实现执指,要实现执指kk、析指、析指k+1k+1与取指与取指k+2k+2三者重叠,三者重叠,硬件上必须要有相对独立的取指、分析和执行部件。硬件上必须要有相对独立的取指、分析和执行部件。需要把顺序执行方式中的一个集中的指令控制器,需要把顺序执行方式中的一个集中的指令控制器,分解成三个功能独立的部件:存控(
6、存储控制器)、分解成三个功能独立的部件:存控(存储控制器)、指控(指令控制器)、运控(运算控制器)指控(指令控制器)、运控(运算控制器)其次其次,要求各个功能部件的运行速度大致相等,避,要求各个功能部件的运行速度大致相等,避免在重叠中的相互等待,如图所示。这需要依靠免在重叠中的相互等待,如图所示。这需要依靠RISCRISC技术的支持,以及用到预处理和缓冲技术。技术的支持,以及用到预处理和缓冲技术。此外此外还要解决三个阶段访问主存冲突问题,实现并还要解决三个阶段访问主存冲突问题,实现并行访存。行访存。嵌入式系统原理与设计在微处理器中较早就有指令重叠运行的雏形。如8086 处理器.取指k 析指k
7、执指k取指k+1 析指k+1 执指k+1取指k+2 析指k+2 执指k+2指令重叠运行时的相互等待嵌入式系统原理与设计Intel 80486的6步流水线结构q取指令q指令译码q地址生成q取操作数q执行指令q存储或回写结果Pentium 4具有高达20级的超流水线和超标量流水线结构嵌入式系统原理与设计多级重叠:子过程分解为更小的子过程一般使每个部件的执行时间相等,虽然执行一次浮点加法仍需4 t,但4个部件同时工作,则每隔一个t就能完成一次浮点加法,速度提高3倍取指令入出译码形成操作数地址取操作数执行保存结果求阶差入出尾数加 规格化 对阶一种指令流水线浮点加法器流水线嵌入式系统原理与设计RISC具
8、有指令简单、规整,只有存(STORE)、取(LOAD)指令,几乎所有指令都在一个机器周期内完成,并注重编译的优化等特点,容易做到指令重叠运行时各个功能部件的运行时间相等,大大减少了重叠中功能部件的相互等待,为指令流水带来天然的支持。此外,为了更好地发挥其在流水线中的效果,RISC处理机还采用了延时转移、指令取消、重叠寄存器窗口、指令流调整、硬件为主固件为辅等多种关键技术。2.RISC对流水线技术的支持 嵌入式系统原理与设计要使流水线发挥高效率,就要使流水线连续流动,尽量不出现断流的情况。引起流水线断流的原因很多,除了编译形成的目标程序不能发挥流水结构的作用,或存储系统由于结构或频宽等原因不能源
9、源不断地为流水线提供所需要的指令和操作数外,就是流水线中存在相关问题。相关:程序相近指令之间的某种影响指令重叠执行的关系,分为数据相关、控制相关和结构相关三类。3.流水线相关问题的解决 嵌入式系统原理与设计(1)数据相关及其处理 如:k:OP R1,A2;R1=(R1)OP(A2)k+1:OP R1,R2;R1=(R1)OP(R2)第k+1条指令和第k条指令存在R1数据相关。3.流水线相关问题的解决 嵌入式系统原理与设计解决办法:解决办法:一是采用一是采用推后处理法推后处理法,即规定同时读写,即规定同时读写同一个寄存器时,写操作优先,使发生读写冲突同一个寄存器时,写操作优先,使发生读写冲突时,
10、读数推后一个周期或推后一个节拍。时,读数推后一个周期或推后一个节拍。有时间浪费,实现简单有时间浪费,实现简单析指k 执指k析指k+1 执指k+1 析指k+1(推后)结果写R1需要读R1读R1推后一个周期执指k+1嵌入式系统原理与设计运算器二是设置专用数据通路:需增加硬件通用寄存器堆锁存器 锁存器相关专用通路嵌入式系统原理与设计(2)控制相关及其处理 控制相关是指由转移、条件分支、转子、中断等引起的相关。比如,如果指令K是转移指令,则顺序取来的指令k+1势必无效,重叠运行就会被打断。克服控制相关主要采用先行缓冲技术和转移预测技术。嵌入式系统原理与设计(2)控制相关及其处理 先行缓冲技术先行缓冲技
11、术在处理器内设置了一定深度的指令在处理器内设置了一定深度的指令缓冲栈,进行指令预取。如果转移的目标指令就缓冲栈,进行指令预取。如果转移的目标指令就在指令缓冲栈中,则无须重新取指令而直接分析在指令缓冲栈中,则无须重新取指令而直接分析执行,大大减少了控制相关带来的流水线延时。执行,大大减少了控制相关带来的流水线延时。转移预测技术转移预测技术一般有软件猜测法和硬件猜测法。一般有软件猜测法和硬件猜测法。软件猜测法修改编译器,由编译器分析程序,预软件猜测法修改编译器,由编译器分析程序,预先调整指令顺序,尽量降低转移成功的概率,使先调整指令顺序,尽量降低转移成功的概率,使指令尽量顺序执行。硬件猜测法利用专
12、门的硬件指令尽量顺序执行。硬件猜测法利用专门的硬件电路预先对指令进行分析,跟踪程序转移的历史电路预先对指令进行分析,跟踪程序转移的历史并预测程序可能的转移目标。现代微处理器的硬并预测程序可能的转移目标。现代微处理器的硬件预测准确度达到件预测准确度达到90%90%以上。以上。嵌入式系统原理与设计(3)结构相关及其处理 结构相关是指流水线中出现资源冲突问题,即出现流水线的各段在同一个时钟周期内使用相同的操作部件。例如,如果只有一个整数加法运算单元,就不能有两条连续执行加法运算的指令重叠操作。要解决结构相关,必须重复设置一些功能单元,以保证指令的所有组合都能够进行流水作业。嵌入式系统原理与设计流水线
13、技术的进一步发展,产生了多种高性能的指令流水线技术的进一步发展,产生了多种高性能的指令级并行处理器,如超标量处理器(级并行处理器,如超标量处理器(Superscalar Superscalar ProcessorProcessor)、超流水线处理器()、超流水线处理器(Superpipelining Superpipelining ProcessorProcessor)和超标量超流水线处理器)和超标量超流水线处理器(Superpipelining Superscalar ProcessorSuperpipelining Superscalar Processor)。)。所谓超标量处理机是指具有
14、多条能同时工作的流水线。所谓超标量处理机是指具有多条能同时工作的流水线。流水线级数在流水线级数在88级及以上的流水线处理器称为超流水级及以上的流水线处理器称为超流水线处理器,具有多条线处理器,具有多条88级及以上的流水线处理器就是级及以上的流水线处理器就是超标量超流水线处理器了。超标量超流水线处理器了。例如例如IntelIntel公司在公司在20062006年年33月发布的月发布的Core2 DuoCore2 Duo(酷睿(酷睿22)双核处理器可在)双核处理器可在11个时钟周期内,同时执行个时钟周期内,同时执行128128位位乘法、乘法、128128位加法、位加法、128128位数据加载与位数
15、据加载与128128位数据回存,位数据回存,或者是或者是44个个3232位单倍浮点精确度乘法与位单倍浮点精确度乘法与44个个3232位浮点位浮点单精确度加法运算。各条流水线深度达到单精确度加法运算。各条流水线深度达到1414级。级。4.超标量流水线和超级流水线 嵌入式系统原理与设计3.1.3 CISC&RISC3.1.3 CISC&RISC优化指令系统的两种不同的途径和方法复杂指令系统(CISC)精简指令系统(RISC)嵌入式系统原理与设计1 复杂指令系统(CISC)复杂指令系统(Complex Instruction Set Computer,CISC)增强指令功能,用新的复杂指令替代原由软
16、件子程序完成的功能,实现软件功能硬化的计算机系统它可从面向目标程序、面向高级语言和面向操作系统这三方面的优化来考虑。嵌入式系统原理与设计1.目标程序的优化思路:思路:从时间上和空间上优化目标程序,将使用从时间上和空间上优化目标程序,将使用频度高的指令进行硬件加速,用新指令替代使频度高的指令进行硬件加速,用新指令替代使用频度高的指令串用频度高的指令串主要途径:主要途径:(11)增强数据转送指令的功能)增强数据转送指令的功能(22)增强运算型指令的功能)增强运算型指令的功能(33)增强程序控制指令的功能)增强程序控制指令的功能如8088指令系统中的串操作指令和带重复前缀的串操作指令。指令 REP
17、MOVSW其功能相当于一个指令串:MVSW:MOV AX,SI MOV ES:DI,AX INC SI INC SI INC DI INC DI DEC CX JNZ MVSW如函数运算指令。三角函数SIN(X)的计算是展开成级数进行一系列四则运算的结果如8088指令系统中的循环控制指令 LOOPNZ LBL其功能相当于执行下述一系列操作:CX-1CX 若CX0 且 ZF1 则程序转向标号LBL,否则执行下一条指令嵌入式系统原理与设计2.对高级语言和编译程序的支持思路:缩小高级语言和机器语言的差距,使目标程序提高时空效率主要途径:(1)增强对高级语言和编译程序支持的指令,从而达到减少目标程序长
18、度,减少目标程序执行时间的目的。例:赋值语句、IF.Then.语句等的机器支持。(2)高级语言计算机如Lisp计算机,prolog计算机。嵌入式系统原理与设计3.操作系统的优化针对操作系统的功能进行直接支持针对操作系统的功能进行直接支持(11)优化支持操作系统的指令)优化支持操作系统的指令 处理机工作状态和访问方式的转换 处理机工作状态和访问方式的转换 进程的管理和切换 进程的管理和切换 存储管理和信息保护 存储管理和信息保护 进程的同步和互斥,信号灯的管理等 进程的同步和互斥,信号灯的管理等(22)增加专用于操作系统的指令)增加专用于操作系统的指令 如某些不公开的特权指令 如某些不公开的特权
19、指令(33)把操作系统中使用频繁,对速度影响大的机)把操作系统中使用频繁,对速度影响大的机构型软件子程序硬化或固化;构型软件子程序硬化或固化;(44)由专门的处理机来执行操作系统,形成功能)由专门的处理机来执行操作系统,形成功能分布处理系统结构。分布处理系统结构。嵌入式系统原理与设计(1)指令格式不固定,指令可长可短,操作数可多可少;(2)寻址方式复杂多样,操作数可来自寄存器,也可来自存储器;(3)采用微程序控制,执行每条指令均需完成一个微指令序列;(4)一般CPI,指令越复杂,CPI越大。4.CISC的特点嵌入式系统原理与设计2 精简指令系统(RISC)精简指令系统(Reduced Inst
20、ruction Set Computer,RISC)减少指令数目,简化指令功能,降低硬件复杂度,提高指令执行速度(1个节拍内完成)的计算机系统嵌入式系统原理与设计RISC是80年代提出的一种新的设计思想。目前许多处理机都采用了RISC指令系统。例:Sun、ultra sparc、SGI、PowerPC、Intel 80486、Pentium 1-4等。嵌入式系统原理与设计1.CISC的问题(1)20%与80%规律 庞大的指令系统中大部分指令利用率低 大约20%的指令占据了80%的执行时间.事实上,频度最高的是三类指令MOV、ALU、Jump。(如对8088指令系统的统计分析)嵌入式系统原理与设
21、计指令使用频度 指令使用频度 指令执行时间 指令执行时间指令名称 指令名称 占百分比 占百分比 累计占百 累计占百分比 分比指令名称 指令名称 占百分比 占百分比 累计占百 累计占百分比 分比MOV MOV 24.85 24.85 24.85 24.85 IMUL IMUL 19.55 19.55 19.55 19.55PUSH PUSH 10.36 10.36 35.21 35.21 MOV MOV 17.44 17.44 36.99 36.99CMP CMP 10.28 10.28 45.49 45.49 PUSH PUSH 11.11 11.11 48.10 48.10JMPcc JMP
22、cc 9.03 9.03 54.52 54.52 JMPcc JMPcc 10.55 10.55 58.65 58.65ADD ADD 6.80 6.80 61.32 61.32 CMP CMP 7.80 7.80 66.45 66.45POP POP 4.14 4.14 65.46 65.46 CALL CALL 7.27 7.27 73.72 73.72RET RET 3.92 3.92 69.38 69.38 RET RET 4.85 4.85 78.57 78.57 Intel8088处理机指令系统使用频度和执行时间统计(部分)嵌入式系统原理与设计(2)VLSI技术的发展引起的问题CI
23、SC控制十分复杂,不规整,不符合VLSI发展的方向,而RISC则控制简单,而且比较规整。在CISC处理机中,大量使用微程序技术以实现CISC。(3)软硬件功能分配问题在CISC中,虽然增加了硬件指令,但并不能保证整个程序执行时间的缩短。因为这些复杂指令要消耗较多的CPU周期数,但又不常用。此外,CISC系统各种指令执行周期的复杂不一,很不适应流水线技术的发展。嵌入式系统原理与设计 精简指令集:保留最基本的,去掉复杂、使用频度不高的指令 大大减少指令系统可采用寻址方式的种类,一般不超过两种。由于指令简单,可以让所有指令都在一个机器周期内完成。采用Load/Store结构,尽量减少访存,有助于大大
24、简化指令格式,统一了存储器访问方式 大量设置寄存器堆 采用硬接线控制代替微程序控制 注重编译的优化2.RISC的基本设计思想嵌入式系统原理与设计RISC结构的优势(1)简化指令系统设计,指令格式规整同一,非常适合VLSI电路实现。(2)提高机器的执行速度和效率。(3)降低设计成本,提高了系统的可靠性。(4)可以提供直接支持高级语言的能力,简化编译程序的设计。嵌入式系统原理与设计 Load/Store结构提出:CDC6600(1963)CRAY1(1976)RISC思想最早在IBM公式提出,但不叫RISC,IBM801处理器是公认体现RISC思想的机器。D.Paterson提出RISC名词,并研
25、制了RISC-,实验样机。J.Hemnessy研制MIPS芯片(1982)。85年后推出商品化RISC:MIPS1(1986)和SPARCV1(1987)。RISC的提出与发展嵌入式系统原理与设计1981年,32位的RISC I 微处理器问世 特点:特点:(11)指令简单、规整)指令简单、规整 31 31种指令(以数据传送、算逻运算、程序控制指种指令(以数据传送、算逻运算、程序控制指令为主)、两种寻址方式、多为三地址指令、指令令为主)、两种寻址方式、多为三地址指令、指令字长统一为字长统一为3232位、所有指令都在一个周期内完成。位、所有指令都在一个周期内完成。(22)大量采用寄存器)大量采用寄
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 系统 基础知识
限制150内