# POWER8

POWER8 is a family of superscalar multi-core microprocessors based on the Power ISA, announced in August 2013 at the Hot Chips conference. The designs are available for licensing under the OpenPOWER Foundation, which is the first time for such availability of IBM's highest-end processors.
Systems based on POWER8 became available from IBM in June 2014. Systems and POWER8 processor designs made by other OpenPOWER members were available in early 2015.

## Design

POWER8 is designed to be a massively multithreaded chip, with each of its cores capable of handling eight hardware threads simultaneously, for a total of 96 threads executed simultaneously on a 12-core chip. The processor makes use of very large amounts of on- and off-chip eDRAM caches, and on-chip memory controllers enable very high bandwidth to memory and system I/O. For most workloads, the chip is said to perform two to three times as fast as its predecessor, the POWER7.
POWER8 chips comes in 6- or 12-core variants; each version is fabricated in a 22 nm silicon on insulator (SOI) process using 15 metal layers. The 12-core version consists of 4.2 billion transistors and is 650 mm$^2$ large while the 6-core version is only 362 mm$^2$ large. However the 6- and 12-core variants can have all or just some cores active, so POWER8 processors come with 4, 6, 8, 10 or 12 cores activated.

### CAPI

Where previous POWER processors use the GX++ bus for external communication, POWER8 removes this from the design and replaces it with the CAPI port (Coherent Accelerator Processor Interface) that is layered on top of PCI Express 3.0. The CAPI port is used to connect auxiliary specialized processors such as GPUs, ASICs and FPGAs. Units attached to the CAPI bus can use the same memory address space as the CPU, thereby reducing the computing path length. At the 2013 ACM/IEEE Supercomputing Conference, IBM and Nvidia announced an engineering partnership to closely couple POWER8 with Nvidia GPUs in future HPC systems, with the first of them announced as the Power Systems S824L.
On October 14, 2016, IBM announced the formation of OpenCAPI, a new organization to spread adoption of CAPI to other platforms. Initial members are Google, AMD, Xilinx, Micron and Mellanox.

### OCC

POWER8 also contains a so-called on-chip controller (OCC), which is a power and thermal management microcontroller based on a PowerPC 405 processor. It has two general-purpose offload engines (GPEs) and 512 KB of embedded static RAM (SRAM) (1 KB = 1024 bytes), together with the possibility to access the main memory directly, while running an open-source firmware. OCC manages POWER8's operating frequency, voltage, memory bandwidth, and thermal control for both the processor and memory; it can regulate voltages through 1,764 integrated voltage regulators (IVRs) on the fly. Also, the OCC can be programmed to overclock the POWER8 processor, or to lower its power consumption by reducing the operating frequency (which is similar to the configurable TDP found in some of the Intel and AMD processors).

### Memory Buffer chip

POWER8 splits the memory controller functions by moving some of them away from the processor and closer to the memory. The scheduling logic, the memory energy management, and the RAS decision point are moved to a so-called Memory Buffer chip (a.k.a. Centaur). Offloading certain memory processes to the Memory Buffer chip enables memory access optimizations, saving bandwidth and allowing for faster processor to memory communication. It also contains caching structures for an additional 16 MB of L4 cache per chip (up to 128 MB per processor) (1 MB = 1024 KB). Depending on the system architecture the Memory Buffer chips are placed either on the memory modules (Custom DIMM/CDIMM, for example in S824 and E880 models), or on the memory riser card holding standard DIMMs (for example in S822LC models).
The Memory Buffer chip is connected to the processor using a high-speed multi-lane serial link. The memory channel connecting each buffer chip is capable of writing 2 bytes and reading 1 byte at a time. It runs at 8 GB/s in the early Entry models, later increased in the high-end and the HPC models to 9.6 GB/s with a 40-ns latency, for a sustained bandwidth of 24 GB/s and 28.8 GB/s per channel respectively. Each processor has two memory controllers with four memory channels each, and the maximum processor to memory buffer bandwidth is 230.4 GB/s per processor. Depending on the model only one controller might be enabled, or only two channels per controller could be in use. For increased availability the link provides "on-the-fly" lane isolation and repair.
Each Memory Buffer chip has four interfaces allowing to use either DDR3 or DDR4 memory at 1600 MHz with no change to the processor link interface. The resulting 32 memory channels per processor allow peak access rate of 409.6 GB/s between the Memory Buffer chips and the DRAM banks. Initially support was limited to 16 GB, 32 GB and 64 GB DIMMs, allowing up to 1 TB to be addressed by the processor. Later support for 128 GB and 256 GB DIMMs was announced, allowing up to 4 TB per processor.

## Specifications

The POWER8 core has 64 KB L1 data cache contained in the load-store unit and 32 KB L1 instruction cache contained in the instruction fetch unit, along with a tightly integrated 512 KB L2 cache. In a single cycle each core can fetch up to eight instructions, decode and dispatch up to eight instructions, issue and execute up to ten instructions and commit up to eight instructions.
Each POWER8 core consist of primarily the following six execution units:
* Instruction fetch unit (IFU)
* Instruction sequencing unit (ISU)
* Load–store unit
* Fixed-point unit (FXU)
* Vector and scalar unit (VSU)
* Decimal floating-point unit (DFU)
Each core has sixteen execution pipelines:
* Two fixed-point pipelines
* Two load-store pipelines
* Two load pipelines
* Four double-precision floating-point pipelines, which can also act as eight single-precision pipelines
* Two fully symmetric vector pipelines with support for VMX and VSX AltiVec instructions.
* One cryptographic pipeline (AES, Galois Counter Mode, SHA-2)
* One branch execution pipeline
* One condition register logical pipeline
* One decimal floating-point pipeline
It has a larger issue queue with 4×16 entries, improved branch predictors and can handle twice as many cache misses. Each core is eight-way hardware multithreaded and can be dynamically and automatically partitioned to have either one, two, four or all eight threads active. POWER8 also added support for hardware transactional memory. IBM estimates that each core is 1.6 times as fast as the POWER7 in single-threaded operations.
A POWER8 processor is a 6- or 12-chiplet design with variants of either 4, 6, 8, 10 or 12 activated chiplets, in which one chiplet consists of one processing core, 512 KB of SRAM L2 cache on a 64-byte wide bus (which is twice as wide as on its predecessor), and 8 MB of L3 eDRAM cache per chiplet shareable among all chiplets. Thus, a six-chiplet processor would have 48 MB of L3 eDRAM cache, while a 12-chiplet processor would have a total of 96 MB of L3 eDRAM cache. The chip can also utilize an up to 128 MB of off-chip eDRAM L4 cache using Centaur companion chips. The on-chip memory controllers can handle 1 TB of RAM and 230 GB/s sustained memory bandwidth. The on-board PCI Express controllers can handle 48 GB/s of I/O to other parts of the system. The cores are designed to operate at clock rates between 2.5 and 5 GHz.
The six-core chips are mounted in pairs on dual-chip modules (DCM) in IBM's scale out servers. In most configurations not all cores are active, resulting in a variety of configurations where the actual core count differs. The 12-core version is used in the high-end E880 and E880C models.
IBM's single-chip POWER8 module is called Turismo and the dual-chip variant is called Murano. PowerCore's modified version is called CP1.

### POWER8 with NVLink

This is a revised version of the original 12-core POWER8 from IBM, and used to be called POWER8+. The main new feature is that it has support for Nvidia's bus technology NVLink, connecting up to four NVLink devices directly to the chip. IBM removed the A Bus and PCI interfaces for SMP connections to other POWER8 sockets and replaced them with NVLink interfaces. Connection to a second CPU socket are now provided via the X Bus. Besides that and a slight size increase to 659 mm$^2$, the differences seem minimal compared to previous POWER8 processors.

## Licensees

On 19 January 2014, the Suzhou PowerCore Technology Company announced that they will join the OpenPOWER Foundation and license the POWER8 core to design custom-made processors for use in big data and cloud computing applications.

## Variants

* IBM Murano – a 12-core processor with two six-core chips. Scale-out processor is available in configurations with disabled cores.
* IBM Turismo – a single-chip 12-core processor. Scale-up processor is commercially available for licensing and purchase in configurations with disabled cores.
* PowerCore CP1 – a POWER8 variant with revised security features due to export restrictions between United States and China that will be manufactured in GlobalFoundries (formerly IBM's plant) factory in East Fishkill, New York. Released in 2015.

## Systems
### IBM

    Scale Out servers, supporting one or two sockets each carrying a dual-chip module with two six-core POWER8 processors. They come in either 2U or 4U form factors, and one tower configuration. The "L" versions run only Linux, while the others run AIX, IBM i and Linux. The "LC" versions are built by OpenPOWER partners.
   * Power Systems S812L – 1× POWER8 DCM (4, 6 or 8 cores), 2U
   * Power Systems S814 – 1× POWER8 DCM (6 or 8 cores), 4U or tower
   * Power Systems S822 and S822L – 1× or 2× POWER8 DCM (6, 10, 12 or 20 cores), 2U
   * Power Systems S824 and S824L – 1× or 2× POWER8 DCM (6, 8, 12, 16 or 24 cores), 4U
   * Power Systems S821LC "Stratton" – 2× POWER8 SCM (8 or 10 cores), 1U. Up to 512 GB DDR4 RAM buffered by four Centaur L4 chips. Manufactured by Supermicro.
   * Power Systems S822LC for Big Data "Briggs" – 2× POWER8 SCM (8 or 10 cores), 2U. Up to 512 GB DDR4 RAM buffered by four Centaur L4 chips. Manufactured by Supermicro.
    Enterprise servers, supporting nodes with four sockets, each carrying 8-, 10- or 12-core modules, for a maximum of 16 sockets, 128 cores and 16 TB of RAM. These machines can run AIX, IBM i, or Linux.
   * Power Systems E850 – 2×, 3× or 4× POWER8 DCM (8, 10 or 12 cores), 4U
   * Power Systems E870 – 1× or 2× 5U nodes, each with four sockets with 8- or 10-core POWER8 single-chip modules, for up to a total of 80 cores
   * Power Systems E880 – 1x, 2x, 3x or 4x 5U nodes, each with four sockets with 8- or 12-core POWER8 single-chip modules for up to a total of 192 cores
    High performance computing:
   * Power Systems S812LC – 1× POWER8 SCM (8 or 10 cores), 2U. Manufactured by Tyan.
   * Power Systems S822LC "Firestone" – 2× POWER8 SCM (8 or 10 cores), 2U. Two Nvidia Tesla K80 GPUs and up to 1 TB commodity DDR3 RAM. Manufactured by Wistron.
   * Power Systems S822LC for HPC "Minsky" – 2× POWER8+ SCM (8 or 10 cores), 2U. Up to four NVLinked Nvidia Tesla P100 GPUs and up to 1 TB commodity DDR4 RAM. Manufactured by Wistron.
    Hardware Management Console
   * 7063-CR1 HMC – 1× POWER8 SCM (6 cores), 1U. Based on the SuperMicro "Stratton" design.

### Tyan

   * An ATX motherboard with one single-chip POWER8 socket called the SP010GM2NR.
   * Palmetto GN70-BP010, OpenPower reference system. 2U server, with one four-core POWER8 SCM, four RAM sockets, based on a Tyan's motherboard.
   * Habanero TN-71-BP012. 2U, with one 8 core POWER8 SCM, 32 RAM sockets
   * GT75-BP012. 1U, with a single 8- or 10-core POWER8 SCM and 32 sockets for RAM modules

### Google

    Google has shown a motherboard with two sockets, intended for internal use only.

### StackVelocity

    StackVelocity has designed a high-performance reference platform, Saba.

### Inspur

    Inspur has made a deal with IBM to develop server hardware based on POWER8 and related technologies.
   * 4U server, two POWER8 sockets.

### Cirrascale

    RM4950 – 4U, 4-core POWER8 SCM with four Nvidia Tesla K40 accelerators. Based on Tyan's motherboard.

### Zoom Netcom

    RedPOWER C210 and C220 – 2U and 4U servers with two POWER8 sockets and 64 sockets for RAM modules.
    RedPOWER C310 and C320 – 2U and 4U servers with two CP1 sockets.

### ChuangHe

    OP-1X – 1U, single socket, 32 RAM slots.

### Rackspace

    Barreleye – 1U, 2 socket, 32 RAM slots. Based on the Open Compute Project platform for use in their OnMetal service.

### Raptor Computing Systems / Raptor Engineering

    Talos I – unreleased 4U server or workstation, 1 socket, 8 RAM slots.

### Penguin Computing

    Magna product series
   * Magna 2001 (software development)
   * Magna 1015 (virtualisation)
   * Magna 2002 and Magna 2002S (machine learning)