Az ARM Cortex-A77 egy az ARM Holdings austini tervezőközpontja által tervezett mikroprocesszor, amely az ARMv8.2-A 64 bites utasításkészletet implementálja. A Cortex-A77 fejlesztése 2014-ben kezdődött. Az Arm hivatalosan a 2019. május 27-i Computexen jelentette be a „Deimos” kódnevű szintetizálható magot. Az Arm 23%-os teljesítménynövekedést jelentett be a fixpontos, illetve 35%-os növekedést a lebegőpontos számítások terén. A memória sávszélessége 15%-kal nőtt az A76-hoz képest.

Tervezés A Cortex-A77 a Cortex-A76 utódja, alapvetően annak a felépítését tartalmazza. A Cortex-A77 frontend egy 4 széles dekódolású sorrendtől eltérő (out-of-order) szuperskalár kialakítás egy új makro-op (makroművelet, Mop) méretű gyorsítótárral. Ciklusonként 4 utasítást és 6 makroműveletet (Mop) tud lehívni. Az utasítás-átnevezés és kiküldés fázisában 6 Mop, ciklusonként 13 mikroművelet (µop) sebességet érhet el. A sorrenden kívüli ablak mérete 160 bejegyzésre nőtt. A backend 12 végrehajtási portot tartalmaz, ami 50%-os növekedést jelent a Cortex-A76-hoz képest. A futószalag hossza 13 fokozat, 10 fokozatnyi végrehajtási késleltetéssel (10 ciklusos büntetéssel téves elágazás-előrejelzés esetén).

Az integer klaszterben hat futószalag található – szemben a Cortex-A76 ugyanazon egységében kialakított 4 futószalaggal. A Cortex-A76-hoz képest az egyik változás az utasítás-kibocsátási sorok egységesítése. Korábban minden egyes futószalagnak külön utasítás-kibocsátási sora volt. A Cortex-A77-ben már egyetlen egységesített utasítás-kibocsátási sor van, ami a teljesítményt növeli. A Deimos csiphez egy negyedik általános matematikai ALU-t is hozzáadtak, amely tipikusan 1 ciklusos egyszerű matematikai műveleteket és néhány 2 ciklusos összetettebb műveletet képes végrehajtani. A processzorban összesen három egyszerű ALU van, amelyek aritmetikai és logikai adatfeldolgozási műveleteket végeznek, és egy negyedik port, amely támogatja az összetett aritmetikát (pl. MAC, DIV). A processzort egy második elágazási ALU-val is bővítették, ami megduplázza az elágazások átviteli teljesítményét. Ezzel a Deimos processzor integer feldolgozó egységében összesen 6 ALU van: 3 egyszerű, 1 összetett, és 2 elágazási címeket számoló ALU.

A processzorban két ASIMD/FPASIMD: Advanced SIMD, másképpen NEON, az Arm szóhasználatábanFP: floating point, lebegőpontos végrehajtási futószalag van, ebben megegyezik a Cortex-A76-tal. A változás az utasítás-kibocsátási sorokban van. A fixpontos (integer) klaszterhez hasonlóan, az ASIMD klaszterben is egységes kiadási sort alakítottak ki mindkét futószalag számára, ami ennek teljesítményét növeli. A Cortex-A76-hoz hasonlóan a Cortex-A77 ASIMD mindkét futószalagja 128 bit széles, 2 dupla pontosságú, 4 egyszeres pontosságú, 8 félpontosságú, vagy 16 8 bites egész (integer) művelet elvégzésére képes. (Az ARM processzorokon a dupla pontosságú lebegőpontos adat 64 bites). Ezek a futószalagok kriptográfiai utasításokat is végre tudnak hajtani, amennyiben rendelkezésre áll a kriptográfiai kiterjesztés (az alapkiépítés nem tartalmazza, az Arm azt külön licenc vásárlása esetén adja hozzá a processzortervhez). A Cortex-A77-et egy második AES egységgel is bővítették, a kriptográfiai műveletek teljesítményének javítása céljából.

A kialakításban megnövelték a ROBreorder buffer, ROB: átrendezési puffer – hardveregység, amelyet a Tomasulo algoritmus kiterjesztésében használnak a sorrenden kívüli és spekulatív utasításvégrehajtás támogatására. A kiterjesztés az utasításokat sorrendben történő kiírásra kényszeríti. méretét, legfeljebb 160 bejegyzésre (az elődjében 128), és új L0 MOP gyorsítótárat kapott, amely max. 1536 bejegyzést tartalmazhat.

A mag támogatja a nem privilegizált 32 bites alkalmazásokat, de a privilegizált alkalmazásoknak a 64 bites ARMv8-A ISA-t kell használniuk. Támogatja továbbá a load acquire (LDAPR) utasításokat (ARMv8.3-A), a skaláris szorzás utasításokat (dot product, ARMv8.4-A), és a PSTATE Speculative Store Bypass Safe (SSBS) bitműveleteket (ARMv8.5-A).

A Cortex-A77 támogatja az ARM DynamIQ technológiáját, és várhatóan az Cortex-A55 energiatakarékos magokkal kombinálva nagy teljesítményű magokként lesznek felhasználva.

Felépítésbeli változások az ARM Cortex-A76-hoz képest Front-end elágazás-előrejelzés javított pontosság legfeljebb/max. 64B runahead ablak (korábban 32B)Runahead: egy olyan technika, amely lehetővé teszi a számítógép processzora számára, hogy spekulatív módon előre feldolgozza az utasításokat a gyorsítótár-találati hiba ciklusok alatt. megnövelt L1 BRB kapacitás, max. 64 bejegyzés (16 bejegyzésről) megnövelt BTB kapacitás, max. 8K-bejegyzés (6K-bejegyzésről) javított előzetes utasításkód-lehívó (prefetcher) hozzáadott új L0 mikroművelet-gyorsítótár szélesebb utasításlehívás, max. 6 utasítás/ciklus (4 utasítás/ciklusról) Végrehajtó egység szélesebb utasításlehívás, max. 6 utasítás/ciklus (korábban 4) nagyobb utasításátrendező puffer, max. 160 bejegyzés (korábban 128) szélesebb kiküldő egység, akár 10 utas, (korábban 8 utasról) szélesebb utasítás-kibocsátás, max. 12 utas (korábban 8 utas) Végrehajtó egységek új integer ALU egység és port új elágazáskezelő egység és port új dedikált tároló adatportok új hozzáadott AES egység

Licencelés A Cortex-A77 a licencelők számára SIP magként áll rendelkezésre, és kialakítása alkalmassá teszi más SIP-magokkal együtt (például GPU, képernyővezérlő, DSP, képfeldolgozó processzor, stb.) egylapkás rendszerekben (SoC) történő integrálásra.

Felhasználás A Samsung Exynos 980 chipet 2019 szeptemberében mutatták be mint az első egylapkás rendszert (SoC), amely a Cortex-A77 mikroarchitektúrát használja. Ezt követte később az alacsonyabb kategóriájú Exynos 880-as változat, 2020 májusában. A MediaTek Dimensity 1000, 1000L és 1000+ egylapkás rendszerek szintén a Cortex-A77 mikroarchitektúrát használják. A Kryo 585, Kryo 570 és Kryo 560 nevű származékokat a Snapdragon 865, 750G, valamint a 690 jelű csipekben használják.

Jegyzetek

Fordítás

Források

További információk Kapcsolódó szócikkek ARM Cortex-A76, előd ARM Cortex-A78, utód Az ARMv8-A magok összehasonlítása, ARMv8 család

A77 Kategória:64 bites mikroprocesszorok