购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

3.4 PowerPC系列处理器技术

3.4.1 PowerPC体系发展历程

PowerPC是一种RISC多发射体系结构。自从1992年10月其推出第一个PowerPC 601产品以来,到1995年已形成一个完整的处理器产品系列。应用领域涉及便携机、工控机、PC、工作站、服务器以及多处理器并行系统。

1975年,IBM公司801小型计算机工程在RISC机体系结构方面做了许多开创性试验。801计算机与贝克莱大学的RISC处理器引起了RISC机革新运动,然而801计算机仅仅是一个用来演示某种概念的原型机。基于801工程的成功,IBM公司开发了一种商业的RISC工作站产品——RTPC。1990年IBM公司在总结了801和RTPC两产品经验教训的基础上生产了第三个产品即IBM RISC SYSTEM/6000,此产品推介后不久,IBM公司开始把这种计算机称为Power结构。1991年IBM公司与Motorola公司、Apple公司组成联盟生产了一系列PowerPC架构计算机。这种结构源于Power结构并做了改动,实现了更高的执行效率。到1995年年初,PowerPC系列有4个产品先后问世:601是第一个PowerPC产品,它的目标是让PowerPC结构尽快地占领市场,601是32位计算机,其时钟速度可达80 MHz,每个时钟周期可执行三条指令。603设计目标是低端台式机和便携机,它也是32位计算机,性能与601相当,但价格低并且执行效率更高。603的时钟速度为80 MHz,每个时钟周期执行两条指令,适用于低能耗要求的计算机。604设计目标是台式计算机和低端服务器,也是32位计算机,但是604使用了更先进的超标量设计技术以获取更高的性能。604的时钟速度为100 MHz,每个时钟周期可执行四条指令。620设计目标是高端服务器,它是PowerPC系列机中第1个使用全64位结构的产品,包含64位寄存器和64位数据通路。PowerPC是三家公司联盟推出的系列微处理器产品,尽管PowerPC产品都具有基本一致的体系结构,但是具体规格型号却与制造公司有关,由制造公司决定。一般而言,IMB公司生产的PowerPC芯片有PPC的简称,Motorola公司生产的PowerPC芯片有MPC的简称。

3.4.2 PowerPC体系架构特点

PowerPC是一种基于RISC体系结构的CPU架构,最早是由IBM公司基于Power架构开发的。PowerPC架构芯片遵循统一的硬件标准,具有高性能和高可靠性的特点,在通信基站、工业控制和航空航天等对性能和可靠性要求较高的领域有着广泛的应用。PowerPC架构采用流水线来增加CPU指令流的处理速度。不同于ARM架构的三级流水线,PowerPC的流水线分为五个阶段:取指、译码、执行、回写和加载回写;使用取指队列存放指令,包括一个译码缓冲区和两个预取缓冲区。PowerPC处理器内集成了单线程执行单元,包含通用寄存器、算术逻辑单元(ALU)和乘-加单元(MAC)。执行单元支持在硬件内所有的32位PowerPC UISA指令,不支持浮点操作。

3.4.3 典型的PowerPC处理器

SM750是一款高性能低功耗微处理器,它由一个处理器核、一个L2Cache接口和60X总线组成。SM750是一款32位PowerPC体系结构精简指令集(RISC)的CPU,它定义了32位的有效地址,8位、16位、32位的整数数据类型,32位和64位的浮点数据类型。SM750是超标量微处理器,可同时执行两条指令。其包括以下六个执行单元:

(1)浮点单元(FPU)。

(2)分支处理单元(BPU)。

(3)系统寄存器单元(SRU)。

(4)读/写单元(LSU)。

(5)两个整数单元(IU):IU1执行所有的整数指令,IU2执行除了乘和除指令以外的所有整数指令。

SM750具有并行执行几条指令及快速执行简单指令能力,从而提高执行单元效率和系统的吞吐量。大多数整数指令的执行只需要一个时钟周期。FPU是流水线执行的,它执行的任务被分成子任务,为三个连续进程。通常情况下,一个浮点指令一次只可占用三个进程中的一个,通过释放前进程以执行下一条浮点指令。因此,FPU一次能执行三个单精度浮点指令。双精度加法指令有三个周期的等待时间;双精度乘法和乘加指令分别有四个周期的等待时间。

SM750为指令、数据、独立指令及数据存储管理单元(MMU)提供了片内32Kbyte,8路组相连物理寻址的Cache。每个MMU有128个入口,两路组相连的高速转换缓冲区(DTLB和ITLB),保存最近使用的页地址转换信息。块地址转换是通过由PowerPC体系结构定义的四个入口指令和数据块地址转换阵列(IBAT和DBAT)来完成的。在块地址转换时,有效地址同时与所有的四个BAT寄存器入口做比较。L2 Cache通过片内两路组标记存储器和外部同步SRAMs执行数据存储,外部的SRAMs通过一个可以支持1Mbyte同步SRAMs的专用L2 Cache端口进行存取。

SM750提供了32位地址总线及64位数据总线。SM750的Cache支持三种状态的一致性协议(MEI),即独占、修改和无效状态,是兼容MESI(修改/独占/共享/无效)协议四种状态的子集。它在四种状态Caches系统中操作连贯。SM750支持以单拍和成组数据传输的形式进行存储器访问,以及存储器映射I/O操作。

3.4.4 技术特征

1)超标量技术

并行计算机体系结构可以显著提高微处理器的性能,这包括指令级并行性(ILP17)、数据级并行性(DLP18)及线程/进程级并行性(TLP19)。指令级并行最简易的实现方法是使用流水线,指令流水线技术可以使两个以上的指令同时被执行。相比已被淘汰的单指令单周期(single instruction single period)技术和单指令多周期(single instruction multiple period)技术,指令流水线技术使CPU不必等候上一条指令执行完成,即可执行下一条指令。基本流水线有时间重叠性能,见图3-8。

图3-8 基本流水线(时间重叠):经典五级流水线

PowerPC具备超标量计算能力,使用超标量流水线,较经典流水线复杂程度高。超标量流水线(superscalar pipeline)是一种在同一时钟周期发射多条指令的技术,同时具有时间重叠和空间重叠功能。超标量流水线每个时钟并行执行两条以上的指令,发射器用于读取指令并检测各指令之间的相互依赖性,以决定指令是否能够并行执行,然后发指令到执行单元。在超标量CPU结构的设计中,难点在于设计一个高效的发射器,这包括指令发射策略和检测指令依赖的逻辑。通常,指令层并行(integral life practice,ILP)同时发射的指令数在2~10之间,单纯通过硬件进一步开发ILP已经非常困难,因为并发执行的指令越多,硬件复杂度越高。超标量流水线见图3-9。

2)工作模式

通常PowerPC内核有两种运行模式,即用户模式(user mode)和超级用户模式(supervisor mode)。分别对应两组寄存器:用户模式寄存器(user-level register,ULR)与超级用户模式寄存器(supervisor-level register,SLR)。

PowerPC处理器在用户模式或超级用户模式下可以访问用户模式寄存器(ULR)。

图3-9 超标量流水线(时间重叠和空间重叠)

用户可以通过修改内核的处理器状态寄存器(machine state register,MSR)的PR位进行用户模式和超级用户模式的切换。

3)寄存器组织形式

PowerPC体系结构为多数计算机指令定义了寄存器到寄存器操作。寄存器指令的源操作数作为嵌入指令操作码的立即数。寄存器指令允许一个目标寄存器区分两个源操作数。加载存储指令在寄存器和存储器之间传输数据。

该单元处理器有两级权限——超级用户模式操作(用于操作系统)以及用户模式操作(用于应用软件)。访问特权指令、寄存器及其他资源,允许操作系统控制应用环境(提供虚拟存储器、保护操作系统和关键机器资源)。控制处理器状态、地址传输机制以及超级用户寄存器的指令,只可以在处理器运行于超级用户模式下执行。

4)中断和异常管理

PowerPC支持16种中断异常处理,所以对应有16个中断源,但是PowerPC的内核仅支持Critical Input和Extend两种外部输入中断。在中断请求的处理响应无法满足实际需求时,引入中断控制器(interrupt controller,INTC)这个概念,通过软件的方法,对有限的硬件中断资源进行扩展。每一个中断控制器有32个中断输入接口、1个中断信号输出接口。当一个或多个输入端有中断输入信号发生时,输出端就输出中断信号。而中断控制器包含一个32位的寄存器,其每一位对应一个输入中断。当有输入中断发生时,中断控制器对应的标志位便被置1。中断响应处理过程是从低到高对寄存器中的标志位进行轮询,来判断外部中断的来源。因此,其寄存器标志位位置顺序决定了中断响应优先级的高低。 33fbcEwtmMcqggfy1bETjAFGh+4i74SYMtNCnjEwZNBNlT9xulrFzr1n72ro+egH

点击中间区域
呼出菜单
上一章
目录
下一章
×