From WikiChip
Difference between revisions of "intel/microarchitectures/coffee lake"
< intel‎ | microarchitectures

(Brands)
(Blanked the page)
Line 1: Line 1:
{{intel title|Coffee Lake|arch}}
 
{{microarchitecture
 
|atype=CPU
 
|name=Coffee Lake
 
|designer=Intel
 
|manufacturer=Intel
 
|introduction=October 5, 2017
 
|process=14 nm
 
|cores=2
 
|cores 2=4
 
|cores 3=6
 
|cores 4=8
 
|type=Superscalar
 
|type 2=Superpipeline
 
|oooe=Yes
 
|speculative=Yes
 
|renaming=Yes
 
|stages min=14
 
|stages max=19
 
|decode=5-way
 
|isa=x86-64
 
|extension=MOVBE
 
|extension 2=MMX
 
|extension 3=SSE
 
|extension 4=SSE2
 
|extension 5=SSE3
 
|extension 6=SSSE3
 
|extension 7=SSE4.1
 
|extension 8=SSE4.2
 
|extension 9=POPCNT
 
|extension 10=AVX
 
|extension 11=AVX2
 
|extension 12=AES
 
|extension 13=PCLMUL
 
|extension 14=FSGSBASE
 
|extension 15=RDRND
 
|extension 16=FMA3
 
|extension 17=F16C
 
|extension 18=BMI
 
|extension 19=BMI2
 
|extension 20=VT-x
 
|extension 21=VT-d
 
|extension 22=TXT
 
|extension 23=TSX
 
|extension 24=RDSEED
 
|extension 25=ADCX
 
|extension 26=PREFETCHW
 
|extension 27=CLFLUSHOPT
 
|extension 28=XSAVE
 
|extension 29=SGX
 
|extension 30=MPX
 
|l1i=32 KiB
 
|l1i per=core
 
|l1i desc=8-way set associative
 
|l1d=32 KiB
 
|l1d per=core
 
|l1d desc=8-way set associative
 
|l2=256 KiB
 
|l2 per=core
 
|l2 desc=4-way set associative
 
|l3=2 MiB
 
|l3 per=core
 
|l3 desc=Up to 16-way set associative
 
|l4=128 MiB
 
|l4 per=package
 
|l4 desc=on Iris Pro GPUs only
 
|core name=Coffee Lake U
 
|core name 2=Coffee Lake H
 
|core name 3=Coffee Lake S
 
|core name 4=Coffee Lake R
 
|core name 5=Coffee Lake E
 
|predecessor=Kaby Lake
 
|predecessor link=intel/microarchitectures/kaby lake
 
|successor=Comet Lake
 
|successor link=intel/microarchitectures/comet lake
 
|successor 2=Ice Lake
 
|successor 2 link=intel/microarchitectures/ice lake (client)
 
|contemporary=Whiskey Lake
 
|contemporary link=intel/microarchitectures/whiskey_lake
 
|contemporary 2=Cannon Lake
 
|contemporary 2 link=intel/microarchitectures/cannon_lake
 
}}
 
'''Coffee Lake''' ('''CFL''') is a [[microarchitecture]] designed by [[Intel]] as a successor to {{\\|Kaby Lake}} for desktops and high-performance mobile devices. Coffee Lake was introduced in the third quarter of [[2017]] and is manufactured on Intel's mature [[14 nm process]]. Coffee Lake features the first series of mainstream [[hexa-core]] processors from Intel. In [[2018]], Intel refreshed the Coffee Lake lineup to incorporate their first series of mainstream [[octa-core]] processors.
 
  
== Codenames ==
 
{| class="wikitable"
 
|-
 
! Core !! Abbrev !! Platform !! Description !! Graphics !! Target
 
|-
 
| {{intel|Coffee Lake U|l=core}} || CFL-U || || Ultra-low power|| GT3e || Light notebooks, portable All-in-Ones (AiOs), Minis, and conference room
 
|-
 
| {{intel|Coffee Lake H|l=core}} || CFL-H || || High-performance graphics || GT2 || Ultimate mobile performance, mobile workstations
 
|-
 
| {{intel|Coffee Lake S|l=core}} || CFL-S || || Mainstream performance || GT2 || Desktop performance to value, AiOs, and minis
 
|-
 
| {{intel|Coffee Lake R|l=core}} || CFL-R || || Mainstream performance (Refresh) || GT2 || Desktop performance to value, AiOs, and minis
 
|-
 
| {{intel|Coffee Lake E|l=core}} || CFL-E || Mehlow || Workstation || GT2 || Workstations and entry-level servers
 
|}
 
 
== Brands ==
 
Intel released Coffee Lake under 3 main brand families:
 
 
{| class="wikitable tc4 tc5 tc6 tc7 tc8" style="text-align: center;"
 
|-
 
! rowspan="2" | Logo !! rowspan="2" | Family !! rowspan="2" | General Description !! colspan="6" | Differentiating Features
 
|-
 
! Cores !! {{intel|Hyper-Threading|HT}} !! {{x86|AVX}} !! {{x86|AVX2}} !! {{intel|Turbo Boost|TBT}} !! [[ECC]]
 
|-
 
| [[File:core i3 logo (2015).png|50px|link=intel/core_i3]] || {{intel|Core i3}} || Low-end Performance || [[quad-core|Quad]] || {{tchk|no}} || {{tchk|yes}} || {{tchk|yes}} || {{tchk|no}} || {{tchk|yes}}
 
|-
 
| [[File:core i5 logo (2015).png|50px|link=intel/core_i5]] || {{intel|Core i5}} || Mid-range Performance || [[hexa-core|Hexa]] || {{tchk|no}} || {{tchk|yes}} || {{tchk|yes}} || {{tchk|yes}} || {{tchk|no}}
 
|-
 
| [[File:core i7 logo (2015).png|50px|link=intel/core_i7]] || {{intel|Core i7}} || High-end Performance || Hexa || {{tchk|yes}} || {{tchk|yes}} || {{tchk|yes}} || {{tchk|yes}} || {{tchk|no}}
 
|-
 
| [[File:core i9 logo (2015).png|50px|link=intel/core_i9]] || {{intel|Core i9}} || Ultra Performance || [[octa-core|Octa]] || {{tchk|yes}} || {{tchk|yes}} || {{tchk|yes}} || {{tchk|yes}} || {{tchk|no}}
 
|}
 
 
== Release Dates ==
 
[[File:2016 to 2018 kaby cannon coffee roadmap.jpg|left|300px]]
 
Early roadmaps indicated Coffee Lake was to be introduced around the second quarter of 2018. In early 2017 Intel announced that 8th generation processors will be available starting from the 3rd quarter of 2017. While the exact reason for the early release is unknown, it seems likely to attribute the move to various market forces, particularly AMD's introduction of {{amd|Zen|l=arch}} and the {{amd|Ryzen}} family.
 
 
Intel announced Coffee Lake-based SKUs on September 24 with products available beginning October 5, 2017 and OEM systems starting Q4 2017.
 
 
In October 2018, Intel introduced a refresh of Coffee Lake, adding more cores and increasing their clock frequencies.
 
 
{{clear}}
 
 
== Technology ==
 
[[File:intel 14nm++.png|400px|right]]
 
{{see also|intel/microarchitectures/broadwell#Process_Technology|14 nm lithography process|l1=Broadwell § Process Technology}}
 
Coffee Lake is manufactured on [[Intel]]'s 3rd generation [[14 nm process]] called "14nm++". The process is the second enhanced version of the first which was used for the {{\\|Broadwell}} microarchitecture (first enhanced version was first used for {{\\|Kaby Lake}}). The various enhancements improve performance without increasing the capacitance (i.e., active power characteristics). 14nm++ allows for +23-24% higher drive current. Intel claims their 14nm++ process provides up to 26% more performance at the same power or 52% less power at the same performance.
 
 
 
[[File:intel 14nm++ (nmos).png|400px]]
 
[[File:intel 14nm++ (pmos).png|400px]]
 
 
 
Note that while both "14nm" and "14nm+" used the same transistor geometry, the "14nm++" actually uses a more relaxed contacted poly pitch of 84 nm (from previously 70nm). There is no real density change despite this change likely due to various design techniques such as reduced fins where unnecessary.
 
 
{| class="wikitable"
 
|-
 
! !! Kaby Lake !! Coffee Lake !! Δ
 
|-
 
| || [[14 nm]] || 14 nm ||
 
|-
 
| Gate Pitch || 70 nm || 84 nm || 1.20x
 
|-
 
| Interconnect Pitch || 52 nm || 52 nm || 1.00x
 
|}
 
 
{{clear}}
 
 
== Compatibility==
 
{{empty section}}
 
 
== Compiler support ==
 
{| class="wikitable"
 
|-
 
! Compiler !! Arch-Specific || Arch-Favorable
 
|-
 
| [[ICC]] || <code>-march=skylake</code> || <code>-mtune=skylake</code>
 
|-
 
| [[GCC]] || <code>-march=skylake</code> || <code>-mtune=skylake</code>
 
|-
 
| [[LLVM]] || <code>-march=skylake</code> || <code>-mtune=skylake</code>
 
|-
 
| [[Visual Studio]] || <code>/arch:AVX2</code> || <code>/tune:skylake</code>
 
|}
 
 
=== CPUID ===
 
{| class="wikitable tc1 tc2 tc3 tc4 tc5"
 
! Core !! Extended<br>Family !! Family !! Extended<br>Model !! Model !! Stepping
 
|-
 
| rowspan="2" | {{intel|Coffee Lake U|U|l=core}} || 0 || 0x6 || 0x8 || 0xE || 0xA
 
|-
 
| colspan="5" | Family 6 Model 142 Stepping 10
 
|-
 
| rowspan="2" | {{intel|Coffee Lake S|S|l=core}}/{{intel|Coffee Lake H|H|l=core}} || 0 || 0x6 || 0x9 || 0xE || 0xA
 
|-
 
| colspan="5" | Family 6 Model 158 Stepping 10
 
|-
 
| rowspan="2" | i3-9350KF || 0 || 0x6 || 0x9 || 0xE || 0xB
 
|-
 
| colspan="5" | Family 6 Model 158 Stepping 11
 
|-
 
| rowspan="2" | 94xx-99xx || 0 || 0x6 || 0x9 || 0xE || 0xC,0xD
 
|-
 
| colspan="5" | Family 6 Model 158 Stepping 12,13
 
|}
 
 
Meltdown and L1TF are fixed in hardware starting with stepping 12. Stepping 13 adds mitigation against Speculative Store Bypass.
 
 
== Architecture ==
 
[[File:intel 8th gen core logs.png|right|thumb|250px|Coffee Lake is 8th Generation Core]]
 
While there is no change in pure IPC over Skylake and the actual microarchitecture is largely the same, Intel introduced a number of major architectural changes in Coffee Lake. In addition to improved performance brought by the uplift in [[binning]] as a result of the enhanced process, Coffee Lake also increased the number of cores by 50% (later by 100%), enabling much higher multi-threaded performance. The enhanced manufacturing process should allow Coffee Lake chips to be highly [[overclockable]].
 
 
=== Key changes from {{\\|Kaby Lake}}===
 
* Enhanced "14nm++" process results in higher turbo frequencies
 
* IPC improvement from larger cache for various workloads, but actual core is unchanged
 
 
* System Architecture
 
** 50% more [[physical core|cores]] (6, from 4)
 
** 50% larger [[last level cache]] (up to 12 MiB, from 8 MiB)
 
** Coffee Lake Refresh
 
*** 100% more [[physical core|cores]] (8, from 4)
 
*** 100% larger [[last level cache]] (up to 16 MiB, from 8 MiB)
 
 
* Core
 
** LSD has been re-enabled (Previously {{\\|skylake_(server)#Front-end|disabled}})
 
 
* Chipset
 
** {{intel|Union Point|200 Series chipset|l=chipset}} → {{intel|Cannon Point|300 Series chipset|l=chipset}}
 
*** Integrated USB 3.1 (10 Gib/s)
 
**** Up to 6 ports
 
*** Integrated {{intel|CNVi|Intel wireless controller}} ([[IEEE 802.11ac]])
 
*** Integrated SDXC 3.0 controller
 
 
* Memory
 
** Faster memory for mainstream desktops (i.e., {{intel|Coffee Lake S|l=core}}) DDR4-2666 (from DDR4-2400)
 
 
* Graphics
 
** {{intel|Gen 9.5|l=arch}} GPUs (No Change)
 
** HD Graphics 6x0 '''→''' UHD Graphics 6x0 (Branding change only)
 
*** {{intel|HD Graphics 610}} '''→''' {{intel|UHD Graphics 610}} (No change)
 
*** {{intel|HD Graphics 630}} '''→''' {{intel|UHD Graphics 630}} (No change)
 
 
* Families
 
** {{intel|Celeron}}
 
*** G3900 '''→''' G4900
 
*** 2133 MT/s '''→''' 2400 MT/s
 
*** Features removed: {{intel|MPX}}, {{intel|OS Guard}}
 
** {{intel|Pentium Gold}}
 
*** G4500 '''→''' G5500
 
*** 2133 MT/s '''→''' 2400 MT/s
 
*** 3 MiB [[L3]] '''→''' 4 MiB [[L3]]
 
*** Features removed: {{intel|MPX}}, {{intel|OS Guard}}
 
** {{intel|Core i3}}
 
*** i3-7000 '''→''' i3-8000
 
*** [[dual-core]] '''→''' [[quad-core]]
 
*** 3/4 MiB [[L3]] '''→''' 6/8 MiB [[L3]]
 
*** Features removed: {{intel|hyper-threading}}
 
** {{intel|Core i5}}
 
*** i5-7000 '''→''' i5-8000
 
*** 2400 MT/s '''→''' 2666 MT/s
 
*** [[quad-core]] '''→''' [[hexa-core]]
 
*** 6 MiB [[L3]] '''→''' 9 MiB [[L3]]
 
** {{intel|Core i7}}
 
*** i7-7000 '''→''' i7-8000
 
*** 2400 MT/s '''→''' 2666 MT/s
 
*** [[quad-core]] '''→''' [[hexa-core]]
 
*** 8 MiB [[L3]] '''→''' 12 MiB [[L3]]
 
 
=== Block Diagram ===
 
 
====== Entire SoC Overview (quad) ======
 
[[File:kaby lake soc block diagram.svg|800px]]
 
 
==== Entire SoC Overview (hexa) ====
 
[[File:coffee lake soc block diagram.svg|900px]]
 
 
==== Entire SoC Overview (octa) ====
 
[[File:coffee lake r soc block diagram.svg|1000px]]
 
 
==== Individual Core ====
 
<small>(Core identical to {{\\|Skylake (client)}})</small>
 
 
[[File:skylake block diagram.svg|900px]]
 
 
==== Gen9.5 ====
 
See {{intel|Gen9.5#Gen9.5|l=arch}}.
 
 
=== Memory Hierarchy ===
 
The overall memory structure is identical to {{\\|Skylake}}.
 
 
<!-- ===================== START IF YOU CHANGE HERE, CHANGE ON SKYLAKE !! ============================= -->
 
* Cache
 
** L0 µOP cache:
 
*** 1,536 µOPs, 8-way set associative
 
**** 32 sets, 6-µOP line size
 
**** statically divided between threads, per core, inclusive with L1I
 
** L1I Cache:
 
*** 32 [[KiB]], 8-way set associative
 
**** 64 sets, 64 B line size
 
**** shared by the two threads, per core
 
** L1D Cache:
 
*** 32 KiB, 8-way set associative
 
*** 64 sets, 64 B line size
 
*** shared by the two threads, per core
 
*** 4 cycles for fastest load-to-use (simple pointer accesses)
 
**** 5 cycles for complex addresses
 
*** 64 B/cycle load bandwidth
 
*** 32 B/cycle store bandwidth
 
*** Write-back policy
 
** L2 Cache:
 
*** Unified, 256 KiB, 4-way set associative
 
*** Non-inclusive
 
*** 1024 sets, 64 B line size
 
*** 12 cycles for fastest load-to-use
 
*** 64 B/cycle bandwidth to L1$
 
*** Write-back policy
 
** L3 Cache/LLC:
 
*** Up to 2 MiB Per core, shared across all cores
 
*** Up to 16-way set associative
 
*** Inclusive
 
*** 64 B line size
 
*** Write-back policy
 
*** Per each core:
 
**** Read: 32 B/cycle (@ ring [[clock]])
 
**** Write: 32 B/cycle (@ ring clock)
 
*** 42 cycles for fastest load-to-use
 
** Side Cache:
 
*** 64 MiB & 128 MiB [[eDRAM]]
 
*** Per package
 
*** Only on the Iris Pro GPUs
 
*** Read: 32 B/cycle (@ [[eDRAM]] clock)
 
*** Write: 32 B/cycle (@ eDRAM clock)
 
** System [[DRAM]]:
 
*** 2 Channels
 
*** 8 B/cycle/channel (@ memory clock)
 
*** 42 cycles + 51 ns latency
 
 
Coffee Lake 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
 
*** 4 KiB page translations:
 
**** 128 entries; 8-way set associative
 
**** dynamic partitioning
 
*** 2 MiB / 4 MiB page translations:
 
**** 8 entries per thread; fully associative
 
**** Duplicated for each thread
 
** DTLB
 
*** 4 KiB page translations:
 
**** 64 entries; 4-way set associative
 
**** fixed partition
 
*** 2 MiB / 4 MiB page translations:
 
**** 32 entries; 4-way set associative
 
**** fixed partition
 
*** 1G page translations:
 
**** 4 entries; 4-way set associative
 
**** fixed partition
 
** STLB
 
*** 4 KiB + 2 MiB page translations:
 
**** 1536 entries; 12-way set associative
 
**** fixed partition
 
*** 1 GiB page translations:
 
**** 16 entries; 4-way set associative
 
**** fixed partition
 
<!-- ===================== END IF YOU CHANGE HERE, CHANGE ON SKYLAKE !! ============================= -->
 
 
 
* '''Note:''' STLB is incorrectly reported as "6-way" by CPUID leaf 2 (EAX=02H). Coffee Lake erratum CFL084 recommends software to simply ignore that value.
 
 
== Overview ==
 
[[File:coffee lake overview.svg|right|500px]]
 
The Coffee Lake system on a chip consists of a five major components: CPU [[physical core|cores]], [[last level cache|LLC]], Ring interconnect, {{intel|System Agent}}, and the [[integrated graphics]]. The core architecture in Coffee Lake, like in {{\\|Kaby Lake}}, as not changed from {{\\|Skylake}}. This is also true for the integrated graphics which is identical to the one incorporated in {{\\|Kaby Lake}} and from a platform point of view, the I/O has not changed (supporting up to 3 displays and providing 16 PCIe Gen 3 lanes). Coffee Lake, however, has brought a relatively large change to the overall system architecture by introducing two additional [[physical cores]] into its mainstream processor die. Those two cores also come with up to 2 MiB of LLC slice per core (for up to 4 MiB of additional [[last level cache]]).
 
 
In addition to improving multi-thread performance considerably by introducing 50% or two more cores as well as up to four additional threads, the added addition of up to 4 MiB of cache should have a positive impact on most single-thread performance.
 
 
=== Historical Trend ===
 
Coffee Lake presents the largest change in the system architecture of Intel's mainstream microarchitecture since the introduction of {{\\|sandy_bridge_(client)#System_Architecture|Sandy Bridge}} in [[2011]]. In [[2006]] Intel introduced the first mainstream [[quad-core]] processor, the [[Core 2 Extreme QX6700]] which was based on the {{intel|Kentsfield|l=core}} core. Those initial quad-cores comprised of two separate dies interconnected in a [[multi-chip package]]. A coherent communication link was lacking and the aging [[front-side bus]] was used for as the die-to-die link. This configuration did not change through {{\\|Penryn}} up until the introduction of the Core i7 based on the {{\\|Nehalem}} microarchitecture in [[2008]]. Nehalem leveraged [[Moore's Law]] and Intel's [[45 nm process]] to incorporate all four cores onto a single die along with a large number of changes, particularly enhancing the uncore (now known as the System Agent). The Core i7-980X was also the first hexa-core consumer chip, although it was part of the enthusiast market segment and used a larger die.
 
 
 
::[[File:penryn-nehalem overview change.svg|500px|left]]
 
 
 
With the introduction of {{\\|Sandy Bridge}} in 2011, the entire system architecture was reworked. A particular goal of Sandy Bridge was {{\\|Sandy Bridge#Configurability|its configurability}}. Intel wanted to be able to use a single design across multiple market segments without having to spend extra resources on multiple physical designs. A large part of its modularity came from the {{\\|sandy_bridge_(client)#Ring_Interconnect|ring interconnect Sandy Bridge implemented}}. It's worth pointing out that the ring implementation in Sandy Bridge is an enhanced version largely based on an implementation first incorporated into the Nehalem-EX server parts. The ring allowed Intel to integrate the {{intel|System Agent}} and the [[integrated graphics]] on-die in Sandy Bridge.
 
[[File:sandy bridge ring scalability.svg|right|100px]]
 
Each of those components had its own ring agent (in addition to the individual core), allowing for efficient transfer of data between the GPU, the SA, and the individual cores and caches. The final result was a complete system on a chip (SoC) with four cores and a 12 EU GPU on a single die measuring consisting of 1.16 billion transistors on a 216 mm² die.
 
 
 
::[[File:nehalem-sandy bridge overview change.svg|500px|right]]
 
 
 
From {{\\|Sandy Bridge}} through [[22 nm]] {{\\|Haswell}} and through [[14 nm]] {{\\|Skylake}}, the [[die shrink|die shrunk]] considerably, even after {{\\|skylake_(client)#Key_changes_from_Broadwell|large amount of enhancements}} (and thus transistors) were done to the microarchitecture. With the aid of [[Moore's Law]], the [[quad-core]] die in Coffee Lake's predecessor, {{\\|Kaby Lake}}, has reached 126 mm² - 42% smaller than the quad-core Sandy Bridge while packing over 3 times as much transistors.
 
 
Since Coffee Lake utilizes Intel's 3rd generation enhanced [[14 nm process|14nm++ process]] which has reached maturity and healthy yield, Intel can afford to increase the amount of cores by 50% from [[4 cores|4]] to [[6 cores]]. This is also possible thanks to the existing ring interconnect that was designed specifically to be able to support this configuration. In addition to the two added cores, there are two addition LLC slices - each consisting of 2 MiB in size.
 
 
 
::[[File:sandy bridge-coffee lake overview change.svg|600px]]
 
 
 
[[File:quad to hexa mainstream die areas.svg|thumb|right|die size over time]]
 
 
 
Intel's rather faithful [[process shrink]] which has resulted in over 2.4x cell-level density improvement had a significant impact on the die size of their mainstream platform which enabled the addition of two more cores and their associated cache slices without sacrificing yield due to a bigger die. In fact, the hexa-core at 149 mm² is still considerably smaller than even the quad-core {{\\|Haswell}}-based chips. The pair of cores with their associated cache slices and the {{intel|ring interconnect}} agent contributed an extra ~25mm².
 
 
 
:[[File:coffee lake ring explanation 1.svg|600px]]
 
 
:[[File:coffee lake ring addition.png|600px]]
 
 
 
In late 2018 Intel introduced a refresh of Coffee Lake which further bumped the core count to eight. The 8-core refresh still yielded a smaller die than Haswell's quad-core, at around 174 mm².  It's worth noting that Coffee Lake is released concurrently with {{\\|Cannon Lake}} which is a [[10 nm]]-based microarchitecture for low-power mobile devices. Due to Intel's faithful [[die shrink]] of roughly x2.7 in density, an identical [[hexa-core]] Coffee Lake die on 10nm would result in a smaller die than any of the [[14 nm]] quad-core dies, possibly even the [[dual-core]] dies as well.
 
 
::[[File:coffee lake-coffee lake refresh overview change.svg|600px]]
 
 
{{clear}}
 
 
== Core ==
 
=== Pipeline ===
 
{{main|intel/microarchitectures/skylake#Pipeline|l1=Skylake § Pipeline}}
 
Coffee Lake's pipeline is identical to {{\\|Skylake#Pipeline|Skylake's}}.
 
 
==== Front-end ====
 
Note that a bug associated with the Loop Stream Detector (LSD) has been fixed with Coffee Lake. See {{\\|skylake_(server)#Front-end|Skylake (server) § Front-end}}.
 
 
==== Scheduler Ports & Execution Units ====
 
<table class="wikitable">
 
<tr><th colspan="2">Scheduler Ports Designation</th></tr>
 
<tr><th rowspan="5">Port 0</th><td>Integer/Vector Arithmetic, Multiplication, Logic, Shift, and String ops</td></tr>
 
<tr><td>[[FP]] Add, [[Multiply]], [[FMA]]</td></tr>
 
<tr><td>Integer/FP Division and [[Square Root]]</td></tr>
 
<tr><td>[[AES]] Encryption</td></tr>
 
<tr><td>Branch2</td></tr>
 
<tr><th rowspan="2">Port 1</th><td>Integer/Vector Arithmetic, Multiplication, Logic, Shift, and Bit Scanning</td></tr>
 
<tr><td>[[FP]] Add, [[Multiply]], [[FMA]]</td></tr>
 
<tr><th rowspan="3">Port 5</th><td>Integer/Vector Arithmetic, Logic</td></tr>
 
<tr><td>Vector Permute</td></tr>
 
<tr><td>[[x87]] FP Add, Composite Int, CLMUL</td></tr>
 
<tr><th rowspan="2">Port 6</th><td>Integer Arithmetic, Logic, Shift</td></tr>
 
<tr><td>Branch</td></tr>
 
<tr><th>Port 2</th><td>Load, AGU</td></tr>
 
<tr><th>Port 3</th><td>Load, AGU</td></tr>
 
<tr><th>Port 4</th><td>Store, AGU</td></tr>
 
<tr><th>Port 7</th><td>AGU</td></tr>
 
</table>
 
 
{| class="wikitable collapsible collapsed"
 
|-
 
! colspan="3" | Execution Units
 
|-
 
! Execution Unit !! # of Units !! Instructions
 
|-
 
| ALU || 4 || add, and, cmp, or, test, xor, movzx, movsx, mov, (v)movdqu, (v)movdqa, (v)movap*, (v)movup*
 
|-
 
| DIV || 1 || divp*, divs*, vdiv*, sqrt*, vsqrt*, rcp*, vrcp*, rsqrt*, idiv
 
|-
 
| Shift || 2 || sal, shl, rol, adc, sarx, adcx, adox, etc...
 
|-
 
| Shuffle || 1 || (v)shufp*, vperm*, (v)pack*, (v)unpck*, (v)punpck*, (v)pshuf*, (v)pslldq, (v)alignr, (v)pmovzx*, vbroadcast*, (v)pslldq, (v)psrldq, (v)pblendw
 
|-
 
| Slow Int || 1 || mul, imul, bsr, rcl, shld, mulx, pdep, etc...
 
|-
 
| Bit Manipulation || 2 || andn, bextr, blsi, blsmsk, bzhi, etc
 
|-
 
| FP Mov || 1 || (v)movsd/ss, (v)movd gpr
 
|-
 
| SIMD Misc || 1 || STTNI, (v)pclmulqdq, (v)psadw, vector shift count in xmm
 
|-
 
| Vec ALU || 3 || (v)pand, (v)por, (v)pxor, (v)movq, (v)movq, (v)movap*, (v)movup*, (v)andp*, (v)orp*, (v)paddb/w/d/q, (v)blendv*, (v)blendp*, (v)pblendd
 
|-
 
| Vec Shift || 2 || (v)psllv*, (v)psrlv*, vector shift count in imm8
 
|-
 
| Vec Add || 2 || (v)addp*, (v)cmpp*, (v)max*, (v)min*, (v)padds*, (v)paddus*, (v)psign, (v)pabs, (v)pavgb, (v)pcmpeq*, (v)pmax, (v)cvtps2dq, (v)cvtdq2ps, (v)cvtsd2si, (v)cvtss2si
 
|-
 
| Vec Mul || 2 || (v)mul*, (v)pmul*, (v)pmadd*
 
|-
 
|colspan="3" | This table was taken verbatim from the Intel manual. Execution unit mapping to {{x86|MMX|MMX instructions}} are not included.
 
|}
 
 
== Configurability ==
 
Coffee Lake builds upon the Skylake platform, with the addition of the first hexa core die followed by the first octa-core die. Currently, the Coffee Lake family consists of four dies, aimed towards the high-performance market.
 
 
<gallery widths=300px heights=150px caption="Physical Layout Breakdown" style="float:left">
 
File:dual core hp gt2 skylake.svg|Dual-core die, GT2 GPU, High Power
 
File:4 core hp gt2 skylake.svg|Quad-core die, GT2 GPU, High Power
 
File:6 core hp gt2 coffeelake.svg|Hexa-core die, GT2 GPU, High Power
 
</gallery>
 
 
{{clear}}
 
 
== Graphics ==
 
{{main|intel/microarchitectures/gen9.5|l1=Gen9.5}}
 
Support for three displays via [[HDMI]] 1.4<ref group=graphics>Note that while there is no native HDMI 2.0 support, Intel did provide a somewhat awkward solution using an [[LSPCON]] ([[Level Shifter]]/[[Protocol Converter]]) to drive DP to HDMI 1.4 signal + convert HDMI 1.4 to HDMI 2.0. One such solution is the MegaChips MCDP2800.</ref>, [[DisplayPort]] (DP) 1.2, and [[Embedded DisplayPort]] (eDP) 1.4 interfaces. Coffee Lake's graphics are identical to Kaby Lake and have native [[fixed function]] HEVC/VP9 decoding for 4K playback at 60fps (10-bit) as well as [[fixed function]] HEVC/VP9 encoding for 4K (8-bit).
 
 
{| class="wikitable tc2 tc3"
 
|-
 
! colspan="5" | [[Integrated Graphics Processor]] !! colspan="9" | Standards
 
|-
 
! rowspan="2" | Name !! rowspan="2" | Execution Units !! rowspan="2" | Tier !!  rowspan="2" | Series !! rowspan="2" | eDRAM !! colspan="2" | [[Vulkan]] !! colspan="3" | [[Direct3D]] !! colspan="2" | [[OpenGL]] !! colspan="2" | [[OpenCL]]
 
|-
 
| Windows || Linux || Windows || Linux || [[High Level Shading Language|HLSL]] || Windows || Linux || Windows || Linux
 
|-
 
| {{intel|UHD Graphics 630}} || 23/24 || GT2 || {{intel|Coffee Lake S|S|l=core}} || - || colspan="2" style="text-align: center;" | '''1.0''' || style="text-align: center;" | '''12''' || style="text-align: center;" | '''N/A''' || style="text-align: center;" | '''5.1''' || style="text-align: center;" | '''4.5''' || style="text-align: center;" | '''4.5''' || style="text-align: center;"  colspan="1" | '''2.1''' || style="text-align: center;" | '''2.0'''
 
|}
 
 
<references group=graphics />
 
==== Hardware Accelerated Video ====
 
{{coffee lake hardware accelerated video table}}
 
 
== Power delivery ==
 
Despite using the same socket ({{intel|FCLGA-1151}}) Coffee Lake breaks compatibility with {{\\|Skylake (client)|Skylake}} and {{\\|Kaby Lake}} due to various enhancements to the power delivery of the processor in order to better handle the additional cores.
 
 
In order to improve the power delivery of the chip and support the higher package-level current delivered for the additional cores, Intel needed to increase the number of pins that go to the power rails of the die. Since there is a practical limit as to how much current each pin is capable of delivering, a large number of additional pins that were previously unused/reserved have also been allocated for this purpose. The new hexa-core parts have 38 higher amperage rating.
 
 
{| class="wikitable"
 
|-
 
! colspan="3" | Pin Changes
 
|-
 
! || Skylake/Kaby Lake || Coffee Lake
 
|-
 
! Socket || FCLGA-1151 v1 || FCLGA-1151 v2
 
|-
 
| Contacts || 1151 || 1151
 
|-
 
| Reserved Pins || 46 || 25 (-21)
 
|-
 
| VSS (Ground) || 377 || 391 (+14)
 
|-
 
| VCC (Power) || 128 || 146 (+18)
 
|-
 
| rowspan="8" | Core I<sub>cc</sub> || rowspan="2" | || 138 A (Hexa; 95 W)
 
|-
 
| 133 A (Hexa; 65 W)
 
|-
 
| 100 A (Quad; 91 W) || 100 A (Quad; 95 W)
 
|-
 
| 79 A (Quad; 65 W) || 79 A (Quad; 65 W)
 
|-
 
| 66 A (Quad; 35 W)
 
|-
 
| 58 A (Dual; 54 W)
 
|-
 
| 45 A (Dual; 51 W)
 
|-
 
| 40 A (Dual; 35 W)
 
|-
 
| Pinout || [[File:skylake pin diagram.png|350px]] || [[File:coffee lake pin diagram.png|350px]]
 
|}
 
 
== Die ==
 
Coffee Lake desktop and mobile come in 4, 6, and 8 cores. Each variant has its own die. The major components of the die are:
 
 
* System Agent
 
* CPU Core
 
* Ring bus interconnect
 
* Memory Interface
 
 
=== System Agent ===
 
The System Agent (SA) contains the Display Engine (DE) and the I/O bus.
 
 
<div style="text-align: center; display: inline-block;">
 
'''Hexa-Core Die'''
 
<div style="float: left;  margin: 10px;">[[File:coffee lake 6c sa.png|150px]]</div>
 
<div style="float: left;  margin: 10px;">[[File:coffee lake 6c sa (annotated).png|150px]]</div>
 
</div>
 
 
{{clear}}
 
 
=== Integrated Graphics ===
 
The [[integrated graphics]] makes up a large portion of the die. The normal [[dual-core]] and [[quad-core]] dies come with 24 EU {{\\|Gen9.5}} GPU (with 12 units disabled on the low end models).
 
 
<div style="text-align: center; display: inline-block;">
 
<div style="float: left;  margin: 10px;">[[File:coffee lake gpu.png|350px]]</div>
 
<div style="float: left;  margin: 10px;">[[File:coffee lake gpu (annotated).png|390px]]</div>
 
</div>
 
 
=== Quad-Core ===
 
* [[14 nm process|14 nm++ process]]
 
* 11 metal layers
 
* 126 mm² die size
 
* 4 CPU cores + 24 GPU EUs
 
 
=== Hexa-Core ===
 
* [[14 nm process|14 nm++ process]]
 
* 11 metal layers
 
* ~9.19 mm x ~16.28 mm
 
* ~149.6 mm² die size
 
* 6 CPU cores + 24 GPU EUs
 
 
 
: [[File:coffee lake die (hexa core).png|class=wikichip_ogimage|650px]]
 
 
 
: [[File:coffee lake die (hexa core) (annotated).png|650px]]
 
 
=== Octa-Core ===
 
* [[14 nm process|14 nm++ process]]
 
* 11 metal layers
 
* ~174 mm² die size
 
* 8 CPU cores + 24 GPU EUs
 
 
: [[File:coffee lake die (octa core).png|800px]]
 
 
 
: [[File:coffee lake die (octa core) (annotated).png|800px]]
 
 
=== Additional Shots ===
 
Additional die and wafer shots provided by Intel:
 
 
<gallery mode=slideshow>
 
File:coffee lake wafer.png|Coffee Lake silicon [[wafer]] with 8th generation core 6-core processor dies.
 
File:coffee lake r wafer.png|Coffee Lake Refresh silicon [[wafer]] with 9th generation core 8-core processor dies.
 
</gallery>
 
 
== All Coffee Lake Chips ==
 
<!-- 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 tc7 tc8 tc20 tc21">
 
{{comp table header|main|20:List of Coffee Lake-based Processors}}
 
{{comp table header|main|10:Main processor|4:{{intel|Turbo Boost}}|Memory|3:GPU|2:Features}}
 
{{comp table header|cols|Launched|Price|Family|Platform|Core|Cores|Threads|L3$|TDP|Base|1 Core|2 Cores|4 Cores|6 Cores|Max Memory|Name|Base|Burst|{{intel|TBT}}|{{intel|Hyper-Threading|HT}}}}
 
{{#ask: [[Category:microprocessor models by intel]] [[microarchitecture::Coffee Lake]]
 
|?full page name
 
|?model number
 
|?first launched
 
|?release price
 
|?microprocessor family
 
|?platform
 
|?core name
 
|?core count
 
|?thread count
 
|?l3$ size
 
|?tdp
 
|?base frequency#GHz
 
|?turbo frequency (1 core)#GHz
 
|?turbo frequency (2 cores)#GHz
 
|?turbo frequency (4 cores)#GHz
 
|?turbo frequency (6 cores)#GHz
 
|?max memory#GiB
 
|?integrated gpu
 
|?integrated gpu base frequency
 
|?integrated gpu max frequency
 
|?has intel turbo boost technology 2_0
 
|?has simultaneous multithreading
 
|format=template
 
|template=proc table 3
 
|userparam=22:21
 
|mainlabel=-
 
|limit=200
 
}}
 
{{comp table count|ask=[[Category:microprocessor models by intel]] [[microarchitecture::Coffee Lake]]}}
 
</table>
 
{{comp table end}}
 
 
== Documents ==
 
=== 8th Gen ===
 
* [[:File:8th-gen-intel-core-product-overview.pdf|8th generation Core family product overview]]
 
* [[:File:8th-gen-intel-core-overview.pdf|8th generation Core product overview]]
 
* [[:File:8th-gen-intel-core-product-brief.pdf|8th generation core product brief]]
 
* [[:File:8th-gen-intel-core-lineup-press-deck.pdf|8th generation core lineup]]
 
=== 9th Gen ===
 
* [[:File:9th-gen-core-desktop-brief.pdf|9th generation core product brief]]
 
 
== References ==
 
* Mark Bohr, Intel. Intel Technology and Manufacturing Day. Mar 28, 2017.
 
* Intel 8th Generation Core announcement, Sept 25, 2017.
 

Revision as of 10:54, 29 February 2020

codenameCoffee Lake +
designerIntel +
first launchedOctober 5, 2017 +
full page nameintel/microarchitectures/coffee lake +
instance ofmicroarchitecture +
instruction set architecturex86-64 +
manufacturerIntel + and dell +
microarchitecture typeCPU +
nameCoffee Lake +
pipeline stages (max)19 +
pipeline stages (min)14 +
process14 nm (0.014 μm, 1.4e-5 mm) +