18c2ecf20Sopenharmony_ci============
28c2ecf20Sopenharmony_ciCPU Families
38c2ecf20Sopenharmony_ci============
48c2ecf20Sopenharmony_ci
58c2ecf20Sopenharmony_ciThis document tries to summarise some of the different cpu families that exist
68c2ecf20Sopenharmony_ciand are supported by arch/powerpc.
78c2ecf20Sopenharmony_ci
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_ciBook3S (aka sPAPR)
108c2ecf20Sopenharmony_ci------------------
118c2ecf20Sopenharmony_ci
128c2ecf20Sopenharmony_ci- Hash MMU (except 603 and e300)
138c2ecf20Sopenharmony_ci- Software loaded TLB (603 and e300)
148c2ecf20Sopenharmony_ci- Selectable Software loaded TLB in addition to hash MMU (755, 7450, e600)
158c2ecf20Sopenharmony_ci- Mix of 32 & 64 bit::
168c2ecf20Sopenharmony_ci
178c2ecf20Sopenharmony_ci   +--------------+                 +----------------+
188c2ecf20Sopenharmony_ci   |  Old POWER   | --------------> | RS64 (threads) |
198c2ecf20Sopenharmony_ci   +--------------+                 +----------------+
208c2ecf20Sopenharmony_ci          |
218c2ecf20Sopenharmony_ci          |
228c2ecf20Sopenharmony_ci          v
238c2ecf20Sopenharmony_ci   +--------------+                 +----------------+      +------+
248c2ecf20Sopenharmony_ci   |     601      | --------------> |      603       | ---> | e300 |
258c2ecf20Sopenharmony_ci   +--------------+                 +----------------+      +------+
268c2ecf20Sopenharmony_ci          |                                 |
278c2ecf20Sopenharmony_ci          |                                 |
288c2ecf20Sopenharmony_ci          v                                 v
298c2ecf20Sopenharmony_ci   +--------------+    +-----+      +----------------+      +-------+
308c2ecf20Sopenharmony_ci   |     604      |    | 755 | <--- |    750 (G3)    | ---> | 750CX |
318c2ecf20Sopenharmony_ci   +--------------+    +-----+      +----------------+      +-------+
328c2ecf20Sopenharmony_ci          |                                 |                   |
338c2ecf20Sopenharmony_ci          |                                 |                   |
348c2ecf20Sopenharmony_ci          v                                 v                   v
358c2ecf20Sopenharmony_ci   +--------------+                 +----------------+      +-------+
368c2ecf20Sopenharmony_ci   | 620 (64 bit) |                 |      7400      |      | 750CL |
378c2ecf20Sopenharmony_ci   +--------------+                 +----------------+      +-------+
388c2ecf20Sopenharmony_ci          |                                 |                   |
398c2ecf20Sopenharmony_ci          |                                 |                   |
408c2ecf20Sopenharmony_ci          v                                 v                   v
418c2ecf20Sopenharmony_ci   +--------------+                 +----------------+      +-------+
428c2ecf20Sopenharmony_ci   |  POWER3/630  |                 |      7410      |      | 750FX |
438c2ecf20Sopenharmony_ci   +--------------+                 +----------------+      +-------+
448c2ecf20Sopenharmony_ci          |                                 |
458c2ecf20Sopenharmony_ci          |                                 |
468c2ecf20Sopenharmony_ci          v                                 v
478c2ecf20Sopenharmony_ci   +--------------+                 +----------------+
488c2ecf20Sopenharmony_ci   |   POWER3+    |                 |      7450      |
498c2ecf20Sopenharmony_ci   +--------------+                 +----------------+
508c2ecf20Sopenharmony_ci          |                                 |
518c2ecf20Sopenharmony_ci          |                                 |
528c2ecf20Sopenharmony_ci          v                                 v
538c2ecf20Sopenharmony_ci   +--------------+                 +----------------+
548c2ecf20Sopenharmony_ci   |    POWER4    |                 |      7455      |
558c2ecf20Sopenharmony_ci   +--------------+                 +----------------+
568c2ecf20Sopenharmony_ci          |                                 |
578c2ecf20Sopenharmony_ci          |                                 |
588c2ecf20Sopenharmony_ci          v                                 v
598c2ecf20Sopenharmony_ci   +--------------+     +-------+   +----------------+
608c2ecf20Sopenharmony_ci   |   POWER4+    | --> |  970  |   |      7447      |
618c2ecf20Sopenharmony_ci   +--------------+     +-------+   +----------------+
628c2ecf20Sopenharmony_ci          |                 |               |
638c2ecf20Sopenharmony_ci          |                 |               |
648c2ecf20Sopenharmony_ci          v                 v               v
658c2ecf20Sopenharmony_ci   +--------------+     +-------+   +----------------+
668c2ecf20Sopenharmony_ci   |    POWER5    |     | 970FX |   |      7448      |
678c2ecf20Sopenharmony_ci   +--------------+     +-------+   +----------------+
688c2ecf20Sopenharmony_ci          |                 |               |
698c2ecf20Sopenharmony_ci          |                 |               |
708c2ecf20Sopenharmony_ci          v                 v               v
718c2ecf20Sopenharmony_ci   +--------------+     +-------+   +----------------+
728c2ecf20Sopenharmony_ci   |   POWER5+    |     | 970MP |   |      e600      |
738c2ecf20Sopenharmony_ci   +--------------+     +-------+   +----------------+
748c2ecf20Sopenharmony_ci          |
758c2ecf20Sopenharmony_ci          |
768c2ecf20Sopenharmony_ci          v
778c2ecf20Sopenharmony_ci   +--------------+
788c2ecf20Sopenharmony_ci   |   POWER5++   |
798c2ecf20Sopenharmony_ci   +--------------+
808c2ecf20Sopenharmony_ci          |
818c2ecf20Sopenharmony_ci          |
828c2ecf20Sopenharmony_ci          v
838c2ecf20Sopenharmony_ci   +--------------+       +-------+
848c2ecf20Sopenharmony_ci   |    POWER6    | <-?-> | Cell  |
858c2ecf20Sopenharmony_ci   +--------------+       +-------+
868c2ecf20Sopenharmony_ci          |
878c2ecf20Sopenharmony_ci          |
888c2ecf20Sopenharmony_ci          v
898c2ecf20Sopenharmony_ci   +--------------+
908c2ecf20Sopenharmony_ci   |    POWER7    |
918c2ecf20Sopenharmony_ci   +--------------+
928c2ecf20Sopenharmony_ci          |
938c2ecf20Sopenharmony_ci          |
948c2ecf20Sopenharmony_ci          v
958c2ecf20Sopenharmony_ci   +--------------+
968c2ecf20Sopenharmony_ci   |   POWER7+    |
978c2ecf20Sopenharmony_ci   +--------------+
988c2ecf20Sopenharmony_ci          |
998c2ecf20Sopenharmony_ci          |
1008c2ecf20Sopenharmony_ci          v
1018c2ecf20Sopenharmony_ci   +--------------+
1028c2ecf20Sopenharmony_ci   |    POWER8    |
1038c2ecf20Sopenharmony_ci   +--------------+
1048c2ecf20Sopenharmony_ci
1058c2ecf20Sopenharmony_ci
1068c2ecf20Sopenharmony_ci   +---------------+
1078c2ecf20Sopenharmony_ci   | PA6T (64 bit) |
1088c2ecf20Sopenharmony_ci   +---------------+
1098c2ecf20Sopenharmony_ci
1108c2ecf20Sopenharmony_ci
1118c2ecf20Sopenharmony_ciIBM BookE
1128c2ecf20Sopenharmony_ci---------
1138c2ecf20Sopenharmony_ci
1148c2ecf20Sopenharmony_ci- Software loaded TLB.
1158c2ecf20Sopenharmony_ci- All 32 bit::
1168c2ecf20Sopenharmony_ci
1178c2ecf20Sopenharmony_ci   +--------------+
1188c2ecf20Sopenharmony_ci   |     401      |
1198c2ecf20Sopenharmony_ci   +--------------+
1208c2ecf20Sopenharmony_ci          |
1218c2ecf20Sopenharmony_ci          |
1228c2ecf20Sopenharmony_ci          v
1238c2ecf20Sopenharmony_ci   +--------------+
1248c2ecf20Sopenharmony_ci   |     403      |
1258c2ecf20Sopenharmony_ci   +--------------+
1268c2ecf20Sopenharmony_ci          |
1278c2ecf20Sopenharmony_ci          |
1288c2ecf20Sopenharmony_ci          v
1298c2ecf20Sopenharmony_ci   +--------------+
1308c2ecf20Sopenharmony_ci   |     405      |
1318c2ecf20Sopenharmony_ci   +--------------+
1328c2ecf20Sopenharmony_ci          |
1338c2ecf20Sopenharmony_ci          |
1348c2ecf20Sopenharmony_ci          v
1358c2ecf20Sopenharmony_ci   +--------------+
1368c2ecf20Sopenharmony_ci   |     440      |
1378c2ecf20Sopenharmony_ci   +--------------+
1388c2ecf20Sopenharmony_ci          |
1398c2ecf20Sopenharmony_ci          |
1408c2ecf20Sopenharmony_ci          v
1418c2ecf20Sopenharmony_ci   +--------------+     +----------------+
1428c2ecf20Sopenharmony_ci   |     450      | --> |      BG/P      |
1438c2ecf20Sopenharmony_ci   +--------------+     +----------------+
1448c2ecf20Sopenharmony_ci          |
1458c2ecf20Sopenharmony_ci          |
1468c2ecf20Sopenharmony_ci          v
1478c2ecf20Sopenharmony_ci   +--------------+
1488c2ecf20Sopenharmony_ci   |     460      |
1498c2ecf20Sopenharmony_ci   +--------------+
1508c2ecf20Sopenharmony_ci          |
1518c2ecf20Sopenharmony_ci          |
1528c2ecf20Sopenharmony_ci          v
1538c2ecf20Sopenharmony_ci   +--------------+
1548c2ecf20Sopenharmony_ci   |     476      |
1558c2ecf20Sopenharmony_ci   +--------------+
1568c2ecf20Sopenharmony_ci
1578c2ecf20Sopenharmony_ci
1588c2ecf20Sopenharmony_ciMotorola/Freescale 8xx
1598c2ecf20Sopenharmony_ci----------------------
1608c2ecf20Sopenharmony_ci
1618c2ecf20Sopenharmony_ci- Software loaded with hardware assist.
1628c2ecf20Sopenharmony_ci- All 32 bit::
1638c2ecf20Sopenharmony_ci
1648c2ecf20Sopenharmony_ci   +-------------+
1658c2ecf20Sopenharmony_ci   | MPC8xx Core |
1668c2ecf20Sopenharmony_ci   +-------------+
1678c2ecf20Sopenharmony_ci
1688c2ecf20Sopenharmony_ci
1698c2ecf20Sopenharmony_ciFreescale BookE
1708c2ecf20Sopenharmony_ci---------------
1718c2ecf20Sopenharmony_ci
1728c2ecf20Sopenharmony_ci- Software loaded TLB.
1738c2ecf20Sopenharmony_ci- e6500 adds HW loaded indirect TLB entries.
1748c2ecf20Sopenharmony_ci- Mix of 32 & 64 bit::
1758c2ecf20Sopenharmony_ci
1768c2ecf20Sopenharmony_ci   +--------------+
1778c2ecf20Sopenharmony_ci   |     e200     |
1788c2ecf20Sopenharmony_ci   +--------------+
1798c2ecf20Sopenharmony_ci
1808c2ecf20Sopenharmony_ci
1818c2ecf20Sopenharmony_ci   +--------------------------------+
1828c2ecf20Sopenharmony_ci   |              e500              |
1838c2ecf20Sopenharmony_ci   +--------------------------------+
1848c2ecf20Sopenharmony_ci                   |
1858c2ecf20Sopenharmony_ci                   |
1868c2ecf20Sopenharmony_ci                   v
1878c2ecf20Sopenharmony_ci   +--------------------------------+
1888c2ecf20Sopenharmony_ci   |             e500v2             |
1898c2ecf20Sopenharmony_ci   +--------------------------------+
1908c2ecf20Sopenharmony_ci                   |
1918c2ecf20Sopenharmony_ci                   |
1928c2ecf20Sopenharmony_ci                   v
1938c2ecf20Sopenharmony_ci   +--------------------------------+
1948c2ecf20Sopenharmony_ci   |        e500mc (Book3e)         |
1958c2ecf20Sopenharmony_ci   +--------------------------------+
1968c2ecf20Sopenharmony_ci                   |
1978c2ecf20Sopenharmony_ci                   |
1988c2ecf20Sopenharmony_ci                   v
1998c2ecf20Sopenharmony_ci   +--------------------------------+
2008c2ecf20Sopenharmony_ci   |          e5500 (64 bit)        |
2018c2ecf20Sopenharmony_ci   +--------------------------------+
2028c2ecf20Sopenharmony_ci                   |
2038c2ecf20Sopenharmony_ci                   |
2048c2ecf20Sopenharmony_ci                   v
2058c2ecf20Sopenharmony_ci   +--------------------------------+
2068c2ecf20Sopenharmony_ci   | e6500 (HW TLB) (Multithreaded) |
2078c2ecf20Sopenharmony_ci   +--------------------------------+
2088c2ecf20Sopenharmony_ci
2098c2ecf20Sopenharmony_ci
2108c2ecf20Sopenharmony_ciIBM A2 core
2118c2ecf20Sopenharmony_ci-----------
2128c2ecf20Sopenharmony_ci
2138c2ecf20Sopenharmony_ci- Book3E, software loaded TLB + HW loaded indirect TLB entries.
2148c2ecf20Sopenharmony_ci- 64 bit::
2158c2ecf20Sopenharmony_ci
2168c2ecf20Sopenharmony_ci   +--------------+     +----------------+
2178c2ecf20Sopenharmony_ci   |   A2 core    | --> |      WSP       |
2188c2ecf20Sopenharmony_ci   +--------------+     +----------------+
2198c2ecf20Sopenharmony_ci           |
2208c2ecf20Sopenharmony_ci           |
2218c2ecf20Sopenharmony_ci           v
2228c2ecf20Sopenharmony_ci   +--------------+
2238c2ecf20Sopenharmony_ci   |     BG/Q     |
2248c2ecf20Sopenharmony_ci   +--------------+
225