分类: 嵌入式
2015-11-17 15:33:01
原文地址:arm体系结构和接口技术 作者:xutianxi
嵌入式系统是指以应用为中心,以计算机技术为基础,软件硬件可剪裁,适应应用系统,对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。
嵌入式系统的特点
专用、软硬件可剪裁可配置
低功耗、高可靠性、高稳定性
软件代码短小精悍
代码可固化
实时性
弱交互性
} 未来嵌入式系统的发展趋势:
① 小型化、智能化、网络化、可视化
② 多核技术的应用
③ 低功耗(节能)、绿色环保
④ 云计算、可重构、虚拟化等
⑤ 平台化、标准化、系统可升级,代码可复用
商业版嵌入式操作系统:
1. Vxworks
a) 它是在当前市场占有率最高的嵌入式实时操作系统
b) 它提供的多任务机制,对任务的控制采用优先级抢占和轮询调度机制,充分保证了可靠的实时性,具有高可靠性和稳定性
2. Windows CE
a) 用户图形界面相当出色
b) 具有模块化、结构化和基干Win32应用程序接口以及与处理器无关等特点
ARM技术特征
} 体积小、低功耗、低成本、高性能
}
} • 大量使用寄存器,指令执行速度更快
} • 大多数数据操作都在寄存器中完成
} • 寻址方式灵活简单,执行效率高
} • 指令长度固定
ARM920T 处理器主要特性如下
} • ARM9TDMI RISC 整数 CPU
} • 16-K字节指令与16-K 字节数据缓存
} • 指令与数据存储器管理单元(MMUs)
} • 写缓冲器
} ARM9TDMI处理器是哈佛结构的,有包括取指、译码、执行、存储及写入的五级流水线。
} ARM920T 处理器包括两个协处理器:
} • CP14 -控制软件对调试信道的访问。
} • CP15 - 系统控制处理器,提供16 个额外寄存器用来配置与控制缓存、MMU、系统保护、时钟模式及其他系统选项。
} 5级流水线结构
} – 取指(F)
} – 指令译码(D)
} – 执行(E)
} – 数据存储访问(M)
} – 写寄存器(W)
ARM系统结构v4以上版本支持以上3种数据类型,v4以前版本仅支持字节和字。
所有数据类型指令的操作数都是字类型的,如“ADD r1,r0,#0x1”中的操作数“0x1”就是以字类型数据处理的。
} 5级流水线ARM组织
} 在ARM9TDMI中使用了典型的5级流水线,5级流水线包括下面的流水线级
} (1)取指令(fetch):从存储器中取出指令,并将其放入指令流水线。
} (2)译码(decode):指令被译码,从寄存器堆中读取寄存器操作数。在寄存器堆中有3个操作数读端口,因此,大多数ARM指令能在1个周期内读取其操作数。
} (3)执行(execute):将其中1个操作数移位,并在ALU中产生结果。如果指令是Load或Store指令,则在ALU中计算存储器的地址。
} (4)缓冲/数据(buffer/data):如果需要则访问数据存储器,否则ALU只是简单地缓冲1个时钟周期。
} (5)回写(write-back):将指令的结果回写到寄存器堆,包括任何从寄存器读出的数据。
影响流水线性能的因素
互锁
跳转指令
} Nand Flash与Nor Flash对比:
} 1、接口对比
NOR Flash带有通用的SRAM接口,可以轻松地挂接在CPU的地址、数据总线上,对CPU的接口要求低。NOR Flash的特点是芯片内执行(XIP,eXecute In Place),这样应用程序可以直接在Flash闪存内运行,不必再把代码读到系统RAM中。
NAND Flash器件使用复杂的I/O口来串行地存取数据,8个引脚用来传送控制、地址和数据信息。
} 2、容量和成本对比
相比起NAND Flash来说,NOR Flash的容量要小,一般在1~32MByte左右
} 3、可靠性性对比
NAND器件中的坏块是随机分布的,而坏块问题在NOR Flash上是不存在的
} 4、寿命对比
NAND闪存中每个块的最大擦写次数是一百万次,而NOR的擦写次数是十万次
} 5、升级对比
NOR Flash的升级较为麻烦,因为不同容量的NOR Flash的地址线需求不一样
不同容量的NAND Flash的接口是固定的,所以升级简单
} 6、读写性能对比
擦除NOR器件时是以64~128KB的块进行的,执行一个写入/擦除操作的时间约为为5s。擦除NAND器件是以8~32KB的块进行的,执行相同的操作最多只需要4ms。NOR的读速度比NAND稍快一些。
} A/D转换的技术指标
} 1、分辨率(Resolution)
} 数字量变化一个最小量时模拟信号的变化量,1/2n
} 2、 转换速率(Conversion Rate)
} 完成一次从模拟转换到数字的A/D转换所需的时间的倒数
} 3、量化误差(Quantizing Error)
} 由于A/D的有限分辨率而引起的误差(1LSB或1/2LSB)
} 4、偏移误差(Offset Error)
} 输入信号为零时输出信号不为零的值
} 5、满刻度误差(Full Scale Error)
} 满度输出时对应的输入信号与理想输入信号值之差
} 6、线性度(Linearity)
} 实际转换器的转移函数与理想直线的最大偏移