Čína má vlastní procesorovou architekturu LoongArch, CPU Loongson přejdou z MIPS?

10

Čínský Loongson vyvinul zcela vlastní čínskou instrukční sadu pro procesory, která má být nezávislá na západním IP. Ale asi také současně navazuje na MIPS.

Čína se v poslední době během obchodní války s USA stala terčem řady sankcí na technologické firmy. Do té doby se v Číně hodně rozšířily firmy používající procesorovou architekturu ARM, ať už v sektoru embedded, mobilním, nebo dokonce serverech a HPC. A podobně v Číně začíná být populární bezplatná procesorová architektura RISC-V.

Vypadalo to tedy, že zapadnou dřívější snahy o to, aby se Čína úplně osamostatnila nejen od Intelu/AMD, ale i od těchto západních/mezinárodních licenčních technologií. Před několika lety takový projekt existoval, bylo navrhováno ustavit „národní procesorovou architekturu“. Teď se zdá, že mezinárodní napětí mimojiné nad otázkami respektování/porušování technologického IP tyto snahy zase oživilo a v Číně vzniká nová vlastní instrukční sada, která má být nezávislá na západních technologiích. Zajímavé je to i proto, že za tímto projektem stojí jméno, které dřív v čínské snaze o technologickou nezávislost vystupovalo: procesory Loongson, jejichž výrobce novou architekturu představil a zřejmě by ji v budoucnosti měl používat.

LoongArch

Tato nová architektura – respektive instrukční sada – se jmenuje LoongArch a byla teď představena firmou Loongson Technology, vyrábějící stejnojmenné procesory. LoongArch je pro ně první vlastní instrukční sada. Některé zastaralé operace z ní údajně byly odstraněny, takže by měla více sedět k dnešním programům.

Měla by zřejmě být použitá konstantní délka instrukcí (32 bitů), což zjednodušuje proti x86 s proměnnou délkou návrh, ale nepůjde tak docela o „RISC“ v původním smyslu (to není už ani ARM/ARMv8/ARMv9), protože celkově je instrukcí téměř 2000. Vedle základního subsetu jsou zahrnuté vektorové (SIMD) instrukce LSX a LASX (druhé by měly mít podobně jako AVX šířku vektoru 256 bitů) nebo rozšíření pro virtualizaci (LVZ).

A například také instrukce, jejichž účelem je usnadnit dynamický překlad binárního kódu určeného pro jiné procesorové architektury (LBT). Ty se budou používat patrně pro akceleraci nějaké formy softwarové emulace x86 a programů pro Windows, podobně jako to nyní používá Microsoft a Apple na platformě ARM. Loongson již takovou technologii měl u svých předchozích CPU, zde zdá se má být použita pro kompatibilitu také programů pro ARM/Android a MIPS/Linux.

Instrukční sada LoongArch
Instrukční sada LoongArch (Zdroj: HKEPC)

Jde o evoluci MIPS64?

Loongson uvádí, že instrukční sada LoongArch údajně byla vyvinuta samostatně a nenarušuje podle auditů objednaných výrobcem duševní vlastnictví (patenty) spojené s jinými již existujícími architekturami CPU, a má být tedy svébytná a odlišná. Ovšem zatím nebyly veřejně zpřístupněné podrobnější dokumenty, takže o technickém charakteru je známo minimum.

Tvrzení o nezávislém původu asi neznamená, že se LoongArch nebude v ničem podobat existujícím CPU, podobně jako například Google tvrdí, že VP9 je nezávislá technologie, ačkoliv jde o kodek hodně podobný subsetu technologií ve formátu HEVC. Řada věcí je totiž obecných, jejich ochrana už vypršela, nebo je lze implementovat funkčně podobně, ale s trošku pozměněnými detaily, aby se obešlo přesné znění patentu.

Dosavadní procesory Loongson používaly instrukční sadu MIPS64 obohacenou o některá rozšíření. Je pravděpodobné, že LoongArch bude koncepčně hodně podobná MIPS, aby se dala dobře aplikovat na mikroarchitekturu procesorů MIPS a zároveň bylo zjednodušeno portování kompilátorů, knihoven a operačních systémů na tuto novou instrukční sadu. Práva k technologiím MIPS se před časem dostaly během bankrotu vlastníka do Číny, takže je možné, že Loongson de facto vyvinul novou verzi 64bitové sady MIPS (MIPS64), ale pod novým názvem.

Tip: Nové čínské MIPS procesory Loongson 3A4000: vyráběné na FD-SOI, výkon jako Excavator

Tomuto by nahrávalo, že první procesory používající instrukční sadu LoongArch mají být 12nm čipy Loongson 3A5000 (čtyřjádra pro PC) a 3C5000 (šestnáctijáfra pro servery), u nichž výrobce snad původně avizoval kompatibilitu s MIPS64. A také se uvádí, že zatímco binární překlad programů pro ARM a x86 má dosahovat jen asi 70 % výkonu, běh MIPS programů má být s plnou rychlostí. To musí znamenat, že instrukce a další charakteristiky mezi zdrojovou a cílovou architekturou si minimálně velmi dobře odpovídají, pokud to rovnou není skoro totéž.

Loongson 3A5000 Zdroj HKEPC
Loongson 3A5000 (Zdroj: HKEPC)

Loongson 3A5000 má být údajně uveden teď v první polovině roku 2021, takže by bylo třeba, aby už měl podporu v překladačích, operačních systémech (Linuxu) a různém dalším softwaru. To by se u úplně nové instrukční sady provádělo těžko, ale kdyby byla LoongArch víceméně jen upravená instrukční sada předchozích MIPS Loongsonů, tak by to nebyl takový problém. Jen by se v kódu překladače víceméně automaticky přejmenovaly instrukce a provedly omezené změny tam, kde se fungování CPU skutečně změnilo. Není na tom asi nic závadného, vzhledem k tomu, že práva k MIPS mají teď čínské subjekty, by to zřejmě vše bylo legálně podchyceno.

Procesory Loongson se u nás prakticky nedají sehnat, takže očekáváme, že narazit na západě na hardware s procesorem LoongArch bude taktéž vzácná výjimka. Vzhledem k jazykové bariéře se o nich asi moc dozvídat nebudeme, ovšem zdrojem informací by měl být vývoj operačního systému Linux, překladačů GCC a Clang a dalšího softwaru, kde asi čínští vývojáři budou chtít upstreamovat podporu a komunikace bude anglická. Z těchto zdrojů se zřejmě definitivně dozvíme, jak je to třeba s tím vztahem mezi LoongArch a MIPS64.

Galerie: Instrukční sada LoongArch a procesor Loongson 3A5000

Zdroje: EETimes China, CNX-Software, Tom’s Hardware, HKEPC

Čína má vlastní procesorovou architekturu LoongArch, CPU Loongson přejdou z MIPS?
Ohodnoťte tento článek!
5 (100%) 9 hlasů

10 KOMENTÁŘE

  1. rozdiel medzi RISC a CISC nie je v pocte instrukcii, ale v tom ci instrukcie mozu pouzivat ako operandy pamatove adresy. V RISC nemozu, v CISC mozu, preto jedna CISC instrukcia moze urobit to, na co v RISC treba instrukcie tri, nacitanie z pamate, aritmeticka operacia, ulozenie do pamate

    • S tím bych si dovolil nesouhlasit. Ono se na to nelze dívat z dnešního pohledu, kdy se rozdíl mezi RISC a CISC v podstatě smazal, protože RISC neustále rozšiřuje svou instrukční sadu (už zdaleka to není ta redukovaná sada instrukcí) a CISC už své nové instrukce interně překládá na nějaké jednodušší.
      Když RISC přišlo, byl jeho hlavní výhodou fakt, že všechny instrukce měly stejnou délku, na rozdíl od CISC. A to mělo výhodu, že ty instrukce se mohly začít načítat dřív, než byla zpracována předchozí instrukce, protože bylo naprosto jasné, kde další instrukce začíná. U CISC se nejprve muselo zjistit, co se to právě načetlo, pokud to byla delší instrukce, tak se musely dočíst i ty její parametry a vypočítat, kde začíná další instrukce. A ta se teprve tehdy mohla načítat.
      Tahle výhoda, která přinášela vyšší IPC (v pravém slova smyslu, tedy vyšší počet instrukcí na takt) celkem zmizela v okamžiku, kdy jednak přišla L1 cache a hlavně, když se instrukce dekódují hodně dopředu před vlastním vykonáváním.
      Dneska už bych tedy to, jestli se něco historicky řadí k RISC nebo CISC, neřešil. Interně to dneska u obou vypadá dost podobně.

    • Hele ty svobodná společnosti, Rakušani odmítají vyloučit ze stavby 5G sítí Huawei, Finové si nechávají od rusů stavět jadernou elektrárnu – Finové, zrovna oni, Rakušani od rusů kupují vakcíny. Němci navzdory všemu hodlají dostavět plynovod. Jen my děláme špatný klauny celému světu.

      • Pokud vím, Kurz prohlásil, že Rakousko si může koupit Sputnik a v této fázi to zatím zůstává, včetně toho, že bude nutné její schválení. Co se týče finské jaderky v Hanhikivi, tak tam už je jasné, že místo v r. 2024 bude spuštěna až v 2028. Jedním z důvodů je i fakt, že Finský úřad pro jadernou bezpečnost již roky čeká na dokumentaci potřebnou k provedení bezpečnostního auditu (tak nějak mi to připomíná neschopnost Rusů dodat potřebnou dokumentaci do EMA ke schválení Sputniku).