Search This Blog

Design and Programming of Game Consoles

Design and Programming of Game Consoles

Course Description
In this course, we will explore game console architectures, parallel processors and GPU architectures. The course will provide background knowledge of programming in a game console architecture to better understand the hardware. The course will cover architectures in Xbox360, playstation3, NVIDIA GPUs, Nintendo DS (ARM processors), SoC Design, Tegra and other emerging game platforms.
The course focuses on the microarchitecture level of both traditional architectures and game console architectures. We will learn the details of how processors will work through programming assignments. The first 3 lab assignments will cover GPGPU programming (programming using graphics processors) and the following 3 lab assignments will cover Nintendo DS Programming to better understand embedded processors.

Topics:

- Game console architectures (Xbox360, playstation3, NVIDIA GPU, Intel Larrabee, ARM processors)
- GPU architectures
- GPGPU programming (CUDA programming, OpenCL programming)
- Microarchitecture
- Game console programming (Nintendo DS)
- OpenGL ES

Textbooks: There is no required textbook for the course.
Suggested books: - [H&P]Computer Architecture, 4th Edition by Hennessy and Patterson
- [RTR] Read-time rendering, 3rd edition, by Tomas Akenine-Moller, Eric Haines, Naty Hoffman
- Other papers and websites (please see the class homepage)
 

Download slides


Week Topics Friday (Programming)
1 Introduction
   
2 Xbox 360 and backgrounds of architecture CUDA programming basic
     
3 Xbox360 CUDA-II CUDA programming advanced
  Graphics Hardware  
4 G80 Architecture CUDA programming optimization
 
5 G80 Architecture, Graphics Processors, Xbox 360 GPU Review Quiz-I
 
6 Quiz-I Lab #2 review
  Game workloads and simulations (2/16 class time is changed)  
7 Graphics platforms, OpenGL ES Ray tracing with CUDA
      
8 Class presentations (emerging architectures)
   
9 ATI Graphics Processors, Sandy Bridge Open CL
 
10 ATI GPGPU ARM Processors Nitendo DS programming Basic
 
 
12 ARM Processors, ARM ISAs NDS programming
     
13 Tegra ARM, ARMGPU, NDS programming
   
14 LRB, Cell architecture Parallel programming patterns
     
15 MIPS (PSP) Project progress meetings
  Intel Atom
16 mobile platforms Final Project presentation/review