์ค๊ตญ๊ณผํ์ ์ปดํจํฐ ๊ธฐ์ ์ฐ๊ตฌ์๋ 2020๋ ๋ถํฐ RISC-V ๋ช ๋ น์ด ์ธํธ ์ํคํ ์ฒ(RV64GC)๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๊ณ ์ฑ๋ฅ ๊ฐ๋ฐฉํ ํ๋ก์ธ์๋ฅผ ๊ฐ๋ฐํด ์จ XiangShan ํ๋ก์ ํธ๋ฅผ ๋ฐํํ์ต๋๋ค. ํ๋ก์ ํธ์ ๊ฐ๋ฐ์ ํ์ฉ๋ MulanPSL 2.0 ๋ผ์ด์ผ์ค์ ๋ฐ๋ผ ๊ณต๊ฐ๋ฉ๋๋ค.
์ด ํ๋ก์ ํธ๋ FPGA ๊ธฐ๋ฐ ์ฐธ์กฐ ๊ตฌํ์ธ Verilog๋ก ๋ณํ๋๋ Chisel ์ธ์ด์ ํ๋์จ์ด ๋ธ๋ก์ ๋ํ ์ค๋ช ๊ณผ ๊ฐ๋ฐฉํ Verilog ์๋ฎฌ๋ ์ดํฐ Verilator์์ ์นฉ ์๋์ ์๋ฎฌ๋ ์ด์ ํ๊ธฐ ์ํ ์ด๋ฏธ์ง๋ฅผ ๊ฒ์ํ์ต๋๋ค. ์ํคํ ์ฒ์ ๋ํ ๋ค์ด์ด๊ทธ๋จ๊ณผ ์ค๋ช ๋ ์ ๊ณต๋์ง๋ง(์ด 400๊ฐ ์ด์์ ๋ฌธ์์ 50๋ง ์ค ์ด์์ ์ฝ๋) ๋ฌธ์์ ๋๋ถ๋ถ์ ์ค๊ตญ์ด๋ก ๋์ด ์์ต๋๋ค. Debian GNU/Linux๋ FPGA ๊ธฐ๋ฐ ๊ตฌํ์ ํ ์คํธํ๋ ๋ฐ ์ฌ์ฉ๋๋ ์ฐธ์กฐ ์ด์ ์ฒด์ ๋ก ์ฌ์ฉ๋ฉ๋๋ค.
XiangShan์ SiFive P550์ ๋ฅ๊ฐํ๋ ์ต๊ณ ์ฑ๋ฅ์ RISC-V ์นฉ์ด๋ผ๊ณ ์ฃผ์ฅํฉ๋๋ค. ์ด๋ฒ ๋ฌ์๋ FPGA์ ๋ํ ํ ์คํธ๋ฅผ ์๋ฃํ๊ณ ์ฝ๋๋ช "Yanqi Lake"๋ผ๋ 8nm ๊ณต์ ๊ธฐ์ ์ ์ฌ์ฉํ์ฌ TSMC์์ ์ ์กฐํ๊ณ 1.3GHz์์ ์๋ํ๋ 28์ฝ์ด ํ๋กํ ํ์ ์นฉ์ ์ถ์ํ ๊ณํ์ ๋๋ค. ์ด ์นฉ์๋ 2MB ์บ์, DDR4 ๋ฉ๋ชจ๋ฆฌ(์ต๋ 32GB RAM)๋ฅผ ์ง์ํ๋ ๋ฉ๋ชจ๋ฆฌ ์ปจํธ๋กค๋ฌ ๋ฐ PCIe-3.0-x4 ์ธํฐํ์ด์ค๊ฐ ํฌํจ๋์ด ์์ต๋๋ค.
SPEC2006 ํ ์คํธ์์ ์ฒซ ๋ฒ์งธ ์นฉ์ ์ฑ๋ฅ์ 7/Ghz๋ก ์ถ์ ๋๋ฉฐ ์ด๋ ARM Cortex-A72 ๋ฐ Cortex-A73 ์นฉ์ ํด๋นํฉ๋๋ค. ์ฐ๋ง๊น์ง ๊ฐ์ ๋ ์ํคํ ์ฒ๋ฅผ ๊ฐ์ถ ๋ ๋ฒ์งธ "South Lake" ํ๋กํ ํ์ ์ ์์ฐ์ด ๊ณํ๋์ด ์์ผ๋ฉฐ, ์ด ํ๋กํ ํ์ ์ 14nm ๊ณต์ ๊ธฐ์ ๊ณผ 2GHz๋ก ์ฃผํ์ ์ฆ๊ฐ๋ฅผ ํตํด SMIC๋ก ์ด์ ๋ ์์ ์ ๋๋ค. ๋ ๋ฒ์งธ ํ๋กํ ํ์ ์ SPEC2006 ํ ์คํธ์์ 10/Ghz์ ์ฑ๋ฅ์ ๋ฐํํ ๊ฒ์ผ๋ก ์์๋๋๋ฐ, ์ด๋ ARM Cortex-A76 ๋ฐ Intel Core i9-10900K ํ๋ก์ธ์์ ๊ฐ๊น๊ณ , ๊ฐ์ฅ ๋น ๋ฅธ RISC-V CPU์ธ SiFive P550๋ณด๋ค ์ฐ์ํฉ๋๋ค. 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