Дизайнер | Дамьян Лампрет, при участии членов сообщества OpenRISC |
---|---|
Биты | 32-бит , 64-бит |
Введено | 2000 |
Дизайн | RISC |
Кодирование | Фиксированный |
Порядок байтов | Большой; нереализованная заглушка для Little |
Открыть | Да, и без лицензионных отчислений |
Регистры | |
Общее назначение | 16 или 32 |
Плавающая точка | Необязательный |
OpenRISC - это проект по разработке серии аппаратных центральных процессоров (ЦП) с открытым исходным кодом на основе установленных принципов компьютера с сокращенным набором команд (RISC). Он включает архитектуру набора инструкций (ISA) с использованием лицензии с открытым исходным кодом . Это оригинальный флагманский проект сообщества OpenCores .
Первое (и только на 2019 год [Обновить]) описание архитектуры относится к OpenRISC 1000, описывая семейство 32-битных и 64-битных процессоров с дополнительной поддержкой арифметики с плавающей запятой и векторной обработки , [1] и реализацию OpenRISC 1200 этого был разработан Дамьяном Лампретом в 2000 году и написан на языке описания аппаратного обеспечения Verilog (HDL). [2] [3]
Конструкция оборудования была выпущена под Стандартной общественной лицензией ограниченного применения GNU (LGPL), в то время как модели и микропрограммы были выпущены под Стандартной общественной лицензией GNU (GPL).
На основе OpenRISC 1200 была разработана эталонная система на кристалле (SoC), получившая название OpenRISC Reference Platform System-on-Chip (ORPSoC). Несколько групп продемонстрировали ORPSoC и другие конструкции на основе OR1200, работающие на программируемых вентильных матрицах (FPGA) [4] [5], и было выпущено несколько коммерческих производных.
Набор инструкций [ править ]
Набор команд представляет собой достаточно простую архитектуру MIPS, подобную традиционному RISC, использующую архитектуру загрузки-хранения с 3 операндами, с 16 или 32 регистрами общего назначения и фиксированной 32-битной длиной команды. Набор команд в 32- и 64-битной версиях спецификации в основном идентичен, основное различие заключается в ширине регистра (32 или 64 бита) и разметке таблицы страниц. Спецификация OpenRISC включает все функции, общие для современных настольных и серверных процессоров: режим супервизора и систему виртуальной памяти, дополнительное управление чтением, записью и выполнением для страниц памяти, а также инструкции для синхронизации и обработки прерываний между несколькими процессорами.
Еще одна примечательная особенность - это богатый набор инструкций, состоящих из одной инструкции и нескольких данных ( SIMD ), предназначенных для цифровой обработки сигналов .
Реализации [ править ]
Большинство реализаций основаны на программируемых вентильных массивах (FPGA), что дает возможность повторять дизайн за счет производительности.
К 2018 году OpenRISC 1000 считался стабильным, поэтому ORSoC (владелец OpenCores) начал краудфандинговый проект по созданию экономичной специализированной интегральной схемы (ASIC) для повышения производительности. ORSoC столкнулся с критикой этого со стороны сообщества. [ необходима цитата ] Проект не достиг цели.
По состоянию на февраль 2021 [Обновить]года 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). [6] Сообщается, что Allwinner Technology использует ядро OpenRISC в своем контроллере питания AR100, который является частью SoC на базе A31 ARM. [7]
Cadence Design Systems начали использовать OpenRISC в качестве эталонной архитектуры для документирования потоков цепочки инструментов (например, эталонного потока UVM, который теперь вносится в Accellera ). [8]
TechEdSat , первый компьютер под управлением Linux на базе архитектуры NASA OpenRISC, выпущенный в июле 2012 года и развернутый в октябре 2012 года на Международной космической станции с оборудованием, предоставленным, построенным и протестированным ÅAC Microtec и ÅAC Microtec North America. [9] [10] [11]
Академическое и некоммерческое использование [ править ]
OpenRISC с открытым исходным кодом пользуется популярностью в академических кругах и кругах любителей. Например, Стефан Валлентовиц [12] и его команда из Института интегрированных систем Технического университета Мюнхена использовали OpenRISC в исследованиях архитектур многоядерных процессоров . [13] Группа пользователей оборудования с открытым исходным кодом ( OSHUG ) в Великобритании дважды [14] [15] запускала сеансы на OpenRISC, а любитель Свен-Оке Андерссон написал подробный блог об OpenRISC для начинающих, [16] который привлекла внимание Electronic Engineering Times ( EE Times ).[17] Себастьян Маке реализовал jor1k, эмулятор OpenRISC 1000 на JavaScript , работающий под управлением Linux с поддержкой X Window System и Wayland . [18]
Поддержка Toolchain [ править ]
Сообщество OpenRISC перенесло набор инструментов GNU на OpenRISC для поддержки разработки на языках программирования C и C ++ . С помощью этой инструментальной цепочки библиотеки newlib , uClibc , musl ( начиная с версии 1.1.4) и glibc были перенесены на процессор. Dynalith предоставляет OpenIDEA, графическую интегрированную среду разработки (IDE), основанную на этой инструментальной цепочке. Проект по переносу LLVM на архитектуру OpenRISC 1000 начался в начале 2012 года [19].
GCC 9 выпущен с поддержкой OpenRISC. [1]
Проект OR1K предоставляет имитатор набора команд , or1ksim. Флагманская реализация, OR1200, представляет собой модель уровня передачи регистров (RTL) в Verilog HDL, из которой в ORPSoC может быть построена модель с точностью до цикла на основе SystemC . Высокоскоростная модель OpenRISC 1200 также доступна в рамках инициативы Open Virtual Platforms (OVP) (см. OVPsim ), созданной Imperas.
Поддержка операционной системы [ править ]
Поддержка Linux [ править ]
Основное ядро Linux получило поддержку OpenRISC в версии 3.1. [20] В этом выпуске объединена реализация 32-битного семейства OpenRISC 1000 (or1k). [21] Ранее архитектура OpenRISC 1000 была заменена основным портом.
Поддержка RTOS [ править ]
Несколько операционных систем реального времени (RTOS) были перенесены на OpenRISC, включая RTEMS , FreeRTOS и eCos .
Поддержка QEMU [ править ]
Начиная с версии 1.2 QEMU поддерживает эмуляцию платформ OpenRISC. [22]
См. Также [ править ]
- Янтарный (ядро процессора) - ARM-совместимый проект OpenCores
- Кремниевый фонд с открытым исходным кодом
- OpenRISC 1200
- OVPsim , Открытые виртуальные платформы
- OpenSPARC
- ЛЕОН
- Решетка
- RISC-V
Ссылки [ править ]
- ^ Лампрет, Дамьян; и другие. (2012-12-05). «Руководство по архитектуре OpenRISC 1000, версия архитектуры 1.0, редакция документа 0» (PDF) . OpenCores . Проверено 24 марта 2019 .
- ^ Кларк, Питер (2000-02-28). «Бесплатное 32-битное ядро процессора попадает в Сеть» . Electronic Engineering Times ( EE Times ) . Сан-Франциско , Калифорния, США: AspenCore Media . Проверено 21 марта 2019 .
- ^ Кларк, Питер (2000-02-28). «Бесплатное 32-битное ядро процессора попадает в Интернет» . Electronic Engineering Times ( EE Times ) . AspenCore Media . Проверено 21 марта 2019 - через Damjan Lampret.
- ^ Pelgrims, Патрик; Тиренс, Том; Дриссенс, Дрис (2004). «Учебное пособие по базовому пользовательскому оборудованию системы OpenRISC: проектирование встроенных систем на основе программных и аппаратных FPGA» (PDF) . De Nayer Instituut . 1.0. Архивировано из оригинального (PDF) 27 ноября 2006 года . Проверено 3 марта 2009 .
- ^ Ли, Сян; Цзо, Линь. Встроенная платформа с открытым исходным кодом на основе OpenRISC и DE2-70 (Masters). KTH Королевский технологический институт (KTH), Швеция. Архивировано из оригинала на 2011-10-06., Программа SoC
- ^ Центр выпусков с открытым исходным кодом Samsung , перейдите по ссылкам → ТВ и ВИДЕО → ТВ → DTV → ETC → OR1200.zip
- ^ Вики-страница сообщества проекта Linux-sunxi о контроллере AR100 . Проверено 20 июля 2013 г.
- ^ UVM Reference Flow , веб-сайт Accellera (без даты).
- ^ Сообщения для openrisc списков рассылки в lists.openrisc.net 8 апреля 2012 года Фредрик Брун, генеральным директором газобетон Микротек
- ^ «Шведский прорыв в космос на спутнике НАСА с электроникой от ÅAC Microtec» . ÅAC Microtec (пресс-релиз). 2012-10-11. Архивировано из оригинала на 2014-01-18 . Проверено 17 марта 2018 .
- ^ "Svenskt genombrott i rymden på NASA-satellit med elektronik from ÅAC Microtec" [Шведский прорыв в космосе на спутнике НАСА с электроникой от ÅAC Microtec] (пресс-релиз) (на шведском языке). 2012-10-11 . Проверено 16 марта 2018 г. - через Mynewsdesk .[ мертвая ссылка ] Альтернативный URL
- ^ "Дипломированный инженер Дипломированный инженер Вирт Стефан Валлентовиц" . 2009–2013 гг. Архивировано из оригинала на 2013-04-13.
- ^ Валлентовиц, Стефан; Уайлд, Томас; Херкерсдорф, Андреас. «Совместная оптимизация многоядерной архитектуры и программной модели (MAPCO)» (PDF) (исследовательский плакат на Шестой Международной летней школе по передовой компьютерной архитектуре и компиляции для высокопроизводительных и встроенных систем (ACACES), 11-17 июля 2010 г.). Террасса (Барселона), Испания. Архивировано из оригинального (PDF) 10 февраля 2013 года . Проверено 29 октября 2018 .
- ^ Чипы (программируемая логика, компьютерное сохранение с FPGA, OpenCores и OpenRISC 1000) . Встреча OSHUG № 9, Skills Matter, 116-120 Goswell Road, Лондон, 21 апреля 2011 г.
- ^ Практическая система на кристалле (запрограммируйте свою собственную SoC FPGA с открытым исходным кодом) . Встреча OSHUG № 17, Центр творческого сотрудничества, 16 Актон-стрит, Лондон, 29 марта 2012 г.
- ^ Программный процессор OpenRISC 1200. Архивировано 13 мая 2012 г. на Wayback Machine . Сообщение в блоге Свена-Оке Андерссона, 2 марта 2012 г.
- ^ Максфилд, Клайв (2012-05-03). «Сравнение четырех 32-битных программных ядер процессора» . Electronic Engineering Times ( EE Times ) . Сан-Франциско , Калифорния, США: AspenCore Media . Проверено 21 марта 2019 .
- ^ Эмулятор OpenRISC в JavaScript может запускать Wayland
- ^ "llvm-or1k" . GitHub . 2018-04-06 . Проверено 21 марта 2019 .
- ^ "git.kernel.org - linux / kernel / git / torvalds / linux-2.6.git / tree - arch / openrisc /" . git.kernel.org. Архивировано из оригинала на 2012-07-08 . Проверено 17 октября 2011 .
- ^ «Linux 3.1» . Ядро новичков . Проверено 17 октября 2011 .
- ^ История изменений QEMU 1.2
Внешние ссылки [ править ]
- Официальный веб-сайт
- Лицензирование полупроводниковых ядер с открытым исходным кодом , 25 Harvard Journal of Law & Technology 131 (2011) Статья с анализом законодательства, технологий и бизнеса полупроводниковых ядер с открытым исходным кодом
- Beyond Semiconductor - коммерческая компания по производству полупроводников, основанная разработчиками OpenRISC.
- Сайт компании Dynalith Systems .
- Сайт компании Imperas .
- Сайт компании Flex
- Сайт компании Jennic
- Статья Eetimes
- Учебник OpenRISC
- jor1k Эмулятор OpenRISC 1000 на JavaScript