Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
.NET 11 için en düşük donanım gereksinimleri, hem x86/x64 hem de Arm64 mimarilerinde daha modern yönerge kümeleri gerektirecek şekilde güncelleştirildi. Ayrıca, ReadyToRun (R2R) derleme hedefleri daha yeni donanım özelliklerinden yararlanacak şekilde güncelleştirilmiştir.
Arm64
Apple için en düşük donanımda veya hedefte ReadyToRun herhangi bir değişiklik yoktur. Yongalar Apple M1 yaklaşık olarak armv8.5-a eşdeğerdir ve bu nedenle en azından AdvSimd (NEON), CRC, DOTPROD, LSE, RCPC, RCPC2, ve RDMA yönerge setlerini destekler.
Linux için en düşük donanımda değişiklik yoktur. .NET, Raspberry Pi gibi yalnızca yönerge kümesi için destek sağlayabilen cihazları desteklemeye AdvSimd devam eder. Hedef ReadyToRun, LSE yönerge kümesiyle güncellendi ve bir uygulama başlatıldığında jitting işlemleri sırasında ek yük oluşabilir.
Windows için temel LSE yönerge kümesini gerektirecek şekilde güncellenmiştir. Bu, Windows 11 ve Windows 10tarafından resmi olarak desteklenen tüm Arm64 CPU'ları için gereklidir. Buna ek olarak, Arm SBSA (Sunucu Temel Sistem Mimarisi) gereksinimleriyle uyumludur. Hedef ReadyToRun olarak armv8.2-a + RCPC güncelleştirildi (bu, resmi olarak desteklenen donanımların çoğunu kapsayan en az AdvSimd, CRCLSE, , RCPCve RDMAiçin destek sağlar).
| işletim sistemi | Önceki JIT/AOT asgari değer | Yeni JIT/AOT en düşük düzey | Önceki R2R hedefi | Yeni R2R hedefi |
|---|---|---|---|---|
| Elma | Apple M1 | (Değişiklik yok) | Apple M1 | (Değişiklik yok) |
| Linux işletim sistemi | armv8.0-a | (Değişiklik yok) | armv8.0-a | armv8.0-a + LSE |
| Windows | armv8.0-a | armv8.0-a + LSE | armv8.0-a | armv8.2-a + RCPC |
x86/x64
Üç işletim sistemi (Apple, Linux ve Windows) için temel x86-64-v1'den x86-64-v2'e güncellenmiştir. Bu, donanımı yalnızca CMOV, CX8, SSE ve SSE2 garantisinden çıkararak aynı zamanda CX16, POPCNT, SSE3, SSSE3, SSE4.1 ve SSE4.2 garantisi verecek şekilde değiştirir. Bu garanti Windows 11 ve Windows 10'da resmi olarak desteklenen tüm x86/x64 CPU'lar için gereklidir. Intel/AMD tarafından resmi olarak desteklenen tüm yongaları içerir ve son eski yongalar 2013 civarında destekten çıkar.
HedefReadyToRun, Windows ve Linux için olarak güncelleştirilirkenx86-64-v3, Apple için değişmeden kalır ve buna ek olarak , AVX, AVX2, BMI1, BMI2, F16C, FMAve LZCNT yönerge kümelerini de içerirMOVBE.
| işletim sistemi | Önceki JIT/AOT minimum | Yeni JIT/AOT minimum | Önceki R2R hedefi | Yeni R2R hedefi |
|---|---|---|---|---|
| Elma | x86-64-v1 | x86-64-v2 | x86-64-v2 | (Değişiklik yok) |
| Linux işletim sistemi | x86-64-v1 | x86-64-v2 | x86-64-v2 | x86-64-v3 |
| Windows | x86-64-v1 | x86-64-v2 | x86-64-v2 | x86-64-v3 |
Sürüm kullanıma sunulmuştur
.NET 11 Önizleme 1
Önceki davranış
Varsayılan olarak, .NET eski donanımlarda başarıyla başlatıldı ve çalıştırıldı. Tek tek uygulamalar daha yüksek taban çizgilerini tercih etmiş veya senaryoları için temeli yükselten donanım iç değerlerini açıkça kullanmış olabilir.
Yeni davranış
.NET 11'den başlayarak .NET eski donanımda çalıştırılamaz ve aşağıdakine benzer bir ileti yazdırabilir. (Bazı senaryolarda, belirli bir işletim sistemi ve mimari için somut donanım gereksinimlerini listeleyen daha açıklayıcı bir ileti sağlanabilir.)
Geçerli CPU'da temel yönerge kümelerinden biri veya daha fazlası eksik.
ReadyToRun uyumlu derlemeler için, desteklenen bazı donanımlar, tipik bir cihaz için beklenen desteği sağlamadığında ek başlatma yüküne yol açabilir.
Kesinti yaratan değişiklik türü
Bu değişiklik davranışsal bir değişikliktir.
Değişiklik nedeni
.NET, temel işletim sistemi (OS) tarafından uygulanan en düşük donanım gereksinimlerinin üzerinde ve ötesinde çok çeşitli donanımları destekler. .NET ayrıca JIT senaryoları için etkin olarak üzerinde çalıştığı donanımdan yararlanmaya yönelik yerleşik desteğe sahiptir. Ancak bu destek, özellikle hala kullanımda olma olasılığı düşük olan çok daha eski donanımlar için kod tabanına önemli bir karmaşıklık ekler. Ayrıca, AOT'nin varsayılan olarak hedeflediği bir "en düşük ortak paydayı" tanımlar ve bu da etki alanına özgü bazı senaryolarda uygulamalar için performansın düşmesine neden olabilir.
En düşük taban çizgisine güncelleştirme, kod tabanının bakım karmaşıklığını azaltmak ve temel işletim sisteminin belgelenen (ve çoğunlukla zorlanan) donanım gereksinimleriyle daha iyi uyumlu hale getirmek için yapılmıştır.
Önerilen eylem
Artık desteklenmeyen bir donanım kullanıyorsanız güncelleştirmeyi göz önünde bulundurun. Bu tür donanımlar resmi olarak destek dışıdır ve .NET tarafından desteklenen işletim sistemi sürümlerinde önyüklenmeyebilir.
Etkilenen API'ler
Bu değişiklik tüm .NET'i etkiler.