您的位置:首页 > 职场人生

PowerPC VxWorks BSP分析(1)--PowerPC体系结构 推荐

2009-02-27 22:26 375 查看

1
PowerPC体系结构

POWER 是 Power Optimization With Enhanced RISC 的缩写,是
IBM 的很多服务器、工作站和超级计算机的主要处理器。POWER 芯片起源于 801 CPU,是第二代
RISC 处理器。POWER 芯片在 1990 年被
RS 或 RISC System/6000 UNIX 工作站(现在称为 eServer 和
pSeries)采用,POWER 的产品有 POWER1、POWER2、POWER3、POWER4,现在最高端的是 POWER5。POWER5 处理器是目前单个芯片中性能最好的芯片。POWER6计划
2006 年发布。
PowerPC 是 Apple、IBM 和摩托罗拉(Motorola)联盟(也称为 AIM 联盟)的产物,它基于 POWER 体系结构,但是与 POWER 又有很多的不同。例如,PowerPC 是开放的,它既支持高端的内存模型,也支持低端的内存模型,而POWER 芯片是高端的。最初的 PowerPC设计也着重于浮点性能和多处理能力的研究。当然,它也包含了大部分 POWER 指令。很多应用程序都能在 PowerPC 上正常工作,这可能需要重新编译以进行一些转换。从2000 年开始,摩托罗拉和 IBM 的PowerPC芯片都开始遵循 Book E 规范,这样可以提供一些增强特性,从而使得 PowerPC 对嵌入式处理器应用(例如网络和存储设备,以及消费者设备)更具有吸引力。PowerPC 体系结构的最大一个优点是它是开放的:它定义了一个指令集(ISA),并且允许任何人来设计和制造与
PowerPC 兼容的处理器;为了支持 PowerPC 而开发的软件模块的源代码都可以自由使用。最后,PowerPC
核心的精简为其他部件预留了很大的空间,从新添加缓存到协处理都是如此,这样可以实现任意的设计复杂度。
PowerPC 体系结构分为三个级别(或者说是“book”)。通过对体系结构以这种方式进行划分,为实现可以选择价格/性能比平衡的复杂性级别留出了空间,同时还保持了实现间的代码兼容性。
Book I.
[/b]用户指令集体系结构 [/b]
定义了通用于所有 PowerPC 实现的用户指令和寄存器的基本集合。这些是非特权指令,为大多数程序所用。
Book II. [/b]虚拟环境体系结构 [/b]
定义了常规应用软件要求之外的附加的用户级功能,比如高速缓存管理、原子操作和用户级计时器支持。虽然这些操作也是非特权的,但是程序通常还是通过操作系统调用来访问这些函数。
Book III. [/b]操作环境体系结构 [/b]
定义了操作系统级需要和使用的操作。其中包括用于内存管理、异常向量处理、特权寄存器访问、特权计时器访问的函数。Book III 中详细说明了对各种系统服务和功能的直接硬件支持。
从最初的 PowerPC 体系结构的开发开始,就根据特定的市场需求而发生分支。当前,PowerPC 体系结构家族树有两个活跃的分支,分别是 PowerPC
AS体系结构和 PowerPC Book E体系结构。PowerPC AS 体系结构是
IBM 为了满足它的 eServer pSeries UNIX 和
Linux 服务器产品家族及它的 eServer iSeries 企业服务器产品家族的具体需要而定义的。PowerPC
Book E 体系结构,也被称为 Book E,是 IBM 和
Motorola 为满足嵌入式市场的特定需求而合作推出的。PowerPC AS 所采用的原始 PowerPC 体系结构与
Book E 所采用的扩展之间的主要区别大部分集中于 Book III 区域中。
在这些衍生的体系结构中还有一些适当的应用级扩展,这些扩展大部分与具体应用的场合相关,但是 PowerPC AS 和 PowerPC Book E 共享在
PowerPC 体系结构的 Book I 中定义的基本指令集。虽然三种体系结构主要在操作系统级别上表现出不同,但它们在很大程度上具备应用级的兼容性。
PowerPC 最初定义了同时对 32 位和 64 位实现的支持,可以让 32 位的应用程序运行于 64 位系统之上。在 IBM pSeries 和
iSeries 服务器上使用的 PowerPC AS 系统现在只提供体系结构的 64 位实现,新的
64 位应用程序和遗留的 32 位的应用程序可以运行于同一个系统之上。PowerPC
Book E 体系结构同时有 32位实现和 64 位实现,64
位实现也完全兼容 32 位 PowerPC 应用程序。这两种体系结构都具备与 PowerPC Book I 指令和寄存器的完全兼容性,同时提供了对内存管理、异常和中断、计时器支持和调试支持等各方面的系统级扩展。
最初的 PowerPC 体系结构仍是
PowerPC AS 和 PowerPC Book E 的主要组成部分,并仍保持了其完整性,表现出了令人信服的应用级兼容性。
摩托罗拉半导体(飞思卡尔)从低到高的PowerQUICC
I、II、II Pro、III四个系列的通信处理器产品,应对不同的应用需求:
1) PowerQUICC I MPC8xx低成本通信控制器系列,8xx core
MPC823, MPC823E, MPC850, MPC852T,
MPC853T, MPC855T, MPC857DSL, MPC857T, MPC859DSL, MPC860, MPC862, MPC866, MPC870,
MPC875, MPC880, MPC885[/i]
2) PowerQUICC II MPC82xx高性能低价格通信控制器系列,603e or
G2 core
MPC8247, MPC8248, MPC8250,
MPC8255, MPC8260, MPC8264, MPC8265, MPC8266, MPC8270, MPC8271, MPC8272,
MPC8275, MPC8280[/i]
3) PowerQUICC II Pro MPC83xx高集成度通信控制芯片系列,e300 core
MPC8343E, MPC8347E, MPC8349E,
MPC8358E, MPC8360E[/i]
4)PowerQUICC III MPC85xx高性能低功耗通信控制芯片系列,e500
core
MPC8540, MPC8541E, MPC8555E, MPC8560, MPC8543E,
MPC8545E, MPC8547E, MPC8548E
[/i]


Power QUICC系列微处理器一般有三个功能模块组成,嵌入式PowerPC核(EMPCC),系统接口单元(SIU)以及通信处理器(CPM)模块,这三个模块内部总线都是32位。Power
QUICC中除集成了PowerPC核,还集成了一个32位的RISC内核。Power
PC核主要执行高层代码,而RISC则处理实际通信的低层通信功能,两个处理器内核通过高达8K字节的内部双口RAM相互配合,共同完成MPC854强大的通行控制和处理功能。CPM以RISC控制器为核心构成,除包括一个RISC控制器外,还包括七个串行DMA(SDMA)通道、两个串行通信控制器(SCC)、一个通用串行总线通道(USB)、两个串行管理控制器(SMC)、一个I2C接口和一个串行外围电路(SPI),可以通过灵活的编程方式实现对Ethemet、USB、T1/E1,ATM等的支持以及对UART, HDLC等多种通信协议的支持。
Power
QUICC II 完全可以看作是Power QUICC的第二代,在灵活性、扩展能力、集成度等方面提供了更高的性能。Power QUICC II同样由嵌入式的PowerPC核和通信处理模块CPM两部分集成而来。这种双处理器器的结构由于CPM承接了嵌入式Power PC核的外围接口任务,所以较传统结构更加省电。CPM交替支持三个快速串行通信控制器(FCC),二个多通道控制器(MCC),四个串行通信控制器(SCC),二个串行管理控制器(SMC),一个串行外围接口电路(SPI)和一个I2C接口。嵌入式的Power PC核和通信处理模块(CPM)的融和,以及Power QUICCII的其他功能、性能缩短了技术人员在网络和通信产品方面的开发周期。







同Power QUICCII相比,Power
QUICC III集成度更高、功能更强大、具有更好的性能提升机制。Power QUICCIII中的CPM较Power
QUICC II产品200MHz的CPM的运行速度提升了66%,达到333MHz,同时保持了与早期产品的向后兼容性。这使得客户能够最大范围的延续其现有的软件投入、简化未来的系统升级、又极大的节省开发周期。Power QUICC III通过微代码具有的可扩展性和增加客户定制功能的特性,能够使客户针对不同应用领域开发出各具特色的产品。这种从Power QUICC II开始就有的微代码复用功能,已经成为简化和降低升级成本的主要设计考虑。
MPC860
PowerQUICC是当今比较流行、性能相当优越的单片集成嵌入式微处理器。MPC860 PowerQUICC通信处理器可根据用户不的要求提高2~4个串行通信控制器、不同规格的指令和数据缓存,各种级别的网络协议支持。该产品专为宽带接入设备如路由器、接入集线器、LAN/WAN交换机、PBX系统和STM网关等设计。MPC860包括三个主要模块:PowerPC核心、系统接口单元(SIU)、通信处理模块(CPM)。



PowerPC是主要的处理机单元,通常称为Embedded PowerPC核心(或EPPC)。它包括数据和指令的缓存和存储器管理单元(MMU),在40MHz时钟时为50 MIPS指令速度。
第二个主要的模块为系统接口单元(SIU)。主要包括:总线监视器、假中断监视器、软件看门狗、中断定时器和实时时钟(RTC)、复位控制器、不占用内部开销的片内总线仲裁、JTAG1149.1测试口。它的一个主要功能是提供内部总线和外部总线的接口。
第三个主要模拟为通信处理机模块(CPM)。主要包括:RISC控制器、所有串行通道口支持连续接收和发送模式、5K字节双口RAM、16个串行DMA
(SDMA)通道、三个平行I/O寄存器、四个波特率独立的发生器(可以连接到任意一个SCC和SMC,并允许运行中改变,支持自动波特率)、四个串行通信控制器(SCC)(支持以太网、HDLC/SDLC、HDLC总线)、两个串行管理控制器(SMC)(UART方式或透明传输)、一个串行外围接口电路(SPI)(MC6830
SCP的扩展,支持主从模式,支持同一总线上多主操作)、一个I2C(Inter-Integrated
Circuit)接口(支持主从模式,支持多主环境)。CPM在几个不同的通信设备如SCC和SMC上发送、接收数据,所有的通信设备可以独立工作。SCC和SMC也可以用于时分复用总线。
串行通信控制(SCC)是MPC860中最强大的通信设备,它们可以以多种不同的协议传送数据,比如UART HDLC,以太网等等。
SMC为2个全双工通道,编程可以配置它们独立支持UART、透明方式和GCI。SMC比SCC的能力少一些,它支持少一些协议,而且CPM RISC提供的服务也少一些。
注意,与SCC一样,SMC使用缓存描述字符,缓存在存储器中,与SCC一样,SMC向CPM RISC提供请求,使SDMA传送数据。SCC与SMC一个显著的不同为没有FIFO做接收和发送工作,相反接收和发送为双缓存。
MPC860有两个CPU:PowerPC和32位RISC。PowerPC执行高层代码,RISC处理实际通信的低层通信功能。由于CPU分担了嵌入式PowerPC核的外围工作任务,这种双处理器体系结构功耗要低于传统体系结构的处理器。两个处理器主要是通过内部存储空间相互配合工作。在存储器区,每个处理器都可以设置控制位、读状态位。每个通信设备都有一个发送DMA和接收DMA,32 侠RISC控制这16个串行DMA在通信设备和存储器之间传送数据。当MPC860接收数据时,串行DMA从通信设备接收数据并放入存储器中;发送数据顺序相反,串行DMA从存储器中取数据,送到通信设备,串行DMA只服务CPM的RISC,但是两个虚拟IDMA可以为用户DMA所用。



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息