From WikiChip
Difference between revisions of "samsung/microarchitectures/m2"
(Mongoose 2) |
(remove crypto+crc since it's optional) |
||
(17 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
− | {{samsung title| | + | {{samsung title|Exynos M2|arch}} |
{{microarchitecture | {{microarchitecture | ||
|atype=CPU | |atype=CPU | ||
Line 5: | Line 5: | ||
|designer=Samsung | |designer=Samsung | ||
|manufacturer=Samsung | |manufacturer=Samsung | ||
+ | |introduction=February 23, 2017 | ||
+ | |phase-out=2018 | ||
|process=10 nm | |process=10 nm | ||
+ | |cores=4 | ||
|oooe=Yes | |oooe=Yes | ||
|speculative=Yes | |speculative=Yes | ||
|renaming=Yes | |renaming=Yes | ||
+ | |stages=14 | ||
|decode=4-way | |decode=4-way | ||
|isa=ARMv8 | |isa=ARMv8 | ||
Line 20: | Line 24: | ||
|l2 per=cluster | |l2 per=cluster | ||
|l2 desc=16-way set associative | |l2 desc=16-way set associative | ||
− | |predecessor= | + | |predecessor=M1 |
− | |predecessor link=samsung/microarchitectures/ | + | |predecessor link=samsung/microarchitectures/m1 |
− | |successor= | + | |successor=M3 |
− | |successor link=samsung/microarchitectures/ | + | |successor link=samsung/microarchitectures/m3 |
}} | }} | ||
− | '''Mongoose 2''' ('''M2''') is | + | '''Exynos Mongoose 2''' ('''M2''') is the successor to the {{\\|Mongoose 1}}, a [[10 nm]] [[ARM]] microarchitecture designed by [[Samsung]] for their consumer electronics. |
+ | |||
+ | == Process Technology == | ||
+ | M2 was fabricated on Samsung's first generation [[10 nm process|10LPE (Low Power Early) process]]. | ||
+ | |||
+ | == Compiler support == | ||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | ! Compiler !! Arch-Specific || Arch-Favorable | ||
+ | |- | ||
+ | | [[GCC]] || <code>-mcpu=exynos-m1</code> || <code>-mtune=exynos-m1</code> | ||
+ | |- | ||
+ | | [[LLVM]] || <code>-mcpu=exynos-m2</code> || <code>-mtune=exynos-m2</code> | ||
+ | |} | ||
+ | |||
+ | == Architecture == | ||
+ | === Key changes from {{\\|Mongoose 1}} === | ||
+ | * [[10 nm|10nm (10LPE) process]] (from [[14 nm]]) | ||
+ | * Larger [[ROB]] (100, up from 96) | ||
+ | {{expand list}} | ||
+ | |||
+ | === Block Diagram === | ||
+ | ==== Core Cluster Overview ==== | ||
+ | <small>(Cluster identical to {{\\|Mongoose 1}})</small> | ||
+ | |||
+ | [[File:mongoose 1 soc block diagram.svg|500px]] | ||
+ | |||
+ | ==== Individual Core ==== | ||
+ | [[File:mongoose 2 block diagram.svg|900px]] | ||
+ | |||
+ | === Memory Hierarchy === | ||
+ | * Cache | ||
+ | ** L1I Cache | ||
+ | *** 64 KiB, 4-way set associative | ||
+ | **** 128 B line size | ||
+ | **** per core | ||
+ | *** Parity-protected | ||
+ | ** L1D Cache | ||
+ | *** 32 KiB, 8-way set associative | ||
+ | **** 64 B line size | ||
+ | **** per core | ||
+ | *** 4 cycles for fastest load-to-use | ||
+ | *** 16 B/cycle load bandwidth | ||
+ | *** 16 B/cycle store bandwidth | ||
+ | ** L2 Cache | ||
+ | *** 2 MiB, 16-way set associative | ||
+ | **** 4x banks (512 KiB each) | ||
+ | *** Inclusive of L1 | ||
+ | *** 22 cycles latency | ||
+ | *** 16 B/cycle/CPU bandwidth | ||
+ | |||
+ | The M2 TLB consists of dedicated L1 TLB for instruction cache (ITLB) and another one for data cache (DTLB). Additionally there is a unified L2 TLB (STLB). | ||
+ | |||
+ | * TLBs | ||
+ | ** ITLB | ||
+ | *** 256-entry | ||
+ | ** DTLB | ||
+ | *** 32-entry | ||
+ | ** STLB | ||
+ | *** 1,024-entry | ||
+ | *** Per core | ||
+ | |||
+ | * BPU | ||
+ | ** 4K-entry main BTB | ||
+ | ** 64-entry µBTB | ||
+ | ** 64-entry return stack | ||
+ | ** 8K-entry L2 BTB | ||
+ | |||
+ | == Core == | ||
+ | The M2 core is almost identical to the {{\\|M1}}. | ||
+ | |||
+ | == All M2 Processors == | ||
+ | <!-- NOTE: | ||
+ | This table is generated automatically from the data in the actual articles. | ||
+ | If a microprocessor is missing from the list, an appropriate article for it needs to be | ||
+ | created and tagged accordingly. | ||
+ | |||
+ | Missing a chip? please dump its name here: https://en.wikichip.org/wiki/WikiChip:wanted_chips | ||
+ | --> | ||
+ | {{comp table start}} | ||
+ | <table class="comptable sortable tc5 tc6 tc7"> | ||
+ | {{comp table header|main|8:List of M2-based Processors}} | ||
+ | {{comp table header|main|6:Main processor|2:Integrated Graphics}} | ||
+ | {{comp table header|cols|Family|Launched|Arch|Cores|%Frequency|%Turbo|GPU|%Frequency}} | ||
+ | {{#ask: [[Category:microprocessor models by samsung]] [[microarchitecture::Mongoose 2]] | ||
+ | |?full page name | ||
+ | |?model number | ||
+ | |?family | ||
+ | |?first launched | ||
+ | |?microarchitecture | ||
+ | |?core count | ||
+ | |?base frequency#GHz | ||
+ | |?turbo frequency (1 core)#GHz | ||
+ | |?integrated gpu | ||
+ | |?integrated gpu base frequency | ||
+ | |format=template | ||
+ | |template=proc table 3 | ||
+ | |userparam=10 | ||
+ | |mainlabel=- | ||
+ | |valuesep=, | ||
+ | }} | ||
+ | {{comp table count|ask=[[Category:microprocessor models by samsung]] [[microarchitecture::Mongoose 2]]}} | ||
+ | </table> | ||
+ | {{comp table end}} |
Latest revision as of 13:50, 21 February 2019
Edit Values | |
Mongoose 2 µarch | |
General Info | |
Arch Type | CPU |
Designer | Samsung |
Manufacturer | Samsung |
Introduction | February 23, 2017 |
Phase-out | 2018 |
Process | 10 nm |
Core Configs | 4 |
Pipeline | |
OoOE | Yes |
Speculative | Yes |
Reg Renaming | Yes |
Stages | 14 |
Decode | 4-way |
Instructions | |
ISA | ARMv8 |
Cache | |
L1I Cache | 64 KiB/core 4-way set associative |
L1D Cache | 32 KiB/core 8-way set associative |
L2 Cache | 2 MiB/cluster 16-way set associative |
Succession | |
Exynos Mongoose 2 (M2) is the successor to the Mongoose 1, a 10 nm ARM microarchitecture designed by Samsung for their consumer electronics.
Contents
Process Technology[edit]
M2 was fabricated on Samsung's first generation 10LPE (Low Power Early) process.
Compiler support[edit]
Compiler | Arch-Specific | Arch-Favorable |
---|---|---|
GCC | -mcpu=exynos-m1 |
-mtune=exynos-m1
|
LLVM | -mcpu=exynos-m2 |
-mtune=exynos-m2
|
Architecture[edit]
Key changes from Mongoose 1[edit]
- 10nm (10LPE) process (from 14 nm)
- Larger ROB (100, up from 96)
This list is incomplete; you can help by expanding it.
Block Diagram[edit]
Core Cluster Overview[edit]
(Cluster identical to Mongoose 1)
Individual Core[edit]
Memory Hierarchy[edit]
- Cache
- L1I Cache
- 64 KiB, 4-way set associative
- 128 B line size
- per core
- Parity-protected
- 64 KiB, 4-way set associative
- L1D Cache
- 32 KiB, 8-way set associative
- 64 B line size
- per core
- 4 cycles for fastest load-to-use
- 16 B/cycle load bandwidth
- 16 B/cycle store bandwidth
- 32 KiB, 8-way set associative
- L2 Cache
- 2 MiB, 16-way set associative
- 4x banks (512 KiB each)
- Inclusive of L1
- 22 cycles latency
- 16 B/cycle/CPU bandwidth
- 2 MiB, 16-way set associative
- L1I Cache
The M2 TLB consists of dedicated L1 TLB for instruction cache (ITLB) and another one for data cache (DTLB). Additionally there is a unified L2 TLB (STLB).
- TLBs
- ITLB
- 256-entry
- DTLB
- 32-entry
- STLB
- 1,024-entry
- Per core
- ITLB
- BPU
- 4K-entry main BTB
- 64-entry µBTB
- 64-entry return stack
- 8K-entry L2 BTB
Core[edit]
The M2 core is almost identical to the M1.
All M2 Processors[edit]
List of M2-based Processors | ||||||||
---|---|---|---|---|---|---|---|---|
Main processor | Integrated Graphics | |||||||
Model | Family | Launched | Arch | Cores | Frequency | Turbo | GPU | Frequency |
Count: 0 |
Facts about "Exynos M2 - Microarchitectures - Samsung"
codename | Mongoose 2 + |
designer | Samsung + |
full page name | samsung/microarchitectures/m2 + |
instance of | microarchitecture + |
instruction set architecture | ARMv8 + |
manufacturer | Samsung + |
microarchitecture type | CPU + |
name | Mongoose 2 + |
process | 10 nm (0.01 μm, 1.0e-5 mm) + |