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

简介:

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.   用户指令集体系结构
定义了通用于所有  PowerPC  实现的用户指令和寄存器的基本集合。这些是非特权指令,为大多数程序所用。
Book II.  虚拟环境体系结构
定义了常规应用软件要求之外的附加的用户级功能,比如高速缓存管理、原子操作和用户级计时器支持。虽然这些操作也是非特权的,但是程序通常还是通过操作系统调用来访问这些函数。
Book III.  操作环境体系结构
定义了操作系统级需要和使用的操作。其中包括用于内存管理、异常向量处理、特权寄存器访问、特权计时器访问的函数。 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
2) PowerQUICC II MPC82xx 高性能低价格通信控制器系列, 603e or G2 core
MPC8247, MPC8248, MPC8250, MPC8255, MPC8260, MPC8264, MPC8265, MPC8266, MPC8270, MPC8271, MPC8272, MPC8275, MPC8280
3) PowerQUICC II Pro MPC83xx 高集成度通信控制芯片系列, e300 core
MPC8343E, MPC8347E, MPC8349E, MPC8358E, MPC8360E
4)PowerQUICC III MPC85xx 高性能低功耗通信控制芯片系列, e500 core
MPC8540, MPC8541E, MPC8555E, MPC8560, MPC8543E, MPC8545E, MPC8547E, MPC8548E

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) 、一个 I 2C 接口和一个串行外围电路 (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) 和一个 I 2 C 接口。嵌入式的 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 的扩展,支持主从模式,支持同一总线上多主操作)、一个 I 2 C 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 所用。





 本文转自 21cnbao 51CTO博客,原文链接:http://blog.51cto.com/21cnbao/133619,如需转载请自行联系原作者



相关文章
|
数据采集 Linux 数据处理
星嵌 OMAPL138工业核心板 TI ARM9+DSP C674x Linux C6000 uPP
SOM-XQ138基于TI OMAP-L138定点/浮点DSP C674x+ARM9处理器,双核主频456MHz,C6000 DSP + ARM设计的核心板;
星嵌 OMAPL138工业核心板 TI ARM9+DSP C674x Linux C6000 uPP
|
存储 缓存 编译器
2- STM32之ARM Cortex-M体系结构(上)
2- STM32之ARM Cortex-M体系结构
2- STM32之ARM Cortex-M体系结构(下)
2- STM32之ARM Cortex-M体系结构
|
存储 缓存 Unix
MIPS架构深入理解8-向MIPS移植软件之大小端模式
MIPS架构深入理解8-向MIPS移植软件之大小端模式
|
Linux 数据处理 Android开发
【ARM基础概念:ARMv7架构,ARM(ARM7、ARM9)、Cortex-M4、M7等内核、MCU、MPU、SOC,STM32的一些概念】
【ARM基础概念:ARMv7架构,ARM(ARM7、ARM9)、Cortex-M4、M7等内核、MCU、MPU、SOC,STM32的一些概念】
652 0