Hitachi için işler sorunsuz ilerliyordu, ikonik SuperH çipleri birden fazla müşteri bulmuştu ve şirket artık serinin dördüncü sürümü için hazırdı. Yeni girişleri, gömülü yetenekleri 3D oyunların sahip olduğu işlevsellikle birleştirecek.
SuperH'yi ilk benimseyenlerden biri olan Sega, yeni konsollarına güç sağlamak için şaşırtıcı olmayan bir şekilde Hitachi'nin son ürününü seçti. Bu nedenle Dreamcast'te SH-4 CPU bulunmaktadır ve bu işlemci 200 MHz hızında çalışmaktadır. Ayrıca, bu sefer işleri yoluna koymak için, sadece bir tane tam donanımlı CPU var.
Teklif
Bununla birlikte, bu yeni işlemci hakkında ilginç olan nedir?
Öncelikle, SH-4 önceki modellerin bir süper seti olarak devam ediyor, yani 32-bit RISC mimari, 5 aşamalı pipeline ve 16-bit instruction set dahil olmak üzere SuperH serisinin mevcut tüm özelliklerini miras alıyor. Ne yazık ki, aynı zamanda control hazards'ın da mirasçısıdır.
Bunun da ötesinde, yeni nesil CPU olarak, gömülü uygulamaların kapsamının ötesine geçen birçok iyileştirme sunuyor :
- 2-way superscalar pipeline: CPU'nun pipeline'nın her aşamasında birden fazla komut (bu durumda iki) işleyebildiği yeni bir paralellik tekniği. Bu da saniyede daha fazla talimatın yürütülmesine neden olur.
- Perde arkasında, CPU iki talimatı iki farklı (ve kullanılabilir) yürütme birimine dağıtıyor. Bu nedenle - çok küçük bir grup hariç - tüm komutların paralelleştirilmesi için farklı türlerde (yani branching, aritmetik, vb.) olması gerekir . Aksi takdirde, yalnızca sıralı olarak yürütülebilirler. Her ne olursa olsun, SH-4 aynı zamanda asla paralelleştirilemeyecek bir talimat alt kümesi de sergiler, çünkü bunu mümkün kılmak için çok fazla bağımlılık içerirler.
- 8 KB instruction cache ve 16 KB data cache: Konsollar data cache'den daha fazla instruction cache içerme eğiliminde olduğundan bu oran oldukça ilginçtir. Ancak SH-4, veri önbelleğinin iki bölüme ayrılmasına izin verir: 8 KB Scratchpad (hızlı RAM) ve 8 KB veri önbelleği.
Özel bir çalışma
Bir oyun konsolu CPU'sunun ortak işleri arasında bir oyunun mantığını idare etmek, düşman yapay zekasını çalıştırmak ve GPU'yu instruction'la beslemek yer alır.
Dreamcast ile GPU'nun yalnızca rasteriser görevlerini yerine getirdiğini göreceksiniz. Dolayısıyla, CPU'nun grafik işlem hattının büyük bir kısmına dahil olması gerekir. Bu, CPU'nun büyük miktarda geometri verisini işleyeceği anlamına gelir (perspektif dönüşümlerini hesaplamak gibi). Şimdi, CPU'nun bu rolü sürdürebilmesini sağlamak için Sega ve Hitachi işbirliği yaparak SH-4'e iki önemli eklenti eklediler.
İlk eklenti özel bir 64-bit Kayan Nokta Birimi (FPU). Bu bileşen, IEEE-754 standardına uyarak 32 bit ondalık sayıları ('single-precision' veya 'float' olarak adlandırılır) veya 64 bit olanları ('double-precision' veya 'double' türü) hesaplar. Register dosyası otuz iki 32 bitlik register'dan oluşur, ancak bunlar aynı zamanda on altı 64 bitlik register'dan oluşan farklı bir grupta birleştirilebilir, bu da birimin double işlem yapabilmesini sağlar.
Bu yeterli gelmediyse, Hitachi FPU ile bir adım daha ileri gitti ve bu kez sekiz 128 bitlik register'dan oluşan başka bir register grubu oluşturmak için ekstra logic uyguladı. İçinde her bir register artık dört adet 32 bit float ya da başka bir deyişle 128 bit vektör olarak saklamaktadır. Bu format grafikle ilgili işlemler için idealdir.
Yeni vektörleri iyi bir şekilde kullanmak için FPU, Saturn Control Unit'in sağladığı gibi bunları çalıştırmak için özel instruction'lar içerir, ancak sektör artık daha standart hale gelmiştir. Yeni talimatlar genellikle Single Instruction Multiple Data (SIMD) olarak bilinen bir yapıya sahiptir ve aşağıdaki cebirsel işlemleri gerçekleştirebilir:
- Nokta çarpım.
- Karelerin toplamı.
- Matris çarpımı.
İkinci eklenti ise SH-4'ün artık 64 bit genişliğinde olan ve CPU'nun 32 bitlik değer çiftlerini aynı anda aktarabilmesini sağlayan harici bus'ıdır. Bu, bu CPU'nun genel performansına katkıda bulunan bir başka gelişmedir.
Bellek & erişim
Dreamcast'lerde 16 MB SDRAM bulunur ve 100 MHz bus (CPU hızının yarısı) kullanılarak doğrudan CPU'ya bağlanır.
Buna karşılık, belleğin data bus'ı sadece 32 bit genişliğindedir . Bu, CPU'nun 64-bit data bus'ının boşa gitti anlamına mı geliyor? Hayır, çünkü RAM iki adet 8 MB bank kullanılarak takılmıştır. Yani, her bir çip CPU'nun data bus hatlarının yarısına bağlıdır.
Bu belleğe erişmek için CPU, sanal adresleme için özel bir Memory Management Unit veya 'MMU' içerir, bu CPU'nun fiziksel bellek adres alanı 29 bit genişliğinde olduğu için bu yararlıdır. Ayrıca, dört Translation Lookaside Buffers (TLB'ler) sayesinde programcılar 32 bit adresleri performans kaybı yaşamadan kullanabilirler.
Şimdi, adresleme için sadece 29 bit gerektiğinden, geriye kalan üç bit ise bellek korumasını kontrol eder, sırasıyla bellek haritasını değiştirir ve önbelleği atlatır .
Nihayetinde, bu özelliklerin kullanılıp kullanılmayacağına programcı karar verir. Bu sistem için oyunlar kesinlikle bellek korumasına ihtiyaç duymaz ve MMU'nun açılışta manuel olarak etkinleştirilmesi gerekir.
UMA yok ama...
Bu sistem, tanınmış bir rakibi gibi katı Unified Memory Architecture veya UMA etrafında tasarlanmamış olsa da, G/Ç erişimini GPU'ya devretmektedir. Bu da CPU'nun kendi özel RAM'i ya da seri arayüzü (ki bunlar da bağlı) dışında bir şey alması gerektiğinde GPU'dan talepte bulunması ve gerekirse beklemesi gerektiği anlamına geliyor.
Bu CPU aynı zamanda Paralel I/O veya 'PIO' olarak adlandırılan ve aynı anda birden fazla I/O konumunu manipüle etmek için kullanılan benzersiz bir işleve sahiptir. Sega bu pinleri CPU'nun GPU'nun video modunu manipüle edebilmesi için bağladı (daha fazla ayrıntı 'Grafikler' bölümünde açıklanmıştır).
Yolun sonu
Bahsedilen tüm avantajlara rağmen, korkarım ki SuperH serisi son büyük kullanıcısı Dreamcast'in mağazaları terk etmesinden sonra önemli bir ilerleme kaydedemedi. SH-4'ün popülerliğinden sonra Hitachi (ya da şu anki sahipleri olan Renesas Electronics) aynı başarı seviyesini tekrarlayamadı ve gömülü/el tipi pazarın o zamandan beri ARM'ı tercih ettiğini düşünürsek (StrongARM sayesinde), Renesas'ın Hitachi'nin buluşunu yakın zamanda sürdüreceğini düşünmüyorum.
Ancak bilgisayarla ilgili iyi olan bir şey varsa o da teknolojik ilerlemenin markaların ve şirketlerin sınırlarının ötesine yayılma eğiliminde olmasıdır. Örneğin, SH'nin sıkıştırılmış komut tekniği ARM'nin Thumb modu (ikincil bir 16-bit ISA) ile devam etmiştir . Ayrıca, 2012 yılında, 'J2' adı verilen modern bir SuperH uyumlu CPU üretmek için gönüllülük esasına dayalı bir proje başlatılmıştır.

