Arm Advanced Microcontroller Bus Architecture ( AMBA ) — это открытая стандартная спецификация внутрикристальных межсоединений для соединения и управления функциональными блоками в системах на кристалле (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 AXI Coherency Extensions (ACE). В 2013 году [3] была представлена спецификация AMBA 5 Coherent Hub Interface (CHI) с переработанным высокоскоростным транспортным уровнем и функциями, разработанными для снижения перегрузки. Эти протоколы сегодня являются фактическим стандартом для архитектур встроенных процессорных шин, поскольку они хорошо документированы и могут использоваться без лицензионных отчислений.
Важным аспектом SoC является не только то, какие компоненты или блоки он содержит, но и то, как они взаимодействуют. AMBA — это решение для взаимодействия блоков друг с другом.
Целью спецификации AMBA является:
Спецификация AMBA определяет стандарт связи на кристалле для проектирования высокопроизводительных встраиваемых микроконтроллеров. Она поддерживается Arm Limited с широким межотраслевым участием.
Спецификация AMBA 5 определяет следующие шины/интерфейсы:
Спецификация AMBA 4 определяет следующие шины/интерфейсы:
Спецификация AMBA 3 определяет четыре шины/интерфейса:
Спецификация AMBA 2 определяет три шины/интерфейса:
Спецификация AMBA (первая версия) определяет две шины/интерфейса:
Аспекты синхронизации и уровни напряжения на шине не регламентируются спецификациями.
ACE , определенный как часть спецификации AMBA 4, расширяет AXI дополнительной сигнализацией, вводящей системную когерентность. [4] Эта системная когерентность позволяет нескольким процессорам совместно использовать память и позволяет использовать такие технологии, как обработка big.LITTLE от Arm. Протокол ACE-Lite обеспечивает одностороннюю когерентность, также известную как когерентность ввода-вывода; например, сетевой интерфейс, который может считывать данные из кэшей полностью когерентного процессора ACE.
AXI , третье поколение интерфейса AMBA, определенное в спецификации AMBA 3, ориентировано на высокопроизводительные системы с высокой тактовой частотой и включает в себя функции, которые делают его пригодным для высокоскоростных субмикронных межсоединений:
AHB — это протокол шины, представленный в Advanced Microcontroller Bus Architecture версии 2, опубликованной компанией Arm Ltd.
В дополнение к предыдущей версии, она имеет следующие особенности:
Простая транзакция на AHB состоит из фазы адреса и последующей фазы данных (без состояний ожидания: только два цикла шины). Доступ к целевому устройству контролируется через MUX ( не трехстабильный), тем самым допуская доступ к шине к одному мастеру шины за раз.
AHB-Lite — это подмножество AHB, формально определенное в стандарте AMBA 3. Это подмножество упрощает конструкцию шины с одним ведущим устройством.
APB разработан для управления доступом с низкой пропускной способностью, например, регистровых интерфейсов на периферийных устройствах системы. Эта шина имеет адрес и фазу данных, аналогичные AHB, но значительно сокращенный список сигналов низкой сложности (например, без всплесков). Кроме того, это интерфейс, разработанный для низкочастотной системы с низкой разрядностью (32 бита).
Семейство синтезируемых ядер интеллектуальной собственности ( IP ) AMBA Products лицензируется Arm Limited , которые реализуют цифровую шину в SoC для эффективного перемещения и хранения данных с использованием спецификаций протокола AMBA. Семейство AMBA включает AMBA Network Interconnect (CoreLink NIC-400), Cache Coherent Interconnect (CoreLink CCI-500), контроллеры памяти SDRAM (CoreLink DMC-400), контроллеры DMA (CoreLink DMA-230, DMA-330), контроллеры кэша уровня 2 (L2C-310) и т. д.
Ряд производителей используют шины AMBA для не-ARM конструкций. Например, Infineon использует шину AMBA для ADM5120 SoC на базе архитектуры MIPS .