ืืืงืจืืกืืคื ืืืืชื ืคืืชืืืื ืืงืฉืืจืื ืืคืจืืืงื CHERIoT (Capability Hardware Extension to RISC-V for Internet of Things), ืฉืืืจืชื ืืืกืื ืืขืืืช ืืืืื ืืงืื ืงืืื ื-C ื-C++. CHERIoT ืืฆืืขื ืคืชืจืื ืืืืคืฉืจ ืื ืืืื ืขื ืืกืืกื ืงืื C/C++ ืงืืืืื ืืื ืฆืืจื ืืขืืืื ืืืืฉ. ืืืื ื ืืืืฉืืช ืืืืฆืขืืช ืฉืืืืฉ ืืืืืจ ืฉืื ื ืืขืืฉื ืฉืืืืฉ ืืกื ืืืจืื ืืืืื ืฉื ืืืจืืืช ืืขืื (ISA), ืืืกืืคืง ืขื ืืื ืืืขืื ืืืจืืช ืืืืืจื ื ืืืืจ ืืืฉื ืืืืืจืื, ืืืืงืช ื ืืื ืืช ืืขืืืื ืขื ืืฆืืืขืื ืืืืืืช ืืืืื ืฉื ืืืืงื ืงืื.
ืืคืจืืืงื ื ืืฆืจ ืืชืื ืขืื ืืขืืืื ืฉืืืืข ืื ืืื ืฉื ืฉืคืช C ืืืคื ืืืงืืจ ืฉืืืืืช ืืขืืืื ืขื ืืืืจืื, ืื ืฉืืืืื ืืืขืืืช ืืื ืืืืฉืช ืืืฅ, ืืืฉื ืืืืืจืื ืฉืืืจ ืฉืืืจืจ, ืืคื ืืืช ืืฆืืืขืื ืื ืฉืืจืืจืื ืืคืืืื. . ืืชืจืืื ืืจืื ืฉืืคืืื ืชืืืืืื ืืืืืื ืืื ืืืื ืืืืงืจืืกืืคื, ืฉืืฉ ืืื ืืืื ืืืช ืกืงืืจืช ืฉืื ืืืื ืงืคืื ืืช ืืืฉืชืืฉืื ืืฉืืืืช ืคืืชืื ืืืืจื ืืืช ืืืืื ื ืืชืื ืกืืื, ืื ืืืืืื ืืืืืื ืืืขืืจ ืฉืืืืืช ืืขืืืื ืขื ืืืืจืื (ืืืืืื, ื-70% ืืืืืืฉืืช ืืืืงืจืืกืืคื ื-Google ื ืืจืืืช ืืืืคืื ืื ืืืื ืืืืืจืื).
ื ืืชื ืืคืชืืจ ืืช ืืืขืื ืขื ืืื ืฉืืืืฉ ืืฉืคืืช ืชืื ืืช ืืืืืืืืช ืคืขืืื ืืืืื ืขื ืืืืจืื, ืื ืืจืืืืช ืขื ืืืืงืืช ื ืืกืคืืช, ืืืฉื, ืขื ืืื ืฉืืืืฉ ืืืงืื ืืฆืืืขืื ืจืืืืื ืืื MiraclePtr (raw_ptr), ืืืืฆืข ืืืืงืืช ื ืืกืคืืช ืืืืฉื ืืืืืจื ืืืืจืื ืืฉืืืจืจืื. ืืื ืฉืืืืช ืืืื ืืชืืืืืช ืืืชืจ ืืงืื ืืืฉ, ืืขืืืื ืืืืฉ ืฉื ืคืจืืืงืืื ืงืืืืื ืฉื C/C++ ืืื ืื ืืขืืืชื, ืืืืืื ืื ืื ืืชืืื ื ืื ืืคืขืื ืืกืืืืืช ืืืืืืืช ืืืฉืืืื, ืืื ืืขืจืืืช ืืฉืืืฆืืช ืืืชืงื ื Internet of Things.
ืจืืืื ืืืืืจื ืฉื CHERIoT ืืชืืื ื ืื ืืืืงืจื-ืืงืจ ืืืืืกืก ืขื ืืจืืืืงืืืจืช RISC-V, ืชืื ืืืืขืช ืืจืืืืงืืืจืช ืืืขืื ืืืืื ืช CHERI (Capability Hardware Extension to RISC-V), ืืืกืคืงืช ืืืื ืฉื ืืืฉื ืืืืงืจืช ืืืืืจืื ืืืืืกืก ืขื "ืืืืืช" (ืื ืงืจืืื ืืืชืืื ืืคืขืืื ืืืืืจืื ืืืจืฉืืช). ืืืชืืกืก ืขื ืืจืืืืงืืืจืช ืขืจืืช ืืืืจืืืช (ISA) ืืืกืืคืงืช ื-CHERIoT, ื ืื ื ืืืื ืชืืื ื ืืืืืื ืืช ืืืืืืช ืืขืืืื ืขื ืืืืืจืื ืืจืืช ืืืืืืงืืื ืืืืืื, ืืกืคืง ืืื ื ืืคื ื ืืืฉื ืืืืืจืื ืฉืืืจ ืืฉืืืจืจ ืืืืืฉื ืืขืจืืช ืงืืช ืืฉืงื ืืืืืื ืืืฉื ืืืืืจืื. . ืืืื ืืื ืช ืืชืืื ื ืฉืฆืืื ืื ืืืื ืืืืื ืืฉืืจืืช ืืืืื ืฉืคืช C/C++, ืืืืคืฉืจ ืืืฉืชืืฉ ืื ืืืื ื ืขื ืืคืืืงืฆืืืช ืงืืืืืช (ื ืืจืฉ ืจืง ืืืืืจ ืืืืฉ ืืืจืฆื ืขื ืฆืืื ืืชืืื ื-ISA CHERIoT).
ืืคืชืจืื ืืืืฆืข ืืืคืฉืจ ืื ืืืกืื ืฉืืืืืช ืืืืจืืืช ืืืืืืืงื ืืืจืื ืืืืืืืช ืืืืืจืื, ืืื ื ืืืคืฉืจ ืืืืคืช ืืฆืืืขืื (ืืฉ ืืืคืืง ืืช ืื ืืืฆืืืขืื ืืืืฆืืืขืื ืืงืืืืื), ืืื ืืจ ืืช ืืืืฉื ืืืืืจืื ืืืืจ ืฉืืจืืจ (ืื ืืืฉื ืืืืืจืื ืืืืฆืขืืช ืืฆืืืข ืฉืืื ืืฆืืืข ืื ืืฆืืืข ืืืคื ื ืืืืืืืงื ืืฉืืืจืจ ืืืืืื ืืืจืืงืช ืืจืืื). ืืืืืื, ืฉืืืืฉ ื-CHERIoT ืืืคืฉืจ ืื ืืืืฉื ืืืืงืช ืืืืืืช ืืืืืืืืช, ืืขืงื ืืืืจื ืืื ืืืืืจืื ืืืืืคืช ืฉืืืืช ืืืฆืืืขืื ืืจืืืืื ืืืืคืืื ืื ืชืื ืื ืื ืืืืื ืื ืืืื ืืืจืืฉ ืฉืื ืืื ืงืื.
ืืคืจืืืงื ืืืื ืืคืจื ืฉื ืืจืืืืงืืืจืช ืขืจืืช ืืืืจืืืช ืืืืจืืืช ืฉื CHERIoT, ืืืฉืื ืืืืืก ืฉื ืืขืื RISC-V ืฉื 32 ืกืืืืืช ืืชืืื ื-CHERIoT ISA, ืืขืจืืช ืืืื ืืกืื LLVM ืฉืื ื. ืืืืืจืืืช ืื ืืืคืืก ืฉื ืืขืื ืืชืืืืจื ืืืืง ืืืืจื ื-Verilog ืืืคืฆืื ืชืืช ืจืืฉืืื Apache 2.0. ืืืืช Ibex ืืคืจืืืงื lowRISC ืฉืืืฉื ืืืกืืก ืืืขืื. ืืืื ืืงืื ืฉื CHERIoT ISA ืืืืืจ ืืฉืคืช Sail ืืืื ืืืจืฉื ืชืืช ืจืืฉืืื BSD.
ืื ืืกืฃ, ืืืฆืข ืื ืืืคืืก ืฉื ืืขืจืืช ืืืคืขืื ืืืื ืืืช CHERIoT RTOS, ืืืกืคืง ืืช ืืืืืืช ืืืืื ืชืืื ืื ืืืขืจืืืช ืืฉืืืฆืืช ืขื 256 ืืื-ืืืื ืฉื ืืืืจืื RAM. ืงืื CHERIoT RTOS ืืชืื ื-C++ ืืืืคืฅ ืชืืช ืจืืฉืืื MIT. ืืจืืืืื ืืืกืืกืืื ืฉื ืืขืจืืช ืืืคืขืื, ืืื ืืืขื ืืืชืืื, ืืชืืื ืืืขืจืืช ืืคืฆืช ืืืืจืื, ืืขืืฆืืื ืืฆืืจื ืฉื ืชืืื.
ืชื ื-CHERIoT RTOS ืืื ืฉืืืื ืืืืื ืฉื ืงืื ืืืฉืชื ืื ืืืืืืืื ืืืืื ืืกืคืจืืื ืืฉืืชืคืช, ืื ืื ืืืื ืืื ืืืืจืื ื, ืืื ืืืื ืืฉื ืืช ืืช ืืฆืื (ื ืืชื ืืฉืื ืื) ืืืจืืฅ ืืืงืฉืจ ืืืืื ื ืคืจื. ืฉืื ืงืื ืืืืืฅ ืื ืืืื ืืืขืืืจ ืฉืืืื ืืงืื ืืชื ืืืืฉืช ืืืืืืืงืืื, ืืืขื ืืืฉื ืื ืงืืืืช ืื ืืกื ืฉืืืืืจื ืืืืืื ืืฉืืืืฉ ืืืฆืืืขืื ืืืืืืืงืืื ืฉืืืขืืจื ืืืคืืจืฉ ืืขืช ืงืจืืื ืืชื ืืืจ. ืฉืืืืช ืืกืืืืืช ืืืืืืืช ืขืืืจ ืงืื ืืืืืืืงืืื ืืืืืืืื ืืชื.
ืืงืืจ: OpenNet.ru