PowerPC体系结构开发者指引_第1页
PowerPC体系结构开发者指引_第2页
PowerPC体系结构开发者指引_第3页
PowerPC体系结构开发者指引_第4页
全文预览已结束

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、对PowerPC体系结构家族树的所有分支来说,PowerPC体系结构和应用级编程 模型是通用的.要获得详细的资料,请参阅 旧M? PowerPCWeb站点技术库中的 产品用户手册参阅 以获取链接.PowerPC体系结构是一种精减指令集计算机Reduced Instruction Set Computer, RISC体系结构,定义了 200多条指令.PowerPC之所以是RISC, 原因在于大局部指令在一个单一的周期内执行,而且通常只执行一个单一的操 作比方将内存加载到存放器,或者将存放器数据存储到内存.PowerPC体系结构分为三个级别或者说是“ book.通过对体系结构以这种 方式进行划分,

2、为实现可以选择价格/性能比平衡的复杂性级别留出了空间,同 时还保持了实现间的代码兼容性.Book I.用户指令集体系结构定义了通用于所有PowerPC实现的用户指令和存放器的根本集合.这些 是非特权指令,为大多数程序所用.Book II. 虚拟环境体系结构定义了常规应用软件要求之外的附加的用户级功能,比方高速缓存治理、 原子操作和用户级计时器支持.虽然这些操作也是非特权的,但是程序通 常还是通过操作系统调用来访问这些函数.Book III.操作环境体系结构定义了操作系统级需要和使用的操作.其中包括用于内存治理、异常向量 处理、特权存放器访问、特权计时器访问的函数. Book III中详细说明

3、了对各种系统效劳和功能的直接硬件支持.从最初的PowerPC体系结构的开发开始,就根据特定的市场需求而发生分支. 当前,PowerPC体系结构家族树有两个活泼的分支,分别是PowerPCAS体系结构和PowerPC Book E体系结构.PowerPC AS体系结构是EM为了满足它的 eServer pSeries UNIX 和 Linux 效劳器产品家族及它的 eServer iSeries 企 业效劳器产品家族的具体需要而定义的参阅中的链接以获得更多资料.PowerPC Book E体系结构,也被称为 Book E ,是旧M 和Motorola 为满足嵌 入式市场的特定需求而合作推出的.P

4、owerPCAS所采用的原始PowerPC体系结 构与Book E所采用的扩展之间的主要区别大局部集中于 Book III 区域中.在这些衍生的体系结构中还有一些适当的应用级扩展,这些扩展大局部与具体 应用的场合相关,但是 PowerPC AS和PowerPC Book E共享在PowerPC体系 结构的Book I中定义的根本指令集.虽然三种体系结构主要在操作系统级别 上表现出不同,但它们在很大程度上具备应用级的兼容性.PowerPC最初定义了同时对32位和64位实现的支持,可以让32位的应用程 序运行于64位系统之上.在旧M pSeries 和iSeries效劳器上使用的PowerPC A

5、S系统现在只提供体系结构的64位实现,新的64位应用程序和遗 留的32位的应用程序可以运行于同一个系统之上. PowerPC Book E体系结构 同时有32位实现和64位实现,64位实现也完全兼容32位PowerPC应用程 序.这两种体系结构都具备与 PowerPC Book I指令和存放器的完全兼容性,同 时提供了对内存治理、异常和中断、计时器支持和调试支持等各方面的系统级扩 展.POWER自然历史POWER口 PowerPC微处理器有着漫长而传奇的历史,最初是 旧M 801 ,其后是 POWERRS64和PowerPC芯片系列这些并不是线性开展的.每个芯片家族 都对计算世界有自己强有力的

6、影响,从游戏限制台到主机,从数字手表到高端 工作站,到处都得到了应用.欲了解全部历史,请阅读“.最初的PowerPC体系结构仍是 PowerPC AS和PowerPC Book E的主要组成部 分,并仍保持了其完整性,表现出了令人信服的应用级兼容性.PowerPC应用程序编程模型当用到不只一种类型的PowerPC处理器时,开发人员应时刻谨记处理器处理内 存的方式存在一些差异.PowerPC存储模型PowerPC体系结构本身支持字节8位、半字16位、字32位和双 字64位数据类型.PowerPC实现还可以处理最长128字节的多字节字符 用操作.32位PowerPC实现支持4-gigabyte 的

7、有效地址空间,而64位PowerPC实现支持16-exabyte 的有效地址空间.所有存储都可以字节寻址.对于错位数据访问来说,不同的产品家族提供了不同的校准支持,有一些是以处理异常的方式,其他的是通过硬件中的一步或者多步操作来处理访问.最高位字节在最前Big-endian 还是最低位字节在最前little-endian ?PowerPC PowerPC AS以及早期的 EM PowerPC 4xx家族大局部是字节排列顺 序最高位在最前的机器,这就意味着对半字、字以及双字访问来说,最重要的 字节most-signficant byte , MSB位于最低的地址.各实现对最低位在最前 的字节排列

8、顺序方式的支持不同.PowerPC和PowerPC AS提供了最小限度的支 持,而4xx家族为最低位字节在最前的存储提供了更为健壮的支持.Book E是字节排列顺序无关的,由于 Book E体系结构完全支持这两种访问方法.PowerPC应用级存放器PowerPC的应用级存放器分为三类:通用存放器 general-purpose register , GPR、浮点存放器floating-point register FPR和浮点状态和限制存放器Floating-Point Status and Control Register, FPSCR和专用存放器special-purpose regist

9、er , SPR .让我们来分别看一下这三类存放器.通用存放器GPR用户指令集体系结构Book I 规定,所有实现都有32个GPR从GPR0到 GPR31 .GPR是所有整数操作的源和目的,也是所有加载/存储操作的地址操作 数的源.GPR还提供对SPR的访问.所有GRP都是可用的,只有一种情况例外: 在某些指令中,GPR0只是代表数值0,而不会去查找GPR0的内容.浮点存放器FPRBook I规定,所有实现都有 32个FPR 从FPR0到FPR31.FPR是所有浮 点操作的源和目的操作数,可以存放32位和64位的有符号和无符号整数,以 及单精度和双精度浮点数.FPR还提供对FPSCR的访问.注

10、意,嵌入式微处理器实现时经常不提供对浮点指令集的直接硬件支持,或者只是提供一个附加浮点硬件的接口.很多嵌入式应用程序很少或者根本不需要浮点 算法,而当需要的时候,对 PowerPC浮点指令执行进行软件仿真就足够了.在 嵌入式微处理器中,硬件中省去浮点支持而为实现带来的芯片面积和功率的 减少是至关重要的.浮点状态和限制存放器FPSCR捕获浮点操作的状态和异常结果,FPSCR5具 有限制位,以支持特定的异常类型和对四种舍入模式之一的选择.对 FPSCR的 访问要通过FPR.专用存放器SPRSPR给出处理器核心内部资源的状态并对其进行限制. 不需要系统效劳的支持就 可以由应用程序读写的SPR包括计数

11、存放器Count Register 、链接存放器(Link Register )和整型异常存放器(Integer Exception Register系统效劳的支持才可以由应用程序读写的SPR包括时基(Time Base)和其他各种可能支持的计时器.? 指令地址存放器(Instruction Address Register , IAR)?这个存放器就是程序员们所熟知的程序计数器或者指令指针.它是当前 指令的地址.这实际上是一个伪存放器,用户只能通过“ branch and link 指令才能直接使用这个存放器.IAR主要是由调试器使用,显示将 要被执行的下一条指令.? 链接存放器(Link

12、Register , LR)?这个存放器存放的是函数调用结束处的返回地址.某些转移指令可以自动加载LR到转移之后的指令.每个转移指令编码中都有一个 LK位.如果 LK为1 ,转移指令就会将程序计数器移为 LR中的地址.而且,条件转 移指令bclr转移到LR中的值.? 定点异常存放器(Fixed-Point Exception Register , XER?这个存放器存放整数运算操作的进位以及溢出信息.它还存放某些整数运算操作的进位输入以及加载和存储指令(lswx和stswx )中传输的字 节数.? 计数存放器(Count Register , CTR?这个存放器中存放了一个循环计数器,会随特定

13、转移操作而递减.条件转移指令bcctr 转移到CTR中的值.? 条件存放器(Condition Register , CR?这个存放器分为八个字段,每个字段4位.很多PowerPC指令将指令的 第31位编码为Rc位,有一些指令要求 Rc值等于1.当Rc等于1 且进行整数操作时,CR字段0被设置来表示指令操作的结果:相等 (Equal, EQ),大于(Greater Than, GT ),小于(Less Than, LT ), 以及和溢出(Summary Overflow, SO).当Rc等于1且进行浮点操作 时,CR字段1被设置用来表示FPSCR中异常状态位的状态:FX、FEX VX和OX.任何一个CR字段都可以是整数或者浮点比拟指令的目标.CR字段0还被设置用来表示条件存储指令(stwcx或者stdcx )的结

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论