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

21. 4. 2021

Sdílet

 Autor: HKEPC
Čí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.

ICTS24

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