цифровая электроника
вычислительная техника
встраиваемые системы

 



Что такое протоколы AMBA

Автор: Mike(admin) от 11-05-2025, 23:55

Миниатюризация электроники всегда была одной из главных целей производителей чипов. В результате компьютерные и электронные системы, основанные на материнских платах, были заменены системами на кристалле (SoC) и интегральными схемами в корпусе (PoP). Сегодня сложные компьютерные системы сведены к смартфонам и другим портативным устройствам. В основе этих высокотехнологичных гаджетов лежит SoC, который управляет вычислениями и контролем.

Что такое протоколы AMBA

Пакет SoC состоит из нескольких интеллектуальных (IP) ядер, которые могут поставляться разными разработчиками чипов и производителями. Обеспечение масштабируемого, совместимого и эффективного обмена данными между различными IP-ядрами внутри SoC было сложной задачей. Изначально инженеры решали её путем сложного процесса перепроектирования, тестирования совместимости и разработки дополнительных интерфейсов. Такой подход не обеспечивал точности «с первого раза», что приводило к дорогостоящим переработкам.

 

 

Одним из наиболее распространённых и эффективных решений этой проблемы стали протоколы AMBA, представленные компанией Arm в 1996 году.

 

Что такое AMBA?

AMBA (Advanced Microcontroller Bus Architecture — расширенная архитектура микроконтроллерной шины) — это открытый стандарт для соединения и управления IP-ядрами внутри SoC. Он позволяет разрабатывать многопроцессорные чипы в модульной, масштабируемой и повторно используемой архитектуре, что уменьшает затраты на разработку и сокращает время выхода продукта на рынок.

 

Первая версия AMBA, представленная в 1996 году, включала спецификации Advanced Peripheral Bus (APB) и Advanced System Bus (ASB). Вторая версия AMBA, выпущенная в 1999 году, добавила Advanced High-Performance Bus (AHB). В 2003 году была представлена AMBA 3 с Advanced Extensible Interface (AXI). AMBA 4 в 2010 году включила AXI Coherency Extensions (ACE), а AMBA 5, последняя версия, представила Coherent Hub Interface (CHI) в 2013 году.

 


Шина AMBA

Традиционный дизайн SoC на основе AMBA использует шины ASB или AHB для передачи данных с высокой пропускной способностью между процессором, встроенной RAM, интерфейсами памяти и DMA-контроллерами. Для обмена данными с низкой пропускной способностью, например с UART, GPIO, клавиатурой, дисплеем или таймером, применяется APB.

 

Если SoC содержит большое количество функциональных блоков или IP-ядер, требуется точечно-точечное соединение, реализуемое через AXI. Шина AXI использует протокол мастер-слейв, при этом на одной шине может находиться несколько ведущих (master) и ведомых (slave) устройств. APB можно легко подключить к AXI через мост.

 

Современные смартфоны, использующие SoC с несколькими процессорными ядрами и общей кэш-памятью, требуют механизмов управления когерентностью данных. Для этого в AMBA 4 были введены спецификации ACE.

 

Для более сложных гетерогенных вычислительных систем был разработан CHI — пакетный многоуровневый протокол, заменяющий сигнал-ориентированные протоколы AXI/ACE. Он поддерживает связь между разнородными компонентами, такими как цифровые сигнальные процессоры (DSP), графические процессоры (GPU), подсистемы ввода-вывода и контроллеры памяти.

 


Спецификации AMBA

AMBA включает несколько спецификаций, каждая из которых предназначена для определённых типов соединений:

  • APB (Advanced Peripheral Bus) – Простая непараллельная шина для связи с периферийными устройствами. В APB используется общий набор сигналов для операций чтения и записи, а передача данных пакетами (burst) не поддерживается.

  • ASB (Advanced System Bus) – Параллельная шина с поддержкой передачи данных пакетами и несколькими ведущими устройствами. Система состоит из четырёх компонентов: Master (ведущий), Arbiter (арбитр), Slave (ведомый) и Decoder (декодер). Только один ведущий может получить доступ к шине одновременно.

  • AHB (Advanced High-Performance Bus) – Улучшенная версия ASB, представленная в AMBA 2.0. Поддерживает передачу данных широкой шиной, мгновенное переключение между ведущими устройствами и разделение операций чтения/записи.

  • AHB-lite – Упрощённая версия AHB без поддержки нескольких ведущих устройств и без сложных механизмов управления трафиком.

  • AXI (Advanced Extensible Interface) – Протокол с точечно-точечными соединениями, предназначенный для многопроцессорных систем. Поддерживает одновременную передачу данных по отдельным каналам чтения и записи, пакеты данных (burst), широкие шины и конвейерную обработку команд.

  • AXI-lite – Упрощённая версия AXI без поддержки пакетных передач данных.

  • AXI-stream – Модификация AXI для потоковой передачи данных. Поддерживает передачу данных только в одном направлении (от ведущего к ведомому), что полезно для видеостриминга, потоковых игр и обработки мультимедиа.

  • ACE (AXI Coherency Extensions) – Расширение AXI для управления когерентностью в многопроцессорных системах. Включает адресные линии snoop, каналы данных snoop и каналы откликов snoop.

  • ACE-lite – Упрощённая версия ACE для устройств без собственной кэш-памяти (например, контроллеров DMA и сетевых модулей).

  • CHI (Coherent Hub Interface) – Новый когерентный протокол, пришедший на смену ACE. CHI использует пакетную передачу данных вместо сигнальной, что упрощает подключение разнородных вычислительных блоков (DSP, GPU, NPU и т. д.).


Итоги

Если вы занимаетесь проектированием VLSI (интегральных схем с высокой степенью интеграции), то, скорее всего, уже слышали о протоколах AMBA. Они эволюционировали с течением времени, чтобы удовлетворять потребности современных SoC и будущих интегральных схем.

 

 

AMBA — это открытый стандарт, спецификации которого можно скачать с официального сайта Arm после бесплатной регистрации. В этой статье приведён краткий обзор различных спецификаций AMBA. Для более детального изучения протоколов рекомендуем ознакомиться с официальной документацией.

 




Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Комментарии:

Оставить комментарий