============
CPU Families
============

This document tries to summarise some of the different cpu families that exist
and are supported by arch/powerpc.


Book3S (aka sPAPR)
------------------

- Hash MMU (except 603 and e300)
- Radix MMU (POWER9 and later)
- Software loaded TLB (603 and e300)
- Selectable Software loaded TLB in addition to hash MMU (755, 7450, e600)
- Mix of 32 & 64 bit::

   +--------------+                 +----------------+
   |  Old POWER   | --------------> | RS64 (threads) |
   +--------------+                 +----------------+
          |
          |
          v
   +--------------+                 +----------------+      +------+
   |     601      | --------------> |      603       | ---> | e300 |
   +--------------+                 +----------------+      +------+
          |                                 |
          |                                 |
          v                                 v
   +--------------+    +-----+      +----------------+      +-------+
   |     604      |    | 755 | <--- |    750 (G3)    | ---> | 750CX |
   +--------------+    +-----+      +----------------+      +-------+
          |                                 |                   |
          |                                 |                   |
          v                                 v                   v
   +--------------+                 +----------------+      +-------+
   | 620 (64 bit) |                 |      7400      |      | 750CL |
   +--------------+                 +----------------+      +-------+
          |                                 |                   |
          |                                 |                   |
          v                                 v                   v
   +--------------+                 +----------------+      +-------+
   |  POWER3/630  |                 |      7410      |      | 750FX |
   +--------------+                 +----------------+      +-------+
          |                                 |
          |                                 |
          v                                 v
   +--------------+                 +----------------+
   |   POWER3+    |                 |      7450      |
   +--------------+                 +----------------+
          |                                 |
          |                                 |
          v                                 v
   +--------------+                 +----------------+
   |    POWER4    |                 |      7455      |
   +--------------+                 +----------------+
          |                                 |
          |                                 |
          v                                 v
   +--------------+     +-------+   +----------------+
   |   POWER4+    | --> |  970  |   |      7447      |
   +--------------+     +-------+   +----------------+
          |                 |               |
          |                 |               |
          v                 v               v
   +--------------+     +-------+   +----------------+
   |    POWER5    |     | 970FX |   |      7448      |
   +--------------+     +-------+   +----------------+
          |                 |               |
          |                 |               |
          v                 v               v
   +--------------+     +-------+   +----------------+
   |   POWER5+    |     | 970MP |   |      e600      |
   +--------------+     +-------+   +----------------+
          |
          |
          v
   +--------------+
   |   POWER5++   |
   +--------------+
          |
          |
          v
   +--------------+       +-------+
   |    POWER6    | <-?-> | Cell  |
   +--------------+       +-------+
          |
          |
          v
   +--------------+
   |    POWER7    |
   +--------------+
          |
          |
          v
   +--------------+
   |   POWER7+    |
   +--------------+
          |
          |
          v
   +--------------+
   |    POWER8    |
   +--------------+
          |
          |
          v
   +--------------+
   |    POWER9    |
   +--------------+
          |
          |
          v
   +--------------+
   |   POWER10    |
   +--------------+


   +---------------+
   | PA6T (64 bit) |
   +---------------+


IBM BookE
---------

- Software loaded TLB.
- All 32 bit::

   +--------------+
   |     401      |
   +--------------+
          |
          |
          v
   +--------------+
   |     403      |
   +--------------+
          |
          |
          v
   +--------------+
   |     405      |
   +--------------+
          |
          |
          v
   +--------------+
   |     440      |
   +--------------+
          |
          |
          v
   +--------------+     +----------------+
   |     450      | --> |      BG/P      |
   +--------------+     +----------------+
          |
          |
          v
   +--------------+
   |     460      |
   +--------------+
          |
          |
          v
   +--------------+
   |     476      |
   +--------------+


Motorola/Freescale 8xx
----------------------

- Software loaded with hardware assist.
- All 32 bit::

   +-------------+
   | MPC8xx Core |
   +-------------+


Freescale BookE
---------------

- Software loaded TLB.
- e6500 adds HW loaded indirect TLB entries.
- Mix of 32 & 64 bit::

   +--------------+
   |     e200     |
   +--------------+


   +--------------------------------+
   |              e500              |
   +--------------------------------+
                   |
                   |
                   v
   +--------------------------------+
   |             e500v2             |
   +--------------------------------+
                   |
                   |
                   v
   +--------------------------------+
   |        e500mc (Book3e)         |
   +--------------------------------+
                   |
                   |
                   v
   +--------------------------------+
   |          e5500 (64 bit)        |
   +--------------------------------+
                   |
                   |
                   v
   +--------------------------------+
   | e6500 (HW TLB) (Multithreaded) |
   +--------------------------------+


IBM A2 core
-----------

- Book3E, software loaded TLB + HW loaded indirect TLB entries.
- 64 bit::

   +--------------+     +----------------+
   |   A2 core    | --> |      WSP       |
   +--------------+     +----------------+
           |
           |
           v
   +--------------+
   |     BG/Q     |
   +--------------+