0001 ============
0002 CPU Families
0003 ============
0004
0005 This document tries to summarise some of the different cpu families that exist
0006 and are supported by arch/powerpc.
0007
0008
0009 Book3S (aka sPAPR)
0010 ------------------
0011
0012 - Hash MMU (except 603 and e300)
0013 - Software loaded TLB (603 and e300)
0014 - Selectable Software loaded TLB in addition to hash MMU (755, 7450, e600)
0015 - Mix of 32 & 64 bit::
0016
0017 +--------------+ +----------------+
0018 | Old POWER | --------------> | RS64 (threads) |
0019 +--------------+ +----------------+
0020 |
0021 |
0022 v
0023 +--------------+ +----------------+ +------+
0024 | 601 | --------------> | 603 | ---> | e300 |
0025 +--------------+ +----------------+ +------+
0026 | |
0027 | |
0028 v v
0029 +--------------+ +-----+ +----------------+ +-------+
0030 | 604 | | 755 | <--- | 750 (G3) | ---> | 750CX |
0031 +--------------+ +-----+ +----------------+ +-------+
0032 | | |
0033 | | |
0034 v v v
0035 +--------------+ +----------------+ +-------+
0036 | 620 (64 bit) | | 7400 | | 750CL |
0037 +--------------+ +----------------+ +-------+
0038 | | |
0039 | | |
0040 v v v
0041 +--------------+ +----------------+ +-------+
0042 | POWER3/630 | | 7410 | | 750FX |
0043 +--------------+ +----------------+ +-------+
0044 | |
0045 | |
0046 v v
0047 +--------------+ +----------------+
0048 | POWER3+ | | 7450 |
0049 +--------------+ +----------------+
0050 | |
0051 | |
0052 v v
0053 +--------------+ +----------------+
0054 | POWER4 | | 7455 |
0055 +--------------+ +----------------+
0056 | |
0057 | |
0058 v v
0059 +--------------+ +-------+ +----------------+
0060 | POWER4+ | --> | 970 | | 7447 |
0061 +--------------+ +-------+ +----------------+
0062 | | |
0063 | | |
0064 v v v
0065 +--------------+ +-------+ +----------------+
0066 | POWER5 | | 970FX | | 7448 |
0067 +--------------+ +-------+ +----------------+
0068 | | |
0069 | | |
0070 v v v
0071 +--------------+ +-------+ +----------------+
0072 | POWER5+ | | 970MP | | e600 |
0073 +--------------+ +-------+ +----------------+
0074 |
0075 |
0076 v
0077 +--------------+
0078 | POWER5++ |
0079 +--------------+
0080 |
0081 |
0082 v
0083 +--------------+ +-------+
0084 | POWER6 | <-?-> | Cell |
0085 +--------------+ +-------+
0086 |
0087 |
0088 v
0089 +--------------+
0090 | POWER7 |
0091 +--------------+
0092 |
0093 |
0094 v
0095 +--------------+
0096 | POWER7+ |
0097 +--------------+
0098 |
0099 |
0100 v
0101 +--------------+
0102 | POWER8 |
0103 +--------------+
0104
0105
0106 +---------------+
0107 | PA6T (64 bit) |
0108 +---------------+
0109
0110
0111 IBM BookE
0112 ---------
0113
0114 - Software loaded TLB.
0115 - All 32 bit::
0116
0117 +--------------+
0118 | 401 |
0119 +--------------+
0120 |
0121 |
0122 v
0123 +--------------+
0124 | 403 |
0125 +--------------+
0126 |
0127 |
0128 v
0129 +--------------+
0130 | 405 |
0131 +--------------+
0132 |
0133 |
0134 v
0135 +--------------+
0136 | 440 |
0137 +--------------+
0138 |
0139 |
0140 v
0141 +--------------+ +----------------+
0142 | 450 | --> | BG/P |
0143 +--------------+ +----------------+
0144 |
0145 |
0146 v
0147 +--------------+
0148 | 460 |
0149 +--------------+
0150 |
0151 |
0152 v
0153 +--------------+
0154 | 476 |
0155 +--------------+
0156
0157
0158 Motorola/Freescale 8xx
0159 ----------------------
0160
0161 - Software loaded with hardware assist.
0162 - All 32 bit::
0163
0164 +-------------+
0165 | MPC8xx Core |
0166 +-------------+
0167
0168
0169 Freescale BookE
0170 ---------------
0171
0172 - Software loaded TLB.
0173 - e6500 adds HW loaded indirect TLB entries.
0174 - Mix of 32 & 64 bit::
0175
0176 +--------------+
0177 | e200 |
0178 +--------------+
0179
0180
0181 +--------------------------------+
0182 | e500 |
0183 +--------------------------------+
0184 |
0185 |
0186 v
0187 +--------------------------------+
0188 | e500v2 |
0189 +--------------------------------+
0190 |
0191 |
0192 v
0193 +--------------------------------+
0194 | e500mc (Book3e) |
0195 +--------------------------------+
0196 |
0197 |
0198 v
0199 +--------------------------------+
0200 | e5500 (64 bit) |
0201 +--------------------------------+
0202 |
0203 |
0204 v
0205 +--------------------------------+
0206 | e6500 (HW TLB) (Multithreaded) |
0207 +--------------------------------+
0208
0209
0210 IBM A2 core
0211 -----------
0212
0213 - Book3E, software loaded TLB + HW loaded indirect TLB entries.
0214 - 64 bit::
0215
0216 +--------------+ +----------------+
0217 | A2 core | --> | WSP |
0218 +--------------+ +----------------+
0219 |
0220 |
0221 v
0222 +--------------+
0223 | BG/Q |
0224 +--------------+