Nová procesorová architektura z Číny: LoongArch od Loongsonu

Čínský Loongson uvádí novou instrukční sadu pro procesory

Svět procesorů se v posledních letech hodně zpestřil. ARM se z mobilů dostal do velkých počítačů, pomalu se etabluje RISC-V, a dokonce můžete mít počítač s IBM Power9 (i když to je trochu kuriozita). Teď se ovšem přidává ještě další hráč. V Číně totiž vznikla instrukční sada a procesorová architektura, která má být úplně nová a nezávislá na ostatních CPU používaných ve světě. (I když přece jenom by asi mohla mít spojitost s MIPS64…)

Čí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 (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.

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 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.

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

Jan Olšan, redaktor Cnews.cz


  •  
  •  
  •  
Flattr this!

Pridaj komentár

Vaša e-mailová adresa nebude zverejnená. Vyžadované polia sú označené *