Sunteți pe pagina 1din 19

OS Case Study: The Xbox 360

Instructor: Rob Nash


Readings: See citations in the slides
Where Were At & Where Were
Going
Today:
A new guest Operating System
Performance analysis of Windows on a multi-
core architecture
Nifty new tools in VS 2010
A Segment on Memory Management
Last 20-30 minutes will be dedicated to the lab
Xbox V1.0 A Brief History
Xbox = DirectX Box
The first Xbox was made with standard PC
parts
The second follows this tradition, but alters
the platform
Xbox V2.0 with the PPC(Xenon)
First, a Plug

The Xbox 360 represents a technological


breakthrough only possible because of the hard
work of hundreds of masterminds around the
world who converged to create the ultimate
gaming machine. Unreal Engine 3-powered
games running at 1280x720 with full screen anti-
aliasing? Not a problem for the Xbox 360.

(From hardware.teamxbox.com)
Dedicated Operating Systems
Designed with a specific set of goals
DirectX Box OS is a lightweight wrapper for Direct3D calls and basic resource
management
What are the resources here?
The graphics card + shader pipeline
DVD optical drive
Main memory (shared)
6 hardware-supported threads
Optional removable HD

Many APIs from Win32 are seen in Xbox code


CreateThread, WaitForSingleObject

Graphics handled through a variation of Direct3D


Not much HAL here usually direct communication with the graphics hardware

Microsoft worked with IBM, ATI, and Silicon Integrated Systems to develop the
hardware
Architectural Summary

3 Core PowerPC, 3.2 Ghz


Each is symmetric (SMT), so 2 HW threads per core
512 MB of GDDR3 RAM (integrated)
700 Mhz DDR bus

ATI graphics (roughly ATI radeon X1950)


SIMD
A SIMD Aside

As the name suggests, SIMD processing increases


the work a single instruction performs so that it
operates on multiple data items simultaneously.

I.e. short vector processing for graphics (2,3,and


4D)
Why 4D?

See IBMs site for more information


http://domino.watson.ibm.com/comm/research.nsf/
pages/r.arch.simd.html
The Xenon (PowerPC)

http://en.wikipedia.org/wiki/Xenon_(processor)
The Custom ATI GPU

500 MHz GPU


Unified shader architecture
48-way parallel shader pipelines
48 billion shader ops per sec
10MB Dedicated frame buffer
Poly Count
500 million triangles per sec

4x MSAA
Memory Subsystem

Memory Interface bus bandwidth: 22.4GB/s


Front-side bus: 21.6GB/s
Memory references use inverted page tables

Respectable transfer rates, but offers no new


solutions to the CPU/Memory speed gap
Caches
Streaming data
Cross-Cutting OS Issues

What is the responsibility of this OS?


i.e. What is this hardware supposed to accomplish?

What languages are supported?

What tools are offered?

How portable are the applications?


Compiler and Language Support

C/C++ still the leading language due to speed


and legacy
Recent support was added to the kernel for
managed code (C#)
Effectively used in XNA
Still some scalability & GC issues

Visual Studio offers a tightly integrated IDE


A Thin OS

16MB for the entire OS


Compare this to even the graphics card frame
buffer!
10MB
Has access to 32MB for OS operations
The Audio Subsystem

Multichannel surround sound


48 KHZ 16-bit audio
32-bit processiong
More than 256 audio channels
Extending the OS

MS uses network and disk updates for its OS


The dashboard is the users interface
Updated frequently

Custom design for the OS primarily centers


around device drivers
Imagine G5s Lining the
Walls..

From a hardware point of view the Xbox 360


represents an evolution from the Xbox, but when
you see the new console as part of a whole platform,
the Xbox 360 represents a true REVOLUTION.

An odd site at Microsoft, but this was our platform


and architecture.
Alternate OS Same
Architecture
Windows NT (3.51 and 4.0)
Mac OS X up to 10.5.8
Solaris 2.5.1 (PowerPC edition)
Amiga OS4
Free60 porting BSD, Linux and other systems
to the 360

Embedded & Special Purpose


Cisco IOS
WII (Broadway)
Questions?

S-ar putea să vă placă și