Microsoft waxay furtay CHERIoT, oo ah Xalka Hardware si loo hagaajiyo Amniga Koodhka C

Microsoft waxay heshay horumarro la xidhiidha mashruuca CHERIoT (Awoodda Hardware Extension to RISC-V for Internet of Things), kaas oo looga dan leeyahay in lagu joojiyo dhibaatooyinka amniga ee koodka jira ee C iyo C++. CHERIoT waxay ku siinaysaa xal kuu ogolaanaya inaad ilaaliso C/C++ codebases jira adiga oo aan u baahnayn in dib loo shaqeeyo. Ilaalinta waxaa lagu fuliyaa iyadoo la isticmaalayo compiler modified isticmaalaya set gaar ah oo dheeraad ah oo tilmaamaha processor (ISA), ay bixiso processor iyo heerka hardware la socodka gelitaanka xusuusta, hubinta sax ah shaqada ee tilmaamayaasha iyo hubinta go'doomin blocks code.

Mashruuca waxaa la abuuray iyadoo isha lagu hayo xaqiiqda ah in dabeecadda heerka hoose ee luqadda C ay noqoto isha khaladaadka marka la shaqeynayo xusuusta, taasoo horseedaysa dhibaatooyin ay ka mid yihiin qulqulka xad dhaafka ah, helitaanka xusuusta hore loo xoreeyay, tixraacyada tilmaamayaasha, ama labajibbaaran bilaash ah. . Dhaqanku wuxuu muujinayaa in xitaa shirkadaha waaweyn sida Google iyo Microsoft, kuwaas oo leh siyaasad dib u eegis isbedel adag oo isticmaala hababka horumarinta casriga ah iyo qalabka falanqaynta, ma dammaanad qaadi karaan maqnaanshaha khaladaadka marka la shaqeynayo xusuusta (tusaale, qiyaastii 70% dayacanka Microsoft iyo Google-ka waxaa sababa maaraynta xusuusta aan badbaado lahayn).

Dhibaatada waxaa lagu xalin karaa iyadoo la adeegsanayo luqadaha barnaamijyada kuwaas oo dammaanad qaadaya hawlgal ammaan ah oo xusuusta leh, ama ku xidhidh hubinno dheeraad ah, tusaale ahaan, iyada oo la adeegsanayo halkii tilmaame caadi ah sida MiraclePtr (raw_ptr), kaas oo sameeya hubinno dheeraad ah si loo galo meelaha xusuusta ee xorta ah. Laakiin hababka noocan oo kale ah ayaa aad ugu habboon kood cusub, dib-u-shaqaynta mashaariicda C/C++ ee hadda jirta waa arrin dhib badan, gaar ahaan haddii loogu talagalay inay ku shaqeeyaan deegaanno xaddidan kheyraadka, sida nidaamyada dhejiska ah iyo qalabka Internetka ee Waxyaabaha.

Qaybaha qalabka CHERIoT waxaa loogu talagalay sidii microcontroller oo ku saleysan qaab dhismeedka RISC-V, hirgelinta CHERI-ga la ilaaliyo (Awoodda Hardware Extension to RISC-V) naqshadaha processor-ka, kaas oo bixisa nooc ah helitaanka xusuusta la kantaroolo oo ku saleysan "awood" (akhri iyo qor mid kasta hawlgalka xusuusta waa la oggolaaday). Iyada oo ku saleysan tilmaanta hab-dhismeedka hab-dhismeedka (ISA) ee lagu bixiyo CHERIoT, moodal software ayaa la dhisay kaas oo dammaanad qaadaya badbaadada ku shaqaynta xusuusta ee heerka shayada gaarka ah, oo siiya ka-hortagga marin-u-helidda xusuusta hore loo xoreeyay, oo fulisa nidaamka gelitaanka xusuusta fudud . Qaabka ilaalinta software-ka ee la cayimay waxa uu si toos ah uga muuqdaa qaabka luqadda C/C++, kaas oo u ogolaanaya in loo isticmaalo si loo ilaaliyo codsiyada jira (kaliya dib u ururinta iyo ku shaqaynta qalabka taageera ISA CHERIoT ayaa loo baahan yahay).

Xalka la soo jeediyay wuxuu kuu ogolaanayaa inaad xannibto khaladaadka keena shay inuu ka gudbo xuduudaha xusuusta, ma oggola beddelka tilmaamayaasha (dhammaan tilmaamayaasha waa in laga soo saaraa tilmaamayaasha hadda jira), iyo kormeerida gelitaanka xusuusta ka dib marka la sii daayo (helitaanka xusuusta iyadoo la adeegsanayo qalad khaldan tilmaame ama tilmaame tixraacaya shay la xoreeyay waxay keenaysaa in laga reebo in la tuuro). Tusaale ahaan, adeegsiga CHERIoT wuxuu kuu ogolaanayaa inaad hirgeliso hubinta xuduudaha tooska ah, dabagalka nolosha xusuusta, iyo xoojinta daacadnimada tilmaame ee qaybaha gacanta ku haya xogta aan la aamini karin iyada oo aan u baahnayn wax isbeddel kood ah.

Mashruucu waxa ku jira qeexida hab-dhismeedka hab-dhismeedka CHERIoT ee la fidiyey, hirgelinta tixraaca ee 32-bit RISC-V CPU ee taageeraya CHERIoT ISA, iyo qalab LLVM ah oo wax laga beddelay. Jaantusyada nooca CPU iyo sharraxaadaha xannibaadda qalabka ee Verilog waxaa lagu qaybiyaa shatiga Apache 2.0. Xudunta Ibex ee mashruuca lowRISC ayaa loo adeegsaday saldhigga CPU. Qaabka koodka CHERIoT ISA waxa lagu qeexaa luqadda Sail oo waxa uu shati ku haystaa shatiga BSD.

Intaa waxaa dheer, nooc ka mid ah nidaamka hawlgalka waqtiga-dhabta ah ee CHERIoT RTOS ayaa la soo jeediyay, kaas oo siiya awoodda lagu go'doomiyo qolalka xitaa nidaamyada ku dhex jira ee leh 256 MB ee RAM. Koodhka CHERIoT RTOS wuxuu ku qoran yahay C++ waxaana lagu qaybiyaa shatiga MIT. Qaybaha aasaasiga ah ee OS, sida bootloader, jadwalka iyo nidaamka qaybinta xusuusta, waxaa loo qaabeeyey qaab qaybo.

Qayb ka mid ah CHERIoT RTOS waa isku darka go'doonsan ee koodka iyo doorsoomayaasha caalamiga ah ee u eg maktabad la wadaago, laakiin si ka duwan tan dambe, way beddeli kartaa xaaladdeeda (la beddeli karo) oo waxay ku socon kartaa xaalad ammaan oo gaar ah. Ma jiro kood dibadda ka yimid oo koontaroolka u wareejin kara koodka qolka iyo gelitaanka walxaha, aan ka ahayn gelitaanka meelaha si gaar ah loo qeexay iyo adeegsiga tilmaame shayada si cad loo gudbiyo marka la wacayo qayb kale. Daacadnimada iyo sirta ayaa loo dammaanad qaaday koodka iyo walxaha caalamiga ah ee ku jira qol.

Source: opennet.ru

Add a comment