- 51
- 0
- 约1.08万字
- 约 17页
- 2018-10-11 发布于江苏
- 举报
本文主要描述PPC的整数运算和跳转方面的指令,不涉及浮点7
内部公开▲
本文中的所有信息均为中兴通讯股份有限公司内部信息,不得向外传播
本文主要描述PPC的整数运算和跳转方面的指令,不涉及浮点数和系统指令如MMU、Cache、Exception等。
PPC的由来
1991年,IBM、Motorola、Apple联合定义了PowerPC 架构。
PowerPC的主要特点有:
采用RISC技术,同时引入少量复杂指令。这样降低计算机硬件设计复杂性,但对编译器和操作系统的要求更高;
应用并行指令(超标量)处理技术. 指令集和CPU硬件协调发展,编译器可以更好地调整指令, 发挥超标量处理的性能;
汇编指令集和编程语言结合得更好。
CISC是早先内存受限的条件下发展的, 因为复杂的指令带来代码的减少.但目前内存已经不是关键问题,解码复杂和执行时间长成了指令处理的瓶颈.
另外,IBM Berkely Stanford研究表明,如果指令集简单且大部分在一个周期内完成,运算性能会提高。因此采用RISC技术,可以降低指令复杂度,达到path length和cycle time number of cycles的平衡.
相关背景资料:
HYPERLINK /books/proc/ppc/cwg/intro.html /books/proc/ppc/cwg/intro.html 详细介绍了PPC结构下编译器的指令调整技术。
PPC寄存器描述
为了方便指令流水线处理,PPC的汇编指令是等宽的,均为4字节,所以指令地址一定是4字节对齐的。
PPC的一个特点是定义了大量的通用寄存器,如用于整数运算和寻址的通用寄存器GPR0-GPR31(General-Purpose Registers)共32个。在ABI(Application Binary Interface)规范中,GPR1用于堆栈指针、GPR3-GPR4用于函数返回值、GPR3-GPR10用于函数参数传递。
用于浮点数运算的FPR0-FPR31(Floating-Point Registers)共32个,本文不做描述。
状态寄存器CR(Condition Register),用于反映运算结果、跳转判断条件等。分为如下8组:
每组4位,分别为LT(小于)、GT(大于)、EQ(等于)、SO(Summary overflow)。CR0默认反映整数运算结果、CR1默认反映浮点数运算结果。SO比较特殊,是XER寄存器SO位的拷贝。
对于比较指令,很容易理解LT、GT、EQ的含意;对于算术运算指令,结果为负数则为LT、正数GT、0为EQ。
XER寄存器,反映运算过程的异常信息:
OV溢出;SO是溢出保存,一旦发生溢出OV置位后,SO也置位,除非指令清除之;CA进位。
Link Register 用于保存跳转指令的返回地址,也可以用于指定跳转的目标地址。
Counter Register 用于条件跳转时,进行减1判断非0或为0的条件,也可以用于指定跳转的目标地址。
PPC汇编语言说明
学习汇编可以提高一些调试效率,如在线修改代码:清除某一段代码、修改特定地址的常量、不执行某个函数、跳转到另一个函数等等。
学习汇编还可以深入理解编译器的实现,确认汇编实现和编程目的相同,对代码的正确性从另一个角度加以保证。
对于PPC的目编文件,可以用此命令:
D:\Torandoppc20\host\x86-win32\bin\objdumpppc --debugging -D -l -t --show-raw-insn %1.o %1.txt
得到包含反汇编后的文件。如:
TestFunc3():
D:\FP8270de-2005-0613-1621\default/D:/FP8270/FPS/src/FpsFpProc/source/Test.c:18TestFunc3 a8 63 00 00 lha r3,0(r3)TestFunc3+4 4e 80 00 20 blr
这样方便研读由c语言生成的汇编程序。
PPC一般采用大尾字节序,所以与X86相反,约定bit0为MSB、bit31为LSB。
PPC汇编中,WORD为32位,HALF WORD 为16位,BYTE为8位。
此外为方便学习PPC汇编,这里提供了一个小程序,用于显示汇编指令码的各个字段。
内存加载和保存指令
通过寄存器+立即数方式间接寻址:
相关Load Mem指令:lbz、lbzu、lha、lhau、lhz、lhzu、lwz、lwzu
指令格式:
lbz
指令名称
操作码
英文解释
中文解释
lbz
34
Load Byte
您可能关注的文档
- 未成年人诚信教的有效性研究.doc
- 未成年人上肢骨中心出现时间.ppt
- 未成年人保护发训资料.doc
- 未来中国的劳动将流向何方.pptx
- 木材纤维原料的生物结构与细胞形态.ppt
- 未来唯一持久的势是有能力比你的竞争对手学习得更快.ppt
- 未来函数如ZI详细剖析.doc
- 未来店长培养研讨会——专卖店的定义与意义.ppt
- 未来最有前景十行业.pptx
- 未知用户-目的熟悉常见的两类集合的势,掌握其 基本性质.ppt
- 伟明环保-市场前景及投资研究报告-境内业务稳健运行,印尼市场贡献边际增量.pdf
- 桂东县法院系统招聘考试真题2025.pdf
- 贵州省黔南布依族2026年中考三模物理试题及答案.pdf
- 贵州省黔南州2026年中考语文二模试卷附答案.pdf
- 贵州省铜仁市2026年中考语文二模试卷附答案.pdf
- 2026上半年安徽事业单位联考合肥市庐江县招聘36人备考题库及一套完整答案详解.docx
- 贵州省毕节市2026年中考语文一模试卷附答案.pdf
- 贵州省贵阳市南明区2026年中考语文一模试卷附答案.pdf
- 2026上半年安徽事业单位联考合肥市庐江县招聘36人备考题库及一套参考答案详解.docx
- 贵州省贵阳市白云区2026年中考二模物理试题附答案.pdf
原创力文档

文档评论(0)