64-bit İşlemciler Neler Getiriyor?
1 sayfadaki 1 sayfası
64-bit İşlemciler Neler Getiriyor?
Bu yazımızda son günlerin en hararetli konusu olan 64-bit işlemcilerin biz kullanıcılar için neler sunduğunu çok fazla detaya girmeden teknik açılardan ele almaya çalışacağız. Konunun daha rahat anlaşılabilmesi için yeri geldikçe işlemciler hakkında bazı küçük hatırlatmalarda bulunacağız.
Öncelikle komut seti kavramını ele alalım. Komut seti işlemcinin anlayabildiği en temel ve ilkel komutlar kümesidir. Bu seti oluştuan komutların formatını ve içeriğini işlemcinin mimarisi belirler. Birçok komut setinde ortak olan komutlara örnek olarak toplama, çarpma gibi aritmetik işlemleri, büyük mü, eşit mi ya da küçük mü gibi karşılaştırma işlemlerini, VE, VEYA, SOLA KAYDIR gibi mantık işlemlerini, koşullu/koşulsuz dallanma gibi program akışını kontrol eden komutları gösterebiliriz. Bütün bu komutların ortak özellikleri girdi olarak ya belirli bir bellek adresinde ya da bir işlemci yazmacında (register) saklanan değerleri almaları ve karşılığında yine bir değer oluşturup belli bir bellek konumuna kaydetmeleridir. Örneğin toplama işlemini ele alırsak:
TOPLA R1, R2, R3
Bu komut, R1 ve R2 yazmaçlarındaki değerleri toplayıp sonucu R3 yazmacına yazar.
Bu ve benzeri komutların üzerinde işlem yaptıkları ve sonucu yazdıkları yazmaçların genişliği yani kaç bitten oluştukları değişken olabilir. Temel olarak aynı olan komut set içerisinde farklı adlandırılarak değişik boyutlarda veri üzerinde işlem olanağı sağlanır. Mesela toplama işlemi:
TOPLA_B : Byte, yani 8-bit Toplama işlemi
TOPLA_W : Word, yani 16-bit Toplama İşlemi
TOPLA_LW: Long Word, yani 32-bit Toplama İşlemi
gibi farklı biçimler alabilir. Konumuz olan 64-bit kavramını bu noktada devreye sokabiliriz. 32-bitlik bir işlemcide komutların üzerinde işlem yapabildikleri en uzun temel veri 32 bit iken, 64-bitlik bir işlemcide bu tam tamına iki katı; yani 64-bit. Bir örnekle açıklamak istersek 64-bitlik bir işlemcinin komut setinde iki 64-bit sayıyı toplayıp sonucu 64-bit (ve varsa 1 bitlik eldesi) olarak saklayabilen bir komuta rastlamak mümkündür. 32-bitlik bir işlemci için de 64-bitlik toplama yapan bir komut tanımlamak mümkün olurdu ancak bunu yapabilmenin tek yolu 64-bitlik toplamayı üst ve alt 32-bitleri iki ayrı 32-bitlik toplama işleminde birinin eldesini diğer toplama işlemine aktararak gerçekleştirmek ve iki sonucu 64 bit olarak yanyana birleştirmek olduğundan durum işlemcinin tasarımı ve mimarisi açısıdan daha karmaşık bir hal alırdı. Bununla kalmayıp sonucun elde edilmesi için en az iki toplama işlemi kadar beklemek durumunda kalırdık. 64-bit işlemcimizde ise aynı işlem iki yerine sadece bir 32-bitlik toplama işleminin süresi kadar olacak. Çarpma gibi toplamaya kıyasla çok daha karmaşık olan işlemler için ise bu avantaj çok daha belirgin bir hal alır. Kısaca, çok daha kısa bir sürede daha büyük tamsayılar ya da daha yüksek çözünürlüklü ondalık sayılar üzerinde aritmetik ve mantık işlemleri gerçekleştirebileceğiz.
64-bit kullanarak 2 üzeri 64, yani 18446744073709551616 farklı sayı ifade edebilmek mümkün. 32-bit'in sınırı olan 2 üzeri 32, yani 4294967296 ile kıyaslandığında bu çok büyük bir avantaj. Bu sayede işlemci, örneğin, ekran kartına gönderilmek üzere çok daha detaylı veriyi çok daha kısa zamanda hazırlayabilir. Internet!teki veri trafiğinde güvenlik amacıyla (mesela internet alışverişlerinde) kullanılan şifreleme algoritmalarında olabildiğince büyük sayılarla kısa sürede veri işleyebilmek güvenliği çok daha üst seviyelere taşır. Bu da demektir ki çok daha güvenli bir internet ortamına çok daha hızlı erişim sağlamamız mümkün olacak.
32-bit uygulamaların çalıştırılmasında da büyük avantajlar sağlamak mümkün. Eğer kod düzenleyiciler (compiler) gerekli desteği verirse 32-bit uygulamaları çok daha verimli ve hızlı çalıştırabileceğiz. Mesela iki 32-bit toplama işlemini iki ayrı toplama işlemi yerine tek bir 64-bitlik toplamaya dönüştürerek performans arttırılabilir.
Adresleme açısından da büyük avantajlar mevcut. Adreslenebilen bellek aralığı (2 üzeri 64) 32-bit işlemcilere göre 2 üzeri 32 kat büyük. Bu sayede daha yüksek kapasitelerde veri saklamak, daha büyük sabit disklere ve RAM belleklere erişim sağlayabileceğiz. Bunun yanında yazılımların okuyup yazabildikleri dosya boyutları da genişleyecek. Özellikle bilimsel araştırmalarda kullanılan uzun zamanlı ve detaylı gerçek hayat simulasyonlarında olağanüstü performans artışları sağlanacak ve daha önceden ancak çok yüksek fiyatlı iş istasyonlarında mümkün olanları evimizde gerçekleştirmek bir hayal olmaktan çıkacak. 64-bit'in getirdiği bu tarz avantajlara en güzel örneği insanın gen haritasının çıkarılmasını mümkün kılan, eski adıyla Digital Equipment Corporation; sonraki el değiştirmenin ardından Compaq tarafından tasarlanan 64-bitlik Alpha işlemcileridir. Daha önce 64-bitlik Alpha işlemcilerini evlerimize uygun fiyatlarla sokabilme fırsatı denenmiş ancak Microsoft'un Alpha NT işletim sistemini geliştirmeyi durdurması buna bir nokta koymuştur.
DEC Alpha İşlemcisi: Çağının çok ilerisinde bir 64-bit işlemciydi.
Bunların yanısıra tam performans sağlayabilmek için bu işlemcileri 32-bitlik olanlara göre daha büyük kapasitede belleklerle beslemek gerekecek. Bu gereklilik özellikle kasa (cache) belleklerde kendini gösteriyor. İşlemci yongası üzerinde yer aşan ve işlemciyle aynı hızlarda çalışabilen birinci, ikinci ve bazı durumlarda üçüncü seviye tampon belleklerin (L1, L2 ve L3 cache) performanslarını belirleyen unsur, saklayabildikleri BİRİM veri sayısıdır. Burada BİRİM kelimesini vurgulamamızın nedeni bu birimin 64-bit işlemcilerde 64-bit, 32-bit işlemcilerde ise 32-bit; yani yarısı olması. Bu demek oluyorki, aynı miktarda bellek 64 bitlik bir işlemcide 32-bitliğin yarısı sayıda BİRİM veri depolayabilecektir, ki bu da performansının düşük olacağı anlamına gelir. Bu açığı dengelemek için yonga üzerine en az iki kat daha büyük tampon bellek yerleştirmeyi gerektirir. Tamin edeceğiniz gibi yonga üzerinde daha fazla bellek demek daha büyük yonga, yani daha düşük üretim verimi, yani daha pahalı yonga demektir. 0.13 mikron teknolojisiyle bir Athlon64 çekirdeği üretmek bir Barton çekirdeği üretmeye kıyasla daha maliyetli olacaktır.
Yonganın alanca büyümesine sebep olan diğer bir etken de çekirdek üzerinde oradan oraya dolaşan veri/adres yollarının ve zaten çok yer kaplayan aritmetik-mantık işlem ünitelerinin (ALU) artık 32 bit yerine 64 bit olmaları, dolayısıyla yonga üzerindeki zaten hat safhadaki karmaşanın ikiye katlanması. Bu konu, üretimin yanı sıra tasarım ve test süreçlerinin uzunluğunu, yönetimini ve gerekli insan gücünün boyutunu da arttırarak tasarım ve test maliyetinin de artmasına yol açar. Bu açığın kapatılması daha küçük yonga alanı gerektirecek olan yeni üretim teknolojileriyle mümkün olacaktır.
Yonga üzerindeki veri/adres yollarının ve bellek hücrelerinin sayıca ikiye katlanması güç tüketen elemanların sayısının da en az iki katına çıkması demektir, ki bu da güç tüketimini mantıklı değerlerde tutmayı oldukça güçleştirir. Bu dezavantaj da diğerleri gibi yeni kılıflama ve yerı-iletken üretim teknolojilerinin sağladıklarıyla dengelenecektir. Athlon64'te kullanılan 940 ve üzeri sayıda pin gereksiniminin altında yatan sebepler yukarıda bahsettiğimiz karmaşanın bir sonucudur. Daha çok transistör demek, daha çok akım; çok akım ise aynı besleme voltajında daha çok güç tüketimi anlamına gelir. Çok akımı mümkün olduğunca verimli biçimde işlemciye aktarmanın yolu ise besleme gerilimi ve toprak için daha çok sayıda pin kullanmayı gerektirir. Güç tüketiminin azaltılması için besleme voltajı da düşürülmelidir ki bunu da ancak 90 nanometre teknolojisine geçildiğinde görebileceğiz.
Bütün bunlara paralel olarak, çevre birimlerle haberleşmeyi sağlayan PCI, AGP ve FSB gibi arayüzler de 64 bitlik işlem yapma gücünü bir avantaj olarak kullanabilmek için veri yolu boyutlarını ve veri akış hızını arttırma yoluna gidecektir. PCI Experess gibi daha geniş veri yollu ve daha yüksek hızlı arayüz standartları yaygınlaşacaktır. Yonga setiyle bağantıyı sağlayan FSB veri hattı da bu işleme gücünü tam verimle kullanabilmek için veri yolu genişliği ve çalışma frekansı açılarından daha yüksek değerlere ulaşmak zorunda kalacaktır.
64-bitlik güce bu derece yakın olmak eminiz ki hepimizi heyecanlandırıyor. Ancak bu gücü gerçek anlamda tadabilmek için 64-bit yazılım ve uygulamaların yol katetmesini beklememiz gerekecek. Tavsiyemiz, RAM'ler için biraz daha fazla para ayırmanız, para sorun değilse yeni 64-bitlik canavarlardan bir tanesine hemen sahip olmanız ve sorun ise sabredip 64-bitlik işletim sistemi ve yazılım konuları netleştikten ve de işlemci fiyatları düştükten sonra 64-bit'e terfi konusunu mutlaka ciddi bir biçimde ele almanız. Şundan emin olabilirsiniz ki, bu terfi(yazılım desteği de olduğunda) size her konuda olumlu olarak geri dönecektir.
Öncelikle komut seti kavramını ele alalım. Komut seti işlemcinin anlayabildiği en temel ve ilkel komutlar kümesidir. Bu seti oluştuan komutların formatını ve içeriğini işlemcinin mimarisi belirler. Birçok komut setinde ortak olan komutlara örnek olarak toplama, çarpma gibi aritmetik işlemleri, büyük mü, eşit mi ya da küçük mü gibi karşılaştırma işlemlerini, VE, VEYA, SOLA KAYDIR gibi mantık işlemlerini, koşullu/koşulsuz dallanma gibi program akışını kontrol eden komutları gösterebiliriz. Bütün bu komutların ortak özellikleri girdi olarak ya belirli bir bellek adresinde ya da bir işlemci yazmacında (register) saklanan değerleri almaları ve karşılığında yine bir değer oluşturup belli bir bellek konumuna kaydetmeleridir. Örneğin toplama işlemini ele alırsak:
TOPLA R1, R2, R3
Bu komut, R1 ve R2 yazmaçlarındaki değerleri toplayıp sonucu R3 yazmacına yazar.
Bu ve benzeri komutların üzerinde işlem yaptıkları ve sonucu yazdıkları yazmaçların genişliği yani kaç bitten oluştukları değişken olabilir. Temel olarak aynı olan komut set içerisinde farklı adlandırılarak değişik boyutlarda veri üzerinde işlem olanağı sağlanır. Mesela toplama işlemi:
TOPLA_B : Byte, yani 8-bit Toplama işlemi
TOPLA_W : Word, yani 16-bit Toplama İşlemi
TOPLA_LW: Long Word, yani 32-bit Toplama İşlemi
gibi farklı biçimler alabilir. Konumuz olan 64-bit kavramını bu noktada devreye sokabiliriz. 32-bitlik bir işlemcide komutların üzerinde işlem yapabildikleri en uzun temel veri 32 bit iken, 64-bitlik bir işlemcide bu tam tamına iki katı; yani 64-bit. Bir örnekle açıklamak istersek 64-bitlik bir işlemcinin komut setinde iki 64-bit sayıyı toplayıp sonucu 64-bit (ve varsa 1 bitlik eldesi) olarak saklayabilen bir komuta rastlamak mümkündür. 32-bitlik bir işlemci için de 64-bitlik toplama yapan bir komut tanımlamak mümkün olurdu ancak bunu yapabilmenin tek yolu 64-bitlik toplamayı üst ve alt 32-bitleri iki ayrı 32-bitlik toplama işleminde birinin eldesini diğer toplama işlemine aktararak gerçekleştirmek ve iki sonucu 64 bit olarak yanyana birleştirmek olduğundan durum işlemcinin tasarımı ve mimarisi açısıdan daha karmaşık bir hal alırdı. Bununla kalmayıp sonucun elde edilmesi için en az iki toplama işlemi kadar beklemek durumunda kalırdık. 64-bit işlemcimizde ise aynı işlem iki yerine sadece bir 32-bitlik toplama işleminin süresi kadar olacak. Çarpma gibi toplamaya kıyasla çok daha karmaşık olan işlemler için ise bu avantaj çok daha belirgin bir hal alır. Kısaca, çok daha kısa bir sürede daha büyük tamsayılar ya da daha yüksek çözünürlüklü ondalık sayılar üzerinde aritmetik ve mantık işlemleri gerçekleştirebileceğiz.
64-bit kullanarak 2 üzeri 64, yani 18446744073709551616 farklı sayı ifade edebilmek mümkün. 32-bit'in sınırı olan 2 üzeri 32, yani 4294967296 ile kıyaslandığında bu çok büyük bir avantaj. Bu sayede işlemci, örneğin, ekran kartına gönderilmek üzere çok daha detaylı veriyi çok daha kısa zamanda hazırlayabilir. Internet!teki veri trafiğinde güvenlik amacıyla (mesela internet alışverişlerinde) kullanılan şifreleme algoritmalarında olabildiğince büyük sayılarla kısa sürede veri işleyebilmek güvenliği çok daha üst seviyelere taşır. Bu da demektir ki çok daha güvenli bir internet ortamına çok daha hızlı erişim sağlamamız mümkün olacak.
32-bit uygulamaların çalıştırılmasında da büyük avantajlar sağlamak mümkün. Eğer kod düzenleyiciler (compiler) gerekli desteği verirse 32-bit uygulamaları çok daha verimli ve hızlı çalıştırabileceğiz. Mesela iki 32-bit toplama işlemini iki ayrı toplama işlemi yerine tek bir 64-bitlik toplamaya dönüştürerek performans arttırılabilir.
Adresleme açısından da büyük avantajlar mevcut. Adreslenebilen bellek aralığı (2 üzeri 64) 32-bit işlemcilere göre 2 üzeri 32 kat büyük. Bu sayede daha yüksek kapasitelerde veri saklamak, daha büyük sabit disklere ve RAM belleklere erişim sağlayabileceğiz. Bunun yanında yazılımların okuyup yazabildikleri dosya boyutları da genişleyecek. Özellikle bilimsel araştırmalarda kullanılan uzun zamanlı ve detaylı gerçek hayat simulasyonlarında olağanüstü performans artışları sağlanacak ve daha önceden ancak çok yüksek fiyatlı iş istasyonlarında mümkün olanları evimizde gerçekleştirmek bir hayal olmaktan çıkacak. 64-bit'in getirdiği bu tarz avantajlara en güzel örneği insanın gen haritasının çıkarılmasını mümkün kılan, eski adıyla Digital Equipment Corporation; sonraki el değiştirmenin ardından Compaq tarafından tasarlanan 64-bitlik Alpha işlemcileridir. Daha önce 64-bitlik Alpha işlemcilerini evlerimize uygun fiyatlarla sokabilme fırsatı denenmiş ancak Microsoft'un Alpha NT işletim sistemini geliştirmeyi durdurması buna bir nokta koymuştur.
DEC Alpha İşlemcisi: Çağının çok ilerisinde bir 64-bit işlemciydi.
Bunların yanısıra tam performans sağlayabilmek için bu işlemcileri 32-bitlik olanlara göre daha büyük kapasitede belleklerle beslemek gerekecek. Bu gereklilik özellikle kasa (cache) belleklerde kendini gösteriyor. İşlemci yongası üzerinde yer aşan ve işlemciyle aynı hızlarda çalışabilen birinci, ikinci ve bazı durumlarda üçüncü seviye tampon belleklerin (L1, L2 ve L3 cache) performanslarını belirleyen unsur, saklayabildikleri BİRİM veri sayısıdır. Burada BİRİM kelimesini vurgulamamızın nedeni bu birimin 64-bit işlemcilerde 64-bit, 32-bit işlemcilerde ise 32-bit; yani yarısı olması. Bu demek oluyorki, aynı miktarda bellek 64 bitlik bir işlemcide 32-bitliğin yarısı sayıda BİRİM veri depolayabilecektir, ki bu da performansının düşük olacağı anlamına gelir. Bu açığı dengelemek için yonga üzerine en az iki kat daha büyük tampon bellek yerleştirmeyi gerektirir. Tamin edeceğiniz gibi yonga üzerinde daha fazla bellek demek daha büyük yonga, yani daha düşük üretim verimi, yani daha pahalı yonga demektir. 0.13 mikron teknolojisiyle bir Athlon64 çekirdeği üretmek bir Barton çekirdeği üretmeye kıyasla daha maliyetli olacaktır.
Yonganın alanca büyümesine sebep olan diğer bir etken de çekirdek üzerinde oradan oraya dolaşan veri/adres yollarının ve zaten çok yer kaplayan aritmetik-mantık işlem ünitelerinin (ALU) artık 32 bit yerine 64 bit olmaları, dolayısıyla yonga üzerindeki zaten hat safhadaki karmaşanın ikiye katlanması. Bu konu, üretimin yanı sıra tasarım ve test süreçlerinin uzunluğunu, yönetimini ve gerekli insan gücünün boyutunu da arttırarak tasarım ve test maliyetinin de artmasına yol açar. Bu açığın kapatılması daha küçük yonga alanı gerektirecek olan yeni üretim teknolojileriyle mümkün olacaktır.
Yonga üzerindeki veri/adres yollarının ve bellek hücrelerinin sayıca ikiye katlanması güç tüketen elemanların sayısının da en az iki katına çıkması demektir, ki bu da güç tüketimini mantıklı değerlerde tutmayı oldukça güçleştirir. Bu dezavantaj da diğerleri gibi yeni kılıflama ve yerı-iletken üretim teknolojilerinin sağladıklarıyla dengelenecektir. Athlon64'te kullanılan 940 ve üzeri sayıda pin gereksiniminin altında yatan sebepler yukarıda bahsettiğimiz karmaşanın bir sonucudur. Daha çok transistör demek, daha çok akım; çok akım ise aynı besleme voltajında daha çok güç tüketimi anlamına gelir. Çok akımı mümkün olduğunca verimli biçimde işlemciye aktarmanın yolu ise besleme gerilimi ve toprak için daha çok sayıda pin kullanmayı gerektirir. Güç tüketiminin azaltılması için besleme voltajı da düşürülmelidir ki bunu da ancak 90 nanometre teknolojisine geçildiğinde görebileceğiz.
Bütün bunlara paralel olarak, çevre birimlerle haberleşmeyi sağlayan PCI, AGP ve FSB gibi arayüzler de 64 bitlik işlem yapma gücünü bir avantaj olarak kullanabilmek için veri yolu boyutlarını ve veri akış hızını arttırma yoluna gidecektir. PCI Experess gibi daha geniş veri yollu ve daha yüksek hızlı arayüz standartları yaygınlaşacaktır. Yonga setiyle bağantıyı sağlayan FSB veri hattı da bu işleme gücünü tam verimle kullanabilmek için veri yolu genişliği ve çalışma frekansı açılarından daha yüksek değerlere ulaşmak zorunda kalacaktır.
64-bitlik güce bu derece yakın olmak eminiz ki hepimizi heyecanlandırıyor. Ancak bu gücü gerçek anlamda tadabilmek için 64-bit yazılım ve uygulamaların yol katetmesini beklememiz gerekecek. Tavsiyemiz, RAM'ler için biraz daha fazla para ayırmanız, para sorun değilse yeni 64-bitlik canavarlardan bir tanesine hemen sahip olmanız ve sorun ise sabredip 64-bitlik işletim sistemi ve yazılım konuları netleştikten ve de işlemci fiyatları düştükten sonra 64-bit'e terfi konusunu mutlaka ciddi bir biçimde ele almanız. Şundan emin olabilirsiniz ki, bu terfi(yazılım desteği de olduğunda) size her konuda olumlu olarak geri dönecektir.
1 sayfadaki 1 sayfası
Bu forumun müsaadesi var:
Bu forumdaki mesajlara cevap veremezsiniz