OpenRISC
OpenRISC је пројекат за развој низа централних процесорских јединица заснованих на хардверу отвореног кода на успостављеним принципима рачунара са смањеним скупом инструкција ( eng. RISC). Укључује архитектуру скупа инструкција која користи лиценцу отвореног кода ("open-source" лиценца). То је оригинални водећи пројекат заједнице OpenCores . Први (и од 2019 једини) архитектонски опис је за OpenRISC 1000 ("OR1k"), који описује породицу 32-битних и 64-битних процесора са опционалном подршком за аритметику са покретним зарезом и подршком за векторску обраду. [5] Имплементацију ове спецификације дизајнирао је Дамјан Лампрет 2000. године, написану на језику за опис хардвера Верилог. Каснију mor1kx имплементацију,[6] која има неке предности у поређењу са OR 1200,[7] дизајнирао је Јулиус Бактер, а такође је написана у Верилогу. Поред тога постоје софтверски симулатори,[8] који примењују OR1k спецификацију. Дизајн хардвера објављен је под GNU Lesser General Public License (LGPL), односно Open Hardware Design License (OHDL) лиценцом, док су модели и фирмвер објављени под ГНУ-овом општом јавном лиценцом. Развијен је референтни систем на чипу (енгл. system on a chip, SoC) имплементиран на основу OpenRISC 1200, назван OpenRISC Reference Platform System-on-Chip (ORPSoC). Неколико група је демонстрирало ORPSoC и друге дизајне засноване на OR1200-у који раде на FPGA-овима, [9][10] а произведено је неколико комерцијалних деривата. Каснији SoC дизајни, такође засновани на имплементацији процесора OpenRisc 1000 CPU, су FuseSoC, minSoC, OpTiMSoC and MiSoC. [11] УпутстваСкуп инструкција је разумљиво једноставанa MIPS архитектура (енгл. Microprocessor without Interlocked Pipelined Stages) - налик традиционалном RISC-у који користи 3-операндну архитектуру складишта терета, са 16 или 32 регистра опште намене и фиксном дужином инструкције од 32 бита. Скуп инструкција је углавном идентичан између 32-битние и 64-битие верзије спецификације, главна разлика је ширина регистра (32 или 64 бита) и изглед табеле страница. Спецификација OpenRISC-a укључује све карактеристике заједничке за савремене десктоп процесоре и серверске процесоре: режим надзора и систем виртуелне меморије, опциону контролу читања, писања и извршавања за меморијске странице и упутства за синхронизацију и руковање прекидима између више процесора. Још једна значајна карактеристика јесте богат скуп појединачних инструкција, више података (енгл. SIMD) упутстава намењених дигиталној обради сигнала . Имплементације![]() Већина имплементација је на FPGA-у, што даје могућност итерације дизајна по цени перформанси. До 2018. године је OpenRISC 1000 се сматрао стабилним, тако да је ORSoC (власник OpenCores-а) почео групно финансирани (енг. crowdfunding) пројекат за изградњу економичног интегрисаног кола специфичне намене или ASIC ( od енгл. Application-specific integrated circuit) ради побољшања перформанси. ORSoC се због тога суочио са критикама из заједнице. Пројекат није постигао циљ. Комерцијалне имплементацијеНеколико комерцијалних организација развило је деривате архитектуре OpenRISC 1000-а, укључујући ORC32-1208 ORSoC-а и BA12, BA14 и BA22 Beyond Semiconductor-а. Dynalith Systems нуди iNCITE FPGA прототипску плочу, која може покретати OpenRISC 1000 и BA12. Флектроникс (енг. Flextronics) и Jennic Limited су произвели OpenRISC као део интегрисаног кола специфичног специфичне намене (ASIC). Самсунг (енг. Samsung) користи OpenRISC 1000 у својим DTV системима на чиповима (SDP83 B-Series, SDP92 C-Series, SDP1001/SDP1002 D-Series, SDP1103/SDP1106 E-Series). [12] Извештено је да Аллвиннер Тецхнологи (енг. Allwinner Technology) користи OpenRISC језгро у свом AR100 контролеру напајања, који чини део SoC-а заснованог на A31 ARM-у. [13] Cadence Design Systems су почели да користе OpenRISC као референтну архитектуру у документовању токова ланаца алата (на пример, UVM референтни ток, који је сада допринео Accellera-и ).[14] TechEdSat, прва НАСА OpenRISC архитектура заснованa на Линукс рачунару, лансиран је у јулу 2012. године, а искоришћен у октобру 2012. године на Међународној свемирској станици са хардвером који су обезбедили, изградили и тестирали ÅAC Microtec и ÅAC Microtec North America. [15] [16] [17] Академска и некомерцијална употребаКао отворени извор, OpenRISC се показао популарним у академским и хобистичким круговима. На пример, Стефан Валлентовитз [18] и његов тим са Института за интегрисане системе на техничком универзитету у Минхену (нем. Technische Universität München) су користили OpenRISC у истраживању вишејезгрених процесорских архитектура. [19] Корисничка група хардвера отвореног кода у Великој Британији је у два наврата [20] [21] водила сесије на OpenRISC-у, док је хобиста Sven-Åke Andersson написао свеобухватан блог о OpenRISC-у за почетнике [22] који је привукао интересовање. часописа Electronic Engineering Times (EE Times). [23] Себастиан Мацке (Sebastian Macke) је имплементирао jor1k, OpenRISC 1000 емулатор у Џаваскрипт-у (енгл. JavaScript), покрећући Линукс са X Window System-ом и Вејланд подршком. [24] Подршка ланца алатаOpenRISC заједница пренела је ГНУ ланац алата на OpenRISC да би подржала развој у програмским језицима C и C++ . Коришћењем овог ланца алата, њјулиб (енгл. newlib), uClibc, musl (од верзије 1.1.4) и гну ц библиотеке су пренете на процесор. Dynalith нуди OpenIDEA, графичко интегрисано развојно окружење (енгл. IDE) засновано на овом ланцу алата. Пројекат преноса ВМНР-а на архитектуру OpenRISC 1000 започео је почетком 2012.[25] GCC 9 је објављен уз подршку OpenRISC.[26] Пројекат OR1K пружа симулатор скупа инструкција, or1ksim. Водећа имплементација OR1200, је модел нива регистрације-преноса (енгл. register-transfer level) у Верилог ХДЛ-у, од којих је циклусно тачан модел базиран на СистемЦ-у (енгл. SystemC) може бити уграђен у ORPSoC. Модел велике брзине OpenRISC 1200 је такође доступан путем Open Virtual Platforms (погледати OVPsim) иницијативе, која је постављена од стране Imperas-а. Подршка за оперативни системЛинукс подршкаГлавно језгро Линукса стекло је подршку за OpenRISC у верзији 3.1.[27] Имплементација спојена у овом издању је 32-битна породица OpenRISC-а 1000 (or1k). [28] Подршка за RTOSНеколико real-time оперативних система је пренето на OpenRISC, укључујући RTEMS, FreeRTOS и eCos . Подршка за QEMUОд верзије 1.2, QEMU подржава емулацију OpenRISC платформи. [29] Види још
Референце
Спољашње везе
|
Portal di Ensiklopedia Dunia