Advanced Microcontroller Bus Architecture (Advanced Microcontroller Bus Architecture)
Прогрессивная архитектура шины микроконтроллера (AMBA) [фирмы] ARM — это открытый стандарт требований внутрикристалльных межсоединений для соединения и управления функциональными блоками в разработках system-on-a-chip (SoC). Она облегчает развитие многопроцессорных разработок с большим числом контроллеров и периферии. Несмотря на название, с самого своего начала AMBA имела виды, уходящие далеко за границы микроконтроллерных устройств. Сегодня AMBA широко применяется в ряде частей ASIC и SoC, включая прикладные процессоры, применяемые в современных небольших переносных устройствах вроде смартфонов. AMBA — это зарегистрированная торговая марка ARM Ltd.[1]
AMBA была представлена ARM в 1996. Первыми шинами AMBA были Advanced System Bus (ASB) и Advanced Peripheral Bus (APB). В её второй разновидности, AMBA 2 в 1999, ARM добавила AMBA High-performance Bus (AHB) с протоколом по одному тактовому фронту. В 2003 ARM представила третье поколение, AMBA 3, включающее Advanced Extensible Interface (AXI) для достижения ещё большей производительности межсоединения и Advanced Trace Bus (ATB), как части решения CoreSight по отладке и трассировки кристалла. В 2010 требования AMBA 4 были представлены, начав с AMBA 4 AXI4, затем в 2011[2] — расширением когерентной ширины системы посредством AMBA 4 ACE. В 2013[3] были представлены требования AMBA 5 CHI (Coherent Hub Interface) с переработанным высокоскоростным транспортным слоем и возможностями, разработанными для уменьшения перегрузки.
Сегодня эти протоколы являются де-факто стандартными для встраиваемых процессоров, поскольку они хорошо описаны и могут применяться без отчислений.
Подходы к разработке
[править | править код]Важной особенностью SoC является не только то, какие составляющие блоки она содержит, но и то, как они соединяются. AMBA — это решение для взаимодействия блоков между собой.
Требования AMBA направлены на:
- облегчение разработки right-first-time встраиваемых микроконтроллерных продуктов с одним или более ЦПУ, ГП или обработчиков сигналов,
- быть технологически независимой, позволяя повторное использование IP cores, макроячейками периферии и системы в различных процессах ИС,
- поощрять модульную разработку системы для улучшения независимости процессора и разработки повторно применяемых IP-библиотек периферии и системы
- минимизировать кремниевую инфраструктуру, при поддержании высокой производительности и малого потребления внутрикристалльного соединения.
Требования протокола AMBA
[править | править код]Требования AMBA определяют стандарт внутрикристалльных подключений для разработки высокопроизводительных встраиваемых микроконтроллеров. Она поддерживается ARM Limited при широком межотраслевом участии.
Требования AMBA 5 определяют следующие шины/взаимосвязи:
- Advanced High-performance Bus (AHB5, AHB-Lite)
- CHI Coherent Hub Interface (CHI)[3]
Требования AMBA 4 определяют следующие шины/взаимосвязи:
- AXI Coherency Extensions (ACE) — широко применяемую в последних процессорах ARM Cortex-A, включая Cortex-A7 и Cortex-A15
- AXI Coherency Extensions Lite (ACE-Lite)
- Advanced Extensible Interface 4 (AXI4)
- Advanced Extensible Interface 4 Lite (AXI4-Lite)
- Advanced Extensible Interface 4 Stream (AXI4-Stream v1.0)
- Advanced Trace Bus (ATB v1.1)
- Advanced Peripheral Bus (APB4 v2.0)
Требования AMBA 3 определяют четыре шины/взаимосвязи:
- Advanced Extensible Interface (AXI3 or AXI v1.0) — широко применяемую в процессорах ARM Cortex-A, включая Cortex-A9
- Advanced High-performance Bus Lite (AHB-Lite v1.0)
- Advanced Peripheral Bus (APB3 v1.0)
- Advanced Trace Bus (ATB v1.0)
Требования AMBA 2 определяют три шины/взаимосвязи:
- Advanced High-performance Bus (AHB) — широко применяемую в разработках, основанных на ARM7, ARM9 и ARM Cortex-M
- Advanced System Bus (ASB)
- Advanced Peripheral Bus (APB2 или APB)
Требования AMBA (Первой разновидности) определяют две шины/взаимосвязи:
- Advanced System Bus (ASB)
- Advanced Peripheral Bus (APB)
Особенности задержек и уровней voltage на шине требования не диктуют.
AXI Coherency Extensions (ACE и ACE-Lite)
[править | править код]ACE, определённая как часть требований AMBA 4, расширяет AXI дополнительным средством оповещения передач широкой когерентности.[4] Это средство когерентности позволяет множеству процессоров разделять память и включает технологии вроде ARM-овской обработке big.LITTLE. Протокол ACE-Lite включает однонаправленную или иначе IO когерентность, например, сетевая взаимосвязь, которая может [лишь] читать из кешей полностью когерентного процессора ACE.
Advanced eXtensible Interface (AXI)
[править | править код]AXI, третье поколение взаимосвязи AMBA, определённое в требованиях AMBA 3, нацелено на разработку высокопроизводительных, высокочастотных средств и включает возможности, которые делают её пригодной для высокоскоростных субмикронных межсоединений:
- раздельные фазы адреса/управления и данных
- поддержка передач невыровненных данных, применяя стробы байта
- передачи на основе пакетов, с выдачей лишь начального адреса
- выдачу множества внешних адресов с неупорядоченными ответами
- лёгкость добавления регистровых стадий для обеспечения близких задержек.
Advanced High-performance Bus (AHB)
[править | править код]AHB — это протокол, представленный в Advanced Microcontroller Bus Architecture 2 разновидности, обнародованный компанией ARM Ltd.
В дополнение к предыдущему исполнению, он имеет следующие возможности:
- множество разрядностей шины (64/128/256/512/1024 бит).
Простая передача по AHB содержит фазу адреса и подпоследовательность фазы данных (без состояний ожидания: лишь два цикла шины). Доступ к целевому устройству управляется через MUX (без Z-уровня), таким образом признаётся доступ к шине одного хозяина одновременно.
AHB-Lite — это подвид AHB, формально определённый стандартом AMBA 3. Этот подвид упрощает разработку шины с одним хозяином.
Advanced Peripheral Bus (APB)
[править | править код]APB разработан для доступа к медлительному (низкоскоростному) управлению, например для взаимосвязи с регистрами в периферии системы. Подобно AHB, эта шина имеет фазы адреса и данных, но значительно урезанный, несложный список сигналов (например, нет ts).
Продукты AMBA
[править | править код]Семейство синтезируемых ядер с интеллектуальными правами (IP) AMBA Products лицензируется из ARM Limited, которая исполняет цифровую шину в SoC для эффективного перемещения и хранения данных, применяя требования протокола AMBA. Семейство AMBA включает AMBA Network Interconnect (CoreLink NIC-400), Cache Coherent Interconnect (CoreLink CCI-500) SDRAM memory controllers (CoreLink DMC-400), DMA controllers (CoreLink DMA-230, DMA-330), level 2 cache controllers (L2C-310), и т. д.
Ряд производителей используют шины AMBA для разработок не на ARM. В качестве примера Infineon применяет шину AMBA для SoC ADM5120, основанную на MIPS architecture.
Соперники
[править | править код]- Wishbone от OpenCores — бесплатная и открытая архитектура шины (прежде от Silicore)
- Технология шины CoreConnect от IBM, применена во встраиваемых продуктах Power Architecture IBM, а также во множестве других SoC-подобных средств с Xilinx MicroBlaze или схожими ядрами
- IPBus от IDT
- Avalon — частная шина системы от Altera для использования в их Nios II SoCs[5]
- Open Core Protocol (OCP) от Accellera
- HyperTransport (HT) от AMD (хотя это внекристалльная, а не внутрикристалльная шина)
- QuickPath Interconnect (QPI) от Intel (хотя это внекристалльная, а не внутрикристалльная шина)
- virtual share от PICC — бесплатная и с открытым исходником
См. также
[править | править код]Примечания
[править | править код]- ↑ Лицензия Торговой марки AMBA, http://arm.com/about/trademarks/arm-trademark-list/AMBA-trademark.php Архивная копия от 5 июня 2016 на Wayback Machine
- ↑ Новые требования AMBA 4 оптимизируют когерентность для гетерогенных многоядерных SoC, http://www.arm.com/about/newsroom/new-amba-4-specification-optimizes-coherency-for-heterogeneous-multicore-socs.php Архивная копия от 17 сентября 2016 на Wayback Machine
- ↑ 1 2 ARM анонсирует требования AMBA 5 CHI для включения технологии высокопроизводительных, высокомасштабируемых однокристалльных средств, http://www.arm.com/about/newsroom/arm-announces-amba-5-chi-specification-to-enable-high-performance-highly-scalable-system-on-chip.php Архивная копия от 20 ноября 2017 на Wayback Machine
- ↑ Kriouile, A., & Serwe, W. (2013). Формальное исследование требований ACE для когерентного кеша однокристалльного средства. В формальных методах для требовательных промышленных средств (pp. 108-122). Springer Berlin Heidelberg., ISBN 978-3-642-41010-9
- ↑ Avalon . Дата обращения: 17 июня 2018. Архивировано 1 марта 2015 года.
Ссылки
[править | править код]- AMBA Specification home page — of ARM
- AMBA of ARM
- AMBA Documentation — from ARM