Оранжевый (ядро процессора)

редактировать

Ядро процессора Оранжевое является ARM-архитектурой -совместимой 32- бит процессор вычисления с сокращенным набором команд (RISC). Это открытый исходный код, размещенный на веб-сайте OpenCores, и он является частью движения по разработке библиотеки проектов оборудования с открытым исходным кодом.

Содержание
  • 1 Обзор
  • 2 См. Также
  • 3 Дополнительная литература
  • 4 Ссылки
  • 5 Внешние ссылки
Обзор

Ядро Amber полностью совместимо с инструкцией ARMv2a set и, таким образом, поддерживается набором инструментов GNU. Эта старая версия набора инструкций ARM поддерживается, потому что она не защищена патентами, и поэтому может быть реализована без лицензии от ARM Holdings, в отличие от некоторых предыдущих проектов с открытым исходным кодом (например, nnARM ). Ядра были разработаны в Verilog 2001 и оптимизированы для синтеза программируемых вентильных матриц (FPGA). Например, нет логики сброса: все регистры сбрасываются как часть инициализации FPGA. Проект Amber предоставляет полную встроенную систему программируемых пользователем вентильных матриц (FPGA), включающую ядро ​​Amber и несколько периферийных устройств, включая универсальные асинхронные приемники / передатчики (UART), таймеры и Ethernet MAC.

Проект Amber предоставляет две версии ядра. Оба ядра реализуют одну и ту же архитектуру набора команд (ISA) и полностью совместимы с программным обеспечением.

  • Amber 23 имеет трехступенчатый конвейер, унифицированный кэш инструкций и данных, интерфейс Wishbone и способен обеспечивать 0,75 DMIPS (Dhrystone ) на МГц. Ядро Amber 23 - очень маленькое 32-битное ядро, которое хорошо работает. Команды на основе регистров выполняются за один цикл, за исключением тех, которые включают умножение. Инструкции загрузки и сохранения требуют трех циклов. Конвейер ядра останавливается либо при промахе кэша, либо когда ядро ​​выполняет доступ Wishbone.
  • Amber 25 имеет 5-ступенчатый конвейер, отдельные кеши данных и инструкций, интерфейс Wishbone и способен 1,0 DMIPS на МГц. Ядро Amber 25 обеспечивает на 30-40% лучшую производительность, чем ядро ​​Amber 23, и на 30-40% больше. Команды на основе регистров выполняются за один цикл, за исключением команд, включающих операции умножения или сложного сдвига. Инструкции загрузки и сохранения также выполняются в одном цикле, если нет конфликта регистров со следующей инструкцией. Конвейер ядра останавливается, когда происходит промах в кэше, когда обнаруживается конфликт инструкций, когда выполняется сложный сдвиг, или когда ядро ​​выполняет доступ Wishbone.

Оба ядра были проверены загрузкой Ядро Linux 2.4. Версии ядра Linux из ветки 2.4 и ранее содержат конфигурации для поддерживаемого ISA. Версии ядра Linux 2.6 и выше явно не поддерживают ARM v2a ISA, поэтому для работы требуются дополнительные модификации. Ядра не содержат блок управления памятью (MMU), поэтому они могут запускать только вариант Linux без виртуальной памяти, например μClinux.

См. Также
Дополнительная литература

Для описания ARMv2a ISA см. Archimedes Operating System: A Dabhand Guide или Acorn RISC Machine Family Data Manual.

Ссылки
Внешние ссылки
Последняя правка сделана 2021-06-10 16:42:56
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте