美文网首页
PowerPC特有的指令

PowerPC特有的指令

作者: rustydaar | 来源:发表于2017-09-02 14:32 被阅读0次

PowerPC 是 IBM 的商业版 RISC 计算机体系结构。它的前任有IBM RT/PC, IBM Power1, and IBM Power2, 以及 Motorola 88x00.

分支寄存器: 链接和计数

PowerPC 有专门的链接寄存器(link register), 而不是像其他体系结构那样, 链接寄存器用的是通用寄存器中的一个(比如ARM的LR寄存器其实就是R14)。 程序执行过程中, 并不是每个函数都会调用子函数, 因此, 并不是每次函数调用都需要保存链接寄存器。 将链接寄存器放在特定的寄存器位置上, 也能加速流水过程中获取返回地址的过程。

类似的, PowerPC 也有一个专门的计数寄存器, 用于程序的循环时候的计数。 用特定的寄存器, 分支硬件可以更快速的判断出分支跳转的预期结果。 分支指令判断的时候, 也可以方便的减少计数寄存器的值。

考虑到计数寄存器和链接寄存器已经跟控制分支的硬件是一起的,并且分支的一个问题是在流水中更早的获取目标地址, PowerPC 的架构师因此还为这些提供了更多的用途。 任一寄存器都可以用来保存一个条件跳转的目标地址。 为此, PowerPC 还在基础跳转指令之外添加了两条指令, 用于从寄存器中获取目标地址(BCLR, BCCTR)。

其他指令

跟很多其他 RISC 不同, 0号寄存器并不是强制为0。 还有其他的特性如下:
(译注:早期的0号寄存器为0是普遍现象,现在则是不限制为普遍现象)

  • 可以用单条指令读取或者保存多个寄存器
  • LSW 和 STSW 可以用来获取或者存储固定长或者可变长的字符串。
  • 循环移位和掩码指令可以用来扩展或者插入位域。
  • 负数的右移如果有1被移出,会将 CA 位置位。 因此, 可以利用这个来做向 0 舍入的移位除法。
  • CBTLZ 可以计算前导零的数量。
  • SUBFIC 计算 立即数减RA 。
  • 逻辑立即数移位指令, 支持在做AND, OR, 或者XOR前, 左移最多16比特。

相关文章

  • PowerPC特有的指令

    PowerPC 是 IBM 的商业版 RISC 计算机体系结构。它的前任有IBM RT/PC, IBM Power...

  • CPU种类

    ref:鸟哥的Linux私房菜 精简指令集:RISC SPARC系列,PowerPC,ARM 复杂指令集:CISC...

  • 基础命令(代管 权限:9)

    全部指令全部前面都要加* 1.踢人 指令:t|T|+(QQ可at) 2.警告 指令:警告+(QQ可at) 3.艾特...

  • Vue2.5笔记:v-if 和 v-show指令

    熟悉 Angular 的同学对指令肯定不会陌生,Vue中也借鉴了指令这一特性,在 Vue 中指令都是带有 v-的特...

  • MIPS特有的指令

    MIPS已经经历了五代指令集,演进过程通常是在增加其他架构中有的特性。 下面是MIPS的特有的一些指令,其中的几个...

  • ARM特有的指令

    译注: 这边讲的都是跟ARM v4同时代的,2000年之前的指令集 ARM 里面最不常用的, 大概就是指令的条件执...

  • Linux 指令与文件搜索

    原文 指令与文件搜索 1. which 指令搜索。 2. whereis 文件搜索。速度比较快,因为它只搜索几个特...

  • 自主可控的全数字实时仿真软件SkyEye支持PowerPC指令级

    随着科技的发展,系统工程的设计体量逐渐庞大起来,尤其是对于轨道交通、航空航天、核电站等安全关键领域中,如何在复杂度...

  • 9,自定义指令

    自定义指令 注意,Vue中所有的指令都以"v-"开头 使用Vue.directive()定义全局的指令 其中,参数...

  • C语言 枚举类型和预处理指令

    枚举的定义 预处理指令 所有的预处理指令都是以#开头 预处理指令分为三种 宏定义 条件编译 文件包含 预处理指令在...

网友评论

      本文标题:PowerPC特有的指令

      本文链接:https://www.haomeiwen.com/subject/ouqrjxtx.html