Cell microprocessor

From Wikipedia, the free encyclopedia

Power Architecture

CPU architecture

Historical

POWERPPC6xxPowerPC-ASPOWER2POWER3POWER4

Current

PowerPCe200e600PA6TPOWER5PPC970Cell PPE

Future

POWER6POWER7e700

Related Links

RISCAltiVecIBM System pIBM System iPlaystation 3Xbox 360

Layout of the IBM Cell die
Layout of the IBM Cell die

Cell is a microprocessor architecture jointly developed by a Sony, Toshiba, and IBM, an alliance known as "STI." The architectural design and first implementation were carried out at the STI Design Center over a four-year period beginning March 2001 on a budget reported by IBM as approaching US$400 million.[1]

Cell is a shorthand for Cell Broadband Engine Architecture, commonly abbreviated CBEA in full or Cell BE in part. Cell combines a general-purpose Power Architecture core of modest performance with streamlined coprocessing elements[2] which greatly accelerate multimedia and vector processing applications, as well as many other forms of dedicated computation.[2]

The first major commercial application of Cell was in Sony's PlayStation 3 game console. Mercury Computer Systems has a dual Cell server, a dual Cell blade configuration, a rugged computer and a PCI Express accelerator board available in different stages of production. Toshiba has announced plans to incorporate Cell in high definition television sets. Exotic features such as the XDR memory subsystem and coherent EIB interconnect[3] appear to position Cell for future applications in the supercomputing space to exploit the Cell processor's prowess in floating point kernels.

The Cell architecture includes a novel memory coherence architecture for which IBM received many patents. The architecture emphasizes efficiency/watt, prioritizes bandwidth over latency, and favors peak computational throughput over simplicity of program code. For these reasons, Cell is widely regarded as a challenging environment for software development.[4] IBM provides a comprehensive Linux-based Cell development platform to assist developers in confronting these challenges.[5] Software adoption remains a key issue in whether Cell ultimately delivers on its performance potential.

Despite those challenges, research has indicated that Cell excels at several types of scientific computation.[6]

In November 2006, David A. Bader at Georgia Tech was selected by Sony, Toshiba, and IBM from more than a dozen universities[7] to direct the first STI Center of Competence for the Cell Processor.[8][9] This partnership is designed to build a community of programmers and broaden industry support for the Cell processor.[7][8] There is a Cell Programming tutorial video available.[10]

Contents

Cell BE
architecture
software
development
fabrication

In 2000, Sony Computer Entertainment, Toshiba Corporation, and IBM formed an alliance ("STI") to design and manufacture the processor.

The STI Design Center in Austin, Texas opened in March 2001.[11] 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 Austin, with critical support from eleven of IBM's design centers.[11]

During this period, IBM filed many patents pertaining to the Cell architecture, manufacturing process, and software environment. An early patent version of the Broadband Engine was shown to be a chip package comprising four "Processing Elements," which was the patent's description for what is now known as the "Power Processing Element." Each Processing Element contained 8 "APUs," which are now referred to as SPEs on the current Broadband Engine chip. Said chip package was widely regarded to run at a clock speed of 4 GHz and with 32 APUs providing 32 GFLOPS each, the Broadband Engine was shown to have a teraflops of raw computing power.

In March 2007 IBM announced that the 65 nm version of Cell BE is in production at its plant in East Fishkill, New York.[12]

On May 17, 2005, Sony Computer Entertainment confirmed some specifications of the Cell processor that would be shipping in the forthcoming PlayStation 3 console.[13][14] This Cell configuration will have one Power processing element (PPE) on the core, with eight physical SPEs in silicon.[14] In the PlayStation 3, one SPE is locked-out during the test process, a practice which helps to improve manufacturing yields.[citation needed] The target clock-frequency at introduction is 3.2 GHz.[13] The introductory design is fabricated using a 90-nanometre SOI process, with initial volume production slated for IBM's facility in East Fishkill, New York.[12]

Note that the relationship between cores and threads is a common source of confusion. The PPE core is dual threaded and manifests in software as two independent threads of execution while each active SPE manifests as a single thread. In the PlayStation 3 configuration as described by Sony, the Cell processor provides nine independent threads of execution.

On June 28, 2005, IBM and Mercury Computer Systems announced a partnership agreement to build Cell-based computer systems for embedded applications such as medical imaging, industrial inspection, aerospace and defense, seismic processing, and telecommunications.[citation needed] Mercury has since then released blades, conventional rack servers and PCI Express accelerator boards with Cell processors.[citation needed]

In the fall of 2006 IBM released the QS20 blade module using double Cell BE processors for tremendous performance in certain applications, reaching a peak of 410 gigaFLOPS per module. These modules are expected to be a part of the IBM Roadrunner supercomputer that will be operational in 2008. Mercury and IBM uses the fully utilized Cell processor with 8 active SPEs.

A Cell Processor
A Cell Processor

The Cell Broadband Engine—or Cell as it is more commonly known—is a microprocessor designed to bridge the gap between conventional desktop processors (such as the well known Pentium and PowerPC families) and more specialized high-performance processors, such as nVIDIA and ATI graphics-processors (GPUs). The name indicates its intended use, namely as a component in current and future digital distribution systems; as such it may be utilized in high-definition displays and recording equipment, as well as computer entertainment systems for the HDTV era. Additionally the processor should be well suited to digital imaging systems (medical, scientific, etc.) as well as physical simulation (e.g. scientific and structural engineering modeling).

In a simple analysis the Cell processor can be split into four components: external input and output structures, the main processor called the Power Processing Element (PPE) (a two-way SMT Power 970 architecture compliant core), eight fully-functional co-processors called the Synergistic Processing Elements or SPEs and a specialized high-bandwidth circular data bus connecting the PPE, input/output elements and the SPEs, called the Element Interconnect Bus or EIB.

To achieve the high performance needed for mathematically intensive tasks, such as decoding/encoding MPEG streams, generating or transforming three dimensional data, or undertaking Fourier analysis of data, the Cell processor simply marries the SPEs and the PPE via the EIB to give both access to main memory or other external data storage. The PPE which is capable of running a conventional operating system has control over the SPEs and can start, stop, interrupt and schedule processes running on the SPEs. To this end the PPE has additional instructions relating to control of the SPEs. Despite having Turing complete architectures the SPEs are not fully autonomous and require the PPE to initiate them before they can do any useful work. Most of the "horsepower" of the system comes from the synergistic processing elements.

The PPE and bus architecture includes various modes of operation giving different levels of memory protection, allowing areas of memory to be protected from access by specific processes running on the SPEs or PPE.

Both the PPE and SPE are RISC architectures with a fixed-width 32-bit instruction format. The PPE contains a 64-bit general purpose register set (GPR), a 64-bit floating point register set (FPR), and a 128-bit Altivec register set. The SPE contains 128-bit registers only. These can be used for scalar data types ranging from 8-bits to 128-bits in size or for SIMD computations on a variety of integer and floating point formats. System memory addresses for both the PPE and SPE are expressed as 64-bit values for a theoretic address range of 264 bytes. In practice, not all of these bits are implemented in hardware; the address space is extremely large nevertheless. Local store addresses internal to the SPU processor are expressed as a 32-bit word. In documentation relating to Cell a word is always taken to mean 32 bits, a doubleword means 64 bits, and a quadword means 128 bits.

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.

Modern graphics cards have multiple elements very similar to the SPE's, known as shader units, with an attached high speed memory. Programs, known as shaders, are loaded onto the units to process the input data streams fed from the previous stages (possibly the CPU), according to the required operations.

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.

Main article: Cell architecture

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 multiple "Synergistic Processing Elements" ("SPE").[15] The PPE and SPEs are linked together by an internal high speed bus dubbed "Element Interconnect Bus" ("EIB"). Due to the nature of its applications, Cell is optimized towards single precision floating point computation. The SPEs are capable of performing double precision calculations, albeit with an order of magnitude performance penalty. However, there are ways to circumvent this in software using iterative refinement, which means only the values are calculated in double precision where it actually makes sense. Jack Dongarra and his team demonstrated a 3.2 GHz Cell with 8 SPUs delivering a performance equal to 100 GFLOPS on an average double precision Linpack 4096x4096 matrix.

The PPE is based on the POWER Architecture (a two-way SMT Power 970 architecture compliant core), which is the basis of IBM's line of POWER and PowerPC offerings. The PPE is not intended to perform all primary processing for the system, but rather to act as a controller for the other eight SPEs, which handle most of the computational workload. The PPE will work with conventional operating systems due to its similarity to other 64-bit PowerPC processors, while the SPEs are designed for vectorized floating point code execution. The PPE contains a 32 KiB instruction and a 32 KiB data Level 1 cache and a 512 KiB Level 2 cache. Additionally, IBM has included a VMX (AltiVec) unit in the Cell PPE.[16] The PPE's VMX (AltiVec) unit is fully pipelined for double precision floating point and each SPU can complete two double precision operations per clock cycle, which translates to 6.4 GFLOPS at 3.2 GHz; or eight single precision operations per clock cycle, which translates to 25.6 GFLOPS at 3.2 GHz.[17]

Each SPE is composed of a "Synergistic Processing Unit", SPU, and a "Memory Flow Controller", MFC (DMA, MMU, and bus interface).[18] An SPE is a RISC processor with 128-bit SIMD organization[16][19][20] for single and double precision instructions. With the current generation of the Cell, each SPE contains a 256 KiB instruction and data local memory area (called "local store") which is visible to the PPE and can be addressed directly by software. Each SPE can support up to 4 GiB of local store memory. The local store does not operate like a conventional CPU cache since it is neither transparent to software nor does it contain hardware structures that predict which data to load. The SPEs contain a 128 × 128 register file and measure 14.5 mm² on a 90 nm process. An SPE can operate on 16 8-bit integers, 8 16-bit integers, 4 32-bit integers, or 4 single precision floating-point numbers in a single clock cycle. It can also do a memory operation in the same clock cycle. Note that the SPU processor cannot directly access system memory; the 64-bit memory addresses formed by the SPU must be passed from the SPU processor to the SPE memory flow controller (MFC) to set up a DMA operation within the system address space.

In one typical usage scenario, the system will load the SPEs with small programs (similar to threads), chaining the SPEs together to handle each step in a complex operation. For instance, a set-top box might load 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. Another possibility is to partition the input data set and have several SPEs performing the same kind of operation in parallel. At 3.2 GHz, each SPU gives a theoretical 25.6 GFLOPS of single precision performance.

Compared to a modern personal computer, the relatively high overall floating point performance of a Cell processor seemingly dwarfs the abilities of the SIMD unit in desktop CPUs like the Pentium 4 and the Athlon 64. However, comparing only floating point abilities of a system is a one-dimensional and application-specific metric. Unlike a Cell processor, such desktop CPUs are more suited to the general purpose software usually run on personal computers. In addition to executing multiple instructions per clock, processors from Intel and AMD feature branch predictors. The Cell is designed to compensate for this with compiler assistance, in which prepare-to-branch instructions are created. For double-precision, as used in personal computers, Cell performance drops by an order of magnitude, but still reaches 14 GFLOPS.

Recent tests by IBM show that the SPEs can reach 98% of their theoretical peak performance using optimized parallel Matrix Multiplication.[17]

The EIB is a communication bus internal to the Cell processor which connects the various on-chip system elements: the PPE processor, the memory controller (MIC), the eight SPE coprocessors, and two off-chip I/O interfaces, for a total of 12 participants. The EIB also includes an arbitration unit which functions as a set of traffic lights. In some documents IBM refers to EIB bus participants as 'units'.

The EIB is presently implemented as a circular ring comprised of four 16B-wide unidirectional channels which counter-rotate in pairs. When traffic patterns permit, each channel can convey up to three transactions concurrently. As the EIB runs at half the system clock rate the effective channel rate is 16 bytes every two system clocks. At maximum concurrency, with three active transactions on each of the four rings, the peak instantaneous EIB bandwidth is 96B per clock (12 concurrent transactions * 16 bytes wide / 2 system clocks per transfer). While this figure is often quoted in IBM literature it is unrealistic to simply scale this number by processor clock speed. The arbitration unit imposes additional constraints which are discussed in the Bandwidth Assessment section below.

IBM Senior Engineer David Krolak, EIB lead designer, explains the concurrency model:

A ring can start a new op every three cycles. Each transfer always takes eight beats. That was one of the simplifications we made, it's optimized for streaming a lot of data. If you do small ops, it does not work quite as well. If you think of eight-car trains running around this track, as long as the trains aren't running into each other, they can coexist on the track.[21]

Each participant on the EIB has one 16B read port and one 16B write port. The limit for a single participant is to read and write at a rate of 16B per EIB clock (for simplicity often regarded 8B per system clock). Note that each SPU processor contains a dedicated DMA management queue capable of scheduling long sequences of transactions to various endpoints without interfering with the SPU's ongoing computations; these DMA queues can be managed locally or remotely as well, providing additional flexibility in the control model.

Data flows on an EIB channel stepwise around the ring. Since there are twelve participants, the total number of steps around the channel back to the point of origin is twelve. Six steps is the longest distance between any pair of participants. An EIB channel is not permitted to convey data requiring more than six steps; such data must take the shorter route around the circle in the other direction. The number of steps involved in sending the packet has very little impact on transfer latency: the clock speed driving the steps is very fast relative to other considerations. However, longer communication distances are detrimental to the overall performance of the EIB as they reduce available concurrency.

Despite IBM's original desire to implement the EIB as a more powerful cross-bar, the circular configuration they adopted to spare resources rarely represents a limiting factor on the performance of the Cell chip as a whole. In the worst case, the programmer must take extra care to schedule communication patterns where the EIB is able to function at high concurrency levels.

David Krolak explains:

Well, in the beginning, early in the development process, several people were pushing for a crossbar switch, and the way the bus is architected, you could actually pull out the EIB and put in a crossbar switch if you were willing to devote more silicon space on the chip to wiring. We had to find a balance between connectivity and area, and there just was not enough room to put a full crossbar switch in. So we came up with this ring structure which we think is very interesting. It fits within the area constraints and still has very impressive bandwidth.[21]

For the sake of quoting performance numbers, we will assume a Cell processor running at 3.2 GHz, the clock speed most often cited.

At this clock frequency each channel flows at a rate of 25.6 GB/s. Viewing the EIB in isolation from the system elements it connects, achieving twelve concurrent transactions at this flow rate works out to an abstract EIB bandwidth of 307.2 GB/s. Based on this view many IBM publications depict available EIB bandwidth as "greater than 300 GB/s". This number reflects the peak instantaneous EIB bandwidth scaled by processor frequency.[22]

However, other technical restrictions are involved in the arbitration mechanism for packets accepted onto the bus. The IBM Systems Performance group explains:

Each unit on the EIB can simultaneously send and receive 16B of data every bus cycle. The maximum data bandwidth of the entire EIB is limited by the maximum rate at which addresses are snooped across all units in the system, which is one per bus cycle. Since each snooped address request can potentially transfer up to 128B, the theoretical peak data bandwidth on the EIB at 3.2 GHz is 128Bx1.6 GHz = 204.8 GB/s.[17]

This quote apparently represents the full extent of IBM's public disclosure of this mechanism and its impact. The EIB arbitration unit, the snooping mechanism, and interrupt generation on segment or page translation faults are not well described in the documentation set as yet made public by IBM.

In practice effective EIB bandwidth can also be limited by the ring participants involved. While each of the nine processing cores can sustain 25.6 GB/s read and write concurrently, the memory interface controller (MIC) is tied to a pair of XDR memory channels permitting a maximum flow of 25.6 GB/s for reads and writes combined and the two IO controllers are documented as supporting a peak combined input speed of 25.6 GB/s and a peak combined output speed of 35 GB/s.

To add further to the confusion, some older publications cite EIB bandwidth assuming a 4 GHz system clock. This reference frame results in an instantaneous EIB bandwidth figure of 384 GB/s and an arbitration-limited bandwidth figure of 256 GB/s.

All things considered the theoretic 204.8 GB/s number most often cited is the best one to bear in mind. The IBM Systems Performance group has demonstrated SPU-centric data flows achieving 197 GB/s on a Cell processor running at 3.2 GHz so this number is a fair reflection on practice as well.

Sony is currently working on the development of an optical interconnection technology for use in the device-to-device or internal interface of various types of cell-based digital consumer electronics and game systems.

Cell contains a dual channel next-generation Rambus XIO macro which interfaces to Rambus XDR memory. The memory interface controller (MIC) is separate from the XIO macro and is designed by IBM. The XIO-XDR link runs at 3.2 Gbit/s per pin. Two 32 bit channels can provide a theoretical maximum of 25.6 GB/s.

The system interface used in Cell, also a Rambus design, is known as FlexIO. The FlexIO interface is organized into 12 "lanes," each lane being a unidirectional 8-bit wide point-to-point path. Five 8-bit wide point-to-point paths are inbound lanes to Cell, while the remaining seven are outbound. This provides a theoretical peak bandwidth of 62.4 GB/s (36.4 GB/s outbound, 26 GB/s inbound) at 2.6 GHz. The FlexIO interface can be clocked independently, typ. at 3.2 GHz. 4 inbound + 4 outbound lanes are supporting memory coherency.

Much less information is available about the 'broadband engine', most coming from patent applications. It is believed that Cell allows for multiple processing cores to be put onto one die, and the patent shows four cores on one die.[citation needed] Sony, Toshiba, and IBM have claimed that they intend to scale the processor 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.[citation needed]

IBM has presented the QS20 blade server based on two Cell processors, originally running the 2.6.11 Linux kernel.[23] The prototypes ran at 2.4 GHz. Current systems run at 3.2 GHz, providing 205 GFLOPS single-precision floating point performance per CPU (or 410 GFLOPS per board). IBM also expects to arrange seven blades in a single rackmount chassis (similar to their BladeCenter product line) for a total performance of 2.8 TFLOPS (or 284 GFLOPS in double precision) per chassis. However, the performance numbers released by IBM are still theoretical, and the real-world performance could be significantly different from theoretical expectations.

Mercury Computer Systems, Inc. has released blades, conventional rack servers and PCI Express accelerator boards with Cell processors.

Sony's PlayStation 3 video game console contains the first production application of the Cell processor, clocked at 3.2 GHz and containing seven out of eight operational SPEs, to allow Sony to increase the yield on the processor manufacture. Only six of the seven SPEs are accessible to developers as one is reserved for OS security.[citation needed]

Reportedly, Toshiba is considering producing HDTVs using Cell. They have already presented a system to decode 48 MPEG-2 streams simultaneously on a 1920×1080 screen.[24][25] This can enable a viewer to choose a channel based on dozens of thumbnail videos displayed simultaneously on the screen.

IBM's new planned supercomputer, IBM Roadrunner, will be a hybrid of General Purpose RISC as well as Cell processors. It is reported that this combination will produce the first computer to run at petaflop speeds. It will use an updated version of the Cell processor, manufactured using 65 nm technology and enhanced SPUs that can handle double precision calculations in the 128 bit registers, reaching double precision 100 GFLOPs.[26][27]

Due to the flexible nature of the Cell, there are several possibilities for the utilization of its resources:[28]

The PPE maintains a job queue, schedules jobs in SPEs, and monitors progress. Each SPE runs a "mini kernel" whose role is to fetch a job, execute it, and synchronize with the PPE.

The kernel and scheduling is distributed across the SPEs. Tasks are synchronized using mutexes or semaphores as in a conventional operating system. Ready-to-run tasks wait in a queue for a SPE to execute them. The SPEs use shared memory for all tasks in this configuration.

Each SPE runs a distinct program. Data comes from an input stream, and is sent to SPEs. When an SPE has terminated the processing, the output data is sent to output stream.

This provides a flexible and powerful architecture for stream processing, and allows explicit scheduling for each SPE separately. Other processors are also able to perform streaming tasks, but are limited by the kernel loaded.

In 2005, patches enabling Cell support in the Linux kernel were submitted for inclusion by IBM developers.[29] Arnd Bergmann (one of the developers of the aforementioned patches) also described the Linux-based Cell architecture at LinuxTag 2005.[30]

Both PPE and SPEs are programmable in C/C++ using a common API provided by libraries. According to Sony, a compiler, debugger, IDE, performance analyzer, and Cell emulator should be made available soon.[28] IBM has developed a pseudo-filesystem for Linux coined "Spufs" that simplifies access to and use of the SPE resources. IBM is currently maintaining the Linux kernel and GDB ports, while Sony maintains the GNU toolchain (GCC, binutils).[31]

In November 2005, IBM released a "Cell Broadband Engine (CBE) Software Development Kit Version 1.0", consisting of a simulator and assorted tools, to its web site. Development versions of the latest kernel and tools for Fedora Core 4 are maintained at the Barcelona Supercomputing Center website.[32]

With the release of kernel version 2.6.16 on March 20, 2006, the Linux kernel officially supports the Cell processor.[33]

EIB
Element Interconnect Bus[34]
LS
Local Storage (SPE's local memory)[35]
MIC
Memory Interface Controller[34]
PPE
Power Processor Element[34]
SMF
Synergistic Memory Flow Controller
SPE
Synergistic Processing Element[34]
SPU
Streaming Processor Unit[36]
STI
Sony Computer Entertainment Inc., Toshiba Corp., IBM

  1. ^ Cell Designer talks about PS3 and IBM Cell Processors. Retrieved on March 22, 2007.
  2. ^ a b Synergistic Processing in Cell's Multicore Architecture. IEEE. Retrieved on March 22, 2007.
  3. ^ Cell Broadband Engine Interconnect and Memory Interface. IBM. Retrieved on March 22, 2007.
  4. ^ Shankland, Stephen. "Octopiler seeks to arm Cell programmers", CNET, 2006-02-22. Retrieved on March 22, 2007.
  5. ^ "Cell Broadband Engine Software Development Kit Version 1.0", LWN, 2005-11-10. Retrieved on March 22, 2007.
  6. ^ The Potential of the Cell Processor for Scientific Computing. Computational Research Division, Lawrence Berkeley National Laboratory. Retrieved on March 18, 2007.
  7. ^ a b Goettling, Gary. "Power Cell", Georgia Tech Alumni Magazine Online, Georgia Tech Alumni Association, Winter 2007. Retrieved on March 22, 2007.
  8. ^ a b IBM (2006-11-05). College of computing at Georgia tech selected as the first Sony-Toshiba-IBM center of competence focused on the cell processor. Press release. Retrieved on 2007-03-22.
  9. ^ Keefe, Bob. "Georgia, not Austin, gets chip center", Austin American Statesman, 2006-11-14. Retrieved on March 22, 2007.
  10. ^ One-Day IBM Cell Programming Workshop at Georgia Tech: Streaming Presentation of the full-day workshop. Georgia Tech College of Computing. Retrieved on March 22, 2007.
  11. ^ a b "Introduction to the Cell multiprocessor", IBM Journal of Research and Development, 2005-08-07. Retrieved on March 22, 2007.
  12. ^ a b IBM Produces Cell Processor Using New Fabrication Technology.. X-bit labs. Retrieved on March 12, 2007.
  13. ^ a b Thurrott, Paul. "Sony Ups the Ante with PlayStation 3", WindowsITPro, 2005-05-17. Retrieved on March 22, 2007.
  14. ^ a b Roper, Chris. "E3 2005: Cell Processor Technology Demos", IGN, 2005-05-17. Retrieved on March 22, 2007.
  15. ^ "Cell Microprocessor Briefing", IBM, Sony Computer Entertainment Inc., Toshiba Corp., 7 February 2005.
  16. ^ a b "Power Efficient Processor Design and the Cell Processor", IBM, 16 February 2005.
  17. ^ a b c Cell Broadband Engine Architecture and its first implementation. IBM developerWorks (Nov 29, 2005). Retrieved on April 6, 2007.
  18. ^ IBM Research - Cell. IBM. Retrieved on June 11, 2007.
  19. ^ Synergistic Processing in Cell's Multicore Architecture. IEEE Micro (Mar 2006). Retrieved on November 1, 2007.
  20. ^ A novel SIMD architecture for the Cell heterogeneous chip-multiprocessor. Hot Chips 17 (Aug 15, 2005). Retrieved on January 1, 2007.
  21. ^ a b Meet the experts: David Krolak on the Cell Broadband Engine EIB bus. IBM (2005-12-06). Retrieved on March 18, 2007.
  22. ^ Cell Multiprocessor Communication Network: Built for Speed. IEEE. Retrieved on March 22, 2007.
  23. ^ "IBM Discloses Cell Based Blade Server Board Prototype", Tech-On!, May 25, 2005.
  24. ^ "Toshiba Demonstrates Cell Microprocessor Simultaneously Decoding 48 MPEG-2 Streams", Tech-On!, April 25, 2005.
  25. ^ "Winner: Multimedia Monster", IEEE Spectrum, 1 January 2006.
  26. ^ Beyond a Single Cell. Los Alamos National Laboratory. Retrieved on October 25, 2006.
  27. ^ The Potential of the Cell Processor for Scientific Computing. ACM Computing Frontiers. Retrieved on Error: invalid time.
  28. ^ a b "CELL: A New Platform for Digital Entertainment", Sony Computer Entertainment Inc., March 9, 2005.
  29. ^ Bergmann, Arnd (2005-06-21). ppc64: Introduce Cell/BPA platform, v3. Retrieved on March 22, 2007.
  30. ^ The Cell Processor Programming Model. LinuxTag 2005. Retrieved on June 11, 2007.
  31. ^ "Arnd Bergmann on Cell", IBM developerWorks, 2005-06-25.
  32. ^ Linux on Cell BE-based Systems. Barcelona Supercomputing Center. Retrieved on March 22, 2007.
  33. ^ Shankland, Stephen. "Linux gets built-in Cell processor support", CNET, 2006-03-21. Retrieved on March 22, 2007.
  34. ^ a b c d "The Design and Implementation of a First-Generation CELL Processor", Sony Computer Entertainment Inc., Toshiba Corp., IBM, 8 February 2005.
  35. ^ "ISSCC 2005: The CELL Microprocessor", Real World Technologies, 10 February 2005.
  36. ^ "A 4.8 GHz Fully Pipelined Embedded SRAM in the Streaming Processor of a CELL Processor", Sony Computer Entertainment Inc., Toshiba Corp., IBM, 9 February 2005.

Advanced Search
Included Web Search Engines


Safe Search

close

Top Matching Results

Occasionally Search.com will highlight specialized results that are based on the context of your query. Examples of specialized results include specific links to news, images, or video.

Top Matching Results may highlight information from other Search.com pages, content from the CNET Network of sites, or third party content. The listings are based purely on relevance. Search.com does not receive payment for listings in this section but our partners that provide this data may get paid for listing these products.

Sponsored Links

This section contains paid listings which have been purchased by companies that want to have their sites appear for specific search terms and related content. These listings are administered, sorted and maintained by a third party and are not endorsed by Search.com.

Search Results

Search.com sends your search query to several search engines at one time and integrates the results into one list which has been sorted by relevance using Search.com's proprietary algorithm. You can customize the list of search engines included in your metasearch from the preferences.

The search engines that are used in your metasearch may allow companies to pay to have their Web sites included within the results. To view the Paid Inclusion policy for a specific search engine, please visit their Web site. Search.com does not accept payment or share revenue with any search engine partner for listings in this section.