Ricoh 5A22

aus Wikipedia, der freien Enzyklopädie

Der Ricoh 5A22 ist ein Mikrocontroller mit einer 8/16-Bit-Architektur, welcher von Ricoh für die Spielkonsole Super Nintendo Entertainment System (SNES) hergestellt wurde. Sein Mikroprozessorkern basiert auf dem 65C816 von WDC (der beispielsweise im Apple IIgs Verwendung fand).[1] Die genannten Prozessoren entstammen der Prozessorfamilie des MOS 6502.

Wesentliche Merkmale

Ricoh 5A22

Neben dem 65C816-Prozessorkern besitzt der 5A22 zusätzlich folgende Komponenten:

  • Schnittstellenleitungen für den Controller-Port, sowohl für seriellen als auch parallelen Zugriff auf die Controller-Daten
  • Einen parallelen 8-Bit-I/O-Port, der im SNES weitgehend ungenutzt blieb
  • Einen Schaltkreis zur Erzeugung von Non-Maskable Interrupts (NMIs – nicht maskierbaren Unterbrechungsanforderungen) innerhalb der vertikalen Austastlücke
  • Einen Schaltkreis zur Erzeugung von IRQs (Unterbrechungsanforderungen) an einer berechneten Bildposition
  • Eine DMA-Einheit, die zwei primäre Modi unterstützt:
    • Normaler DMA, für Blocktransfers mit einer Datenrate von 2,68 MB/s
    • DMA innerhalb der horizontalen Austastlücke, zur Übertragung kleiner Datenmengen am Ende einer Bildschirmzeile
  • Register für Multiplikation und Division
  • Zwei getrennte Adressbusse, die den 8-Bit-Datenbus steuern: einen 24-Bit-Bus A für allgemeinen Zugriff und einen 8-Bit-Bus B hauptsächlich für APU- und PPU-Register

Leistung

Die CPU verwendet einen Systembus mit variabler Zugriffsgeschwindigkeit, die durch den angeforderten Speicherort bestimmt wird. Der Bus besitzt einen Takt von 3,58 MHz für Nicht-Zugriffs-Zyklen bzw. wenn auf Bus B oder die meisten der internen Register zugegriffen wird; und entweder 2,68 oder 3,58 MHz bei einem Zugriff auf Bus A. Die Controller-Ports der seriellen Register arbeiten lediglich mit 1,79 MHz.[2] Der 5A22 arbeitet mit rund 1,5 MIPS und hat einen theoretischen Spitzenwert von 1,79 Millionen 16-Bit-Additionen pro Sekunde.

Einzelnachweise

  1. ASM Tutorial Part 1. SFC Development Wiki, abgerufen am 9. Mai 2021 (englisch): „... it is meant to explain 65c816 ASM (used for creating/modding SNES games, such as Mario World)...“
  2. Anomie: Memory Mapping. SFC Development Wiki, abgerufen am 10. Mai 2021 (englisch): „Internal operation CPU cycles always take 6 master cycles. Fast memory access cycles also take 6 master cycles, Slow memory access cycles take 8 master cycles, and XSlow memory access cycles take 12 master cycles.“