console architecture - university of...

18
CONSOLE ARCHITECTURE CONSOLE ARCHITECTURE

Upload: others

Post on 20-Mar-2020

11 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CONSOLE ARCHITECTURE - University of Calgarypages.cpsc.ucalgary.ca/~bdstephe/585_W09/d502_console_architecture.pdf · • XBox has great library support (But takes away some power)

CONSOLE ARCHITECTURECONSOLE ARCHITECTURE

Page 2: CONSOLE ARCHITECTURE - University of Calgarypages.cpsc.ucalgary.ca/~bdstephe/585_W09/d502_console_architecture.pdf · • XBox has great library support (But takes away some power)

Introduction – Part 1Introduction – Part 1

What is a console?What is a console?

Console componentsConsole components

Differences between consoles and PCsDifferences between consoles and PCs

Benefits of console developmentBenefits of console development

The development environmentThe development environment

Console game designConsole game design

Page 3: CONSOLE ARCHITECTURE - University of Calgarypages.cpsc.ucalgary.ca/~bdstephe/585_W09/d502_console_architecture.pdf · • XBox has great library support (But takes away some power)

What is a Console?What is a Console?Consoles are dedicated game machinesConsoles are dedicated game machines

– Nintendo GameCube (NGC)Nintendo GameCube (NGC)

– Nintendo64 (N64)Nintendo64 (N64)

– Sony Playstation 2 (PS2)Sony Playstation 2 (PS2)

– Sony Playstation (PSX)Sony Playstation (PSX)

– Microsoft XboxMicrosoft Xbox

– Sega Dreamcast (DC)Sega Dreamcast (DC)

– Nintendo GameBoy Advanced (GBA)Nintendo GameBoy Advanced (GBA)

– Atari 2600Atari 2600

Page 4: CONSOLE ARCHITECTURE - University of Calgarypages.cpsc.ucalgary.ca/~bdstephe/585_W09/d502_console_architecture.pdf · • XBox has great library support (But takes away some power)

Console EvolutionConsole Evolution

• Super Nintendo (1991)Super Nintendo (1991)• 3.58 MHz 65816 (16 bit 6502)3.58 MHz 65816 (16 bit 6502)• 128 Kb RAM128 Kb RAM• Cartridge-based storage (~4 MB / cart)Cartridge-based storage (~4 MB / cart)

• Sony Playstation (1995)Sony Playstation (1995)• 33 MHz MIPS R3000 derivative33 MHz MIPS R3000 derivative• 2 MB RAM2 MB RAM• CD-based storage (~650 MB / disc)CD-based storage (~650 MB / disc)

• Sony Playstation 2 (2000) Sony Playstation 2 (2000) • 300 MHz MIPS R5000 derivative300 MHz MIPS R5000 derivative• 32 MB RAM32 MB RAM• DVD-based storage (~4 GB / disc)DVD-based storage (~4 GB / disc)

Page 5: CONSOLE ARCHITECTURE - University of Calgarypages.cpsc.ucalgary.ca/~bdstephe/585_W09/d502_console_architecture.pdf · • XBox has great library support (But takes away some power)

Differences Over PC GamesDifferences Over PC Games

• Output to TV rather than monitorOutput to TV rather than monitor– Lower resolutionLower resolution– Poor colour reproduction (NTSC)Poor colour reproduction (NTSC)

• Limited permanent storageLimited permanent storage– Low capacity memory cardsLow capacity memory cards– No virtual memoryNo virtual memory– No complex saved gamesNo complex saved games– Xbox is the exception hereXbox is the exception here

• No keyboard, mouseNo keyboard, mouse– Makes control systems for FPS, RTS games difficultMakes control systems for FPS, RTS games difficult

Page 6: CONSOLE ARCHITECTURE - University of Calgarypages.cpsc.ucalgary.ca/~bdstephe/585_W09/d502_console_architecture.pdf · • XBox has great library support (But takes away some power)

ConsolesConsoles

• Small memorySmall memory• Slow CPUSlow CPU

– But has lots of hardware to help outBut has lots of hardware to help out• Little, or no operating systemLittle, or no operating system

– This helps the speed deficit somewhatThis helps the speed deficit somewhat– DIY memory managementDIY memory management– lots of hardware level programminglots of hardware level programming

• interrupt handlersinterrupt handlers• DMADMA• task schedulingtask scheduling• assemblyassembly

Page 7: CONSOLE ARCHITECTURE - University of Calgarypages.cpsc.ucalgary.ca/~bdstephe/585_W09/d502_console_architecture.pdf · • XBox has great library support (But takes away some power)

BenefitsBenefits

• Fixed targetFixed target• Consoles are dedicated to gamesConsoles are dedicated to games• Bigger marketBigger market

– Consoles are cheaperConsoles are cheaper– More people have themMore people have them

• PC hardware market is bigger, but a lot of that is for businessesPC hardware market is bigger, but a lot of that is for businesses– More people buy gamesMore people buy games– More $$$ for developersMore $$$ for developers

Page 8: CONSOLE ARCHITECTURE - University of Calgarypages.cpsc.ucalgary.ca/~bdstephe/585_W09/d502_console_architecture.pdf · • XBox has great library support (But takes away some power)

The Development EnvironmentThe Development Environment

• Programs are written on a host machinePrograms are written on a host machine– PCPC– MacMac– LinuxLinux

• Games are compiled on the host with a cross-compiler, and Games are compiled on the host with a cross-compiler, and downloaded to development system through a network downloaded to development system through a network connectionconnection

Page 9: CONSOLE ARCHITECTURE - University of Calgarypages.cpsc.ucalgary.ca/~bdstephe/585_W09/d502_console_architecture.pdf · • XBox has great library support (But takes away some power)

The Development EnvironmentThe Development Environment• The game runs on the development system.The game runs on the development system.• Debugging is done remotelyDebugging is done remotely

– Can be across regular network connection (Xbox, PS2)Can be across regular network connection (Xbox, PS2)– Or custom connection (GameCube, all earlier consoles)Or custom connection (GameCube, all earlier consoles)

• Rather than burning CDs, a CD/DVD emulator is used to Rather than burning CDs, a CD/DVD emulator is used to allow games to test streaming systems, etc. allow games to test streaming systems, etc. – Gamecube has reusable cartridges that emulate discsGamecube has reusable cartridges that emulate discs– Xbox has connection to host PCXbox has connection to host PC

Page 10: CONSOLE ARCHITECTURE - University of Calgarypages.cpsc.ucalgary.ca/~bdstephe/585_W09/d502_console_architecture.pdf · • XBox has great library support (But takes away some power)

The Development EnvironmentThe Development Environment• There is no operating system, but there are usually some There is no operating system, but there are usually some

libraries to help you get started.libraries to help you get started.– Lots of variation between consolesLots of variation between consoles

• PS2 has almost nothing (and what they have, you often have to PS2 has almost nothing (and what they have, you often have to rewrite, but the full power of the machine is yours)rewrite, but the full power of the machine is yours)

• XBox has great library support (But takes away some power)XBox has great library support (But takes away some power)• Gamecube is in the middle (Reasonable, useful libraries, near Gamecube is in the middle (Reasonable, useful libraries, near

maximum power)maximum power)• Documentation is usually weak, especially when a console Documentation is usually weak, especially when a console

is young.is young.– PS2 documentation is poorly translated from Japanese, and near PS2 documentation is poorly translated from Japanese, and near

uselessuseless– Xbox & Gamecube documentation is pretty goodXbox & Gamecube documentation is pretty good

Page 11: CONSOLE ARCHITECTURE - University of Calgarypages.cpsc.ucalgary.ca/~bdstephe/585_W09/d502_console_architecture.pdf · • XBox has great library support (But takes away some power)

Game DesignGame Design

• Console architecture can have a large effect on game Console architecture can have a large effect on game design:design:– limited memory:limited memory:

• reduce size of world or stream from CDreduce size of world or stream from CD– limited network supportlimited network support

• this is changingthis is changing– low resolutionlow resolution– large saved games are not usually possiblelarge saved games are not usually possible– Controllers affect types of inputControllers affect types of input

• Console gamers represent a different marketConsole gamers represent a different market• Console games are played in a different environmentConsole games are played in a different environment

– Living room, TV, stereoLiving room, TV, stereo– Party gamingParty gaming

Page 12: CONSOLE ARCHITECTURE - University of Calgarypages.cpsc.ucalgary.ca/~bdstephe/585_W09/d502_console_architecture.pdf · • XBox has great library support (But takes away some power)

A Second Generation 3D ConsoleA Second Generation 3D Console

Nintendo GameCubeNintendo GameCube– released in 2001released in 2001– 486 MHz Gekko 486 MHz Gekko

(PowerPC) CPU(PowerPC) CPU– 32 KB 16-way instruction 32 KB 16-way instruction

& data cache& data cache– 256 KB L2 cache256 KB L2 cache– 24 MB main memory24 MB main memory

– 16 MB aux memory16 MB aux memory– 3.2 GB/s bus bandwidth3.2 GB/s bus bandwidth

– 3” DVD-ROM (1.2 GB)3” DVD-ROM (1.2 GB)– Custom 64 voice @ 48 KHz DSPCustom 64 voice @ 48 KHz DSP

– 20 Mpoly/s graphics performance 20 Mpoly/s graphics performance (peak)(peak)

Page 13: CONSOLE ARCHITECTURE - University of Calgarypages.cpsc.ucalgary.ca/~bdstephe/585_W09/d502_console_architecture.pdf · • XBox has great library support (But takes away some power)

CPUCPU• IBM “Gekko” processorIBM “Gekko” processor

– PowerPC instruction setPowerPC instruction set– 32 bit integer, 64 bit floating point registers32 bit integer, 64 bit floating point registers– Nice big L1, L2 cacheNice big L1, L2 cache– 2-wide “paired-singles” SIMD instructions2-wide “paired-singles” SIMD instructions– Single-cycle instructions for fixed<->float conversionsSingle-cycle instructions for fixed<->float conversions

• Handy for data compressionHandy for data compression

Page 14: CONSOLE ARCHITECTURE - University of Calgarypages.cpsc.ucalgary.ca/~bdstephe/585_W09/d502_console_architecture.pdf · • XBox has great library support (But takes away some power)

GraphicsGraphics• ATI “Flipper” ATI “Flipper”

– 200 MHz200 MHz– Full on-board T&LFull on-board T&L– Peak vertex rate: 40 Mv/sPeak vertex rate: 40 Mv/s– Peak fill rate: 800 Mp/sPeak fill rate: 800 Mp/s– 8x multi-texture8x multi-texture– Advanced alpha blendingAdvanced alpha blending– Flexible vertex descriptionFlexible vertex description– 2 MB EFB (Embedded Frame Buffer) for frame buffer, z buffer and 2 MB EFB (Embedded Frame Buffer) for frame buffer, z buffer and

texture cachetexture cache

Page 15: CONSOLE ARCHITECTURE - University of Calgarypages.cpsc.ucalgary.ca/~bdstephe/585_W09/d502_console_architecture.pdf · • XBox has great library support (But takes away some power)

Development EnvironmentDevelopment Environment

• Similar style to other consolesSimilar style to other consoles– Several systems availableSeveral systems available– Primary environment: Metrowerks CodeWarriorPrimary environment: Metrowerks CodeWarrior– SN Systems also has a GCC-based environmentSN Systems also has a GCC-based environment

• Graphics uses OpenGL-style APIGraphics uses OpenGL-style API• Documentation is pretty goodDocumentation is pretty good

– Most of the hardware and system software was designed in the USMost of the hardware and system software was designed in the US

Page 16: CONSOLE ARCHITECTURE - University of Calgarypages.cpsc.ucalgary.ca/~bdstephe/585_W09/d502_console_architecture.pdf · • XBox has great library support (But takes away some power)

GameCube IssuesGameCube Issues

• Very limited memoryVery limited memory– 24 MB for code, data24 MB for code, data

• Compared to 32 MB PS2, 64 MB XboxCompared to 32 MB PS2, 64 MB Xbox– 16 MB ARAM (aux RAM) 16 MB ARAM (aux RAM)

• Slow (<100 MB/s bandwidth)Slow (<100 MB/s bandwidth)• CPU can’t access it directly (must use DMA)CPU can’t access it directly (must use DMA)• Must be shared with soundMust be shared with sound

– Fortunately, the CPU and Flipper have good support for hardware Fortunately, the CPU and Flipper have good support for hardware decompressiondecompression

• Nintendo has very strict guidelinesNintendo has very strict guidelines– This is a good thingThis is a good thing– But it can be painful to get throughBut it can be painful to get through

Page 17: CONSOLE ARCHITECTURE - University of Calgarypages.cpsc.ucalgary.ca/~bdstephe/585_W09/d502_console_architecture.pdf · • XBox has great library support (But takes away some power)

In ClosingIn Closing

• Consoles present many interesting challenges.Consoles present many interesting challenges.• The fixed platform that consoles offer is both advantageous The fixed platform that consoles offer is both advantageous

and limiting.and limiting.

Page 18: CONSOLE ARCHITECTURE - University of Calgarypages.cpsc.ucalgary.ca/~bdstephe/585_W09/d502_console_architecture.pdf · • XBox has great library support (But takes away some power)