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)
、一个
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)
和一个
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
所用。