AArch64 veya ARM64, ARM mimari ailesinin 64-bit uzantısıdır.
İlk olarak Armv8-A mimarisi ile tanıtıldı. Arm her yıl yeni bir uzantı yayınlar.
Armv8.x ve Armv9.x uzantıları ve özellikleri
Ekim 2011'de duyurulan Armv8-A, ARM mimarisinde temel bir değişikliği temsil etmektedir. "AArch64" adlı isteğe bağlı bir 64 bit mimari ve ilişkili yeni "A64" komut kümesi ekler. AArch64, mevcut 32 bit mimari ("AArch32" / Armv7-A) ve komut seti ("A32") ile kullanıcı alanı uyumluluğu sağlar. 16-32bit Thumb komut seti "T32" olarak anılır ve 64-bit karşılığı yoktur. Armv8-A, 32 bit uygulamaların 64 bit işletim sisteminde yürütülmesine ve 32 bit işletim sisteminin 64 bit hipervizörün kontrolü altında olmasına izin verir. ARM, Cortex-A53 ve Cortex-A57 çekirdeklerini 30 Ekim 2012'de duyurdu. Apple, bir tüketici ürününde (iPhone 5S) Armv8-A uyumlu bir çekirdek (Cyclone) yayınlayan ilk şirket oldu. AppliedMicro, bir FPGA kullanarak, Armv8-A'nın demosunu yapan ilk kurumdur. Samsung'un ilk Armv8-A SoC'si, Galaxy Note 4'te kullanılan ve büyük bir dört Cortex-A57 ve Cortex-A53 çekirdekli iki kümeye sahip Exynos 5433'tür. big.LITTLE konfigürasyon; ancak yalnızca AArch32 modunda çalışacaktır.
Hem AArch32 hem de AArch64 için Armv8-A, VFPv3/v4 ve gelişmiş SIMD (Neon) standardı yapar. Ayrıca AES, SHA-1 / SHA-256 ve sonlu alan aritmetiğini destekleyen kriptografi talimatları da ekler.
Adlandırma kuralları
- 64 + 32 bit
- Mimari: AArch64
- Özellikler: Armv8-A
- Komut setleri: A64 + A32
- Son ekler: v8-A
- 32 + 16 (Başparmak) bit
- Mimari: AArch32
- Özellikler: Armv8-R / Armv7-A
- Komut setleri: A32 + T32
- Son ekler: -A32 / -R / v7-A
- Örnek: Armv8-R, Cortex-A32
AArch64 özellikleri
- Yeni komut seti, A64
- 31 genel amaçlı 64-bit register vardır.
- Özel sıfır veya yığın işaretçisi (SP) kaydına sahiptir (talimatlara bağlı olarak).
- Program sayacına (PC) artık bir kayıt olarak doğrudan erişilebilir değildir.
- Talimatlar hala 32 bit uzunluğunda ve çoğunlukla A32 ile aynı (LDM/STM komutları ve çoğu koşullu yürütme düştü).
- Eşleştirilmiş yükler/depolar var (LDM/STM yerine).
- Çoğu talimat için tahmin yok (dallar hariç).
- Çoğu talimat, 32-bit veya 64-bit argümanlar alabilir.
- Adreslerin 64 bit olduğu varsayılmıştır.
- Gelişmiş SIMD (Neon) geliştirildi
- 32 × 128 bit kayıtlara sahiptir (16'dan yukarı), VFPv4 aracılığıyla da erişilebilir.
- Çift duyarlıklı kayan nokta biçimini destekler.
- Tamamen IEEE 754 uyumlu.
- AES şifreleme/şifre çözme ve SHA-1/SHA-2 karma yönergeleri de bu kayıtları kullanır.
- Yeni bir istisna sistemi
- Daha az bankalı kayıt ve mod.
- 64 bit'e kolayca genişletilmek üzere tasarlanmış mevcut Büyük Fiziksel Adres Uzantısını (LPAE) temel alan 48 bit sanal adreslerden bellek çevirisi.
Uzantı: Veri toplama ipucu (Armv8.0-DGH)
AArch64, Armv8-A'da tanıtıldı ve Armv8-A'nın sonraki sürümlerine dahil edildi. Ayrıca Armv8-A'daki tanıtımından sonra Armv8-R'de bir seçenek olarak tanıtıldı; Armv8-M'ye dahil değildir.
Talimat biçimleri
Bir A64 komutunun hangi gruba ait olduğunu seçmek için ana işlem kodu 25-28 bitlerindedir.
Tip | Biraz | |||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
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 | |
Rezerve | op0 | 0000 | op1 | Anında sabit 16 bit | ||||||||||||||||||||||||||||
ayrılmamış | 0001 | |||||||||||||||||||||||||||||||
SVE Talimatları | 0010 | |||||||||||||||||||||||||||||||
ayrılmamış | 0011 | |||||||||||||||||||||||||||||||
Veri İşleme — Anında PC-rel. | operasyon | immlo | 10000 | immhi | Yol | |||||||||||||||||||||||||||
Veri İşleme — Anında Diğerleri | sf | 100 | 01-11 | Yol | ||||||||||||||||||||||||||||
Şubeler + Sistem Talimatları | op0 | 101 | op1 | op2 | ||||||||||||||||||||||||||||
Yükleme ve Depolama Talimatları | op0 | 1 | op1 | 0 | op2 | op3 | op4 | |||||||||||||||||||||||||
Veri İşleme — Kayıt Ol | sf | op0 | op1 | 101 | op2 | op3 | ||||||||||||||||||||||||||
Veri İşleme — Kayan Nokta ve SIMD | op0 | 111 | op1 | op2 | op3 |
Armv8.1-A
Aralık 2014'te Armv8.1-A, "v8.0'a göre artan faydalar" içeren bir güncelleme duyuruldu. Geliştirmeler iki kategoriye ayrıldı: talimat setindeki değişiklikler ve istisna modeli ve bellek çevirisindeki değişiklikler.
Komut seti geliştirmeleri aşağıdakileri içeriyordu:
- Bir dizi AArch64 atomik okuma-yazma talimatı.
- Bazı kitaplık optimizasyonları için fırsatları etkinleştirmek için hem AArch32 hem de AArch64 için Gelişmiş SIMD komut setine eklemeler:
- İmzalı Doyurucu Yuvarlama Katlama Çarpma Birikim, Yüksek Yarıyı Döndürme.
- İmzalı Doyurucu Yuvarlama Katlama Çarpma Çıkarma, Yüksek Yarıyı Döndürme.
- Talimatlar vektör ve skaler formlarda eklenir.
- Yapılandırılabilir adres bölgeleriyle sınırlı bellek erişim sırası sağlayabilen bir dizi AArch64 yükleme ve saklama talimatı.
- v8.0'daki isteğe bağlı CRC talimatları, Armv8.1'de bir gereklilik haline gelir.
İstisna modeli ve bellek çeviri sistemi için geliştirmeler şunları içeriyordu:
- Yeni Ayrıcalıklı Erişim Asla (PAN) durum biti, açıkça etkinleştirilmedikçe kullanıcı verilerine ayrıcalıklı erişimi engelleyen kontrol sağlar.
- Sanallaştırma için artırılmış VMID aralığı; daha fazla sayıda sanal makineyi destekler.
- Sayfa tablosu erişim bayrağının donanım güncellemesi için isteğe bağlı destek ve isteğe bağlı, donanım güncelleştirilmiş, kirli bit mekanizmasının standartlaştırılması.
- Sanallaştırma Ana Bilgisayar Uzantıları (VHE). Bu geliştirmeler, Host ve Guest işletim sistemleri arasında geçiş yaparken ortaya çıkan yazılım yükünü azaltarak Tip 2 hipervizörlerin performansını iyileştirir. Uzantılar, Ana İşletim Sisteminin önemli bir değişiklik olmaksızın EL1'in aksine EL2'de çalışmasına izin verir.
- İşletim sisteminin donanım desteğine ihtiyaç duymadığı durumlarda, işletim sistemi kullanımı için bazı çeviri tablosu bitlerini serbest bırakan bir mekanizma.
- Bellek etiketleme için üst bayt yoksay.
Armv8.2-A
Ocak 2016'da Armv8.2-A duyuruldu. Geliştirmeleri dört kategoriye ayrıldı:
- İsteğe bağlı yarı kesinlikli kayan noktalı veri işleme (yarı kesinlik zaten destekleniyordu, ancak işleme için desteklenmiyor, tıpkı bir depolama biçimi olarak.)
- Bellek modeli geliştirmeleri
- Güvenilirlik, Kullanılabilirlik ve Hizmet Verilebilirlik Uzantısının (RAS Uzantısı) Tanıtımı
- İstatistiksel profil oluşturmaya giriş
Ölçeklenebilir Vektör Uzantısı (SVE)
Ölçeklenebilir Vektör Uzantısı (SVE), yüksek performanslı bilgi işlem bilimsel iş yüklerinin vektörleştirilmesi için özel olarak geliştirilmiş "ARMv8.2-A mimarisinin isteğe bağlı bir uzantısıdır ve daha yenidir". Spesifikasyon, 128 ila 2048 bit arasında değişen vektör uzunluklarının uygulanmasına izin verir. Uzantı, NEON uzantılarının tamamlayıcısıdır ve yerini almaz.
Fujitsu A64FX ARM işlemci kullanılarak Fugaku süper bilgisayarında 512 bitlik bir SVE varyantı zaten uygulandı. "2021 civarında tam operasyonlara başlama hedefi" ile dünyanın en yüksek performanslı süper bilgisayarı olmayı hedefliyor.
SVE, otomatik vektörleştirmeyi destekleyen GCC 8 ve C intrinsiklerini destekleyen GCC 10 ile GCC derleyicisi tarafından desteklenir. Temmuz 2020 itibarıyla, LLVM ve clang, C ve IR özlerini destekler. ARM'nin kendi LLVM çatalı otomatik vektörleştirmeyi destekler.
Armv8.3-A
Ekim 2016'da Armv8.3-A duyuruldu. Geliştirmeleri altı kategoriye ayrıldı:
- İşaretçi kimlik doğrulaması (yalnızca AArch64); mimariye zorunlu uzantı (yeni bir blok şifresine dayalı, QARMA ) (derleyicilerin güvenlik özelliğinden yararlanmaları gerekir, ancak talimatlar NOP alanında olduğundan, eski yongalarda ekstra güvenlik sağlamasa da geriye dönük olarak uyumludurlar).
- İç içe sanallaştırma (yalnızca AArch64)
- Gelişmiş SIMD karmaşık sayı desteği (AArch64 ve AArch32); örneğin 90 derecenin katları ile döndürmeler.
- Yeni FJCVTZS (Kayan Noktalı JavaScript'i İmzalı Sabit Noktaya Dönüştürme, Sıfıra doğru yuvarlama) talimatı.
- Bellek tutarlılık modelinde bir değişiklik (yalnızca AArch64); C++11 / C11'in (varsayılan olmayan) daha zayıf RCpc (Sürüm Tutarlı işlemci tutarlı) modelini desteklemek için (varsayılan C++11/ C11 tutarlılık modeli önceki Armv8'de zaten destekleniyordu).
- Sistem tarafından görülebilen daha büyük önbellekler için kimlik mekanizması desteği (AArch64 ve AArch32)
Armv8.3-A mimarisi artık (en azından) GCC 7 derleyicisi tarafından desteklenmektedir.
Armv8.4-A
Kasım 2017'de Armv8.4-A duyuruldu. Geliştirmeleri şu kategorilere giriyor:
- "SHA3 / SHA512 / SM3 / SM4 kripto uzantıları"
- Geliştirilmiş sanallaştırma desteği
- Bellek Bölümleme ve İzleme (MPAM) yetenekleri
- Yeni bir Güvenli EL2 durumu ve Etkinlik İzleyicileri
- İşaretli ve işaretsiz tam sayı nokta çarpımı (SDOT ve UDOT) talimatları.
Armv8.5-A ve Armv9.0-A
Eylül 2018'de Armv8.5-A duyuruldu. Geliştirmeleri şu kategorilere giriyor:
- Bellek Etiketleme Uzantısı (MTE)
- "Bir saldırganın keyfi kod yürütme yeteneğini" azaltmak için Şube Hedef Göstergeleri (BTI),
- Rastgele Sayı Üretici talimatları - "çeşitli Ulusal ve Uluslararası Standartlara uygun Deterministik ve Gerçek Rastgele Sayılar sağlamak"
2 Ağustos 2019'da Google, Android'in Bellek Etiketleme Uzantısını (MTE) benimseyeceğini duyurdu.
Mart 2021'de ARMv9-A duyuruldu. ARMv9-A'nın temeli, Armv8.5'in tüm özellikleridir. ARMv9-A ayrıca şunları da ekler:
- Ölçeklenebilir Vektör Uzantısı 2 (SVE2). SVE2, talimat başına daha fazla iş yapılmasına izin vermek için artırılmış ince taneli Veri Düzeyi Paralelliği (DLP) için SVE'nin ölçeklenebilir vektörleştirmesini temel alır. SVE2, bu faydaları DSP ve şu anda Neon kullanan multimedya SIMD kodu da dahil olmak üzere daha geniş bir yazılım yelpazesine getirmeyi amaçlamaktadır. LLVM / Clang 9.0 ve GCC 10.0 geliştirme kodları, SVE2'yi destekleyecek şekilde güncellendi.
- İşlemsel Bellek Uzantısı (TME). x86 uzantılarının ardından TME, Donanım İşlemsel Belleği (HTM) ve İşlem Kilidi Elision (TLE) için destek getiriyor. TME, iş parçacığı başına daha fazla iş yapılmasına izin vermek için kaba taneli Diş Düzeyi Paralelliğini (TLP) artırmak için ölçeklenebilir eşzamanlılık getirmeyi amaçlar. LLVM / Clang 9.0 ve GCC 10.0 geliştirme kodları, TME'yi destekleyecek şekilde güncellendi.
- Gizli Bilgi İşlem Mimarisi (CCA)
- Ölçeklenebilir Matris Uzantısı (SME). KOBİ, matrisleri verimli bir şekilde işlemek için aşağıdakiler gibi yeni özellikler ekler:
- Matris döşemesi depolama
- Anında matris aktarımı
- Döşeme vektörlerini yükleme/depolama/ekleme/çıkarma
- SVE vektörlerinin matris dış çarpımı
- "Akış modu" SVE
Armv8.6-A ve Armv9.1-A
Eylül 2019'da Armv8.6-A duyuruldu. Şunları ekler:
- Genel Matris Çarpımı (GEMM)
- Bfloat16 formatı desteği
- SIMD matris işleme talimatları, BFDOT, BFMMLA, BFMLAL ve BFCVT
- sanallaştırma, sistem yönetimi ve güvenlik için geliştirmeler
- ve aşağıdaki uzantılar (bu LLVM 11, için zaten destek eklemiştir):
- Gelişmiş Sayaç Sanallaştırması (Armv8.6-ECV)
- İnce Taneli Tuzaklar (Armv8.6-FGT)
- Activity Monitor sanallaştırması (Armv8.6-AMU)
Örneğin, ayrıntılı tuzaklar, Olayı Bekle (WFE) yönergeleri, EnhancedPAC2 ve FPAC. SVE ve Neon için Bfloat16 uzantıları, temel olarak derin öğrenme kullanımı içindir.
Armv8.7-A ve Armv9.2-A
- PCIe çalışırken takılabilir (AArch64) için gelişmiş destek
- Atomik 64 bayt yükleme ve hızlandırıcılara depolama (AArch64)
- Talimatı Bekle (WFI) ve Zaman aşımı (AArch64) ile Olayı Bekle (WFE)
- Dal Kaydı kaydı (yalnızca Armv9.2)
Armv8.8-A ve Armv9.3-A
- Maskelenemeyen kesmeler (AArch64)
- memcpy() ve memset() stili işlemleri optimize etme talimatları (AArch64)
- PAC'deki Geliştirmeler (AArch64)
- İpuçlu koşullu dallar (AArch64)
Armv8-R (gerçek zamanlı mimari)
Armv8-R profiline isteğe bağlı AArch64 desteği eklendi ve onu uygulayan ilk Arm çekirdeği Cortex-R82 oldu. Bellek bariyeri talimatlarında bazı değişikliklerle birlikte A64 komut setini ekler.
Kaynakça
- ^ "Overview". Learn the architecture: Understanding the Armv8.x and Armv9.x extensions. 20 Eylül 2022 tarihinde kaynağından . Erişim tarihi: 20 Eylül 2022.
- ^ Richard, Grisenthwaite (2011). (PDF). 11 Kasım 2011 tarihinde kaynağından (PDF) arşivlendi. Erişim tarihi: 31 Ekim 2011.
- ^ "Samsung's Exynos 5433 is an A57/A53 ARM SoC". AnandTech. 17 Eylül 2014 tarihinde kaynağından . Erişim tarihi: 17 Eylül 2014.
- ^ "ARM Cortex-A53 MPCore Processor Technical Reference Manual: Cryptography Extension". ARM. 4 Ekim 2016 tarihinde kaynağından . Erişim tarihi: 11 Eylül 2016.
- ^ "Cortex-A32 Processor – ARM". 8 Kasım 2016 tarihinde kaynağından . Erişim tarihi: 18 Aralık 2016.
- ^ Brash, David (2 Aralık 2014). "The ARMv8-A architecture and its ongoing development". 23 Ocak 2015 tarihinde kaynağından . Erişim tarihi: 23 Ocak 2015.
- ^ "Top-byte ignore (TBI)". WikiChip. 15 Ağustos 2021 tarihinde kaynağından . Erişim tarihi: 20 Eylül 2022.
- ^ Brash, David (5 Ocak 2016). "ARMv8-A architecture evolution". 6 Ağustos 2016 tarihinde kaynağından . Erişim tarihi: 7 Haziran 2016.
- ^ "The scalable vector extension sve for the Armv8 a architecture". Arm Community (İngilizce). 22 Ağustos 2016. 9 Temmuz 2018 tarihinde kaynağından . Erişim tarihi: 8 Temmuz 2018.
- ^ a b "GCC 8 Release Series – Changes, New Features, and Fixes – GNU Project – Free Software Foundation (FSF)". gcc.gnu.org (İngilizce). 29 Kasım 2018 tarihinde kaynağından . Erişim tarihi: 9 Temmuz 2018.
- ^ . www.fujitsu.com. 21 Haziran 2018 tarihinde kaynağından arşivlendi. Erişim tarihi: 14 Nisan 2023.
- ^ "⚙ D71712 Downstream SVE/SVE2 implementation (LLVM)". reviews.llvm.org. 20 Eylül 2022 tarihinde kaynağından . Erişim tarihi: 20 Eylül 2022.
- ^ David Brash (26 Ekim 2016). "ARMv8-A architecture – 2016 additions". 25 Temmuz 2021 tarihinde kaynağından . Erişim tarihi: 20 Eylül 2022.
- ^ "[Ping~,AArch64] Add commandline support for -march=armv8.3-a". 26 Şubat 2021 tarihinde kaynağından . Erişim tarihi: 20 Eylül 2022.
pointer authentication extension is defined to be mandatory extension on ARMv8.3-A and is not optional
- ^ "Qualcomm releases whitepaper detailing pointer authentication on ARMv8.3". 10 Ocak 2017. 22 Şubat 2022 tarihinde kaynağından . Erişim tarihi: 20 Eylül 2022.
- ^ "A64 Floating-point Instructions: FJCVTZS". arm.com. 29 Temmuz 2019 tarihinde kaynağından . Erişim tarihi: 11 Temmuz 2019.
- ^ "GCC 7 Release Series – Changes, New Features, and Fixes". 2 Eylül 2020 tarihinde kaynağından . Erişim tarihi: 20 Eylül 2022.
ARMv8.3-A mimarisi artık desteklenmektedir. -march=armv8.3-a seçeneği belirtilerek kullanılabilir. [..] -msign-return-address= seçeneği, ARMv8.3-A Pointer Authentication Extensions kullanarak dönüş adresi korumasını etkinleştirmek için desteklenir.
- ^ "Introducing 2017's extensions to the Arm Architecture". community.arm.com (İngilizce). 11 Temmuz 2019 tarihinde kaynağından . Erişim tarihi: 15 Haziran 2019.
- ^ "Exploring dot product machine learning". community.arm.com (İngilizce). 15 Ekim 2019 tarihinde kaynağından . Erişim tarihi: 15 Haziran 2019.
- ^ "ARM Preps ARMv8.4-A Support For GCC Compiler – Phoronix". www.phoronix.com (İngilizce). 15 Ocak 2018 tarihinde kaynağından . Erişim tarihi: 14 Ocak 2018.
- ^ a b c d "Armv8.x and Armv9.x extensions and features". Learn the architecture: Understanding the Armv8.x and Armv9.x extensions. 20 Eylül 2022 tarihinde kaynağından . Erişim tarihi: 20 Eylül 2022.
- ^ "Arm Architecture Armv8.5-A Announcement – Processors blog – Processors – Arm Community". community.arm.com (İngilizce). 26 Nisan 2019 tarihinde kaynağından . Erişim tarihi: 26 Nisan 2019.
- ^ "Arm Architecture Reference Manual Armv8, for Armv8-A architecture profile". ARM Developer (İngilizce). 6 Ağustos 2019 tarihinde kaynağından . Erişim tarihi: 6 Ağustos 2019.
- ^ "Arm MTE architecture: Enhancing memory safety". community.arm.com (İngilizce). 27 Temmuz 2021 tarihinde kaynağından . Erişim tarihi: 27 Temmuz 2021.
- ^ "Adopting the Arm Memory Tagging Extension in Android". Google Online Security Blog (İngilizce). 5 Ağustos 2019 tarihinde kaynağından . Erişim tarihi: 6 Ağustos 2019.
- ^ "Arm's solution to the future needs of AI, security and specialized computing is v9". Arm | The Architecture for the Digital World (İngilizce). 31 Mart 2021 tarihinde kaynağından . Erişim tarihi: 27 Temmuz 2021.
- ^ Schor, David (30 Mart 2021). "Arm Launches ARMv9". WikiChip Fuse (İngilizce). 27 Temmuz 2021 tarihinde kaynağından . Erişim tarihi: 27 Temmuz 2021.
- ^ Frumusanu, Andrei. "Arm Announces Armv9 Architecture: SVE2, Security, and the Next Decade". www.anandtech.com. 27 Temmuz 2021 tarihinde kaynağından . Erişim tarihi: 27 Temmuz 2021.
- ^ a b c "Arm releases SVE2 and TME for A-profile architecture – Processors blog – Processors – Arm Community". community.arm.com (İngilizce). 26 Nisan 2019 tarihinde kaynağından . Erişim tarihi: 25 Mayıs 2019.
- ^ a b "Arm SVE2 Support Aligning For GCC 10, LLVM Clang 9.0 – Phoronix". www.phoronix.com. 7 Ekim 2020 tarihinde kaynağından . Erişim tarihi: 26 Mayıs 2019.
- ^ "Unlocking the power of data with Arm CCA". community.arm.com (İngilizce). 27 Temmuz 2021 tarihinde kaynağından . Erişim tarihi: 27 Temmuz 2021.
- ^ "Arm Introduces Its Confidential Compute Architecture". WikiChip Fuse (İngilizce). 23 Haziran 2021. 27 Temmuz 2021 tarihinde kaynağından . Erişim tarihi: 27 Temmuz 2021.
- ^ "Scalable Matrix Extension for the Armv9-A Architecture". community.arm.com (İngilizce). 27 Temmuz 2021 tarihinde kaynağından . Erişim tarihi: 27 Temmuz 2021.
- ^ "Arm A profile architecture update 2019". community.arm.com (İngilizce). 26 Eylül 2019 tarihinde kaynağından . Erişim tarihi: 26 Eylül 2019.
- ^ "LLVM 11.0.0 Release Notes". releases.llvm.org. 8 Mart 2021 tarihinde kaynağından . Erişim tarihi: 11 Mart 2021.
- ^ "BFloat16 extensions for Armv8-A". community.arm.com (İngilizce). 29 Ağustos 2019 tarihinde kaynağından . Erişim tarihi: 30 Ağustos 2019.
- ^ Andrei, Frumusanu (3 Eylül 2020). "ARM Announced Cortex-R82: First 64-bit Real Time Processor". . 20 Eylül 2022 tarihinde kaynağından . Erişim tarihi: 20 Eylül 2022.
- ^ "Arm Architecture Reference Manual Supplement - Armv8, for Armv8-R AArch64 architecture profile". 20 Eylül 2022 tarihinde kaynağından . Erişim tarihi: 20 Eylül 2022.
wikipedia, wiki, viki, vikipedia, oku, kitap, kütüphane, kütübhane, ara, ara bul, bul, herşey, ne arasanız burada,hikayeler, makale, kitaplar, öğren, wiki, bilgi, tarih, yukle, izle, telefon için, turk, türk, türkçe, turkce, nasıl yapılır, ne demek, nasıl, yapmak, yapılır, indir, ücretsiz, ücretsiz indir, bedava, bedava indir, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, resim, müzik, şarkı, film, film, oyun, oyunlar, mobil, cep telefonu, telefon, android, ios, apple, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, pc, web, computer, bilgisayar
AArch64 veya ARM64 ARM mimari ailesinin 64 bit uzantisidir Cortex A57 A53 MPCore buyuk olan Armv8 A platformu LITTLE CPU cipi Ilk olarak Armv8 A mimarisi ile tanitildi Arm her yil yeni bir uzanti yayinlar Armv8 x ve Armv9 x uzantilari ve ozellikleriEkim 2011 de duyurulan Armv8 A ARM mimarisinde temel bir degisikligi temsil etmektedir AArch64 adli istege bagli bir 64 bit mimari ve iliskili yeni A64 komut kumesi ekler AArch64 mevcut 32 bit mimari AArch32 Armv7 A ve komut seti A32 ile kullanici alani uyumlulugu saglar 16 32bit Thumb komut seti T32 olarak anilir ve 64 bit karsiligi yoktur Armv8 A 32 bit uygulamalarin 64 bit isletim sisteminde yurutulmesine ve 32 bit isletim sisteminin 64 bit hipervizorun kontrolu altinda olmasina izin verir ARM Cortex A53 ve Cortex A57 cekirdeklerini 30 Ekim 2012 de duyurdu Apple bir tuketici urununde iPhone 5S Armv8 A uyumlu bir cekirdek Cyclone yayinlayan ilk sirket oldu AppliedMicro bir FPGA kullanarak Armv8 A nin demosunu yapan ilk kurumdur Samsung un ilk Armv8 A SoC si Galaxy Note 4 te kullanilan ve buyuk bir dort Cortex A57 ve Cortex A53 cekirdekli iki kumeye sahip Exynos 5433 tur big LITTLE konfigurasyon ancak yalnizca AArch32 modunda calisacaktir Hem AArch32 hem de AArch64 icin Armv8 A VFPv3 v4 ve gelismis SIMD Neon standardi yapar Ayrica AES SHA 1 SHA 256 ve sonlu alan aritmetigini destekleyen kriptografi talimatlari da ekler Adlandirma kurallari 64 32 bit Mimari AArch64 Ozellikler Armv8 A Komut setleri A64 A32 Son ekler v8 A 32 16 Basparmak bit Mimari AArch32 Ozellikler Armv8 R Armv7 A Komut setleri A32 T32 Son ekler A32 R v7 A Ornek Armv8 R Cortex A32AArch64 ozellikleri Yeni komut seti A64 31 genel amacli 64 bit register vardir Ozel sifir veya yigin isaretcisi SP kaydina sahiptir talimatlara bagli olarak Program sayacina PC artik bir kayit olarak dogrudan erisilebilir degildir Talimatlar hala 32 bit uzunlugunda ve cogunlukla A32 ile ayni LDM STM komutlari ve cogu kosullu yurutme dustu Eslestirilmis yukler depolar var LDM STM yerine Cogu talimat icin tahmin yok dallar haric Cogu talimat 32 bit veya 64 bit argumanlar alabilir Adreslerin 64 bit oldugu varsayilmistir Gelismis SIMD Neon gelistirildi 32 128 bit kayitlara sahiptir 16 dan yukari VFPv4 araciligiyla da erisilebilir Cift duyarlikli kayan nokta bicimini destekler Tamamen IEEE 754 uyumlu AES sifreleme sifre cozme ve SHA 1 SHA 2 karma yonergeleri de bu kayitlari kullanir Yeni bir istisna sistemi Daha az bankali kayit ve mod 64 bit e kolayca genisletilmek uzere tasarlanmis mevcut Buyuk Fiziksel Adres Uzantisini LPAE temel alan 48 bit sanal adreslerden bellek cevirisi Uzanti Veri toplama ipucu Armv8 0 DGH AArch64 Armv8 A da tanitildi ve Armv8 A nin sonraki surumlerine dahil edildi Ayrica Armv8 A daki tanitimindan sonra Armv8 R de bir secenek olarak tanitildi Armv8 M ye dahil degildir Talimat bicimleri Bir A64 komutunun hangi gruba ait oldugunu secmek icin ana islem kodu 25 28 bitlerindedir A64 talimat formatlari Tip Biraz31 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 0Rezerve op0 0000 op1 Aninda sabit 16 bitayrilmamis 0001SVE Talimatlari 0010ayrilmamis 0011Veri Isleme Aninda PC rel operasyon immlo 10000 immhi YolVeri Isleme Aninda Digerleri sf 100 01 11 YolSubeler Sistem Talimatlari op0 101 op1 op2Yukleme ve Depolama Talimatlari op0 1 op1 0 op2 op3 op4Veri Isleme Kayit Ol sf op0 op1 101 op2 op3Veri Isleme Kayan Nokta ve SIMD op0 111 op1 op2 op3Armv8 1 A Aralik 2014 te Armv8 1 A v8 0 a gore artan faydalar iceren bir guncelleme duyuruldu Gelistirmeler iki kategoriye ayrildi talimat setindeki degisiklikler ve istisna modeli ve bellek cevirisindeki degisiklikler Komut seti gelistirmeleri asagidakileri iceriyordu Bir dizi AArch64 atomik okuma yazma talimati Bazi kitaplik optimizasyonlari icin firsatlari etkinlestirmek icin hem AArch32 hem de AArch64 icin Gelismis SIMD komut setine eklemeler Imzali Doyurucu Yuvarlama Katlama Carpma Birikim Yuksek Yariyi Dondurme Imzali Doyurucu Yuvarlama Katlama Carpma Cikarma Yuksek Yariyi Dondurme Talimatlar vektor ve skaler formlarda eklenir Yapilandirilabilir adres bolgeleriyle sinirli bellek erisim sirasi saglayabilen bir dizi AArch64 yukleme ve saklama talimati v8 0 daki istege bagli CRC talimatlari Armv8 1 de bir gereklilik haline gelir Istisna modeli ve bellek ceviri sistemi icin gelistirmeler sunlari iceriyordu Yeni Ayricalikli Erisim Asla PAN durum biti acikca etkinlestirilmedikce kullanici verilerine ayricalikli erisimi engelleyen kontrol saglar Sanallastirma icin artirilmis VMID araligi daha fazla sayida sanal makineyi destekler Sayfa tablosu erisim bayraginin donanim guncellemesi icin istege bagli destek ve istege bagli donanim guncellestirilmis kirli bit mekanizmasinin standartlastirilmasi Sanallastirma Ana Bilgisayar Uzantilari VHE Bu gelistirmeler Host ve Guest isletim sistemleri arasinda gecis yaparken ortaya cikan yazilim yukunu azaltarak Tip 2 hipervizorlerin performansini iyilestirir Uzantilar Ana Isletim Sisteminin onemli bir degisiklik olmaksizin EL1 in aksine EL2 de calismasina izin verir Isletim sisteminin donanim destegine ihtiyac duymadigi durumlarda isletim sistemi kullanimi icin bazi ceviri tablosu bitlerini serbest birakan bir mekanizma Bellek etiketleme icin ust bayt yoksay Armv8 2 A Ocak 2016 da Armv8 2 A duyuruldu Gelistirmeleri dort kategoriye ayrildi Istege bagli yari kesinlikli kayan noktali veri isleme yari kesinlik zaten destekleniyordu ancak isleme icin desteklenmiyor tipki bir depolama bicimi olarak Bellek modeli gelistirmeleri Guvenilirlik Kullanilabilirlik ve Hizmet Verilebilirlik Uzantisinin RAS Uzantisi Tanitimi Istatistiksel profil olusturmaya girisOlceklenebilir Vektor Uzantisi SVE Olceklenebilir Vektor Uzantisi SVE yuksek performansli bilgi islem bilimsel is yuklerinin vektorlestirilmesi icin ozel olarak gelistirilmis ARMv8 2 A mimarisinin istege bagli bir uzantisidir ve daha yenidir Spesifikasyon 128 ila 2048 bit arasinda degisen vektor uzunluklarinin uygulanmasina izin verir Uzanti NEON uzantilarinin tamamlayicisidir ve yerini almaz Fujitsu A64FX ARM islemci kullanilarak Fugaku super bilgisayarinda 512 bitlik bir SVE varyanti zaten uygulandi 2021 civarinda tam operasyonlara baslama hedefi ile dunyanin en yuksek performansli super bilgisayari olmayi hedefliyor SVE otomatik vektorlestirmeyi destekleyen GCC 8 ve C intrinsiklerini destekleyen GCC 10 ile GCC derleyicisi tarafindan desteklenir Temmuz 2020 itibariyla LLVM ve clang C ve IR ozlerini destekler ARM nin kendi LLVM catali otomatik vektorlestirmeyi destekler Armv8 3 A Ekim 2016 da Armv8 3 A duyuruldu Gelistirmeleri alti kategoriye ayrildi Isaretci kimlik dogrulamasi yalnizca AArch64 mimariye zorunlu uzanti yeni bir blok sifresine dayali QARMA derleyicilerin guvenlik ozelliginden yararlanmalari gerekir ancak talimatlar NOP alaninda oldugundan eski yongalarda ekstra guvenlik saglamasa da geriye donuk olarak uyumludurlar Ic ice sanallastirma yalnizca AArch64 Gelismis SIMD karmasik sayi destegi AArch64 ve AArch32 ornegin 90 derecenin katlari ile dondurmeler Yeni FJCVTZS Kayan Noktali JavaScript i Imzali Sabit Noktaya Donusturme Sifira dogru yuvarlama talimati Bellek tutarlilik modelinde bir degisiklik yalnizca AArch64 C 11 C11 in varsayilan olmayan daha zayif RCpc Surum Tutarli islemci tutarli modelini desteklemek icin varsayilan C 11 C11 tutarlilik modeli onceki Armv8 de zaten destekleniyordu Sistem tarafindan gorulebilen daha buyuk onbellekler icin kimlik mekanizmasi destegi AArch64 ve AArch32 Armv8 3 A mimarisi artik en azindan GCC 7 derleyicisi tarafindan desteklenmektedir Armv8 4 A Kasim 2017 de Armv8 4 A duyuruldu Gelistirmeleri su kategorilere giriyor SHA3 SHA512 SM3 SM4 kripto uzantilari Gelistirilmis sanallastirma destegi Bellek Bolumleme ve Izleme MPAM yetenekleri Yeni bir Guvenli EL2 durumu ve Etkinlik Izleyicileri Isaretli ve isaretsiz tam sayi nokta carpimi SDOT ve UDOT talimatlari Armv8 5 A ve Armv9 0 A Eylul 2018 de Armv8 5 A duyuruldu Gelistirmeleri su kategorilere giriyor Bellek Etiketleme Uzantisi MTE Bir saldirganin keyfi kod yurutme yetenegini azaltmak icin Sube Hedef Gostergeleri BTI Rastgele Sayi Uretici talimatlari cesitli Ulusal ve Uluslararasi Standartlara uygun Deterministik ve Gercek Rastgele Sayilar saglamak 2 Agustos 2019 da Google Android in Bellek Etiketleme Uzantisini MTE benimseyecegini duyurdu Mart 2021 de ARMv9 A duyuruldu ARMv9 A nin temeli Armv8 5 in tum ozellikleridir ARMv9 A ayrica sunlari da ekler Olceklenebilir Vektor Uzantisi 2 SVE2 SVE2 talimat basina daha fazla is yapilmasina izin vermek icin artirilmis ince taneli Veri Duzeyi Paralelligi DLP icin SVE nin olceklenebilir vektorlestirmesini temel alir SVE2 bu faydalari DSP ve su anda Neon kullanan multimedya SIMD kodu da dahil olmak uzere daha genis bir yazilim yelpazesine getirmeyi amaclamaktadir LLVM Clang 9 0 ve GCC 10 0 gelistirme kodlari SVE2 yi destekleyecek sekilde guncellendi Islemsel Bellek Uzantisi TME x86 uzantilarinin ardindan TME Donanim Islemsel Bellegi HTM ve Islem Kilidi Elision TLE icin destek getiriyor TME is parcacigi basina daha fazla is yapilmasina izin vermek icin kaba taneli Dis Duzeyi Paralelligini TLP artirmak icin olceklenebilir eszamanlilik getirmeyi amaclar LLVM Clang 9 0 ve GCC 10 0 gelistirme kodlari TME yi destekleyecek sekilde guncellendi Gizli Bilgi Islem Mimarisi CCA Olceklenebilir Matris Uzantisi SME KOBI matrisleri verimli bir sekilde islemek icin asagidakiler gibi yeni ozellikler ekler Matris dosemesi depolama Aninda matris aktarimi Doseme vektorlerini yukleme depolama ekleme cikarma SVE vektorlerinin matris dis carpimi Akis modu SVEArmv8 6 A ve Armv9 1 A Eylul 2019 da Armv8 6 A duyuruldu Sunlari ekler Genel Matris Carpimi GEMM Bfloat16 formati destegi SIMD matris isleme talimatlari BFDOT BFMMLA BFMLAL ve BFCVT sanallastirma sistem yonetimi ve guvenlik icin gelistirmeler ve asagidaki uzantilar bu LLVM 11 icin zaten destek eklemistir Gelismis Sayac Sanallastirmasi Armv8 6 ECV Ince Taneli Tuzaklar Armv8 6 FGT Activity Monitor sanallastirmasi Armv8 6 AMU Ornegin ayrintili tuzaklar Olayi Bekle WFE yonergeleri EnhancedPAC2 ve FPAC SVE ve Neon icin Bfloat16 uzantilari temel olarak derin ogrenme kullanimi icindir Armv8 7 A ve Armv9 2 A PCIe calisirken takilabilir AArch64 icin gelismis destek Atomik 64 bayt yukleme ve hizlandiricilara depolama AArch64 Talimati Bekle WFI ve Zaman asimi AArch64 ile Olayi Bekle WFE Dal Kaydi kaydi yalnizca Armv9 2 Armv8 8 A ve Armv9 3 A Maskelenemeyen kesmeler AArch64 memcpy ve memset stili islemleri optimize etme talimatlari AArch64 PAC deki Gelistirmeler AArch64 Ipuclu kosullu dallar AArch64 Armv8 R gercek zamanli mimari Armv8 R profiline istege bagli AArch64 destegi eklendi ve onu uygulayan ilk Arm cekirdegi Cortex R82 oldu Bellek bariyeri talimatlarinda bazi degisikliklerle birlikte A64 komut setini ekler Kaynakca Overview Learn the architecture Understanding the Armv8 x and Armv9 x extensions 20 Eylul 2022 tarihinde kaynagindan Erisim tarihi 20 Eylul 2022 Richard Grisenthwaite 2011 PDF 11 Kasim 2011 tarihinde kaynagindan PDF arsivlendi Erisim tarihi 31 Ekim 2011 Samsung s Exynos 5433 is an A57 A53 ARM SoC AnandTech 17 Eylul 2014 tarihinde kaynagindan Erisim tarihi 17 Eylul 2014 ARM Cortex A53 MPCore Processor Technical Reference Manual Cryptography Extension ARM 4 Ekim 2016 tarihinde kaynagindan Erisim tarihi 11 Eylul 2016 Cortex A32 Processor ARM 8 Kasim 2016 tarihinde kaynagindan Erisim tarihi 18 Aralik 2016 Brash David 2 Aralik 2014 The ARMv8 A architecture and its ongoing development 23 Ocak 2015 tarihinde kaynagindan Erisim tarihi 23 Ocak 2015 Top byte ignore TBI WikiChip 15 Agustos 2021 tarihinde kaynagindan Erisim tarihi 20 Eylul 2022 Brash David 5 Ocak 2016 ARMv8 A architecture evolution 6 Agustos 2016 tarihinde kaynagindan Erisim tarihi 7 Haziran 2016 The scalable vector extension sve for the Armv8 a architecture Arm Community Ingilizce 22 Agustos 2016 9 Temmuz 2018 tarihinde kaynagindan Erisim tarihi 8 Temmuz 2018 a b GCC 8 Release Series Changes New Features and Fixes GNU Project Free Software Foundation FSF gcc gnu org Ingilizce 29 Kasim 2018 tarihinde kaynagindan Erisim tarihi 9 Temmuz 2018 www fujitsu com 21 Haziran 2018 tarihinde kaynagindan arsivlendi Erisim tarihi 14 Nisan 2023 D71712 Downstream SVE SVE2 implementation LLVM reviews llvm org 20 Eylul 2022 tarihinde kaynagindan Erisim tarihi 20 Eylul 2022 David Brash 26 Ekim 2016 ARMv8 A architecture 2016 additions 25 Temmuz 2021 tarihinde kaynagindan Erisim tarihi 20 Eylul 2022 Ping AArch64 Add commandline support for march armv8 3 a 26 Subat 2021 tarihinde kaynagindan Erisim tarihi 20 Eylul 2022 pointer authentication extension is defined to be mandatory extension on ARMv8 3 A and is not optional Qualcomm releases whitepaper detailing pointer authentication on ARMv8 3 10 Ocak 2017 22 Subat 2022 tarihinde kaynagindan Erisim tarihi 20 Eylul 2022 A64 Floating point Instructions FJCVTZS arm com 29 Temmuz 2019 tarihinde kaynagindan Erisim tarihi 11 Temmuz 2019 GCC 7 Release Series Changes New Features and Fixes 2 Eylul 2020 tarihinde kaynagindan Erisim tarihi 20 Eylul 2022 ARMv8 3 A mimarisi artik desteklenmektedir march armv8 3 a secenegi belirtilerek kullanilabilir msign return address secenegi ARMv8 3 A Pointer Authentication Extensions kullanarak donus adresi korumasini etkinlestirmek icin desteklenir Introducing 2017 s extensions to the Arm Architecture community arm com Ingilizce 11 Temmuz 2019 tarihinde kaynagindan Erisim tarihi 15 Haziran 2019 Exploring dot product machine learning community arm com Ingilizce 15 Ekim 2019 tarihinde kaynagindan Erisim tarihi 15 Haziran 2019 ARM Preps ARMv8 4 A Support For GCC Compiler Phoronix www phoronix com Ingilizce 15 Ocak 2018 tarihinde kaynagindan Erisim tarihi 14 Ocak 2018 a b c d Armv8 x and Armv9 x extensions and features Learn the architecture Understanding the Armv8 x and Armv9 x extensions 20 Eylul 2022 tarihinde kaynagindan Erisim tarihi 20 Eylul 2022 Arm Architecture Armv8 5 A Announcement Processors blog Processors Arm Community community arm com Ingilizce 26 Nisan 2019 tarihinde kaynagindan Erisim tarihi 26 Nisan 2019 Arm Architecture Reference Manual Armv8 for Armv8 A architecture profile ARM Developer Ingilizce 6 Agustos 2019 tarihinde kaynagindan Erisim tarihi 6 Agustos 2019 Arm MTE architecture Enhancing memory safety community arm com Ingilizce 27 Temmuz 2021 tarihinde kaynagindan Erisim tarihi 27 Temmuz 2021 Adopting the Arm Memory Tagging Extension in Android Google Online Security Blog Ingilizce 5 Agustos 2019 tarihinde kaynagindan Erisim tarihi 6 Agustos 2019 Arm s solution to the future needs of AI security and specialized computing is v9 Arm The Architecture for the Digital World Ingilizce 31 Mart 2021 tarihinde kaynagindan Erisim tarihi 27 Temmuz 2021 Schor David 30 Mart 2021 Arm Launches ARMv9 WikiChip Fuse Ingilizce 27 Temmuz 2021 tarihinde kaynagindan Erisim tarihi 27 Temmuz 2021 Frumusanu Andrei Arm Announces Armv9 Architecture SVE2 Security and the Next Decade www anandtech com 27 Temmuz 2021 tarihinde kaynagindan Erisim tarihi 27 Temmuz 2021 a b c Arm releases SVE2 and TME for A profile architecture Processors blog Processors Arm Community community arm com Ingilizce 26 Nisan 2019 tarihinde kaynagindan Erisim tarihi 25 Mayis 2019 a b Arm SVE2 Support Aligning For GCC 10 LLVM Clang 9 0 Phoronix www phoronix com 7 Ekim 2020 tarihinde kaynagindan Erisim tarihi 26 Mayis 2019 Unlocking the power of data with Arm CCA community arm com Ingilizce 27 Temmuz 2021 tarihinde kaynagindan Erisim tarihi 27 Temmuz 2021 Arm Introduces Its Confidential Compute Architecture WikiChip Fuse Ingilizce 23 Haziran 2021 27 Temmuz 2021 tarihinde kaynagindan Erisim tarihi 27 Temmuz 2021 Scalable Matrix Extension for the Armv9 A Architecture community arm com Ingilizce 27 Temmuz 2021 tarihinde kaynagindan Erisim tarihi 27 Temmuz 2021 Arm A profile architecture update 2019 community arm com Ingilizce 26 Eylul 2019 tarihinde kaynagindan Erisim tarihi 26 Eylul 2019 LLVM 11 0 0 Release Notes releases llvm org 8 Mart 2021 tarihinde kaynagindan Erisim tarihi 11 Mart 2021 BFloat16 extensions for Armv8 A community arm com Ingilizce 29 Agustos 2019 tarihinde kaynagindan Erisim tarihi 30 Agustos 2019 Andrei Frumusanu 3 Eylul 2020 ARM Announced Cortex R82 First 64 bit Real Time Processor 20 Eylul 2022 tarihinde kaynagindan Erisim tarihi 20 Eylul 2022 Arm Architecture Reference Manual Supplement Armv8 for Armv8 R AArch64 architecture profile 20 Eylul 2022 tarihinde kaynagindan Erisim tarihi 20 Eylul 2022