Jump to content

OpenRISC

OpenRISC
Дизайнер Первоначально Дамьян Лампрет, теперь сообщество OpenRISC (Стаффорд Хорн и т. д.)
Биты 32-битная , 64-битная
Представлено 2000 ; 24 года назад ( 2000 )
Версия 1.4 [1]
Дизайн РИСК
Кодирование Зафиксированный
Порядок байтов Большой; нереализованная заглушка для Little
Размер страницы 8 КиБ
Расширения ОРФПХ32/64, [2] ORVDX64 [3]
Открыть Да (LGPL/GPL), следовательно, лицензионные отчисления отсутствуют.
Регистры
общего назначения 16 или 32
Плавающая точка Необязательный

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

Первый (а по состоянию на 2019 г. только) описание архитектуры предназначено для OpenRISC 1000 («OR1k») и описывает семейство 32-битных и 64-битных процессоров с дополнительной поддержкой арифметики с плавающей запятой и векторной обработки . [4] Реализация этой спецификации в OpenRISC 1200 была разработана Дамьяном Лампретом в 2000 году и написана на Verilog языке описания оборудования (HDL). [5]
Более поздняя реализация mor1kx, имеющая некоторые преимущества по сравнению с OR 1200: [6] был разработан Джулиусом Бакстером и также написан на Verilog.
Кроме того, существуют программные симуляторы, [7] которые реализуют спецификацию OR1k.

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

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

Более поздние конструкции SoC, также основанные на реализации процессора OpenRisc 1000, - это minSoC, OpTiMSoC и MiSoC. [10]

Набор инструкций [ править ]

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

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

Реализации [ править ]

Прототип OpenRISC создан на плате разработки Flextronics (Flex) FPGA под управлением uClinux.

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

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

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

Коммерческие реализации [ править ]

Несколько коммерческих организаций разработали производные архитектуры OpenRISC 1000, в том числе ORC32-1208 от ORSoC и BA12, BA14 и BA22 от Beyond Semiconductor. плату iNCITE Dynalith Systems предоставляет макетную 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). [11] Сообщается, что Allwinner Technology использует ядро ​​OpenRISC в своем контроллере питания AR100, который является частью SoC A31 на базе ARM. [12]

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

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

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

Будучи открытым исходным кодом, OpenRISC оказался популярным в академических кругах и кругах любителей. Например, Стефан Валлентовиц. [17] и его команда из Института интегрированных систем Мюнхенского технического университета использовали OpenRISC в исследованиях многоядерных процессорных архитектур. [18] Группа пользователей оборудования с открытым исходным кодом ( OSHUG ) в Великобритании дважды [19] [20] проводить сеансы на OpenRISC, а любитель Свен-Оке Андерссон написал подробный блог об OpenRISC для начинающих, [21] вызвавший интерес Electronic Engineering Times ( EE Times ). [22] Себастьян Маке реализовал jor1k, эмулятор OpenRISC 1000 на JavaScript , работающий под управлением Linux с системой X Window и поддержкой Wayland . [23]

Поддержка Toolchain [ править ]

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

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

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

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

Поддержка Linux [ править ]

Основное ядро ​​Linux получило поддержку OpenRISC в версии 3.1. [26] В этом выпуске реализована реализация 32-битного семейства OpenRISC 1000 (или 1k). [27] Бывшая архитектура OpenRISC 1000 была заменена основным портом.

Поддержка ОСРВ [ править ]

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

Поддержка QEMU [ править ]

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

См. также [ править ]

Ссылки [ править ]

  1. ^ «Опубликованные версии» . Проверено 28 марта 2021 г.
  2. ^ «Расширения с плавающей запятой, работающие в 32-битных/64-битных версиях» . Проверено 28 марта 2021 г.
  3. ^ «Расширения Vector/DSP (SIMD), работающие с 8-, 16-, 32- и 64-битными данными» . Проверено 28 марта 2021 г.
  4. ^ «Архитектура — OpenRISC» . OpenRisc.io . Проверено 17 апреля 2021 г.
  5. ^ Кларк, Питер (28 февраля 2000 г.). «Бесплатное 32-битное процессорное ядро ​​попадает в Сеть» . Electronic Engineering Times ( EE Times ) . Сан-Франциско , Калифорния, США: AspenCore Media . Проверено 21 марта 2019 г.
  6. ^ «Реализации — OpenRISC» . OpenRisc.io . Проверено 17 апреля 2021 г.
  7. ^ «Реализации — OpenRISC» . OpenRisc.io . Проверено 17 апреля 2021 г.
  8. ^ Пелгримс, Патрик; Тиренс, Том; Дриссенс, Дрис (2004). «Базовое руководство по аппаратному обеспечению пользовательской системы OpenRISC: проектирование встроенных систем на основе программных и аппаратных FPGA» (PDF) . Институт Де Найера . 1.0. Архивировано из оригинала (PDF) 27 ноября 2006 г. Проверено 3 марта 2009 г.
  9. ^ Ли, Сян; Цзо, Лин. Встроенная платформа с открытым исходным кодом на основе OpenRISC и DE2-70 (магистратура). KTH Королевский технологический институт (KTH), Швеция. Архивировано из оригинала 6 октября 2011 г. , программа SoC
  10. ^ «Система-на-кристалле — OpenRISC» . OpenRisc.io . Проверено 17 апреля 2021 г.
  11. ^ Центр выпусков открытого исходного кода Samsung , перейдите по ссылкам → ТВ И ВИДЕО → ТВ → DTV → ETC → OR1200.zip
  12. ^ Вики-страница сообщества проекта Linux-sunxi на контроллере AR100 . Проверено 20 июля 2013 г.
  13. ^ Справочный поток UVM , веб-сайт Accellera (без даты).
  14. Сообщение в списках рассылки openrisc на lists.openrisc.net от 8 апреля 2012 г., сделанное Фредриком Брюном, генеральным директором ÅAC Microtec.
  15. ^ «Шведский прорыв в космосе на спутнике НАСА с электроникой от ÅAC Microtec» . ОАК Микротек (Пресс-релиз). 11 октября 2012 г. Архивировано из оригинала 18 января 2014 г. Проверено 17 марта 2018 г.
  16. ^ «Шведский прорыв в космосе на спутнике НАСА с электроникой от ÅAC Microtec» [Шведский прорыв в космосе на спутнике НАСА с электроникой от ÅAC Microtec] (Пресс-релиз) (на шведском языке). 11 октября 2012 г. Получено 16 марта 2018 г. - через Mynewsdesk . [ мертвая ссылка ] Все URL
  17. ^ «Дипл.-инж. Дипл.-вирт.-инж. Стефан Валлентовиц» . 2009–2013 гг. Архивировано из оригинала 13 апреля 2013 г.
  18. ^ Валлентовиц, Стефан; Уайлд, Томас; Херкерсдорф, Андреас. «Совместная оптимизация моделей многоядерной архитектуры и программирования (MAPCO)» (PDF) (исследовательский плакат Шестой международной летней школы по усовершенствованной компьютерной архитектуре и компиляции для высокопроизводительных и встраиваемых систем (ACACES), 11–17 июля 2010 г.). Террасса (Барселона), Испания. Архивировано из оригинала (PDF) 10 февраля 2013 года . Проверено 29 октября 2018 г.
  19. ^ Чипы (программируемая логика, сохранение компьютера с помощью FPGA, OpenCores и OpenRISC 1000) . Встреча OSHUG № 9, Skills Matter, 116-120 Goswell Road, Лондон, 21 апреля 2011 г.
  20. ^ Практическая система на кристалле (запрограммируйте собственную SoC FPGA с открытым исходным кодом) . Встреча ОШУГ № 17, Центр творческого сотрудничества, Актон-стрит, 16, Лондон, 29 марта 2012 г.
  21. ^ Программный процессор OpenRISC 1200. Архивировано 13 мая 2012 г. на Wayback Machine . Сообщение в блоге Свена-Оке Андерссона, 2 марта 2012 г.
  22. ^ Максфилд, Клайв (3 мая 2012 г.). «Сравнение четырех 32-битных программных ядер процессора» . Electronic Engineering Times ( EE Times ) . Сан-Франциско , Калифорния, США: AspenCore Media . Проверено 21 марта 2019 г.
  23. ^ Эмулятор OpenRISC в JavaScript может запускать Wayland
  24. ^ "llvm-or1k" . Гитхаб . 06.04.2018 . Проверено 21 марта 2019 г.
  25. ^ «Журнал изменений GCC 9» . ГНУ . Проверено 15 июня 2022 г.
  26. ^ «git.kernel.org — linux/kernel/git/torvalds/linux-2.6.git/tree — Arch/openrisc/» . git.kernel.org. Архивировано из оригинала 8 июля 2012 г. Проверено 17 октября 2011 г.
  27. ^ «Линукс 3.1» . Новички в ядре . Проверено 17 октября 2011 г.
  28. ^ Журнал изменений QEMU 1.2

Внешние ссылки [ править ]

Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: fb2032394be71f8a7f525cb374ee763b__1714640460
URL1:https://arc.ask3.ru/arc/aa/fb/3b/fb2032394be71f8a7f525cb374ee763b.html
Заголовок, (Title) документа по адресу, URL1:
OpenRISC - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)