OpenRISC је пројекат за развој низа централних процесорских јединица заснованих на хардверу отвореног кода на успостављеним принципима рачунара са смањеним скупом инструкција ( eng. RISC). Укључује архитектуру скупа инструкција која користи лиценцу отвореног кода ("open-source" лиценца). То је оригинални водећи пројекат заједнице OpenCores .

Први (и од 2019 једини) архитектонски опис је за OpenRISC 1000 ("OR1k"), који описује породицу 32-битних и 64-битних процесора са опционалном подршком за аритметику са покретним зарезом и подршком за векторску обраду. Имплементацију ове спецификације дизајнирао је Дамјан Лампрет 2000. године, написану на језику за опис хардвера Верилог.

Каснију mor1kx имплементацију,mor1kx која има неке предности у поређењу са OR 1200, дизајнирао је Јулиус Бактер, а такође је написана у Верилогу.

Поред тога постоје софтверски симулатори, који примењују OR1k спецификацију.

Дизајн хардвера објављен је под GNU Lesser General Public License (LGPL), односно Open Hardware Design License (OHDL) лиценцом, док су модели и фирмвер објављени под ГНУ-овом општом јавном лиценцом.

Развијен је референтни систем на чипу () имплементиран на основу OpenRISC 1200, назван OpenRISC Reference Platform System-on-Chip (ORPSoC). Неколико група је демонстрирало ORPSoC и друге дизајне засноване на OR1200-у који раде на FPGA-овима, а произведено је неколико комерцијалних деривата.

Каснији SoC дизајни, такође засновани на имплементацији процесора OpenRisc 1000 CPU, су FuseSoC, minSoC, OpTiMSoC and MiSoC.

Упутства Скуп инструкција је разумљиво једноставанa MIPS архитектура () - налик традиционалном RISC-у који користи 3-операндну архитектуру складишта терета, са 16 или 32 регистра опште намене и фиксном дужином инструкције од 32 бита. Скуп инструкција је углавном идентичан између 32-битние и 64-битие верзије спецификације, главна разлика је ширина регистра (32 или 64 бита) и изглед табеле страница. Спецификација OpenRISC-a укључује све карактеристике заједничке за савремене десктоп процесоре и серверске процесоре: режим надзора и систем виртуелне меморије, опциону контролу читања, писања и извршавања за меморијске странице и упутства за синхронизацију и руковање прекидима између више процесора.

Још једна значајна карактеристика јесте богат скуп појединачних инструкција, више података (енгл. SIMD) упутстава намењених дигиталној обради сигнала .

Имплементације мини| OpenRISC прототип на Flextronics (Flex) FPGA развојни одбор, ради на uClinux Већина имплементација је на 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). Samsung Open Source Release Center, follow the links → TV & VIDEO → TV → DTV → ETC → OR1200.zip Извештено је да Аллвиннер Тецхнологи (енг. Allwinner Technology) користи OpenRISC језгро у свом AR100 контролеру напајања, који чини део SoC-а заснованог на A31 ARM-у. Linux-sunxi project community wiki page on the AR100 controller .

Cadence Design Systems су почели да користе OpenRISC као референтну архитектуру у документовању токова ланаца алата (на пример, UVM референтни ток, који је сада допринео Accellera-и ).UVM Reference Flow , Accellera website (undated).

TechEdSat, прва НАСА OpenRISC архитектура заснованa на Линукс рачунару, лансиран је у јулу 2012. године, а искоришћен у октобру 2012. године на Међународној свемирској станици са хардвером који су обезбедили, изградили и тестирали ÅAC Microtec и ÅAC Microtec North America. Post to the openrisc mailing lists at lists.openrisc.net on 8 April 2012 by Fredrick Bruhn, CEO of ÅAC Microtec

Академска и некомерцијална употреба Као отворени извор, OpenRISC се показао популарним у академским и хобистичким круговима. На пример, Стефан Валлентовитз и његов тим са Института за интегрисане системе на техничком универзитету у Минхену (нем. Technische Universität München) су користили OpenRISC у истраживању вишејезгрених процесорских архитектура. Корисничка група хардвера отвореног кода у Великој Британији је у два наврата Chips (Programmable Logic, Computer Conservation with FPGAs, OpenCores & OpenRISC 1000). Practical System-on-Chip (Program your own open source FPGA SoC). водила сесије на OpenRISC-у, док је хобиста Sven-Åke Andersson написао свеобухватан блог о OpenRISC-у за почетнике OpenRISC 1200 soft processor . који је привукао интересовање. часописа Electronic Engineering Times (EE Times). Себастиан Мацке (Sebastian Macke) је имплементирао jor1k, OpenRISC 1000 емулатор у Џаваскрипт-у (енгл. JavaScript), покрећући Линукс са X Window System-ом и Вејланд подршком. OpenRISC Emulator in JavaScript Can Run Wayland

Подршка ланца алата OpenRISC заједница пренела је ГНУ ланац алата на OpenRISC да би подржала развој у програмским језицима C и C++ . Коришћењем овог ланца алата, њјулиб (енгл. newlib), uClibc, musl (од верзије 1.1.4) и гну ц библиотеке су пренете на процесор. Dynalith нуди OpenIDEA, графичко интегрисано развојно окружење (енгл. IDE) засновано на овом ланцу алата. Пројекат преноса ВМНР-а на архитектуру OpenRISC 1000 започео је почетком 2012.

GCC 9 је објављен уз подршку OpenRISC.GCC 9

Пројекат OR1K пружа симулатор скупа инструкција, or1ksim. Водећа имплементација OR1200, је модел нива регистрације-преноса (енгл. register-transfer level) у Верилог ХДЛ-у, од којих је циклусно тачан модел базиран на СистемЦ-у (енгл. SystemC) може бити уграђен у ORPSoC. Модел велике брзине OpenRISC 1200 је такође доступан путем Open Virtual Platforms (погледати OVPsim) иницијативе, која је постављена од стране Imperas-а.

Подршка за оперативни систем

Линукс подршка Главно језгро Линукса стекло је подршку за OpenRISC у верзији 3.1. Имплементација спојена у овом издању је 32-битна породица OpenRISC-а 1000 (or1k).

Подршка за RTOS Неколико real-time оперативних система је пренето на OpenRISC, укључујући RTEMS, FreeRTOS и eCos .

Подршка за QEMU Од верзије 1.2, QEMU подржава емулацију OpenRISC платформи. QEMU Changelog 1.2

Види још Амбер (процесор) – ARM-Compatible OpenCores Project

Референце

Спољашње везе

Лиценца за полупроводничке језгре отвореног кода, 25 Харвард Јоурнал оф Лав & Тецхнологи 131 (2011) Чланак који анализира закон, технологију и пословање полупроводничких језгара отвореног кода Beyond Semiconductor комерцијална компанија коју су основали програмери OpenRISC-а Веб локација компаније Dynalith System. Веб локација компаније Имперас. Веб локација компаније Флек Веб локација компаније Јеник Еетимес чланак Водич за OpenRISC jor1k ОпенРИСЦ 1000 емулатор у ЈаваСцрипт-у

Категорија:Отворени микропроцесори Категорија:Уграђени микропроцесори