OpenRISC 1200
Эта статья нуждается в дополнительных цитатах для проверки . ( апрель 2023 г. ) |
OpenRISC 1200 (OR1200) представляет собой реализацию с открытым исходным кодом архитектуры OpenRISC 1000 RISC . [1] [ нужен лучший источник ]
Синтезируемое ядро ЦП в течение многих лет поддерживалось разработчиками OpenCores.org , хотя с 2015 года эту деятельность взял на себя Free and Open Source Silicon Foundation на веб-сайте librecores.org . Описание Verilog RTL распространяется под лицензией GNU Lesser General Public License (LGPL).
Архитектура [ править ]
IP -ядро OR1200 реализовано в Verilog HDL . Поскольку ядро имеет открытый исходный код, дизайн полностью общедоступен и может быть загружен и изменен любым человеком. Официальная реализация поддерживается разработчиками OpenCores.org. Реализация определяет блок управления питанием, блок отладки, тактовый таймер, программируемый контроллер прерываний (PIC), центральный процессор (ЦП) и аппаратное обеспечение управления памятью. Периферийные системы и подсистема памяти могут быть добавлены с использованием реализации процессором стандартизированного 32-битного интерфейса шины Wishbone . Предполагается, что OR1200 будет иметь производительность, сравнимую с процессорной архитектурой ARM10 .
ЦП/ЦСП [ править ]
ЦП OR1200 представляет собой реализацию 32-битной архитектуры набора команд ORBIS32 (ISA) и (опционально) ORFP32X ISA, реализующей поддержку плавающей запятой одинарной точности, совместимую с IEEE-754 . ISA имеет пять форматов команд и поддерживает два режима адресации: косвенный регистр со смещением и относительный счетчик программ. Реализация имеет пятиэтапный конвейер с одной задачей и способна выполнять большинство инструкций за один цикл. ЦП также содержит блок MAC для лучшей поддержки приложений цифровой обработки сигналов (DSP).
Управление памятью [ править ]
В конструкции OR1200 используется Гарвардская архитектура памяти и поэтому имеются отдельные блоки управления памятью (MMU) для памяти данных и инструкций. (TLB) на основе хэша Каждый из этих MMU состоит из одностороннего буфера прямого преобразования с размером страницы 8 КиБ и размером по умолчанию 64 записи. TLB индивидуально масштабируются от 16 до 256 записей. Существует также односторонний кэш с прямым отображением как для памяти инструкций, так и для памяти данных. Каждый кеш имеет размер по умолчанию 8 КиБ, но оба индивидуально масштабируются от 1 до 64 КиБ. MMU включает поддержку виртуальной памяти.
Производительность [ править ]
Ядро достигает 1,34 CoreMarks на МГц при частоте 50 МГц при использовании технологии Xilinx FPGA. [2]
В худшем случае тактовая частота OR1200 составляет 250 МГц при технологии изготовления 6LM 0,18 мкм. Согласно тесту Dhrystone , процессор OR1200 с тактовой частотой 250 МГц выполняет 250 миллионов инструкций Dhrystone в секунду в худшем случае (DMIPS). Расчетное энергопотребление процессора с частотой 250 МГц при техпроцессе 0,18 мкм составляет менее 1 Вт при полном газе и менее 5 мВт при половинном газе. [ нужна ссылка ]
Приложения [ править ]
Как правило, OR1200 предназначен для использования во множестве встраиваемых приложений, включая телекоммуникации, портативные носители, домашние развлечения и автомобильные приложения. Инструментальная цепочка GNU (включая GCC ) также была успешно портирована на архитектуру, хотя и не лишена ошибок. [3] Существует порт ядра Linux для OR1K, который работает на OR1200. последние порты встроенных библиотек C newlib и uClibc Для платформы также доступны .
Реализации [ править ]
OR1200 был успешно реализован с использованием технологий FPGA и ASIC .
История [ править ]
Первая публичная запись об архитектуре OpenRISC 1000 датируется 2000 годом. [4]
Ссылки [ править ]
- ^ [1] Архивировано 15 января 2017 г. в Wayback Machine.
- ^ «Процессор OR1200 OpenRISC — OR1K :: OpenCores» . opencores.org . Архивировано из оригинала 25 сентября 2011 г.
- ^ «Результаты тестирования цепочки инструментов UClibc — OR1K::OpenCores» . opencores.org . Архивировано из оригинала 22 февраля 2012 г.
- ^ «Бесплатное 32-битное процессорное ядро попадает в Сеть» . 28 февраля 2000 г.
- ORSoC.se «Плата разработки OpenRISC 1200» . март 2009 г.
- Крейги, Роберт. «Страница ресурсов OpenRISC». Асиси . 19 марта 2008 г.