AMBA
Открытое семейство шинных протоколов Arm для соединения процессорных ядер, памяти и периферии внутри одного кристалла.
Advanced Microcontroller Bus Architecture появилась в 1996 году и распространяется без роялти, поэтому стала стандартом де-факто далеко за пределами ядер самой Arm. AMBA 2 в 1999 году принесла пару, которую можно увидеть на блок-схеме любого микроконтроллера: AHB — быструю шину для CPU, флеш-памяти и DMA, и APB — медленную энергоэкономичную шину для таймеров, UART и GPIO, с мостом между ними. В AMBA 3 в 2003 году появилась AXI с раздельными каналами чтения и записи, а AMBA 5 в 2013 году добавила CHI для когерентных многоядерных систем.
Разработчики прошивок сталкиваются с AMBA в основном косвенно. Запись в регистр периферии на APB, занимающая несколько тактов, два мастера шины, спорящие за доступ, запись, которая всё ещё сидит в буфере, когда код уже ушёл дальше, — это архитектура шины, а не баг.