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 | |