Търсене на информация, машинно обучение, анализ на данни, създаване и разпространение на съдържание, добавена реалност, виртуална реалност и компютърни игри – списъкът от задачи, изискващи интензивна изчислителна работа, нараства с всеки изминал ден. Когато става дума за технологии, има две постоянни характеристики. Първата е все по-нарастващата нужда от изчислителна производителност. Каквото и да предложи чип-индустрията, крайните потребители го консумират бързо и след това търсят още и още. Втората присъща характеристика, разбира се, е промяната.
Аз съм в индустрията от повече от 20 години и за това време са се случили много неща. Да вземем един пример: с разрастване на световната мрежа и графичния потребителски интерфейс трансформацията на компютъра от инструмент за текстообработка към истински прозорец към света промени начина на живот. Това даде на хората възможността за достъп и споделяне на информация както никога до този момент. След това всичко стана преносимо и свързано, първо с ноутбуците, а след това със смартфоните и таблетите. Много бързо дойдоха експлозията от приложения и огромните количества информация, която трябва да се съхранява, да се обработва и анализира, предизвиквайки още по-голяма нужда от изчислителни ресурси.
Преди 4 години AMD пое пътя на подмладяване на своята собствена, високопроизводителна архитектура на x86 изчислителните ядра, за да посрещне растящите изисквания. Нашето предишно семейство централни процесори се отличаваше с голяма енергийна ефективност, но не успя да се справи на нужното ниво с изискванията за висока производителност на редица приложения. От необходимостта да се посрещнат тези изисквания се роди ядрото Zen.
Със Zen ние искахме да получим ново и съвременно ядро във всеки един аспект. То беше оптимизирано за производителност, за пропускателна способност и енергийна ефективност, за да се справи и с най-натоварващите приложения. В резултат на това, Zen е значително по-способен енджин и бележи завръщането на AMD към високата производителност с 40% увеличаване на броя обработени инструкции на такт, при това без увеличение на консумираната енергия[1].
Тази дръзка цел бе постигната, като проектирането се съсредоточи основно върху производителността и енергопотреблението. В новата микроархитектура бяха реализирани ключови промени в обработката на инструкциите и способността на изпълнителния модул и кеш-подсистемата да ускоряват потока от изпълнявани инструкции, беше повишен и паралелизмът в изчисленията.
Както разкрихме на конференцията Hot Chips 2016, Zen подобрява предвиждане на разклоненията, за да подбере правилните инструкции, въвежда кеш за микро-операции, за да може по-добре да издаде тези инструкции, включва със 75% по-голям прозорец за разпределение, за да обработва повече инструкции, и обработва повече инструкции паралелно, поради увеличената с 50% широчина на инструкциите в сравнение с ядрото от предишното поколение. Комбинацията дава огромен прираст в изчислителните възможности с всеки такт на ядрото.
След като имате високопроизводителен енджин, трябва да му подавате гориво. Ние всъщност го наричаме „да нахраним животното”. В този случай горивото – това са данните и инструкциите, извлечени от паметта. Ние препроектирахме наново йерархията на кеша, за да се справи със задачата, с 8 мегабайта L3 кеш, обединен L2 кеш за инструкции и данни и отделни кеш-буфери с ниска латентност за инструкции и данни. Едно ядро сега може да има достъп до 5 пъти по-висока пропускателна способност на кеша отколкото при предишния дизайн.
Модулът за предварително извличане на Zen е от критично значение за пропускателната способност. Той се явява собствена разработка на един от най-сложните алгоритми при проектирането на процесори. Модулът трябва да предвижда коя ще е следващата инструкция въз основа на хода на изпълнение на текущата програма. Доколко добре се справя с това и доколко бързо се коригира при грешка е колкото наука, толкова и изкуство. Можем да кажем спокойно, че със Zen сме се справили много добре в това отношение.
Голямо подобрение в пропускателната способност при Zen в сравнение с предишното поколение е възприемането на едновременен многонишков дизайн (simultaneous multi-threaded – SMT). Този подход дава възможност на ядрото да следи задачите в програмата и когато дадена задача прави пауза, за да изчака друга инструкция или данни, тогава може да бъде обработена друга задача, която не чака. За самите програми активирането на SMT изглежда като допълнително включване на процесорни ресурси.
И най-накрая, да споменем подобрената енергийна ефективност. Zen процесорът е проектиран така, че да обхване най-различни сегменти – от ноутбуците без вентилатори до суперкомпютрите, като всички те изискват пестеливо потребление на енергията. В свят, в който 10% повишение на производителността се счита за значително, целта от 40% увеличение без допълнителна енергия първоначално изглеждаше невъзможна, но инженерните екипи на AMD се съсредоточиха върху точно този проблем и откриха още възможности за спестяване чрез оптимизация на микроархитектурата за намалено потребление на енергия и реализиране на управление на тактовите честоти в широки граници.
Проектирането с фокус върху енергийната ефективност бе основен аспект от самото начало, като инженерите положиха сериозни усилия за изстискване на всеки микроват от дизайна. Всяка електрическа верига беше оптимизирана по отношение на консумацията на енергия. Когато дори частица от процесора не работи активно, тя се изключва за елиминиране на излишното потребление. Но когато трябва да се ускори обработката при по-голямо натоварване, получавате много висока производителност за ват. Освен това Zen се възползва от 14-нанометрова FinFET технология на производство. Новият FinFET транзистор е с по-малки размери, по-ниска консумация и по-висока производителност от този в предишните поколение чипове. А мащабируемостта на FinFET технологията осигурява големия обхват на приложение – от ниско потребление на енергия с малки утечки към по-високи волтажи, честоти и производителност.
Крайният резултат от всички изброени иновации ще стане ясен следващата година, когато на пазара се появят първите продукти със Zen процесори. Засега резултатите от лабораторните изпитания са впечатляващи. Наскоро демонстрирахме 8-ядрен/16-нишков настолен процесор Summit Ridge и 32-ядрена/64-нишкова сървърна платформа Naples, и в двата случая със Zen ядра, затова сме много оптимистични по отношение на бъдещето.
Също толкова важен е фактът, че Zen е само първият километричен камък по пътя на високо-производителните x86 изчислителни среди на AMD. Нашата пътна карта включва следващи поколения с допълнителни подобрения, по които вече работят нашите екипи, тъй като постоянно присъстващите характеристики на пазара – желанието за промени и апетитът за изчислителна производителност – ще продължат да движат напред нашата индустрия.
[1] Според вътрешни оценки на AMD за x86 CPU ядрото Zen, сравнено с x86 CPU ядрото Excavator.