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 — бесплатная и с открытым исходником

Примечания

[править | править код]
  1. Лицензия Торговой марки AMBA, http://arm.com/about/trademarks/arm-trademark-list/AMBA-trademark.php Архивная копия от 5 июня 2016 на Wayback Machine
  2. Новые требования AMBA 4 оптимизируют когерентность для гетерогенных многоядерных SoC, http://www.arm.com/about/newsroom/new-amba-4-specification-optimizes-coherency-for-heterogeneous-multicore-socs.php Архивная копия от 17 сентября 2016 на Wayback Machine
  3. 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
  4. Kriouile, A., & Serwe, W. (2013). Формальное исследование требований ACE для когерентного кеша однокристалльного средства. В формальных методах для требовательных промышленных средств (pp. 108-122). Springer Berlin Heidelberg., ISBN 978-3-642-41010-9
  5. Avalon. Дата обращения: 17 июня 2018. Архивировано 1 марта 2015 года.