
Date : 2024-12-27 Entry ID : 16581 Entry type : comment
Overview of CPUs, GPUs and memory from game platforms, covering consoles, home computers, and a few select arcade games.
Contents:
This table lists CPUs, number of cores, and clock frequency for well-known game platforms. Platforms are grouped by Instruction Set Architecture (e.g. Intel 8086 or Z80).
A few individual arcade games are listed as well, as they will at times exhibit early adoption of CPUs, such as Sprint 2 using the MOS 6502 in 1976, before any home consoles.
| Platform | Rel. | CPU | Core # | CPU Freq. |
|---|---|---|---|---|
| Intel 8080 | ||||
| Gun Fight (arcade) 1 | 1974 | 1 | ||
| Intel 8086 | ||||
| DOS | 1981 | Intel 8086 | 1 | Varying |
| Irem M72 | 1987 | NEC V30 | 1 | 8 MHz |
| Irem M92 | 1991 | NEC V33 + V30 | 1 | 9 MHz |
| Xbox | 2001 | (Pentium III) | 1 | 733 MHz |
| MOS 6502 | ||||
| Sprint 2 | 1976 | MOS Technology 6507 | 1 | |
| Atari 2600 | 1977 | MOS Technology 6507 | 1 | 1.19 MHz |
| Apple II | 1977 | MOS Technology 6502 | 1 | 1.02 MHz |
| Atari 8-bit | 1979 | MOS Technology 6502C | 1 | 1.79 MHz |
| Commodore VIC-20 | 1980 | MOS Technology 6502 | 1 | 1.02 MHz |
| BBC Micro | 1981 | MOS Technology 6502 | 1 | 2.00 MHz |
| Atari 5200 | 1982 | Atari SALLY | 1 | 1.79 MHz |
| Commodore 64 | 1982 | MOS Technology 6510 | 1 | 1.02 MHz |
| NES | 1983 | Ricoh 2A03 | 1 | 1.79 MHz |
| Atari 7800 | 1986 | Atari SALLY | 1 | 1.79 MHz |
| PC Engine | 1987 | HuC6280 | 1 | 7.16 MHz |
| SNES | 1990 | Ricoh 5A22 2 | 1 | 1.79 MHz |
| Various | ||||
| IntelliVision | 1979 | Gen. Instr. CP1600 | 1 | 3.56 MHz |
| Game Boy | 1989 | Sharp SM83 3 | 1 | 4.2 MHz |
| Zilog Z80 | ||||
| Scramble | 1981 | Zilog Z80 | 1 | 3.01 MHz |
| ZX Spectrum | 1982 | Zilog Z80 | 1 | 3.50 MHz |
| Colecovision | 1982 | Zilog Z80 | 1 | 3.58 MHz |
| Sega System 1 | 1983 | Zilog Z80 | 1 | 4 MHz |
| SG-1000 | 1983 | Zilog Z80 | 1 | 3.58 MHz |
| MSX | 1983 | Zilog Z80 | 1 | 3.58 MHz |
| Sega Master System | 1985 | Zilog Z80 | 1 | 3.58 MHz |
| Motorola 68000 | ||||
| System 16 | 1985 | Motorola 68000 | 1 | 10 MHz |
| Atari ST | 1985 | Motorola 68000 | 1 | 8 MHz |
| Amiga 500 | 1987 | Motorola 68000 | 1 | 7.16 MHz |
| Sharp X68000 | 1987 | Motorola 68000 | 1 | 10 MHz |
| Sega Genesis | 1988 | Motorola 68000 | 1 | 7.67 MHz |
| Neo Geo | 1990 | Motorola 68000 | 1 | 12.00 MHz |
| Sega CD | 1991 | Motorola 68000 x 2 | 1 | 12.5 & 7.67 MHz |
| Atari Jaguar | 1993 | Motorola 68000 | 1 | 13.30 MHz |
| Hitachi SuperH | ||||
| Genesis 32X | 1994 | Hitachi SH-2 x 2 | 23 MHz | |
| Sega Saturn | 1994 | Hitachi SH-2 x 2 | 1 | 28.6 MHz |
| CP System III | 1994 | Hitachi SH-2 | 1 | 25 MHz |
| Dreamcast | 1998 | Hitachi SH-4 | 1 | 200 MHz |
| MIPS | ||||
| PlayStation | 1994 | R3000 | 1 | 33.87 MHz |
| Nintendo 64 | 1996 | NEC VR4300 (MIPS III) | 1 | 93.75 MHz |
| PlayStation 2 | 2000 | Emotion Engine (MIPS III) | 1 | 294 MHz |
| PSP | 2004 | R4000 (MIPS III) | 1 | 333 MHz |
| PowerPC | ||||
| GameCube | 2001 | Gekko | 1 | 486 MHz |
| Xbox 360 | 2005 | MS/IBM Xenon | 3 | 3.2 GHz |
| PlayStation 3 | 2006 | Cell | 9 | 3.2 GHz |
| Wii | 2006 | IBM Broadway | 1 | 729 MHz |
| Wii U | 2012 | IBM Espresso | 3 | 1.24 GHz |
| ARM7, ARM8, ARM9 | ||||
| Game Boy Advance | 2001 | ARM7TDMI (ARM7) | 16.8 MHz | |
| Nintendo DS | 2004 | ARM946E-S (ARM9) | 67 MHz | |
| Nintendo Switch | 2017 | ARM Cortex-A57 (ARM8) | 4 | 1 GHz/1.79 GHz |
| Nintendo Switch 2 | 2025 | ARM Cortex-A78C (ARM8) | 8 | 1 GHz/1.7 GHz |
| AMD64 (AKA x86-64) | ||||
| PlayStation 4 | 2013 | AMD Jaguar | 1.6 GHz | |
| Xbox One | 2013 | AMD Jaguar | 8 | 1.75 GHz |
| Xbox One X | 2017 | AMD Jaguar | 8 | 2.3 GHz |
| PlayStation 5 | 2020 | AMD Zen 2 | 8 | 3.5 GHz |
| Xbox Series S | 2020 | AMD Zen 2 | 8 | 3.6 GHz |
| Xbox Series X | 2020 | AMD Zen 2 | 8 | 3.8 GHz |
| Steam Deck | 2022 | ARM Zen 2 | 4 | 3.5 GHz |
The MOS Technology 6502 is a 8-bit processor from 1975 designed by Chuck Peddle.
It is based on the Motorola 6800, but simplified and cost reduced (costing 1/6 of the M6800 or Intel 8080!).
The MOS 6507 is an even cheaper version of the 6502, packaged in a 28-pin DIP (Dual in-line package), reduced from the 40-pin 6502. The reduction reduced the address bus from 16 to 13 bit, meaning that it only could address 8 KB memory instead of the 64 KB addressable by the 6502.
The 6502C was a faster 6502, able to run up to 4 MHz.
The 6510 added a 8-bit general purpose I/O port.
The SuperH CPUs implement a Reduced Instruction Set Computing (RISC) instruction set architecture. The SH-2, used in the Genesis 32X, Sega Saturn, and Capcom's CP System III (Street Fighter III) had only 62 instructions. The SH-4 used in the Dreamcast runs at 7 times the clock speed of the dual SH-2s used in the Saturn.
| Platform | Rel. | Main Memory | Video Memory | Other Memory |
|---|---|---|---|---|
| ARCADE HARDWARE | ||||
| Gun Fight (arcade) | 1974 | |||
| Scramble | 1981 | |||
| Sega System 1 | 1983 | 4 KB | 13 KB | 2 KB audio RAM |
| System 16 | 1985 | 48 KB | 97 KB | |
| R-Type (Irem M72) 4 | 1987 | 256 KB | 28 KB | 64 KB audio RAM |
| Irem M92 | 1991 | |||
| CP System II | 1993 | |||
| CP System III | 1994 | 512 KB | 8.75 MB | |
| HOME COMPUTERS | ||||
| SDS Sigma | 1966 | |||
| Apple II | 1977 | 4 KB | ||
| Atari 8-bit | 1979 | 8 KB | ||
| Commodore VIC-20 | 1980 | 5 KB | ||
| BBC Micro | 1981 | 16 KB | ||
| Commodore 64 | 1982 | 64 KB | 20 KB ROM | |
| ZX Spectrum | 1982 | 16 KB | ||
| MSX | 1983 | 8 KB | ||
| Atari ST | 1985 | 128 KB | ||
| Amiga 500 | 1987 | 512 KB | shared | shared |
| Sharp X68000 | 1987 | 1 MB | ||
| CONSOLES | ||||
| Atari 2600 | 1977 | 128 B | ||
| IntelliVision | 1979 | 1 KB | ||
| Colecovision | 1982 | 1 KB | 16 KB | |
| Atari 5200 | 1982 | 16 KB | ||
| NES | 1983 | 2 KB | 2 KB | |
| SG-1000 | 1983 | 1 KB | ||
| Sega Master System | 1985 | 8 KB | 16 KB | |
| Atari 7800 | 1986 | 4 KB | 4 KB BIOS ROM | |
| PC Engine | 1987 | 8 KB | 64 KB | |
| Sega Genesis | 1988 | 64 KB | 64 KB | |
| SNES 5 | 1990 | 128 KB | 64 KB | 64 KB audio RAM |
| Neo Geo | 1990 | 64 KB | 84 KB | 2 KB audio RAM |
| Sega CD | 1991 | 512 KB | 256 KB | |
| Atari Jaguar | 1993 | 2 MB | ||
| Genesis 32X | 1994 | 256 KB | 256 KB | |
| Sega Saturn | 1994 | 2 MB | 1.5 MB | 512 KB audio RAM |
| PlayStation 6 | 1994 | 2 MB | 1 MB | 512 KB audio RAM |
| Nintendo 64 | 1996 | 4 MB | ||
| Dreamcast | 1998 | 16 MB | 8 MB | 2 MB audio RAM |
| PlayStation 2 | 2000 | 32 MB | 4 MB | |
| GameCube | 2001 | 24 MB | 3 MB | 16 MB I/O buffer |
| Xbox | 2001 | 64 MB | ||
| Xbox 360 | 2005 | 512 MB | shared | |
| PlayStation 3 | 2006 | 256 MB | 256 MB | |
| Wii | 2006 | 64 MB | 27 MB | |
| Wii U | 2012 | 2 GB | ||
| PlayStation 4 | 2013 | 8 GB | shared | |
| Xbox One | 2013 | 8 GB 7 | ||
| Xbox One X | 2017 | 12 GB 8 | ||
| Nintendo Switch | 2017 | 4 GB 9 | ||
| PlayStation 5 | 2020 | 16 GB | shared | |
| Xbox Series S | 2020 | 10 GB | ||
| Xbox Series X | 2020 | 16 GB | ||
| Nintendo Switch 2 | 2025 | 12 GB 10 | ||
| HANDHELDS | ||||
| Game Boy | 1989 | 8 KB | 8 KB | |
| Game Boy Advance | 2001 | 288 KB | 98 KB | |
| Nintendo DS | 2004 | 4 MB | ||
| PSP | 2004 | 32 MB | 2 MB | |
| Steam Deck | 2022 | 16 GB | 6 GB |
Sprite-based console/home computer GPUs:
| Platform | Rel. | GPU | Resolution | Colors | Sprite # | Sprite dim. |
|---|---|---|---|---|---|---|
| Colecovision | 1982 | TMS9918 | 256x192 | 15 (fixed) | 32 | 8x8 mono |
| SG-1000 | 1983 | TMS9918 | 256x192 | 15 (fixed) | 32 | 8x8 mono |
| MSX | 1983 | TMS9918 | 256x192 | 15 (fixed) | 32 | 8x8 mono |
| NES | 1983 | Ricoh 2C02 | 256x240 | 24 of 64 | 64 | 8x8 3 cols |
| Amiga 500 | 1987 | 320x256-640x512 | 32 of 4096 | 8 | 8x_ 4 cols11 | |
| PC Engine | 1987 | HuC6270 | 256x224-512x240 | 512 of 512 | 64 | 8x8 16 cols12 |
| Sega Genesis | 1988 | VDP | 320x224 | 64 of 512 | 80 | 8x8 |
| Game Boy | 1989 | 160x144 | 4 (fixed) | |||
| SNES | 1990 | 256x224 | ? from 32K | 128 | 8x8 16 cols | |
| Neo Geo Pocket Color | 1999 | 160x152 | 146 from 4096 | 64 | 8x8 | |
| Nintendo DS | 2004 | ARM9 | 256×192 x 2 | ? from 262K | ||
| PICO-8 | 2015 | Virtual | 128x128 | 16 (fixed) | unlim. | 8x8 |
PlayStation console GPUs:
| Platform | Rel. | GPU | Resolution | Colors | Instructions/s13 |
|---|---|---|---|---|---|
| PlayStation 1 | 1994 | GTE14 | 256x224 - 600x480i | 66 MIPS | |
| PlayStation 2 | 2000 | Graphics Synthesizer | 256x224 - 1080p | 8 bit/ch. | 6.2 GFLOPS |
| PlayStation 3 | 2006 | Graphics Synthesizer | 1280x720 | 8 bit/ch. | 251.2 GFLOPS |
| PlayStation 4 | 2013 | AMD GCN | 1080p | 1.84 TFLOPS | |
| PlayStation 5 | 2020 | AMD RDNA 2 | 4K | 10 bit/ch. | 10.28 TFLOPS |
| PlayStation 5 Pro | 2024 | AMD RDNA 2 | 4K - 8K | 10 bit/ch. | 16.7 TFLOPS |
DOS resolutions:
| Standard | Rel. | Resolution | Colors |
|---|---|---|---|
| CGA | 1981 | 320×200 | 4 colors (from 16) |
| 640×200 | 2 colors (monochrome) | ||
| EGA | 1984 | 320×200 | 16 colors (from 64) |
| 640×350 | 16 colors | ||
| VGA | 1987 | 320×200 | 256 colors |
| 640×480 | 16 colors | ||
| SVGA | 1987 | 640×480 | 256 colors |
| 800×600 | 256 colors | ||
| 1024×768 | 256+ colors (varied by VRAM) |
It might be revealing to analyze how many instructions can be performed by a GPU per pixel, to gain understanding of the possible rendering complexity.
For this purpose, we can take a given resolution on a platform, compute the pixel count, and divide the GPU instructions per second with 60 frames/s and the pixel count 15:
pixel_count = width * height pixel_perf = instructions_per_second / 60 / pixel_count
GPU Instructions/frame/pixel (60Hz)
The PS1 GPU uses fixed point operations, the newer platforms uses floating point operations:
| Platform | Example Resolution | Pixel count | Instructions/pixel/frame |
|---|---|---|---|
| PS1 | 256x224 | 57 K | 19 |
| PS2 | 640x240 | 154 K | 673 |
| PS3 (720p) | 1280x720 | 1 M | 4539 |
| PS4 (1080p) | 1920x1080 | 2 M | 14468 |
| PS4 Pro (1080p) | 1920x1080 | 2 M | 33758 |
| PS4 Pro (4K) | 3840x2160 | 8 M | 8439 |
| PS5 (4K) | 3840x2160 | 8 M | 20697 |
| PS5 Pro (4K) | 3840x2160 | 8 M | 33557 |
| PS5 Pro (8K) | 7680x4320 | 33 M | 8389 |
A practical analysis by Rodrigo Copetti](https://www.copetti.org/writings/consoles/pc-engine/)
Rodrigo Copetti (2022)
Detailed PC Engine hardware info
Gun Fight is the earliest game I found to use a microprocessor. ↩
Ricoh 5A22 is based on WDC 65C816, enhanced version of WDC 65C02, which was based on the 6502. ↩
Sharp SM83 is a hybrid of the Intel 8080 and the Zilog Z80. ↩
IREM M72 information
'Patent Pending' - All Things Video Games
Irem M72 memory map and info ↩
Super Nintendo Architecture - A practical analysis
Rodrigo Copetti (2024)
Detailed Super Nintendo hardware info ↩
PlayStation Architecture - A practical analysis
Rodrigo Copetti (2021)
Detailed PlayStation hardware info ↩
5 GB available to games ↩
9 GB available to games ↩
3.2 GB available to games ↩
9 GB available to games ↩
Amiga sprites are 8 pixels wide and can be any(!) height. ↩
[PC Engine / TurboGrafx-16 Architecture ↩
We use the units millions of operations per second (MIPS) and floating-point operations per second (FLOPS) and: ↩
MIPS = 10^6 instructions per second
FLOPS = 1 floating-point operation per second
MFLOPS = 10^6 FLOPS
GFLOPS = 10^9 FLOPS
TFLOPS = 10^12 FLOPS
Geometry Transformation Engine ↩
This table was generated by the following Ruby script: ↩
platforms = { :PS1 => {:spd => 66e6, :pix => 256*224},
:PS2 => {:spd => 6.2e9, :pix => 640*240},
:PS3 => {:spd => 251e9, :pix => 1280*720},
:PS4 => {:spd => 1.8e12, :pix => 1920*1080},
:PS4Pro => {:spd => 4.2e12, :pix => 1920*1080},
:PS4Pro4k => {:spd => 4.2e12, :pix => 3840*2160},
:PS5 => {:spd => 10.3e12, :pix => 3840*2160},
:PS5Pro => {:spd => 16.7e12, :pix => 3840*2160},
:PS5Pro8k => {:spd => 16.7e12, :pix => 7680*4320}}
platforms.each{ |key,value|
pixelperf = value[:spd] / 60.0 / value[:pix]
pixcount = value[:pix]
puts "%8s: %d %5.0f instr/fr/pix" % [key,pixcount,pixelperf] }