组原第一章2嵌入式系统.ppt

上传人:仙人指路1688 文档编号:2428566 上传时间:2023-02-19 格式:PPT 页数:103 大小:2.77MB
返回 下载 相关 举报
组原第一章2嵌入式系统.ppt_第1页
第1页 / 共103页
组原第一章2嵌入式系统.ppt_第2页
第2页 / 共103页
组原第一章2嵌入式系统.ppt_第3页
第3页 / 共103页
组原第一章2嵌入式系统.ppt_第4页
第4页 / 共103页
组原第一章2嵌入式系统.ppt_第5页
第5页 / 共103页
点击查看更多>>
资源描述

《组原第一章2嵌入式系统.ppt》由会员分享,可在线阅读,更多相关《组原第一章2嵌入式系统.ppt(103页珍藏版)》请在三一办公上搜索。

1、嵌入式系统黄 浩,本节提要,1,3,2,5,4,6,嵌入式系统的定义,嵌入式系统的组成,边界扫描测试技术JTAG,CISC与RISC系统结构,微控制器与微处理器,嵌入式系统技术发展趋势,冯诺依曼体系结构模型,指令寄存器,控制器,数据通道,输入,输出,中央处理器,存储器,程序,指令0,指令1,指令2,指令3,指令4,数据,数据0,数据1,数据2,微处理器的特定含义:只含CPU,不含存储器、I/O接口等其他功能模块冯纽曼结构,指令的执行周期T,1)取指令(Instruction Fetch):TF2)指令译码(Instruction Decode):TD3)执行指令(Instruction Exe

2、cute):TE4)存储(Storage):TS每条指令的执行周期:T=TF+TD+TE+TS,冯诺依曼体系的特点,1)数据与指令都存储在存储器中2)被大多数计算机所采用3)ARM7冯诺依曼体系(单一CACHE),RISC体系结构中的冯诺依曼瓶颈,输入输出频繁、量大的情况下,一般采用DMA技术,通过“周期挪用”技术,利用CPU访问内存时空闲的时钟周期进行DMA,使DMA和CPU对内存的访问相互穿插。由于流水线的使用,访问内存时已不再有空闲的时钟周期,CPU在整个DMA期间既不能从内存取数据,也不能取指令。但RISC指令很多都是不需要访问内存的“寄存器操作指令”,没有理由让CPU停下来。解决办法

3、:Harvard Architecture,哈佛体系结构指令Cache、数据Cache,指令寄存器,控制器,数据通道,输入,输出,中央处理器,程序存储器,指令0,指令1,指令2,数据存储器,数据0,数据1,数据2,地址,指令,地址,数据,哈佛体系结构的特点,1)程序存储器与数据存储器分开2)提供了较大的数据存储器带宽3)适合于数字信号处理4)大多数DSP都是哈佛结构5)ARM9是哈佛结构,嵌入式处理器分类,(1)、嵌入式微控制器,CPU+内存+I/O接口电路+面向特定应用的功能模块嵌入式微控制器的典型代表是单片机,这种位的电子器件目前在嵌入式设备中仍然有着极其广泛的应用。单片机芯片内部集成RO

4、M/EPROM、RAM、总线、总线逻辑、定时/计数器、看门狗、I/O、串行口、脉宽调制输出、A/D、D/A、Flash RAM、EEPROM等各种必要功能和外设。,外部设备/电路的控制通用可编程I/O接口:GPIOGPIO控制寄存器、GPIO数据寄存器每个设备/电路占据一位GPIO数据寄存器直接引出到芯片外部,由控制寄存器的对应位来决定信号流通方向,微控制器的优缺点,成本优势缩短产品的设计、开发、调试周期系统故障率降低:芯片数减少灵活性、通用性降低,由于MCU低廉的价格,优良的功能,所以拥有的品种和数量最多,比较有代表性的包括8051、MCS-251、MCS-96/196/296、P51XA、

5、C166/167、68K系列以及 MCU 8XC930/931、C540、C541,并且有支持I2C、CAN-Bus、LCD及众多专用MCU和兼容系列。近来Atmel推出的AVR单片机由于其集成了FPGA等器件,所以具有很高的性价比,势必将推动单片机获得更高的发展。,(2)、嵌入式DSP处理器,规模很小、结构相对简单、速度较快的微处理器DSP处理器是专门用于信号处理方面的处理器,其在系统结构和指令算法方面进行了特殊设计,在数字滤波、FFT、谱分析等各种仪器上DSP获得了大规模的应用。DSP的理论算法在70年代就已经出现,但是由于专门的DSP处理器还未出现,所以这种理论算法只能通过MPU等由分立

6、元件实现。1982年世界上诞生了首枚DSP芯片。在语音合成和编码解码器中得到了广泛应用。DSP的运算速度进一步提高,应用领域也从上述范围扩大到了通信和计算机方面。目前最为广泛应用的嵌入式DSP处理器是TI的TMS320C2000/C5000系列,另外如Intel的MCS-296和Siemens的TriCore也有各自的应用范围。,MPU嵌入式微处理器是由通用计算机中的CPU演变而来的。与计算机处理器不同的是,在实际嵌入式应用中,只保留和嵌入式应用紧密相关的功能硬件,去除其他的冗余功能部分,这样就以最低的功耗和资源实现嵌入式应用的特殊要求。,(3)、嵌入式微处理器(Micro Processor

7、 Unit),和工业控制计算机相比,嵌入式微处理器具有体积小、重量轻、成本低、可靠性高的优点。目前主要的嵌入式处理器类型有Am186/88、386EX、SC-400、Power PC、68000、MIPS、ARM/StrongARM系列等,SoC 就是System on Chip,SoC嵌入式系统微处理器就是一种电路系统。顾名思义,SoC应该是集成在CPU芯片上的部件较多,足以独立构成一个系统.不过,实际上SoC与微处理器的区分并不严格.它结合了许多功能模块,将功能做在一个芯片上,如ARM RISC、MIPS RISC、DSP或是其他的微处理器核心,加上通信的接口单元,如通用串行端口(USB)

8、、TCP/IP通信单元、GPRS通信接口、GSM通信接口、IEEE1394、蓝牙模块接口等等,这些单元以往都是依照各单元的功能做成一个个独立的处理芯片。,(4)、嵌入式片上系统(System On Chip),由于SOC往往是专用的,所以大部分都不为用户所知,如 Philips的Smart XA。Siemens的TriCore,Motorola的M-Core,某些ARM系列器件,Echelon和Motorola联合研制的Neuron芯片等。SOC芯片也将在声音、图像、影视、网络及系统逻辑等应用领域中发挥重要作用。,SoC嵌入式系统微处理器所具有的其他的好处可以分为下列几点:通过改变内部工作电压

9、,降低芯片功耗。减少芯片对外管脚数,简化制造过程。减少外围驱动接口单元及电路板之间的信号传递,可以加快微处理器数据处理的速度。内嵌的线路可以避免外部电路板在信号传递时所造成系统杂讯。,ARM微处理器,ARM微处理器概述 ARM微处理器结构 ARM微处理器的工作状态 ARM体系结构的存储器格式 处理器模式 寄存器组织,ARM微处理器概述,ARM公司简介,1985年,第一个ARM原型由英国的ACOM公司完成,1990年,成立ARM公司ARM是Advanced RISC Machines的缩写,它是一家微处理器行业的知名企业,该企业设计了大量高性能、廉价、耗能低的RISC(精简指令集)处理器。ARM

10、 公司的特点是只设计芯片,而不生产。它将技术授权给世界上许多著名的半导体、软件和OEM厂商,并提供服务。,ARM微处理器概述,将技术授权给其它芯片厂商,形成各具特色的ARM芯片,ARM微处理器概述,ARM(Advanced RISC Machines)有3种含义一个公司的名称一类微处理器的通称一种技术的名称,ARM微处理器的特点,采用RISC架构的ARM微处理器一般具有如下特点:体积小、低功耗、低成本、高性能;支持Thumb(16位)/ARM(32位)双指令集,能很好的兼容8位/16位器件;大量使用寄存器,指令执行速度更快;大多数数据操作都在寄存器中完成;寻址方式灵活简单,执行效率高;指令长度

11、固定。,ARM微处理器系列,ARM处理器的产品系列非常广,包括ARM7、ARM9、ARM9E、ARM10E、ARM11和SecurCore、Cortex等。以及其它厂商基于ARM体系结构的处理器,除了具有ARM体系结构的共同特点以外,每一系列提供一套特定的性能来满足设计者对功耗、性能、体积的需求。表2-1总结了ARM各系列处理器所包含的不同类型。,ARM微处理器系列,ARM微处理器系列,ARM微处理器系列,ARM Cortex系列简介,基于ARMv7版本的ARM Cortex系列产品由A、R、M三个系列组成,具体分类延续了一直以来ARM面向具体应用设计CPU的思路。,ARM Cortex,AR

12、M微处理器系列,CortexTM-M3处理器简介,该处理器是首款基于ARMv7-M架构的处理器,采用了纯Thumb2指令的执行方式,具有极高的运算能力和中断相应能力。Cortex-M3主要应用于汽车车身系统,工业控制系统和无线网络等对功耗和成本敏感的嵌入式应用领域。目前最便宜的基于该内核的ARM单片机售价为1美元。,ARM微处理器系列,CortexTM-R4处理器简介,该处理器是首款基于ARMv7架构的高级嵌入式处理器,其主要目标为产量巨大的高级嵌入式应用系统,如硬盘,喷墨式打印机,以及汽车安全系统等等。,CortexTM-R4F处理器简介,该处理器在CortexTM-R4处理器的基础上加入了

13、代码错误校正(ECC)技术,浮点运算单元(FPU)以及DMA综合配置的能力,增强了处理器在存储器保护单元、缓存、紧密耦合存储器、DMA访问以及调试方面的能力。,ARM微处理器系列,CortexTM-A8处理器简介,该处理器是ARM公司所开发的基于ARMv7架构的首款应用级处理器,其特色是运用了可增加代码密度和加强性能的技术、可支持多媒体以及信号处理能力的NEONTM技术、以及能够支持Java和其他文字代码语言的提前和即时编译的JazelleRTC技术。众多先进的技术使其适用于家电以及电子行业等各种高端的应用领域。Samsung 15/35,ARM微处理器系列,ARM7系列简介,该系列包括ARM

14、7TDMI、ARM7TDMI-S、带有高速缓存处理器宏单元的ARM720T和扩充了Jazelle的ARM7EJ-S。该系列处理器提供Thumb 16位压缩指令集和EmbededICE软件调试方式,适用于更大规模的SoC设计中。ARM7系列广泛应用于多媒体和嵌入式设备,包括Internet设备、网络和调制解调器设备,以及移动电话、PDA等无线设备。,ARM微处理器系列,该系列包括ARM9TDMI、ARM920T和带有高速缓存处理器宏单元的ARM940T。除了兼容ARM7系列,而且能够更加灵活的设计。ARM9系列主要应用于引擎管理、仪器仪表、安全系统和机顶盒等领域。,ARM9系列简介,ARM微处理

15、器系列,该系列为含有DSP指令集的综合处理器,包括ARM926EJ-S、带有高速缓存处理器宏单元的ARM966E-S/ARM946E-S。其内核在ARM7处理器内核的基础上使用了Jazelle增强技术,该技术支持一种新的Java操作状态,允许在硬件中执行Java字节码。ARM9E系列主要应用于下一代无线设备、数字消费品、成像设备、工业控制、存储设备和网络设备等领域。,ARM9E系列简介,ARM微处理器系列,ARM10E系列简介,该系列包括ARM1020E和ARM1020E处理器核,其核心在于使用向量浮点(VFP)单元VFP10提供高性能的浮点解决方案,从而极大提高了处理器的整型和浮点运算性能。

16、可以用于视频游戏机和高性能打印机等场合。,ARM微处理器系列,Xscale简介,Intel Xscale微控制器则提供全性能、高性价比、低功耗的解决方案,支持16位Thumb指令并集成数字信号处理(DSP)指令。主要应用于手提式通讯和消费电子类设备。,ARM微处理器的寄存器结构,ARM处理器共有37个寄存器,被分为若干个组(BANK),这些寄存器包括:31个通用寄存器,包括程序计数器(PC指针),均为32位的寄存器。6个状态寄存器,用以标识CPU的工作状态及程序的运行状态,均为32位,目前只使用了其中的一部分。,ARM微处理器的寄存器结构,ARM处理器又有7种不同的处理器模式,在每一种处理器模

17、式下均有一组相应的寄存器与之对应。即在任意一种处理器模式下,可访问的寄存器包括15个通用寄存器(R0R14)、12个状态寄存器和程序计数器。在所有的寄存器中,有些是在7种处理器模式下共用的同一个物理寄存器,而有些寄存器则是在不同的处理器模式下有不同的物理寄存器。,ARM微处理器的寄存器结构,r13_und,r14_und,r14_irq,r13_irq,SPSR_und,r14_abt,r14_svc,user mode,fiq,mode,svc,mode,abort,mode,irq,mode,undefi,ned,mode,usable in user mode,system modes

18、only,r13_abt,r13_svc,r8_fiq,r9_fiq,r10_fiq,r1,1_fiq,SPSR_irq,SPSR_abt,SPSR_svc,SPSR_fiq,CPSR,r14_fiq,r13_fiq,r12_fiq,r0,r1,r2,r3,r4,r5,r6,r7,r8,r9,r10,r1,1,r12,r13,r14,r15(PC),ARM微处理器的指令结构,ARM微处理器在较新的体系结构中支持两种指令集:ARM指令集和Thumb指令集。ARM指令为32位的长度Thumb指令为16位长度Thumb指令集为ARM指令集的功能子集,但与等价的ARM代码相比较,可节省3040以上的存

19、储空间,同时具备32位代码的所有优点。,ARM微处理器的应用选型,从应用的角度出发,对在选择ARM微处理器时所应考虑的主要问题:ARM微处理器内核的选择 从前面所介绍的内容可知,ARM微处理器包含一系列的内核结构,以适应不同的应用领域,用户如果希望使用WinCE或标准Linux等操作系统以减少软件开发时间,就需要选择ARM720T以上带有MMU(Memory Management Unit)功能的ARM芯片,ARM720T、ARM920T、ARM922T、ARM946T、Strong-ARM都带有MMU功能。而ARM7TDMI则没有MMU,不支持Windows CE和标准Linux,但目前有u

20、CLinux等不需要MMU支持的操作系统可运行于ARM7TDMI硬件平台之上。事实上,uCLinux已经成功移植到多种不带MMU的微处理器平台上,并在稳定性和其他方面都有上佳表现。,ARM微处理器的应用选型,系统的工作频率 系统的工作频率在很大程度上决定了ARM微处理器的处理能力。ARM7系列微处理器的典型处理速度为0.9MIPS/MHz,常见的ARM7芯片系统主时钟为20MHz-133MHz。ARM9系列微处理器的典型处理速度为1.1MIPS/MHz,常见的ARM9的系统主时钟频率为100MHz-233MHz。ARM10最高可以达到700MHz。不同芯片对时钟的处理不同,有的芯片只需要一个主

21、时钟频率,有的芯片内部时钟控制器可以分别为ARM核和USB、UART、DSP、音频等功能部件提供不同频率的时钟。,ARM微处理器的应用选型,芯片内存储器的容量 大多数的ARM微处理器片内存储器的容量都不太大,需要用户在设计系统时外扩存储器.但也有部分芯片具有相对较大的片内存储空间,如ATMEL的AT91F40162就具有高达2MB的片内程序存储空间,用户在设计时可考虑选用这种类型,以简化系统的设计。,ARM微处理器的应用选型,片内外围电路的选择 几乎所有的ARM芯片均根据各自不同的应用领域,扩展了相关功能模块,并集成在芯片之中,称之为片内外围电路.如USB接口、IIS接口、LCD控制器、键盘接

22、口、RTC、ADC和DAC、DSP协处理器等,设计者应分析系统的需求,尽可能采用片内外围电路完成所需的功能,这样既可简化系统的设计,同时提高系统的可靠性。,ARM微处理器的工作状态,ARM微处理器的工作状态一般有两种,并可在两种状态之间切换:ARM状态,此时处理器执行32位的字对齐的ARM指令;Thumb状态,此时处理器执行16位的、半字对齐的Thumb指令。ARM指令集和Thumb指令集均有切换处理器状态的指令,并可在两种工作状态之间切换,但ARM微处理器在开始执行代码时,应该处于ARM状态。,指令长度及数据类型,ARM微处理器的指令长度可以是32位(在ARM状态下)16位(在Thumb状态

23、下)ARM微处理器中支持字节(8位)、半字(16位)、字(32位)三种数据类型.其中,字需要4字节对齐(地址的低两位为0)、半字需要2字节对齐(地址的最低位为0)。,存储管理单元-MMU,在复杂的嵌入式系统设计时,越来越多的会选用带有存储管理单元(MMU)的微处理器芯片。MMU完成的主要功能有:将主存地址从虚拟存储空间映射到物理存储空间。存储器访问权限控制。设置虚拟存储空间的缓冲特性等。,存储管理单元-MMU,虚拟地址存储系统示意图,存储器管理,基本的存储管理 单个程序 固定分区的多道程序 重定位与保护,基址寄存器,界限寄存器交换 位图管理 链表管理(适配算法),存储器管理,虚拟存储器分页虚地

24、址和物理地址,页和页框,分页的概念 例:16位地址计算机 虚地址空间 64K,物理存储器32K,页的大小 4K。如何由虚地址形成物理地址,存储器管理,虚拟存储器 页表 页表的概念 例:页表地址对应 逻辑64k,物理32k,页面4k页表面临的问题 页表的大小问题,访问速度问题,页表项,TLB 多级页表,逆向页表页面替换算法,存储管理单元-MMU,ARM920T微处理器核的MMU采用了分页虚拟存储管理方式。它把虚拟存储空间分成一个个固定大小的页,把物理主存储的空间也分成同样大小的一个个页。通过查询存放在主存中的页表,来实现虚拟地址到物理地址的转换。但由于页表存储在主存储中,查询页表所花的代价很大,

25、因此,通常又采用快表技术(TLB translation lookaside buffer)来提高地址变换效率。,处理器模式,ARM微处理器支持7种运行模式,分别为:用户模式(usr):ARM处理器正常的程序执行状态。快速中断模式(fiq):用于高速数据传输或通道处理。外部中断模式(irq):用于通用的中断处理。管理模式(svc):操作系统使用的保护模式。数据访问终止模式(abt):当数据或指令预取终止时进入该模式,可用于虚拟存储及存储保护。系统模式(sys):运行具有特权的操作系统任务。未定义指令中止模式(und):当未定义的指令执行时进入该模式,可用于支持硬件协处理器的软件仿真。,特权模式

26、,除用户模式外,其它模式均为特权模式。ARM内部寄存器和一些片内外设在硬件设计上只允许(或者可选为只允许)特权模式下访问。此外,特权模式可以自由的切换处理器模式,而用户模式不能直接切换到别的模式。,处理器模式,异常模式,这五种模式称为异常模式。它们除了可以通过程序切换进入外,也可以由特定的异常进入。当特定的异常出现时,处理器进入相应的模式。每种异常模式都有一些独立的寄存器,以避免异常退出时用户模式的状态不可靠。,处理器模式,用户和系统模式,这两种模式都不能由异常进入,而且它们使用完全相同的寄存器组。系统模式是特权模式,不受用户模式的限制。操作系统在该模式下访问用户模式的寄存器就比较方便,而且操

27、作系统的一些特权任务可以使用这个模式访问一些受控的资源。,处理器模式,处理器启动时的模式转换图,管理模式SVC(Supervisor),多种特权模式变化,用户程序的运行模式,复位后缺省模式,主要完成各模式的堆栈设置,注意不要进入用户模式,一般为用户模式User,处理器模式,寄存器组织,ARM微处理器中的寄存器不能被同时访问,具体哪些寄存器是可编程访问的,取决微处理器的工作状态及具体的运行模式。但在任何时候,通用寄存器R14R0、程序计数器PC、一个或两个状态寄存器都是可访问的。,ARM状态下的寄存器组织,ARM状态下的寄存器组织,所有的37个寄存器,分成两大类:31个通用32位寄存器;6个状态

28、寄存器。,ARM状态下的寄存器组织,ARM状态下的寄存器组织,1.通用寄存器通用寄存器包括R0R15,可以分为三类:未分组寄存器R0R7;分组寄存器R8R14;程序计数器PC(R15)。,在汇编语言中寄存器R0R13为保存数据或地址值的通用寄存器。它们是完全通用的寄存器,不会被体系结构作为特殊用途,并且可用于任何使用通用寄存器的指令。,ARM状态下的寄存器组织,ARM状态下的寄存器组织,2.未分组寄存器R0R7在所有的运行模式下,未分组寄存器都指向同一个物理寄存器,他们未被系统用作特殊的用途,因此,在中断或异常处理进行运行模式转换时,由于不同的处理器运行模式均使用相同的物理寄存器,可能会造成寄

29、存器中数据的破坏,这一点在进行程序设计时应引起注意。,其中R0R7为未分组的寄存器,也就是说对于任何处理器模式,这些寄存器都对应于相同的32位物理寄存器。,ARM状态下的寄存器组织,ARM状态下的寄存器组织,3.分组寄存器R8R14对于分组寄存器,他们每一次所访问的物理寄存器与处理器当前的运行模式有关。对于R8R12来说,每个寄存器对应两个不同的物理寄存器,当使用fiq模式时,访问寄存器R8_fiqR12_fiq;当使用除fiq模式以外的其他模式时,访问寄存器R8_usrR12_usr。对于R13、R14来说,每个寄存器对应6个不同的物理寄存器,其中的一个是用户模式与系统模式共用,另外5个物理

30、寄存器对应于其他5种不同的运行模式。采用以下的记号来区分不同的物理寄存器:R13_R14_其中,mode为以下几种模式之一:usr、fiq、irq、svc、abt、und。,寄存器R8R14为分组寄存器。它们所对应的物理寄存器取决于当前的处理器模式,几乎所有允许使用通用寄存器的指令都允许使用分组寄存器,ARM状态下的寄存器组织,寄存器R8R12有两个分组的物理寄存器。一个用于除FIQ模式之外的所有寄存器模式,另一个用于FIQ模式。这样在发生FIQ中断后,可以加速FIQ的处理速度。,ARM状态下的寄存器组织,寄存器R13、R14分别有6个分组的物理寄存器。一个用于用户和系统模式,其余5个分别用于

31、5种异常模式。,ARM状态下的寄存器组织,ARM状态下的寄存器组织,寄存器R13在ARM指令中常用作堆栈指针,但这只是一种习惯用法,用户也可使用其他的寄存器作为堆栈指针。而在Thumb指令集中,某些指令强制性的要求使用R13作为堆栈指针。,堆栈指针寄存器R13(SP),寄存器R13常作为堆栈指针(SP)。在ARM指令集当中,没有以特殊方式使用R13的指令或其它功能,只是习惯上都这样使用。但是在Thumb指令集中存在使用R13的指令。,ARM状态下的寄存器组织,R14也称作子程序链接寄存器(Subroutine Link Register)或链接寄存器LR。当执行BL子程序调用指令时,R14中得

32、到R15(程序计数器PC)的备份。其他情况下,R14用作通用寄存器。与之类似,当发生中断或异常时,对应的分组寄存器R14_svc、R14_irq、R14_fiq、R14_abt和R14_und用来保存R15的返回值。,链接寄存器R14(LR),R14为链接寄存器(LR),在结构上有两个特殊功能:在每种模式下,模式自身的R14版本用于保存子程序返回地址;当发生异常时,将R14对应的异常模式版本设置为异常返回地址(有些异常有一个小的固定偏移量)。,程序计数器R15(PC),寄存器R15常作为程序计数器(PC)。R15虽然也可用作通用寄存器,但一般不这么使用,因为对R15的使用有一些特殊的限制,当违

33、反了这些限制时,程序的执行结果是未知的。,本节提要,1,3,2,5,4,6,嵌入式系统的定义,嵌入式系统的组成,边界扫描测试技术JTAG,CISC与RISC系统结构,微处理器与微控制器,嵌入式系统技术发展趋势,CISC系统结构与RISC系统结构,系统结构:所谓系统结构是指程序员在为特定处理器编制程序时所“看到”从而可以在程序中使用的资源及其相互间的关系。如指令系统、寄存器组。一个处理器的系统结构即为其逻辑抽象。组成:抽象的处理机具体是如何实现的。硬连接微程序:每条指令的执行都通过一个微指令序列一段微程序来完成,就好像调用了一个子程序一样,复杂指令成为可能。如:M68030的CAS2指令、X86

34、的MOVESB指令。,CISC系统结构与RISC系统结构(),指令与微指令,CISC系统结构与RISC系统结构(),指令和微指令:用户API=指令=微指令的各种组合分而治之(Divide and Conquer)微指令的采用反过来助长了采用复杂指令的倾向:PDP11-60小型机提供用户自行增添指令的手段。指令的复杂程度与寻指方式有关直接执行高级语言的机器,CISC系统结构与RISC系统结构(),关于复杂指令的讨论1)流水线:指令执行时间、寻址方式、指令长度为了实现复杂指令必然牺牲简单指令的利益2)指令的使用频度:,指令使用频度,CISC系统结构与RISC系统结构(),3)微处理器的集成规模受半

35、导体技术及生产成本的限制:减少复杂指令可降低尺寸和功耗 4)高速缓存和内存降价 以上因素促成了RISC的概念和技术 IBM、伯克利、斯坦福、剑桥独立研究分别发展成为PowerPC、SPARC、MIPS、ARM等几种最主要的RISC系统结构。,RISC系统结构的特点,简约指令集:数量、复杂度寄存器操作:LOAD/STORE体系结构、结果保存在寄存器中三类指令:数据处理、传送、控制流指令执行长度、寻址、格式整齐划一:位通用寄存器较多寄存器窗口链接寄存器:返回地址、参数传递 ARM没有采用寄存器窗口的概念,CISC与RISC的数据通道,IF,ID,REG,ALU,MEM,开始,退出,IF,ID,AL

36、U,MEM,REG,微操作通道,开始,退出,单通数据通道,CISC系统结构与RISC系统结构(6),RISC、CISC属优属劣?两大争议阵营CISC结构为流水带来了困难,但并非不可能。CISC:Intel:X86兼容的历史包袱和遗产 StrongARM、XscaleMotorola:68K系列非常成功 PowerPC(与IBM合作)RISC:用于嵌入式系统的处理器大都是RISC结构的。小、功耗、成本(简单),本节提要,1,3,2,5,4,6,嵌入式系统的定义,嵌入式系统的组成,边界扫描测试技术JTAG,CISC与RISC系统结构,微控制器与微处理器,嵌入式系统技术发展趋势,几种常用的调试方法,

37、指令集模拟器 一种利用PC机端的仿真开发软件模拟调试的方法。驻留监控软件 驻留监控程序运行在目标板上,PC机端调试软件可通过并口、串口、网口与之交互,以完成程序执行、存储器及寄存器读写、断点设置等任务JTAG仿真器 通过ARM芯片的JTAG边界扫描口与ARM核进行通信,不占用目标板的资源,是目前使用最广泛的调试手段在线仿真器 使用仿真头代替目标板上的CPU,可以完全仿真ARM芯片的行为。但结构较复杂,价格昂贵,通常用于ARM硬件开发中,JTAG的作用:映像下载、软件调试,宿主机调试器,宿主机调试器通过固定的协议控制下位机(协议转换器)。比如,SDT中通过Angel协议或者第三方调试器所提供的协

38、议宿主机调试器只发送宏观的命令,比如:程序运行、终止。读些内存、ARM寄存器等通讯的介质可以是串口、并口、以太网、USB等,JTAG与Angel,JTAG调试:协议转换器解释上位机传送过来的命令,通过JTAG控制ARM执行。Angel调试:协议转换器可以直接做为目标板的Firmware的一部分。直接执行从宿主机传送过来的调试命令;并回送相应的数据。Angel可以节省专门的JTAG仿真器,但是,它需要软件,或者是嵌入式操作系统的支持,做不到完全的实时仿真。而JTAG仿真是通过硬件和控制ARM的EmbeddedICE实现的,可以做到实时仿真。,什么是JTAG?,JTAG是Joint Test Ac

39、tion Group的缩写;是IEEE1149.1标准JTAG的建立使得集成电路固定在PCB上,只通过边界扫描便可以被测试在ARM处理器中,可以通过JTAG直接控制ARM的内部总线,IO口等信息,从而达到调试的目的,JTAG的典型接口,TMS:测试模式选择(Test Mode Select),通过TMS信号控制JTAG状态机的状态TCK:JTAG的时钟信号TDI:数据输入信号TDO:数据输出信号nTRST:JTAG复位信号,复位JTAG的状态机和内部的宏单元(Macrocell),JTAG的状态机(TAP 控制器),JTAG 标准扫描链,ARM的JTAG标准链(1),ARM7TDMI的JTAG

40、标准链(2),Scan Chain 0:包括ARM核的所有的IO和总线的输入输出控制信号Scan Chain 1:包括ARM核的数据总线和一个断点控制信号。通过控制这个条链,可以控制ARM核执行指定的指令。Scan Chain 2:通过控制EmbeddedICE宏单元,实现对ARM执行指令的断点、观察点的控制,EmbeddedICE的结构,ARM中断点的设置,设置EmbeddedICE的两个watchpoint单元主要包括:地址、数据、控制信号等当一个(或者两个)watchpoint中的地址(也可以包括数据)和ARM所执行的当前的指令相同的时候,ARM就从运行状态进入Debug状态,断点的类型

41、,硬件断点:在ARM中直接设定watchpoint中的地址,当ARM运行到制定的地址时,就进入Debug状态软件断点:改变存储器中的ARM指令为一个特殊的数据X(ARM的未定义指令),同时,设置watchpoint中的断点数据也为X,当ARM把X数据作为指令读入的时候,ARM就进入Debug状态,硬件断点和软件断点的优缺点,硬件断点:数目受EmbeddedICE中的Watchpoint数目的限制;但是,可以在任何地方设置断点软件断点:数目不受限制,但是,软件断点是通过替换系统的断点地址的指令实现的,所以,软件断点只能在可写的存储器的地址中设置(比如:RAM),而不能在ROM(比如:Flash)

42、中设置,本节提要,1,3,2,5,4,6,嵌入式系统的定义,嵌入式系统的组成,边界扫描测试技术JTAG,CISC与RISC系统结构,微处理器与微控制器,嵌入式系统技术发展趋势,嵌入式系统技术发展趋势,嵌入式软件行业的标准目前,嵌入式操作系统没有国际标准,有些行业已经开始定义其相关的行业标准,如汽车电子OSEK等。向微内核方向发展(PS/2 微通道,PCI、ISA)八十年代后期,国外提供了微内核(Microkernel)的思想,即将传统操作系统中的许多共性的东西抽象出来,构成操作系统的公共基础,真正具体的操作系统功能则由构造在微内核之外的服务器实现。实时多任务操作系统与开发工具微小型个人数据库高

43、可靠性的无线信息传输多媒体人机交互的操作界面嵌入式操作系统的功能越来越丰富,不仅能提供一些基本的功能,如:内核、网络、GUI、文件系统等,而且还会具有很多新的功能,如支持J2ME(JAVA2Micro Edition)、嵌入式CORBA,XML等。,CPU、传感器、执行器集成芯片MEMS技术就小型化来说,需要人们携带的电子产品,如血糖仪、心脏起博器,小型化要求就非常明显了。MEMS(微型电子)技术、系统芯片技术得到发展。日本人的研究目标是“制造出能进入管道内进行检修的微型机械”,能进入血管内进行手术的微型机器人,生产微型机器人,生产微型机械部件的超小型化工厂,确保日本在未来微机械加工领域的领导地位,在基础研究方面实现纳米技术的Ogata计划“。肠道、对焦、精密装配,谢 谢 各 位,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号