Янтарный (процессор)
Ядро Amber процессора совместимый с архитектурой ARM представляет собой 32-разрядный процессор вычислений с сокращенным набором команд (RISC), . Он имеет открытый исходный код , размещен на веб-сайте OpenCores и является частью движения по разработке библиотеки аппаратных проектов с открытым исходным кодом. [1]
Обзор
[ редактировать ]Ядро Amber полностью совместимо с набором инструкций ARMv2a и, таким образом, поддерживается инструментальной цепочкой GNU . Эта старая версия набора команд ARM поддерживается, поскольку она не защищена патентами и поэтому может быть реализована без лицензии ARM Holdings , в отличие от некоторых предыдущих проектов с открытым исходным кодом (например, nnARM ). [2] Ядра были разработаны в 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: A Dabhand Guide» . [3] или Руководство по данным семейства машин Acorn RISC . [4]
Ссылки
[ редактировать ]- ^ Спунер, Джон Г. (2 января 2002 г.). «Кредо открытого исходного кода переходит в дизайн микросхем» . Технологическая индустрия. CNET . Проверено 15 мая 2018 г.
- ^ «Янтарное RISC-ядро» . Мягкий процессор. 32бит микро . Архивировано из оригинала 2 февраля 2015 г.
- ^ ван Сомерен, Алекс; ван Сомерен, Ник (февраль 1989 г.). Операционная система Archimedes: Руководство по Дабханду (PDF) . Дабс Пресс . ISBN 1-870336-48-8 . Проверено 15 мая 2018 г. .
- ^ Технология СБИС (1990). Руководство по данным машины Acorn RISC (ARM) (PDF) . Прентис Холл . ISBN 0-13-781618-9 . Проверено 15 мая 2018 г. .
Внешние ссылки
[ редактировать ]- Официальный сайт
- Спецификация Янтарного ядра
- Marsohod Blog
- Кларк, Питер (24 июня 2013 г.). «Кембриджский вызов: рост клонов ARM» . Автомобильный блог. ЭЭ Таймс . Проверено 21 мая 2018 г.