MCC или Matrix Computing Coprocessor, новият компонент на бъдещия процесор A13

Bloomberg отвори забраната. Остават ни няколко седмици от слуховете за (предполагаемо) следващия 10 септември, представянето на новото поколение iPhone. И ако се вслушаме в това, което Марк Гурман и Деби Ву казаха наскоро, ще видим и леко обновяване на iPad Pro, нов 10,2 "образователен iPad и новия 16" MacBook Pros. Ако искате да научите повече, имате тук статията, която пребройте всички слухове.
Но тук ще се съсредоточим върху нещо (за мен) по-важно от 3 камери на iPhone или 10'2 iPad ”. Днес говорим за мозъци и нов съпроцесор, който Гурман е усъвършенствал, който ще включва бъдещия A13, който ще даде интелигентност на това ново поколение устройства. Съпроцесор, наречен AMX, който ще бъде специализиран в изчисляването на матрица с плаваща запетая. Чип, предназначен да поддържа компютърно зрение и добавена реалност. Затова ще ви кажем от какво ще се състои и какви ще бъдат функциите му.
Хетерогенни изчисления
Това е ключът към еволюцията на ARM архитектурните процесори, произведени днес. Противно на това, което може би си мислите, когато видим еталон, при който новият A12x на iPad Pro постига производителност, почти същата като процесор от висок клас Intel като тези на MacBook Pro от 2018 г., ние всъщност разказваме половината история и тази стойност ни „подвежда“.
По същия начин, по който днес гигагерците на процесорния часовник не са показателни за неговата скорост, защото зависи от генерирането, компонентите, транзисторите и други на самия процесор, бенчмаркът не е в състояние да улови истинския проблем, който има днес процесор ARM архитектура, предназначен да пести енергия: че неговата архитектура е по-бавна по дефиниция, дори ако измерваме резултатите по същите критерии.
Ще дадем няколко бързи примера, за да го разберете. Процесор x86 като всеки Intel, използван от Mac, има хиляди инструкции. От най-основните (като сума) до по-сложни, като например движения на паметта между конкретни компоненти и дори много специфични изчисления като кодиране на набор от видеоданни.
За да ви дадем представа: процесорът не е същият (както преди много години), който може само да добавя и да го умножава, трябваше да направи много суми, които този, който има инструкция за умножение и в една инструкция изпълнява цялата операция.
Наборът от инструкции на 64-битова архитектура x86 може да има повече от 5000 инструкции и към това трябва да добавим други много специфични инструкции от различни подгрупи инструкции за мултимедия, плаващо изчисление, обработка на видео ... обаче, ARM, за да позволи архитектура с по-малко енергия, има значително по-малко операции.
На всичкото отгоре е размерът на инструкциите. На x86 всяка инструкция е с различен размер, най-основните и най-често използваните инструкции, които заемат само 8 бита, може би 16 бита. въпреки това, в ARM всички инструкции заемат едни и същи 32 бита, дори ако са кратки на ниво номериране. Следователно, докато x86 е способен да обработва повече инструкции в секунда, тъй като всяка от тях има различен размер (той е динамичен), в ARM броят на инструкциите за обработка в секунда е постоянен.
Това са само някои от разликите, които трябва да забележите. Поради тази причина спасението на ARM архитектурата, за да й позволи да има ефективност, сравнима (реална) с архитектура x86, е хетерогенно изчисление. Способността на процесора да има различни специализирани компоненти в себе си. Да кажем, че x86 играе мускул с процесор, който позволява хиляди динамични инструкции, но предназначени за по-общи операции. Това, което ARM прави обаче, е, че процесорът го оставя за общи случаи и останалата част от дейностите се изпращат към други специализирани компоненти.
Например: ако искаме да кодираме видео на процесор x86, в него има набор от инструкции, които да ни помогнат (т.нар. Технология за бързо синхронизиране от Intel). Но те са инструкции в рамките на един и същ процесор, така че те зареждат тази работа, вместо да я освобождават. Процесорът на Apple A12 обаче има ядро за кодиране на видео HEVC, което е извън процесора и чиято задача е да кодира и декодира видео с този кодек. Така че, ако записваме 4K видео на iPhone XR (например), процесорът не трябва да прави нищо, с изключение на координиращите операции, докато тежестта на кодирането пада върху външен компонент. Това очевидно освобождава процесора да прави други неща, разпространява работата и прави системата по-бърза при реална употреба.
Сега помислете, че процесорът A12 има следните компоненти: GPU (графичен процесор), TPU (единица от тензори или невронни двигатели), координатор на процеса (който определя какъв тип ядро или компонент всяка операция, която се изисква от компютъра, трябва да премине към чип ), ISP (чип за обработка на изображения за фотография), DSP (или цифров процесор на сигнала за звук), механизъм за дълбочина (за обработка на дълбочината на елементите в изображение), видео процесор ... плюс графичният процесор има 4 ядра (7 в случай на A12x) и 6 ядра на процесора (8 в случай на A12x).