ΠœΠΈΠΊΡ€ΠΎΡΠ΄Ρ€ΠΎ Xous ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ Ρ‡ΠΈΠΏ Baochip-1x для создания бСзопасных встраиваСмых систСм

Π­Π½Π΄Ρ€ΡŽ Π₯ΡƒΠ°Π½ (Andrew Huang) ΠΈ Π¨ΠΎΠ½ ΠšΡ€ΠΎΡΡ (Sean Cross), Π² своё врСмя ΡΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π²ΡˆΠΈΠ΅ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ Π½ΠΎΡƒΡ‚Π±ΡƒΠΊ Novena ΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ для создания смартфонов Precursor, прСдставили Π½Π° ΠΊΠΎΠ½Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΠΈ 39C3 (Chaos Communication Congress) ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ SoC Baochip-1x, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹ΠΉ для создания Π·Π°Ρ‰ΠΈΡ‰Ρ‘Π½Π½Ρ‹Ρ… устройств ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π° Π²Π΅Ρ‰Π΅ΠΉ (IoT). Π§ΠΈΠΏ спроСктирован для использования вмСстС с микроядСрной ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмой Xous, Ρ€Π°Π·Π²ΠΈΠ²Π°Π΅ΠΌΡ‹ΠΌ Π­Π½Π΄Ρ€ΡŽ ΠΈ Π¨ΠΎΠ½ΠΎΠΌ послСдниС ΠΏΡΡ‚ΡŒ Π»Π΅Ρ‚. Π‘Ρ…Π΅ΠΌΡ‹, описания Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Ρ… Π±Π»ΠΎΠΊΠΎΠ² Π½Π° языкС Verilog, симулятор ΠΈ ΡΠΎΠΏΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π°Ρ проСктная докумСнтация доступны ΠΏΠΎΠ΄ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΉ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ CERN OHL 2.0. Код ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы Xous написан Π½Π° языкС Rust ΠΈ распространяСтся ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ Apache 2.0.

Π’ качСствС ΠΏΡ€ΠΈΡ‡ΠΈΠ½ для создания собствСнного SoC упоминаСтся отсутствиС Π½Π° Ρ€Ρ‹Π½ΠΊΠ΅ Ρ‡ΠΈΠΏΠΎΠ² Ρ€Π°Π·ΡƒΠΌΠ½ΠΎΠ³ΠΎ компромисса, ΡΠΎΡ‡Π΅Ρ‚Π°ΡŽΡ‰Π΅Π³ΠΎ Π»Π΅Π³ΠΊΠΎΠ²Π΅ΡΠ½ΠΎΡΡ‚ΡŒ с Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ΠΌ возмоТностСй для выполнСния Π·Π°Ρ‰ΠΈΡ‰Ρ‘Π½Π½Ρ‹Ρ… систСм. ΠžΡ‚ΠΌΠ΅Ρ‡Π°Π΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎ срСди оборудования для встраиваСмых устройств ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ распространСниС Π΄Π²Π΅ крайности β€” ΠΏΠΎΠ»Π½ΠΎΡ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ Ρ‡ΠΈΠΏΡ‹ с Π±Π»ΠΎΠΊΠΎΠΌ управлСния ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ (MMU), рассчитанныС Π½Π° запуск ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ Π½Π° Π±Π°Π·Π΅ ядра Linux, ΠΈ ΡƒΡ€Π΅Π·Π°Π½Π½Ρ‹Π΅ Ρ‡ΠΈΠΏΡ‹ Π±Π΅Π· MMU, для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ систСмы Ρ‚ΠΈΠΏΠ° Zephyr, chibios ΠΈΠ»ΠΈ rt-thread, Π½Π΅ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹Ρ… Π³Π°Ρ€Π°Π½Ρ‚ΠΈΠΉ бСзопасности.

Π‘ΠΎΠ·Π΄Π°Ρ‚Π΅Π»ΠΈ Ρ‡ΠΈΠΏΠ° Baochip-1x ΠΏΠΎΠΏΡ‹Ρ‚Π°Π»ΠΈΡΡŒ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π»Π΅Π³ΠΊΠΎΠ²Π΅ΡΠ½ΠΎΡΡ‚ΡŒ, ΡΠ²ΠΎΠΉΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°ΠΌ ARM Π±Π΅Π· MMU, с возмоТностями изоляции памяти, доступными Π² ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½Ρ‹Ρ… CPU. НаличиС MMU Π² Baochip-1x позволяСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΡ‚Ρ€Π°Π½ΠΈΡ‡Π½ΡƒΡŽ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ для изоляции процСссов. ОБ Xous ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΡƒΠ΅Ρ‚ возмоТности Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ памяти с прСдоставляСмой языком Rust ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΎΠΉ заимствования ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… (borrow checker) для создания Π·Π°Ρ‰ΠΈΡ‰Ρ‘Π½Π½ΠΎΠ³ΠΎ ΠΈ эффСктивного ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° асинхронной ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ сообщСний ΠΌΠ΅ΠΆΠ΄Ρƒ процСссами. РСализованная модСль взаимодСйствия ΠΌΠ΅ΠΆΠ΄Ρƒ процСссами позволяСт Ρ€Π°Π·Π΄Π΅Π»ΡΡ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ, сохраняя ΠΏΡ€ΠΈ этом ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ ядра.

SoC Baochip-1x Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ 32-разрядный CPU VexRiscv Π½Π° Π±Π°Π·Π΅ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ Π½Π°Π±ΠΎΡ€Π° ΠΊΠΎΠΌΠ°Π½Π΄ RISC-V (RV32-IMAC) c ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ схСмы трансляции адрСсов Sv39 (Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ памяти) ΠΈ Ρ‡Π΅Ρ‚Ρ‹Ρ€Ρ‘Ρ…ΡŠΡΠ΄Π΅Ρ€Π½Ρ‹ΠΉ ΡƒΡΠΊΠΎΡ€ΠΈΡ‚Π΅Π»ΡŒ Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π° BIO, основанный Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ PicoRV ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ Π½Π°Π±ΠΎΡ€ ΠΊΠΎΠΌΠ°Π½Π΄ RV32E. VexRiscv Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° частотС 400 ΠœΠ“Ρ†, Π° BIO β€” 800 ΠœΠ“Ρ†. SoC оснащён 2 ΠœΠ‘ SRAM ΠΈ 4 ΠœΠ‘ энСргонСзависимой RRAM. ΠŸΠ΅Ρ€Π²Π°Ρ партия Ρ‡ΠΈΠΏΠΎΠ² Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½Π° Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ ΠΊΠ²Π°Ρ€Ρ‚Π°Π»Π΅ 2026 Π³ΠΎΠ΄Π° Π² ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ TSMC с использованиСм тСхпроцСсса 22nm (TSMC22ULL).

 ΠœΠΈΠΊΡ€ΠΎΡΠ΄Ρ€ΠΎ Xous ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ Ρ‡ΠΈΠΏ Baochip-1x для создания бСзопасных встраиваСмых систСм

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ систСма Xous ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ процСссы ΠΈ ΠΏΠΎΡ‚ΠΎΠΊΠΈ, ΠΈ базируСтся Π½Π° ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½ΠΎΠΌ микроядрС ΠΈ Π½Π°Π±ΠΎΡ€Π΅ сСрСров (Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΉ сСрвисов), Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Ρ‡Π΅Ρ€Π΅Π· ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ асинхронной ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ сообщСний Π² стилС QNX. Π‘Π΅Ρ€Π²Π΅Ρ€Ρ‹ ΠΎΠΆΠΈΠ΄Π°ΡŽΡ‚ поступлСния сообщСний ΠΈ Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽΡ‚ связанный c ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΌ сообщСниСм ΠΊΠΎΠ΄ Π½Π° языкС Rust. Π―Π΄Ρ€ΠΎ ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° доставку сообщСний сСрвСрам, Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ сСрвСрам процСссорного Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Ρƒ владСния ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ ΠΎΡ‚ ΠΎΠ΄Π½ΠΎΠ³ΠΎ сСрвСра ΠΊ Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ.

На ΡƒΡ€ΠΎΠ²Π½Π΅ ядра выполняСтся ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΠ±ΡŠΡ‘ΠΌ ΠΊΠΎΠ΄Π° (Ρ€Π°Π·ΠΌΠ΅Ρ€ ядра 4 ΠšΠ‘) ΠΈ насколько Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ вынСсСна Π² ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ΅ пространство. Π‘Ρ€Π΅Π΄ΠΈ ΠΏΡ€ΠΎΡ‡Π΅Π³ΠΎ Π² пространствС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Ρ‹ для синхронизации, планирования Π·Π°Π΄Π°Ρ‡, выдСлСния памяти, взаимодСйствия с ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΈ сСтСвого взаимодСйствия. Π’ Ρ„ΠΎΡ€ΠΌΠ΅ сСрвиса Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ графичСский сСрвСр (graphics-server). ΠžΡ‚Π»ΠΈΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒΡŽ Xous Ρ‚Π°ΠΊΠΆΠ΅ являСтся прСдоставлСниС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ стандартной Π‘ΠΈ-Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, написанной Π½Π° языкС Rust.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

author avatar
ProHoster ΠšΠΎΠ½ΡΡƒΠ»ΡŒΡ‚Π°Π½Ρ‚, ВСхничСский спСциалист
A technical specialist at ProHoster with over six years of experience in server administration, VPN solutions, and network security. I manage infrastructure setup and support, monitor service stability, and implement solutions to protect client data. I also contribute to performance optimization and compliance with modern security and privacy requirements.

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ