Date : 2024-12-27 Entry ID : 16581
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.79 GHz |
AMD64 | ||||
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 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 | ||
PlayStation 5 | 2020 | 16 GB | shared | |
Xbox Series S | 2020 | 10 GB | ||
Xbox Series X | 2020 | 16 GB | ||
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 cols9 | |
Sega Genesis | 1988 | VDP | 320x224 | 64 of 512 | 80 | 8x8 |
SNES | 1990 | 256x224 | ? from 32K | 128 | 8x8 16 cols |
PlayStation console GPUs:
Platform | Rel. | GPU | Resolution | Colors | Instructions/s10 |
---|---|---|---|---|---|
PlayStation 1 | 1994 | GTE11 | 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 |
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 12:
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 |
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 ↩
Amiga sprites are 8 pixels wide and can be any(!) height. ↩
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] }