From WikiChip
Difference between revisions of "arm/armv8.1"
< arm

(Adding initial take on ARMv8.1 extensions.)
 
(Optional Features in ARMv8.1)
 
(3 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 +
{{arm title|ARMv8.1}}{{arm isa main}}
 
ARMv8.1 is an extension to {{\\|ARMv8}}, an [[ARM]] [[instruction set architecture]] which brought a large number of fundamental changes to the instruction set, including the introduction of 64-bit operating capabilities.
 
ARMv8.1 is an extension to {{\\|ARMv8}}, an [[ARM]] [[instruction set architecture]] which brought a large number of fundamental changes to the instruction set, including the introduction of 64-bit operating capabilities.
  
Line 7: Line 8:
 
* Large System Extensions (LSE)
 
* Large System Extensions (LSE)
 
** New atomic instructions to support scalable performance:
 
** New atomic instructions to support scalable performance:
** Most of the following have optional load-acquire and/or store-release semantics
+
** Instructions for full-word, half-word, and byte operations are available.
 +
** Most of the following have optional load-acquire and/or store-release semantics.
 
*** Compare and Swap: CAS, CASP (up to 128-bit values).
 
*** Compare and Swap: CAS, CASP (up to 128-bit values).
 
*** Atomic Memory Operations: ADD, CLR, EOR, SET, MAX (signed/unsigned), MIN (signed/unsigned).
 
*** Atomic Memory Operations: ADD, CLR, EOR, SET, MAX (signed/unsigned), MIN (signed/unsigned).
 
**** LD<op> versions return the value of the updated memory (LDADD for example).
 
**** LD<op> versions return the value of the updated memory (LDADD for example).
 
**** ST<op> versions are "fire-and-forget" (STADD for example).
 
**** ST<op> versions are "fire-and-forget" (STADD for example).
**** Instructions for full-word, half-word, and byte operations are available.
+
*** SWAP
 
* Rounding Double Multiply Add/Subtract instruction (RDMA)
 
* Rounding Double Multiply Add/Subtract instruction (RDMA)
 
* Limited Ordering Regions (LOR)
 
* Limited Ordering Regions (LOR)
Line 20: Line 22:
 
== Optional Features in ARMv8.1 ==
 
== Optional Features in ARMv8.1 ==
 
* Hierarchical permission disables (HPD)
 
* Hierarchical permission disables (HPD)
* 16-bute VMID (VMID16)
+
* 16-bit VMID (VMID16)
 
* PMU Extensions (PMU)
 
* PMU Extensions (PMU)

Latest revision as of 10:38, 16 January 2020

v · d · e
ARM ISA
General
Variants
Extensions
Topics
Versions(all)

ARMv8.1 is an extension to ARMv8, an ARM instruction set architecture which brought a large number of fundamental changes to the instruction set, including the introduction of 64-bit operating capabilities.

Mandatory Features from ARMv8.0[edit]

  • CRC32 was optional in ARMv8.0, now mandatory.

Mandatory Features in ARMv8.1[edit]

  • Large System Extensions (LSE)
    • New atomic instructions to support scalable performance:
    • Instructions for full-word, half-word, and byte operations are available.
    • Most of the following have optional load-acquire and/or store-release semantics.
      • Compare and Swap: CAS, CASP (up to 128-bit values).
      • Atomic Memory Operations: ADD, CLR, EOR, SET, MAX (signed/unsigned), MIN (signed/unsigned).
        • LD<op> versions return the value of the updated memory (LDADD for example).
        • ST<op> versions are "fire-and-forget" (STADD for example).
      • SWAP
  • Rounding Double Multiply Add/Subtract instruction (RDMA)
  • Limited Ordering Regions (LOR)
  • Privileged access never (PAN)
  • Virtualization Host Extensions (VHE)

Optional Features in ARMv8.1[edit]

  • Hierarchical permission disables (HPD)
  • 16-bit VMID (VMID16)
  • PMU Extensions (PMU)