« Game Boy'un / Color'un Mimarisi (index)

Game Boy'un / Color'un Mimarisi

Chapter 3: İşlemci (CPU)


İçindekiler

  1. CPU çekirdeği
    1. Renk etkisi
  2. Donanımsal erişim
  3. Kullanılabilir hafıza

Nintendo, anakarta birçok hazır yonga yerleştirmek yerine, CPU dahil bileşenlerin çoğunu barındırmak (ve gizlemek) için tek bir yongayı seçti. Bu tür çiplere System On a Chip (SoC) adı verilir ve bu durumda, Nintendo'nun ihtiyaçlarına (diğer şeylerin yanı sıra güç verimliliği, korsanlığa karşı koruma ve ekstra G/Ç) göre uyarlanmasına olanak tanıyan bu konsol için özel olarak üretilmiştir. Aynı zamanda, bu çip herhangi bir perakende kataloğunda bulunamaz, yani o zamanki rakipler bunu klonlamakta daha zorlandılar.

Bununla birlikte, Game Boy'da bulunan SoC, DMG-CPU veya Sharp LR35902 olarak adlandırılır ve adından da anlaşılacağı gibi Sharp Corporation tarafından üretilmiştir. Bu şirket, Ricoh (NES'in CPU tedarikçisi) ile birlikte Nintendo ile yakın bir ilişki içindeydi.

CPU çekirdeği

DMG-CPU'da ana işlemci bir Sharp SM83 ve Z80 (Sega Master System'de kullanılan aynı CPU) ile Intel 8080 arasında bir karışımdır. Bu işlemci ~4,19 MHz hızında çalışır, bu da ortalama 1 MHz CPU'dan daha hızlıdır, ancak saat hızlarının aldatıcı olabileceğini unutmayın.

Image
DMG-CPU, Game Boy'un anakartında bulunur.

Şimdi, Master System analizini yaptığımda, Z80'in 8080'in bir üst kümesi olduğunu açıklamıştım. Peki, SM83'ün bu ikisinden neyi eksik ve neyi fazla?

Ayrıca Sharp, Z80 ya da 8080'de bulunmayan birkaç yeni register da eklemiştir. Nintendo/Sharp'ın donanımı düzenleme biçimiyle ilgili belirli işlemleri optimize ederler. Bunun bir örneği de yeni LDH komutudur ('load from high memory' anlamına gelir), bu komut özellikle memory map'in son 256 baytında (adreslerin $ff00'dan başladığı yerde) çalışmak üzere eklenmiştir ve en önemlisi bir bayt daha az yer kaplar (ve dolayısıyla daha hızlıdır).

Renk etkisi

Image
Game Color'ın Ana Kartı .

Image
Önemli kısımları etiketlenmiş aynı resim.

Yaklaşık 10 yıl sonra, Virtual Boy ve onun ileri teknoloji donanımının terk edilmesinden sonra, mütevazı bir halef geldi: Game Boy Color. İçinde, birkaç eklemeler taşıyan yeni bir SoC olan CPU CGB bulunmaktadır. Ancak, SM83 CPU çekirdeği, saat hızı iki katına çıkmış (yani ~8.38 MHz hızında) olmasına rağmen aynı kalıyor.

On yıl sonra Nintendo'nun aynı CPU'yu kullanmaya devam edeceğini düşünmek zor, ancak böyle bir karar şu avantajlarla birlikte gelir:

Ancak, bu, 90'ların sonları standartlarına göre eski teknoloji benimsemenin maliyetiyle gelir. CPU pazarının durumuna bakarak Nintendo'nun kaçırdığı fırsatları fark etmek için yeterli (adil olmak gerekirse, Nintendo Virtual Boy ile denedi).

Donanımsal erişim

SM83'de bir 8 bitlik veri yolu ve bir 16 bitlik adres yolu vardır, böylece 64 KB'a kadar bellek adreslenebilir. Memory map esas olarak aşağıdaki uç noktalardan oluşur :

Bunlar, makale boyunca açıklanacaktır.

Kullanılabilir hafıza

Image
DMG'nin (orijinal Game Boy) bellek mimarisi. PPU, VRAM erişimini yönetir.

Nintendo anakarta 8 KB RAM yerleştirmiştir, bu genel amaçlı kullanım içindir (ki buna Work RAM'i veya 'WRAM' adını vermişlerdir) . Bunun NES'in içerdiğinden dört kat daha büyük olduğuna dikkat edin.

SoC'de yer alan ilave 127 B RAM var. High RAM veya 'HRAM' olarak adlandırılır ve SM83'ün benzersiz LDH talimatı ile daha hızlı erişilebilen veriler için küçük bir alan sağlar. Bu, 6502'nin bellek konumuna dayalı performansı optimize eden "Zero Page" moduna çok benzer. Şimdi, High RAM teknik olarak genel RAM'den daha hızlı erişilebilir değildir, ancak CPU için öncelikli bir alandır. DMA bileşenini tartıştığım 'Grafikler' bölümüne ulaştığınızda bunun ne anlama geldiğini göreceksiniz.

Image
CGB'nin (Game Boy Color) genişletilmiş bellek mimarisi. Yine PPU, VRAM'e erişim konusunda hakemlik yapar.

Daha sonra, Color varyantıyla birlikte, Nintendo WRAM'i 32 KB'ye genişletti. Ancak, CPU değişmeden kaldığı için (özellikle adresleme yetenekleri), mevcut adres alanı taşmadan tüm yeni belleği bağlamak mümkün değildir. Bununla başa çıkmak için, Nintendo'nun mühendisleri bank switching tekniğini kullandı. Başlangıçta NES kartuşlarında bulunan, Game Boy Color yalnızca 8 KB bellek alanı kullanarak bu 32 KB'ye erişmek için aynı prensibi kullanır. Hile basittir: son 4 KB, yedi farklı bank kullanılarak değiştirilebilir. Sonuç olarak, CPU bir bank değiştirici işlevi gören ekstra bir kayıt ("SVBK" adı verilen) sağlar, geliştiricilerin genişletilmiş belleği incelemek için bunu kullanmaları gerekir.


Previous: 2. Hızlı bir giriş

Next: 4. Grafikler


Rodrigo Copetti © 2026 RSS Feed

Modern baskıya geçin

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