CONSOLE ARCHITECTURE

Similar documents
Xbox 360 Architecture. Lennard Streat Samuel Echefu

Evolution of CPUs & Memory in Video Game Consoles. Curtis Geiger & Matthew Meehan

Xbox 360 high-level architecture

This Unit: Putting It All Together. CIS 371 Computer Organization and Design. What is Computer Architecture? Sources

This Unit: Putting It All Together. CIS 501 Computer Architecture. What is Computer Architecture? Sources

This Unit: Putting It All Together. CIS 371 Computer Organization and Design. Sources. What is Computer Architecture?

Unit 11: Putting it All Together: Anatomy of the XBox 360 Game Console

Original PlayStation: no vector processing or floating point support. Photorealism at the core of design strategy

Computer Systems Architecture I. CSE 560M Lecture 19 Prof. Patrick Crowley

GPGPU, 1st Meeting Mordechai Butrashvily, CEO GASS

Introduction to Multicore architecture. Tao Zhang Oct. 21, 2010

What Next? Kevin Walsh CS 3410, Spring 2010 Computer Science Cornell University. * slides thanks to Kavita Bala & many others

Introduction to Computing and Systems Architecture

Parallel Computing: Parallel Architectures Jin, Hai

CSE 591: GPU Programming. Introduction. Entertainment Graphics: Virtual Realism for the Masses. Computer games need to have: Klaus Mueller

ECE 571 Advanced Microprocessor-Based Design Lecture 20

IBM "Broadway" 512Mb GDDR3 Qimonda

Architectures. Michael Doggett Department of Computer Science Lund University 2009 Tomas Akenine-Möller and Michael Doggett 1

INSTITUTO SUPERIOR TÉCNICO. Architectures for Embedded Computing

GPU Architecture. Michael Doggett Department of Computer Science Lund university

Spring 2011 Prof. Hyesoon Kim

Multimedia in Mobile Phones. Architectures and Trends Lund

Spring 2009 Prof. Hyesoon Kim

Spring 2011 Prof. Hyesoon Kim

From Brook to CUDA. GPU Technology Conference

ECE 574 Cluster Computing Lecture 16

CSCI 402: Computer Architectures. Parallel Processors (2) Fengguang Song Department of Computer & Information Science IUPUI.

Spring 2010 Prof. Hyesoon Kim. Xbox 360 System Architecture, Anderews, Baker

Cell Broadband Engine. Spencer Dennis Nicholas Barlow

Bruno Pereira Evangelista

CS427 Multicore Architecture and Parallel Computing

Massively Parallel Architectures

ECE 571 Advanced Microprocessor-Based Design Lecture 18

GPGPU. Peter Laurens 1st-year PhD Student, NSC

Threading Hardware in G80

Graphics Hardware. Instructor Stephen J. Guy

GPU for HPC. October 2010

Multi-Processors and GPU

Introduction to Microprocessor

Graphics Processing Unit Architecture (GPU Arch)

Graphics Hardware. Graphics Processing Unit (GPU) is a Subsidiary hardware. With massively multi-threaded many-core. Dedicated to 2D and 3D graphics

Optimizing DirectX Graphics. Richard Huddy European Developer Relations Manager

Current Trends in Computer Graphics Hardware

A Data-Parallel Genealogy: The GPU Family Tree. John Owens University of California, Davis

Advanced Topics In Hardware

UMBC. Rubini and Corbet, Linux Device Drivers, 2nd Edition, O Reilly. Systems Design and Programming

Squeezing Performance out of your Game with ATI Developer Performance Tools and Optimization Techniques

Computer Architecture

Systems Design and Programming. Instructor: Chintan Patel

Part IV. Review of hardware-trends for real-time ray tracing

high performance medical reconstruction using stream programming paradigms

Parallelism and Concurrency. COS 326 David Walker Princeton University

INF5063: Programming heterogeneous multi-core processors Introduction

Windowing System on a 3D Pipeline. February 2005

GPU Computation Strategies & Tricks. Ian Buck NVIDIA

X. GPU Programming. Jacobs University Visualization and Computer Graphics Lab : Advanced Graphics - Chapter X 1

Introduction to Modern GPU Hardware

Introduction to CELL B.E. and GPU Programming. Agenda

Optimizing for DirectX Graphics. Richard Huddy European Developer Relations Manager

Central Processing Unit

CSE 591/392: GPU Programming. Introduction. Klaus Mueller. Computer Science Department Stony Brook University

GPUs and GPGPUs. Greg Blanton John T. Lubia

Sony/Toshiba/IBM (STI) CELL Processor. Scientific Computing for Engineers: Spring 2008

Spring 2010 Prof. Hyesoon Kim. AMD presentations from Richard Huddy and Michael Doggett

LPGPU Workshop on Power-Efficient GPU and Many-core Computing (PEGPUM 2014)

How to Write Fast Code , spring th Lecture, Mar. 31 st

Memory Systems IRAM. Principle of IRAM

Von Neumann architecture. The first computers used a single fixed program (like a numeric calculator).

Introduction to the Personal Computer

Real-Time Rendering (Echtzeitgraphik) Michael Wimmer

Cornell University CS 569: Interactive Computer Graphics. Introduction. Lecture 1. [John C. Stone, UIUC] NASA. University of Calgary

PARALLEL PROGRAMMING MANY-CORE COMPUTING: INTRO (1/5) Rob van Nieuwpoort

1. Introduction 2. Methods for I/O Operations 3. Buses 4. Liquid Crystal Displays 5. Other Types of Displays 6. Graphics Adapters 7.

COSC 6385 Computer Architecture - Data Level Parallelism (III) The Intel Larrabee, Intel Xeon Phi and IBM Cell processors

Discretes and MultiMarket ICs DMI BL Power 07/08/2002

3D Computer Games Technology and History. Markus Hadwiger VRVis Research Center

Graphics Hardware, Graphics APIs, and Computation on GPUs. Mark Segal

CS8803SC Software and Hardware Cooperative Computing GPGPU. Prof. Hyesoon Kim School of Computer Science Georgia Institute of Technology

GRAPHICS HARDWARE. Niels Joubert, 4th August 2010, CS147

UC Berkeley CS61C : Machine Structures

Motivation Hardware Overview Programming model. GPU computing. Part 1: General introduction. Ch. Hoelbling. Wuppertal University

All About the Cell Processor

! Readings! ! Room-level, on-chip! vs.!

Intentionally Blank 0

Save the Nanosecond! PC Graphics Performance for the next 3 years. Richard Huddy European Developer Relations Manager ATI Technologies, Inc.

Adding Advanced Shader Features and Handling Fragmentation

GENERAL-PURPOSE COMPUTATION USING GRAPHICAL PROCESSING UNITS

Computer Architecture. Fall Dongkun Shin, SKKU

MANY-CORE COMPUTING. 7-Oct Ana Lucia Varbanescu, UvA. Original slides: Rob van Nieuwpoort, escience Center

Mobile Graphics Ecosystem. Tom Olson OpenGL ES working group chair

INTEL Architectures GOPALAKRISHNAN IYER FALL 2009 ELEC : Computer Architecture and Design

Homeschool Enrichment. The System Unit: Processing & Memory

The Central Processing Unit

CS GPU and GPGPU Programming Lecture 8+9: GPU Architecture 7+8. Markus Hadwiger, KAUST

Lecture 25: Board Notes: Threads and GPUs

William Stallings Computer Organization and Architecture 8 th Edition. Chapter 18 Multicore Computers

Backing Storage Media

GPU Programming. Lecture 1: Introduction. Miaoqing Huang University of Arkansas 1 / 27

Experts in Application Acceleration Synective Labs AB

The Evaluation of GPU-Based Programming Environments for Knowledge Discovery

Transcription:

CONSOLE ARCHITECTURE

Introduction Part 1 What is a console? Console components Differences between consoles and PCs Benefits of console development The development environment Console game design

What is a Console? Consoles are dedicated game machines Nintendo Wii Nintendo GameCube (NGC) Nintendo64 (N64) Sony Playstation 3 (PS3) Sony Playstation 2 (PS2) Sony Playstation (PSX) Microsoft Xbox 360 Microsoft Xbox Sega Dreamcast (DC) Nintendo DS (DS)

Console Evolution Super Nintendo (1991) 3.58 MHz 65816 (16 bit 6502) 128 Kb RAM Cartridge-based storage (~4 MB / cart) Sony Playstation (1995) 33 MHz MIPS R3000 derivative 2 MB RAM CD-based storage (~650 MB / disc) Sony Playstation 2 (2000) 300 MHz MIPS R5000 derivative 32 MB RAM DVD-based storage (~4 GB / disc) Sony Playstation 3 (2005) 3.2 GHz Power-PC 512 MB Total RAM Blu-Ray (~50GB)

Console Hardware Trends Memory wall The "memory wall" is the growing disparity of speed between CPU and memory outside the CPU chip. An important reason for this disparity is the limited communication bandwidth beyond chip boundaries. From 1986 to 2000, CPU speed improved at an annual rate of 55% while memory speed only improved at 10%. This is getting worse, currently potentially hundreds of cycles for cache miss Need to learn how to write cache efficient code Frequency wall CPUs aren't getting faster as quickly as they used to Power wall Moore's Law is starting to run into the laws of Thermodynamics

Power Density Wall

Multi-core, parallel architectures Solution to many hardware challenges Increased performance without increased frequency Simpler CPU architecture No Out of Order Execution Makes the software much harder though Need to learn how to write parallel code Simpler CPU architecture makes memory wall more important

Business Trends The rise of the little guy (Wii) Much broader market appeal Rise and Fall of accessories Guitar, DJ turntable, Skateboard, etc. Publishers vs. Gamestop Used game sales are a problem for publishers Games are adding features to delay resale Online, Downloadable Content

Differences Over PC Games Output to TV rather than monitor Lower resolution HD helps, but it's still lower resolution Poor colour reproduction (NTSC) HD helps a lot here Limited permanent storage Low capacity memory cards No virtual memory No complex saved games Hard drives available on some Next-Gen consoles (PS3, 360) No keyboard, mouse Makes control systems for FPS, RTS games difficult Custom Controllers Wiimote, steering wheel, guitar

Consoles Small memory Slow CPU But has lots of hardware to help out Little, or no operating system This helps the speed deficit somewhat DIY memory management lots of hardware level programming interrupt handlers DMA task scheduling assembly

Benefits Fixed target Consoles are dedicated to games Bigger market Consoles are cheaper More people have them PC hardware market is bigger, but a lot of that is for businesses More people buy games More $$$ for developers

The Development Environment Programs are written on a host machine PC Mac Linux Games are compiled on the host with a cross-compiler, and downloaded to development system through a network connection

The Development Environment The game runs on the development system. Debugging is done remotely Can be across regular network connection (360, PS3) Or custom connection (GameCube, earlier consoles) Rather than burning DVDs, a CD/DVD emulator is used to allow games to test streaming systems, etc. Gamecube has reusable cartridges that emulate discs Xbox has connection to host PC

The Development Environment There is no operating system, but there are usually some libraries to help you get started. Lots of variation between consoles PS3 had very sketchy early libraries and tools XBox has great library support Documentation is usually weak, especially when a console is young. PS2 documentation was poorly translated from Japanese, and near useless Xbox & Wii documentation is pretty good

Game Design Console architecture can have a large effect on game design: limited memory: reduce size of world or stream from DVD limited network support this is changing low resolution large saved games are not usually possible Controllers affect types of input Console gamers represent a different market Console games are played in a different environment Living room, TV, stereo Party gaming

A Third Generation 3D Console XBox 360 released in 2005 3.2 GHz Xenon (PowerPC) CPU 3 symmetrical 2 way multithreaded cores 512 MB unified memory DVD-ROM ATI Custom Graphics Chip

CPU IBM Xenon processor PowerPC instruction set 165 million transistors Three symmetrical cores, two way SMT-capable,clocked at 3.2 GHz SIMD: VMX128 with 2 (128 128 bit) register files for each core. 1 MB L2 cache (lockable by the GPU) running at half-speed (1.6 GHz) with a 256-bit bus 51.2 gigabytes per second of L2 memory bandwidth (256 bit 1600 MHz) 21.6 GB/s Front-Side Bus Dot product performance: 9.6 billion per second 115.2 GFLOPS theoretical peak performance Restricted to In-order code execution

Graphics ATI Xenos 500 MHz GPU, 232 million transistors 10 MB daughter embedded DRAM framebuffer 48-way parallel floating-point dynamically-scheduled shader pipelines Unified shading architecture (each pipeline is capable of running either pixel or vertex shaders) Maximum vertex count: 1.6 billion vertices per second Maximum polygon count: 500 million triangles per second Maximum shader operations: 96 billion per second Maximum Dot product operations: 24 billion per second Support for a superset of DirectX 9.0c API and Shader Model 3.0+

Development Environment Visual Studio Graphics uses Direct3D API Documentation, tools and libraries are pretty good Microsoft is a software company

Another Third Gen 3D Console PlayStation 3 (PS3) Announced in 2005 Released in 2007 3.2 GHz Cell (Power PC) 1 PPE (main CPU) 8 SPE (vector processors) 256MB Main Memory 256MB VRAM BluRay Drive NVidia Graphics Chip (RSX)

CPU IBM Cell Processor PPE PowerPC instruction set Single core, two way SMT-capable, clocked at 3.2 GHz SIMD: VMX/AltiVec 512 KB L2 cache Restricted to In-order code execution SPE (x8) Vector processor Programmable in C 128bit SIMD registers 256KB embedded RAM (Local Store) Memory Flow Controller (DMA)

Graphics NVidia RSX 'Reality Synthesizer' 550 MHz GPU, 300+ million transistors Based on NV47 Chip (Nvidia GeForce 7800 Architecture) Multi-way programmable parallel floating-point shader pipelines Independent pixel/vertex shader architecture 24 parallel pixel-shader ALU pipes 8 parallel vertex pipelines Maximum texel fillrate: 13.2 GigaTexels per second Maximum Dot product operations: 51 billion per second Supports PSGL (OpenGL ES)

In Closing Consoles present many interesting challenges. The fixed platform that consoles offer is both advantageous and limiting.