SlideShare une entreprise Scribd logo
1  sur  16
Télécharger pour lire hors ligne
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/

Contenu connexe

Tendances

8086 assembly language
8086 assembly language8086 assembly language
8086 assembly language
Mir Majid
 
Assembler design options
Assembler design optionsAssembler design options
Assembler design options
Mohd Arif
 
12109 microprocessor & programming
12109 microprocessor & programming12109 microprocessor & programming
12109 microprocessor & programming
Gaurang Thakar
 
Systemsoftwarenotes 100929171256-phpapp02 2
Systemsoftwarenotes 100929171256-phpapp02 2Systemsoftwarenotes 100929171256-phpapp02 2
Systemsoftwarenotes 100929171256-phpapp02 2
Khaja Dileef
 
Assembly language 8086 intermediate
Assembly language 8086 intermediateAssembly language 8086 intermediate
Assembly language 8086 intermediate
John Cutajar
 

Tendances (20)

Introduction to Assembly Language Programming
Introduction to Assembly Language ProgrammingIntroduction to Assembly Language Programming
Introduction to Assembly Language Programming
 
8086 assembly language
8086 assembly language8086 assembly language
8086 assembly language
 
Assembler
AssemblerAssembler
Assembler
 
Assembler
AssemblerAssembler
Assembler
 
Assembler design options
Assembler design optionsAssembler design options
Assembler design options
 
Sp2 4
Sp2 4Sp2 4
Sp2 4
 
Loader
LoaderLoader
Loader
 
12109 microprocessor & programming
12109 microprocessor & programming12109 microprocessor & programming
12109 microprocessor & programming
 
Assembly language progarmming
Assembly language progarmmingAssembly language progarmming
Assembly language progarmming
 
Different addressing mode and risc, cisc microprocessor
Different addressing mode and risc, cisc microprocessorDifferent addressing mode and risc, cisc microprocessor
Different addressing mode and risc, cisc microprocessor
 
Systemsoftwarenotes 100929171256-phpapp02 2
Systemsoftwarenotes 100929171256-phpapp02 2Systemsoftwarenotes 100929171256-phpapp02 2
Systemsoftwarenotes 100929171256-phpapp02 2
 
Unit1 cd
Unit1 cdUnit1 cd
Unit1 cd
 
ANSI C Macros
ANSI C MacrosANSI C Macros
ANSI C Macros
 
Chapter 3 INSTRUCTION SET AND ASSEMBLY LANGUAGE PROGRAMMING
Chapter 3 INSTRUCTION SET AND ASSEMBLY LANGUAGE PROGRAMMINGChapter 3 INSTRUCTION SET AND ASSEMBLY LANGUAGE PROGRAMMING
Chapter 3 INSTRUCTION SET AND ASSEMBLY LANGUAGE PROGRAMMING
 
Assembly language 8086 intermediate
Assembly language 8086 intermediateAssembly language 8086 intermediate
Assembly language 8086 intermediate
 
Assembler directives and basic steps ALP of 8086
Assembler directives and basic steps ALP of 8086Assembler directives and basic steps ALP of 8086
Assembler directives and basic steps ALP of 8086
 
8086 assembly
8086 assembly8086 assembly
8086 assembly
 
Assembly 8086
Assembly 8086Assembly 8086
Assembly 8086
 
Assembly language programming_fundamentals 8086
Assembly language programming_fundamentals 8086Assembly language programming_fundamentals 8086
Assembly language programming_fundamentals 8086
 
Microprocessor chapter 9 - assembly language programming
Microprocessor  chapter 9 - assembly language programmingMicroprocessor  chapter 9 - assembly language programming
Microprocessor chapter 9 - assembly language programming
 

Similaire à POWER processor and features presentation

LECTURE2 td 2 sue les theories de graphes
LECTURE2 td 2 sue les theories de graphesLECTURE2 td 2 sue les theories de graphes
LECTURE2 td 2 sue les theories de graphes
AhmedMahjoub15
 

Similaire à POWER processor and features presentation (20)

EC8791 ARM Processor and Peripherals.pptx
EC8791 ARM Processor and Peripherals.pptxEC8791 ARM Processor and Peripherals.pptx
EC8791 ARM Processor and Peripherals.pptx
 
GCC for ARMv8 Aarch64
GCC for ARMv8 Aarch64GCC for ARMv8 Aarch64
GCC for ARMv8 Aarch64
 
Lecture9
Lecture9Lecture9
Lecture9
 
ARM Architecture
ARM ArchitectureARM Architecture
ARM Architecture
 
Module 2 ARM CORTEX M3 Instruction Set and Programming
Module 2 ARM CORTEX M3 Instruction Set and ProgrammingModule 2 ARM CORTEX M3 Instruction Set and Programming
Module 2 ARM CORTEX M3 Instruction Set and Programming
 
Linux on ARM 64-bit Architecture
Linux on ARM 64-bit ArchitectureLinux on ARM 64-bit Architecture
Linux on ARM 64-bit Architecture
 
Lecture 03 basics of pic
Lecture 03 basics of picLecture 03 basics of pic
Lecture 03 basics of pic
 
Introduction to armv8 aarch64
Introduction to armv8 aarch64Introduction to armv8 aarch64
Introduction to armv8 aarch64
 
It322 intro 1
It322 intro 1It322 intro 1
It322 intro 1
 
LECTURE2 td 2 sue les theories de graphes
LECTURE2 td 2 sue les theories de graphesLECTURE2 td 2 sue les theories de graphes
LECTURE2 td 2 sue les theories de graphes
 
Arm architecture overview
Arm architecture overviewArm architecture overview
Arm architecture overview
 
BPF - in-kernel virtual machine
BPF - in-kernel virtual machineBPF - in-kernel virtual machine
BPF - in-kernel virtual machine
 
Arm cortex-m4 programmer model
Arm cortex-m4 programmer modelArm cortex-m4 programmer model
Arm cortex-m4 programmer model
 
System Software
System SoftwareSystem Software
System Software
 
Highridge ISA
Highridge ISAHighridge ISA
Highridge ISA
 
Kirby, Fabro
Kirby, FabroKirby, Fabro
Kirby, Fabro
 
Simplified instructional computer
Simplified instructional computerSimplified instructional computer
Simplified instructional computer
 
High Bandwidth Memory(HBM)
High Bandwidth Memory(HBM)High Bandwidth Memory(HBM)
High Bandwidth Memory(HBM)
 
Mips 64
Mips 64Mips 64
Mips 64
 
8086 architecture By Er. Swapnil Kaware
8086 architecture By Er. Swapnil Kaware8086 architecture By Er. Swapnil Kaware
8086 architecture By Er. Swapnil Kaware
 

Plus de Ganesan Narayanasamy

180 nm Tape out experience using Open POWER ISA
180 nm Tape out experience using Open POWER ISA180 nm Tape out experience using Open POWER ISA
180 nm Tape out experience using Open POWER ISA
Ganesan Narayanasamy
 

Plus de Ganesan Narayanasamy (20)

Chip Design Curriculum development Residency program
Chip Design Curriculum development Residency programChip Design Curriculum development Residency program
Chip Design Curriculum development Residency program
 
Basics of Digital Design and Verilog
Basics of Digital Design and VerilogBasics of Digital Design and Verilog
Basics of Digital Design and Verilog
 
180 nm Tape out experience using Open POWER ISA
180 nm Tape out experience using Open POWER ISA180 nm Tape out experience using Open POWER ISA
180 nm Tape out experience using Open POWER ISA
 
Workload Transformation and Innovations in POWER Architecture
Workload Transformation and Innovations in POWER Architecture Workload Transformation and Innovations in POWER Architecture
Workload Transformation and Innovations in POWER Architecture
 
OpenPOWER Workshop at IIT Roorkee
OpenPOWER Workshop at IIT RoorkeeOpenPOWER Workshop at IIT Roorkee
OpenPOWER Workshop at IIT Roorkee
 
Deep Learning Use Cases using OpenPOWER systems
Deep Learning Use Cases using OpenPOWER systemsDeep Learning Use Cases using OpenPOWER systems
Deep Learning Use Cases using OpenPOWER systems
 
IBM BOA for POWER
IBM BOA for POWER IBM BOA for POWER
IBM BOA for POWER
 
OpenPOWER System Marconi100
OpenPOWER System Marconi100OpenPOWER System Marconi100
OpenPOWER System Marconi100
 
OpenPOWER Latest Updates
OpenPOWER Latest UpdatesOpenPOWER Latest Updates
OpenPOWER Latest Updates
 
POWER10 innovations for HPC
POWER10 innovations for HPCPOWER10 innovations for HPC
POWER10 innovations for HPC
 
Deeplearningusingcloudpakfordata
DeeplearningusingcloudpakfordataDeeplearningusingcloudpakfordata
Deeplearningusingcloudpakfordata
 
OpenCAPI-based Image Analysis Pipeline for 18 GB/s kilohertz-framerate X-ray ...
OpenCAPI-based Image Analysis Pipeline for 18 GB/s kilohertz-framerate X-ray ...OpenCAPI-based Image Analysis Pipeline for 18 GB/s kilohertz-framerate X-ray ...
OpenCAPI-based Image Analysis Pipeline for 18 GB/s kilohertz-framerate X-ray ...
 
AI in healthcare and Automobile Industry using OpenPOWER/IBM POWER9 systems
AI in healthcare and Automobile Industry using OpenPOWER/IBM POWER9 systemsAI in healthcare and Automobile Industry using OpenPOWER/IBM POWER9 systems
AI in healthcare and Automobile Industry using OpenPOWER/IBM POWER9 systems
 
AI in healthcare - Use Cases
AI in healthcare - Use Cases AI in healthcare - Use Cases
AI in healthcare - Use Cases
 
AI in Health Care using IBM Systems/OpenPOWER systems
AI in Health Care using IBM Systems/OpenPOWER systemsAI in Health Care using IBM Systems/OpenPOWER systems
AI in Health Care using IBM Systems/OpenPOWER systems
 
AI in Healh Care using IBM POWER systems
AI in Healh Care using IBM POWER systems AI in Healh Care using IBM POWER systems
AI in Healh Care using IBM POWER systems
 
Poster from NUS
Poster from NUSPoster from NUS
Poster from NUS
 
SAP HANA on POWER9 systems
SAP HANA on POWER9 systemsSAP HANA on POWER9 systems
SAP HANA on POWER9 systems
 
Graphical Structure Learning accelerated with POWER9
Graphical Structure Learning accelerated with POWER9Graphical Structure Learning accelerated with POWER9
Graphical Structure Learning accelerated with POWER9
 
AI in the enterprise
AI in the enterprise AI in the enterprise
AI in the enterprise
 

Dernier

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Dernier (20)

Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 

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/