Documents on Cell Broadband Engine™ (Cell/B.E.) technology and software components for the Cell/B.E. processor to be released at this timing are the following components.

Cell/B.E. Documents

* Programming guide documents

Guide to Cell Broadband Engine™ Programming Documentation (Version 1.0 / August 2008)

This Guide is designed to help you navigate the programming documentation for the Cell/B.E. processor.
The Guide summarizes the documentation, explaining the relevance of each document to particular Cell/B.E. programming roles and objectives.
PDF: 1.0MB

Cell BE Programming Tutorial

A short overview of the Cell/B.E. hardware organization, programming methods, programming examples, and process of writing and debugging programs.
http://www.ibm.com/chips/techlib/techlib.nsf/techdocs/FC857AE550F7EB83872571A80061F788

Cell Broadband Engine™ Programming Handbook Including the PowerXCell 8i Processor (Version 1.12 / April 3, 2009)

A general programming reference for the Cell/B.E. processor, with extended content targeted for programmers who are interested in developing user applications, libraries, drivers, middleware, compilers, or operating systems for the Cell/B.E. processor.
http://www.ibm.com/chips/techlib/techlib.nsf/techdocs/7A77CCDF14FE70D5852575CA0074E8ED

The PowerPC Compiler Writer's Guide

Although the title indicates an audience of compiler writers, the document is useful to all assembly-language programmers who wish to optimize performance of application or system programs for the PPU.
http://www.ibm.com/chips/techlib/techlib.nsf/techdocs/852569B20050FF7785256996007558C6

* Processor architecture documents

Cell Broadband Engine™ Architecture (Version 1.02 / October 11, 2007)

defines a processor structure directed toward distributed processing and multimedia applications.
The architecture contains a control processor based on the PowerPC Architecture, augmented with multiple high- performance SIMD Synergistic Processor Units and a rich set of DMA commands for efficient communications among processing elements.
PDF: 6.1MB

Synergistic Processor Unit(SPU) Instruction Set Architecture (Version 1.2 / January 27, 2007)

discloses the high performance SIMD RISC processor designed to accelerate media and streaming applications for systems based upon the Cell Broadband Engine™ Architecture.
Specifications of the instruction set architecture (ISA) for the SPU.
PDF: 3.8MB

PowerPC Microprocessor Family: The Programming Environments Manual for 64-Bit Microprocessors

An in-depth description of the 64-bit PowerPC™ Instruction Set Architecture (ISA), which is implemented by the PPU.
http://www.ibm.com/chips/techlib/techlib.nsf/techdocs/F7E732FF811F783187256FDD004D3797

PowerPC Architecture Book, Version 2.02

Specifications of a version of the PowerPC™ Instruction Set Architecture (ISA), which is implemented by the PPU.
http://www.ibm.com/developerworks/power/library/pa-archguidev2/

PowerPC Microprocessor Family: Vector/SIMD Multimedia Extension Technology Programming Environments Manual (Version 2.07c)

Specifications of the PowerPC Vector/SIMD Multimedia Extension instruction set architecture (ISA), which is implemented by the PPU.
http://www.ibm.com/chips/techlib/techlib.nsf/techdocs/C40E4C6133B31EE8872570B500791108

Cell Broadband Engine™ Registers (Version 1.5 / April 2, 2007)

contains Cell Broadband Engine™ register bit descriptions for registers to be used by a wide variety of audiences. This document should be used in conjunction with the Cell Broadband Engine™ Architecture and other supporting documents.
PDF: 4.1MB

* Programming standards documents

C/C++ Language Extensions for Cell Broadband Engine™ Architecture (Version 2.3 / December 4, 2006)

This document describes language extension specifications that allow software developers to access hardware features that are not easily accessible from a high level language, such as C or C++, in order to obtain the best performance from the SPU and the PPU hardware of the Cell/B.E.
PDF: 1.8MB

SIMD Math Library Specification for Cell Broadband Engine™ Architecture (Version 1.0 / November 6, 2006)

This document contains specifications for a math library that takes advantage of the Single Instruction, Multiple Data (SIMD) instructions provided by the SPU and the PPU hardware of the Cell/B.E..
PDF: 0.6MB

SPU Assembly Language Specification (Version 1.4 / October 11, 2006)

describes the specifications of the SPU assembly language.
aids software developers in unleashing the full processing power of the SPUs.
PDF: 0.4MB

SPU Application Binary Interface Specification (Version 1.6 / December 4, 2006)

defines the ABI of the SPU.
aids software developers in unleashing the full processing power of the SPUs.
PDF: 0.6MB

Cell Broadband Engine Linux Reference Implementation Application Binary Interface Specification

This document describes particular features of the Cell/B.E. Linux Reference Implementation ABI.
http://www.ibm.com/chips/techlib/techlib.nsf/techdocs/44DA30A1555CBB73872570B20057D5C8

* Hardware implementation documents

Cell Broadband Engine™ Hardware Initialization Guide

describes the sequences needed to initialize the Cell/B.E. processor, from the Power-On Reset (POR) sequence through calibration of memory and I/O interfaces and the PPE firmware sequence. The information does not assume any specific system implementation.

 -  Cell Broadband Engine™ CMOS SOI 90 nm Hardware Initialization Guide
http://www.ibm.com/chips/techlib/techlib.nsf/techdocs/BD3F1F4C3DB32C7487257142006131BC

 -  Cell Broadband Engine™ CMOS SOI 65 nm Hardware Initialization Guide
http://www.ibm.com/chips/techlib/techlib.nsf/techdocs/AF7832F379790768872572D10047E52B

Preventing Synergistic Processor Element Indefinite Stalls Resulting from Instruction Depletion in the Cell Broadband Engine™ Processor for CMOS SOI 90 nm (Version 1.0 / February 19, 2007)

This applications note describes the methods of preventing an indefinite SPE stall that can be caused by the use of a branch hint instruction under some circumstances on the 90nm Cell/B.E. processor.
PDF: 0.3MB


Cell/B.E. Software Components

Linux on Cell BE-based Systems

IBM is distributing source patches for the Linux operating system that provide services needed to support the hardware facilities of the Cell/B.E. processor.
These Linux operating system patches include the run-time programming interfaces needed to manage and utilize the Cell/B.E.'s synergistic processor elements (SPE's).
http://www.bsc.es/projects/deepcomputing/linuxoncell/

SPE Runtime Management Library

This programming library provides a thread abstraction model on "Linux on Cell BE-based Systems" for application use and management of the Cell/B.E.'s SPEs.
This library is being released by IBM under an open source license to maximize the value to the programming community.
http://www.bsc.es/projects/deepcomputing/linuxoncell/

Cell/B.E. Software Development Kit (SDK)

The IBM Software Development Toolkit (SDK) for Cell/B.E. is a complete package of tools for the Cell/B.E. processor.
The SDK is composed of development tool chains, software libraries and sample source, a system simulator, and Linux kernel that fully support the capabilities of the Cell/B.E..
http://www.ibm.com/developerworks/power/cell/downloads.html

IBM Full System Simulator for the Cell Broadband Engine™ Processor

The IBM Full System Simulator executable provides a rich set of capabilities for architecture simulation of the Cell/B.E. processor. The extensive set of simulation services available are capable of booting and running an operating system as well as applications targeted to the Cell/B.E. processor.
http://www.alphaworks.ibm.com/tech/cellsystemsim/