190 likes | 310 Views
OS Case Study: The Xbox 360. Instructor: Rob Nash Readings: See citations in the slides. Where We’re At & Where We’re 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
E N D
OS Case Study: The Xbox 360 • Instructor: Rob Nash • Readings: See citations in the slides
Where We’re At & Where We’re 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
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 alightweight 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 IBM’s 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 user’s 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”)