« PC Engine'in / TurboGrafx-16'nın Mimarisi (index)

PC Engine'in / TurboGrafx-16'nın Mimarisi

Chapter 4: İşlemci (CPU)


Bu konsolun içinde, Hudson Soft tarafından üretilen ve iki bileşeni barındıran bir çip olan HuC6280'i buluyoruz. One of them is the CPU, which can operate at two speeds: ~1.79 MHz and ~7.16 MHz.

HuC6280, Z80 gibi hazır bir bileşen değil, NEC tarafından tasarlanmış özel bir CPU'dur. Resmi dokümanları inceledikten sonra, ünlü MOS 6502 ve WDC'nin 65C02'sinin birçok davranışını kopyaladığı görülüyor. Bununla birlikte, tüm bunlar yazılımcı için ne anlama geliyor?

Başlamadan önce, MOS 6502'nin bazı parçalarını NES makalesinde zaten ele aldık ve ayrıca WDC ve Ricoh tarafından yapılan 16 bitlik bir varyantı SNES makalesinde anlattık, belki önce bunlara bir göz atmak isteyebilirsiniz.

65C02, Western Design Center tarafından üretilen MOS 6502'nin değiştirilmiş bir başka versiyonudur, üretim yaklaşımı (CMOS) nedeniyle çok daha verimlidir. Yazılım tarafında, 65C02 birkaç yeni talimat ekler ve bazı mevcut talimatların davranışını değiştirir .

65C02 hakkında çok daha fazla konuşabiliriz, ancak Hudson tarafından eklenen (65C02'yi tamamlayan) özelliklere odaklanmanın daha iyi olacağını düşünüyorum çünkü bunlar bu konsolu verimli bir şekilde çalıştırmak için kritik öneme sahip. 65C02 ile karşılaştırıldığında, HuC6280 :

Son olarak, genel amaç için 8 KB RAM bulunmaktadır.

Bellek erişimi

Henüz bahsetmediğim bir şey de NEC'in CPU'nun yanına bir Memory Management Unit veya 'MMU' ekleyerek 21-bit adresleri işlemesini sağlamasıdır (orijinal 6502'nin yalnızca 16-bit adresleri olduğunu unutmayın) . Böylece erişilebilen bellek miktarı 64 KB'den 2 MB'a yükselir.

Bu MMU günümüz MMU'larından çok farklıdır, ilkinin bir mapper'a daha yakın olduğunu söyleyebilirim. Bununla birlikte, PC Engine'de bulunan MMU, 21 bitlik bir adres veri yolu oluşturmak için CPU'nun 16 adres hattıyla birleştirilen eight 8-bit register'dan (Mapping Register veya 'MPR' olarak adlandırılır) oluşur.

Image
MMU'nun adresleme yaklaşımı.

Bu şu şekilde çalışır:

  1. CPU, sırasıyla özel TAM ve TMA talimatlarını kullanarak herhangi bir MPR'den okuyabilir ve/veya MPR'ye yazabilir.
  2. Fiziksel belleğe erişildiğinde, MMU sekiz MPR'den birini seçmek için CPU'dan A13-A15 adres hatlarını ayırır.
  3. Nihai adres, CPU hatları (A0-A12'ye yerleştirilir) ile MMU hatları (A13-A20'ye yerleştirilir, burada çıkış seçilen MPR'nin 8 bitlik değeridir) birleştirilerek elde edilir ve 21 bitlik bir adres elde edilir.

Sonuç olarak, bu MMU fiziksel belleği 8 KB sayfalar halinde gruplandırır (13 CPU satırı = 8 KB sayfa), bu da CPU'nun MPR'yi değiştirmeden veya değerini değiştirmeden erişebileceği bellek miktarıdır.

Her neyse, anlamakta güçlük çekiyorsanız kendinizi bunaltmayın (bu sadece bazılarının ilginç bulabileceği alışılmadık bir yöntemdir).


Previous: 3. Modeller ve varyantlar

Next: 5. Grafikler


Rodrigo Copetti © 2026 RSS Feed

Modern baskıya geçin

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