เบ•เบปเบงเบˆเบณเบฅเบญเบ‡ RISC-V เปƒเบ™เบฎเบนเบšเปเบšเบšเบ‚เบญเบ‡ pixel shader เบ—เบตเปˆเบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบญเบตเป‰เบ™เปƒเบŠเป‰ Linux เปƒเบ™ VRCChat เป„เบ”เป‰.

เบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเบ‚เบญเบ‡เบเบฒเบ™เบ—เบปเบ”เบฅเบญเบ‡เบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบˆเบฑเบ”เบ•เบฑเป‰เบ‡เบเบฒเบ™เป€เบ›เบตเบ”เบ•เบปเบงเบ‚เบญเบ‡ Linux เบžเบฒเบเปƒเบ™เบŠเปˆเบญเบ‡ 3D virtual เบ‚เบญเบ‡ multiplayer เป€เบเบกเบญเบญเบ™เบฅเบฒเบ VRChat, เป€เบŠเบดเปˆเบ‡เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เป‚เบซเบฅเบ”เปเบšเบš 3D เบเบฑเบš shaders เบ‚เบญเบ‡เบ•เบปเบ™เป€เบญเบ‡, เป„เบ”เป‰เบ–เบทเบเบˆเบฑเบ”เบžเบตเบกเบกเบฒ. เป€เบžเบทเปˆเบญเบ›เบฐเบ•เบดเบšเบฑเบ”เปเบ™เบงเบ„เบงเบฒเบกเบ„เบดเบ”เบ—เบตเปˆเบ•เบฑเป‰เบ‡เป„เบงเป‰, emulator เบ‚เบญเบ‡เบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเปเบฒ RISC-V เป„เบ”เป‰เบ–เบทเบเบชเป‰เบฒเบ‡เบ‚เบทเป‰เบ™, เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบขเบนเปˆเบ”เป‰เบฒเบ™ GPU เปƒเบ™เบฎเบนเบšเปเบšเบšเบ‚เบญเบ‡ pixels (เบŠเบดเป‰เบ™) shader (VRChat เบšเปเปˆเบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™ computational shaders เปเบฅเบฐ UAV). เบฅเบฐเบซเบฑเบ” emulator เป„เบ”เป‰เบ–เบทเบเป€เบœเบตเบเปเบœเปˆเบžเบฒเบเปƒเบ•เป‰เปƒเบšเบญเบฐเบ™เบธเบเบฒเบ” MIT.

emulator เปเบกเปˆเบ™เบญเบตเบ‡เปƒเบชเปˆเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เปƒเบ™เบžเบฒเบชเบฒ C, เบเบฒเบ™เบชเป‰เบฒเบ‡เบ—เบตเปˆ, เปƒเบ™เบ—เบฒเบ‡เบเบฑเบšเบเบฑเบ™, เป„เบ”เป‰เบ™เปเบฒเปƒเบŠเป‰เบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเบ‚เบญเบ‡ emulator เบซเบ™เป‰เบญเบเบ—เบตเปˆเบชเบธเบ” riscv-rust, เบžเบฑเบ”เบ—เบฐเบ™เบฒเปƒเบ™เบžเบฒเบชเบฒ Rust. เบฅเบฐเบซเบฑเบ” C เบ—เบตเปˆเบ–เบทเบเบเบฐเบเบฝเบกเบ–เบทเบเปเบ›เป€เบ›เบฑเบ™ pixel shader เปƒเบ™ HLSL, เป€เบซเบกเบฒเบฐเบชเบปเบกเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป‚เบซเบฅเบ”เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™ VRCChat. emulator เบชเบฐเบซเบ™เบญเบ‡เบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบขเปˆเบฒเบ‡เป€เบ•เบฑเบกเบ—เบตเปˆเบชเปเบฒเบฅเบฑเบšเบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเปเบฒเบŠเบธเบ”เบ„เปเบฒเปเบ™เบฐเบ™เปเบฒ rv32imasu, เบซเบ™เปˆเบงเบเบเบฒเบ™เบ„เบธเป‰เบกเบ„เบญเบ‡เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒ SV32 เปเบฅเบฐเบญเบธเบ›เบฐเบเบญเบ™เบ•เปเปˆเบžเปˆเบงเบ‡เบซเบ™เป‰เบญเบเบ—เบตเปˆเบชเบธเบ” (UART เปเบฅเบฐเป€เบ„เบทเปˆเบญเบ‡เบˆเบฑเบšเป€เบงเบฅเบฒ). เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เบ—เบตเปˆเบเบฝเบกเบžเป‰เบญเบกเปเบกเปˆเบ™เบžเบฝเบ‡เบžเปเบ—เบตเปˆเบˆเบฐเป‚เบซเบฅเบ” Linux kernel 5.13.5 เปเบฅเบฐเบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเป€เบชเบฑเป‰เบ™เบ„เปเบฒเบชเบฑเปˆเบ‡ BusyBox เบžเบทเป‰เบ™เบ–เบฒเบ™, เป€เบŠเบดเปˆเบ‡เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป‚เบ•เป‰เบ•เบญเบšเป‚เบ”เบเบเบปเบ‡เบˆเบฒเบเป‚เบฅเบ virtual VRChat.

เบ•เบปเบงเบˆเบณเบฅเบญเบ‡ RISC-V เปƒเบ™เบฎเบนเบšเปเบšเบšเบ‚เบญเบ‡ pixel shader เบ—เบตเปˆเบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบญเบตเป‰เบ™เปƒเบŠเป‰ Linux เปƒเบ™ VRCChat เป„เบ”เป‰.
เบ•เบปเบงเบˆเบณเบฅเบญเบ‡ RISC-V เปƒเบ™เบฎเบนเบšเปเบšเบšเบ‚เบญเบ‡ pixel shader เบ—เบตเปˆเบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบญเบตเป‰เบ™เปƒเบŠเป‰ Linux เปƒเบ™ VRCChat เป„เบ”เป‰.

emulator เป„เบ”เป‰เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เบขเบนเปˆเปƒเบ™ shader เปƒเบ™เบฎเบนเบšเปเบšเบšเบ‚เบญเบ‡เป‚เบ„เบ‡เบชเป‰เบฒเบ‡เปเบšเบšเป€เบ„เบทเปˆเบญเบ™เป„เบซเบงเบ‚เบญเบ‡เบ•เบปเบ™เป€เบญเบ‡ (Unity Custom Render Texture), เป€เบชเบตเบกเป‚เบ”เบ Udon scripts เบชเบฐเบซเบ™เบญเบ‡เปƒเบซเป‰เบชเปเบฒเบฅเบฑเบš VRChat, เปƒเบŠเป‰เป€เบžเบทเปˆเบญเบ„เบงเบšเบ„เบธเบก emulator เปƒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‚เบญเบ‡เบ•เบปเบ™. เป€เบ™เบทเป‰เบญเปƒเบ™เบ‚เบญเบ‡ RAM เปเบฅเบฐเบชเบฐเบ–เบฒเบ™เบฐเบ‚เบญเบ‡เป‚เบ›เป€เบŠเบ”เป€เบŠเบตเบ‚เบญเบ‡เบฅเบฐเบšเบปเบšเบเบฒเบ™เบˆเปเบฒเบฅเบญเบ‡เป„เบ”เป‰เบ–เบทเบเป€เบเบฑเบšเป„เบงเป‰เปƒเบ™เบฎเบนเบšเปเบšเบšเบ‚เบญเบ‡เป‚เบ„เบ‡เบชเป‰เบฒเบ‡, เบ‚เบฐเบซเบ™เบฒเบ” 2048x2048 pixels. เป‚เบ›เป€เบŠเบ”เป€เบŠเบต emulated เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบขเบนเปˆเบ—เบตเปˆเบ„เบงเบฒเบกเบ–เบตเปˆเบ‚เบญเบ‡ 250 kHz. เบ™เบญเบเป€เบซเบ™เบทเบญเบˆเบฒเบ Linux, emulator เบเบฑเบ‡เบชเบฒเบกเบฒเบ”เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™ Micropython.

เบ•เบปเบงเบˆเบณเบฅเบญเบ‡ RISC-V เปƒเบ™เบฎเบนเบšเปเบšเบšเบ‚เบญเบ‡ pixel shader เบ—เบตเปˆเบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบญเบตเป‰เบ™เปƒเบŠเป‰ Linux เปƒเบ™ VRCChat เป„เบ”เป‰.

เป€เบžเบทเปˆเบญเบชเป‰เบฒเบ‡เบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบ‚เปเป‰เบกเบนเบ™เปเบšเบšเบ„เบปเบ‡เบ—เบตเปˆเป‚เบ”เบเบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบเบฒเบ™เบญเปˆเบฒเบ™เปเบฅเบฐเบเบฒเบ™เบ‚เบฝเบ™, trick เปเบกเปˆเบ™เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบงเบฑเบ”เบ–เบธเบเป‰เบญเบ‡เบ–เปˆเบฒเบเบฎเบนเบšเบ—เบตเปˆเบœเบนเบเบกเบฑเบ”เบเบฑเบšเบžเบทเป‰เบ™เบ—เบตเปˆเบชเบตเปˆเบซเบฅเปˆเบฝเบกเบ—เบตเปˆเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เป‚เบ”เบ shader เปเบฅเบฐเบ™เปเบฒเบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเบ‚เบญเบ‡เป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบ—เบตเปˆเบชเบฐเปเบ”เบ‡เป€เบ–เบดเบ‡เบเบฒเบ™เบ›เป‰เบญเบ™เป€เบ‚เบปเป‰เบฒเบ‚เบญเบ‡ shader. เบ”เป‰เบงเบเบงเบดเบ—เบตเบ™เบตเป‰, เบ—เบธเบเป† pixels เบ—เบตเปˆเบ‚เบฝเบ™เปƒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ” pixel shader เบชเบฒเบกเบฒเบ”เบญเปˆเบฒเบ™เป„เบ”เป‰เป€เบกเบทเปˆเบญเบเบญเบšเบ•เปเปˆเป„เบ›เบ–เบทเบเบ›เบฐเบกเบงเบ™เบœเบปเบ™.

เป€เบกเบทเปˆเบญเบ™เปเบฒเปƒเบŠเป‰ pixel shaders, เบ•เบปเบงเบŠเบตเป‰เบšเบญเบ shader เปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบเปเบกเปˆเบ™เป€เบ›เบตเบ”เบ•เบปเบงเปƒเบ™เบ‚เบฐเบซเบ™เบฒเบ™เบชเปเบฒเบฅเบฑเบšเปเบ•เปˆเบฅเบฐ pixels เป‚เบ„เบ‡เบชเป‰เบฒเบ‡. เบ„เบธเบ™เบ™เบฐเบชเบปเบกเบšเบฑเบ”เบ™เบตเป‰เป€เบฎเบฑเบ”เปƒเบซเป‰เบเบฒเบ™เบˆเบฑเบ”เบ•เบฑเป‰เบ‡เบ›เบฐเบ•เบดเบšเบฑเบ”เบชเบฑเบšเบชเบปเบ™เบขเปˆเบฒเบ‡เบซเบผเบงเบ‡เบซเบผเบฒเบเปเบฅเบฐเบฎเบฝเบเบฎเป‰เบญเบ‡เปƒเบซเป‰เบกเบตเบเบฒเบ™เบ›เบฐเบชเบฒเบ™เบ‡เบฒเบ™เปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบเบ‚เบญเบ‡เบชเบฐเบ–เบฒเบ™เบฐเบ‚เบญเบ‡เบฅเบฐเบšเบปเบš emulated เบ—เบฑเบ‡เบซเบกเบปเบ”เปเบฅเบฐเบเบฒเบ™เบ›เบฝเบšเบ—เบฝเบšเบ•เปเบฒเปเบซเบ™เปˆเบ‡เบ‚เบญเบ‡ pixels เบฅเบงเบ‡เบ—เบตเปˆเบ›เบธเบ‡เปเบ•เปˆเบ‡เบเบฑเบšเบชเบฐเบ–เบฒเบ™เบฐ CPU เบ—เบตเปˆเป€เบ‚เบปเป‰เบฒเบฅเบฐเบซเบฑเบ”เปƒเบ™เบกเบฑเบ™เบซเบผเบทเป€เบ™เบทเป‰เบญเปƒเบ™เบ‚เบญเบ‡ RAM เบ‚เบญเบ‡เบฅเบฐเบšเบปเบš emulated (เปเบ•เปˆเบฅเบฐ pixels เบชเบฒเบกเบฒเบ”เป€เบ‚เบปเป‰เบฒเบฅเบฐเบซเบฑเบ” 128. เบ‚เปเป‰โ€‹เบกเบนเบ™ bits). เบฅเบฐเบซเบฑเบ” shader เบฎเบฝเบเบฎเป‰เบญเบ‡เปƒเบซเป‰เบกเบตเบเบฒเบ™เบฅเบงเบกเป€เบญเบปเบฒเบเบฒเบ™เบเบงเบ”เบชเบญเบšเบˆเปเบฒเบ™เบงเบ™เบซเบฅเบฒเบ, เป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เปƒเบซเป‰เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ—เบตเปˆเบ‡เปˆเบฒเบเบ”เบฒเบเบ‚เบญเบ‡ perl preprocessor perlpp เป„เบ”เป‰เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰.



เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: opennet.ru

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™