ARM İşlemci Geçişi

Toplam Okunma 56

Bu yazıyı yazmazdan evvel hakikaten sosyal medyada sordum ve gerek özelden, gerekse açıktan gelen talepler bunun merak edildiğini gösteriyor. Hadi başlayalım o vakit. Anlaşılmayan noktaların detaylandırılması için profesyonel blogum: eniyideneyim.com ve Twitter üzerinden beni takip edin.

Arm, Bu yazıyı okurken kullanmış bulunduğunuz bilgisayarınızın işlemcisinden daha farklı bir komut işleme tekniği kullanan bir işlemci türüdür. Bilgisayar endüstirisinde yakın zamana kadar x86 (İntel tarafından lisanslı) işlemciler yaydındı. X86 ismini biz hep 32 bit olarak duysakta, burada kast edilen 32 bit komut işleyebilen işlemci mimarisi değil, Intel’in lisansladığı AMD’nin ise 64 bit komutları işleyebilecek şekilde geliştirdiği mimaridir. En kaba anlamıyla: Arm, ilk başta mobil sistemlerde kullanılmak üzere gelişmiş, daha az güç akımı ile işlem yapabilen, hızlıca devreye girip              çıkabildiği ve enerjiye bağlı devreleri daha az olduğu için ısınmaya bağlı sitresi az olan işlemcilerdir. X86 işlemciler ise, temelde duvar prizlerine bağlı olarak çalışmak üzere tasarlanmış, Enerji bütçesi ve devreleri daha fazla olan ve daha fazla kas gücü olan işlemcilerdir. Son durumda ise, Arm işlemciler oldukça modülerdir. Temel işlemci çekirdeklerinin yanısıra, pakete özel amaçlı işlerde uzmanlaşmış çekirdek ve bileşenler de eklenerek genişletilebilir. X86 işlemcilerde ise, işlemci içerisinde ARM paketlerine göre daha az özel amaçlı bileşen görürüz. Bunu bir örnekle açıklayacak olursak,
Arm işlemci paketleri, merkez işlemci çekirdekleri, yapay zeka işleme modülü, grafik işlemcisi, sensör işleme motoru, medya hızlandırma motorları gibi özel amaçlı birçok bileşeni içerisinde bulundurur. Buna karşın, x86 paketleri, daha az modülü bulundurur. Daha az media işleme modülü, işlemci ve bellek kontrrolcüleri, ve grafik çekirdeklerini bulundurur. Yeni nesil işlemcilerde yapay zekâ modülleri eklendi. Güç bütçesi konusunda daha sınırsız davranan bir mimari olduğundan dolayı, eklenen her modül daha fazla güç tüketimine sebep olmaktadır.

 

Peki bu yazıyı yazmamıza sebep olan şey nedir? Buna gelelim. Bilgisayarları masadan kaldırıp, çantada, koltuk altında oraya buraya taşımaya başlayınca. Güç bütçesi sınırsız işlemci mimarisini, daha az güçle daha çok işi yapabilen (verimlilik) odaklı sistemlere sokmak gerekti. Son zamanlarda wat başına performans dengesi, rekabet ölçeğinde artık iyice gelişti. Şuan arm işlemciler ve x86 işlemcileri arasında performans dengesi aynı seviyeye geldiğinden, Arm işlemcilerin bilgisayarlar için kullanılması söz konusu oldu. Özellikle Apple’ın arm tabanlı m1 çiplerinin günümüzün birçok zorlu görevini içerisindeki özel amaçlı işleme çekirdekleri sayesinde yapabilmeye başlayınca; Arm Bilgisayar dünyası için yeni bir kurtarıcı olabilir mi? Diyenlerin cesaretlenmesini sağladı. Şimdi buna bakalım.

 

Arm İşlemci Geçişinin Kazançları

 

Arm işlemciler, yazının önceki kısımlarında bahsettiğim üzere verimlilik söz konusu olduğunda, x86 işlemcileri yakalamayı başarınca, bilgisayarlar için Arm işlemcilerin kullanımı gündeme geldi. Microsoft’un Windows için farklı denemeleri olduysada, şuan önümüzdeki en güçlü örnek Apple örneği. Apple Arm geçişiyle birlikte yapay zeka işlerinin de, bilgisayarda ele alındığını gördük. Bu sayede, bir işi yapmanın daha pratik bir yolu varsa, Arm tabanlı bilgisayarlarla mümkün olmaya başladı. Bu vizyonu PC dünyası için NVidia’nın ortaya koyduğunu söylemek gayet mümkün. Şimdi ise, Apple, ortaya koyduğu arm paketiyle, Kendi kullanıcılarının en çok yaptığı işleri daha iyi yapmanın bir yolunun olduğunu gösterdi. Daha az güç tüketmesine rağmen, neredeyse bilgisayarların kendisi kadar güç üniteleri tarafından beslenen sistemlerle aynı, zaman zaman daha kısa süreler dahilinde ve bilgisayarın tamamını meşgul etmeden işleri bitirebilmeye başladı. Üstelik X86’lı paketlerin en büyük derdi olan, fiş çekilince gücün kesilmesi sorunu Arm paketlerinde olmadığı için prizde de, güçte de aynı performansını koruyordu..

Daha sessiz, daha az ısınan, daha uzun süre pilde çalışabilen ve daha hafif makineler üretildi; endüstiriye aynı güç verildiğinde de daha fazla işi halledebilen bir paket gösterildi. Peki bizim erişilebilirlik yönünden kazançlarımız ne oldu?

Yapay zeka işlemcileri ve paralel işlemci çekirdekleri aynı pakette yer alınca, Yardımcı teknolojilerin yapay zeka ile desteklenmesi daha az maliyetli hale geldi. Tam olarak, İos 16 ile birlikte duyurulan ve Mac için VoiceOver’da ekran okuyucu becerilerinin yapay zekâ modelleri ile desteklenmesini örnek vereceğim. Buradaki asıl olay şu, asıl işler yapılırken, hızlıca halledilmesi gereken her şey yapay zeka çekirdeklerine atanarak işlerin halledilmesi sağlanıyor. Geçişin en büyük yankısı Mac tarafında görüldü.

Yapay zekânın sunucuda modellenip, cihazda çalıştırılanını severim. Bu aslında oturduğum yerden uydurduğum bir şey değil. Apple’ın geliştirmiş olduğu nesne algılama, ilişkili içeriğin birbirine bağlanması ve dallanmalı tahmin / öğrenme yetenekleri cihazların üzerinde çalıştırılmaya başladığı vakit, görsel içeriğinin ekran okuyucu tarafından otomatik algılanması ve bir yerden sonra nesne gruplarının ve türlerinin tahmin edilmesi becerisi gelişmeye başladı. Şimdilerdde teknoloji daha çok kamera uygulaması ve AR (artırılmış gerçeklik) becerileri için geliştirilen derin öğrenme modellerini kullanıyor ama yakın gelecekte ekran okuyucu yeteneklerinin bizzat bu modelleme teknikleri ile destekleneceğini öngörebiliyoruz. Bunu ise Ekran okuyucuların tepkileri bize gösteriyor. Aslında yapabildiklerinden çok yapamadıkları. Bazı etiketsiz elementlerin tahmini konusunda oldukça hızlı tepki verirken, odak ve buna benzer konusunda başarısız olması bana o tarafta henüz tamamlanmamış birtakım işler olduğunu gösteriyor. Beklentiyi ne kadar yüksek tutmalıyız konusunda ben de çok emin değilim. Henüz sürüm güncellemelerine bağlı bir ilerleme görüyoruz. Bu yüzden hep yeni sürümü beklemeliyiz.

 

Arm geçişinin Windows sistemlerdeki durumuna bakarsak

Tek merkeziyetçi bir durumdan bahsetmiyoruz Windows veya PC ekosistemini konuştuğumuzda. Birbirlerine ihtiyaç duyan milyonlarca girişim, sistem ve fonksiyonun yanı sıra; Tek seferde sayamayacağımız kadar çok üretici, marka ve model bileşenlerin, birbirleri ile uyumlu çalışması, kimsenin geride kalmadığından emin olunması gereken bir ortamda devrimsel zıplamalar yapmak çok zor. Bugünkü, özellikle masaüstü bilgisayarlarımızın anakart dizaynı 1940’lardaki tasarımsal düşüncelere dayanır halen. Bu güncellenemeyen teknolojiler ve atalet politikaları, gene PC ekosisteminin ayak bağıdır. Apple’ın kendi kontrol ettiği oyun sahasında değiştirdiği oyun ise, Windows ekosistemi üzerinde işleyen ve sayılı büyük piyasaları elinde tutan üreticilerin, Mac için Arm mimarisiyle uyumlu kodu güncellemelerini sağladı. Bu güncelleme ise, Apple için yaptıysak, Windows için sadece bir çıktı almaya bakar düşüncesini sağladı. Bu da büyük sistemleri ve bu sistemlerin içinde iş yapan kişileri PC arm geçişi için hazırladı. Microsoft ise kendi karmaşık ürün oluşturma süreçlerinden kurtulup, net bir tavır ortaya koyamadığından, olası erişilebilirlik fikirleri de sakatlanmaktadır.

Microsoft, bu yazıyı başlama ve tamamlama süreci boyunda geliştiricilerin kullanabileceği bir Arm kiti hazırladı ve İntel X86 sistemleri için düşük seviyeli işlemlerde kullanıldığında gereksiz güç harcamayacak Asimetrik işlemciler piyasaya sürdü. Asıl sorun ise: Hem X86 mimarisi yatay gelişime izin verir; hem de asimetrik tasarım daha çok güç tasarrufu yönünde kullanılacak gibi. Bütün çekirdeklerin aynı boyutta olmak zorunda olmaması belki araya uzmanlaşmış bazı çekirdekleri sıkıştırır da Yapay Zekâ modellerini çalıştırmak daha kolay olur diye düşünmek istesem de, verimli bir sinir işleme gücü elde etmek için X86 çekirdek tasarımının ön gördüğünden daha geniş alana ihtiyacımız var. Bu durumda pastayı yana doğru genişleterek meyveleri aralara dizmek yerine, kat çıkıp aromaları aralara dizmek daha lezzetli olmaz mı? Işte X86 pastayı üstüste dizmeye izin vermiyor şuan. Bu elbette geliştirilebilir; fakat X86 komut setinin patentinde revizyon gerektirir ki, bu İntel’in kazanılmış haklarını tehlikeye atabilir. Dikey tasarım İntel’in tek başına lisanslayabileceği bir fikir değil, bu durumda diğer firmalar X86 mimarisini özelleştirmek için İntel’den ödün koparabilir. Ki, bu konuda kapıda açıklık bekleyen QualComm firması var.

Mevcut durumda, Mac sistemlerin kazandığı yapay zeka destekli erişilebilirlik kazançlarını PC ekosisteminde çalıştırmak isterseniz; ya sunucu gücü ve internet bağlantısına güvenmek zorundasınız ya da GPU’lardan destek almak zorundasınız. GPU desteği ise ekran okuyucuları zaten kurtarmaya çalıştığımız ekran kartı zorunluluğu bataklığına geri sürükler. Oysa ki, ARM mimarisi kendi içerisinde doğal olarak Sinir işlemcisi bulundurmasa da, üreticiler de bu çekirdekleri eklemek moda olmuştur, bu da olası teknik gelişmeler için zemin hazırlar. Windows neden ARM’a geçmez ki diye dertlenmeyelim, Bakalım, popiler yardımcı teknolojiler bu geçişe ne kadar hazır.

 

Windows Erişilebilirlik Hizmetleri

Şimdilik Hiçbir Windows Erişilebilirlik desteği ve Yapay Zekâ modülü doğrudan GPU (ekran kartı) kullanmıyor. Çoğru CPU (Merkez İşlemci) tarafından çalıştırılabilen basit modeller. Bu durumun bize kaybettirdiği şey ise, işlemcinin meşguliyetini kontrol eden sistemlerin kritik görevleri zaman zaman asıl öncelik durumundan çıkarmasıdır. Bunu İşlemcilerin Saat vuruşu başına yaptığı işlem sayısının artması ile daha az hisseder olduk ama gene de bir sınırlı alan var. Bu durum Windows 11 ile biraz daha da az can yakıyor. Peki bu nasıl?

Windows 11, işlemci yükünü daha farklı ele alan bir sisteme sahip. Özellikle Asimetrik işlemciler için düşük ve yüksek seviyeli işlemleri ayrıştırabilme becerisi ve Arm işlemcilerin beklediği öncelik puanlaması ve gruplandırma desteği ile birlikte gelir. Bu önceki Windows sürümlerinin çok doğru yapamadığı bir şeydi. Bunun sebebi ise, Windows içerisinden bir türlü çıkarılamayan bileşenler. Bu bileşenler, önceki Windows sürümlerinde çekirdeğin kendisini oluştururken, Windows 11 ile birlikte çekirdeğe bağlı başka bir yönetici tarafından ele alınıyor. Bu sayede işletim sisteminin kendisi yeni donanımlar için daha tepkisel hale geliyor. Bu bize ne kazandırıyor?

Ekran okuyucularımız sürekli ve aynı seviyede çok fazla işlem çalıştırır. Bu işlemler, Windows 11 tarafından sürekli en müsait çekirdeğe atanır ve ekran okuyucular daha zorlu durumlarda, önceki Windows sürümlerine göre daha az yıkılır. Bir diğer deyişler, Windows 11’de ekran okuyucularımız daha az çöker veya kilitlenir. Bunun sebebi ise, müsait çekirdeğin çok hızlı bulunup Çöken diğer bileşenlerden ayrıştırılması veya sıra beklememesidir. Microsoft’un yeni yardımcı teknoloji yeniliklerini Windows 11’e getirmeye çalışmasının en büyük sebebi budur. Henüz Arm geçişi Windows için tam anlamıyla tamamlanmamış olsa da, şuan için bu hazırlığın en fazla olduğu sistem Windows 11 ve yardımcı teknolojiler için uzmanlaşmış bir çekirdek kullanmadan bunu en doğru ele alacak sistem Windows 11 gibi duruyor. Ha bir de, bu biraz farklı bir durumu ortaya çıkarıyor. PC ekosisteminde eskiye dönük uyumluluk geleneği daha hakimdir. Bu yüzden Windows 11’i içerisinde bulundurduğu çekirdek parçaları sayesinde uyumluluğu açıklanmayan sistemlere kurmak mümkün olsa da, Windows 11’in doğasından kaynaklı yeniliklerden uyumlu sistemler kadar verimli faydalanmak mümkün değil. Cümleyi kısaltıyorum, Windows 11’i eski sistemlere kurabilirsiniz; ama bu bahsettiklerim yeni sistemler kadar iyi çalışmaz. Eski sistemlerde Windows 11’in Windows 10’dan daha farklı çalışmadığını görebilirsiniz. Bunun sebebi ise, eski sistemlerde zaten eski çekirdek bileşenlerinin harekete geçmesidir.

Windows 11’in taşıdığı dikte, odağın korunması özellikleri, canlı altyazılar ve ekran okuyucunun bir sonrakini tahmin etme becerilerinin bilgisayarda internet bağlantısı olmaksızın çalışabilmesi becerisi, Windows 11’in boş çekirdeği görevlendirebilmesi becerisi sayesinde düzgün çalışabilir. Bu dikte için bile göyle. Azure kaynaklı tanıma teknolojisini kullanan dikte, sıralı bir şekilde ele alındığında işlemler arası kesintilerden çok çabuk etkilenir. X86 işlemciler ise çok güçlüdürler evet ama, bütün işlemleri yatay bir sıralama ile ele alır. Arm İşlemciler, icabında arka mahalledeki adamları toplayıp işi parçalara ayırarak sonra tekrar bütün bir sonuç elde edebilir. Bu ise dikey sıralamadır.

 3RD Yardımcı Teknolojiler

Diğer firmalar ve geliştiriciler tarafından ortaya konulan teknolojiler, aslında bu geçişe çok hazır değil. Verdikleri en temel destek, Arm üzerinde çalışmaktı yakın zamana kadar. 2022 kasım ayı itibariyle Jaws, NVDA gibi popüler çözümlerin Arm 64 (önceden Windows doğal Arm desteği değil X86 tabanlı bir emilatör kullanırdı) desteğini vermektedir. Temel olarak, Jaws ve NVDA Windows 11 kurulu Arm bilgisayarda doğal olarak çalışacak demektir; ama nasıl çalışacak dersiniz?

Ekran okuyucularımız sadece ekran okuyucu olmayı bıraktı bırakalı sırtlarına oldukça büyük bir yük yüklendiler. Kullancılarının ve geliştiricilerinin doldurdukları alet kutusundaki bazı fonksiyonları, kimin geliştirdiği bile hatırlanmıyor. NVDA için bu fonksityonları atmak daha mümkün olsa da, Jaws için bu teknolojilerin çok büyük bir kısmı başka firmalardan satın alınan veya mühendislerinin büyük ihtimalle bıraktığı işler. Henüz sadece ççalışmak kısmının halledildiğini düşünürsek, tüm fonksiyonların taşınması biraz zaman alacak her ikisi için.

Tam anlaşılmadıysa şöyle deneyelim, ekran okuyucularımız Arm tabanlı ve Windows 11 kurulu bir bilgisayar alırsak çalışacak; ancak alışık olduğumuz tüm becerileri tam çalışmayabilir. Bunun en büyük sebebi, bu fonksiyonların tamamının Arm mimarisi için revize edilmemiş olmasıdır. Daha önceden ufaktan değindiğim gibi, Arm işlemleri sıralarken aynı grupta ele alınması gereken işlemleri bilmek ister ve bu sayede farklı teknolojileri çalıştırabilir. Bu teknolojiler Arm’ın bu kadar verimli ve hızlı olmasını sağlayan temel teknolojiler. Örneğim, ekran okuyucularımız bir yapay zekâ modelini çalıştırırken bir yandan çalışmaya devam ederse, bu işlemlerin sırayla değil, mümkün olduğunca aynı anda tamamlanabilmesi için aynı işlem grubuna ait olduğunun bilinmesi gerekir. X86 işlemciler bunu bilmezler ve bu şekilde çalışmazlar. X86 mimarisi için Arm takliti yapmasını sağlayan şey, Windows 11’in kendisidir. Boş çekirdekleri koordine ederek gruplu işlemlerin aynı anda bitirilmesini sağlamaya çalışır.

Peki neden Arm geçişi gerekli?

 

Yardımcı Teknolojiler için Neden Arm

Jaws 2023 yeniliklerinde, Windows 11’in yeniliklerinde ve NVDA tartışma gruplarında görüyorum ki, ekran okuyuculara ve yardımcı teknolojilere aynı anda yapılması gereken işlem ihtiyacı git gide artıyor. Üstelik bazı beklentilerin karşılanması çok hızlı olsun ve hatasız olsun isteniyorsa sunucudan değil, bilgisayardan yapılan işlemler olması gerekliliğini getiriyor. Günümüzün her şeyi sırayla yapan mimarisi ile bu kadar çok işlemi aynı anda yapmak çok zor. Üstelik bu kadar kas gücünü GPU yani Ekran kartları ile elde etmek mümkün; ancak Apple gösterdi ki, bir çok işlemi halledilmesi için hem finansal hemde enerji olarak daha ucuza yapılmasını Arm sağlıyor. Bunu sistemleri kocaman kutulara koymadan yapmak daha mümkün.

Ekran okuyucularımızdan resimleri anında OCR etmesini istiyoruz, aynı türde görünen parçaları algılayarak aradaki linkleri atlamasını istiyoruz, etiketsiz kontrolleri otomatik etiketlemeye çalışmasını istiyoruz ve bazı metin özniteliklerini ayıklamasını istiyoruz. Bu kadar şeyi aynı anda yapacaksa ve yaparken yüzdeleri saymasını istemiyorsak bunu Ancak Arm geçişi sağlayabilir arkadaşlar. Bu bu kadar net. Yukarıda saydığım Windows 11 yeniliklerini, Jaws 2023 ve NVDA eklenti sayfasındaki en işe yarar eklentileri aynı anda kullanmak istiyorsak ve bunu $1500 değerinde bir sistem ile değil de $300 değerindeki daha hafif ve ekonomik bir sistem ile yapmayı istiyorsak Arm ile ancak bu sağlanabilir. X86 yapısının ve AGP formatında tasarlanan PC’nin yapısı daha fazla güç için daha fazla enerji çeken daha büyük donanımları gerektiriyor. Aksi halde Word’de daha rahat çalışmak için 3D render yapacak bilgisayara sahip olmak gerekliliğinin olacağı günler yakın gibi duruyor. Bu biraz kısır bir döngü gibi. Güçlenen ve küçülen donanımlar, bizi hantal sistemlerden kurtardı geçmişte ama; bizim ekran okuyuculardan beklentimiz arttıkça daha güçlü ve daha büyük sistemlere yönelmemizi gerektiriyor.

Etiketler

Yorumlar

Bu yazı için henüz yorum yok.

Yeni Yorum