From WikiChip
Editing intel/microarchitectures/goldmont

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.

This page supports semantic in-text annotations (e.g. "[[Is specified as::World Heritage Site]]") to build structured and queryable content provided by Semantic MediaWiki. For a comprehensive description on how to use annotations or the #ask parser function, please have a look at the getting started, in-text annotation, or inline queries help pages.

Latest revision Your text
Line 1: Line 1:
 
{{intel title|Goldmont|arch}}
 
{{intel title|Goldmont|arch}}
 
{{microarchitecture
 
{{microarchitecture
|atype=CPU
+
| name         = Goldmont
|name=Goldmont
+
| designer     = Intel
|designer=Intel
+
| manufacturer = Intel
|manufacturer=Intel
+
| introduction = August 30, 2016
|introduction=August 30, 2016
+
| phase-out    =
|process=14 nm
+
| process       = 14 nm
|cores=2
+
| cores         = 2
|cores 2=4
+
| cores 2       = 4
|cores 3=8
+
| cores 3       = 8
|cores 4=12
+
 
|cores 5=16
+
| pipeline      = Yes
|type=Superscalar
+
| type          = Superscalar
|speculative=Yes
+
| OoOE          = Yes
|renaming=Yes
+
| speculative   = Yes
|stages min=12
+
| renaming     = Yes
|stages max=14
+
| isa          = IA-32
|isa=x86-64
+
| isa 2        = x86-64
|extension=MOVBE
+
| stages min   = 12
|extension 2=MMX
+
| stages max   = 14
|extension 3=SSE
+
| issues        = 3
|extension 4=SSE2
+
 
|extension 5=SSE3
+
| inst          = Yes
|extension 6=SSSE3
+
| feature      =  
|extension 7=SSE4.1
+
| extension     = MOVBE
|extension 8=SSE4.2
+
| extension 2   = MMX
|extension 9=POPCNT
+
| extension 3   = SSE
|extension 10=AES
+
| extension 4   = SSE2
|extension 11=PCLMUL
+
| extension 5   = SSE3
|extension 12=RDRND
+
| extension 6   = SSSE3
|extension 13=XSAVE
+
| extension 7   = SSE4.1
|extension 14=XSAVEOPT
+
| extension 8   = SSE4.2
|extension 15=FSGSBASE
+
| extension 9   = POPCNT
|extension 16=SHA
+
| extension 10 = AES
|l1i=32 KiB
+
| extension 11 = PCLMUL
|l1i per=Core
+
| extension 12 = RDRND
|l1i desc=8-way set associative
+
 
|l1d=24 KiB
+
| cache        = Yes
|l1d per=Core
+
| l1i           = 32 KB
|l1d desc=6-way set associative
+
| l1i per       = Core
|l2=1-2 MiB
+
| l1i desc     = 8-way set associative
|l2 per=2 Cores
+
| l1d           = 24 KB
|l2 desc=16-way set associative
+
| l1d per       = Core
|core name=Apollo Lake
+
| l1d desc     = 6-way set associative
|core name 2=Denverton
+
| l2           = 1 MB
|predecessor=Airmont
+
| l2 per       = 2 Cores
|predecessor link=intel/microarchitectures/airmont
+
| l2 desc       = 16-way set associative
|successor=Goldmont Plus
+
 
|successor link=intel/microarchitectures/goldmont plus
+
| core names      = Yes
 +
| core name       = Apollo Lake
 +
| core name 2     =
 +
| core name N      =
 +
 
 +
| succession      = Yes
 +
| predecessor     = Airmont
 +
| predecessor link = intel/microarchitectures/airmont
 +
| successor       =
 +
| successor link   =
 
}}
 
}}
'''Goldmont''' ('''GLM''') is [[Intel]]'s [[14 nm]] [[microarchitecture]] of [[system on chip]]s for the ultra-low power (ULP) devices. Goldmont-based processors and SoCs are part of the {{intel|Atom}}, {{intel|Pentium (2009)|Pentium}}, and {{intel|Celeron}} families. Goldmont superseded {{intel|Airmont}} in August of 2016. With Goldmont, Intel stopped targeting smartphones altogether, cancelling the related cores and SKUs.
+
'''Goldmont''' is [[Intel]]'s [[14 nm]] [[microarchitecture]] of [[system on chip]]s for the ultra-low power (ULP) devices. Goldmont-based processors and SoCs are part of the {{intel|Atom}}, {{intel|Pentium (2009)|Pentium}}, and {{intel|Celeron}} families. Goldmont superseded {{intel|Airmont}} in August of 2016. With Goldmont, Intel stopped targeting smartphones altogether, cancelling the related cores and SKUs.
 
[[File:Atom E3900 SoC Front.png|right|thumb|250px|Intel Atom E3900 SoC series]]
 
[[File:Atom E3900 SoC Front.png|right|thumb|250px|Intel Atom E3900 SoC series]]
  
Line 58: Line 67:
 
! Platform !! Core !! Target
 
! Platform !! Core !! Target
 
|-
 
|-
|   || {{intel|Apollo Lake|l=core}} || Entry-level PCs, Tablets
+
| {{intel|Apollo Lake}} || {{intel|Apollo Lake}} || Tablets, Entry-level PCs
|-
+
|- style="text-decoration: line-through;"
|   || {{intel|Denverton|l=core}} || Ultra-low power servers, networking, storage, and IoT
+
| {{intel|Willow Trail}} || {{intel|Willow Trail}} || Lightweight Tablets & high-end smartphone
|-
 
|   || style="text-decoration: line-through;" | {{intel|Willow Trail|l=core}} || style="text-decoration: line-through;" | Lightweight Tablets & high-end smartphone
 
 
|- style="text-decoration: line-through;"
 
|- style="text-decoration: line-through;"
| {{intel|Morganfield|l=platform}} || {{intel|Broxton|l=core}} || Smartphone
+
| {{intel|Morganfield}} || {{intel|Broxton}} || Smartphone
 
|}
 
|}
  
Line 72: Line 79:
  
 
== Architecture ==
 
== Architecture ==
[[File:atom c3000 on a wafer.png|right|350px]]
+
 
 
=== Key changes from {{intel|Airmont}} ===
 
=== Key changes from {{intel|Airmont}} ===
 
* Pipeline
 
* Pipeline
 
** Compared to Airmont, Goldmont is a 3-issue core.
 
** Compared to Airmont, Goldmont is a 3-issue core.
** NOPs, MOVs and many ALU operations have 3 op/cycle throughput for 16, 32 and 64-bit registers. (8-bit ALU ops throughput is 2, 1.5 or 1 op per cycle).
+
** Throughput
** ADC, SBB have 0.5 op/cycle throughput, unchanged from Airmont.
+
*** NOPs, MOVs and many ALU operations have 3 op/cycle throughput for 16, 32 and 64-bit registers. (8-bit ALU ops throughput is 2, 1.5 or 1 op per cycle).
** INC, DEC, BTx, shift ops are not faster than on Airmont, 8-bit shifts are slightly slower (0.66 op/cycle instead of 1).
+
*** ADC, SBB have 0.5 op/cycle throughput, unchanged from Airmont.
** Rotate-through-carry (RCL, RCR) throughput continues to be slow and is slightly slower (used to be ~10 cycles per op, now ~12).
+
*** INC, DEC, BTx, shift ops are not faster than on Airmont, 8-bit shifts are slightly slower (0.66 op/cycle instead of 1).
** 16- and 64-bit shift-double (SHLD, SHRD) throughput continues to be slow and is slightly slower (used to be ~10 cycles per op, now ~14) than on Airmont. (32-bit SHLD, SHRD are fast: 2-4 cycles).
+
*** Rotate-through-carry (RCL, RCR) throughput continues to be slow and is slightly slower (used to be ~10 cycles per op, now ~12).
** Variable shifts and rotates (SHL r32, CL etc) latency increased from 1 cycle to 2 cycles.
+
*** 16- and 64-bit shift-double (SHLD, SHRD) throughput continues to be slow and is slightly slower (used to be ~10 cycles per op, now ~14) than on Airmont. (32-bit SHLD, SHRD are fast: 2-4 cycles).
** Bit scan (BSF, BSR) throughput improved from 10 to 8 cycles per op.
+
*** Variable shifts and rotates (SHL r32, CL etc) latency increased from 1 cycle to 2 cycles.
** MUL throughput is better by 1 cycle (used to be 5/7 cycles for 32/64-bit mul, now 4/6).
+
*** Bit scan (BSF, BSR) throughput improved from 10 to 8 cycles per op.
** DIV is more than twice as fast as Airmont, 13 cycles for most divides, 128-bit/64-bit are ~42 cycles.
+
*** MUL throughput is better by 1 cycle (used to be 5/7 cycles for 32/64-bit mul, now 4/6).
** PUSH to POP forwarding is improved.
+
*** DIV is more than twice as fast as Airmont, 13 cycles for most divides, 128-bit/64-bit are ~42 cycles.
** REP MOVS streaming copy is twice as fast: now ~26 bytes/cycle.
+
*** PUSH to POP forwarding is improved.
** REP STOS fill is not improved: ~9 bytes/cycle.
+
*** REP MOVS streaming copy is twice as fast: now ~26 bytes/cycle.
** Some vector instructions are faster, but like on {{\\|Airmont}}, none have throughput >2 op/cycle. This includes often used ops like adds and multiplies:
+
*** REP STOS fill is not improved: ~9 bytes/cycle.
*** MULPS and MULPD have 4 cycle latency and 1 op/cycle throughput (used to have L5 and T0.5).
+
*** Some vector instructions are faster, but like on {{\\|Airmont}}, none have throughput >2 op/cycle. This includes often used ops like adds and multiplies:
*** ADDPD has 3 cycle latency and 1 op/cycle throughput (used to have L4 and T0.5).
+
**** MULPS and MULPD have 4 cycle latency and 1 op/cycle throughput (used to have L5 and T0.5).
** CRC32 instruction throughput improved from 6 cycles/op to 1 cycle/op, latency is halved from 6 to 3.
+
**** ADDPD has 3 cycle latency and 1 op/cycle throughput (used to have L4 and T0.5).
 +
*** CRC32 instruction throughput improved from 6 cycles/op to 1 cycle/op, latency is halved from 6 to 3.
 
* Gen 9 GPUs
 
* Gen 9 GPUs
 
** {{intel|HD Graphics 400}} '''→''' {{intel|HD Graphics 500}} (12 Execution Units, no change)
 
** {{intel|HD Graphics 400}} '''→''' {{intel|HD Graphics 500}} (12 Execution Units, no change)
 
** {{intel|HD Graphics 405}} '''→''' {{intel|HD Graphics 505}} (18 Execution Units, up from 16)
 
** {{intel|HD Graphics 405}} '''→''' {{intel|HD Graphics 505}} (18 Execution Units, up from 16)
 
====New instructions ====
 
Goldmont introduced a number of {{x86|extensions|new instructions}}:
 
 
* {{x86|RDSEED|<code>RDSEED</code>}} - Generates 16, 32 or 64 bit random numbers seeds ([[NIST SP 800-90B]] & [[NIST SP 800-90C]])
 
* {{x86|SMAP|<code>SMAP</code>}} - Supervisor Mode Access Prevention
 
* {{x86|MPX|<code>MPX</code>}} -Memory Protection Extensions
 
* {{x86|XSAVEC|<code>XSAVEC</code>}} - Save processor extended states with compaction to memory
 
* {{x86|XSAVES|<code>XSAVES</code>}} - Save processor supervisor-mode extended states to memory.
 
* {{x86|CLFLUSHOPT|<code>CLFLUSHOPT</code>}} - Flush & Invalidates memory operand and its associated cache line (All L1/L2/L3 etc..)
 
* {{x86|SHA|<code>SHA</code>}} - [[Hardware acceleration]] for SHA hashing operations
 
* FS/GS base access
 
  
 
=== Block Diagram ===
 
=== Block Diagram ===
Line 121: Line 117:
 
*** 1 MiB 16-way set associative, 64 B line size
 
*** 1 MiB 16-way set associative, 64 B line size
 
*** Per 2 cores
 
*** Per 2 cores
*** 32B/cycle, 17 cycle latency
 
 
** L3 Cache:
 
** L3 Cache:
 
*** No level 3 cache
 
*** No level 3 cache

Please note that all contributions to WikiChip may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see WikiChip:Copyrights for details). Do not submit copyrighted work without permission!

Cancel | Editing help (opens in new window)
codenameGoldmont +
core count2 +, 4 +, 8 +, 12 + and 16 +
designerIntel +
first launchedAugust 30, 2016 +
full page nameintel/microarchitectures/goldmont +
instance ofmicroarchitecture +
instruction set architecturex86-64 +
manufacturerIntel +
microarchitecture typeCPU +
nameGoldmont +
pipeline stages (max)14 +
pipeline stages (min)12 +
process14 nm (0.014 μm, 1.4e-5 mm) +