Ugrás a tartalomhoz

AArch64

Ellenőrzött
A Wikipédiából, a szabad enciklopédiából
(ARMv8.2-A szócikkből átirányítva)

Az AArch64 vagy ARM64 az ARM architektúra család 64 bites kiterjesztése, az ARMv8 utasításkészlet-architektúra 64 bites végrehajtási állapota.

Armv8-A platform Cortex-A57/A53 MPCore big.LITTLE CPU csippel

Elsőként az ARMv8-A architektúrával együtt mutatták be. Az architektúrához az ARM minden évben új kiterjesztést ad ki.[1]

ARMv8.x és ARMv9.x kiterjesztések és jellemzőik

[szerkesztés | forrásszöveg szerkesztése]

A 2011 októberében bejelentett[2] ARMv8-A alapvető változást jelent az ARM architektúrában. Ebben jelent meg az új opcionális 64 bites „AArch64” elnevezésű végrehajtási mód és a hozzá tartozó új „A64” utasításkészlet.

Az AArch64 felhasználói tér-beli kompatibilitást biztosít a meglévő 32 bites architektúrával („AArch32” / ARMv7-A) és utasításkészlettel („A32”). A 32/16 bites Thumb utasításkészletet „T32”-nek nevezik, és nincs 64 bites megfelelője. Az ARMv8-A lehetővé teszi a 32 bites alkalmazások futtatását 64 bites operációs környezetben, és a 32 bites programfuttatást egy 64 bites hypervisor felügyelete alatt.[3] Az ARM 2012. október 30-án jelentette be a Cortex-A53 és a Cortex-A57 magokat.[4] Az Apple volt az első, amely ARMv8-A kompatibilis magot alkalmazott (Cyclone) egy fogyasztói termékben (iPhone 5S). Az ARMv8-A rendszert az AppliedMicro félvezetőgyártó demonstrálta elsőként egy FPGA-n.[5] A Samsung a Galaxy Note 4-be épített először ARMv8-A típusú SoC-t, ez a 2014-ben megjelent Exynos 5433 rendszercsip, amely két, négy Cortex-A57 és négy Cortex-A53 magból álló klasztert tartalmaz big.LITTLE konfigurációban, de ez csak AArch32 módban működik.[6]

Az ARM az ARMv8-A-tól kezdve kötelezővé tette a VFPv3/v4 és fejlett SIMD (Neon) használatát mind az AArch32, mind az AArch64 architektúrákban, valamint újabb utasításokat adott az AES, SHA-1/SHA-256 és véges testek feletti aritmetikát támogató készlethez.[7]

Elnevezési konvenciók

[szerkesztés | forrásszöveg szerkesztése]
  • 64 + 32 bites
    • Architektúra: AArch64
    • Specifikáció: ARMv8-A
    • Utasításkészletek: A64 + A32
    • Utótagok: v8-A
  • 32 + 16 bites (Thumb)
    • Architektúra: AArch32
    • Specifikáció: ARMv8-R / ARMv7-A
    • Utasításkészletek: A32 + T32
    • Utótagok: -A32 / -R / v7-A
    • Példa: ARMv8-R, Cortex-A32[8]
  • Új utasításkészlet, A64
    • 31 általános célú 64 bites regiszterrel rendelkezik.
    • Dedikált nulla (zr) és veremmutató (sp) regiszter.
    • A programszámláló (pc) regiszter már közvetlenül nem elérhető.
    • Az utasítások mindig 32 bitesek, és többnyire megegyeznek az A32-beliekkel (az LDM/STM regiszterbetöltő-tároló utasítások, a PUSH/POP és a feltételes végrehajtású utasítások – néhány kivételtől eltekintve – megszűntek).
      • Páros betöltő/tároló utasításokkal rendelkezik (LDM/STM helyett LDP/STP).
      • A legtöbb utasításhoz nincs feltételes végrehajtás (predication), kivéve az elágazásokat.
    • A legtöbb utasítás 32 vagy 64 bites argumentumokat kaphat.
    • A címeket 64 bitesként kezeli.
  • Továbbfejlesztett SIMD (Neon)
    • Külön 32 db. 128 bites regiszterrel rendelkezik (korábban 16), amelyek a VFPv4-ben is elérhetőek.
    • Támogatja a dupla pontosságú lebegőpontos formátumot.
    • Teljesen IEEE 754 kompatibilis.
    • Új kriptográfiai utasítások (AES, SHA-1, SHA-256 számításához) és polinom-szorzás.
  • Új kivételkezelő rendszer
    • Kevesebb bankolt regiszter és üzemmód.
  • Memória-címfordítás 48 bites virtuális címekről a létező Large Physical Address Extension (LPAE) alapján, amelyet úgy terveztek, hogy könnyen bővíthető legyen 64 bitesre.

Kiterjesztés: Adatgyűjtési tipp (ARMv8.0-DGH, data gathering hint utasítás)

Az AArch64-et az ARMv8-A architektúra-kiadásban vezették be, és az ARMv8-A későbbi verziói is tartalmazzák. Választható elemként az ARMv8-R-ben is bevezették, miután az ARMv8-A-ban megjelent; az ARMv8-M nem tartalmazza.

Az A64 utasítások csoportokba vannak szervezve, ezek kiválasztására szolgálnak a fő műveleti kódrész 25–28. bitjei.

A64-es utasításformátumok
típus bit
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Fenntartott op0 0000 op1 közvetlen állandó 16 bit
Nem kiosztott 0001
SVE utasítások 0010
Nem kiosztott 0011
Adatfeldolgozás – közvetlen PC-relatív op immlo 10000 immhi Rd
Adatfeldolgozás – közvetlen egyéb sf 100 01-11 Rd
Elágazások + Rendszerutasítások op0 101 op1 op2
Betöltő és tároló utasítások op0 1 op1 0 op2 op3 op4
Adatfeldolgozás – regiszter sf op0 op1 101 op2 op3
Adatfeldolgozás – Lebegőpontos és SIMD op0 111 op1 op2 op3
  • immlo: közvetlen érték alacsony része
  • immhi: közvetlen érték magas része

2014 decemberében jelentették be az ARMv8.1-A kiegészítést,[9] amely „a v8.0-hoz képest többletelőnyöket” nyújt. A fejlesztések két kategóriába sorolhatók: az utasításkészlet módosításai, valamint a kivételmodell és a memóriafordítás módosításai.

Az utasításkészlet fejlesztései a következők voltak:

  • AArch64 atomi olvasó-író utasítások készlete.
  • Az AArch32 és az AArch64 Advanced SIMD utasításkészletének kiegészítései, amelyek lehetővé tesznek bizonyos könyvtári optimalizálási lehetőségeket:
    • Signed Saturating Rounding Doubling Multiply Accumulate returning High Half (SQRDMLAH utasítás, előjeles telített kerekítés kétszerező szorzás-összeadás, magas fél visszaadása)
    • Signed Saturating Rounding Doubling Multiply Subtract returning High Half (SQRDMLSH, előjeles telített kerekítés kétszerező szorzás-kivonás, magas fél visszaadása)
    • Az utasítások vektor és skalár paramétereket kaphatnak.
  • AArch64 betöltő és tároló utasítások készlete, amely a memória hozzáférési sorrendjét konfigurálható címtartományokra korlátozva biztosíthatja.
  • A v8.0-ban opcionális CRC utasítások az ARMv8.1-ban kötelezővé váltak.

A kivételmodell és a memóriafordítási rendszer fejlesztései a következők voltak:

  • Egy új Privileged Access Never (PAN) állapotbit olyan vezérlést biztosít, amely szabályozza a felhasználói adatokhoz történő kiváltságos hozzáférést.
  • Megnövelt VMID-tartomány a virtualizációhoz; nagyobb számú virtuális gép támogatása.
  • A laptábla-hozzáférési jelző hardveres frissítésének opcionális támogatása és egy opcionális, hardveresen frissített, piszkos bit mechanizmus szabványosítása.
  • A Virtualization Host Extensions (VHE). Ezek a kiterjesztések javítják a 2-es típusú hipervizorok teljesítményét, csökkentve a gazdagép és a vendég operációs rendszer közötti váltás során felmerülő szoftverterhelést. A kiterjesztések lehetővé teszik, hogy a gazda operációs rendszer EL2-n fusson, ne EL1-en, lényeges módosítás nélkül.
  • Mechanizmus, amely felszabadít néhány fordítótábla-bitet az operációs rendszer számára, mikor az operációs rendszernek nincs szüksége a hardver támogatására.
  • A felső bájt figyelmen kívül hagyása memóriacímkézéshez.[10]

2016 januárjában jelentették be az ARMv8.2-A-t.[11] Benne a fejlesztések négy kategóriába sorolhatók:

  • Választható félpontos lebegőpontos adatfeldolgozás (a félpontos formátum eddig csak tárolási formátumként volt támogatva, a feldolgozásban nem)
  • Memóriamodell fejlesztések
  • A megbízhatósági, rendelkezésre állási és szervizelhetőségi bővítmény (RAS bővítmény) bevezetése
  • A statisztikai profilozás bevezetése

Scalable Vector Extension (SVE)

[szerkesztés | forrásszöveg szerkesztése]

A Scalable Vector Extension (SVE) az ARMv8.2-A és újabb architektúrák opcionális kiterjesztése, melyet kifejezetten a nagy teljesítményű számítástechnikában előforduló tudományos munkafolyamatok vektorizálásához fejlesztettek ki.[12][13] A specifikáció lehetővé teszi a 128 és 2048 bit közötti változó vektorhosszúságok megvalósítását. A kiterjesztés kiegészíti a NEON bővítményeket, és nem helyettesíti azokat.

Egy 512 bites SVE-változatot már megvalósítottak a Fugaku szuperszámítógépen a Fujitsu A64FX ARM processzor segítségével. Ez a világ legnagyobb teljesítményű szuperszámítógépének szerepére pályázott, „teljes körű működését” 2021 körülre tervezték.[14] Egy rugalmasabb változatát, a 2x256 SVE-t az AWS Graviton3 ARM processzorban valósították meg.

Az SVE-t támogatja a GCC fordító: a GCC 8-ban megjelent az automatikus vektorizálás[13] a GCC 10-ben pedig a C intrinsic függvények támogatása. 2020 júliusától az LLVM és a clang is támogatja a C és az IR intrinsic függvényeket.[15] Az ARM saját LLVM forkja szintén támogatja az automatikus vektorizálást.[16]

2016 októberében jelentették be az ARMv8.3-A-t. Ebben a fejlesztések hat kategóriába sorolhatók:[17]

  • Mutató hitelesítés[18] (csak AARch64); kötelező kiterjesztése (új blokkrejtjel, a QARMA[19] alapján) az architektúrára (a fordítóknak ki kell használniuk a biztonsági funkciót, de mivel az utasítások NOP térben vannak, visszafelé kompatibilisek, bár nem nyújtanak extra biztonságot a régebbi chipeken).
  • Beágyazott virtualizáció (csak AARch64)
  • Fejlett SIMD komplex számok támogatása (AArch64 és AArch32); pl. 90 fokos elforgatások.
  • Új FJCVTZS utasítás (lebegőpontos JavaScript konvertálás előjeles fixpontosra, nulla felé kerekítéssel).[20]
  • Változás a memória konzisztenciamodelljében (csak AARch64); a C++11/C11 (nem alapértelmezett) gyengébb RCpc (Release Consistent processor consistent) modelljének támogatására (az alapértelmezett C++11/C11 konzisztenciamodellt már az előző ARMv8 is támogatta).
  • Azonosító mechanizmus támogatása nagyobb, rendszer által látható gyorsítótárak számára (AArch64 és AArch32)

Az ARMv8.3-A architektúrát a GCC fordító a 7. verziótól kezdve támogatja.[21]

2017 novemberében jelentették be az ARMv8.4-A-t. A fejlesztések áttekintése:[22][23][24]

  • SHA3 / SHA512 / SM3 / SM4 kriptográfiai bővítmények
  • Továbbfejlesztett virtualizációs támogatás
  • Memóriaparticionálás és -felügyelet (MPAM) képességek
  • Új Secure EL2 állapot és aktivitásfigyelők
  • Előjeles és előjel nélküli egész skaláris szorzat (SDOT és UDOT) utasítások.

2018 szeptemberében jelentették be az ARMv8.5-A-t. A fejlesztések az alábbiak:[26][27]

  • Memóriacímkéző kiterjesztés (Memory Tagging Extension, MTE)[28]
  • Branch Target Indicators (BTI) utasítás, végrehajtási védelem céljaira a kódban.
  • Véletlenszám-generátor utasítások – „különböző nemzeti és nemzetközi szabványoknak megfelelő determinisztikus és valódi véletlen számok biztosítása”

2019. augusztus 2-án a Google bejelentette, hogy Android operációs rendszerében bevezeti a Memory Tagging Extension (MTE, memóriacímkéző kiterjesztés) bővítményt.[29]

2021 márciusában jelentették be az ARMv9-A-t. Az ARMv9-A alapját az ARMv8.5 összes szolgáltatása képezi.[30][31][32] Az ARMv9-A kiegészítései:

  • Scalable Vector Extension 2 (SVE2). Az SVE2 az SVE skálázható vektorizálására épít a megnövelt finomszemcsés adatszintű párhuzamosság (DLP) érdekében, így több munkavégzést tesz lehetővé utasításonként. Az SVE2 célja, hogy ezeket az előnyöket a szoftverek szélesebb körébe hozza, beleértve a DSP-t és a multimédiás SIMD kódot, melyek jelenleg NEON-t használnak.[33] Az LLVM / Clang 9.0 és a GCC 10.0 fejlesztői kódok frissítéseibe bekerült az SVE2 támogatás.[33][34]
  • Tranzakciós memória kiterjesztés (TME). Az x86-os Transactional Synchronization Extensions kiterjesztéseket követően a TME támogatja a hardveres tranzakciós memóriát (HTM) és a Transactional Lock Elision (TLE) mechanizmust. A TME célja a méretezhető párhuzamosság létrehozása a durvaszemcsés szálszintű párhuzamosság (TLP) növelése érdekében, hogy több munkavégzést tegyen lehetővé szálanként.[33] Az LLVM / Clang 9.0 és GCC 10.0 fejlesztői kódokat frissítették a TME támogatásához.[34]
  • Confidential Compute Architecture (CCA, bizalmas számítási architektúra)[35][36]

2019 szeptemberében jelentették be az ARMv8.6-A-t. Ebben a fejlesztések a következők:[37]

  • Általános mátrixszorzás (GEMM)
  • A bfloat16 formátum támogatása
  • SIMD mátrixkezelő utasítások, BFDOT, BFMMLA, BFMLAL és BFCVT
  • fejlesztések a virtualizáció, a rendszerfelügyelet és a biztonság terén
  • és a következő kiterjesztések (ezeket az LLVM 11 már támogatta):[38]
    • Továbbfejlesztett számlálóvirtualizáció (Enhanced Counter Virtualization, ARMv8.6-ECV)
    • Finomszemcsés csapdák (Fine-Grained Traps, ARMv8.6-FGT)
    • Aktivitásmonitorok virtualizációja (ARMv8.6-AMU)

Például finomszemcsés csapdák, Wait-for-Event (WFE) utasítások, EnhancedPAC2 és FPAC. Az SVE és a NEON bfloat16 bővítményei elsősorban a mélytanulásban való felhasználásra szolgálnak.[39]

2020 szeptemberében jelentették be az ARMv8.7-A-t. Fontosabb fejlesztései a következők:[40]

  • Scalable Matrix Extension (SME) (csak ARMv9.2).[41] Az SME új funkciókat ad a mátrixok hatékony feldolgozásához, mint például:
    • Mátrix csempe tárolás
    • Gyors mátrixtranszponálás
    • Csempevektorok betöltése/tárolása/beszúrása/kivonása
    • SVE vektorok mátrix külső szorzata
    • Streaming módú SVE
  • Továbbfejlesztett támogatás a PCIe hot plughoz (AArch64)
  • Atomi 64 bájtos betöltés és tárolás a gyorsítókhoz (AArch64)
  • Wait For Instruction (WFI) és Wait For Event (WFE) utasítások időtúllépéssel (AArch64)
  • Branch-Record felvétel (csak ARMv9.2)

2021 szeptemberében jelentették be az ARMv8.8-A és ARMv9.3-A verziót. Fejlesztései az alábbiak:[42]

  • Nem maszkolható megszakítások (AArch64)
  • Utasítások a memcpy() és memset() típusú műveletek optimalizálásához (AArch64)
  • A PAC továbbfejlesztései (AArch64)
  • Súgóval segített (hinted) feltételes elágazások (AArch64)

Az LLVM 15 támogatja az ARMv8.8-A és ARMv9.3-A utasításkészleteket.[43]

ARMv8.9-A és ARMv9.4-A

[szerkesztés | forrásszöveg szerkesztése]

2022 szeptemberében jelentették be az ARMv8.9-A és ARMv9.4-A verziókat, az alábbi jellemzőkkel:[44]

  • A Virtual Memory System Architecture (VMSA) továbbfejlesztései
    • Engedélyközvetítés és átfedések
    • Translation hardening: címfordító táblák biztonságának növelése, behatolás elleni védelem erősítése céljából
    • 128 bites fordítótáblák (csak ARMv9)
  • Scalable Matrix Extension 2 (SME2) (csak ARMv9)
    • Többvektoros utasítások
    • Többvektoros predikátumok
    • 2b/4b súlytömörítés (pl. neurális hálózatokban alkalmazott technika)
    • 1b bináris hálózatok
    • Tartomány előzetes lehívása
  • Guarded Control Stack (GCS) (csak ARMv9)
  • Bizalmas számítástechnika
    • Memóriatitkosítási környezetek
    • Eszköz-hozzárendelés

Armv8-R (valós idejű architektúra)

[szerkesztés | forrásszöveg szerkesztése]

Az Armv8-R profilt opcionális AArch64 támogatással bővítették; az első Arm mag, amely ezt megvalósítja Cortex-R82.[45] Ez lehetővé teszi az A64 utasításkészlet használatát, kisebb változtatásokkal a memóriakorlát-utasításokban (fence?).[46]

  1. ↑ "Overview". Learn the architecture: Understanding the Armv8.x and Armv9.x extensions.
  2. ↑ "ARM Discloses Technical Details Of The Next Version Of The ARM Architecture" (Press release). Arm Holdings. 2011. október 27. 2019. január 1. dátummal az eredeti címről archiválva. Hozzáférés: 2013. szeptember 20.
  3. ↑ Grisenthwaite, Richard (2011). "ARMv8-A Technology Preview" (PDF). 2011. november 11. dátummal az eredeti (PDF) címről archiválva. Hozzáférés: 2011. október 31.
  4. ↑ "ARM Launches Cortex-A50 Series, the World's Most Energy-Efficient 64-bit Processors" (Press release). Arm Holdings. Hozzáférés: 2012. október 31.
  5. ↑ "AppliedMicro Showcases World's First 64-bit ARM v8 Core" (Press release). AppliedMicro. 2011. október 28. Hozzáférés: 2014. február 11.
  6. ↑ "Samsung's Exynos 5433 is an A57/A53 ARM SoC". AnandTech. 2019. május 11. dátummal az eredeti címről archiválva. Hozzáférés: 2014. szeptember 17.
  7. ↑ "ARM Cortex-A53 MPCore Processor Technical Reference Manual: Cryptography Extension". ARM. Hozzáférés: 2016. szeptember 11.
  8. ↑ "Cortex-A32 Processor – ARM". Hozzáférés: 2016. december 18.
  9. ↑ Brash, David (2014. december 2.). "The ARMv8-A architecture and its ongoing development". Hozzáférés: 2015. január 23.
  10. ↑ "Top-byte ignore (TBI)". WikiChip. 2021. augusztus 15. dátummal az eredeti címről archiválva. Hozzáférés: 2023. május 5.
  11. ↑ Brash, David (2016. január 5.). "ARMv8-A architecture evolution". Hozzáférés: 2016. június 7.
  12. ↑ "The scalable vector extension sve for the ARMv8 a architecture". Arm Community (angol nyelven). 2016. augusztus 22. Hozzáférés: 2018. július 8.
  13. 1 2 "GCC 8 Release Series – Changes, New Features, and Fixes – GNU Project – Free Software Foundation (FSF)". gcc.gnu.org (angol nyelven). Hozzáférés: 2018. július 9.
  14. ↑ "Fujitsu Completes Post-K Supercomputer CPU Prototype, Begins Functionality Trials – Fujitsu Global". www.fujitsu.com (Press release) (angol nyelven). Hozzáférés: 2018. július 8.
  15. ↑ IR = intermediate representation. Az LLVM IR egy alacsony szintű köztes reprezentáció, amelyet az LLVM fordító keretrendszer használ. Az LLVM IR-t úgy lehet elképzelni, mint egy platformfüggetlen assembly nyelvet, végtelen számú függvény lokális regiszterrel.
  16. ↑ "⚙ D71712 Downstream SVE/SVE2 implementation (LLVM)". reviews.llvm.org.
  17. ↑ David Brash (2016. október 26.). "ARMv8-A architecture – 2016 additions".
  18. ↑ "[Ping~,AArch64] Add commandline support for -march=armv8.3-a". 2021. február 26. dátummal az eredeti címről archiválva. Hozzáférés: 2023. május 5.. pointer authentication extension is defined to be mandatory extension on ARMv8.3-A and is not optional
  19. ↑ "Qualcomm releases whitepaper detailing pointer authentication on ARMv8.3". 2017. január 10.
  20. ↑ "A64 Floating-point Instructions: FJCVTZS". arm.com. Hozzáférés: 2019. július 11.
  21. ↑ "GCC 7 Release Series – Changes, New Features, and Fixes". The ARMv8.3-A architecture is now supported. It can be used by specifying the -march=armv8.3-a option. [..] The option -msign-return-address= is supported to enable return address protection using ARMv8.3-A Pointer Authentication Extensions.
  22. ↑ "Introducing 2017's extensions to the Arm Architecture". community.arm.com (angol nyelven). Hozzáférés: 2019. június 15.
  23. ↑ "Exploring dot product machine learning". community.arm.com (angol nyelven). Hozzáférés: 2019. június 15.
  24. ↑ "ARM Preps ARMv8.4-A Support For GCC Compiler – Phoronix". www.phoronix.com (angol nyelven). Hozzáférés: 2018. január 14.
  25. 1 2 3 4 "ARMv8.x and ARMv9.x extensions and features". Learn the architecture: Understanding the ARMv8.x and ARMv9.x extensions.
  26. ↑ "Arm Architecture ARMv8.5-A Announcement – Processors blog – Processors – Arm Community". community.arm.com (angol nyelven). Hozzáférés: 2019. április 26.
  27. ↑ "Arm Architecture Reference Manual ARMv8, for ARMv8-A architecture profile". ARM Developer (angol nyelven). Hozzáférés: 2019. augusztus 6.
  28. ↑ "Arm MTE architecture: Enhancing memory safety". community.arm.com (angol nyelven). Hozzáférés: 2021. július 27.
  29. ↑ "Adopting the Arm Memory Tagging Extension in Android". Google Online Security Blog (angol nyelven). Hozzáférés: 2019. augusztus 6.
  30. ↑ "Arm's solution to the future needs of AI, security and specialized computing is v9". Arm | The Architecture for the Digital World (angol nyelven). Hozzáférés: 2021. július 27.
  31. ↑ Schor, David (2021. március 30.). "Arm Launches ARMv9". WikiChip Fuse (amerikai angol nyelven). 2021. július 27. dátummal az eredeti címről archiválva. Hozzáférés: 2021. július 27.
  32. ↑ Frumusanu, Andrei. "Arm Announces ARMv9 Architecture: SVE2, Security, and the Next Decade". www.anandtech.com. 2021. március 30. dátummal az eredeti címről archiválva. Hozzáférés: 2021. július 27.
  33. 1 2 3 "Arm releases SVE2 and TME for A-profile architecture – Processors blog – Processors – Arm Community". community.arm.com (angol nyelven). Hozzáférés: 2019. május 25.
  34. 1 2 "Arm SVE2 Support Aligning For GCC 10, LLVM Clang 9.0 – Phoronix". www.phoronix.com. Hozzáférés: 2019. május 26.
  35. ↑ "Unlocking the power of data with Arm CCA". community.arm.com (angol nyelven). Hozzáférés: 2021. július 27.
  36. ↑ "Arm Introduces Its Confidential Compute Architecture". WikiChip Fuse (amerikai angol nyelven). 2021. június 23. 2021. július 27. dátummal az eredeti címről archiválva. Hozzáférés: 2021. július 27.
  37. ↑ "Arm A profile architecture update 2019". community.arm.com (angol nyelven). Hozzáférés: 2019. szeptember 26.
  38. ↑ "LLVM 11.0.0 Release Notes". releases.llvm.org. Hozzáférés: 2021. március 11.
  39. ↑ "BFloat16 extensions for ARMv8-A". community.arm.com (angol nyelven). Hozzáférés: 2019. augusztus 30.
  40. ↑ Weidmann, Martin (2020. szeptember 21.). "Arm A-Profile Architecture Developments 2020". community.arm.com. ARM. Hozzáférés: 2022. szeptember 28.
  41. ↑ "Scalable Matrix Extension for the ARMv9-A Architecture". community.arm.com (angol nyelven). Hozzáférés: 2021. július 27.
  42. ↑ Weidmann, Martin (2021. szeptember 8.). "Arm A-Profile Architecture Developments 2021". community.arm.com. ARM. Hozzáférés: 2022. szeptember 28.
  43. ↑ "What is New in LLVM 15? - Architectures and Processors blog - Arm Community blogs - Arm Community". Hozzáférés: 2023. április 15.
  44. ↑ "Arm A-Profile Architecture Developments 2022 - Architectures and Processors blog - Arm Community blogs - Arm Community". community.arm.com (angol nyelven). Hozzáférés: 2022. december 9.
  45. ↑ Frumusanu, Andrei (2020. szeptember 3.). "ARM Announced Cortex-R82: First 64-bit Real Time Processor". AnandTech. 2020. szeptember 3. dátummal az eredeti címről archiválva. Hozzáférés: 2023. május 5.
  46. ↑ "Arm Architecture Reference Manual Supplement - Armv8, for Armv8-R AArch64 architecture profile". Arm Ltd.

Ez a szócikk részben vagy egészben az AArch64 című angol Wikipédia-szócikk ezen változatának fordításán alapul. Az eredeti cikk szerkesztőit annak laptörténete sorolja fel. Ez a jelzés csupán a megfogalmazás eredetét és a szerzői jogokat jelzi, nem szolgál a cikkben szereplő információk forrásmegjelöléseként.

További információk

[szerkesztés | forrásszöveg szerkesztése]

Kapcsolódó szócikkek

[szerkesztés | forrásszöveg szerkesztése]