Янтарный (ядро процессора) - Amber (processor core) - Wikipedia

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

Обзор

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

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

  • Amber 23 имеет трехступенчатый конвейер, унифицированный кэш инструкций и данных, Wishbone интерфейс и поддерживает 0,75 DMIPS (Дристон ) на МГц. Ядро 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 см. Операционная система Архимеда: Руководство Dabhand,[3] или же Руководство по семейству машин Acorn RISC.[4]

Рекомендации

  1. ^ Спунер, Джон Г. (2 января 2002 г.). «Кредо открытого кода переходит к дизайну микросхем». Техническая промышленность. CNET. Получено 2018-05-15.
  2. ^ «Янтарное ядро ​​RISC». Мягкий процессор. 32-битный микро. Архивировано из оригинал на 02.02.2015.
  3. ^ ван Сомерен, Алекс; ван Сомерен, Ник (февраль 1989 г.). Операционная система Архимеда: Руководство Dabhand (PDF). Dabs Press. ISBN  1-870336-48-8. Получено 2018-05-15..
  4. ^ Технология СБИС (1990). Acorn RISC Machine (ARM) Руководство по данным (PDF). Prentice Hall. ISBN  0-13-781618-9. Получено 2018-05-15..

внешняя ссылка