OpenRISC
![]() | Овај чланак можда захтева чишћење и/или прерађивање како би се задовољили стандарди квалитета Википедије. Проблем: форматирање, .... Ако сте у могућности, побољшајте овај чланак. |
Дизајнер | Оригинално Дамјан Лампрет, сада OpenRISC заједница[1] (Stafford Horne etc.) |
---|---|
Битови | 32-bit, 64-bit |
Уведен | 2000. |
Version | 1.3[2] |
Дизајн | RISC |
Encoding | Подешен |
Ендиан | Big endian. Little endian |
Page size | 8 KiB |
Extensions | ORFPX32/64,[3] ORVDX64[4] |
Open | Да (LGPL / GPL), од сада без ауторског хонорара |
Регистри | |
Општа намена | 16 or 32 |
Floating point | Optional |
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]
Види још
[уреди | уреди извор]- Амбер (процесор) – ARM-Compatible OpenCores Project
Референце
[уреди | уреди извор]- ^ OpenRISC Community
- ^ „Published versions”. Приступљено 2021-03-28.
- ^ „Floating point extensions operating on 32-bit/64-bit”. Приступљено 2021-03-28.
- ^ „Vector/DSP extensions (SIMD) operating on 8-, 16-, 32- and 64-bit data”. Приступљено 2021-03-28.
- ^ „Објављене верзије”. OpenRisc.io. Приступљено 2021-04-17.
- ^ mor1kx
- ^ „Vector/DSP extensions (SIMD) operating on 8-, 16-, 32- and 64-bit data.”. OpenRisc.io. Приступљено 2021-04-17.
- ^ „System Simulators”. OpenRisc.io. Приступљено 2021-04-17.
- ^ Pelgrims, Patrick; Tierens, Tom; Driessens, Dries (2004). „Basic Custom OpenRISC System Hardware Tutorial: Embedded system design based upon Soft- and Hardcore FPGAs” (PDF). De Nayer Instituut. Архивирано из оригинала (PDF) 2006-11-27. г. Приступљено 2009-03-03.
- ^ Li, Xiang. Open source embedded platform based on OpenRISC and DE2-70 (Теза). (KTH), Sweden.
- ^ „OpenRisc.io”. Приступљено 2021-04-17.
- ^ Samsung Open Source Release Center, follow the links → TV & VIDEO → TV → DTV → ETC → OR1200.zip
- ^ Linux-sunxi project community wiki page on the AR100 controller Архивирано на веб-сајту Wayback Machine (28. април 2021).
- ^ UVM Reference Flow, Accellera website (undated).
- ^ Post to the openrisc mailing lists at lists.openrisc.net on 8 April 2012 by Fredrick Bruhn, CEO of ÅAC Microtec
- ^ „Swedish breakthrough in space on NASA satellite with electronics from ÅAC Microtec” (Саопштење). 2012-10-11. Архивирано из оригинала 2014-01-18. г. Приступљено 2018-03-17.
- ^ „Svenskt genombrott i rymden på NASA-satellit med elektronik från ÅAC Microtec” [Swedish breakthrough in space on NASA satellite with electronics from ÅAC Microtec] (Саопштење) (на језику: шведски). 2012-10-11. Приступљено 2018-03-16.[мртва веза]
- ^ „Dipl.-Ing. Dipl.-Wirt.-Ing. Stefan Wallentowitz”. 2009—2013. Архивирано из оригинала 2013-04-13. г.
- ^ Wallentowitz, Stefan; Wild, Thomas; Herkersdorf, Andreas. „Multicore Architecture and Programming Model Co-Optimization (MAPCO)” (PDF) (Research poster at the Sixth International Summer School on Advanced Computer Architecture and Compilation for High-Performance and Embedded Systems (ACACES), 11-17 July 2010). Архивирано из оригинала (PDF) 10. 2. 2013. г. Приступљено 2018-10-29.
- ^ Chips (Programmable Logic, Computer Conservation with FPGAs, OpenCores & OpenRISC 1000).
- ^ Practical System-on-Chip (Program your own open source FPGA SoC).
- ^ OpenRISC 1200 soft processor Архивирано 2012-05-13 на сајту Wayback Machine.
- ^ Maxfield, Clive (2012-05-03). „Comparing four 32-bit soft processor cores”. Electronic Engineering Times (EE Times). San Francisco, California, United States: AspenCore Media. Приступљено 2019-03-21.
- ^ OpenRISC Emulator in JavaScript Can Run Wayland
- ^ „llvm-or1k”. GitHub. 2018-04-06. Приступљено 2019-03-21.
- ^ GCC 9
- ^ „git.kernel.org - linux/kernel/git/torvalds/linux-2.6.git/tree - arch/openrisc/”. git.kernel.org. Архивирано из оригинала 2012-07-08. г. Приступљено 2011-10-17.
- ^ „Linux 3.1”. Kernel Newbies. Приступљено 2011-10-17.
- ^ QEMU Changelog 1.2
Спољашње везе
[уреди | уреди извор]- Званични веб-сајт
- Лиценца за полупроводничке језгре отвореног кода, 25 Харвард Јоурнал оф Лав & Тецхнологи 131 (2011) Чланак који анализира закон, технологију и пословање полупроводничких језгара отвореног кода
- Beyond Semiconductor комерцијална компанија коју су основали програмери OpenRISC-а
- Веб локација компаније Dynalith System.
- Веб локација компаније Имперас.
- Веб локација компаније Флек
- Веб локација компаније Јеник
- Еетимес чланак Архивирано на веб-сајту Wayback Machine (17. мај 2008)
- Водич за OpenRISC
- jor1k ОпенРИСЦ 1000 емулатор у ЈаваСцрипт-у