« PlayStation 2'nin Mimarisi (index)

PlayStation 2'nin Mimarisi

Chapter 3: İşlemci (CPU)


İçindekiler

  1. Çipteki Lider
    1. Diğerlerini aşan başarı
    2. Halk'a sunulan Üst düzey
    3. Sony'e özel bir sipariş
  2. Tanıdık bir hafıza seçimi
  3. Geçmiş aksiliklerin önlemesi
  4. Diğer ilginç parçalar

Bu konsolun özünde, Emotion Engine ya da 'EE' denilen, Toshiba ve Sony tarafından ortaklaşa dizayn edilen, ~294.91 MHz'de çalışan güçlü bir paket (çipler bütünü) görüyoruz .

Image
Emotion Engine, bu konsolun ilk anakart revizyonunda.

Çipset, sayısız bileşen içeriyor ve bunlardan biri de Ana İşlemci (CPU). Geri kalan kısımları ise belirli görevleri hızlandırmak için CPU'nun kullanımındadır. Bu analiz için EE'yi üç kısma ayıracağız:

Çipteki Lider

Kısaca açıklarsak, Ana İşlemci, bu konsol için özel tasarlanmış bir MIPS işlemci çekirdeği olan MIPS R5900. Belki hatırlarsınız ki Sony, daha ilk PlayStation'dan (ikincil kaynak olan LSI'den alınan MIPS R3000A'yı görüyoruz) MIPS silikon çipiyle risk almıştı. Sonraki nesilde ise MIPS 'R5900'le karşılaşıyoruz... ancak bu isim bizim için ne ifade ediyor?

Yeni sayıların ardında yatan şeyi anlamak için o dönemi kuşatan bir tarihî anlatıya bakalım.

Diğerlerini aşan başarı

MIPS R4000, yakın rakibi de dahil olmak üzere çok çeşitli sistemler tarafından benimsenen popüler bir işlemci serisiydi. Başarısı sayesinde MIPS, halka tek seferde pahası karşılanamayacak düzeyde gelişmeler (64-bit bilgi işleme, 8 aşamalı pipeline ve dahasını) getirdi.

İleri sararsak, sonraki büyük sıçrama 1995'te, R10000'in piyasaya sürülmesiyle gerçekleşti. Bu tarihte MIPS, SGI'ın maddî yatırımıyla, R4000'in paralellik kâbiliyetini çok ileri taşıdı ve ilk kez şunun gibi teknikler ortaya çıktı :

Böylesi bir yenilik, karmaşık bir dizayna mâl olur ancak sonuçta ortaya çıkan ürün, her şekilde ucuz değildi. SGI, bunu sadece üst düzey ekipmanlarla bir bütün hâlinde satıyordu ve bunu bir ev konsoluna taşımaya çalışmak söz konusu bile olamazdı.

Halk'a sunulan Üst düzey

R10000'in ticârî kısıtlamalarının çoktan farkına varmış olan SGI/MIPS, Quantum Effect Devices'ı (QED), R10000'in orta ve düşük seviye pazar için makul fiyatlı bir versiyonunu geliştirmesi için işe aldı. Eski MIPS çalışanları tarafından kurulmuş bir şirket olan QED, MIPS çekirdeklerinin bütçeye uygun sektör için varyantlarını dizayn ediyordu.

Nihayet, QED, R5000 adlı yeni bir işlemci çekirdeği ile döndü; bu, R10000'in kayda değer kesintilere uğramış hâliydi :

Sonuç olarak bu, SGI'ın düşük bütçeli iş istasyonları gibi enerji (güç) tasarruflu donanım için ideal bir İşlemci hâline geldi. Her halükarda, QED'in vektör/3D uygulamaları için cazip bir ürün olarak tutmayı planladığı gibi, küçültülmüş pipeline'ın hala eşzamanlı kayan nokta işlemleri gerçekleştirdiğini unutmayın. Yakında başka bir şirketin de bunu hızla not ettiğini göreceksiniz.

İlave not olarak, ilginçtir ki okyanusun öbür ucunda da benzer geliştirmeler vardır fakat aksi yönde: ARM çiplerini üst düzey pazara taşımak uğruna ARM, DEC ile güçlerini birleştirdi.

Sony'e özel bir sipariş

Toshiba bir süredir MIPS lisansı sahibiydi ve MIPS varyasyonları ve paketleri üretmeye yabancı değildi. Bir noktada Sony ve Toshiba, Sony'nin yakında çıkacak konsolu için özel olarak tasarlanmış bir CPU üretmek üzere güçlerini birleştirdi. Bu Toshiba için muazzam bir avantajdı: CPU'ların çoğu zaman farklı paydaşlardan gelen çok sayıda gereksinimi karşılaması gerekir ve bunu yaparken uzmanlaşmaya yönelik fırsatları kısıtlar. Artık sadece tek bir amaç vardı: 3D oyun. Böylece her türlü yenilik için yeterli alan sağlanmış olur.

Bununla birlikte Toshiba, uygun fiyatlı R5000 tasarımını aldı ve vektör işlemlerini hızlandırmak için ince ayar yaptı. Yeni çekirdek R5900 olarak adlandırılıyor ve aşağıdaki '3D' geliştirmeleri sunuyor :

Bunların yanı sıra, geliştiricilerin hoşuna gidebilecek başka iyileştirmeler de buluyoruz:

Çekirdek, 32-bit kayan noktalı sayılarla (C'de float olarak da bilinir) olan işlemleri hızlandıran bir ayrılmış kayan nokta işleme birimi ('COP1' olarak adlandırılır) ile tamamlanmıştır. Bu alışılmadık bir parçadır çünkü IEEE 754 standardını takip etmez ve bunun en bariz olanı infinity değerinin olmayışıdır (bunun yerine 0 hesaplanır) . Bunun dışında 32 adet 32 bitlik register'a sahiptir.

Tanıdık bir hafıza seçimi

Emotion Engine'in yanında iki adet 16 MB RAM bloğu olmak üzere toplam 32 MB ana hafızası vardır. Kullanılan hafızaya 16-bit veri yolu ile ulaşılıyor, türü ise RDRAM. (dejavu!).

Image
Emotion Engine'in bellek dizaynı. Tıkanıklığın nerede ortaya çıkacağını tahmin edebilirsiniz.

İlk başta, bunu duyması biraz hayal kırıklığı yaşatabilir zira bunun aksine Emotion Engine'in dahili veriyolu 128-bit gibi büyük bir genişliğe sahip. Ancak, RAM çipleri; iki çipi bağımsız iki 16-bit veriyolu (her çipe 1 veriyolu) ile bağlamak suretiyle elde edilen çift kanallı mimariyi kullanacak şekilde stratejik olarak konumlandırılmıştır. Ortaya çıkan kurulumla teorik olarak 3,2 GB/sn'lik bir hız elde edilir, dolayısıyla hafıza gecikmesinin bu konsolda bir sorun olmayacağından emin olabilirsiniz!

Emotion Engine'in köşesinde, ana hafıza ile Karalama belleği arasında ya da ana hafıza ile EE içindeki bileşenler arasında veri transferi yapan güçlü bir Doğrudan Bellek Erişimi Kontrolcüsü (DMA Controller) ya da 'DMAC' var.

Veri aktarımı 128-bit'lik öbekler halinde yapılır fakat işin ilginç kısmı: Her sekiz öbekte bir ana veriyolunun kilidi geçici olarak açılır. Bu, paralelde (10 adede kadar) diğer DMA aktarımları ya da İşlemci'nin (CPU) ana veriyolunu kullanabilmesi için kapı aralar. Bu işleyiş biçimi (modus operandi) için dilim modu (slice mode) denir ve bu DMA birimindeki birçok mevcut moddan biridir. Şunu aklınızda bulundurun ki dilim modu, ana veriyolundaki gecikmeleri azaltmayı, DMA transferi genelinde bir yavaşlama pahasına yapar.

Geçmiş aksiliklerin önlemesi

İstesek de istemesek de Emotion Engine'in içinde meydana gelen trafiğin büyüklüğü sebebiyle, bu dizayn, sonunda Birleşik Hafıza Mimarisi ya da kısa adıyla UMA'nın getirdiği sonuçlardan muzdarip olacaktır. Şöyle ki: Birden çok bağımsız bileşen, ana hafızaya aynı anda eşirmeye çalışıp tıkanıklığa sebebiyet verecek. Aslında bu sorunu düzelmek için Sony, devamlı hafıza ihtiyacını şu yollarla hafifletti:

Bu, önbellekten yararlanabilecek uygulamalar için çok elverişli görünebilir ancak ya Görüntü Listeleri'ni (Display Lists) manipüle etme gibi önbelleği kullanmaması gereken işlemler ne olacak? Neyse ki İşlemci, sadece ve sadece Geri Yazma Arabelleğini kullanan Önbelleksiz (UnCached) Mod adlı bir diğer hafıza erişim moduna sahiptir. Böylelikle Önbelleği (Önbellek kayıplarını) düzeltmek için İşlemci döngüsü heba edilmez.

Dahası, Önbelleksiz hızlandırılmış mod da mevcut. Bu mod, hafızadaki ardışık adreslerin okunmasını hızlandırmak için bir arabellek ekler.

Diğer ilginç parçalar

Aynı Emotion Engine paketinin içinde, Image Processing Unit veya 'IPU' adı verilen ve bu kez image decompression için tasarlanmış bir işlemci daha bulunuyor. MDEC'nin halefi olan IPU, bir oyunun MPEG2 görüntülerini (movie) Ana İşlemciyi (CPU) meşgul etmeden çözmesi gerektiğinde kullanışlı olabilir.

Uzun lafın kısası, oyun, sıkıştırılmış görüntü akışını IPU'ya (umarız DMA kullanarak) gönderir ve bu GPU'nun (Grafik İşlemci) ekranda gösterebileceği bir formata çevrilir. Ayrıca PS2'nin İşletim Sistemi de DVD oynatma için IPU'dan istifade eder.

Son olarak, IPU ayrıca sıkıştırılmış Yüksek çözünürlüklü dokuları da işler. Bu da işlemci kullanımını ve büyük transferleri azaltır.


Previous: 2. Kısa bir giriş

Next: 4. Yardımcı İşlemciler (Co CPU'lar)


Rodrigo Copetti © 2026 RSS Feed

Modern baskıya geçin

Ana sayfa · Yazılar · Destek · Yazar hakkında · Web sitesini hakkında