SPARC64™ X / X+ Specification
Total Page:16
File Type:pdf, Size:1020Kb
SPARC64™ X / X+ Specification Distribution: Public Privilege Levels: Nonprivileged Ver 29.0 2015/01/27 Fujitsu Limited Fujitsu Limited 4-1-1 Kamikodanaka Nakahara-ku, Kawasaki, 211-8588 Japan Copyright© 2007 - 2015 Fujitsu Limited, 4-1-1 Kamikodanaka, Nakahara-ku, Kawasaki, 211-8588, Japan. All rights reserved. This product and related documentation are protected by copyright and distributed under licenses restricting their use, copying, distribution, and decompilation. No part of this product or related documentation may be reproduced in any form by any means without prior written authorization of Fujitsu Limited and its licensors, if any. The product(s) described in this book may be protected by one or more U.S. patents, foreign patents, or pending applications. TRADEMARKS SPARC® is a registered trademark of SPARC International, Inc. Products bearing SPARC trademarks are based on an architecture developed by Oracle and / or its affiliates. SPARC64™ is a registered trademark of SPARC International, Inc., licensed exclusively to Fujitsu Limited. UNIX is a registered trademark of The Open Group in the United States and other countries. Fujitsu and the Fujitsu logo are trademarks of Fujitsu Limited. This publication is provided “as is” without warranty of any kind, either express or implied, including, but not limited to, the implied warranties of merchantability, fitness for a particular purpose, or noninfringement. This publication could include technical inaccuracies or typographical errors. Changes are periodically added to the information herein; these changes will be incorporated in new editions of the publication. Fujitsu Limited may make improvements and/or changes in the product(s) and/or the program(s) described in this publication at any time. 2 Ver 29.0 Jan. 2015 Index 1. Document Overview ................................................................................... 8 1.1. Fonts and Notations ....................................................................................................................................... 8 1.1.1. Font ................................................................................................................................................ 8 1.1.2. Notation .......................................................................................................................................... 8 1.1.3. Meaning of reserved and ........................................................................................................... 9 1.1.4. Access attributes ............................................................................................................................. 9 1.1.5. Informational Notes........................................................................................................................ 9 2. Definitions ................................................................................................. 11 3. Architectural Overview .............................................................................12 4. Data Formats ............................................................................................13 4.1. Densely Packed Decimal (DPD) Floating-Point Numbers ........................................................................... 13 4.1.1. Field ............................................................................................................................................. 13 4.1.2. Combination field (G) .................................................................................................................. 14 4.1.3. Trailing significand field (T) ........................................................................................................ 14 4.1.4. Cohort .......................................................................................................................................... 15 4.1.5. Normal and denormal DPD floating-point numbers ..................................................................... 15 4.1.6. Numbers that can be encoded by the DPD format ........................................................................ 15 4.1.7. Rounding modes ........................................................................................................................... 16 4.2. Packed BCD (Binary Coded Decimal) ......................................................................................................... 16 4.2.1. Fields ............................................................................................................................................ 16 4.3. Oracle floating-point numbers ..................................................................................................................... 17 4.3.1. Fields ............................................................................................................................................ 17 4.3.2. Sign (S) ........................................................................................................................................ 18 4.3.3. Exponent (exp) ............................................................................................................................. 18 4.3.4. Mantissa (significand) .................................................................................................................. 18 4.3.5. Special values ............................................................................................................................... 20 4.3.6. Normal and denormal numbers .................................................................................................... 20 4.3.7. Numbers that can be encoded as Oracle floating-point numbers .................................................. 20 4.3.8. Rounding modes ........................................................................................................................... 21 4.3.9. Extended exponent part (exp10) ................................................................................................... 21 5. Register .....................................................................................................23 5.1. Reserved Register Fields .............................................................................................................................. 23 5.2. General-Purpose R Registers ....................................................................................................................... 23 5.2.1. General-Purpose Integer Registers ............................................................................................... 23 5.2.2. Windowed R Registers ................................................................................................................. 23 5.2.3. Special R Registers ...................................................................................................................... 23 5.3. Floating-Point Registers ............................................................................................................................... 23 5.3.1. Floating-Point Register Number Encoding .................................................................................. 24 5.3.2. Using double-precision registers for single-precision operations ................................................. 24 5.3.3. Specifying registers for SIMD instructions .................................................................................. 25 5.4. Floating-Point State Register (FSR) ............................................................................................................ 26 5.5. Ancillary State Registers .............................................................................................................................. 31 5.5.1. 32-bit Multiply/Divide Register (Y) (ASR 0) ............................................................................... 31 5.5.2. Integer Condition Codes Register (CCR) (ASR 2) ...................................................................... 31 5.5.3. Address Space Identifier (ASI) Register (ASR 3) ........................................................................ 31 5.5.4. Tick (TICK) Register (ASR 4) ..................................................................................................... 31 5.5.5. Program Counters (PC, NPC) (ASR 5) ....................................................................................... 32 5.5.6. Floating-Point Registers State (FPRS) Register (ASR 6) ........................................................... 32 5.5.7. Performance Control Register (PCR) (ASR 16) .......................................................................... 32 5.5.8. Performance Instrumentation Counter (PIC) Register (ASR 17) ................................................. 33 5.5.9. General Status Register (GSR) (ASR 19) .................................................................................... 34 5.5.11. System Tick (STICK) Register (ASR 24) .................................................................................... 34 5.5.13. Pause Register (PAUSE) (ASR 27) ............................................................................................. 35 5.5.14. Extended Arithmetic Register (XAR) (ASR 29)........................................................................... 35 5.5.15. Extended Arithmetic Register Status Register (XASR) (ASR 30) ............................................... 37 6. Instruction Set Overview ..........................................................................40