PowerPC学习Word文件下载.docx

上传人:b****2 文档编号:1442104 上传时间:2023-04-30 格式:DOCX 页数:30 大小:2.09MB
下载 相关 举报
PowerPC学习Word文件下载.docx_第1页
第1页 / 共30页
PowerPC学习Word文件下载.docx_第2页
第2页 / 共30页
PowerPC学习Word文件下载.docx_第3页
第3页 / 共30页
PowerPC学习Word文件下载.docx_第4页
第4页 / 共30页
PowerPC学习Word文件下载.docx_第5页
第5页 / 共30页
PowerPC学习Word文件下载.docx_第6页
第6页 / 共30页
PowerPC学习Word文件下载.docx_第7页
第7页 / 共30页
PowerPC学习Word文件下载.docx_第8页
第8页 / 共30页
PowerPC学习Word文件下载.docx_第9页
第9页 / 共30页
PowerPC学习Word文件下载.docx_第10页
第10页 / 共30页
PowerPC学习Word文件下载.docx_第11页
第11页 / 共30页
PowerPC学习Word文件下载.docx_第12页
第12页 / 共30页
PowerPC学习Word文件下载.docx_第13页
第13页 / 共30页
PowerPC学习Word文件下载.docx_第14页
第14页 / 共30页
PowerPC学习Word文件下载.docx_第15页
第15页 / 共30页
PowerPC学习Word文件下载.docx_第16页
第16页 / 共30页
PowerPC学习Word文件下载.docx_第17页
第17页 / 共30页
PowerPC学习Word文件下载.docx_第18页
第18页 / 共30页
PowerPC学习Word文件下载.docx_第19页
第19页 / 共30页
PowerPC学习Word文件下载.docx_第20页
第20页 / 共30页
亲,该文档总共30页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

PowerPC学习Word文件下载.docx

《PowerPC学习Word文件下载.docx》由会员分享,可在线阅读,更多相关《PowerPC学习Word文件下载.docx(30页珍藏版)》请在冰点文库上搜索。

PowerPC学习Word文件下载.docx

∙POWER2

发布于1993年,一直使用到1998年:

每个芯片中集成了1500万个晶体管。

POWER2芯片中新加了第二个浮点处理单元(FPU)和更多缓存。

PSSC超级芯片是POWER2这种8芯片体系结构的一种单片实现,使用这种芯片配置的一个32节点的IBM深蓝超级计算机在1997年击败了国际象棋冠军GarryKasparov。

∙POWER3

发布于1998年:

第一个64位对称多处理器(SMP),POWER3完全兼容原来的POWER指令集,也可以与PowerPC指令集很好地兼容。

POWER3设计用来从事从太空探测到天气预报方面的科技计算应用。

它特有一个数据预取引擎,无阻塞的交叉数据缓存,双浮点执行单元,以及其他一些很好的设计。

POWER3-II使用铜作为连接介质重新实现了POWER3,这样以相同的价格可以获得两倍的性能。

∙POWER4

发布于2001年:

每个芯片中集成了1亿7400万个晶体管。

采用0.18微米的铜和SoI(绝缘硅)技术,POWER4是目前市场上单个芯片功能最强大的芯片。

POWER4继承了POWER3芯片的所有优点(包括与PowerPC指令集的兼容性),但是采用的却是全新的设计。

每个处理器都有2个64位的1GHz+的PowerPC核心,这是第一个单板上具有多核心设计的服务器处理器(也称为“片上CMP”或“片上服务器”)。

每个处理器都可以并行执行200条指令。

POWER4芯片取代了Star系列的处理器,是IBMRegatta服务器强大的动力之源,也是PowerPC970处理器(也称为AppleG5)的祖先。

POWER4+?

(也称为POWER4-II)功能与之类似,但是主频更高,功耗更低。

∙POWER5?

计划2004年发布。

与POWER3和POWER4芯片类似,POWER5是POWER和PowerPC体系结构的一种综合体。

这种芯片具有很多特性,例如通信加速、芯片多处理器、同步多线程,等等,据报告声称其性能超过POWER4芯片50%到100%。

POWER5芯片将装备一条新的服务器产品线,这些服务器代号为“Squadron”,将于2004年下半年在劳伦斯利物浦发布。

∙.POWER6?

计划2006年发布。

资料保密中。

2:

Star系列

RS64芯片首次于1998年面世,在IBM内部称之为Star系列,这是因为大部分代码字节中都包含了单词“star”或类似的单词(其中一个比较出名的例外是最初的RS64,其代号是“Apache”)。

Star系列芯片源自于对PowerPC体系结构的修改,同时还从POWER产品线中继承了很多特点。

从一开始起,这些芯片就只针对于一种应用进行优化:

商业应用。

这种专用化使其在UNIX服务器领域几乎在10年的时间中都牢居霸主地位。

RS64系列将诸如分支预测、浮点处理以及硬件预取之类的问题留给其兄弟POWER3芯片来解决,自己则专注于整数运算性能和大型复杂的片上、片外缓存的处理。

RS64系列从面世以来就一直是64位的,2000年在RS64IV中引入了多线程的设计。

RS64可以在一台机器内扩展到多达24个处理器,功耗则只需要每个处理器15瓦即可,这一点与其兄弟POWER芯片有很大的区别。

这些特性使RS64芯片非常适合一些系统,例如联机事务处理(OLTP)、商业智能、企业资源计划(ERP)以及其他一些大型的、功能强大的、具有多用户和多任务而缓存命中率很低的系统,其中包括Web服务。

RS64芯片只装备在IBM的eServeriSeries(RS系列)和pSeries(AS系列)服务器中。

∙RS64

发布于1997年,代号名:

Apache。

第一个RS64芯片,也是世界上第一个64位的PowerPCRISC芯片。

其超量运算能力和可扩展性都很好,与POWER1芯片的兼容性比后来的RS64芯片都要好。

由于对商业应用的专著,原来需要使用7个芯片的功能现在只需要一个芯片就可以实现。

RS64装备在AS/400(后来称为A35)和RS/6000中。

∙RS64II

发布于1998年,代号名:

Northstar。

第二代RS64芯片,其特点是每个卡上有4个处理器,每个RS/6000可以支持多达3个卡,从而可以装备4路、8路或12路的SMP系统。

∙RS64III

发布于1999年,代号名:

Pulsar。

第一个使用IBM的铜和绝缘硅技术的RS64芯片,现在可以支持6个处理器卡,可以扩展为24路的SMP机器。

∙RS64IV

发布于2001年,代号名:

IStar,SStar。

第一个市场份额很大的实现多线程的处理器,RS64IV比之前的处理器的速度更快,体积也更小。

现在,商业计算和科学计算的聚合对处理器的设计提出了一个要求:

在一个处理器上解决.

3:

PowerPC

PowerPC中的PC代表performancecomputing。

PowerPC源自于POWER体系结构,在1993年首次引入。

与IBM801类似,PowerPC从一开始设计就是要在各种计算机上运行:

从靠电池驱动的手持设备到超级计算机和大型机。

但是其第一个商业应用却是在桌面系统中,即PowerMacintosh6100。

PowerPC是Apple、IBM和摩托罗拉(Motorola)联盟(也称为AIM联盟)的产物,它基于POWER体系结构,但是与POWER又有很多的不同。

例如,PowerPC是开放的,它既支持高端的内存模型,也支持低端的内存模型,而POWER芯片是高端的。

最初的PowerPC设计也着重于浮点性能和多处理能力的研究。

当然,它也包含了大部分POWER指令。

很多应用程序都能在PowerPC上正常工作,这可能需要重新编译以进行一些转换。

尽管IBM和摩托罗拉分别独自开发了自己的芯片,但是从用户层来讲,所有的PowerPC处理器都运行相同的关键PowerPC指令集,这样可以确保在之上运行的所有软件产品都保持ABI兼容性。

从2000年开始,摩托罗拉和IBM的PowerPC芯片都开始遵循BookE规范,这样可以提供一些增强特性,从而使得PowerPC对嵌入式处理器应用(例如网络和存储设备,以及消费者设备)更具有吸引力。

除了兼容性之外,关于PowerPC体系结构的最大一个优点是它是开放的:

它定义了一个指令集(ISA),并且允许任何人来设计和制造与PowerPC兼容的处理器;

为了支持PowerPC而开发的软件模块的源代码都可以自由使用。

最后,PowerPC核心的精简为其他部件预留了很大的空间,从新添加缓存到协处理都是如此,这样可以实现任意的设计复杂度。

IBM的4条服务器产品线中有两条与Apple计算机的桌面和服务器产品线同样基于PowerPC体系结构,分别是NintendoGameCube和IBM的“蓝色基因(BlueGene)”超级计算机。

现在,三种主要的PowerPC系列是嵌入式PowerPC400系列以及独立的PowerPC700和PowerPC900系列。

由于历史的原因,我们介绍独立的PowerPC600系列,因为它是第一个PowerPC芯片。

∙PowerPC600系列

PowerPC601是第一代PowerPC系列中的第一个芯片。

它是POWER和PowerPC体系结构之间的桥梁,其与POWER1的兼容性比以后的PowerPC都要好(甚至比POWER同一系列的芯片还要好),同时它还兼容Motorola88110总线。

PowerPC601的首次面世是在1994年最早的PowerMac6100中,其主频为66Mhz。

这条产品线中的下一个芯片是603,它是一个低端的核心,通常在汽车中可以找到。

它与PowerPC603同时发布,当时PowerPC604是业界最高端的芯片。

603和604都有一个“e”版本(603e和604e),该版本中对性能进行了改善。

最后,第一个64位的PowerPC芯片,也是很高端的PowerPC620于1995年发布。

∙PowerPC700系列

首次面世是在1998年,PowerPC740和PowerPC750与604e非常类似--有些人会说他们是同一个600/700系列的成员。

PowerPC750是世界上第一个基于铜的微处理器,当它用于Apple计算机时,通常称为G3。

它很快就被G4(或称为Motorola7400)所取代了。

32位的PowerPC750FX在2002年发布时其速度就达到了1GHz,这在业界引起一片哗然。

IBM随之在2003年又发布了750GX,它带有1MB的L2缓存,速度是1GHz,功耗大约是7瓦。

∙PowerPC900系列

64位的PowerPC970,这是POWER4的一个单核心版本,可以同时处理200条指令,其速度可以超过2GHz,而功耗不过几十瓦。

低功耗的优势使其一方面成为笔记本和其他便携式系统的宠儿,另一方面又成为大型服务器和存储设备的首选品。

它64位的处理能力和单指令多数据(SIMD)单元可以加速计算密集型的应用,例如多媒体和图形。

这种芯片用于Apple的桌面系统、Xserve服务器、图像系统以及日益增长的网络系统中。

AppleXerveG5是第一个装备PowerPC970FX的机器,这是第一个采用应变硅和绝缘硅技术制造的芯片,可以只需更低的功耗就实现更高的速度。

∙PowerPC400

这是PowerPC处理器中的嵌入式系列产品。

PowerPC的灵活性体系结构可以实现很多的专用系统,但是从来没有其他地方会像400系列一样灵活。

从机顶盒到IBM的“蓝色基因”超级计算机,到处都可以看到它的身影。

在这个系列的一端是PowerPC405EP,每个嵌入式处理器只需要1瓦的功耗就可以实现200MHz的主频;

而另一端是基于铜技术的800MHz的PowerPC440系列,它可以提供业界最高端的嵌入式处理器。

每个子系列都可以专用,例如,PowerPC440GX的双千兆以太网和TCP/IP负载加速可以减少报文密集型应用对CPU的占用率50%以上。

大量的产品都是在对PowerPC400系列的核心进行高度修改而构建的,其中“蓝色基因”超级计算机就在每个芯片中采用了两个PowerPC440处理器和两个FP(浮点)核心。

虽然最初考虑用作一个桌面系统的芯片,但是PowerPC的低功耗使其成为嵌入式领域中很好的一个替代品,其高性能又对高级应用很有吸引力。

现在,PowerPC已经是很多东西的大脑:

从视频游戏终端、多媒体娱乐系统,到数字助手和蜂窝电话,再到基站和PBX开关。

我们家中的宽带的调制解调器、hub和路由器、自动化子系统、打印机、复印机以及传真中也都可以找到PowerPC。

当然,桌面系统中也会有PowerPC。

两方面的市场需求。

因此Star系列正被全新设计的POWER4芯片所取代。

4.ThePowerPCArchitectureMatures

Arch-overview(Version1.x)

PowerPCarchitecture(version1.x)

Referencemanuals-ProgrammingEnvironmentsManualfor32-BitImplementationsofthePowerPCArchitecture,Rev.3

指令集

PowerPC体系结构分为三个级别(或者说是“book”)。

通过对体系结构以这种方式进行划分,为实现可以选择价格/性能比平衡的复杂性级别留出了空间,同时还保持了实现间的代码兼容性。

BookI.用户指令集体系结构

定义了通用于所有PowerPC实现的用户指令和寄存器的基本集合。

这些是非特权指令,为大多数程序所用。

BookII.虚拟环境体系结构

定义了常规应用软件要求之外的附加的用户级功能,比如高速缓存管理、原子操作和用户级计时器支持。

虽然这些操作也是非特权的,但是程序通常还是通过操作系统调用来访问这些函数。

BookIII.操作环境体系结构

定义了操作系统级需要和使用的操作。

其中包括用于内存管理、异常向量处理、特权寄存器访问、特权计时器访问的函数。

BookIII中详细说明了对各种系统服务和功能的直接硬件支持。

从最初的PowerPC体系结构的开发开始,就根据特定的市场需求而发生分支。

当前,PowerPC体系结构家族树有两个活跃的分支,分别是PowerPCAS体系结构和PowerPCBookE体系结构。

PowerPCAS和PowerPC都支持最初的PowerPC体系结构中定义的应用级基础设施,同时为它们的具体目标市场提供了最佳的优化。

就其两种操作模式之一而言,PowerPCAS实质上与最初的PowerPC相同,而PowerPCBookE在它的BookIII级别的定义中,已经走向了不同的方向,为低价格、低功率以及体系结构灵活的嵌入式应用进行了最优化。

当然,在32位的实现上还不能用双字整数指令,在大部分嵌入式实现中浮点指令也只是通过软件仿真提供支持。

寄存器

PowerPC应用级寄存器

PowerPC的应用级寄存器分为三类:

通用寄存器(general-purposeregister,GPR)、浮点寄存器(floating-pointregister[FPR]和浮点状态和控制寄存器[Floating-PointStatusandControlRegister,FPSCR])和专用寄存器(special-purposeregister,SPR)。

让我们来分别看一下这三类寄存器。

通用寄存器(GPR)

用户指令集体系结构(BookI)规定,所有实现都有32个GPR(从GPR0到GPR31)。

GPR是所有整数操作的源和目的,也是所有加载/存储操作的地址操作数的源。

GPR还提供对SPR的访问。

所有GRP都是可用的,只有一种情况例外:

在某些指令中,GPR0只是代表数值0,而不会去查找GPR0的内容。

浮点寄存器(FPR)

BookI规定,所有实现都有32个FPR(从FPR0到FPR31)。

FPR是所有浮点操作的源和目的操作数,可以存放32位和64位的有符号和无符号整数,以及单精度和双精度浮点数。

FPR还提供对FPSCR的访问。

注意,嵌入式微处理器实现时经常不提供对浮点指令集的直接硬件支持,或者只是提供一个附加浮点硬件的接口。

很多嵌入式应用程序很少或者根本不需要浮点算法,而当需要的时候,对PowerPC浮点指令执行进行软件仿真就足够了。

在嵌入式微处理器中,硬件中省去浮点(支持)而为实现带来的芯片面积和功率的减少是至关重要的。

浮点状态和控制寄存器(FPSCR)捕获浮点操作的状态和异常结果,FPSCR还具有控制位,以支持特定的异常类型和对四种舍入模式之一的选择。

对FPSCR的访问要通过FPR。

专用寄存器(SPR)

SPR给出处理器核心内部资源的状态并对其进行控制。

不需要系统服务的支持就可以由应用程序读写的SPR包括计数寄存器(CountRegister)、链接寄存器(LinkRegister)和整型异常寄存器(IntegerExceptionRegister)。

需要系统服务的支持才可以由应用程序读写的SPR包括时基(TimeBase)和其他各种可能支持的计时器。

∙指令地址寄存器(InstructionAddressRegister,IAR)

这个寄存器就是程序员们所熟知的程序计数器或者指令指针。

它是当前指令的地址。

这实际上是一个伪寄存器,用户只能通过“branchandlink”指令才能直接使用这个寄存器。

IAR主要是由调试器使用,显示将要被执行的下一条指令。

∙链接寄存器(LinkRegister,LR)

这个寄存器存放的是函数调用结束处的返回地址。

某些转移指令可以自动加载LR到转移之后的指令。

每个转移指令编码中都有一个LK位。

如果LK为1,转移指令就会将程序计数器移为LR中的地址。

而且,条件转移指令bclr转移到LR中的值。

∙定点异常寄存器(Fixed-PointExceptionRegister,XER)

这个寄存器存放整数运算操作的进位以及溢出信息。

它还存放某些整数运算操作的进位输入以及加载和存储指令(lswx和stswx)中传输的字节数。

∙计数寄存器(CountRegister,CTR)

这个寄存器中存放了一个循环计数器,会随特定转移操作而递减。

条件转移指令bcctr转移到CTR中的值。

∙条件寄存器(ConditionRegister,CR)

这个寄存器分为八个字段,每个字段4位。

很多PowerPC指令将指令的第31位编码为Rc位,有一些指令要求Rc值等于1。

当Rc等于1且进行整数操作时,CR字段0被设置来表示指令操作的结果:

相等(Equal,EQ),大于(GreaterThan,GT),小于(LessThan,LT),以及和溢出(SummaryOverflow,SO)。

当Rc等于1且进行浮点操作时,CR字段1被设置用来表示FPSCR中异常状态位的状态:

FX、FEX、VX和OX。

任何一个CR字段都可以是整数或者浮点比较指令的目标。

CR字段0还被设置用来表示条件存储指令(stwcx或者stdcx)的结果。

还有一组指令可以操纵特定的CR位、特定的CR字段或者整个CR,通常为了测试而将几个条件组合到同一个位中。

∙处理器版本寄存器(ProcessorVersionRegister,PVR)

PVR是一个32位只读寄存器,标识处理器的版本和修订级别。

处理器版本由PowerPC体系结构过程分配。

修订级别由实现定义。

需要有特权才能访问PVR,所以应用程序只能在操作系统函数的帮助下才可以确定处理器版本。

中断和异常

4:

MMU

Thefollowingtypesofaddresstranslationaresupported:

1)Pageaddresstranslation—translatesthepageframeaddressfora4-Kbytepagesize

2)Blockaddresstranslation—translatestheblocknumberforblocksthatrangefrom128Kbytesto256Mbytes

3)Realaddressingmodeaddresstranslation—whenaddresstranslationisdisabled,thephysicaladdressisidenticaltotheeffectiveaddress.

5:

Arch修改注意

当用到不只一种类型的PowerPC处理器时,开发人员应时刻谨记处理器处理内存的方式存在一些差异。

PowerPC存储模型

PowerPC体系结构本身支持字节(8位)、半字(16位)、字(32位)和双字(64位)数据类型。

PowerPC实现还可以处理最长128字节的多字节字符串操作。

32位PowerPC实现支持4-gigabyte的有效地址空间,而64位PowerPC实现支持16-exabyte的有效地址空间。

所有存储都可以字节寻址。

对于错位数据访问来说,不同的产品家族提供了不同的校准支持,有一些是以处理异常的方式,其他的是通过硬件中的一步或者多步操作来处理访问。

最高位字节在最前(Big-endian)还是最低位字节在最前(little-endian)?

PowerPC、PowerPCAS以及早期的IBMPowerPC4xx家族大部分是字节排列顺序最高位在最前的机器,这就意味着对半字、字以及双字访问来说,最重要的字节(most-significantbyte,MSB)位于最低的地址。

各实现对最低位在最前的字节排列顺序方式的支持不同。

PowerPC和PowerPCAS提供了最小限度的支持,而4xx家族为最低位字节在最前的存储提供了更为健壮的支持。

BookE是字节排列顺序无关的,因为BookE体系结构完全支持这两种访问方法。

当将高速缓存处理代码移植到不同的PowerPC实现时要当心。

虽然高速缓存指令可能是跨不同实现而通用的,高速缓存的组织和大小可能会有变化。

例如,假定高速缓存大小以对其进行刷新的代码,在用于

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2