SlideShare a Scribd company logo
Power-AS Architecture Overview
Vinod Bussa
POWER-AS Architecture
POWER Processor chips implement the POWER-AS ISA
Performance
Optimization
With
Enhanced
Risc
Application
System
RISC & Endianness
Reduced Instruction Set
Little Endian
Big Endian
AIX [Advanced Interactive eXecutive]
IBM i
Linux
64-bit Power AS Architecture
Backward compatible with 32-bit PowerPC architecture (i.e. 603, 604, 750) to a point:
◦ Allows 32-bit applications to run under either a 32-bit or 64-bit operating system (OS).
◦ Allows 64-bit applications to run under a 64-bit OS
•Most architected registers are 64-bits wide (GPR's, FPR's, etc.)
•Major changes to the address translation from 32-bit designs (Book III)
•Allows backward compatibility with IBM “I” (Tags Active Mode / Architecture)
•P6 implements 2.05
•P7 implements 2.06
•P8 implements 2.07(B)
•P9 implements 3.0(B)
Book 1
Contains basic information needed by application programmers
Instruction Categories
◦ Branches
◦ Loads / Stores
◦ Arithmetic ops are all Register-to-Register
◦ FXU
◦ BFP
◦ DFP
◦ Vector
◦ Vector/Scalar instructions and registers
Book 1 (continued)
Special Purpose Registers (SPR’s)
Condition Register (CR)
Count Register (CTR)
Target Address Register (TAR)
Link Register (LR)
Fixed Point Exception Register (XER)
Floating Point Status and Control Register (FPSCR)
Vector Status and Control Register (VSCR)
Branches
Both conditional and unconditional branches
◦ Relative branches (b*)
◦ Absolute branches (ba*)
◦ Branch instructions ending in an “l” update the Link Register for call/return operations
Conditional branches (bc*) branch based on “BO” field in instruction:
CR Instructions
◦ Condition Register (CR)
◦ 32 bits wide
◦ Architecturally: 8 4-bit fields
◦ CR0 implicitly updated by
◦ Fixed point “dot” instructions
◦ Arithmetic recording ops
◦ stcx., icswx. and pbt.
◦ Transactional Memory instructions except tcheck
◦ Transactional Memory Failure Handling
◦ CR1 implicitly updated by FP “dot” instructions
◦ BFP, DFP and VSX
◦ CR6 implicitly updated by VMX “dot” instructions
◦ Remaining CR fields updated by compare type instructions, tcheck and mtcrf instructions
◦ CR logical instructions for manipulating the CR
◦ crand, crnand, etc.
◦ cror, crnor, etc.
◦ Move to and move from CR instructions
◦ mtcrf, mtocrf, mfcr, mfocrf
Branches (continued)
◦ Count Register (CTR)
◦ 2 purposes:
◦ Counter that decrements on certain conditional branches when condition is met
◦ Holds branch target address for “branch to count” instructions
◦ COUNT CACHE: Our designs have an architecturally invisible “Count Cache” which contains a history of previously used branch target addresses used by
“branch to count” and “branch to TAR” instructions
◦ Target Address Register (TAR)
◦ 1 purpose
◦ Similar to the CTR, but only use is to hold the branch target address for “branch to TAR” instructions
◦ Previously used values saved in “Count Cache”
Branches (continued)
◦ Link Register (LR)
◦ 1 purpose
◦ Similar to the CTR/TAR in that it contains a branch target address
◦ Difference is the “taken” branch instructions ending in an “l” (“branch and link”) implicitly update LR with the address of the
instruction following the branch instruction had the branch NOT been taken.
◦ Used for subroutine CALLS / RETURNS
◦ “RETURN” is accomplished by “branch to link” instruction
◦ LINK STACK: Our designs have an architecturally invisible “Link Stack” which contains previously used LR values. Each “branch and
link” pushes an LR value to the stack. Each “branch to link” pops an LR value from the stack which can be used by branch prediction
to prefetch that branch target address.
Branches (continued)
Branch History Rolling Buffer (BHRB)
◦ Architecturally visible structure used to hold previously taken branch instruction addresses (NOT the
target addresses)
◦ Can be used by programmers to trace code execution involving branches
◦ Depth of the BHRB can vary by design and SMT mode
◦ Software responsibility to manage what is read from BHRB accordingly
◦ “clrbhrb” instruction for clearing contents of BHRB
◦ “mfbhrb” instruction for reading contents of BHRB
Fixed Point Overview
◦ Fixed Point (aka Integer) Instructions
◦ Register-to-register instructions
◦ Add, Subtract, Multiply, Divide
◦ And, Or, Xor, etc.
◦ Shift, rotate
◦ Compare, Select,
◦ Trap
◦ BCD
◦ DARN (Deliver A Random Number)
◦ Move to / from GPR/VSR
Fixed Point Overview (continued)
32 General Purposes Registers (GPR’s)
◦ Each 64 bits wide
•Fixed Point Exception Register (XER)
◦ 64 bits wide
◦ OV and CA bits
◦ OV32 and CA32 bits (new in P9)
◦ SO (sticky)
◦ TAG bit (tags active only)
◦ Various other tags active bits
◦ length field for indexed form load / store string instructions
Floating Point Overview
P7 and later server designs support:
◦ Legacy Binary Floating Point (BFP) SISD
◦ Single Precision (SP): 32 bit operands x 1 per FPR
◦ Double Precision (DP): 64 bit operands x 1 per FPR
◦ All BFP instructions begin with letter “f”
◦ Address 32 FPR’s
◦ VMX SIMD
◦ Single Precision Only: 32 bit operands x 4 per VR
◦ All VMX instructions begin with letter “v”
◦ Address 32 VR’s
Floating Point Overview (continued)
◦ Decimal Floating Point (DFP) SISD
◦ Short: 32 bit operands x 1 per FPR
◦ Long: 64 bit operands x 1 per FPR
◦ Extended: 128 bit operands x 1 split over even-odd FPR-pair
◦ All DFP instructions begin with “d”; All quadword (QW) DFP instructions end in “q”
◦ Address 32 FPR’s (or 16 pairs for QW)
◦ Vector-Scalar Extension (VSX) SIMD
◦ Single Precision (sp): 32 bit operands x 4 per VSR
◦ Yield same result as equivalent SP BFP instruction
◦ Double Precision (dp): 64 bit operands x 2 per VSR
◦ Yield same result as equivalent DP BFP instruction
◦ All VSX instructions begin with “x”
◦ Address 64 VSR’s
ISA/A2I
Power ISA is open Source
https://openpowerfoundation.org/?resource_lib=power-isa-version-3-0
A2I POWER Processor Core
https://openpowerfoundation.org/a2i-power-processor-core-contributed-to-openpower-
community-to-advance-open-hardware-collaboration/

More Related Content

PPTX
Introduction to Assembly Language
ApekshaShinde6
 
DOC
Performance Characterization of the Pentium Pro Processor
Dileep Bhandarkar
 
PPT
Assembly
manidangi
 
DOCX
MASM -UNIT-III
Dr.YNM
 
PPTX
Lecture 4 assembly language
Pradeep Kumar TS
 
PPTX
Chapter 2 programming concepts - I
SHREEHARI WADAWADAGI
 
PDF
Assembly Language Programming By Ytha Yu, Charles Marut Chap 4 (Introduction ...
Bilal Amjad
 
PPT
Assembler design option
Mohd Arif
 
Introduction to Assembly Language
ApekshaShinde6
 
Performance Characterization of the Pentium Pro Processor
Dileep Bhandarkar
 
Assembly
manidangi
 
MASM -UNIT-III
Dr.YNM
 
Lecture 4 assembly language
Pradeep Kumar TS
 
Chapter 2 programming concepts - I
SHREEHARI WADAWADAGI
 
Assembly Language Programming By Ytha Yu, Charles Marut Chap 4 (Introduction ...
Bilal Amjad
 
Assembler design option
Mohd Arif
 

What's hot (20)

PPTX
Introduction to Assembly Language Programming
Rahul P
 
PPT
8086 assembly language
Mir Majid
 
PPT
Assembler
Maha Lakshmi
 
PPTX
Assembler
ImaanRoshan
 
PPT
Assembler design options
Mohd Arif
 
PDF
Sp2 4
balaanand_mca
 
PPT
Loader
jayashri kolekar
 
PDF
12109 microprocessor & programming
Gaurang Thakar
 
PPTX
Assembly language progarmming
Azmeyer
 
PDF
Different addressing mode and risc, cisc microprocessor
Daffodil International University
 
PDF
Systemsoftwarenotes 100929171256-phpapp02 2
Khaja Dileef
 
PDF
Unit1 cd
PRIST University
 
PDF
ANSI C Macros
Srikrishnan Suresh
 
PPT
Chapter 3 INSTRUCTION SET AND ASSEMBLY LANGUAGE PROGRAMMING
Frankie Jones
 
PDF
Assembly language 8086 intermediate
John Cutajar
 
PDF
Assembler directives and basic steps ALP of 8086
Urvashi Singh
 
PDF
8086 assembly
Shehrevar Davierwala
 
PPTX
Assembly 8086
Mustafa Salah
 
PPT
Assembly language programming_fundamentals 8086
Shehrevar Davierwala
 
PPTX
Microprocessor chapter 9 - assembly language programming
Wondeson Emeye
 
Introduction to Assembly Language Programming
Rahul P
 
8086 assembly language
Mir Majid
 
Assembler
Maha Lakshmi
 
Assembler
ImaanRoshan
 
Assembler design options
Mohd Arif
 
12109 microprocessor & programming
Gaurang Thakar
 
Assembly language progarmming
Azmeyer
 
Different addressing mode and risc, cisc microprocessor
Daffodil International University
 
Systemsoftwarenotes 100929171256-phpapp02 2
Khaja Dileef
 
ANSI C Macros
Srikrishnan Suresh
 
Chapter 3 INSTRUCTION SET AND ASSEMBLY LANGUAGE PROGRAMMING
Frankie Jones
 
Assembly language 8086 intermediate
John Cutajar
 
Assembler directives and basic steps ALP of 8086
Urvashi Singh
 
8086 assembly
Shehrevar Davierwala
 
Assembly 8086
Mustafa Salah
 
Assembly language programming_fundamentals 8086
Shehrevar Davierwala
 
Microprocessor chapter 9 - assembly language programming
Wondeson Emeye
 
Ad

Similar to POWER processor and features presentation (20)

PDF
POWER ISA introduction and what’s new in ISA V3.1 (Overview)
Ganesan Narayanasamy
 
PPT
ARM_2.ppt
MostafaParvin1
 
PDF
Intel x86 Architecture
ChangWoo Min
 
PPTX
COA Lecture 01(Introduction).pptx
syed rafi
 
PPTX
מצגת פרויקט
Yehezkel Padael
 
PPTX
heuring_jordan_----------ch02(1) (1).pptx
christinamary2620
 
PPT
x86_1.ppt
jeronimored
 
PPTX
x86 architecture
i i
 
PPTX
COA Lecture 01(Introduction to COAL).pptx
muhammadanasgc
 
PPT
CO_Chapter2.ppt
Pranav726214
 
PPT
10 Instruction Sets Characteristics
Jeanie Delos Arcos
 
PPTX
Instruction set.pptx
ssuser000e54
 
PPTX
11-risc-cisc-and-isa-w.pptx
Suma Prakash
 
PPT
10 instruction sets characteristics
Anwal Mirza
 
PDF
OptimizingARM
Jan-Lieuwe Koopmans
 
PPT
Al2ed chapter2
Abdullelah Al-Fahad
 
PPTX
CP Lecture-2 The Microprocessor and its Architecture.pptx
syedamahnoor582
 
PPT
Instructions_introductionM2.1.about.microcontrollerppt
yesmskai
 
PPTX
GCC for ARMv8 Aarch64
Yi-Hsiu Hsu
 
PPT
Lecture_4__8051_Instruction_Set__Rv01.ppt
EngrShehzadHaneef1
 
POWER ISA introduction and what’s new in ISA V3.1 (Overview)
Ganesan Narayanasamy
 
ARM_2.ppt
MostafaParvin1
 
Intel x86 Architecture
ChangWoo Min
 
COA Lecture 01(Introduction).pptx
syed rafi
 
מצגת פרויקט
Yehezkel Padael
 
heuring_jordan_----------ch02(1) (1).pptx
christinamary2620
 
x86_1.ppt
jeronimored
 
x86 architecture
i i
 
COA Lecture 01(Introduction to COAL).pptx
muhammadanasgc
 
CO_Chapter2.ppt
Pranav726214
 
10 Instruction Sets Characteristics
Jeanie Delos Arcos
 
Instruction set.pptx
ssuser000e54
 
11-risc-cisc-and-isa-w.pptx
Suma Prakash
 
10 instruction sets characteristics
Anwal Mirza
 
OptimizingARM
Jan-Lieuwe Koopmans
 
Al2ed chapter2
Abdullelah Al-Fahad
 
CP Lecture-2 The Microprocessor and its Architecture.pptx
syedamahnoor582
 
Instructions_introductionM2.1.about.microcontrollerppt
yesmskai
 
GCC for ARMv8 Aarch64
Yi-Hsiu Hsu
 
Lecture_4__8051_Instruction_Set__Rv01.ppt
EngrShehzadHaneef1
 
Ad

More from Ganesan Narayanasamy (20)

PDF
Empowering Engineering Faculties: Bridging the Gap with Emerging Technologies
Ganesan Narayanasamy
 
PDF
Chip Design Curriculum development Residency program
Ganesan Narayanasamy
 
PDF
Basics of Digital Design and Verilog
Ganesan Narayanasamy
 
PDF
180 nm Tape out experience using Open POWER ISA
Ganesan Narayanasamy
 
PDF
Workload Transformation and Innovations in POWER Architecture
Ganesan Narayanasamy
 
PDF
OpenPOWER Workshop at IIT Roorkee
Ganesan Narayanasamy
 
PDF
Deep Learning Use Cases using OpenPOWER systems
Ganesan Narayanasamy
 
PDF
IBM BOA for POWER
Ganesan Narayanasamy
 
PDF
OpenPOWER System Marconi100
Ganesan Narayanasamy
 
PDF
OpenPOWER Latest Updates
Ganesan Narayanasamy
 
PDF
POWER10 innovations for HPC
Ganesan Narayanasamy
 
PDF
Deeplearningusingcloudpakfordata
Ganesan Narayanasamy
 
PDF
OpenCAPI-based Image Analysis Pipeline for 18 GB/s kilohertz-framerate X-ray ...
Ganesan Narayanasamy
 
PDF
AI in healthcare and Automobile Industry using OpenPOWER/IBM POWER9 systems
Ganesan Narayanasamy
 
PDF
AI in healthcare - Use Cases
Ganesan Narayanasamy
 
PDF
AI in Health Care using IBM Systems/OpenPOWER systems
Ganesan Narayanasamy
 
PDF
AI in Healh Care using IBM POWER systems
Ganesan Narayanasamy
 
PDF
Poster from NUS
Ganesan Narayanasamy
 
PDF
SAP HANA on POWER9 systems
Ganesan Narayanasamy
 
PPTX
Graphical Structure Learning accelerated with POWER9
Ganesan Narayanasamy
 
Empowering Engineering Faculties: Bridging the Gap with Emerging Technologies
Ganesan Narayanasamy
 
Chip Design Curriculum development Residency program
Ganesan Narayanasamy
 
Basics of Digital Design and Verilog
Ganesan Narayanasamy
 
180 nm Tape out experience using Open POWER ISA
Ganesan Narayanasamy
 
Workload Transformation and Innovations in POWER Architecture
Ganesan Narayanasamy
 
OpenPOWER Workshop at IIT Roorkee
Ganesan Narayanasamy
 
Deep Learning Use Cases using OpenPOWER systems
Ganesan Narayanasamy
 
IBM BOA for POWER
Ganesan Narayanasamy
 
OpenPOWER System Marconi100
Ganesan Narayanasamy
 
OpenPOWER Latest Updates
Ganesan Narayanasamy
 
POWER10 innovations for HPC
Ganesan Narayanasamy
 
Deeplearningusingcloudpakfordata
Ganesan Narayanasamy
 
OpenCAPI-based Image Analysis Pipeline for 18 GB/s kilohertz-framerate X-ray ...
Ganesan Narayanasamy
 
AI in healthcare and Automobile Industry using OpenPOWER/IBM POWER9 systems
Ganesan Narayanasamy
 
AI in healthcare - Use Cases
Ganesan Narayanasamy
 
AI in Health Care using IBM Systems/OpenPOWER systems
Ganesan Narayanasamy
 
AI in Healh Care using IBM POWER systems
Ganesan Narayanasamy
 
Poster from NUS
Ganesan Narayanasamy
 
SAP HANA on POWER9 systems
Ganesan Narayanasamy
 
Graphical Structure Learning accelerated with POWER9
Ganesan Narayanasamy
 

Recently uploaded (20)

PDF
Brief History of Internet - Early Days of Internet
sutharharshit158
 
PDF
Cloud-Migration-Best-Practices-A-Practical-Guide-to-AWS-Azure-and-Google-Clou...
Artjoker Software Development Company
 
PDF
Advances in Ultra High Voltage (UHV) Transmission and Distribution Systems.pdf
Nabajyoti Banik
 
PPTX
AI in Daily Life: How Artificial Intelligence Helps Us Every Day
vanshrpatil7
 
PDF
Automating ArcGIS Content Discovery with FME: A Real World Use Case
Safe Software
 
PDF
Research-Fundamentals-and-Topic-Development.pdf
ayesha butalia
 
PDF
AI-Cloud-Business-Management-Platforms-The-Key-to-Efficiency-Growth.pdf
Artjoker Software Development Company
 
PDF
The Evolution of KM Roles (Presented at Knowledge Summit Dublin 2025)
Enterprise Knowledge
 
PDF
How-Cloud-Computing-Impacts-Businesses-in-2025-and-Beyond.pdf
Artjoker Software Development Company
 
PPTX
IT Runs Better with ThousandEyes AI-driven Assurance
ThousandEyes
 
PDF
OFFOFFBOX™ – A New Era for African Film | Startup Presentation
ambaicciwalkerbrian
 
PDF
SparkLabs Primer on Artificial Intelligence 2025
SparkLabs Group
 
PDF
A Strategic Analysis of the MVNO Wave in Emerging Markets.pdf
IPLOOK Networks
 
PDF
Data_Analytics_vs_Data_Science_vs_BI_by_CA_Suvidha_Chaplot.pdf
CA Suvidha Chaplot
 
PDF
Make GenAI investments go further with the Dell AI Factory
Principled Technologies
 
PPTX
AI and Robotics for Human Well-being.pptx
JAYMIN SUTHAR
 
PDF
Software Development Methodologies in 2025
KodekX
 
PDF
Tea4chat - another LLM Project by Kerem Atam
a0m0rajab1
 
PPTX
Applied-Statistics-Mastering-Data-Driven-Decisions.pptx
parmaryashparmaryash
 
PDF
Event Presentation Google Cloud Next Extended 2025
minhtrietgect
 
Brief History of Internet - Early Days of Internet
sutharharshit158
 
Cloud-Migration-Best-Practices-A-Practical-Guide-to-AWS-Azure-and-Google-Clou...
Artjoker Software Development Company
 
Advances in Ultra High Voltage (UHV) Transmission and Distribution Systems.pdf
Nabajyoti Banik
 
AI in Daily Life: How Artificial Intelligence Helps Us Every Day
vanshrpatil7
 
Automating ArcGIS Content Discovery with FME: A Real World Use Case
Safe Software
 
Research-Fundamentals-and-Topic-Development.pdf
ayesha butalia
 
AI-Cloud-Business-Management-Platforms-The-Key-to-Efficiency-Growth.pdf
Artjoker Software Development Company
 
The Evolution of KM Roles (Presented at Knowledge Summit Dublin 2025)
Enterprise Knowledge
 
How-Cloud-Computing-Impacts-Businesses-in-2025-and-Beyond.pdf
Artjoker Software Development Company
 
IT Runs Better with ThousandEyes AI-driven Assurance
ThousandEyes
 
OFFOFFBOX™ – A New Era for African Film | Startup Presentation
ambaicciwalkerbrian
 
SparkLabs Primer on Artificial Intelligence 2025
SparkLabs Group
 
A Strategic Analysis of the MVNO Wave in Emerging Markets.pdf
IPLOOK Networks
 
Data_Analytics_vs_Data_Science_vs_BI_by_CA_Suvidha_Chaplot.pdf
CA Suvidha Chaplot
 
Make GenAI investments go further with the Dell AI Factory
Principled Technologies
 
AI and Robotics for Human Well-being.pptx
JAYMIN SUTHAR
 
Software Development Methodologies in 2025
KodekX
 
Tea4chat - another LLM Project by Kerem Atam
a0m0rajab1
 
Applied-Statistics-Mastering-Data-Driven-Decisions.pptx
parmaryashparmaryash
 
Event Presentation Google Cloud Next Extended 2025
minhtrietgect
 

POWER processor and features presentation

  • 2. POWER-AS Architecture POWER Processor chips implement the POWER-AS ISA Performance Optimization With Enhanced Risc Application System
  • 3. RISC & Endianness Reduced Instruction Set Little Endian Big Endian AIX [Advanced Interactive eXecutive] IBM i Linux
  • 4. 64-bit Power AS Architecture Backward compatible with 32-bit PowerPC architecture (i.e. 603, 604, 750) to a point: ◦ Allows 32-bit applications to run under either a 32-bit or 64-bit operating system (OS). ◦ Allows 64-bit applications to run under a 64-bit OS •Most architected registers are 64-bits wide (GPR's, FPR's, etc.) •Major changes to the address translation from 32-bit designs (Book III) •Allows backward compatibility with IBM “I” (Tags Active Mode / Architecture) •P6 implements 2.05 •P7 implements 2.06 •P8 implements 2.07(B) •P9 implements 3.0(B)
  • 5. Book 1 Contains basic information needed by application programmers Instruction Categories ◦ Branches ◦ Loads / Stores ◦ Arithmetic ops are all Register-to-Register ◦ FXU ◦ BFP ◦ DFP ◦ Vector ◦ Vector/Scalar instructions and registers
  • 6. Book 1 (continued) Special Purpose Registers (SPR’s) Condition Register (CR) Count Register (CTR) Target Address Register (TAR) Link Register (LR) Fixed Point Exception Register (XER) Floating Point Status and Control Register (FPSCR) Vector Status and Control Register (VSCR)
  • 7. Branches Both conditional and unconditional branches ◦ Relative branches (b*) ◦ Absolute branches (ba*) ◦ Branch instructions ending in an “l” update the Link Register for call/return operations Conditional branches (bc*) branch based on “BO” field in instruction:
  • 8. CR Instructions ◦ Condition Register (CR) ◦ 32 bits wide ◦ Architecturally: 8 4-bit fields ◦ CR0 implicitly updated by ◦ Fixed point “dot” instructions ◦ Arithmetic recording ops ◦ stcx., icswx. and pbt. ◦ Transactional Memory instructions except tcheck ◦ Transactional Memory Failure Handling ◦ CR1 implicitly updated by FP “dot” instructions ◦ BFP, DFP and VSX ◦ CR6 implicitly updated by VMX “dot” instructions ◦ Remaining CR fields updated by compare type instructions, tcheck and mtcrf instructions ◦ CR logical instructions for manipulating the CR ◦ crand, crnand, etc. ◦ cror, crnor, etc. ◦ Move to and move from CR instructions ◦ mtcrf, mtocrf, mfcr, mfocrf
  • 9. Branches (continued) ◦ Count Register (CTR) ◦ 2 purposes: ◦ Counter that decrements on certain conditional branches when condition is met ◦ Holds branch target address for “branch to count” instructions ◦ COUNT CACHE: Our designs have an architecturally invisible “Count Cache” which contains a history of previously used branch target addresses used by “branch to count” and “branch to TAR” instructions ◦ Target Address Register (TAR) ◦ 1 purpose ◦ Similar to the CTR, but only use is to hold the branch target address for “branch to TAR” instructions ◦ Previously used values saved in “Count Cache”
  • 10. Branches (continued) ◦ Link Register (LR) ◦ 1 purpose ◦ Similar to the CTR/TAR in that it contains a branch target address ◦ Difference is the “taken” branch instructions ending in an “l” (“branch and link”) implicitly update LR with the address of the instruction following the branch instruction had the branch NOT been taken. ◦ Used for subroutine CALLS / RETURNS ◦ “RETURN” is accomplished by “branch to link” instruction ◦ LINK STACK: Our designs have an architecturally invisible “Link Stack” which contains previously used LR values. Each “branch and link” pushes an LR value to the stack. Each “branch to link” pops an LR value from the stack which can be used by branch prediction to prefetch that branch target address.
  • 11. Branches (continued) Branch History Rolling Buffer (BHRB) ◦ Architecturally visible structure used to hold previously taken branch instruction addresses (NOT the target addresses) ◦ Can be used by programmers to trace code execution involving branches ◦ Depth of the BHRB can vary by design and SMT mode ◦ Software responsibility to manage what is read from BHRB accordingly ◦ “clrbhrb” instruction for clearing contents of BHRB ◦ “mfbhrb” instruction for reading contents of BHRB
  • 12. Fixed Point Overview ◦ Fixed Point (aka Integer) Instructions ◦ Register-to-register instructions ◦ Add, Subtract, Multiply, Divide ◦ And, Or, Xor, etc. ◦ Shift, rotate ◦ Compare, Select, ◦ Trap ◦ BCD ◦ DARN (Deliver A Random Number) ◦ Move to / from GPR/VSR
  • 13. Fixed Point Overview (continued) 32 General Purposes Registers (GPR’s) ◦ Each 64 bits wide •Fixed Point Exception Register (XER) ◦ 64 bits wide ◦ OV and CA bits ◦ OV32 and CA32 bits (new in P9) ◦ SO (sticky) ◦ TAG bit (tags active only) ◦ Various other tags active bits ◦ length field for indexed form load / store string instructions
  • 14. Floating Point Overview P7 and later server designs support: ◦ Legacy Binary Floating Point (BFP) SISD ◦ Single Precision (SP): 32 bit operands x 1 per FPR ◦ Double Precision (DP): 64 bit operands x 1 per FPR ◦ All BFP instructions begin with letter “f” ◦ Address 32 FPR’s ◦ VMX SIMD ◦ Single Precision Only: 32 bit operands x 4 per VR ◦ All VMX instructions begin with letter “v” ◦ Address 32 VR’s
  • 15. Floating Point Overview (continued) ◦ Decimal Floating Point (DFP) SISD ◦ Short: 32 bit operands x 1 per FPR ◦ Long: 64 bit operands x 1 per FPR ◦ Extended: 128 bit operands x 1 split over even-odd FPR-pair ◦ All DFP instructions begin with “d”; All quadword (QW) DFP instructions end in “q” ◦ Address 32 FPR’s (or 16 pairs for QW) ◦ Vector-Scalar Extension (VSX) SIMD ◦ Single Precision (sp): 32 bit operands x 4 per VSR ◦ Yield same result as equivalent SP BFP instruction ◦ Double Precision (dp): 64 bit operands x 2 per VSR ◦ Yield same result as equivalent DP BFP instruction ◦ All VSX instructions begin with “x” ◦ Address 64 VSR’s
  • 16. ISA/A2I Power ISA is open Source https://openpowerfoundation.org/?resource_lib=power-isa-version-3-0 A2I POWER Processor Core https://openpowerfoundation.org/a2i-power-processor-core-contributed-to-openpower- community-to-advance-open-hardware-collaboration/