WikiSort.ru - Не сортированное

ПОИСК ПО САЙТУ | о проекте
OpenRISC
Разработчик OpenCores
Разрядность 32, 64
Архитектура RISC
Кодирование СК фиксированная (32 бита)
Открытая? Да, LGPL
Регистры
Всего 16 или 32 GPR

OpenRISC — открытый микропроцессор архитектуры RISC с открытым исходным кодом на языке описания аппаратного обеспечения Verilog. Проект создан сообществом OpenCores и распространяется по лицензии GNU LGPL. OpenRISC воплощён аппаратно и успешно производится в виде интегральных микросхем и ПЛИС.

Единственная версия архитектуры, OpenRISC 1000 (or1k), описывает семейство 32- и 64-битных процессоров с опциональными расширениями: поддержкой вычислений над числами с плавающей запятой и поддержкой векторных операций.[1]

Команда разработчиков OpenCores опубликовало первую реализацию, OpenRISC 1200, написанную на языке Verilog. Аппаратная часть проекта имеет лицензию LGPL, модели и прошивки - GPL. Реализация системы-на-кристалле с OpenRISC 1200 называется ORPSoC (OpenRISC Reference Platform System-on-Chip). Работоспособность ORPSoC и других вариантов OR1200 была продемонстрирована на FPGA.[2][3]

На OpenRISC портирован набор инструментов для разработки GNU toolchain, поддерживающий несколько языков программирования, также Linux и μClinux.

OpenRISC поддерживается ядром linux начиная с версии 3.1.

Система команд

Набор инструкций (ORBIS32) представляет собой простой вариант RISC, схожий с MIPS, и использует трехоперандные команды фиксированной длины (32 бита). Работа с памятью возможна только с помощью операций load и store. Доступно 16 или 32 регистров общего назначения. 64-битная и 32-битная версии инструкций во многом схожи, основными различиями являются: увеличение размера регистров до 64 бит и изменение формата таблицы страниц.

Спецификации OpenRISC включают также современные возможности: режим супервизора, виртуальную память, возможность установки прав чтение/изменение/исполнение на каждую страницу памяти, атомарные инструкции, обработку межпроцессорных исключений.

ORFP32X — расширение для работы с числами с плавающей запятой (IEEE-754)

По состоянию на октябрь 2011 года имеются некоторые неоднозначности в спецификации 64-битного режима.

Опционально может реализовываться поддержка SIMD операций.

Реализации

Чаще всего реализуется на FPGA (рекомендуется ПЛИС, содержащая более 40 тыс. 4-LUT).

Участники проекта OpenCores собирались выпустить совместимую с OpenRISC 1000 заказную микросхему (ASIC) для получения большей производительности.[4] В 2011 году был начат сбор денег.[5]

Коммерческие варианты

ORSoC предлагает варианты ORC32-1208, Beyond Semiconductor — BA12, BA14, BA22.

Flextronics International и Jennic Limited использовали OpenRISC ядро как часть собственных ASIC. Samsung использует OpenRISC 1000 в системах-на-кристалле для DTV (SDP83 B-Series, SDP92 C-Series, SDP1001/SDP1002 D-Series, SDP1103/SDP1106 E-Series).[6]

Allwinner Technology использовал OpenRISC в контроллере AR100, который является частью СнК A31 (основной процессор в системе — ARM).[7]

Компания Cadence Design Systems использует OpenRISC в качестве референсной архитектуры в документации (например, для UVM reference flow.[8])

Экспериментальный компьютер наноспутника TechEdSat, созданный в NASA с использованием OpenRISC, в июле 2012 года был запущен на МКС.[9][10]

Научные и некоммерческие применения

Technical University Munich использует OpenRISC в исследованиях многоядерных систем (руководитель - Stefan Wallentowitz).[11]

В 2013 году был представлен проект jor1k - эмулятор OpenRISC 1000, написанный на JavaScript, способный запускать Linux и X Window System либо Wayland.[12]

Средства разработки

Поддерживается GCC для С и C++, библиотекой libc выступает newlib или uClibc. Компания Dynalith предоставляет OpenIDEA, среду разработки. В 2012 году был начат проект по портированию LLVM для OpenRISC 1000[13].

Проект OR1K предоставляет симулятор or1ksim. Основная реализация, OR1200, может использоваться как RTL модель. Существует SystemC модель ORPSoC с потактовой точностью.

Высокоскоростная модель OpenRISC 1200 продается в виде Open Virtual Platforms от компании Imperas.

Операционные системы

Linux

Ядро Linux начиная с версии 3.1.[14] (32-битные процессоры OpenRISC 1000 - or1k).[15]

ОСРВ

RTEMS, FreeRTOS, eCos.

QEMU

QEMU поддерживает архитектуру с версии 1.2 [16].

См. также

Примечания

  1. Damjan Lampret et al., "OpenRISC 1000 Architecture Manual", Rev 1.3, 15 Nov 2007. Текст
  2. Patrick Pelgrims, Tom Tierens and Dries Driessens, "Basic Custom OpenRISC System Hardware Tutorial: Embedded system design based upon Soft- and Hardcore FPGA’s", De Nayer Instituut, Hogeschool voor Wetenschap & Kunst, 2004. Available online アーカイブされたコピー. Проверено 3 марта 2009. Архивировано 27 ноября 2006 года.
  3. Xiang Li and Lin Zuo, "Open source embedded platform based on OpenRISC and DE2-70", Masters dissertation, SoC program, KTH, Sweden. Available online
  4. OpenCores - Call for OpenRISC ASIC donations Архивировано 1 мая 2011 года.
  5. OpenCores donation FAQ
  6. Samsung Open Source Release Center, follow the links → TV & VIDEO → TV → DTV → ETC → OR1200.zip
  7. Linux-sunxi project community wiki page on the AR100 controller. Retrieved on 20 July 2013.
  8. UVM Reference Flow, Accellera website (undated).
  9. Post to the openrisc mailing lists at lists.opencores.org and lists.openrisc.net on 8 April 2012 by Fredrick Bruhn, CEO of ÅAC Microtec
  10. Press release 11 October 2012, ÅAC Microtec AB.
  11. Multicore Architecture and Programming Model Co-Optimization (MAPCO) (недоступная ссылка), Stefan Wallentowitz, Thomas Wild and Andreas Herkersdorf. Research poster at the Sixth International Summer School on Advanced Computer Architecture and Compilation for High-Performance and Embedded Systems (ACACES), Terrassa (Barcelona), Spain, 11–17 July 2010.
  12. OpenRISC Emulator In JavaScript Can Run Wayland
  13. project wiki page Архивировано 14 октября 2013 года.
  14. git.kernel.org - linux/kernel/git/torvalds/linux-2.6.git/tree - arch/openrisc/. git.kernel.org. Проверено 17 октября 2011. (недоступная ссылка)
  15. Linux 3.1. Kernel Newbies. Проверено 17 октября 2011.
  16. QEMU Changelog 1.2

Ссылки

Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".

Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.

Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .




Текст в блоке "Читать" взят с сайта "Википедия" и доступен по лицензии Creative Commons Attribution-ShareAlike; в отдельных случаях могут действовать дополнительные условия.

Другой контент может иметь иную лицензию. Перед использованием материалов сайта WikiSort.ru внимательно изучите правила лицензирования конкретных элементов наполнения сайта.

2019-2024
WikiSort.ru - проект по пересортировке и дополнению контента Википедии