ibmpoweriv

Upload: jayaprabha-kanase

Post on 06-Apr-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/3/2019 IBMpowerIV

    1/6

    1. Instruction Level Parallelism

    Most of modern processors have a similar architecture which is speculative

    superscalar outoforder execution design; it concerns both RISC and X86. The

    approach implies that several functional units (FU) operate simultaneously in theprocessor and exploit instructions from a special buffer, if possible, where they

    proceed to after decoding. The advantage is that parallelization doesn't depend on a

    programmer (at least, in higher-level languages) and it's unnecessary to apply specialalgorithms and language constructions used for development of programs for

    computers with several processors. One can think that by increasing the number ofFUs it's possible to achieve a very high degree of ILP (Instruction Level Parallelism,

    ILP). It's true to some degree. But the superscalar architecture has a lot of limitationswhich grow as the number of execution units increases. For example:

    1. Register dependences - the number of registers to provide a sufficient load forFUs must be quadratically dependent on the number of FUs. The X86 ISA with 8 GPRshas problems of further growth of the ILP by just increasing the number of FUs, that iswhy visible registers are renamed into the much greater number of hidden ones. RISCarchitectures look better, but it's also necessary to use the register renaming technique.This is not a cure-all as far as performance is concerned and makes the chip morecomplicated. However, theoretically the ILP of superscalar processors has a high limit(tens of instructions per clock for a great deal of programs included into the SPEC tests),but in reality there is no ground for talking of even a much lower parallelism degree.2. Rapidly growing processor complexity (complicated development, debugging andtesting) raises the costs and lead time which is not made up for by the performance gain.3. Increasing requirements for the L1 cache - to "feed" a great number of FUs thecache must have a great throughput and a large capacity. The cost is longer delays whichmake the performance poorer. It's also required to increase the number of ports forregisters.

    According to some estimates, to double the ILP level regarding modern superscalar

    processors it's necessary to provide about 128 GPRs and 8 ALUs + 8 loadstore units.

    It will probably be realized in future IA-64 chips, but even now the same speed-upcan be achieved for a vast deal of applications by simpler ways.

    2. Thread Level Parallelism

    Various TLP (Thread Level Parallelism) technologies are one of the ways to boost upperformance of superscalar processors. Processors which use this approach exploit

    several instruction flows simultaneously. Multithread programs benefit from the TLP -for them it makes sense to use the already existent parallelism in programs optimized

    for multiprocessor systems. Usage of some SMT variation (Simultaneousmultithreading), for example HMT (Hardware Multi-Threading) from Intel , is a

    temporary solution. This technology is able to provide a more effective FU load and

    optimize the memory access of existent superscalar architectures, and flows are

    divided by the same processor's FUs. It's estimated that the performance gain is 10-30% for different programs on the Xeon processors (this is Pentium 4, in fact).Another example of realization of the SMT is a server processor of the Power PC IBM

    RS64 IV family which is a predecessor of the POWER4 in the pSeries 6000 (RS/6000)and iSeries 400 (AS/400) systems. [1]

    On the whole, the SMT is logical and simple in realization improvement of modernprocessors.

    The Chip MultiProcessing (CMP) is a more radical approach which implies that severalprocessor cores are located on one die. At present this technology has reached the

    level when it's possible to put two complex superscalar processors and enoughamount of cache on one chip. We thus get an SMP system, and as the cores are

    located on the same die it makes possible to increase much a data rate between the

    processors in comparison to using any external buses, commutators etc. It is

    interesting that in the early 90s Intel considered to develop such processor - the 786chip codenamed Micro-2000 was to have 4 cores, additional 2 vector processors and

    http://ixbtlabs.com/articles/ibmpower4/http://ixbtlabs.com/articles/ibmpower4/
  • 8/3/2019 IBMpowerIV

    2/6

    to work at 250 MHz. Just compare with the Pentium 4 :). The POWER4 consists of 2identical processor cores which implement PowerPC AS instruction set, the die

    measures about 400 mm2, it's based on the 0.18 micron copper SOI IBM CMOS 8S2technology with 7 metallization layers, works at 1.1 and 1.3 GHz, and is the fastest

    microprocessor for today. There is also a POWER4's variation with one processor onthe die. However, HP and SUN are also going to release CMP processors soon which

    will be based on the 0.13 micron fab process. It's possible that AMD will follow thisway as well.

    3. IBM POWER4 - introduction

    This processor is meant for the maximum performance, for hi-end server andsupercomputer market, designed for 32-processor SMP systems. Development of

    high-performance communication means for processors and memory was given muchattention to. The POWER4 has a high fault-tolerance: critical fails do not make the

    system hang; instead, interrupts are generated and then processed by the system.The POWER4 was developed for an efficient operation of commercial (server) and

    scientific and technical applications. Note that earlier the IBM Power/Power PC

    processors were divided into server and scientific ones - POWER and RS64. ThePOWER4 suits a wide range of hi-end applications and uses all topical performance

    boosting ways (within the PowerPC instruction set). We won't find there truncated

    caches and lacking FUs. The chip's design looks unusual; later we will see why thefrequency of the POWER4 jumped from 600 MHz of the RS64 IV to 1.3 GHz.

    4. POWER4 die

    The POWER4 houses 2 processors each having an L1 cache for data and instructions.

    The die has a single L2 cache of 1450 KBytes controlled by 3 separate controllersconnected to the cores via a CIU (Core Interface Unit). The controllers work

    independently and can process 32 bytes per clock. Each processor uses two separate256-bit buses to connect the CIU for data fetching and data loading, as well as a

    separate 64-bit bus to save the results; the L2 cache has a bandwidth of 100GBytes/s. The L2 cache's system looks well balanced and very powerful. Each

    processor has a special unit to support noncachable operations (Noncacheable Unit).The L3 controller and the memory's one are located on die as well. For connection

    with the L3 cache working at 1/3 of the processor's speed and with the memory there

    are two 128-bit buses operating at 1/3 of the processor's frequency. The throughput

    of the memory interface is about 11 GBytes/s. Data flows coming from the memoryand L2 and L3 caches and the buses of the chips are controlled by the Fabric

    Controller:

    http://ixbtlabs.com/articles/ibmpower4/http://ixbtlabs.com/articles/ibmpower4/
  • 8/3/2019 IBMpowerIV

    3/6

    The 32-bit GX Bus running at 1/3 of the processor's frequency is used to connect to

    the I/O subsystem (e.g., by the PCI bridge) and a commutator in case of multiplenodes which contain POWER4 chips for creating clusters.

    5. SMP capabilities

    4 POWER4 chips can be packed into one module forming a 8-processor SMP. The

    POWER4 chips are connected via 4 128-bit buses used on one module; they operate

    at 1/2 of the processor's speed. They are realized as 6 unidirectional buses, three in

    one direction and three in the other, and their total throughput is about 35 GBytes/s.

  • 8/3/2019 IBMpowerIV

    4/6

    Take a look at the 4-chip module: (such silicon pieces can be found, for example, in a32-processor pSeries 690 Model 681 server).

    IBM focuses on the fact that a central commutator used for connection of the 4

    POWER4 chips is replaced with multiple rapid independent point-to-point buses. AMDis going to use this approach in its future systems on the Hammer processor.

    For creation of multimodule systems it's possible to use up to 4 modules which allow

    for 16-processor SMP system or, taking into account 2 processors on each POWER4chip, for a 32-processor one. Two unidirectional 64-bit buses are used to connectother modules; they form a ring topology:

  • 8/3/2019 IBMpowerIV

    5/6

    The POWER4 is not meant for SMP systems with the number of processors more than32.

    6. POWER4 core

    The POWER4 core is much different from its predecessors as it uses the approachapplied in modern X86, - transformation of PowerPC instructions into internal and

    group formation.So, a separate POWER4 processor is a superscalar core with speculative out-of-orderexecution. There are 8 pipeline execution units in all - two identical floating-point

    pipelines each able to implement addition and subtraction at a clock, i.e. up to 4floating point operations at a clock, two loadstore units, two integer-valued execution

    devices, a branch execution unit a logical execution unit. Operations of division andsquare-rooting for floating-point figures are not pipelined and can worsen the

    POWER4's performance much. Look at the pipeline of the POWER4:

    The integer-valued pipeline has 17 stages! It contrasts to the previous IBM chips with

    their 5-stage pipeline. Let's dwell on some interesting peculiarities of the POWER4core.

    The L1 cache is capable of delivering to the front part of the pipeline up to 8instructions per clock according to the address given by the IFAR register the contents

    of which is determined by the branch prediction unit. Then instructions are decoded,cracked and groups are formed. In order to minimize the logic necessary to track a

    large number of in flight instructions, groups of instructions are formed. A groupcontains up to five internal instructions referred to as IOPs. In the decode stages the

    instructions are placed sequentially in a group, the oldest instruction is placed in slot0, the next oldest one in slot 1, and so on. Slot 4 is reserved for branch instructions

    only. To reach a high clock speed the POWER4 cracks PowerPC instructions into agreater number of simpler instructions which then combine into groups and are

    executed. If an instruction is split into 2 instructions we consider that cracking. If aninstruction is split into more than 2 IOPs then we term this a millicoded instruction.

    Register renaming is widely used in the POWER4, in particular, 32 GPRs are renamedinto 80 internal registers, 32 FPRs into 72 registers. It's clear that many once

    attractive peculiarities of the PowerPC are out-dated, and the processor gets new

    units for transformation of instructions into a form more convenient for execution. Aprocessor with such a long pipeline needs an effective branch prediction algorithm.

    For dynamic prediction the POWER4 uses 2 algorithm versions and an additional table

    which tracks the most effective algorithm for a certain branch instruction. Thedynamic prediction can be overriden by a special bit in the branch instruction. By the

    way, such feature appeared also in the X86 line with the Pentium 4. There are 3buffer types to speed up translation of virtual addresses into physical ones - a

    translation lookaside buffer (TLB) for 1024 entries, a segment look-aside buffer (SLB)

    - a completely associative cache for 64 entries, and an effective-to-real address table(ERAT). The ERAT is divided into two tables - for data and for instructions for 128elements.

  • 8/3/2019 IBMpowerIV

    6/6

    More detailed information on the POWER4 architecture and optimization of programscan be found in the IBM's guide [3].

    7. Caches and memory

    The following table shows key data on the memory subsystem:

    Component Organization Capacity per chip

    L1 InstructionCache

    Direct map, 128-byte line managed as 4 32-bytesectors

    128 KBytes (64 KBytes perprocessor)

    L1 Data Cache 2-way, 128-byte line64 KBytes (32 KBytes per

    processor)

    L2 8-way, 128-byte line 1.41 MBytes

    L38-way, 512-byte line managed as 4 128-byte

    sectors32 MBytes

    Memory 0 - 16 GBytes

    Latency of the L1 cache is 4 cycles (for Pentium 4 - 2 cycles, for Athlon - 4). The L2

    cache uses the MESI protocol for coherence support, and its average latency is 12

    cycles (for Pentium 4 - 18, for Athlon - 20). But sometimes its latency can rise up to20 cycles. Controllers of the L3 cache and of the memory, as well as the tag directoryare integrated into the chip, and the cache consists of two 16 MBytes eDRAM chips

    mounted on a separate module which is divided into 8 banks of 2 MBytes. Animportant feature of the L3 cache is a capability to combine separate caches of

    POWER4 chips up to 4 (128 MBytes) which allows using address interleaving to speedup the access.

    The L3 cache is connected to the memory controller via two bidirectional 64-bit buseswhich operate at 1/3 of the processor's speed. The memory (200 MHz DDR SDRAM) is

    connected to the controller via two ports each consisting of 4 32-bit buses working at

    400 MHz. So, the memory throughput when the two ports are used is a bit over 11GBytes/s (the respective parameter of the Intel McKinley which is not released yet is

    6.4 GBytes/s). Each chip has its own bus to the L3 cache and memory.

    The POWER4 has a hardware prefetch unit which loads data into the L1 cache fromthe whole memory hierarchy, and there are instructions which allow controlling this

    process on a software level.

    8. Happy End

    CPU CPU MHz CINT2000 base/peak CFP2000 base/peak

    AMD Athlon XP 1900+ 1600 677/701 588/634

    HP PA-8700 750 568/604 526/576

    IBM POWER4 (1CPU) 1300 790/814 1098/1169

    Intel Itanium 800 314/314 645

    Intel Pentium 4 2200 771/784 766/777SUN UltraSPARC III-Cu 900 470/533 629/731

    The Alpha is fading, and the POWER4 has no more competitors as far as processor

    power is concerned. The new Pentium 4 looks impressive in comparison to paleItanium and PA-8700, despite announcements of aging IA-32 and advanced IA-64

    technologies. Will the McKinley with its more powerful IA-64 be able to stand againstthe POWER4 at least in computational tests? Will SMT be integrated into personal

    POWER4 processors? What kind of CMP chips are other companies going to unveil?