OpenRISC

редактировать
OpenRISC
DesignerДамьян Лампрет, с участием сообщества OpenRISC участников
Bits32 -бит, 64-bit
введено2000; 20 лет назад (2000)
Дизайн RISC
Кодирование Фиксированное
Порядок байтов Большой; нереализованная заглушка для Little
OpenДа, без лицензионных отчислений
Регистры
общего назначения 16 или 32
Плавающая точка Необязательно

OpenRISC представляет собой проект по разработке серии аппаратного обеспечения с открытым исходным кодом на основе центральных процессоров (ЦП) на установленных принципах компьютера с сокращенным набором команд (RISC). Он включает архитектуру набора команд (ISA) с использованием лицензии с открытым исходным кодом. Это оригинальный флагманский проект сообщества OpenCores .

Первое (и только на 2019 год) описание архитектуры для OpenRISC 1000, описывающее семейство 32-битных и 64-битные процессоры с дополнительной поддержкой арифметики с плавающей запятой и векторной обработки, а реализация этого OpenRISC 1200 была разработан Дамьяном Лампретом в 2000 году, написан на Verilog языке описания оборудования (HDL).

Аппаратный дизайн был выпущен в рамках GNU Lesser General Public Лицензия (LGPL), в то время как модели и встроенное ПО были выпущены под Стандартной общественной лицензией GNU (GPL).

Была разработана эталонная система на чипе (SoC), основанная на OpenRISC 1200, названная OpenRISC Reference Platform System-on-Chip (ORPSoC). Несколько групп продемонстрировали ORPSoC и другие конструкции на основе OR1200, работающие на программируемых вентильных массивах (FPGA), и было выпущено несколько коммерческих производных.

Содержание
  • 1 Набор команд
  • 2 Реализации
    • 2.1 Коммерческие реализации
    • 2.2 Академическое и некоммерческое использование
  • 3 Поддержка Toolchain
  • 4 Поддержка операционной системы
    • 4.1 Поддержка Linux
    • 4.2 Поддержка RTOS
  • 5 Поддержка QEMU
  • 6 См. Также
  • 7 Ссылки
  • 8 Внешние ссылки
Набор команд

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

Еще одна примечательная особенность - это богатый набор инструкций с одной инструкцией и несколькими данными (SIMD ), предназначенных для обработки цифрового сигнала.

Реализации
OpenRISC, прототипы на Плата разработки Flextronics (Flex) FPGA, работающая под управлением uClinux

Большинство реализаций основаны на программируемых вентильных массивах (FPGA), что дает возможность повторять дизайн за счет производительности.

К 2018 году OpenRISC 1000 считался стабильным, поэтому ORSoC (владелец OpenCores) начал проект краудфандинга для создания экономичной интегральной схемы для конкретного приложения (ASIC) для повышения производительности. ORSoC столкнулся с критикой этого со стороны сообщества. Проект не достиг цели.

По состоянию на июль 2020 года ASIC с открытым исходным кодом не производились.

Коммерческие реализации

Несколько коммерческих организаций разработали производные от архитектуры OpenRISC 1000, включая ORC32-1208 от ORSoC и BA12, BA14 и BA22 от Beyond Semiconductor. Dynalith Systems предоставляет макетную плату iNCITE FPGA, которая может работать как с OpenRISC 1000, так и с BA12. Flextronics (Flex) и Jennic Limited изготовили OpenRISC как часть специализированной интегральной схемы (ASIC). Samsung использует OpenRISC 1000 в своей системе DTV на кристаллах (SDP83 B-Series, SDP92 C-Series, SDP1001 / SDP1002 D-Series, SDP1103 / SDP1106 E-Series). Сообщается, что Allwinner Technology использует ядро ​​OpenRISC в своем контроллере питания AR100, который является частью SoC на базе A31 ARM.

Cadence Design Systems начали использовать OpenRISC в качестве эталонной архитектуры при документировании потоков цепочки инструментов (для Например, эталонный поток UVM, теперь внесенный в Accellera ).

TechEdSat, первый компьютер Linux на базе архитектуры NASA OpenRISC, запущенный в июле 2012 года и развернутый в октябре 2012 года в Международном космическом пространстве. Станция с аппаратным обеспечением, предоставленным, построенным и протестированным ÅAC Microtec и ÅAC Microtec North America.

Академическое и некоммерческое использование

OpenRISC с открытым исходным кодом оказался популярным в академических кругах и кругах любителей. Например, Стефан Валлентовиц и его команда из Института интегрированных систем Технического университета Мюнхена использовали OpenRISC в исследованиях архитектуры многоядерных процессоров. Группа пользователей оборудования с открытым исходным кодом () в Великобритании дважды проводить сессии на OpenRISC, в то время как любитель Свен-Оке Андерссон написал подробный блог об OpenRISC для новичков, который вызвал интерес Electronic Engineering Times (EE Times ). Себастьян Маке реализовал jor1k, эмулятор OpenRISC 1000 в JavaScript, под управлением Linux с поддержкой X Window System и Wayland.

Поддержка Toolchain

Сообщество OpenRISC портировало GNU toolchain на OpenRISC для поддержки разработки на языках программирования C и C ++. Используя эту инструментальную цепочку, библиотеки newlib, uClibc, musl (начиная с версии 1.1.4) и glibc были перенесены в процессор. Dynalith предоставляет OpenIDEA, графическую интегрированную среду разработки (IDE), основанную на этой инструментальной цепочке. Проект по переносу LLVM на архитектуру OpenRISC 1000 начался в начале 2012 года.

GCC 9 выпущен с поддержкой OpenRISC. [1]

Проект OR1K предоставляет имитатор набора команд или 1ksim. Флагманская реализация, OR1200, представляет собой модель уровня передачи регистров (RTL) в Verilog HDL, из которой в ORPSoC может быть построена модель с точностью до цикла на основе SystemC. Высокоскоростная модель OpenRISC 1200 также доступна в рамках инициативы Open Virtual Platforms (OVP) (см. OVPsim ), созданной Imperas.

Поддержка операционной системы

Поддержка Linux

Основное ядро ​​Linux получило поддержку OpenRISC в версии 3.1. Реализация, объединенная в этом выпуске, представляет собой 32-битное семейство OpenRISC 1000 (or1k). Ранее архитектура OpenRISC 1000 была заменена основным портом.

Поддержка RTOS

Несколько операционных систем реального времени (RTOS) были перенесены на OpenRISC, включая RTEMS, FreeRTOS и eCos.

Поддержка QEMU

Начиная с версии 1.2, QEMU поддерживает эмуляцию платформ OpenRISC.

См. также
  • Бесплатно и с открытым исходным кодом программный портал
Ссылки
Внешние ссылки
Последняя правка сделана 2021-06-01 12:37:50
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте