Cell (microprocessor)

Missing image
Cellchip.jpg
(IBM Microelectronics) Cell microprocessor

The Cell is a microprocessor jointly developed by IBM, Toshiba and Sony. The Cell architecture is intended to be scalable from handheld devices to mainframe computers by utilizing parallel processing. Sony is using the chip in their PlayStation 3 game console to be released in the second quarter of 2006.

Contents

History

In 2000, IBM, Sony Computer Entertainment Inc., and Toshiba Corp. formed an alliance to design and build the processor. Design process debuted in design centers in March 2001. Template:Ref The Cell was designed over a period of four years, using enhanced versions of the design tools for the POWER4 processor. Over 400 engineers from the three companies worked together in 10 of IBM's design centers. Template:Ref

On the 17th May, 2005, Sony Computer Entertainment confirmed the spec of the Cell processor that would be shipping in the forthcoming Playstation 3 console. This Cell will have one processing unit on the core, with seven SPEs ("Synergistic Processing Units", see below) and one SPE reserved for redundancy. It will be clocked at 3.2 GHz, although in lab conditions the processor apparently has been clocked successfully up to 5.2 GHz. The chips are being fabricated using IBM's 90 nanometre SOI (Silicon on insulator) process, at its fab in East Fishkill, New York. Full production may switch at some later date to use a 65-nm or 45-nm process jointly developed by IBM and Toshiba at their Nagasaki fabrication plant. Sony currently is also using its 90-nm process to produce the integrated GS/EE for the PSX*, the Japan-only combination PlayStation 2/DVR unit. (* This usage of "PSX" is distinct from the commonly used informal designation of the original PlayStation.)

Open Specs

As of May 5, 2005, patches for the Cell processor were mailed to the Linux kernel mailing list by IBM developers (Find them here (http://lkml.org/lkml/2005/5/13/217)). Arnd Bergmann of IBM will describe and premier the Linux based Cell architecture at Linuxtag 2005 (22-25 Jun). Template:Ref

Architecture

Missing image
Cell.JPG
Cell's die (false-color)
While the Cell chip can have a number of different configurations, the basic configuration is composed of one "Power Processor Element" ("PPE") (sometimes called "Processing Element", or "PE"), and eight "Synergistic Processing Elements" ("SPE") Template:Ref. Due to the nature of its applications, Cell is optimized towards single precision floating point computation. "This design decision is based the real time nature of game workloads and other media applications: most often, saturation is mathematically the right solution." Template:Ref

Power Processor Element

The PPE is based on the POWER Architecture, which is the basis of IBM's existing POWER line and related to the PowerPC used by Apple Computer and others. The PE is not the primary processor for the system, but acts as a controller for the other eight SPEs, which handle most of the computational workload. It has 32KB instruction & data Level 1 cache, and 512KB Level 2 cache. Template:Ref

Synergistic Processing Elements

Each SPE is composed of a "Synergistic Processing Unit" ("SPU"), and a SMF unit (DMA, MMU, and BUS IFTemplate:Ref). Template:Ref A SPE is a general purpose RISC processor with 128-bit SIMD organization Template:Ref for single and double precision instructions. It has 256 KB of instruction & data local high speed memory, which is also visible to the PPE to be loaded with data and programs as needed Template:Ref. It has 128 registers of 128bits Template:Ref. It measures 14.5mm˛ (90nm process) Template:Ref. It also has its own DMA unit connected to the EIB through a MMU for address translating.

The local high speed memory is called 'Local Store'. It performs load/stores, transactions for DMA, and fetches instructions in a instruction-line buffer. Template:Ref

In general use the system will load the SPEs with small programs, chaining the SPEs together to handle each step in a complex operation. For instance, a set-top box could load up programs for reading a DVD, video and audio decoding, and display, and the data would be passed off from SPE to SPE until finally ending up on the TV. At 4 GHz, each SPE gives 32 GFLOPS of performance, thereby giving the SPEs 256 GFLOPS of performance. Performance of the PPE's VMX unit is unclear, but should be around 32 GFLOPS in addition to the SPEs.

"The SPU is an in-order dual-issue statically scheduled architecture. Two SIMD instructions can be issued per cycle: one compute instruction and one memory operation. The SPU branch architecture does not include dynamic branch prediction, but instead relies on compiler-generated branch prediction using "prepare-to-branch" instructions to redirect instruction prefetch to branch targets."Template:Ref

Element Interconnect Bus

Unit that enable communication from one core to another. Template:Ref

Memory controller and I/O

The memory controller, a dual XDR controller, is incorporated in the Cell processor (25.6GB/s @3.2Ghz). This replaces the north bridge, like in Athlon 64 processors. The processor also feature two reconfigurable I/O interfaces called FlexIO (76.8GB/s @6.4Ghz) that eliminates the need of south bridge. Template:Ref

Broadband Engine

Much less information is available about the 'broadband engine', most come from patent applications. It's believed the Cell allows for multiple processing cores to be put onto one die, and the patent (http://patft.uspto.gov/netacgi/nph-Parser?Sect1=PTO2&Sect2=HITOFF&u=/netahtml/search-adv.htm&r=1&f=G&l=50&d=PTXT&p=1&p=1&S1=) showed four cores on one die, called the "Broadband Engine", potentially giving over 1 TFLOPS theoretical performance. The companies designing the chip have claimed they intend to scale performance for various uses, both low-end and high-end, by varying the number of cores on the chip, the number of units in a single core, and by linking multiple chips to each other via network or memory bus.

Initial speculation of TFLOPS performance was largely based on claims of a 65nm SOI process. Though IBM, Sony and Toshiba were following this agenda in the beginning, Intel and AMD's renewed concern for multi-core processing and Sony wanting first-mover's advantage on next generation gaming consoles may have forced them to go with a 90nm SOI process very much similar to the Intel Prescott core manufacturing process. However the 'Broadband engine' integrated into the Cell helps it attain enough bandwidth for theoretical 1 TFLOPS performance, though real-world models may rarely rise to such a figure.

Similar multiple-core designs include Sun Microsystems' MAJC (pronounced "magic"). The first MAJC chip was originally designed for multimedia processing, although Sun have subsequently repositioned the MAJC chip as a high-end graphics processor for workstations. In addition, Stanford University's Imagine Stream Processor (http://cva.stanford.edu/imagine/project/im_arch.html) shares a similar conceptual underpinning.

Facts

This seems to be the most common edition:

Architecture compared

In some ways the Cell system resembles early Seymour Cray designs in reverse. The famed CDC 6600 used a single very fast processor to handle the mathematical calculations, while a series of ten slower systems were given smaller programs to keep the main memory fed with data. In the Cell the problem has been reversed: reading the data is no longer the difficult problem due to the complex encodings used in industry; today the problem is efficiently decoding that data into an ever-less-compressed version as quickly as possible.

In other ways the Cell resembles a modern desktop computer on a single chip.

Modern graphics cards have multiple elements very similar to the SPE's, known as vertex shader units, with an attached high speed memory. Programs, known as shaders, are loaded onto the units to process the basic geometry fed from the computer's CPU, apply styles and display it.

The main differences are that the Cell's SPEs are much more general purpose than shader units, and the ability to chain the SPEs under program control offers considerably more flexibility, allowing the Cell to handle graphics, sound, or anything else.

Devices

Blade server

IBM has already presented a blade server prototype based on 2 Cell processors, running the Linux Kernel 2.6.11. Template:Ref The processors ran at 2.4-2.8Ghz. IBM expect to make them run at 3Ghz giving 200 GFLOPS per CPU (or 400 GFLOPS per board), and to put seven boards in a single rack for a total performance of 2.8 TFLOPS. This is equivalent to the 70th supercomputer in the TOP500 List as of 11/2004 (http://www.top500.org/lists/plists.php?Y=2004&M=11), or 125th as of 06/2005 (http://www.top500.org/lists/plists.php?TB=2&M=06&Y=2005). However those supercomputers use between 600 and 1000 CPU.

IBM probably plans to build 16 TFLOPS racks. Template:Ref Template:Ref That's 1 Peta-FLOPS (a million GFLOPS) for 64 racks.

Video Games

Sony's Playstation 3 video game console will use a 3.2Ghz Cell processor, providing 218 GFLOPS.

Home Cinema

Toshiba will probably manufacture HDTVs using this technology. They already presented a system to decode 48 MPEG-2 streams simultaneously on a 1920x1080 screen. Template:Ref

Software engineering

The PPE is the conductor, SPEs are the orchestra. The PPE should be used to control synchronization, for random access to memory, communicate with devices, run the operating system. SPEs should be used to execute repetitive tasks with limited memory access. Due to the flexible nature of the Cell, there're several ways to use it: Template:Ref

Job queue

The PPE maintains the job queue, schedules jobs in SPEs, and monitors progress. Each SPE has a mini kernel whose role is to get a job, execute it, and synchronize with the PPE. Template:Ref (More here (http://www.research.scea.com/research/html/CellGDC05/26.html))

Self-multitasking of SPEs

The kernel, and scheduling is distributed across the SPEs. Tasks are synchronized using mutexes or semaphores, like in a conventional operating systems. Ready to run tasks are either ran by a SPE, or in a waiting queue, other tasks wait. Tasks are contained in a shared memory. This maximizes the utilization of SPEs, and the PPE has nothing to do. Template:Ref (More here (http://www.research.scea.com/research/html/CellGDC05/37.html))

Stream processing

Each SPE has a program. Data comes from an input stream, and is sent to SPEs. When a SPE has terminated the processing, the output data is sent to output stream. Template:Ref (More here (http://www.research.scea.com/research/html/CellGDC05/41.html))

Software development

Both PPE and SPEs are programmable in C/C++ using a common API provided by libraries. No assembly is required to access SIMD instructions, the compiler has built-in functions. Compiler, debugger, IDE, performance analyzer, and Cell emulator should be made available. Template:Ref

Acronyms

References

  1. Template:Note Template:Citenews
  2. Template:Note Template:Citenews
  3. Template:Note Template:Citenews
  4. Template:Note Template:Citenews
  5. Template:Note Template:Citenews
  6. Template:Note Template:Citenews
  7. Template:Note Template:Citenews
  8. Template:Note Template:Citenews
  9. Template:Note Template:Citenews
  10. Template:Note Template:Citenews
  11. Template:Note Template:Citenews
  12. Template:Note Template:Citenews
  13. Template:Note Template:Citenews
  14. Template:Note Template:Citenews
  15. Template:Note Template:Web reference
  16. Template:Note Template:Web reference

External links

de:Cell es:Cell it:Cell ja:Cell

Navigation

  • Art and Cultures
    • Art (https://academickids.com/encyclopedia/index.php/Art)
    • Architecture (https://academickids.com/encyclopedia/index.php/Architecture)
    • Cultures (https://www.academickids.com/encyclopedia/index.php/Cultures)
    • Music (https://www.academickids.com/encyclopedia/index.php/Music)
    • Musical Instruments (http://academickids.com/encyclopedia/index.php/List_of_musical_instruments)
  • Biographies (http://www.academickids.com/encyclopedia/index.php/Biographies)
  • Clipart (http://www.academickids.com/encyclopedia/index.php/Clipart)
  • Geography (http://www.academickids.com/encyclopedia/index.php/Geography)
    • Countries of the World (http://www.academickids.com/encyclopedia/index.php/Countries)
    • Maps (http://www.academickids.com/encyclopedia/index.php/Maps)
    • Flags (http://www.academickids.com/encyclopedia/index.php/Flags)
    • Continents (http://www.academickids.com/encyclopedia/index.php/Continents)
  • History (http://www.academickids.com/encyclopedia/index.php/History)
    • Ancient Civilizations (http://www.academickids.com/encyclopedia/index.php/Ancient_Civilizations)
    • Industrial Revolution (http://www.academickids.com/encyclopedia/index.php/Industrial_Revolution)
    • Middle Ages (http://www.academickids.com/encyclopedia/index.php/Middle_Ages)
    • Prehistory (http://www.academickids.com/encyclopedia/index.php/Prehistory)
    • Renaissance (http://www.academickids.com/encyclopedia/index.php/Renaissance)
    • Timelines (http://www.academickids.com/encyclopedia/index.php/Timelines)
    • United States (http://www.academickids.com/encyclopedia/index.php/United_States)
    • Wars (http://www.academickids.com/encyclopedia/index.php/Wars)
    • World History (http://www.academickids.com/encyclopedia/index.php/History_of_the_world)
  • Human Body (http://www.academickids.com/encyclopedia/index.php/Human_Body)
  • Mathematics (http://www.academickids.com/encyclopedia/index.php/Mathematics)
  • Reference (http://www.academickids.com/encyclopedia/index.php/Reference)
  • Science (http://www.academickids.com/encyclopedia/index.php/Science)
    • Animals (http://www.academickids.com/encyclopedia/index.php/Animals)
    • Aviation (http://www.academickids.com/encyclopedia/index.php/Aviation)
    • Dinosaurs (http://www.academickids.com/encyclopedia/index.php/Dinosaurs)
    • Earth (http://www.academickids.com/encyclopedia/index.php/Earth)
    • Inventions (http://www.academickids.com/encyclopedia/index.php/Inventions)
    • Physical Science (http://www.academickids.com/encyclopedia/index.php/Physical_Science)
    • Plants (http://www.academickids.com/encyclopedia/index.php/Plants)
    • Scientists (http://www.academickids.com/encyclopedia/index.php/Scientists)
  • Social Studies (http://www.academickids.com/encyclopedia/index.php/Social_Studies)
    • Anthropology (http://www.academickids.com/encyclopedia/index.php/Anthropology)
    • Economics (http://www.academickids.com/encyclopedia/index.php/Economics)
    • Government (http://www.academickids.com/encyclopedia/index.php/Government)
    • Religion (http://www.academickids.com/encyclopedia/index.php/Religion)
    • Holidays (http://www.academickids.com/encyclopedia/index.php/Holidays)
  • Space and Astronomy
    • Solar System (http://www.academickids.com/encyclopedia/index.php/Solar_System)
    • Planets (http://www.academickids.com/encyclopedia/index.php/Planets)
  • Sports (http://www.academickids.com/encyclopedia/index.php/Sports)
  • Timelines (http://www.academickids.com/encyclopedia/index.php/Timelines)
  • Weather (http://www.academickids.com/encyclopedia/index.php/Weather)
  • US States (http://www.academickids.com/encyclopedia/index.php/US_States)

Information

  • Home Page (http://academickids.com/encyclopedia/index.php)
  • Contact Us (http://www.academickids.com/encyclopedia/index.php/Contactus)

  • Clip Art (http://classroomclipart.com)
Toolbox
Personal tools