《最新嵌入式接口与应用技术PPT课件》由会员分享,可在线阅读,更多相关《最新嵌入式接口与应用技术PPT课件(64页珍藏版)》请在金锄头文库上搜索。
1、嵌入式接口与应用技术NEUSOFT Institute of Information Technology, ChengDuDate: 12. Sept. 2005嵌入式系统的软嵌入式系统的软/ /硬件框架硬件框架NEUSOFT Institute of Information Technology, ChengDuDate: 12. Sept. 2005NEUSOFT Institute of Information Technology, ChengDuDate: 12. Sept. 2005NEUSOFT Institute of Information Technology, Chen
2、gDuDate: 12. Sept. 2005NEUSOFT Institute of Information Technology, ChengDuDate: 12. Sept. 2005NEUSOFT Institute of Information Technology, ChengDuDate: 12. Sept. 2005NEUSOFT Institute of Information Technology, ChengDuDate: 12. Sept. 2005NEUSOFT Institute of Information Technology, ChengDuDate: 12.
3、 Sept. 20051.4 命名的含义标志含义说明T支持Thumb指令集Thumb指令集版本1:ARMv4TThumb指令集版本2:ARMv5TThumb-2:ARMv6TD片上调试M支持长乘法32位乘32位得到64位,32位的乘加得到64位IEmbedded ICEEDSP指令增加了DSP算法处理器指令:16位乘加指令,饱和的带符号数的加减法,双字数据操作,cache预取指令JJava加速器Jazelle提高java代码的运行速度S可综合提供VHDL或Verilog语言设计文件NEUSOFT Institute of Information Technology, ChengDuDate:
4、 12. Sept. 2005授权费IPARM 创造和设计IP产品,例如:芯片Partner把ARM IP 和其他 IP 集成进产品版权费单价OEM 用来自ARM Partner的芯片设计制造最终用户产品业务拓展 / 市场格局ARMARM的业务模型的业务模型NEUSOFT Institute of Information Technology, ChengDuDate: 12. Sept. 2005ARM处理器结构处理器结构从一下四个方面介绍:ARM和Thumb状态 RISC技术流水线技术超标量执行 NEUSOFT Institute of Information Technology, Ch
5、engDuDate: 12. Sept. 2005ARM和和Thumb状态状态 V4版以后有:32位ARM指令集16位Thumb指令集,功能是ARM指令集的功能子集。ARM7TDMI核以后,T变种的ARM微处理器有两种工作状态:ARM状态Thumb状态。NEUSOFT Institute of Information Technology, ChengDuDate: 12. Sept. 2005ARM与与Thumb状态转换状态转换 在程序的执行过程中,微处理器可以随时在两种工作状态之间切换,并且该转变不影响处理器的工作模式和相应寄存器中的内容。 进入Thumb状态:当操作数寄存器的状态位(位0
6、)为1时,执行BX指令。 进入ARM状态:当操作数寄存器的状态位(位0)为0时,执行BX指令。NEUSOFT Institute of Information Technology, ChengDuDate: 12. Sept. 2005CISC和和RISCCISCCISC:复杂指令集(:复杂指令集(Complex Instruction Set ComputerComplex Instruction Set Computer)具有大量的指令和寻址方式具有大量的指令和寻址方式8/28/2原则:原则:80%80%的程序只使用的程序只使用20%20%的指令的指令大多数程序只使用少量的指令就能够运行
7、。大多数程序只使用少量的指令就能够运行。RISCRISC:精简指令集(:精简指令集(Reduced Instruction Set Computer)Reduced Instruction Set Computer)在通道中只包含最有用的指令在通道中只包含最有用的指令确保数据通道快速执行每一条指令确保数据通道快速执行每一条指令使使CPUCPU硬件结构设计变得更为简单硬件结构设计变得更为简单 NEUSOFT Institute of Information Technology, ChengDuDate: 12. Sept. 2005知识产权核(IP核,intellectual property
8、)识产权知识产权(IP) 电路或核是设计好并经过验证的集成电路功能单元IP复用意味着设计代价降低(时间,价格) IP核的类别:微处理器微处理器: ARM, PowerPC;存储器存储器: RAM, memory controller;外设: PCI, DMA controller;多媒体处理: MPEG/JPEG ;encoder/decoder ;数字信号处理器(DSP) 通信: Ethernet controller, router,NEUSOFT Institute of Information Technology, ChengDuDate: 12. Sept. 2005IP核的种类S
9、oft Cores(“code”)(软核)HDL语言描述灵活度高,可修改与工艺独立,可根据具体的加工工艺重新综合;IP很难保护Firm cores(“code+structure”)(固核)逻辑综合后的描述与工艺相关Hard cores(“physical”)(硬核)物理综合后的描述准备流片包含工艺相关的布局和时序信息IP很容易保护多数的处理器和存储器NEUSOFT Institute of Information Technology, ChengDuDate: 12. Sept. 2005IP核的商业模型三种模式一、计者提供设计和工具的许可证DSP Group (Pine and Oak
10、Cores), 3Soft, ARM 提供包括HDL在内的模拟模型,工具或仿真器使用者负责设计制造二、核厂商设计并制造集成电路芯片TI, Motorola, LucentVLSI, SSI, Cirrus, Adaptec三、核厂商卖核, 负责为客户设计并制造芯片LSI logic, TI, LucentNEUSOFT Institute of Information Technology, ChengDuDate: 12. Sept. 2005IP核的市场构成74% 为硬件设计厂商.26% 将购买IP 核:40% hard, 68% soft, 32% firmNEUSOFT Institu
11、te of Information Technology, ChengDuDate: 12. Sept. 2005ARM的IP核固化宏单元(硬核)固化宏单元(硬核)ARM920TARM7TDMIARM720TARM1022E可综合内核(软核)可综合内核(软核)ARM926EJ-SARM7TDMI-SARM1026EJ-S测试芯片测试芯片ARM10200ENEUSOFT Institute of Information Technology, ChengDuDate: 12. Sept. 2005流水线技术流水线技术流水线技术:几个指令可以并行执行流水线技术:几个指令可以并行执行提高了提高了CP
12、UCPU的运行效率的运行效率内部信息流要求通畅流动内部信息流要求通畅流动译码取指执行add译码取指执行sub译码取指执行cmp时间AddSubCmpNEUSOFT Institute of Information Technology, ChengDuDate: 12. Sept. 2005指令流水线以ARM为例为增加处理器指令流的速度,ARM7 系列使用3级流水线.允许多个操作同时处理,比逐条指令执行要快。 PC指向正被取指的指令,而非正在执行的指令FetchDecodeExecute从存储器中读取指令解码指令寄存器读(从寄存器Bank)移位及ALU操作寄存器写(到寄存器Bank )PCPC
13、PC - 4PC-2PC - 8PC - 4ARMThumbNEUSOFT Institute of Information Technology, ChengDuDate: 12. Sept. 2005最佳流水线该例中用6个时钟周期执行了6条指令所有的操作都在寄存器中(单周期执行)指令周期数 (CPI) = 1 操作操作周期周期 1 2 3 45 6 ADD SUB MOV AND ORR EOR CMP RSBFetchDecodeExecuteFetchDecodeExecuteFetchDecodeExecuteFetchDecodeExecuteFetchDecodeExecuteD
14、ecodeExecuteFetchDecodeFetchFetchNEUSOFT Institute of Information Technology, ChengDuDate: 12. Sept. 2005LDR流水线举例该例中,用6周期执行了4条指令指令周期数 (CPI) = 1.5 周期周期 操作操作123456 ADD SUB LDR MOV AND ORRFetchDecodeExecuteFetchDecodeExecuteFetchDecodeExecuteDataWritebackFetchDecodeExecuteFetchDecodeFetchNEUSOFT Instit
15、ute of Information Technology, ChengDuDate: 12. Sept. 2005分支流水线举例流水线被阻断注意:内核运行在ARM状态周期周期 1 2 3 4 5 0x8000 BL 0x8004 X0x8008 XX0x8FEC ADD0x8FF0 SUB0x8FF4 MOV地址地址 操作操作FetchDecodeExecuteFetchDecodeExecuteFetchDecodeFetchFetchDecodeExecuteLinkretAdjustFetchDecodeFetchNEUSOFT Institute of Information Tec
16、hnology, ChengDuDate: 12. Sept. 2005 流水线技术流水线技术2ARM的流水线设计问题 (1)缩短程序执行时间: 提高时钟频率fclk减少每条指令的平均时钟周期数CPI (2)解决流水线相关:结构相关 数据相关 控制相关 NEUSOFT Institute of Information Technology, ChengDuDate: 12. Sept. 20052.4 存储系统机制NEUSOFT Institute of Information Technology, ChengDuDate: 12. Sept. 2005存储器的分类ROM(Read only
17、 Memory)只读存储器RAM(Random access Memory)随机存取存储器PROM(programmable ROM)可编程只读存储器EPROM(Erasable Programmable)可改写只读存储器SRAM(Static RAM)DRAM(DynamicRAM)SDRAM(Synchronization DynamicRAM )NEUSOFT Institute of Information Technology, ChengDuDate: 12. Sept. 2005存储器系统存储器系统RAMRAM:随机存取存储器,:随机存取存储器, SRAM SRAM:静态随机存储
18、器,:静态随机存储器, DRAM DRAM:动态随机存储器:动态随机存储器 1 1)SRAMSRAM比比DRAMDRAM快快 2 2)SRAMSRAM比比DRAMDRAM耗电多耗电多 3 3)DRAMDRAM存储密度比存储密度比SRAMSRAM高得多高得多 4 4)DRMDRM需要周期性刷新需要周期性刷新ROMROM:只读存储器:只读存储器FLASHFLASH:闪存:闪存NEUSOFT Institute of Information Technology, ChengDuDate: 12. Sept. 2005SDRAM输入CE是芯片的输入信号。CE=0,使能。R/WAddressData读
19、操作(1)片选(2)读/写(3)地址(4)数据.NEUSOFT Institute of Information Technology, ChengDuDate: 12. Sept. 2005DRAMCE:片选R/W读写控制信号RAS行地址选通,地址高位,CAS列地址选通,地址低位;Address地址DATA数据。NEUSOFT Institute of Information Technology, ChengDuDate: 12. Sept. 2005存储器的性能存储器的性能 大容量、高速度、低价格是评价存储器性能的三个主要指标,也是存储体系设计的主要目标。 容量:SwWlm。其中W为存储
20、体的字长(单位为位或字节),l为单个存储体的字数,m为并行工作的存储体个数。 速度:m个存储体并行工作时,可达到的最大频率宽度为BmWmTM 。其中TM是连续起动一个存储器所必要的时间间隔,TMTA。Bm是连续提供数据的速率。价格:具有SM位的存储器,每位价格表示为c=CSm。其中C是总价格。NEUSOFT Institute of Information Technology, ChengDuDate: 12. Sept. 2005 存储体系的组成存储体系的组成单体单字存储器单体多字存储器 多体单字交叉存取存储器多体多字交叉存取存储器一般把这些能并行读出多个CPU字的单体多字和多体单字及多体
21、多字的交叉存取系统,统称为并行主存系统。 NEUSOFT Institute of Information Technology, ChengDuDate: 12. Sept. 2005 存储体系的形式存储体系的形式 (a)两级存储器层次结构 (b)三级存储器层次结构 NEUSOFT Institute of Information Technology, ChengDuDate: 12. Sept. 2005 总线结构总线结构1.总线协议 :四周期握手协议 NEUSOFT Institute of Information Technology, ChengDuDate: 12. Sept.
22、2005 总线结构总线结构2.总线读写 NEUSOFT Institute of Information Technology, ChengDuDate: 12. Sept. 2005 总线结构总线结构3总线的时序图NEUSOFT Institute of Information Technology, ChengDuDate: 12. Sept. 2005 总线结构总线结构4直接内存访问(DMA) NEUSOFT Institute of Information Technology, ChengDuDate: 12. Sept. 2005 总线结构总线结构5系统总线配置 多总线系统NEUS
23、OFT Institute of Information Technology, ChengDuDate: 12. Sept. 2005 ARM存储数据类型存储数据类型ARM处理器支持以下六种数据类型:8位有符号和无符号字节。16位有符号和无符号半字,以2字节的边界对齐。32位有符号和无符号字,以4字节的边界对齐。NEUSOFT Institute of Information Technology, ChengDuDate: 12. Sept. 2005 ARM存储格式存储格式 大端存储模式 小端存储模式(缺省)NEUSOFT Institute of Information Technol
24、ogy, ChengDuDate: 12. Sept. 2005 存储器接口存储器接口1.存储周期的基本类型:空闲周期非顺序周期顺序周期协处理器寄存器传送周期 NEUSOFT Institute of Information Technology, ChengDuDate: 12. Sept. 2005 存储器接口存储器接口2.ARM的总线接口信号分成4类(以ARM7TDMI为例说明):时钟和时钟控制信号:MCLK、ECLK、nRESET、nWAIT。地址类信号:A31.0、nRW、MAS1.0、nOPC、nTRANS、LOCK、TBIT。存储器请求信号:nMREQ、SEQ。数 据 时 序 信
25、 号 : D31.0、 DIN31.0、 DOUT31.0、 ABORT、BL3.0。NEUSOFT Institute of Information Technology, ChengDuDate: 12. Sept. 2005 存储器接口存储器接口3. ARM的总线接口可以实现4种不同类型的总线周期。NEUSOFT Institute of Information Technology, ChengDuDate: 12. Sept. 2005 高速缓冲存储器高速缓冲存储器1.分类:统一Cache VS 独立的数据/程序Cache写通cache VS 写回cache读操作分配cache VS
26、 写操作分配cacheNEUSOFT Institute of Information Technology, ChengDuDate: 12. Sept. 2005 高速缓冲存储器高速缓冲存储器2.工作原理:NEUSOFT Institute of Information Technology, ChengDuDate: 12. Sept. 2005 高速缓冲存储器高速缓冲存储器3.地址映像和变换方式:全相联地址映像和变换组相联地址映像和变换直接映像和变换 NEUSOFT Institute of Information Technology, ChengDuDate: 12. Sept.
27、2005 高速缓冲存储器高速缓冲存储器4.Cache的替换算法:轮转法随机替换算法 NEUSOFT Institute of Information Technology, ChengDuDate: 12. Sept. 2005 存储管理单元存储管理单元MMU1.在ARM系统中,存储管理单元MMU主要完成工作:虚拟存储空间到物理存储空间的映射。在ARM中采用了页式虚拟存储管理。存储器访问权限的控制。 设置虚拟存储空间的缓冲的特性。NEUSOFT Institute of Information Technology, ChengDuDate: 12. Sept. 2005 存储管理单元存储管理
28、单元MMU (1)2.存储访问过程使能MMU时存储访问过程 :NEUSOFT Institute of Information Technology, ChengDuDate: 12. Sept. 2005 存储管理单元存储管理单元MMU (2)禁止MMU时存储访问过程: 先要确定芯片是否支持cache和write buffer。如果芯片规定当禁止MMU时禁止cache和write buffer,则存储访问将不考虑C和B控制位。如果芯片规定当禁止MMU时可以使能cache和write buffer,则数据访问时,C=0,B=0;指令读取时,如果使用分开的TLB,那么C=1,如果使用统一的TLB
29、,那么C=0。存储访问不进行权限控制,MMU也不会产生存储访问中止信号。所有的物理地址和虚拟地址相等,即使用平板存储模式。NEUSOFT Institute of Information Technology, ChengDuDate: 12. Sept. 2005 存储管理单元存储管理单元MMU (1)3. MMU中的地址变换过程:通过两级页表实现。a)一级页表中包含有以段为单位的地址变换条目以及指向二级页表的指针。一级页表是实现的地址映射粒度较大。以段为单位的地址变换过程只需要一级页表。b)二级页表中包含有以大页和小页为单位的地址变换条目。有一种类型的二级页表还包含有以极小页为单位的地址变
30、换条目。以页为单位的地址变换过程需要二级页表。 NEUSOFT Institute of Information Technology, ChengDuDate: 12. Sept. 2005 存储管理单元存储管理单元MMU (2)一级页表的地址变换过程 :NEUSOFT Institute of Information Technology, ChengDuDate: 12. Sept. 2005 存储管理单元存储管理单元MMU (1)4.一级描述符: 从页表中得到的相应地址变换条目称为一级描述符。它定义了与之相应的1M存储空间是如何映射的。一级描述符的位1:0定义了该一级描述符的类型,共有
31、4种格式的一级描述符: NEUSOFT Institute of Information Technology, ChengDuDate: 12. Sept. 2005 存储管理单元存储管理单元MMU (2)1)粗粒度页表描述符:当一级描述符的位1.0为0b01(0b代表二进制)时,该一级描述符中包含了粗粒度的二级页表的物理地址,这种一级描述符称为粗粒度页表描述符。它的格式和各个字段的含义如下: NEUSOFT Institute of Information Technology, ChengDuDate: 12. Sept. 2005 存储管理单元存储管理单元MMU (3)由粗粒度页表描述
32、符获取二级描述符的过程 :NEUSOFT Institute of Information Technology, ChengDuDate: 12. Sept. 2005 存储管理单元存储管理单元MMU (4)2)段描述符:当一级描述符的位1:0为0b10时,该一级描述符为段描述符,它的格式和各个字段的含义如下:NEUSOFT Institute of Information Technology, ChengDuDate: 12. Sept. 2005 存储管理单元存储管理单元MMU (5)基于段的地址变换过程 :NEUSOFT Institute of Information Techno
33、logy, ChengDuDate: 12. Sept. 2005 存储管理单元存储管理单元MMU (6)3)细粒度页表描述符:当一级描述符的位1:0为0b11时,该一级描述符中包含了细粒度的二级页表的物理地址,称为细粒度页表描述符。它的格式和各个字段的含义如下:NEUSOFT Institute of Information Technology, ChengDuDate: 12. Sept. 2005 存储管理单元存储管理单元MMU (7)由细粒度页表描述符获取二级描述符的过程 NEUSOFT Institute of Information Technology, ChengDuDate
34、: 12. Sept. 2005 存储管理单元存储管理单元MMU 5.MMU中的存储访问权限控制NEUSOFT Institute of Information Technology, ChengDuDate: 12. Sept. 2005 存储管理单元存储管理单元MMU 6.MMU中的域(Domain) MMU中的域指的是一些段、大页或者小页的集合。ARM支持最多16个域,每个域的访问控制特性都是由CP15中的寄存器C3中的两位来控制的。这两位的字段编码和含义: NEUSOFT Institute of Information Technology, ChengDuDate: 12. Sep
35、t. 2005 存储管理单元存储管理单元MMU 7.快速上下文切换技术 快速上下文切换技术FCSE(Fast Context Switch Extension)通过修改系统中不同进程的虚拟地址,避免在进行进程间切换时造成的虚拟地址到物理地址的重映射,从而提高系统的性能。 FCSE位于CPU和MMU之间,其责任就是将不同进程使用的相同虚拟地址映射为不同的虚拟空间,使得在上下文切换时无需重建TLB等。NEUSOFT Institute of Information Technology, ChengDuDate: 12. Sept. 2005 存储管理单元存储管理单元MMU 8.存储器映射的输入/输出 在ARM系统中,I/O操作通常被映射成存储器操作,即输入/输出是通过存储器映射的可寻址外围寄存器和中断输入的组合来实现的。 但是,对于存储器映射的I/O空间的操作,不能使用Cache技术。