ΠΠ½ΡΡΠΈΡΡΡΡΡ ΠΏΠΎ ΠΊΠΎΠΌΠΏΡΡΡΡΠ½ΠΈ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Π½Π° ΠΠΈΡΠ°ΠΉΡΠΊΠ°ΡΠ° Π°ΠΊΠ°Π΄Π΅ΠΌΠΈΡ Π½Π° Π½Π°ΡΠΊΠΈΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ° XiangShan, ΠΊΠΎΠΉΡΠΎ ΠΎΡ 2020 Π³. ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π° Π²ΠΈΡΠΎΠΊΠΎΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π΅Π½ ΠΎΡΠ²ΠΎΡΠ΅Π½ ΠΏΡΠΎΡΠ΅ΡΠΎΡ, Π±Π°Π·ΠΈΡΠ°Π½ Π½Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° Π½Π° Π½Π°Π±ΠΎΡΠ° ΠΎΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ RISC-V (RV64GC). Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠΈΡΠ΅ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° ΡΠ° ΠΎΡΠ²ΠΎΡΠ΅Π½ΠΈ ΠΏΠΎΠ΄ ΡΠ°Π·ΡΠ΅ΡΠΈΡΠ΅Π»Π½ΠΈΡ Π»ΠΈΡΠ΅Π½Π· MulanPSL 2.0.
ΠΡΠΎΠ΅ΠΊΡΡΡ ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π° ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π½Π° Ρ Π°ΡΠ΄ΡΠ΅ΡΠ½ΠΈ Π±Π»ΠΎΠΊΠΎΠ²Π΅ Π½Π° Π΅Π·ΠΈΠΊΠ° Chisel, ΠΊΠΎΠΉΡΠΎ Π΅ ΠΏΡΠ΅Π²Π΅Π΄Π΅Π½ Π½Π° Verilog, ΡΠ΅ΡΠ΅ΡΠ΅Π½ΡΠ½Π° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ, Π±Π°Π·ΠΈΡΠ°Π½Π° Π½Π° FPGA, ΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π·Π° ΡΠΈΠΌΡΠ»ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° ΡΠΈΠΏΠ° Π² ΠΎΡΠ²ΠΎΡΠ΅Π½ΠΈΡ Verilog ΡΠΈΠΌΡΠ»Π°ΡΠΎΡ Verilator. ΠΠ°Π»ΠΈΡΠ½ΠΈ ΡΠ° ΠΈ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΈ ΠΈ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ Π½Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° (ΠΎΠ±ΡΠΎ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΎΡ 400 Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ° ΠΈ 50 Ρ ΠΈΠ»ΡΠ΄ΠΈ ΡΠ΅Π΄Π° ΠΊΠΎΠ΄), Π½ΠΎ ΠΏΠΎ-Π³ΠΎΠ»ΡΠΌΠ°ΡΠ° ΡΠ°ΡΡ ΠΎΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡΠ° Π΅ Π½Π° ΠΊΠΈΡΠ°ΠΉΡΠΊΠΈ. Debian GNU/Linux ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΊΠ°ΡΠΎ ΡΠ΅ΡΠ΅ΡΠ΅Π½ΡΠ½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π° Π·Π° ΡΠ΅ΡΡΠ²Π°Π½Π΅ Π½Π° FPGA Π±Π°Π·ΠΈΡΠ°Π½Π°ΡΠ° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ.
XiangShan ΡΠ²ΡΡΠ΄ΠΈ, ΡΠ΅ Π΅ Π½Π°ΠΉ-ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΈΡΡ RISC-V ΡΠΈΠΏ, Π½Π°Π΄ΠΌΠΈΠ½Π°Π²Π°ΠΉΠΊΠΈ SiFive P550. Π’ΠΎΠ·ΠΈ ΠΌΠ΅ΡΠ΅Ρ ΡΠ΅ ΠΏΠ»Π°Π½ΠΈΡΠ° Π΄Π° Π·Π°Π²ΡΡΡΠΈ ΡΠ΅ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° FPGA ΠΈ Π΄Π° ΡΠ΅ ΠΏΡΡΠ½Π΅ 8-ΡΠ΄ΡΠ΅Π½ ΠΏΡΠΎΡΠΎΡΠΈΠΏ Π½Π° ΡΠΈΠΏ, ΡΠ°Π±ΠΎΡΠ΅Ρ Π½Π° 1.3 GHz ΠΈ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ ΠΎΡ TSMC Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° 28nm ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ, Ρ ΠΊΠΎΠ΄ΠΎΠ²ΠΎ ΠΈΠΌΠ΅ "Yanqi Lake". Π§ΠΈΠΏΡΡ Π²ΠΊΠ»ΡΡΠ²Π° 2MB ΠΊΠ΅Ρ ΠΏΠ°ΠΌΠ΅Ρ, ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅Ρ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ° Ρ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° DDR4 ΠΏΠ°ΠΌΠ΅Ρ (Π΄ΠΎ 32GB RAM) ΠΈ PCIe-3.0-x4 ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ.
ΠΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° ΠΏΡΡΠ²ΠΈΡ ΡΠΈΠΏ Π² ΡΠ΅ΡΡΠ° SPEC2006 Π΅ ΠΎΡΠ΅Π½Π΅Π½Π° Π½Π° 7/Ghz, ΠΊΠΎΠ΅ΡΠΎ ΡΡΠΎΡΠ²Π΅ΡΡΡΠ²Π° Π½Π° ARM Cortex-A72 ΠΈ Cortex-A73 ΡΠΈΠΏΠΎΠ²Π΅. ΠΠΎ ΠΊΡΠ°Ρ Π½Π° Π³ΠΎΠ΄ΠΈΠ½Π°ΡΠ° Π΅ ΠΏΠ»Π°Π½ΠΈΡΠ°Π½ΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²ΠΎΡΠΎ Π½Π° Π²ΡΠΎΡΠΈΡ ΠΏΡΠΎΡΠΎΡΠΈΠΏ βSouth Lakeβ Ρ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°, ΠΊΠΎΠΉΡΠΎ ΡΠ΅ Π±ΡΠ΄Π΅ ΠΏΡΠ΅Ρ Π²ΡΡΠ»Π΅Π½ Π½Π° SMIC Ρ 14nm ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠ΅Π½ ΠΏΡΠΎΡΠ΅Ρ ΠΈ ΡΠ²Π΅Π»ΠΈΡΠ°Π²Π°Π½Π΅ Π½Π° ΡΠ΅ΡΡΠΎΡΠ°ΡΠ° Π΄ΠΎ 2 GHz. ΠΡΠ°ΠΊΠ²Π° ΡΠ΅ Π²ΡΠΎΡΠΈΡΡ ΠΏΡΠΎΡΠΎΡΠΈΠΏ Π΄Π° ΡΠ°Π±ΠΎΡΠΈ Π½Π° 2006/Ghz Π² ΡΠ΅ΡΡΠ° SPEC10, ΠΊΠΎΠΉΡΠΎ Π΅ Π±Π»ΠΈΠ·ΠΎ Π΄ΠΎ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈΡΠ΅ ARM Cortex-A76 ΠΈ Intel Core i9-10900K ΠΈ ΠΏΡΠ΅Π²ΡΠ·Ρ ΠΎΠΆΠ΄Π° SiFive P550, Π½Π°ΠΉ-Π±ΡΡΠ·ΠΈΡΡ RISC-V ΠΏΡΠΎΡΠ΅ΡΠΎΡ, ΠΊΠΎΠΉΡΠΎ ΠΈΠΌΠ° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ ΠΎΡ 8.65/Ghz.
Π‘ΠΏΠΎΠΌΠ½Π΅ΡΠ΅ ΡΠΈ, ΡΠ΅ RISC-V ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ ΠΎΡΠ²ΠΎΡΠ΅Π½Π° ΠΈ Π³ΡΠ²ΠΊΠ°Π²Π° ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΠΌΠ°ΡΠΈΠ½Π½ΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ, ΠΊΠΎΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ΡΠΎ Π½Π° ΠΌΠΈΠΊΡΠΎΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈ Π·Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»Π½ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π±Π΅Π· Π΄Π° ΡΠ΅ ΠΈΠ·ΠΈΡΠΊΠ²Π°Ρ Π²ΡΠ·Π½Π°Π³ΡΠ°ΠΆΠ΄Π΅Π½ΠΈΡ ΠΈΠ»ΠΈ Π½Π°Π»Π°Π³Π°Π½Π΅ Π½Π° ΡΡΠ»ΠΎΠ²ΠΈΡ Π·Π° ΡΠΏΠΎΡΡΠ΅Π±Π°. RISC-V Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΡΡΠ·Π΄Π°Π²Π°ΡΠ΅ Π½Π°ΠΏΡΠ»Π½ΠΎ ΠΎΡΠ²ΠΎΡΠ΅Π½ΠΈ SoC ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈ. Π ΠΌΠΎΠΌΠ΅Π½ΡΠ°, Π²ΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΡΠ° RISC-V, ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΈ ΠΎΠ±ΡΠ½ΠΎΡΡΠΈ ΠΏΠΎΠ΄ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π±Π΅Π·ΠΏΠ»Π°ΡΠ½ΠΈ Π»ΠΈΡΠ΅Π½Π·ΠΈ (BSD, MIT, Apache 2.0) ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π°Ρ Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π΄Π΅ΡΠ΅ΡΠΊΠΈ Π²Π°ΡΠΈΠ°Π½ΡΠ° Π½Π° ΠΌΠΈΠΊΡΠΎΠΏΡΠΎΡΠ΅ΡΠΎΡΠ½ΠΈ ΡΠ΄ΡΠ°, SoC ΠΈ Π²Π΅ΡΠ΅ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈ ΡΠΈΠΏΠΎΠ²Π΅. ΠΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠΈ Ρ Π²ΠΈΡΠΎΠΊΠΎΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° RISC-V Π²ΠΊΠ»ΡΡΠ²Π°Ρ Linux (ΠΏΡΠΈΡΡΡΡΠ²Π° ΠΎΡ ΠΈΠ·Π΄Π°Π½ΠΈΡΡΠ° Π½Π° Glibc 2.27, binutils 2.30, gcc 7 ΠΈ Linux ΡΠ΄ΡΠΎΡΠΎ 4.15) ΠΈ FreeBSD.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru