640 likes | 712 Views
第二章、嵌入式体系结构. 嵌入式指令集 嵌入式 CPU 存储器 IO 设计 SOC. 概述. 嵌入式系统的核心部件是各种类型的嵌入式处理器。 嵌入式 CPU 具有处理速度快、 I/O 功能强、功率损耗低及实时响应快等特点。 RISC(Reduced Instruction Set Computer) 型处理器且有结构简单、处理速度快和处理功能强等优点 , 新型的嵌入式系统大多数都采用 RISC 型处理器作为核。
E N D
第二章、嵌入式体系结构 • 嵌入式指令集 • 嵌入式CPU • 存储器 • IO设计 • SOC
概述 • 嵌入式系统的核心部件是各种类型的嵌入式处理器。 • 嵌入式CPU具有处理速度快、I/O功能强、功率损耗低及实时响应快等特点。 • RISC(Reduced Instruction Set Computer)型处理器且有结构简单、处理速度快和处理功能强等优点,新型的嵌入式系统大多数都采用RISC型处理器作为核。 • ARM公司的ARM、Hitachi公司的SH、MIPS/LSI Logic/IDT/Aldeny/Toshiba公司的MIPS和Motorola公司的M-Core等都是新型嵌入式系统常用的RISC型处理器。
ARM嵌入式CPU • ARM架构处理器已在高性能、低功耗、低成本的嵌入式应用领域占据领先地位。 • ARM公司是嵌入式RISC处理器的知识产权IP供应商 • 它为ARM架构处理器提供了ARM处理器内核(如ARM7TDMI、ARM9TDMI、ARM10TDMI等)和ARM处理器核(ARM710T/720T/740T、ARM920T/922T/940T、ARM926E/966E及ARM1020E等)
ARM系列产品表示 • ARM系列产品很多,以ARM7系列为例,其内核ARM7TDMI表示为: • ·ARM7:ARM系列具有32位整数运算核 • ·T: 内含16位压缩指令集Thumb • ·D: 支持片内Debug调试, • ·M: 采用增强型乘法器(Multiplier), • ·I: 内含嵌入式ICE宏单元 • 另外,各产品的后缀提供了各种形式与功能的选择: • ·-S:可综合的软核Softcore • ·-E:具有DSP的功能 • ·-J:Jazeller,允许直接执行Java字节码
ARM架构 • ARM架构自诞生至今,已经发生了很大的演变,至今已定义5种不同的版本 • V1版架构 • V2版架构 • V3版架构 • V4版架构 • V5版架构
V1版架构 • 该版架构只在原型机ARM1出现过,其基本性能: • 基本的数据处理指令(无乘法) • 字节、半字和字的LOAD/STORE指令 • 转移指令,包括子程序调用及链接指令 • 软件中断指令 • 寻址空间:64M字节(226)
V2版架构 • 该版架构对V1版进行了扩展,如ARM2与ARM3(V2a版)架构,增加了以下功能: • 乘法和乘加指令 • 支持协处理器操作指令 • 快速中断模式 • SWP/SWPB的最基本存储器与寄存器交换指令 • 寻址空间:64M字节
V3版架构 • 把寻址空间增至32位(4G字节), • 增加了当前程序状态寄存器CPSR(Current Program Status Register)和程序状态保存寄存器SPSR(Saved Program Status Register)以便于异常(Exception)的处理。 • 增加了中止(Abort)和未定义二种处理器模式。ARM6就采用该版架构。指令集变化如下: • 增加了MRS/MSR指令,以访问新增的CPSR/SPSR寄存器 • 增加了从异常处理返回的指令功能。
V4版架构 • V4版架构是目前应用最广的ARM体系结构,对V3版架构进行了进一步扩充,有的还引进了16位的Thumb指令集,使ARM使用更加灵活。ARM7、ARM8、ARM9和StrongARM都采用该版架构。指令集中增加了以下功能: • 符号化和非符号化半字及符号化字节的存/取指令 • 增加了16位Thumb指令集 • 完善了软件中断SWI指令的功能 • 处理器系统模式引进特权方式时使用用户寄存器操作 • 把一些未使用的指令空间捕获为未定义指令
V5版架构 • 这是最近推出ARM架构,在V4版基本上增加了一些新的指令,ARM10和XScale都采用该版架构,这些新增指令有: • 带有链接和交换的转移BLX指令 • 计数前导零CLZ指令 • BRK中断指令 • 增加了信号处理指令(V5TE版) • 为协处理器增加更多可选择的指令
StrongARM架构处理器 • StrongARM是Intel公司为手持式消费类电子设备和移动计算与通信的嵌入式处理器。采用StrongARM架构的处理器有: • SA-1: StrongARM处理器内核 • SA-110: StrongARM处理器核 • SA-1100: 通用处理器MPU • SA-1110: 通用处理器MPU • IXP1200: 采用StrongARM核的网络处理器
StrongARM架构主要特性 • StrongARM处理器核 • 内核: SA-1、指令快存I-Cache: 16K字节、数据快存D-Cache: 8K字节、微小数据Cache: 512字节、存储器管理单元IMMU和DMMU、读和写缓冲器 • 存储器控制模块 • 支持各种ROM、FLASH(闪存)、DRAM和SRAM、支持PCMCIA • 系统控制模块 • 通用可中断GPIO:28根、看门狗定时计数器、间隔定时器、电源管理控制器、中断控制器、片上振荡器:2个(含锁相环) • 外围控制模块 • LCD液晶驱动控制器、串行接口UART、红外接口irDA、数字单频Codec接口 • 目前,大量应用的是改进型SA-1110处理器。在SA-1100处理器基础上,增加了以下功能: • DMA控制器: 6通道,以提高LCD显示和I/O传送的效率 • 实时时钟RTC • 串行外围接口SPI • SA-1110处理器已取代了SA-1100处理器,与其配套的SA-1111芯片,扩展了PS/2键盘与鼠标接口、USB的主机接口以及PCMCIA/CF接口。
XScale架构处理器 • XScale架构处理器是新一代为无线手持式应用产品开发的嵌入式处理器, • 是PCA开发式平台架构中的应用子系统与通信子系统中的嵌入式处理器 • XScale微架构处理器的时钟可以达1GHz、功耗1.6W,并能达到1200MIPS。 • IOP310、IOP321、PXA210 、PXA 25X、 PXA 26X、 PXA 27X
XScale架构特点(一) • 采用7/8级超级流水线 • 动态跳转预测、分支目标缓冲器BTB(Branch Target Baffer) • 支持多媒体处理技术 • 新增乘/加器MAC、40位累加器、兼容ARM V5TE指令、特定DSP型协处理器CP0 • 指令快存(I-Cache): 32K字节 • 数据快存(D-Cache): 32K字节 • 可以重构为28K字节片内RAM • 微小数据快存(Mini-DCache): 2K字节 • 指令存储器管理单元IMMU • 32路变换后备缓冲器TLB(快表) • 动态电源管理
XScale架构特点(二) • 数据存储器管理单元DMMU • 32路变换后备缓冲器TLB(快表) • 中断控制器 • 总线控制器 • 1G字节/秒、ECC协议 • 调试(Debug)接口: • 性能监控: 协处理器CP14、硬件断点、硬件观察点、BKPT指令、异常中断、JTAG接口、迹缓冲器
第二章、嵌入式体系结构 • 嵌入式指令集 • 嵌入式CPU • 存储器 • IO设计 • SOC
储器的几个相关性能指数 • 容量 • 存储器容量用S=W×l×m表示,W为存储器字长,l为存储器字数,m则为存储器体数 • 速度 • 访问时间(access time)Ta:从存储器接到读请求到所读的字传送到数据总线上的时间间隔。 • 存储周期Tm:连续两次访问存储器之间所必需的最小时间间隔。一般Tm > Ta。 • 存储带宽Bm:存储器被连续访问时所提供的数据传输速流,单位是位(或字节)/秒 • 价格 • 存储器的价格通常用单位字节价格来表示。 • 若总容量为S的存储器的总价格为C,则单位字节价格c=C/S。
存储器设计目标 • 高速度 • 大容量 • 低价格
设计目标实现依据 • 存储器的工艺实现技术有了突飞猛进的发展,高速、大容量、低价的存储器件以惊人的速度生产出来 。 • 所有程序都具有这样的行为特性 :空间和时间局部性。 • 90/10原理 :一个程序他的90%的时间都只花在10%的代码上 • 根据以上局部性原则(The Principle of Locality),我们就可以利用各种不同的价格、速度、容量的存储器的组合设计出一个多层(multiple level)存储系统
存储器层次结构 • 在嵌入式系统中所用到的存储器主要有:触发器(Flip-Flops and Latches)、寄存器(Register Files)、静态随机访问存储器(SRAM)、动态随机访问存储器(DRAM)、闪速存储器(flash)、磁盘(Magnetic Disk)等 • 这些存储器的速度,为触发器最快,寄存器次之,SRAM再次,DRAM较慢,然后是flash,磁盘最慢。 • 而价格正好反之,磁盘的每兆字节价格最便宜,触发器最贵。
存储器层次结构的特性 • 第一、就是数据的包含性,即上层的数据,在下一层中都能找到。 • 第二、下层存储器将自己的地址映射到高层的存储器。
存储器层次结构几个基本概念 • 块(Block):相邻两级间的信息交换单位。 • 命中(Hit):相邻两层存储层次中,访问地址可以直接在高层存储器中访问到。 • 命中时间(hit time):访问高层存储器所需的时间,其中包括本次访问是命中还是失效的判定时间。 • 命中率(Hit Rate):相邻两层存储层次中,访问地址可以直接在高层存储器中访问到的概率。 • 失效率(Miss Rate):等于1-命中率。 • 失效损失(miss penalty):用低层存储器中相应的块替换高层存储器中的块,并将该块传送到请求访问的设备(通常是CPU)的时间。
存储器层次结构的性能 • 评价存储器层次结构的性能参数是平均存储访问时间(average memory-access time) • 平均存储访问时间=命中时间 + 失效率 × 失效损失
失效率与块大小之间的关系 • 当块大小过小时,失效率很高 • 当高层存储器容量保持不变时,失效率有一最低限值,此时块大小的变化对失效率没有影响 • 当块大小超过某定值后,(这一定值又称为污染点),失效率呈现随块大小增加而上升的趋势
CACHE简介 • 虽然CPU主频的提升会带动系统性能的改善,但系统性能的提高不仅仅取决于CPU,特别是与CPU/内存之间的存取速度有关。若CPU工作速度较高,但内存存取速度相对较低,则造成CPU等待,降低处理速度,浪费CPU的能力 • 普遍在CPU与常规主存储器之间增设了一级或两级高速小容量存储器,称之为高速缓冲存储器(Cache)
CACHE的地址映射方式 • 全相联Cache • 在全相联Cache中,存储的块与块之间,以及存储顺序或保存的存储器地址之间没有直接的关系。 • 直接映像Cache • 直接映像Cache不同于全相联Cache,地址仅需比较一次。在直接映像Cache中,由于每个主存储器的块在Cache中仅存在一个位置,因而把地址的比较次数减少为一次。 • 组相联Cache • 组相联Cache是介于全相联Cache和直接映像Cache之间的一种结构。这种类型的Cache使用了几组直接映像的块,对于某一个给定的索引号,可以允许有几个块位置,因而可以增加命中率和系统效率
Cache与DRAM存取的一致性控制 • CACHE读取 • 贯穿读出式(Look Through) • 旁路读出式(Look Aside • CACHE写 • 写通式(Write Through) • 回写式(Copy Back)
主存简介 • 主存是非常重要存储和记忆部件,用以存放数据(包括原始数据、中间结果和最终结果)和程序。 • 主存大都采用DRAM芯片实现 • 一般说来,容量越大速度越快的存储器就能给系统带来越高的性能。 • 与微机相比,嵌入式系统的主存一般比较小。 • 同时在有些嵌入式系统中也有用Flash存储器作为主存使用的情况。
DRAM与SRAM主要差别 • 对DRAM芯片来说,在读出数据之后还需重新写回数据,因而它的访问延迟和存储周期不同。SRAM的访问时间与存储周期则没有差别; • 为防止信息丢失,DRAM需要定期刷新每个存储单元,SRAM却不需要; • DRAM设计强调容量,而对SRAM设计来说,容量和速度同样重要。 • 就可以比较的存储器设计技术而言,DRAM的容量大概为SRAM的16倍,而SRAM的存储周期比DRAM的约快8~16倍
地址转换和存储保护 • 用户编程时使用的地址称为逻辑地址(相对地址)。 • 把程序在内存种的实际地址称为物理地址(绝对地址)。 • 为了保证程序的正确运行必须把程序和数据的逻辑地址转换为物理地址,这一工作称为地址转换或重定位 • 静态重定位 • 在作业装入时由作业装入程序实现地址转换 • 动态重定位 • 在程序执行时实现地址转换
虚拟存储器 • 虚拟存储器(Virtual Memory)技术是一种通过硬件和软件的综合来扩大用户可用存储空间的技术 • 虚拟存储器主要是为了满足应用程序对高速大容量主存的需求 • 虚拟存储器实现的重定位是由一个地址映象表机构完成 • 虚拟存储器还提供存储共享和保护机制
闪速存储器(FLASH) • 相对传统的EEPROM芯片,这种芯片可以用电气的方法快速地擦写 • 由于快擦写存储器不需要存储电容器,故其集成度更高,制造成本低于DRAM • 它使用方便,既具有SRAM读写的灵活性和较快的访问速度,又具有ROM在断电后可不丢失信息的特点,所以快擦写存储器技术发展最迅速
NOR技术 • NOR技术(亦称为Linear技术)闪速存储器是最早出现的Flash Memory,目前仍是多数供应商支持的技术架构。它源于传统的EPROM器件, • 与其它Flash Memory技术相比,具有可靠性高、随机读取速度快的优势, • 在擦除和编程操作较少而直接执行代码的场合,尤其是纯代码存储的应用中广泛使用,如PC的BIOS固件、移动电话、硬盘驱动器的控制存储器等。 • NOR技术Flash Memory具有以下特点: • (程序和数据可存放在同一芯片上,拥有独立的数据总线和地址总线,能快速随机读取,允许系统直接从Flash中读取代码执行,而无需先将代码下载至RAM中再执行; • 可以单字节或单字编程,但不能单字节擦除,必须以块为单位或对整片执行擦除操作,在对存储器进行重新编程之前需要对块或整片进行预编程和擦除操作。 • 由于NOR技术Flash Memory的擦除和编程速度较慢,而块尺寸又较大,因此擦除和编程操作所花费的时间很长,在纯数据存储和文件存储的应用中,NOR技术显得力不从心。
NAND技术 • NAND技术 Flash Memory具有以下特点: • 以页为单位进行读和编程操作,1页为256或512B(字节);以块为单位进行擦除操作,1块为4K、8K或16KB。具有快编程和快擦除的功能,其块擦除时间是2ms;而NOR技术的块擦除时间达到几百ms。 • 数据、地址采用同一总线,实现串行读取。随机读取速度慢且不能按字节随机编程。 • 芯片尺寸小,引脚少,是位成本(bit cost)最低的固态存储器,将很快突破每兆字节1美元的价格限制。 • 芯片包含有失效块,其数目最大可达到3~35块(取决于存储器密度)。失效块不会影响有效块的性能,但设计者需要将失效块在地址映射表中屏蔽起来。 • Samsung公司在1999年底开发出世界上第一颗1Gb NAND技术闪速存储器。 • 基于NAND的存储器可以取代硬盘或其他块设备。
AND技术 • AND技术是Hitachi公司的专利技术。 • AND技术与NAND一样采用“大多数完好的存储器”概念 • Hitachi和Mitsubishi公司采用0.18μm的制造工艺,并结合MLC技术,生产出芯片尺寸更小、存储容量更大、功耗更低的512Mb-AND Flash Memory,再利用双密度封装技术DDP(Double Density Package Technology),将2片512Mb芯片叠加在1片TSOP48的封装内,形成一片1Gb芯片。 • HN29V51211T具有突出的低功耗特性,读电流为2mA,待机电流仅为1μA • 由于其内部存在与块大小一致的内部RAM 缓冲区,使得AND技术不像其他采用MLC的闪速存储器技术那样写入性能严重下降。
由EEPROM派生的闪速存储器 • EEPROM具有很高的灵活性,可以单字节读写(不需要擦除,可直接改写数据),但存储密度小,单位成本高。 • 部分制造商生产出另一类以EEPROM做闪速存储阵列的Flash Memory,如ATMEL、SST的小扇区结构闪速存储器(Small Sector Flash Memory)和ATMEL的海量存储器(Data-Flash Memory)。 • 这类器件具有EEPROM与NOR技术Flash Memory二者折衷的性能特点: • 读写的灵活性逊于EEPROM,不能直接改写数据。 • 与EEPROM比较,具有明显的成本优势。 • 存储密度比EEPROM大,但比NOR技术Flash Memory小
第二章、嵌入式体系结构 • 嵌入式指令集 • 嵌入式CPU • 存储器 • IO设计 • SOC
总线 • 总线的带宽 • 总线的带宽指的是一定时间内总线上可传送的数据量,即我们常说的每秒钟传送多少MB 的最大稳态数据传输率。与总线带宽密切相关的两个概念是总线的位宽和总线的工作时钟频率。 • 总线的位宽 • 总线的位宽指的是总线能同时传送的数据位数,即我们常说的32 位、64 位等总线宽度的概念。总线的位宽越宽则总线每秒数据传输率越大,也即总线带宽越宽。 • 总线的工作时钟频率 • 总线的工作时钟频率以MHz 为单位,工作频率越高则总线工作速度越快,也即总线带宽越宽。
ISA • IBM 公司于1981 年推出的基于8 位机PC/XT 的总线,称为PC 总线 • 为了能够合理地开发外插接口卡,由Intel 公司,IEEE 和EISA 集团联合开发了与IBM/AT 原装机总线意义相近的ISA 总线 • ISA 总线有98 只引脚。其中62 线的一段基于8 位的PC 总线,可以独立使用,连接8位的扩展卡,而62 线与36 线相加后就扩展成标准的16 位ISA,连接16 位的扩展卡
PCI • 1991 年下半年,Intel 公司首先提出了PCI 的概念, • 并联合IBM、Compaq、AST、HP、DEC 等100 多家公司成立了PCI 集团,其英文全称为:Peripheral Component Interconnect Special Interest Group(外围部件互连专业组),简称PCISIG。 • PCI 有32 位和64 位两种,32位PCI 有124 引脚,64 位有188 引脚,目前常用的是32 位PCI。 • 32 位PCI 的数据传输率为133MB/s,大大高于ISA。
I2C 总线 • 在现代电子系统中,有为数众多的IC 需要进行相互之间以及与外界的通信。 • 为了提供硬件的效率和简化电路的设计,PHILIPS 开发了一种用于内部IC 控制的简单的双向两线串行总线I2C(inter IC 总线) • I2C 总线支持任何一种IC 制造工艺 • I2C 已经成为世界性的工业标准 • 每个I2C 器件都有一个唯一的地址,而且可以是单接收的器件(例如:LCD 驱动器)或者可以接收也可以发送的器件(例如:存储器)
SPI总线 • 串行外围设备接口SPI(serial peripheral interface)总线技术是Motorola 公司推出的一种同步串行接口 • SPI 总线是一种三线同步总线,因其硬件功能很强 • 总线上可以连接多个可作为主机的MCU,装有SPI 接口的输出设备,输入设备如液晶驱动、A/D 转换等外设 • 也可以简单连接到单个TTL 移位寄存器的芯片 • 总线上允许连接多个能作主机的设备,但在任一瞬间只允许有一个设备作为主机
PC104总线 • 1992 年IEEE 开始着手为PC 和PC/AT 总线制定一个精简的IEEEP996 标准(草稿),PC104 作为基本文件被采纳,叫做IEEE P996.1 兼容PC 嵌入式模块标准 • PC104 有两个版本,8 位和16 位,分别与PC 和PC/AT 相对应。 • PC104PLUS 是专为PCI 总线设计的,可以连接高速外接设备
CAN总线 • CAN,全称为“Controller Area Network”,即控制器局域网,是国际上应用最广泛的现场总线之一 • CAN 被设计作为汽车环境中的微控制器通讯,在车载各电子控制装置ECU 之间交换信息,形成汽车电子控制网络。 • CAN 是一种多主方式的串行通讯总线,基本设计规范要求有高的位速率,高抗电磁干扰性,而且能够检测出产生的任何错误
并行接口 • 所谓“并行”,是指8 位数据同时通过并行线进行传送,这样数据传送速度大大提高 • 但并行传送的线路长度受到限制,因为长度增加,干扰就会增加,容易出错 • 并口的工作模式主要有如下几种 : • SPP 标准工作模式。SPP 数据是半双工单向传输的,传输速率仅为15Kb/s,速度较慢,但几乎可以支持所有的外设,一般设为默认的工作模式。 • EPP 增强型工作模式。EPP 采用双向半双工数据传输,其传输速度比SPP 高,可达2MB/s。EPP 可细分为EPP1.7 和EPP1.9 两种模式,目前较多外设使用此工作模式。 • ECP 扩充型工作模式。ECP 采用双向全双工数据传输,传输速率比EPP 要高。
串口 • 串行口的典型代表是RS-232-C 及其兼容插口,25 针串行口还具有20mA 电流环接口功能,用9、11、18、25 针来实现。 • RS-232-C 是美国电子工业协会EIA(Electronic Industry Association)制定的一种串行物理接口标准。 • 一般嵌入式系统提供标准的RS232C 接口,该接口采用负逻辑,与CMOS、TTL 电路的相连需要专用集成电路进行电平转换。最高传输速率为20 kb/s, 最大传输线长为30 米
USB • USB全称Universal Serial Bus(通用串行总线)。 • USB接口是现在比较流行的接口,用于将使用USB的外围设备连接到主机。 • 在USB 的网络协议中,每个USB 的系统有且只有一个host • USB 最大的好处在于能支持多达127 个外设,并且可以独立供电 、并且支持热拔插
PCMCIA • PCMCIA 全名为Personal Computer Memory Card International Association • 凡符合此协会定义的界面规定技术所设计的界面卡,便可称为PCMCIA 卡或简称为PC 卡 • PCMCIA 卡共分成四种规格,分别是TYPEⅠ、TYPEⅡ、TYPEⅢ及CardBus • PCMCIA 卡轻巧、方便携带 • “热插拔”(Hot Plugging)功能