4. Procesor – informacje ogólne

4.15. Procesory firmy Intel

Na początku tego rozdziału zostanie przedstawiona architektura procesora Pentium Pro. Można się zastanowić dlaczego zostaje tu przedstawiona architektura tak starego procesora. Okazuje się, że w ogólności z tej architektury wywodzą się współcześnie produkowane procesory klasy PC. Warto więc ją poznać, jako że ogólne zasady działania procesorów są do chwili obecnej takie same.

Procesor Pentium Pro został wprowadzony na rynek w roku 1995. Do tej rodziny należą również procesory Pentium II i Pentium III. Procesor Pentium Pro był pierwszym procesorem, z którym zintegrowano pamięć podręczną L2. Na początku nie była to jeszcze pełna integracja (osobny układ połączony magistralą back side bus), ale pamięć L2 była taktowana z częstotliwością procesora. Dopiero w procesorze Pentium III zintegrowano pamięć L2 w tym samym układzie scalonym. Rodzina procesorów Pentium Pro była zaprojektowana tak, aby zapewnić:

  • wykonywanie instrukcji bez zachowania ich kolejności w programie (okno przeszukiwania 20 – 30 instrukcji),
  • przewidywanie przepływu instrukcji (skoków),
  • wybór najbardziej optymalnej kolejności wykonywania instrukcji.

Wykonywanie instrukcji bez zachowania kolejności pozwalało wykonywać te instrukcje, dla których były dostępne wszystkie argumenty. Pozwala to uniknąć wielu opóźnień. Na przykład brak argumentu, który należy ściągnąć z pamięci RAM powoduje opóźnienie sięgające setek cykli zegarowych. W tym czasie procesor może wykonać instrukcje, które są kompletne. Wykonywanie instrukcji nie po kolei powoduje konieczność stosowania wydajnego mechanizmu przewidywania skoków. W kodzie maszynowym PC występuje bardzo dużo skoków warunkowych. W oknie 30 instrukcji takich skoków może być i 5. W tym momencie, jeśli źle zostanie przewidziany skok są pobierane i później wykonywane instrukcje, które są bezużyteczne. Obecnie stosuje się zaawansowane algorytmy przewidywania skoków, które umożliwiają poprawność przewidzenia skoku powyżej 98%. Algorytmy te zazwyczaj wymagają przechowywania pewnej historii skoków. Tablica historii zawiera zwykle 128-1024 wpisów i oprócz informacji o zajściu/niezajściu skoku może zawierać również adresy instrukcji wywołującej skok i adresy skoków. Przykładowa tablica przedstawiona jest na rysunku 25.

 

V     H1     H2

adres instrukcji 1 wywołującej skok

adres skoku 1

V     H1     H2

adres instrukcji 2 wywołującej skok

adres skoku 2

V     H1     H2

adres instrukcji 3 wywołującej skok

adres skoku 3

…     …      …

Rys. 25. Tablica skoków

 

Bit v oznacza ważność linii, natomiast H1 i H2 to dwa bity sygnatury ustawiane dynamicznie:

  • 0    0      mocne założenie braku skoku,
  • 0    1      słabe założenie braku skoku,
  • 1    0      słabe założenie skoku,
  • 1    1      mocne założenie skoku.

Schemat budowy procesora z rodziny Pentium Pro jest przedstawiony na rysunku 26. W ogólności procesor składa się z trzech niezależnie działających części. Pierwsza pobiera i dekoduje instrukcje. Czynności te są wykonywane w kolejności występowania instrukcji w programie. Druga część procesora kolejkuje instrukcje i je wykonuje poza kolejnością. Część trzecia procesora odtwarza porządek wykonywania instrukcji i je wycofuje. Dopiero działania tej części jest widziane w rejestrach dostępnych dla systemu operacyjnego.

 

Rys. 26. Schemat budowy procesora z rodziny Pentium Pro [źródło: materiały firmy Intel]

 

Instrukcje i dane są przechowywane w pamięci RAM. Są stąd pobierane do pamięci cache drugiego poziomu L2 i następnie pierwszego poziomu L1. Pamięć L1 jest podzielona na pamięć przeznaczoną na instrukcje i pamięć przeznaczoną na dane (RAM i L2 są wspólne dla instrukcji i danych). W momencie wczytywania instrukcji do pamięci L1 następuje jej wstępne dekodowanie. Na tym etapie oznaczane są skoki, a także początki i końce instrukcji. Z pamięci cache L1 instrukcja jest pobierana przez dekoder. Musi to nastąpić z zachowaniem kolejności instrukcji w programie. Dużym problemem są skoki warunkowe. To czy skok nastąpi, czy nie jest znane dużo później niż moment pobrania instrukcji. Stosowane jest zatem przewidywanie zajścia/niezajścia skoku, a dopiero na późniejszym etapie te przewidywania są weryfikowane. Jeśli skok jest przewidziany nieprawidłowo, wszystkie późniejsze instrukcje są usuwane, co oczywiście powoduje ogromne opóźnienia. Instrukcja jest dekodowana przez zespół dekoderów. W Pentium Pro są zaimplementowane dwa tzw. dekodery proste i jeden dekoder instrukcji złożonych. Dekodery proste są realizowane jako sprzętowe natomiast dekoder instrukcji złożonych – jako programowy. W procesorze następuje przekodowanie instrukcji. Instrukcje programu są zamieniane na sekwencje prostszych mikrooperacji. Mikrooperacja odpowiada instrukcji w architekturze RISC. Większość instrukcji programu jest zamieniana n 1 lub 2 mikrooperacje. Bardziej złożone instrukcje wymagają użycia sekwensera mikrooperacji (czyli dekodera programowego instrukcji złożonych). Następnie mikrooperacje przechodzą przez blok Register Alias Table. W tej jednostce logiczne zależności rejestrowe są zamieniane na zależności do rejestrów fizycznych. Przy czym są to rejestry tymczasowe. Mikrooperacje są tu też opatrywane bitami statusu (czy są dostępne wszystkie operandy, czy instrukcja jest do wykonania, czy już wykonana itd.). W dalszym kroku mikrooperacje są wysyłane do specjalnego zasobnika (ang. Instruction Pool). W Pentium Pro zasobnik ten mógł pomieścić 40 mikrooperacji. Mikrooperacje są tu umieszczane bez zachowania kolejności instrukcji. Następnie układ kolejkujący (ang. Reservation Station) wybiera mikrooperacje gotowe do wykonania i umieszcza w kolejce do odpowiednich jednostek wykonawczych. Jednostek wykonawczych jest pięć: SIMD FP (FPU), FPU, 2x Integer Unit, Memory Interface. Dostęp do nich jest realizowany przez pięć portów. Należy zaznaczyć, że przyłączenia portów do jednostek wykonawczych nie są dowolne (Rys. 27).

 

 

Rys. 27. Układy wykonawcze Pentium Pro

 

Trzy z portów są dedykowane dla odczytów i zapisów danych z/do pamięci, a tylko dwa porty łączą się z jednostkami obliczeniowymi typu Integer czy FPU. Chociaż w jednym cyklu zegara procesor może maksymalnie wykonać 5 mikrooperacji, częściej wykonuje 2 bądź 3. Brakuje po prostu mikrooperacji gotowych do wykonania. Po wykonaniu mikrooperacje są z powrotem umieszczane w zasobniku instrukcji (ang. Instruction Pool). Są one opatrzone statusem wykonane. Specjalny układ wycofujący instrukcje (ang. Retirement Register File) wyszukuje takie instrukcje i je wycofuje. Oznacza to, że wynik działania instrukcji jest kopiowany do rejestrów widocznych z poziomu systemu operacyjnego. Wycofywanie instrukcji zawsze następuje w takiej kolejności jak w programie. Procesor może maksymalnie wycofać 3 mikrooperacje w cyklu zegara. Na uwagę zasługuje jeszcze blok Memory Reorder Buffer. Umożliwia on odczyt danych z pamięci L2 bez zachowania kolejności. Odwołania do pamięci są śledzone. Kolejność odczytu może być zmieniona w celu poprawy wydajności. Odczyt może też wyprzedzać zapis danych. Odczytane dane w razie potrzeby mogą być unieważnione. Zapisy są zawsze realizowane w kolejności.

 

Obecnie produkowane procesory Intela należą do rodziny Intel Core (i7, i5, i3, …). Procesory te weszły na rynek w 2008 roku, a więc już stosunkowo dawno. Są to procesory wielordzeniowe. Do chwili obecnej doczekały się już wielu odmian, które różnią się od strony architektury i użytego procesu technologicznego (Tabela 3).

 

Tabela 3. Odmiany procesorów z rodziny Intel Core

Architektura CPU

Intel Sandy Bridge

Intel Ivy Bridge

Intel Haswell

Intel Broadwell

Intel Skylake

Intel Cannonlake

Litografia

32 nm

22 nm

22 nm

14 nm

14 nm

10 nm

Maks. rdzeni CPU

4

4

4

4

4/6

brak danych

Układy logiki

Seria 6 Cougar Point

Seria 7 Panther Point

Seria 8 Lynx Point

Seria 9 Wild Cat Point

Seria

100/200/300

brak danych

Podstawka CPU

LGA 1155

LGA 1155

LGA 1150

LGA 1150

LGA 1151

brak danych

Obsł. pamięć RAM

DDR3

DDR3

DDR3

DDR3

DDR4 /DDR3

DDR4

Rok wejścia

2011

2012

2013-2014

2015

2015-2017

2018?

 

Założeniem w rodzinie procesorów Intel Core było oddzielenie części wykonawczej procesora (ang. core) od pozostałych układów (ang. uncore) (Rys. 28). W ten sposób łatwiej było sterować oboma częściami (np. taktowanie i zasilanie obu części jest różne), a także dostosowywać procesory do różnych potrzeb.

 

Rys. 28. Część core i uncore procesora

 

Z pierwszymi procesorami serii Intel Core zintegrowano kontroler pamięci. Był to nawet kontroler trójkanałowy. Później, ze względów ekonomicznych, stosowano kontrolery dwukanałowe. Natomiast w procesorach najbardziej wydajnych (z serii x – ang. extreme edition) były użyte kontrolery czterokanałowe. Pozwoliło to odciążyć magistralę FSB, a tym samym podnieść wydajność systemu. Od serii procesorów Lynefield z procesorami zintegrowano również kontroler magistrali PCI Express do obsługi kart graficznych.

Z procesorami Intel Core zadebiutowała technologia Intel Turbo Boost (Rys.29). Pozwala ona automatycznie podnosić taktowania rdzeni w przypadku kiedy część z nich nie jest wykorzystywana. Ma to największe znaczenie w przypadku użycia aplikacji jednowątkowych.  W ten sposób jeden rdzeń może być znacznie przetaktowany i pracować wydajniej. Pozostałe rdzenie są wyłączane. Technologia ta cały czas jest udoskonalana. Obecnie pozwala również podnieść na krótką chwilę taktowanie wszystkich rdzeni. Temperatura procesora jest oczywiście cały czas monitorowana.

 

Rys. 29. Technologia Intel Turbo Boost [źródło: materiały firmy Intel]

 

Procesory z rodziny Intel Core wykorzystują też technologię Hyper Threading. Nie wszystkie wersje procesorów są w nią wyposażone. Technologia ta została zastosowana po raz pierwszy już w procesorze Pentium 4. Polegała ona na zdublowaniu pewnych części procesora tak, aby mógł on wykonywać instrukcje naprzemiennie z dwóch wątków. Jednostki wykonawcze procesora pozostały bez zmian. Problem polegał na tym, że nawet przy dużym obciążeniu procesor nie zawsze mógł zapełnić kolejki do wszystkich jednostek wykonawczych. Nie był on wtedy w pełni wykorzystany. Istnieje większe prawdopodobieństwo, że instrukcje z dwóch różnych wątków będą wykorzystywały różne jednostki wykonawcze. Procesor w danym cyklu zegara będzie wtedy wykonywał większą liczbę instrukcji (Rys. 30).

 

 

Rys. 30. Technologia Hyper-Threading

 

W procesorach Intel Core zastosowano nową hierarchę pamięci (Rys. 31). Poziom pierwszy stanowiły przyporządkowane poszczególnym rdzeniom i rozdzielone dla instrukcji i danych pamięci L1. Jest to najszybsza pamięć podręczna. Poziom drugi pamięci podręcznej, wspólny dla instrukcji i danych, również jest przypisany do poszczególnych rdzeni. Zapewnia on niskie opóźnienia dostępu do danych (ale wyższe niż L1). Za to poziom trzeci L3 jest w pełni dostępny dla wszystkich rdzeni. Jest to najwolniejsza pamięć podręczna, ale zapewnia dostęp do tych samych danych różnym rdzeniom.

 

Rys. 31. Intel Core – nowa hierarchia pamięci

 

Drugą generację procesorów Intel Core stanowiła rodzina Sandy Bridge. W tym przypadku z procesorem mogła być zintegrowana karta graficzna. Wykorzystywała ona tą samą strukturą krzemową co procesor. Zmiany wprowadzone w układzie graficznym były znaczne i poza samą integracją wewnątrz rdzenia miały również duży wpływ na jego wydajność. Nowy układ graficzny zawierał szereg nowości adresowanych pod kątem multimediów.

W procesorze bardzo istotne jest zapewnienie szybkiej wymiany danych. Poszczególne moduły są połączone ze sobą za pomocą specjalnej magistrali pierścieniowej, która zapewnia płynną wymianę danych pomiędzy wszystkimi elementami procesora: rdzeniami x86, procesorem graficznym, pamięcią podręczną trzeciego poziomu oraz agentem systemowym i kontrolerem pamięci (Rys. 32). Pierścień w procesorach Sandy Bridge składa się w rzeczywistości z czterech niezależnych magistral - w tym 256-bitowego pierścienia danych oraz magistral żądań/potwierdzeń. Dane poruszają się wokół pierścienia z szybkością jednego przystanku na takt zegara. Przy częstotliwości taktowania 3,4 GHz wydajność pierścienia wynosi 96 GB/s na jeden przystanek.

 

 

Rys. 32. Magistrala pierścieniowa

 

W architekturze Sandy Bridge wprowadzono też szereg zmian w obrębie samych rdzeni. Najważniejszą z nowości w jest niewątpliwie implementacja instrukcji wektorowych Intel AVX (ang. Advanced Vector Extensions). Sandy Bridge to pierwsze procesory, które obsługują nowy zestaw instrukcji.  Zadaniem AVX jest zwiększenie szybkości wykonywania obliczeń zmiennoprzecinkowych oraz strumieniowych. Umożliwić to mają 256-bitowe operacje zmiennoprzecinkowe, zwiększenie liczby operand z 2 do 3 oraz specjalne instrukcje wektorowe. W celu umożliwienia wykonywania instrukcji AVX w jednostce zmiennoprzecinkowej Sandy Bridge zawarto 16 nowych 256-bitowych rejestrów YMM0-YMM15 (Rys.33). W rzeczywistości stanowią one rozszerzenie dotychczasowych 128-bitowych rejestrów SSE (XMM0-XMM15).

Istotną nowością wprowadzoną w architekturze Sandy Bridge jest dodatkowa pamięć podręczna, przechowująca zdekodowane instrukcje. Pamięć ta jest nazywana także przez firmę Intel jako pamięć L0 i jest w stanie przechować około 1500 ostatnio zdekodowanych rozkazów. Pamięć L0 nie jest fizycznie wbudowana w nowe procesory, lecz została wydzielona w części pamięci podręcznej pierwszego poziomu dla instrukcji.

 

Rys. 33. Sandy Bridge [źródło: Intel Developer Forum]

 

Intel Ivy Bridge jest trzecią generacją procesorów Core. Jest ona nieco wydajniejsza i bardziej energooszczędna od Sandy Bridge. Przede wszystkim zmieniono proces technologiczny. Nowe procesory Intela jako pierwsze układy dostępne na rynku zbudowane zostały w 22-nanometrowym procesie technologicznym przy wykorzystaniu nowej generacji tranzystorów o nazwie 3D Tri-Gate. W przeciwieństwie do procesorów 32-nanometrowych tranzystor jest tutaj trójwymiarowy zamiast dwuwymiarowego. W olbrzymim uproszczeniu technologia ta umożliwia umieszczenie większej liczby tranzystorów na mniejszej powierzchni, co oznacza, że ostatecznie uzyskamy więcej mocy obliczeniowej przy jednoczesnym zaoszczędzeniu większej ilości energii. Poza tym nowości nie ma zbyt dużo. Należą do nich: zintegrowany kontroler PCI Express w wersji 3.0, nowa wersja zintegrowanej grafiki HD 2500 / HD 4000.

Procesory Intel Core czwartej generacji nosiły nazwę kodową Haswell. Wymagały one nowej podstawki LGA 1150. Procesory produkowane były w 22-nanometrowym procesie produkcyjnym, dysponowały znacznie wydajniejszą zintegrowaną grafiką. Cechowała je wyższa wydajność rdzeni procesora, nowe instrukcje multimedialne i mechanizmy oszczędzania energii. Procesory Haswell wyposażone są w dodatkowe zestawy instrukcji: AVX2, FMA3, BMI (ang. Bit Manipulation Instructions) i TSX (ang. Transactional Synchronization Extensions). AVX2 to w uproszczeniu rozszerzenie pierwszej generacji instrukcji, które mogą być stosowane np. w celu przyśpieszenia obróbki grafiki i filmów, instrukcje FMA umożliwiają mnożenie dwóch liczb i dodawanie wyniku do trzeciej liczby w jednej instrukcji, co w dość istotny sposób przyśpiesza obliczenia. Instrukcje BMI pozwalają na manipulowanie bitami w rejestrach i są użyteczne np. w szyfrowaniu danych, natomiast instrukcje TSX pomagają w rozwiązywaniu problemów z synchronizacją danych przy jednoczesnym wykonywaniu większej liczby wątków.

Według producenta w porównaniu z poprzednią generacją procesorów jednostki Haswell zapewniają o 50% dłuższy czas pracy na zasilaniu bateryjnym. W trybie czuwania i bezczynności zużywają nawet kilkanaście razy mniej energii niż starsze jednostki. Dzieje się tak dzięki podzieleniu procesora na więcej stref autonomicznego zasilania. Dla przypomnienia: procesory poprzedniej generacji składały się z trzech takich stref – agenta systemowego, rdzeni z pamięcią cache ostatniego poziomu i układu graficznego. W Haswellach dodatkowo oddzielono strefę autonomicznego zasilania rdzeni procesora od pamięci podręcznej i szyny pierścieniowej.

Na początku 2015 roku na rynku zadebiutowały pierwsze procesory z generacji Intel Broadwell. Były to modele Core M, które zostały zaprojektowane z myślą o tabletach i laptopach z pasywnym chodzeniem. Modele z generacji Broadwell nadal bazują na mikroarchitekturze Haswell. Do ich produkcji wykorzystano niższy, 14-nanometrowy proces technologiczny (w przypadku generacji Haswell stosowano 22-nanometrowy). Oprócz niższego zapotrzebowania na energię elektryczną, nowe modele oferują wyższą wydajność – zwłaszcza jeżeli chodzi o środowisko 3D, gdzie swój potencjał ukazuje bardziej dopracowany układ graficzny. Wersje dla komputerów stacjonarnych są kompatybilne z obecnymi płytami głównymi z podstawką LGA 1150 i chipsetami z 9. serii (Z97 i H97), ale konieczna jest aktualizacja oprogramowania. Co ciekawe, producent zdecydował się na zmniejszenie pamięci podręcznej trzeciego poziomu – modele Core i5 mają jej tylko 4 MB (wcześniej 6 MB), natomiast Core i7 tylko 6 MB (wcześniej 8 MB). W zamian za to zintegrowano wydajny układ graficzny Iris Pro 6200, który został wyposażony w 48 jednostki wykonawcze i 128 MB pamięci eDRAM (zintegrowana grafika montowana w procesorach Haswell HD 4600 to 20 jednostek wykonawczych).

Szósta generacja procesorów firmy Intel, Skylake, oznacza zmianę podstawki na LGA 1151, a więc procesorów Skylake nie zainstalujemy na starszych płytach. Z nowości pojawia się między innymi obsługa pamięci RAM DDR4. Rdzenie Skylake są kolejnym ewolucyjnym ulepszeniem mikroarchitektury Haswell. Zmiany w Skylake względem Haswella polegają głównie na powiększeniu różnych wewnętrznych buforów, drobnych usprawnieniach jednostek wykonawczych oraz udoskonaleniu podsystemu pamięci podręcznych.

Mikroarchitektura Skylake to pierwszy od czasów Nehalema przypadek, kiedy Intel odszedł od strategii stosowania jednego, identycznego rdzenia x86 w procesorach przeznaczonych do zupełnie innych zastosowań. Rdzenie Skylake mają dwie wersje, oparte na tym samym ogólnym projekcie, ale różniące się w szczegółach. W procesorach mobilnych i desktopowych jest prostsza wersja. Druga, bardziej złożona, obsługuje AVX-512 – zestaw dodatkowych instrukcji wektorowych operujących na liczbach 512-bitowych.

W serii Skylake wykonywanie wielu instrukcji arytmetycznych, szczególnie dzielenia i pierwiastkowania, zostało przyspieszone; na wynik niektórych instrukcji czeka się ponad dwa razy krócej niż w przypadku Haswella. Do tego wiele z tych instrukcji może być połączonych parami w jedną mikrooperację i wykonanych jednocześnie w jednym cyklu zegara.  Poprawiono układ przewidywania skoków i pobierania danych z wyprzedzeniem.

W Skylake dodano dwie istotne techniki sprzętowe, które mają zwiększyć bezpieczeństwo danych i wykonywanych programów.  Memory Protection Extensions (MPX) jest techniką mająca zapobiegać atakom (lub błędom) przepełnienia bufora. Software Guard Extensions (SGX) polega na możliwości utworzenia i sprzętowego ochronienia pewnego rodzaju enklawy w pamięci, w której program może przechowywać swój kod i dane. Do enklawy w pamięci nie ma dostępu żaden inny program, system operacyjny, ani nawet nadzorca maszyn wirtualnych.

Najdłużej niezmienianym elementem była magistrala pierścieniowa, którą wprowadzono w procesorach Nehalem. W Skylake wprowadzono pewne zmiany w protokole komunikacji po magistrali pierścieniowej. Wraz z powiększeniem buforów na każdym przystanku magistrali ma to dwukrotnie przyspieszyć pozyskiwanie danych z pamięci podręcznej L3. Szerokość i taktowanie magistrali pozostały bez zmian, a powiększenie buforów wiąże się według Intela z bardzo małym kosztem energetycznym. W Skylake zmieniła się też organizacja pamięci podręcznych. W procesorach z dodatkową pamięcią eDRAM, będzie ona służyła jako pamięć podręczna kontrolera pamięci systemowej. Znajduje się przed samym kontrolerem RAM-u i służy do przyspieszania wszelkich transferów z pamięci głównej i do pamięci głównej.

W Skylake architekci układu zmienili znany z procesorów Haswell i Broadwell system zasilania oparty na ISVR (zintegrowanym regulatorze napięcia). Zasilacze impulsowe przekształcające 12 V z zasilacza na napięcie zasilające poszczególne strefy funkcjonalne w SoC przeniesiono z powrotem na płytę. Układ Skylake jest podzielony na cztery domeny zasilania, z których każdą zasila prąd o innym napięciu. Ponadto każda jest podzielona na strefy, które można osobno odłączać od zasilania. Każdy rdzeń x86 może być częściowo lub całkowicie wyłączony; odłączane są na przykład takie części, jak dekoder rozkazów (kiedy procesor wykonuje pętle zapisane w pamięci podręcznej już zdekodowanych mikrooperacji) czy segmenty pamięci podręcznej L2. Również układ graficzny może być selektywnie odłączany od zasilania. Każdy subsegment może być wyłączony niezależnie od reszty GPU. Pozwala to np. wyłączyć wszystkie jednostki obliczeniowe ogólnego przeznaczenia podczas odtwarzania wideo.

GPU Skylake składa się z trzech rodzajów bloków funkcjonalnych. Pierwszy z nich - segment (ang. slice) zawiera jednostki wykonawcze, czyli maszyny obliczeniowe ogólnego przeznaczenia, wykonujące większość kalkulacji związanych z wyświetlaniem. Segment zawiera też pamięć podręczną i układy pobierania tekstur z pamięci. Obwody służące do przetwarzania geometrii (używane prawie wyłącznie do wyświetlania grafiki 3D) oraz niektóre funkcje multimedialne są zgrupowane w blok unslice. Sprzętowe kodery i dekodery wideo oraz pewne sprzętowe poprawiacze jakości obrazu tworzą trzeci blok: multimedialny.

Skylake ma nieco poprawione możliwości obliczeniowe jednostki graficznej. Przede wszystkim wątki obliczeniowe mogą być podzielone na mniejsze grupy, a przełączanie między dwoma wątkami lub między obliczeniami a grafiką 3D jest od kilkunastu do kilkuset razy szybsze i nie trwa dłużej niż kilkaset mikrosekund. To duży krok w kierunku przetwarzania heterogenicznego (wykorzystującego różne rodzaje maszyn obliczeniowych jednocześnie). Zwiększona pamięć podręczna L3 również pomaga w zastosowaniach obliczeniowych.

Intel Kaby Lake to pierwsze modele, które wydano już zgodnie z nową strategią: Niższy proces technologiczny → Nowa mikroarchitektura → Optymalizacja. Mamy więc tu do czynienia raczej z „dopieszczeniem” poprzedniej, 6. generacji Skylake. Kaby Lake to robocza nazwa odświeżonych procesorów zbudowanych w mikroarchitekturze Skylake, wyposażonych w unowocześniony układ graficzny i wykonanych w ulepszonym procesie technologicznym klasy 14nm+ FinFET. Kolejne zmiany dotyczą układu graficznego. Co prawda nadal mamy do czynienia z 9. generacją iGPU, ale wprowadzono w nim nowy silnik obsługujący multimedia. Kaby Lake umie sprzętowo kodować i dekodować formaty VP9 i H.265 (HEVC) z 10-bitową głębią kolorów w rozdzielczości 4K i z prędkością 24 kl/sek lub mniejszą. Układ graficzny wbudowany w procesor nazwano teraz Iris Plus. Następna nowość to obsługa techniki przyspieszającej podsystem przechowywania danych dzięki zastosowaniu pamięci Intel Optane (3D XPoint, pamięć memrystorowa). Jest to pamięć o właściwościach pośrednich między RAM a SSD. Według opisu Intela Optane będzie dostępna w postaci urządzeń o stosunkowo niewielkiej pojemności podłączanych do portu M.2 i wykorzystywana jako pewnego rodzaju bufor między pamięcią operacyjną (RAM) a nośnikami danych.

Procesory Intel Kaby Lake Refresh, od strony technicznej, nie wyróżniają się niczym szczególnym, bowiem nadal mamy do czynienia z mikroarchitekturą Skylake i 14-nanometrowym procesem technologicznym (w usprawnionej wersji). Producent zalicza jednak układy do generacji ósmej. Producent w swoich materiałach ujawnił, że udało mu się zwiększyć wydajność układów nawet o 40% w stosunku do odpowiedników z poprzedniej siódmej generacji (25% to zasługa zwiększenia liczby dostępnych rdzeni/wątków, ale pozostałe 15% to ulepszenia w procesie projektowania i produkcji). Jeśli chodzi o mocniejsze procesory, to są nimi układy o nazwie kodowej Coffee Lake. To też jest odświeżona architektura Skylake, procesory są produkowane w litografii 14-nanometrowej. Odświeżona drugi raz, gdyż przed nią jest jeszcze Kaby Lake. W przypadku Coffee Lake jednak sama architektura nie jest tak istotna. Wśród procesorów Coffee Lake będą jednostki sześciordzeniowe. Główne zmiany sprowadzają się do większej liczby rdzeni i większej pojemności pamięci podręcznej:

  • Core i3 - 4 rdzenie/4 wątki + 6 lub 8 MB pamięci L3 (wcześniej 2 rdzenie/4 wątki + 3 lub 4 MB pamięci L3),
  • Core i5 - 6 rdzeni/6 wątków + 9 MB pamięci L3 (wcześniej 4 rdzenie/4 wątki + 6 MB pamięci L3),
  • Core i7 – 6 rdzeni/12 wątków + 12 MB pamięci L3 (wcześniej 4 rdzenie/8 wątków + 8 MB pamięci L3).

W jednostkach Core i5 i Core i7 producent zastosował też szybszy kontroler pamięci - natywnie obsługuje on 2-kanałowe zestawy DDR4 o taktowaniu 2666 MHz (wcześniej było to 2400 MHz). Jeśli chodzi o układ graficzny producent zastosował tutaj układ UHD Graphics 630, który w praktyce nie różni się zbytnio od modelu HD Graphics 630 z procesorów Kaby Lake.

Wraz z nowymi procesorami na rynku debiutują też płyty główne z podstawką
LGA 1151 i chipsetami Intel Z370. Podstawka LGA 1151 z płyt głównych z serii 300 ma inny rozkład pinów niż podstawka LGA 1151 z płyt głównych z serii 100 i 200. Nowe gniazdo musiało zostać tak zmodyfikowane, aby dostarczyć więcej mocy do procesorów (rozstaw styków jest taki sam, ale wykorzystano część rezerwowych kontaktów do doprowadzenia zasilania). W rezultacie stare płyty nie obsługują nowych jednostek, a nowe płyty również starych układów. Chipset Z370 oferuje praktycznie to samo co model Z270, więc funkcjonalność nowych płyt zbytnio nie powinna się różnić od starych modeli.