Централният процесор на вашето устройство извършва милиони изчисления всяка секунда и е отговорен за това как функционира компютърът ви. С процесора работи блокът за аритметична обработка (ALU), който отговаря за математическите задачи и се управлява от микрокода на процесора.
Този микрокод на процесора не е статичен и може да бъде подобрен и едно такова подобрение беше наборът от инструкции AVX-512 на Intel. Въпреки това, Intel е настроен да убие AVX-512, премахвайки неговата функционалност от своите процесори завинаги. Но защо? Защо Intel убива AVX-512?
Как работи ALU?
Преди да се запознаете с набора от инструкции AVX-512, важно е да разберете как работи ALU.
Както подсказва името, модулът за аритметична обработка се използва за изпълнение на математически задачи. Тези задачи включват операции като събиране, умножение и изчисления с плаваща запетая. За да изпълни тези задачи, ALU използва специфична за приложението цифрова схема, която се управлява от тактовия сигнал на процесора.
Следователно тактовата честота на процесора определя скоростта, с която инструкциите се обработват в ALU. Така че, ако вашият процесор работи на тактова честота от 5 GHz, ALU може да обработи 5 милиарда инструкции за една секунда. Поради тази причина производителността на процесора се подобрява с увеличаване на тактовата честота.
Въпреки това, с увеличаване на тактовата честота на процесора, количеството топлина, генерирано от процесора, се увеличава. Поради тази причина опитните потребители използват течен азот, когато овърклокват своите системи. За съжаление, това повишаване на температурата при високи честоти не позволява на производителите на процесори да увеличат тактовата честота над определен праг.
И така, как едно ново поколение процесор предлага по-добра производителност в сравнение с по-старите итерации? Е, производителите на процесори използват концепцията за паралелизъм, за да повишат производителността. Този паралелизъм може да бъде постигнат чрез използване на многоядрена архитектура, при която се използват няколко различни процесорни ядра за подобряване на изчислителната мощност на процесора.
Друг начин за подобряване на производителността е чрез използване на набор от инструкции SIMD. Казано с прости думи, една инструкция за множество данни позволява на ALU да изпълни една и съща инструкция в различни точки от данни. Този тип паралелизъм подобрява производителността на процесора, а AVX-512 е SIMD инструкция, използвана за повишаване на производителността на процесора при изпълнение на конкретни задачи.
Как данните достигат до ALU?
Сега, когато имаме основно разбиране за това как работи ALU, трябва да разберем как данните достигат до ALU.
За да достигнат до ALU, данните трябва да преминат през различни системи за съхранение. Това пътуване на данни се основава на йерархията на паметта на изчислителната система. По-долу е даден кратък преглед на тази йерархия:
- Вторична памет: Вторичната памет на компютърно устройство се състои от постоянно устройство за съхранение. Това устройство може да съхранява данни постоянно, но не е толкова бързо, колкото процесора. Поради това процесорът няма достъп до данни директно от вторичната система за съхранение.
- Основна памет: Основната система за съхранение се състои от памет с произволен достъп (RAM). Тази система за съхранение е по-бърза от вторичната система за съхранение, но не може да съхранява данни постоянно. Следователно, когато отворите файл на вашата система, той се премества от твърдия диск в RAM. Въпреки това дори RAM паметта не е достатъчно бърза за процесора.
- Кеш-памет: Кеш паметта е вградена в процесора и е най-бързата система за памет на компютър. Тази система за памет е разделена на три части, а именно L1, L2 и L3 кеш. Всички данни, които трябва да бъдат обработени от ALU, се преместват от твърдия диск в RAM и след това в кеш паметта. Въпреки това, ALU няма достъп до данни директно от кеша.
- Регистри на процесора: Регистърът на процесора на компютърно устройство е много малък по размер и въз основа на компютърната архитектура тези регистри могат да съдържат 32 или 64 бита данни. След като данните се преместят в тези регистри, ALU може да получи достъп до тях и да изпълни поставената задача.
Какво представлява AVX-512 и как работи?
Наборът от инструкции AVX 512 е втората итерация на AVX и си проправи път към процесорите на Intel през 2013 г. Съкратено от Advanced Vector Extensions, наборът от инструкции AVX беше въведен за първи път в Xeon на Intel Phi (Knights Landing) архитектура и по-късно стигна до сървърните процесори на Intel в Skylake-X процесори.
В допълнение, наборът от инструкции AVX-512 си проправи път към потребителските системи с архитектурата Cannon Lake и по-късно беше подкрепен от архитектурите Ice Lake и Tiger Lake.
Основната цел на този набор от инструкции беше да се ускорят задачи, включващи компресиране на данни, обработка на изображения и криптографски изчисления. Предлагайки двойно по-голяма изчислителна мощност в сравнение с по-старите итерации, наборът от инструкции AVX-512 предлага значителни подобрения в производителността.
И така, как Intel удвои производителността на своите процесори, използвайки архитектурата AVX-512?
Е, както беше обяснено по-рано, ALU има достъп само до данните, налични в регистъра на процесора. Наборът от инструкции Advanced Vector Extensions увеличава размера на тези регистри.
Благодарение на това увеличение на размера, ALU може да обработва множество точки от данни в една инструкция, повишавайки производителността на системата.
По отношение на размера на регистъра, наборът от инструкции AVX-512 предлага тридесет и два 512-битови регистъра, което е двойно повече в сравнение с по-стария набор от инструкции AVX.
Защо Intel завършва AVX-512?
Както беше обяснено по-рано, наборът от инструкции AVX-512 предлага няколко изчислителни предимства. Всъщност популярни библиотеки като TensorFlow използват набора от инструкции, за да осигурят по-бързи изчисления на процесорите, поддържащи набора от инструкции.
И така, защо Intel деактивира AVX-512 на последните си процесори Alder Lake?
Е, процесорите Alder Lake не приличат на по-старите, произведени от Intel. Докато по-старите системи използваха ядра, работещи на една и съща архитектура, процесорите на Alder Lake използват две различни ядра. Тези ядра в процесорите Alder lake са известни като P и E-ядра и се захранват от различни архитектури.
Докато P-ядрата използват микроархитектурата Golden Cove, E-ядрата използват микроархитектурата Gracemont. Тази разлика в архитектурите не позволява на планировчика да работи правилно, когато определени инструкции могат да се изпълняват на една архитектура, но не и на друга.
В случая с процесорите Alder Lake наборът от инструкции AVX-512 е един такъв пример, тъй като P-ядрата имат хардуера за обработка на инструкциите, но E-ядрата не.
Поради тази причина процесорите на Alder Lake не поддържат набора от инструкции AVX-512.
Въпреки това инструкцията AVX-512 може да работи на определени процесори на Alder Lake, където Intel не ги е слял физически. За да направят същото, потребителите трябва да деактивират E-ядрата по време на BIOS.
Необходим ли е AVX-512 за потребителски чипсети?
Наборът от инструкции AVX-512 увеличава размера на регистъра на процесора, за да подобри неговата производителност. Това повишаване на производителността позволява на процесорите да обработват числата по-бързо, което позволява на потребителите да изпълняват алгоритми за видео/аудио компресия с по-високи скорости.
Въпреки това, това повишаване на производителността може да се наблюдава само когато инструкцията, дефинирана в програма, е оптимизирана да работи на набора от инструкции AVX-512.
Поради тази причина архитектурите с набори от инструкции като AVX-512 са по-подходящи за натоварвания на сървъра и чипсетите от потребителски клас могат да работят без сложни набори от инструкции като AVX-512.