Успели су да покрену Линук на РИСЦ-В емулатору на ВРЦхату

Пре неколико дана објављени су резултати експеримента организација заснована на покретању Линук кернел унутар 3Д виртуелног простора онлајн игре за више играча.

Овај експеримент Урађено је на ВРЦхат -у који омогућава учитавање 3Д модела сопственим схадерима. Да би се имплементирала замишљена идеја, направљен је емулатор заснован на РИСЦ-В архитектури који се извршава на ГПУ страни у облику пикел схадер-а.

О пројекту

Емулатор је заснован на имплементацији на језику Ц, чије је стварање заузврат користило развој минималистичког емулатора рисцв-руст, који је заузврат развијен у језику Руст. Припремљени Ц код се преводи у пикел схадер на ХЛСЛ језику, погодан за учитавање у ВРЦхат.

Емулатор пружа потпуну подршку за архитектуру скупа инструкција рв32имасу, управљачка јединица меморије СВ32 и минимални скуп периферних уређаја (УАРТ и тајмер). Припремљене могућности довољне су за учитавање Линук кернела 5.13.5 и основног окружења командне линије БусиБок -а, са којим можете директно да комуницирате из виртуелног света ВРЦхат -а.

Око марта 2021. године одлучио сам да напишем емулатор способан за покретање пуног Линук језгра у ВРЦхат -у. Због инхерентних ограничења те платформе, изабрани алат је морао бити сенчник. И после неколико месеци рада, сада сам поносан што представљам први у свету РИСЦ-В ЦПУ / СоЦ емулатор (за који знам) у ХЛСЛ пикселу, способном да ради до 250 кХз (на 2080 Ти) и покрените Линук 5.13.5 са подршком за ММУ.

Емулатор је имплементиран у сенци у облику сопствене динамичке текстуре (Унити Цустом Рендер Тектуре), допуњена Удон скриптама предвиђеним за ВРЦхат, које се користе за контролу емулатора у току извођења.

Главни садржај меморије и стање процесора емулираног система чувају се као текстура величине 2048 × 2048 пиксела, чиме се емулирани процесор ради на 250 кХз. Осим Линука, Мицропитхон се може покренути и на емулатору.

За покретање Линука мислио сам да ће нам требати најмање 32 МиБ главне меморије (РАМ), али будимо сигурни и направимо 64 - разлика у перформансама неће бити велика и требало би бити довољно ВРАМ -а.

У почетку је главна брига о перформансама била брзина такта. То јест, колико циклуса процесора може да се изврши у једном оквиру.

За организовање складиштења података упорни са подршком за читање и писање, користи се трик који се односи на коришћење објекта Камера повезаног са правоугаоном површином генерише схадер и усмерава излаз приказане текстуре на улаз схадер -а. Стога, Сваки пиксел написан током извођења пикел схадер -а може се прочитати обрадом следећег кадра.

Када се примене пикел схадер -и, паралелно се покреће засебна инстанца схадер -а за сваки пиксел у текстури.

Ова функција значајно компликује имплементацију и захтева одвојену координацију стања целог емулираног система и поређење положаја обрађеног пиксела са стањем ЦПУ -а или РАМ -а емулираног система кодираног у њему (сваки пиксел може кодирати 128 бита информације).

У овом случају, код схадер -а захтева укључивање великог броја провера, да би се поједноставила имплементација које је коришћен перл предпроцесор перлпп.

За оне који јесу занимају спецификације помиње се да:

  • код је на ГитХуб -у
  • 64 МиБ РАМ -а минус стање процесора ускладиштено је у текстури целог броја 2048 × 2048 пиксела (128 бпп)
  • Унити прилагођена текстура рендера са заменом бафера омогућава кодирање / декодирање стања између оквира
  • за емулацију се користи сензор пиксела јер ВРЦхат не подржава рачунарске и УАВ сенке

Коначно ако сте заинтересовани да сазнате више о томе, можете проверити детаље У следећем линку.


Будите први који ће коментарисати

Оставите свој коментар

Ваша емаил адреса неће бити објављена. Обавезна поља су означена са *

*

*

  1. За податке одговоран: Мигуел Ангел Гатон
  2. Сврха података: Контрола нежељене поште, управљање коментарима.
  3. Легитимација: Ваш пристанак
  4. Комуникација података: Подаци се неће преносити трећим лицима, осим по законској обавези.
  5. Похрана података: База података коју хостује Оццентус Нетворкс (ЕУ)
  6. Права: У било ком тренутку можете ограничити, опоравити и избрисати своје податке.