OpenRISC - OpenRISC
Дизайнер | Дамьян Лампрет при участии OpenRISC сообщество члены |
---|---|
Биты | 32-битный, 64-битный |
Введено | 2000 |
Дизайн | RISC |
Кодирование | Фиксированный |
Порядок байтов | Большой; нереализованная заглушка для Little |
Открыть | Да, и без лицензионных отчислений |
Регистры | |
Общее назначение | 16 или 32 |
Плавающая точка | Необязательный |
OpenRISC это проект по разработке серии оборудование с открытым исходным кодом основан центральные процессоры (CPU) на установленном компьютер с сокращенным набором команд (RISC) принципы. Он включает архитектура набора команд (ISA) с использованием лицензия с открытым исходным кодом. Это оригинальный флагманский проект OpenCores сообщество.
Первый (а по состоянию на 2019 г.[Обновить] только) архитектурное описание предназначено для OpenRISC 1000, описывая семейство 32-битный и 64-битный процессоры с дополнительными арифметика с плавающей запятой и векторная обработка поддерживать,[1] и OpenRISC 1200 реализация этого была разработана Дамьяном Лампретом в 2000 году, написана в Verilog язык описания оборудования (HDL).[2][3]
Аппаратный дизайн выпущен под Стандартная общественная лицензия ограниченного применения GNU (LGPL), а модели и прошивки были выпущены под Стандартная общественная лицензия GNU (GPL).
Ссылка система на чипе (SoC) была разработана реализация на базе OpenRISC 1200, получившая название Эталонная платформа OpenRISC System-on-Chip (ORPSoC). Несколько групп продемонстрировали ORPSoC и другие конструкции на основе OR1200, работающие на программируемые вентильные матрицы (ПЛИС),[4][5] и было произведено несколько коммерческих производных.
Набор инструкций
Набор инструкций достаточно простой Архитектура MIPS -подобно традиционному RISC, использующему архитектуру загрузки-хранения с 3 операндами, с 16 или 32 регистрами общего назначения и фиксированной 32-битной длиной инструкции. Набор команд в 32- и 64-битных версиях спецификации в основном идентичен, основное различие заключается в ширине регистра (32 или 64 бита) и макете таблицы страниц. Спецификация OpenRISC включает в себя все функции, общие для современных настольных и серверных процессоров: режим супервизора и систему виртуальной памяти, дополнительное управление чтением, записью и выполнением страниц памяти, а также инструкции для синхронизации и обработки прерываний между несколькими процессорами.
Еще одна примечательная особенность - богатый набор одна инструкция, несколько данных (SIMD ) инструкции, предназначенные для цифровая обработка сигналов.
Реализации
Большинство реализаций на программируемые вентильные матрицы (ПЛИС), которые дают возможность повторять дизайн за счет производительности.
К 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).[6] Сообщается, что Allwinner Technology использует ядро OpenRISC в своем контроллере питания AR100, который является частью SoC на базе A31 ARM.[7]
Системы дизайна Cadence начали использовать OpenRISC в качестве эталонной архитектуры при документировании потоков цепочки инструментов (например, эталонный поток UVM, теперь внесенный в Accellera ).[8]
TechEdSat, первый НАСА Компьютер под управлением Linux на базе архитектуры OpenRISC был выпущен в июле 2012 года и в октябре 2012 года был развернут на Международной космической станции с аппаратным обеспечением, предоставленным, построенным и протестированным ÅAC Microtec и ÅAC Microtec North America.[9][10][11]
Академическое и некоммерческое использование
OpenRISC с открытым исходным кодом оказался популярным в академических кругах и кругах любителей. Например, Стефан Валлентовиц[12] и его команда в Институте интегрированных систем на Technische Universität München использовали 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, мусл (начиная с версии 1.1.4), и glibc библиотеки были перенесены на процессор. Dynalith предоставляет OpenIDEA, графический интегрированная среда развития (IDE) на основе этой инструментальной цепочки. Проект на портирование LLVM к архитектуре OpenRISC 1000 началось в начале 2012 года.[19]
GCC 9 выпущен с поддержкой OpenRISC. [1]
Проект OR1K обеспечивает симулятор набора команд, ор1ксим. Флагманская реализация OR1200 - это уровень регистрации-передачи (RTL) в Verilog HDL, из которой SystemC основанная на циклической точности модель может быть построена в ORPSoC. Высокоскоростная модель 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. Получено 2019-03-24.
- ^ Кларк, Питер (2000-02-28). «Бесплатное 32-битное ядро процессора попало в Сеть». Electronic Engineering Times (EE Times ). Сан-Франциско, Калифорния, США: AspenCore Media. Получено 2019-03-21.
- ^ Кларк, Питер (2000-02-28). «Бесплатное 32-битное ядро процессора появилось в Интернете». Electronic Engineering Times (EE Times ). AspenCore Media. Получено 2019-03-21 - через Дамжана Лампрета.
- ^ Пелгримс, Патрик; Тиренс, Том; Дриссенс, Дрис (2004). «Учебное пособие по базовому пользовательскому оборудованию системы OpenRISC: проектирование встроенных систем на основе программных и аппаратных ПЛИС» (PDF). De Nayer Instituut. 1.0. Архивировано из оригинал (PDF) на 2006-11-27. Получено 2009-03-03.
- ^ Ли, Сян; Цзо, Линь. Встроенная платформа с открытым исходным кодом на основе OpenRISC и DE2-70 (Мастера). Королевский технологический институт KTH (KTH), Швеция. Архивировано из оригинал на 2011-10-06., Программа SoC
- ^ Центр выпусков с открытым исходным кодом Samsung перейдите по ссылкам → ТВ и ВИДЕО → ТВ → DTV → ETC → OR1200.zip
- ^ Вики-страница сообщества проекта Linux-sunxi на Контроллер AR100. Проверено 20 июля 2013 г.
- ^ Эталонный поток UVM, Сайт Accellera (без даты).
- ^ Разместите в списках рассылки openrisc на lists.openrisc.net 8 апреля 2012 г. Фредрик Брюн, генеральный директор ÅAC Microtec.
- ^ «Шведский прорыв в космос на спутнике НАСА с электроникой от ÅAC Microtec». ÅAC Microtec (Пресс-релиз). 2012-10-11. Архивировано из оригинал на 2014-01-18. Получено 2018-03-17.
- ^ "Svenskt genombrott i rymden på NASA-satellit med elektronik from ÅAC Microtec" [Шведский прорыв в космос на спутнике НАСА с электроникой от ÅAC Microtec] (пресс-релиз) (на шведском языке). 2012-10-11. Получено 2018-03-16 - через Mynewsdesk.[мертвая ссылка ] Альтернативный URL
- ^ "Дипломированный инженер Дипломированный инженер Штефан Валлентовиц". 2009–2013 гг. Архивировано из оригинал 13 апреля 2013 г.
- ^ Валлентовиц, Стефан; Уайлд, Томас; Херкерсдорф, Андреас. «Совместная оптимизация многоядерной архитектуры и модели программирования (MAPCO)» (PDF) (Исследовательский плакат Шестой Международной летней школы по передовой компьютерной архитектуре и компиляции для высокопроизводительных и встроенных систем (ACACES), 11-17 июля 2010 г.). Террасса (Барселона), Испания. Архивировано из оригинал (PDF) 10 февраля 2013 г.. Получено 2018-10-29.
- ^ Чипы (программируемая логика, сохранение компьютера с помощью FPGA, OpenCores и OpenRISC 1000). Встреча OSHUG № 9, Skills Matter, 116-120 Goswell Road, Лондон, 21 апреля 2011 г.
- ^ Практическая система на кристалле (программирование собственной SoC FPGA с открытым исходным кодом). Встреча OSHUG № 17, Центр творческого сотрудничества, 16 Актон-стрит, Лондон, 29 марта 2012 г.
- ^ Программный процессор OpenRISC 1200 В архиве 2012-05-13 в Wayback Machine. Сообщение в блоге Свена-Оке Андерссона, 2 марта 2012 г.
- ^ Максфилд, Клайв (2012-05-03). «Сравнение четырех 32-битных программных ядер процессора». Electronic Engineering Times (EE Times ). Сан-Франциско, Калифорния, США: AspenCore Media. Получено 2019-03-21.
- ^ Эмулятор OpenRISC на JavaScript может запускать Wayland
- ^ "llvm-or1k". GitHub. 2018-04-06. Получено 2019-03-21.
- ^ "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». Новички в ядре. Получено 2011-10-17.
- ^ Журнал изменений QEMU 1.2
внешняя ссылка
- Официальный веб-сайт
- Лицензирование ядра полупроводников с открытым исходным кодом, 25 Harvard Journal of Law & Technology 131 (2011) Статья с анализом закона, технологий и бизнеса полупроводниковых ядер с открытым исходным кодом
- Помимо полупроводников коммерческий полупроводниковая компания fabless основан разработчиками OpenRISC
- Системы Диналит вебсайт компании.
- Imperas вебсайт компании.
- Flex вебсайт компании
- Jennic вебсайт компании
- Статья Eetimes
- Учебник OpenRISC
- jor1k Эмулятор OpenRISC 1000 на JavaScript