ebook img

ARM Architecture Reference Manual Supplement ARMv8.1, for ARMv8-A architecture profile PDF

954 Pages·2016·4.73 MB·English
by  
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview ARM Architecture Reference Manual Supplement ARMv8.1, for ARMv8-A architecture profile

ARM Architecture Reference Manual ® Supplement ARMv8.1, for ARMv8-A architecture profile Copyright ©2016 ARM Limited or its affiliates. All rights reserved. DDI0557A.b (ID060316) ARM Architecture Reference Manual Supplement ARMv8.1, for ARMv8-A architecture profile Copyright ©2016 ARM Limited or its affiliates. All rights reserved. Release Information The following changes have been made to this document. Change History Date Issue Confidentiality Change 29 April 2016 A.a Non-Confidential EAC release, limited circulation 03 June 2016 A.b Non-Confidential EAC release Proprietary Notice This document is protected by copyright and other related rights and the practice or implementation of the information contained in this document may be protected by one or more patents or pending patent applications. No part of this document may be reproduced in any form by any means without the express prior written permission of ARM Limited (“ARM”). No license, express or implied, by estoppel or otherwise to any intellectual property rights is granted by this document unless specifically stated. Your access to the information in this document is conditional upon your acceptance that you will not use or permit others to use the information for the purposes of determining whether implementations infringe any third party patents. THIS DOCUMENT IS PROVIDED “AS IS”. ARM PROVIDES NO REPRESENTATIONS AND NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTABILITY, SATISFACTORY QUALITY, NON-INFRINGEMENT OR FITNESS FOR A PARTICULAR PURPOSE WITH RESPECT TO THE DOCUMENT. For the avoidance of doubt, ARM makes no representation with respect to, and has undertaken no analysis to identify or understand the scope and content of, third party patents, copyrights, trade secrets, or other rights. This document may include technical inaccuracies or typographical errors. This document may be translated into other languages for convenience, and you agree that if there is any conflict between the English version of this document and any translation, the terms of the English version shall prevail. TO THE EXTENT NOT PROHIBITED BY LAW, IN NO EVENT WILL ARM BE LIABLE FOR ANY DAMAGES, INCLUDING WITHOUT LIMITATION ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, PUNITIVE, OR CONSEQUENTIAL DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF ANY USE OF THIS DOCUMENT, EVEN IF ARM HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. This document consists solely of commercial items. You shall be responsible for ensuring that any use, duplication or disclosure of this document complies fully with any relevant export laws and regulations to assure that this document or any portion thereof is not exported, directly or indirectly, in violation of such export laws. Use of the word “partner” in reference to ARM’s customers is not intended to create or refer to any partnership relationship with any other company. ARM may make changes to this document at any time and without notice. If any of the provisions contained in these terms conflict with any of the provisions of any signed written agreement specifically covering this document with ARM, then the signed written agreement prevails over and supersedes the conflicting provisions of these terms. Words and logos marked with ® or ™ are registered trademarks or trademarks of ARM Limited or its affiliates in the EU and/or elsewhere. All rights reserved. Other brands and names mentioned in this document may be the trademarks of their respective owners. You must follow the ARM trademark usage guidelines http://www.arm.com/about/trademarks/guidelines/index.php. Copyright © 2016 ARM Limited or its affiliates. All rights reserved. ARM Limited. Company 02557590 registered in England. 110 Fulbourn Road, Cambridge, England CB1 9NJ. LES-PRE-20327 In this document, where the term ARM is used to refer to the company it means “ARM or any of its subsidiaries as appropriate”. ii Copyright ©2016 ARM Limited or its affiliates. All rights reserved. DDI0557A.b Non-Confidential ID060316 Confidentiality Status This document is Non-Confidential. The right to use, copy and disclose this document may be subject to license restrictions in accordance with the terms of the agreement entered into by ARM and the party that ARM delivered this document to. Product Status The information in this document is final, that is for a developed product. Web Address http://www.arm.com DDI0557A.b Copyright ©2016 ARM Limited or its affiliates. All rights reserved. iii ID060316 Non-Confidential iv Copyright ©2016 ARM Limited or its affiliates. All rights reserved. DDI0557A.b Non-Confidential ID060316 Contents ARM Architecture Reference Manual Supplement ARMv8.1, for ARMv8-A architecture profile Preface About this supplement ................................................................................................. x Using this book ........................................................................................................... xi Conventions .............................................................................................................. xiv Additional reading ..................................................................................................... xv Feedback .................................................................................................................. xvi Part A ARMv8.1 Architecture Introduction and Overview Chapter A1 Introduction A1.1 About this ARMv8.1 supplement ......................................................................... A1-20 A1.2 About the ARMv8.1 architecture ......................................................................... A1-21 Part B ARMv8.1 Changes in the AArch64 Architecture Chapter B1 New Atomic Instructions B1.1 About atomic instructions .................................................................................... B1-28 Chapter B2 AArch64 SIMD Instructions for Rounding Double Multiply Add/Subtract B2.1 About the new instructions .................................................................................. B2-32 Chapter B3 Hierarchical Permission Disables B3.1 About Hierarchical Permission Disables ............................................................. B3-34 DDI0557A.b Copyright ©2016 ARM Limited or its affiliates. All rights reserved. v ID060316 Non-Confidential Chapter B4 Hardware Updates to Access Flag and Dirty State B4.1 About hardware management of the Access flag and of dirty state .................... B4-36 Chapter B5 AArch64 Privileged Access Never B5.1 About the Privileged Access Never (PAN) bit ..................................................... B5-50 Chapter B6 Limited Ordering Regions B6.1 About limited ordering regions ............................................................................ B6-54 Chapter B7 16-bit VMID B7.1 VMID size ............................................................................................................ B7-58 Chapter B8 Virtualization Host Extensions B8.1 About the Virtualization Host Extensions ............................................................ B8-60 Chapter B9 AArch64 Performance Monitors Extension B9.1 Changes to the Performance Monitors Extension ............................................... B9-74 Chapter B10 A64 Instruction Set Encoding B10.1 Loads and stores ............................................................................................... B10-78 B10.2 Data processing - SIMD and floating point ........................................................ B10-81 Chapter B11 A64 Instructions B11.1 Alphabetical list of instructions .......................................................................... B11-86 B11.2 ARMv8.0 sections relating to these instructions .............................................. B11-227 Chapter B12 AArch64 Register Descriptions B12.1 General information about AArch64 System registers .................................... B12-232 B12.2 General system control registers ..................................................................... B12-234 B12.3 Debug registers ............................................................................................... B12-424 B12.4 Performance Monitors registers ...................................................................... B12-450 B12.5 Generic Timer registers ................................................................................... B12-463 B12.6 System instructions ......................................................................................... B12-504 B12.7 ARMv8.0 sections relating to these registers .................................................. B12-545 Part C ARMv8.1 Changes in the AArch32 Architecture Chapter C1 A32/T32 Advanced SIMD Instructions for Rounding Double Multiply Add/Subtract C1.1 About the new instructions ................................................................................ C1-562 Chapter C2 AArch32 Privileged Access Never C2.1 About the Privileged Access Never bit .............................................................. C2-564 Chapter C3 AArch32 Performance Monitors Extension C3.1 Changes to the Performance Monitors Extension ............................................. C3-568 Chapter C4 A32/T32 Instruction Set Encoding C4.1 Advanced SIMD data-processing ...................................................................... C4-572 Chapter C5 A32 and T32 Instructions C5.1 Alphabetical list of instructions .......................................................................... C5-576 C5.2 ARMv8.0 sections relating to these instructions ................................................ C5-584 vi Copyright ©2016 ARM Limited or its affiliates. All rights reserved. DDI0557A.b Non-Confidential ID060316 Chapter C6 AArch32 Register Descriptions C6.1 General information about AArch32 System registers ...................................... C6-590 C6.2 General system control registers ....................................................................... C6-591 C6.3 Debug registers ................................................................................................. C6-644 C6.4 Performance Monitors registers ........................................................................ C6-673 C6.5 Generic Timer registers ..................................................................................... C6-687 C6.6 ARMv8.0 sections relating to these registers .................................................... C6-698 Part D ARMv8.1 Changes to External Debug Chapter D1 PC Sample-based Profiling D1.1 Changes to PC Sample-based profiling ............................................................ D1-704 Chapter D2 External Debug Register Descriptions D2.1 General information about External debug register descriptions ...................... D2-706 D2.2 Debug registers ................................................................................................. D2-707 D2.3 Performance Monitors registers ........................................................................ D2-733 Part E Architectural Pseudocode Chapter E1 ARMv8.1 Pseudocode E1.1 About the ARMv8.1 pseudocode chapter ......................................................... E1-746 E1.2 Library pseudocode for AArch64 ....................................................................... E1-747 E1.3 Library pseudocode for AArch32 ....................................................................... E1-807 E1.4 Common library pseudocode ............................................................................ E1-875 Part F Appendixes Appendix A Notes on Using Debug and Performance Monitors F1.1 Self-hosted debug .............................................................................................. F1-952 F1.2 External debug ................................................................................................... F1-953 F1.3 Performance Monitors ........................................................................................ F1-954 DDI0557A.b Copyright ©2016 ARM Limited or its affiliates. All rights reserved. vii ID060316 Non-Confidential viii Copyright ©2016 ARM Limited or its affiliates. All rights reserved. DDI0557A.b Non-Confidential ID060316 Preface This preface introduces the ARM Architecture Reference Manual Supplement, ARMv8.1, for ARMv8-A architecture profile. It contains the following sections: • About this supplement on pagex. • Using this book on pagexi. • Conventions on pagexiv. • Additional reading on pagexv. • Feedback on pagexvi. DDI0557A.b Copyright ©2016 ARM Limited or its affiliates. All rights reserved. ix ID060316 Non-Confidential Preface About this supplement About this supplement This supplement describes the changes that are introduced by ARM® architecture v8.1, ARMv8.1. For a summary of these changes, see ChapterA1 Introduction. This supplement must be read with the latest version of the ARM® Architecture Reference Manual, ARMv8, for ARMv8-A architecture profile. For more information about the information included in this supplement, and how this supplement relates to the ARM® Architecture Reference Manual, ARMv8, for ARMv8-A architecture profile, see About this ARMv8.1 supplement on pageA1-20. Some sections from the ARM® Architecture Reference Manual, ARMv8, for ARMv8-A architecture profile have been included in this supplement to complement instruction and register descriptions. This manual is organized into parts as described in Using this book on pagexi. x Copyright ©2016 ARM Limited or its affiliates. All rights reserved. DDI0557A.b Non-Confidential ID060316

Description:
This supplement must be read with the latest version of the ARM® Architecture Reference Manual, ARMv8, for. ARMv8-A architecture profile. For more
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.