V redmondských laboratořích pracují inženýři Microsoftu na vývoji vlastních procesorů. Čipy s kódovým označením E2 by měly přinést významný nárůst výkonu osobních počítačů i serverů.
Vývoj procesorů platformy x86 se v posledních letech zaměřuje hlavně na zvyšování počtu jader a frekvence, avšak jejich architektura se zase tak moc nemění. Experti přitom již nějakou dobu varují, že nedojde-li k výrazné změně vývoje CPU a k překonání technologických bariér miniaturizace tranzistorů, přestane brzy platit Mooreův zákon, jenž půl století pohání veškerý pokrok křemíkového světa. Jednou ze zásadních brzd vývoje procesorů určených pro osobní počítače je i neustále se zmenšující zájem o tuto platformu, který se promítá i do snižování výdajů určených na vývoj čipů. Povinný každoroční nárůst výkonu zajišťovalo v posledních letech zvyšování počtu výpočetních jader a odemykání hyperthreadingu i v levnějších procesorech, ale žádnou zásadní revoluci jsme nezaznamenali. Pokud si však má umělá inteligence najít cestu i do běžných domácností, bude třeba radikálně zvýšit výkon procesorů platformy x86. Zatímco výrobci SoC procesorů určených pro mobilní telefony neustále zdokonalují architekturu, zvyšují frekvence i počty jader, a navíc dokážou sériově vyrábět čipy na 7nm výrobních linkách, Intel jako nejdůležitější hráč na trhu s procesory pro počítače využívající systém Windows zoufale nenachází žádný způsob, jak posunout vývoj platformy x86 na vyšší příčku. Není tedy divu, že se Microsoft pokouší vyplnit tuto díru na trhu a zamezit tak potenciální ztrátě svých zákazníků vývojem procesoru s vlastní architekturou.
Nový směr vývoje vícejádrových procesorů
Na mezinárodním sympoziu vývoje počítačové architektury ISCA 2018, které se konalo na začátku letošního června v Los Angeles, prozradil Microsoft úzkému výběru expertů ze Silicon Valley první informace o tajném projektu EDGE. Doug Burger a Aaron Smith, vývojoví pracovníci Microsoftu, nás seznámili se základními detaily tohoto projektu, který probíhá v úzké spolupráci společností Microsoft a Qualcomm. Výsledkem má být nová generace procesorů s kódovým označením E2, která bude využívat Super RISC architekturu EDGE.
Zkratka EDGE v tomto případě pochází z anglického označení Explicit Data Graph Execution, tedy z explicitního zpracování datových grafů. Tyto datové grafy Microsoft popisuje jako strukturované sbírky datových objektů a tajemství technologie EDGE spočívá v rozpoznávání jejich struktur. To umožňuje paralelizaci počítačového kódu na hardwarové úrovni, která řeší problém stagnace výkonu multijádrových procesorů. Na rozdíl od běžných CPU spouští E2 příkazový kód v jednoduchých instrukcích, které lze okamžitě paralelně zpracovávat, aniž by bylo nutné čekat na výsledek předcházejících výpočtů. Procesor E2 dokáže za provozu podle potřeby dělit svá fyzická jádra do většího množství logických procesorů a zvládne tak najednou zpracovávat množství různých úkolů. V principu se jedná o zásadní vylepšení technologie Intel HyperThreading (viz vpravo dole).
E2 EDGE prototypy v praxi
Microsoft má k dispozici první FPGA prototypy čipů E2, které pro něj vyrobily společnosti Qualcomm a Xilinx. Označení FPGA je zkratkou logických obvodů typu Field Programmable Gate Array, tedy čipů, které je možné při provozu programovat podle potřeby a jejichž funkčnost lze pomocí patřičných příkazů hardwarově retroaktivně upravovat podle okamžitých potřeb.
První dva prototypy vyrobil Qualcomm nejmodernějším, 10nm procesem a dostaly kódová označení R0 a R1. Větší z obou jader, R1, má být taktováno na 2 GHz. Microsoft dále oznámil, že pro E2 vyvinul simulátor CPU cyklů. Díky tomu dokáže na tomto procesoru bootovat i operační systémy, jako jsou Windows nebo Linux, a na nich provozovat některé aplikace, což je první krok na cestě k vývoji zbrusu nové architektury CPU, která nebude kvůli zpětné kompatibilitě nucena využívat zastaralých funkcí architektury x86.
Microsoft již portoval Windows a Linux
Úspěch každé nové architektury procesorů, a Microsoft s modelem E2 EDGE nebude výjimkou, stojí a padá s tím, jak platformu přijme vývojářská komunita. Microsoft má ale na své straně značnou výhodu v podobě v červnu zakoupené společnosti GitHub, špičkové cloudové platformy pro správu verzí zdrojového kódu. Tato akvizice přinesla Microsoftu nástroj těšící se u této vlivné skupiny značnému respektu. Hovoří se o tom, že právě tato skupina má na starosti přípravné práce spojené s propagací procesorů E2 u vývojářů. Microsoft navíc na platformu E2 dokázal portovat nejen svůj vlastní operační systém, ale i různé varianty Linuxu, včetně vestavěných systémů BusyBox a FreeRTOS, nejdůležitějších realtimových operačních systémů, používaných open-source komunitou.
Samotná existence sbírky vývojářských nástrojů pro E2 je úžasná. Podle interních informací by měla kromě běžných záležitostí, jako jsou C/C++ a . NET core runtime knihovny, obsahovat i debugger jádra Windows, několik nástrojů pro práci s příkazovým řádkem pod Visual C++ a just-in-time kompilátor pro . NET s názvem RyuJIT. Že to Microsoft s vývojem nástrojů pro E2/EDGE procesor myslí vážně, demonstruje i fakt, že již portoval open-source vývojové prostředí LLVM i s patřičnými knihovnami. LLVM je základem pro vývoj mobilních aplikací pro Apple iOS a macOS, stejně jako aplikací pro PS4.
***
Labutí píseň Hyper-Threadingu
Technologie Hyper-Threading umožnila Intelu lépe využít fyzických jader jeho vícejádrových procesorů. Každé fyzické jádro bylo možné rozdělit na dvě jádra virtuální, která dokázala zároveň zpracovávat dvě programová vlákna. > Na rozdíl od prototypů procesoru E2 nedokážou ale CPU od Intelu rozdělit fyzické jádro za běhu. Hyper-Threading dále pracuje pouze s virtuálními jádry, zatímco E2/EDGE dokáže virtualizovat celé procesory. Řešení Intelu navíc předpokládá nejen podporu BIOS a operačního systému, ale jeho benefitů dokážou využít pouze aplikace speciálně uzpůsobené pro virtuální multithreading. > Technologie Microsoft EDGE nevyžaduje pro lepší spolupráci s multijádrovými procesory optimalizaci kódu. Namísto toho dokáže kompilátor samostatně identifikovat multithreadingový potenciál procesoru a automaticky podle něj rozšířit tok datových objektů tak, aby bylo možné zvýšit počet výpočetních jader pomocí speciálních příkazů.
Foto popis| Představení E2 Na letošním sympoziu v Los Angeles Microsoft představil procesor E2 a zároveň předvedl nejen plány jeho budoucího portování 1, ale dokonce na něm spustil systém Windows a hru Solitaire 2 .
Foto popis| U Intelu nic nového Již od uvedení generace Nehalem (první CPU řady Core-i) v roce 2008 Intel prakticky nezměnil architekturu svých procesorů
O autorovi| FILIPE PEREIRA MARTINS, ANNA KOBYLINSKA, autor@chip.cz