Sevgili Apple Fanboy, Sakin ol, Elindekini Yere bırak ve Yavaşça Geri git!

Geçtiğimiz günlerde gerçekleşen Apple etkinliğinde açıklanan iPhone 5s ve 5c çabucak teknoloji çevrelerinin en çok konuşulan konusu haline geldi. Benim dikkatimi çeken bir nokta ise bu tartışmalar esnasında ortaya çıkan ve ilk defa iPhone 5s de kullanılacak olan A7 işlemcinin 64 bit oluşundan ötürü çoşan insan topluluğu. “2 kat daha fazla ‘register’ varmış”cılarla paralel çalışıyor bu arkadaşlar. Peki bu arkadaşların haberdar olmadığı kesin olan, işlemcinin 64 olmasının anlamı nedir? ondan bahsedelim biraz…

Hepimizin bildiği gibi, cep telefonları ve tabletler kişisel bilgisayarlardan farklı cihazlardır. Onları farklı yapan pek çok özellik var ama bizim bugün konuşacağımız konu işlem yapma hiyerarşileri ile ilgili. Kişisel bilgisayarlar (PC) birbirinden bağımsız bir işlemci (CPU), hafıza (RAM), bir grafik işlemcisi (GPU) ve diskten (HDD) oluşurlar. Bunların birbiriyle olan iletişimi için gereken veriyolları (BUS) anakart üzerinde bulunur. Mobil cihazlarda ise daha farklı bir yaklaşım kullanılmaktadır. Mobil cihazlar çip üzerinde sistem (System on Chip, “SoC) denilen ve biraz önce sıraladığım bileşenlerin çoğunu veya tamamını üstünde bulunduran entegreler kullanmaktadırlar. Bu fark çok önemli görünmeyebilir ancak çok ciddi sonuçları vardır. Bir çipin üzerinde pek çok bileşenin bulunması güvenilirlik bakımından pozitif etki yaratsa da (veriyolları çipin içinde bulunduğundan daha korunaklıdır), müdahale edilebilirliği ve değiştirilebilirliği tamamen ortadan kaldırmaktadır (bir bileşenin düzgün çalışmaması tüm SoC’nin, hatta çoğunlukla da tüm gömülü sistemin çöpe gitmesi demektir).

iPhone örneği ile devam edecek olursak iPhone üzerindeki Soc CPU(aşağıdaki çizimde bulunan cache ve clock da dahil olmak üzere), GPU, DRAM ve başka I/O bileşenlerini içermektedir. Bu SoC’leri dizayn eden firma ARM olup Apple’ın en son iPhone’unda kullandığı A7 işlemci ise aslında ARMv8 mimarisinin modifiye edilmiş bir uygulamasıdır.

560da_A+Computer

Şimdi 64 bit’in anlamından bahsedelim biraz. Tüm programlar bilgisayara basit komutlar şeklinde uygulatılır ve program bitiminde size sonuç olarak döner. 32 bit veya 64 bit işlemci bakımından bu basit komutların uzunluğunu gösterir. Dolayısı ile 32 bit’ten 64 bit’e geçiş işlemci bakımından tüm komutların değişmesi anlamına gelmektedir. Bu noktada araştırma yapmanıza gerek kalmadan içinize su serpmeyi bir görev olarak görüyorum ve ekliyorum: ARMv8 mimarisi ARMv7 ile tamamen uyumlu! Yani önceki uygulamaların telefonunuzda çalışmaması için bir neden yok.

64 bit’in BUS ve RAM bakımından daha farklı bir anlamı var. Artık işlemcimiz 64 bitlik cümlelerle konuştuğuna göre registerlarımız da (cümlelerin tutulduğu küçük hafıza birimleri. çok hızlıdırlar ama kapasiteleri ve sayılşarı çok azdır) 64 bit olmak zorunda. Bu da şöyle bir sonuca yol açıyor, artık daha fazla RAM adresleyebiliyoruz. Bunu çok basitçe açıklamam gerekirse: Türkiye’deki araç plakalarının hiçbirinde 3 harf ve 3 rakam aynı anda bulunamıyormuş (nereden bildiğimi sormayın). 2 veya daha az harf olanlar için 4 e kadar rakam, 3 harfliler içinse 2 rakam bulunabiliyor. Bu da şu sonuca yol açıyor, adınızın 3 harfli kısaltması olan bir plaka isterseniz piyasada sadece 100 tane mevcut, 2 harfli harfli kısaltmasını isterseniz 10 bin tane mevcut. İstanbul’da 10 bin tane “hc” plakalı araç var ama sadece 100 tane “hcy” mevcut. Bunun nedeni ise doğal olarak basamak sayısının 2 den 4 e çıkmış olması. 2 tabanındaki sayılar için 32′den 64′e çıkışın çok önemli olmadığını düşünen varsa beri gelsin, 32 bit’le en fazla 4 gigabyte adresleyebiliyorken 64 bit’le adreslenebilen miktarda RAM’e sahip bilgisayar daha anasının karnından doğmadı.

Bu noktada asıl tartışma konumuza geri dönelim de neden bunun da hiçbir işimize yaramayacağını açıklayayım. Az önce bahsettiğim üzere SoC’lere müdahale edilemez. Dolayısı ile iPhone 5′in içindeki 1GB RAM’i söküp oraya 2 tane 8′lik RAM atma şansınız yok. Yani iPhone 5s asla 64 bit’lik SoC’ye sahip olmanın bu avantajından faydalanamayacak. Dahası, şu anda RAM bakımından rekoru elinde bulunduran Galaxy Note 3 3GB RAM’e sahip. iPhone 5s’in ise 2GB RAM’e sahip olacağı rivayet ediliyor. Teknoloji çevrelerinde ise RAM konusunda 32 bit duvarına çarpmaya 3-5 yıl olduğu öngörülüyor.

Son olarak register boyutunun ve sayısının etkisinden bahsetmek istiyorum. Register boyutu büyüyünce register içinde daha fazla veri tutmak durumunda kalacak ve bu veriyi tutabilmek için de daha fazla enerji harcayacak. Bunun zaten güç tüketimi sorunu yaşayan iPhone 5′in veliahtı için sorun olacağını düşünüyorum.

Sonuç:

A7 kesinlikle A6′dan daha hızlı ancak bunun 64 bit oluşuyla en ufak bir ilgisi yok. 64 bit olmasının Apple’a teknolojik vizyon haricinde katacağı tek şey daha kötü bir batarya ömrüdür.