lazye
Üye
Bu yazıyı alıntı yaptın başka bir yerde daha okumuştum hatta sinan diye biri dimi ahahaYİNE SÖYLÜYORUM: KONUYU SYMBİAN ÇOK İYİDİR, ASLA KASMAZ FALAN DEMEK İÇİN DEĞİL, SYMBİANLA DALGA GEÇENLER İÇİN AÇTIM...İsterseniz şimdi mobil bir cihazdaki işlemci
hızının aslında ne anlama geldiğini ve ne anlama gelmediğini hep birlikte görelim. (Dikkat! iPhone 4’ün saat hızı kaynak eklenerek güncellenmiştir!) Öncelikle ilk yanlışı masaya
yatıralım: İşlemcinin saat hızı (MHz birimindeki
değer) işlemcinin işlem gücünü
gösterirİşlemcinin saat hızı, işlemcinin
saniyedeki veri işleme gücü hakkında bilgi
edinmemizi sağlayan bir kaç faktörden biri olmasına rağmen kesinlikle tek faktör değildir.
İşlemcinin işlem gücünü belirleyen diğer
faktörleri kısaca: işlemcinin belleğe erişim hızı işlemcinin kaç ayrı çekirdeği olduğu her çekirdekte kaç ayrı iş hattı (pipeline)
olduğu her iş hattının kaç kademeden (stage)
oluştuğu bu kademelerin sırayla (in-order) veya
sırasız (out-of-order) çalışıp çalışmadığı şeklinde özetleyebiliriz (Bkz Not: 1 ve 2). Yani bir
diğer deyişle işlemcinin MHz cinsinden saat hızı, işlemcinin gücü hakkında salt olarak bize hiç bir sağlıklı fikir veremez.Bu yüzdendir ki 600 MHz saat hızında çalışan ARMv7 komut setli bir
Cortex A8 işlemci, yine 600 MHz saat hızında
çalışan ARMv6 komut setli bir ARM 11 işlemciden
çok daha güçlü ve hızlıdır. Ayrıca bunlar işin
sadece donanımsal yönüdür, haliyle bir de
yazılımsal yönü vardır. S: İşlemcinin gücünü yazılım nasıl etkiler? C: Çok güçlü bir arabayı dandik bir şöförün kullanımı hız açısından nasıl etkilerse o şekilde
etkiler. Şimdi örnek vermeyi bırakıp gerçeğe
dönecek olursak mobil işletim sistemlerinin
işlemciyi nasıl kullandığına bakmamız gerekir. Ön bilgi: İşlemciyi hemen hemen hiç bir uygulama doğrudan kullanamaz çünkü işlemcinin dilinden
(Assembly makine dili) konuşamazlar, bu
yüzden ihtiyaçları olan işlemleri işlemcinin
dilinden konuşmayı bilen işletim sistemine
iletirler.Uygulamalar işletim sistemi ile doğrudan
iletişebiliyor ve işletim sisteminin bir parçası gibi davranabiliyorsa doğal (native) uygulama olurlar
ve Symbian ile iOS işletim sistemleri uygulamaların doğal halde çalışmasına olanak
sunar.Fakat Android işletim sistemi adına Dalvik VM denilen ve doğal olamayan uygulamalarının söylediklerini işletim sisteminin anlayacağı dile
çeviren ek bir doğal uygulama (Sanal Makine
Virtual Machine) kullanıyor çünkü (Android NDK
ile geliştirilmemiş) Android uygulamaları doğal
modda çalışamıyor. Peki bu bizim için ne anlama
geliyor?Symbian ile iOS uygulamaları işlemcinin gücünün yaklaşık %95 ile %90ı arasındaki bir miktarı doğrudan kullanabilirken, Androidde bu
oran (araya tercümanlık için giren Dalvik VMin
işlemci gücünden pay alması
yüzünden) %75 ile %60 arasına kadar düşebiliyor.Yani bir diğer deyişle bir uygulama
Symbian ile iOS işletim sistemlerinde 900 MHz hız ile çalışabilmek için diyelim ki 1000 MHz işlemciye ihtiyaç duyuyorsa, Android işletim sisteminde 900 MHz hız ile çalışabilmek için 1200 ~ 1500 MHz arasında bir işlemciye ihtiyaç duyuyor, çünkü aradaki farkı Dalvik VM kullanıyor. Umarım şimdi modern Android cihazlarda neden en az 1
GHz işlemci kullanıldığını daha iyi
anlıyorsunuzdur,çünkü ancak bu şekilde işlemcinin uygulamalardaki etkin saat hızı 750 ~ 600 MHz civarında olabiliyor.(Bkz Not: 3) İşlemcinin gücünden ne kadar faydalanıldığı
konusunda araya giren bir diğer faktör ise işletim
sisteminde donanımsal hızlandırmanın (hardware
acceleration) kullanılıp
kullanılmadığıdır.Symbian^3 ve ilerisi ile iOS işletim sisteminin kullanıcıya görünen grafiksel arayüzünü (GUI) merkezi görsel işlemci
(GPU) ile oluşturup merkezi işlemciyi (CPU)
kullanmaz.
Fakat Android henüz donanımsal hızlandırma desteklemediği için GUI CPU tarafından
oluşturulur, GPU kullanılmaz (Bkz Not: 4)Bu da
toplam performansta bir düşüşe sebep olur
çünkü toplam işlemci gücünden uygulamalara
ayrılabilen miktar yaklaşık %10 %20arasında azalmaktadır.
Yukarıda anlattıklarımızı biraz daha kolay
anlaşılabilir bir dille ifade etmemiz gerekirse:
– Nokia N8, Symbian^3 işletim sistemi kullandığı için (orjinalinde 772 MHz olduğu halde pil
ömründen tasarruf edebilmek için saat hızı
düşürülmüş) 680 MHzlik ARMv6 komut setli CPUsunun yanı sıra 300 MHzlik GPUsunu
(Broadcom BCM2727) de kullanır, böylece toplam
işlemci saat hızı 980 MHze çıkar (Bkz Not:
5), uygulamalara doğrudan ayrılabilen CPU saat hızı ise 612 ~ 646 MHzarasındadır. – Apple iPhone 4, iOS işletim sistemi kullandığı için (orjinalinde 1000 MHz olduğu halde pil
ömründen tasarruf edebilmek için saat hızı
düşürülmüş) ARMv7 komut
setli 786 MHzlik (Bkz Not: 6) CPUsuna ek olarak 200 MHzlik GPUsunu (PowerVR
SGX535) de kullanır, toplam işlemci saat hızı 986
MHze çıkar (Bkz Not: 5), uygulamalara doğrudan ayrılabilen CPU saat hızı ise 707.4 ~ 746.7 MHzarasındadır. – Samsung Galaxy S, Android işletim sistemi kullandığı için ARMv7 komut setli (saat hızı
düşürülmemiş olan) 1000 MHzlik CPUsunun yanı sıra 200 MHzlik GPUsunu (PowerVR
SGX540)kullanamaz, toplam işlemci saat hızı 1000 MHzde kalır (Bkz Not: 5) ve uygulamalara doğrudan ayrılabilen CPU saat hızı 480 ~ 675 MHz arasındadır. Gördüğünüz üzere işlemcisinin saat hızı düşük
diye yerden yere vurulan Nokia N8/E7/C7/C6-01 aslında diğer rakiplerinden daha güçsüz değildir, içlerindeki şu an piyasadaki en güçlü GPU kullanıldığı için mevzubahis uygulamanın GPUyu ne kadar kullandığına bağlı olarak rakiplerinden çok daha hızlı da olabilir. (Bkz Not: 3)
Son olarak bir bilgi daha: Yukarıda işlemcinin
belleğe erişim hızının toplam işlemci gücünü
etkileyen bir faktör olduğundan bahsetmiştik.
iPhone 4 ve Galaxy Ste kullanılan PowerVR SGX GPUlar kendi içlerinde RAM barındırmadığı için sistemin RAMini kullanırlar ve sistemin
RAMine tek RAM kontrolcüsü olduğu için aynı
anda hem CPU hem de GPU erişemez, birbirlerini
beklemek zorunda kalırlar ve bu saniyede yapılabilen işlem sayısını düşürür. Fakat şimdiye dek duyrulmuş Symbian^3
cihazlarda kullanılan Broadcom BCM2727 GPUiçerisinde 32 MB RAM ve haliyle bir de kendine ait RAM kontrolcüsü barındırdığından
sistemin RAMini pek kullanmaz, kullansa bile
ayrı RAM kontrolcüleri ile belleğe eriştiklerinden
hem CPU hem de GPU aynı anda RAMlerine erişir
ve birbirlerini beklemek zorunda kalmazlar
ve saniyede yapılabilen işlem sayısında bir düşüş yaşanmaz. Hadi buyrun bir de buradan yakın! Ekleme: Bir kaynakta bir kullanıcının Bu arada samsungu 1 buçuk yıl önce böyle bir
işlemci (kasıt i8910’daki ARM Cortex A8)
koyduğu için tebrik etmek gerek. Nokia hala
koymuyor gördüğünüz gibi. şeklindeki talihsiz ifadesine rastladık ve bunun üzerine bazı söyleyeceklerimiz var. Yukarıda yazılımın donanımdan yeterince faydalanmadığı zaman o donanımın hiç bir anlamı olmadığını Android üzerinden anlatmaya çalıştık, fakat Samsung i8910’da (ve SonyEricsson Satio ile Vivazda) kullanılan Symbian^1 (Symbian OS 9.4 + S60v5 UI) yazılımı Androidin şu anki
halinden farksız durumda, yani donanımsal hızlandırma desteklemiyor. Üstelik Samsung i8910’da kullanılan yazılım
ARM Cortex A8’in sunduğu ARMv7 komut
setinin getirdiği yenilikleri kullanacak şekilde
kodlanmadığı için Nokia N8, ARMv6 komut seti üzerinde çalışan daha eski teknolojiye
sahip bir işlemciye sahip olduğu (ve bu testler
prototip cihaz üzerinde tamamlanmamış
yazılım ile yapıldığı) halde Samsung i8910’dan %54, N8 ile daha hızlı aynı işlemci mimarisine sahip ama N8’in MHz bazında %57 daha hızlı
işlemciye sahip olduğuNokia N97’den %180 daha hızlı çıkıyor. (Bkz Not: 7) Son karşılaştırmayı bira daha düşünmek
gerek, aynı işlemci sadece %57 daha hızlı olduğu halde %180 daha güçlü sonuçlar doğurabiliyor. Aradaki fark nereden geliyor derseniz, yazımızı ya okumamış ya da
anlamamışsınızdır
Yani kısaca sadece CPUya bakıp laf konuşmak, gayet yersiz ve anlamsız olabiliyor