ARMv9, Kayıt Seti ve x86 Olmayan CPU'lar için Talimatlar

Birkaç hafta önce, ARM aynı adı taşıyan ISA'ya sahip işlemcilerde kullanılan kayıt ve yönergelerin dokuzuncu neslini tanıttı. ARMv9, bu ISA'nın yeni sürümünün vaftiz edildiği ve PostPC cihazları için gelecekteki SoC'lerde kullanılacak olan addır. ARMv9 nedir ve önceki sürümlerdeki yenilikler nelerdir, gelecekteki ARM CPU'lar nasıl görünecek?

Bir ISA, farklı işlemciler tarafından anlaşılan dilden başka bir şey değildir ve bu nedenle yürüttükleri kodda birler ve sıfırlar kümesinin ne anlama geldiğini belirtir. x86 için ikili dosya işlemci örneğin bir ARM CPU için ikili ile aynı anlama sahip değildir.

ARMv9

Bununla birlikte, teknolojinin ilerlemesi, ISA'lara performanslarını, verileri işlerken güvenliklerini veya kendilerine sunulan yeni zorluklarla yüzleşmelerini sağlamak için yeni işlevler ekleme yeteneği veren yeni talimatlar eklemeyi gerekli kılmaktadır.

Bu yazımızda, yıllar sonra düşük tüketimli CPU'lara ve mikrodenetleyicilere yönelik olarak daha iddialı olmaya karar veren ve en yüksek performans gerektiren, veri merkezleri ve yüksek performans gerektiren pazara giren ISA ARM'nin dokuzuncu neslinden bahsedeceğiz. bilgi işlem veya HPC.

Ölçeklenebilir Vektör Uzantıları 2

SVE ARMv9

Japon Fujitsu, ARM çekirdeği için Ölçeklenebilir Vektör Uzantıları anlamına gelen SVE adlı bir dizi tescilli uzantı yarattı. Adından bir dizi SIMD talimatından bahsettiğimizi tahmin etmiş olabilirsiniz. ISA ARM'li CPU'larda yıllardır Neon komutlarının kullanıldığını unutmayalım. ARMv2'daki SVE9 talimatları ile değiştirilecektir.

SVE, Fujitsu tarafından Fugaku süper bilgisayarı için oluşturuldu. A64-FX çekirdeklerini kullanır. Niyet? Daha yüksek hassasiyetli sayılar kullanan bilimsel hesaplamanın gerektirdiği veri paralelliğinden yararlanın. Bu, çok daha büyük SIMD birimlerine ve dolayısıyla daha fazla bit anlamına gelir.

ARM'nin ilgisi, çekirdeklerini yüksek performanslı bilgi işlem pazarına ve sunucularına getirmek olduğundan, SVE'yi benimsemeye ve SVE2'yi oluşturmak için Neon ile birleştirmeye karar verdiler. SVE'nin Neon'a kattığı en büyük avantaj? Bunlar boyuttan bağımsız talimatlardır, bu nedenle x86'daki AVX talimatlarında olduğu gibi farklı boyutlar için her talimatın bir versiyonuna sahip olmak gerekli değildir.

ARMv9'da bellek alemleri

ARMv9

ISA ARMv9'un denkleme eklediği ilginç bir kavram, bellek adreslemesinin bir parçası olabilmek ve içinde yürütülen kodun sistemin geri kalanını etkilememesini sağlamaktan oluşan alan kavramıdır. tamamen izole. Bu, bir işletim sisteminin aynı anda diğeriyle aynı CPU üzerinde çalıştığı sanal makinelerin uygulanması için idealdir.

Normalde CPU'lar farklı ayrıcalık seviyelerine sahiptir, ancak ARMv9'a eklenen realms konsepti ile ARM ISA ile bir CPU üzerinde daha kolay çalışan sanal makineleri çalıştırmak mümkün olacaktır, ancak bunun avantajları sadece sanal makinelerle sınırlı değildir, ancak belirli uygulamalarda da kullanılabilir.

Dolayısıyla ARMv9, sanallaştırma ve güvenliğin diğer işlevlerden çok daha önemli olduğu veri merkezleri ve diğer bilgisayar türleri için daha hazırlanmış ISA'nın bir uzantısı gibi görünüyor. Şaşırtıcı olmayan bir şekilde, ARM karşı bir savaş yürütüyor. Intel ve AMD şimdiye kadar x86 işlemcilerin pazara hakim olduğu sunucu CPU pazarında.

Bellek Etiketleme Uzantıları

Bellek Etiketleme Uzantıları ARM

ARMv9'da yeni değiller, daha çok 8.5 sürümünde. Faydası? Programlar tarafından yapılan tüm yasadışı bellek erişimlerini takip etmekten sorumlu bir mekanizmadır. Yasadışı erişim, programın erişim izninin olmadığı bir bellek adresine erişimden başka bir şey değildir. Bunun kullanımı nedir? Bu, kopyalanan veri miktarı bellek rezervini aştığında, komşu bellek adreslerine beklenmeyen kodlar yazıldığında ortaya çıkan, tüm işlemcilerde ortak bir güvenlik sorunu olan arabellek taşmasını önlemeye hizmet ettiği için.

Bellek taşması başarılı olursa, orijinal kod, belleğe ulaşır ulaşmaz CPU tarafından yürütülecek olan yeni bellek içi kodla değiştirilecektir. Bu nedenle, özellikle aynı anda milyonlarca kullanıcıya hizmet verme eğiliminde olan ve güvenliği ihlal edilmiş kullanıcı verilerini çalmak için bir arabellek taşmasının kullanılabileceği veri merkezlerinden bahsediyorsak, bundan kaçınmak önemlidir.

MTE, ISA'nın kendisinin bir parçası değildir, ancak tüm bellek erişimlerini izleyen ve işlevselliği şeffaf bir şekilde bellek taşmalarını önlemek olan ARMv9 CPU'larının Kuzey Köprüsü'nde uygulanan bir mekanizmadır.

ARMv9 sadece veri merkezleri ve sunucular için mi?

Veri merkezi

ISA ARMv9'un önceki bölümlerde anlattığımız yenilikleri, belirgin bir özel karaktere sahiptir ve ISA ARM'nin genellikle görüldüğü klasik cihazlarda kullanımı ile ilgisi yoktur. PostPC cihazları için CPU'larda genellikle büyük SIMD birimleri görmemenizin nedenlerinden biri, kullanımlarının varsaydığı muazzam enerji tüketimi olduğundan, hepsinden güçlü bir şekilde SVE'yi çağırır.

Şu anda ARM tarafından duyurulan iki çekirdek, Neoverse ailesinden iki çekirdek. Bir yanda “Zeus” kod adı altında NeoVerse V1, diğer yanda “Perseus” kod adı altında Neoverse N2. Bunlar gelecekteki bir akıllı telefonda göreceğiniz çekirdekler değil, Amazon AWS, Oracle, Tencent, Google vb. şirketlerin yüksek performanslı bilgi işlem için veri merkezlerinde ve sunucularında.

ARM, akıllı telefonlar ve tabletler gibi PostPC cihazları için henüz herhangi bir çekirdek açıklamadı. Her ne kadar ARM'nin amacının sadece sunucularda değil PC'de de çeşitli pazarlarda x86'nın yerini almak olduğunu unutmasak da. tarafından satın alma NVIDIA ve bilgisayar video oyunu pazarındaki büyük etkisi, NVIDIA-ARM'ın kendisinden değil, video oyunları geliştiricilerinden çok fazla desteğe ihtiyaç duyacak bir gelecek olmasına rağmen, ARM'li ve NVIDIA GPU'lu oyun bilgisayarlarının gelişini getirebilir.