Arquitetura avançada de barramento de microcontrolador
A Advanced Microcontroller Bus Architecture (AMBA) da ARM é um padrão aberto para requisitos de interconexão no chip para conectar e conduzir blocos funcionais em projetos de sistema em um chip (SoC). Facilita o desenvolvimento de projetos de multiprocessadores com um grande número de controladores e periféricos. Apesar do nome, desde a sua criação, o AMBA teve um escopo que se estende muito além dos limites dos dispositivos microcontroladores. Hoje, o AMBA é amplamente usado em várias partes ASIC e SoC, incluindo processadores de aplicativos usados em pequenos dispositivos portáteis de hoje, como smartphones . AMBA é uma marca registrada da ARM Ltd. [1]
O AMBA foi introduzido no ARM em 1996. Os primeiros barramentos AMBA foram o Advanced System Bus (ASB) e o Advanced Peripheral Bus (APB). Em sua segunda iteração, AMBA 2 em 1999, a ARM adicionou o barramento de alto desempenho AMBA (AHB) com um protocolo de borda de clock único. Em 2003, a ARM introduziu a terceira geração, AMBA 3, que incluía a Interface Extensível Avançada (AXI) para um desempenho de interconexão ainda maior e o Barramento de Rastreamento Avançado (ATB) como parte da solução de rastreamento de chip e depuração da CoreSight. Em 2010, os requisitos do AMBA 4 foram introduzidos, começando com o AMBA 4 AXI4, depois em 2011 [2] com uma extensão da largura coerente do sistema através do AMBA 4 ACE. Em 2013 [3] , os requisitos AMBA 5 CHI (Coherent Hub Interface) foram introduzidos com uma camada de transporte de alta velocidade redesenhada e recursos projetados para reduzir o congestionamento.
Hoje, esses protocolos são o padrão de fato para processadores incorporados porque são bem documentados e podem ser usados sem royalties.
Abordagens de desenvolvimento
Uma característica importante de um SoC não é apenas quais blocos de construção ele contém, mas também como eles estão conectados. AMBA é uma solução para a interação de blocos entre si.
Os requisitos da AMBA visam:
- facilitando o desenvolvimento de produtos de microcontroladores incorporados com uma ou mais CPUs, GPUs ou manipuladores de sinal,
- ser tecnologicamente independente, permitindo a reutilização de núcleos IP , periféricos e macrocélulas do sistema em diversos processos de IC,
- incentivar o desenvolvimento de sistemas modulares para melhorar a independência do processador e desenvolver bibliotecas de IP de sistema e periféricos reutilizáveis
- minimizar a infraestrutura de silício enquanto mantém alto desempenho e baixo consumo no chip.
Requisitos do protocolo AMBA
Os requisitos da AMBA definem o padrão de interconexão no chip para o desenvolvimento de microcontroladores embarcados de alto desempenho. É apoiado pela ARM Limited com ampla participação em vários setores.
Os requisitos da AMBA 5 definem os seguintes barramentos/relacionamentos:
- Barramento de alto desempenho avançado (AHB5, AHB-Lite)
- Interface de Hub Coerente CHI (CHI) [3]
Os requisitos da AMBA 4 definem os seguintes barramentos/relacionamentos:
- AXI Coherency Extensions (ACE) - amplamente utilizado nos mais recentes processadores ARM Cortex-A, incluindo Cortex-A7 e Cortex-A15
- AXI Coherency Extensions Lite (ACE-Lite)
- Interface extensível avançada 4 (AXI4)
- Interface Extensível Avançada 4 Lite (AXI4-Lite)
- Interface extensível avançada 4 Stream (AXI4-Stream v1.0)
- Barramento de rastreamento avançado (ATB v1.1)
- Barramento periférico avançado (APB4 v2.0)
Os requisitos da AMBA 3 definem quatro barramentos/relacionamentos:
- Interface Extensível Avançada (AXI3 ou AXI v1.0) - amplamente utilizada em processadores ARM Cortex-A, incluindo Cortex-A9
- Barramento Lite Avançado de Alto Desempenho (AHB-Lite v1.0)
- Barramento periférico avançado (APB3 v1.0)
- Barramento de rastreamento avançado (ATB v1.0)
Os requisitos da AMBA 2 definem três barramentos/relacionamentos:
- Barramento de alto desempenho avançado (AHB) - amplamente utilizado em projetos baseados em ARM7, ARM9 e ARM Cortex-M
- Barramento de sistema avançado (ASB)
- Barramento periférico avançado (APB2 ou APB)
Os requisitos AMBA (versão 1) definem dois barramentos/relacionamentos:
- Barramento de sistema avançado (ASB)
- Barramento periférico avançado (APB)
Características de atrasos e níveis de tensão no barramento não ditam os requisitos.
Extensões de Coerência AXI (ACE e ACE-Lite)
O ACE , definido como parte dos requisitos da AMBA 4, estende o AXI com um meio adicional de sinalizar transmissões de ampla coerência. [4] Esse recurso de coerência permite que vários processadores compartilhem memória e inclui tecnologias como o processamento big.LITTLE da ARM . O protocolo ACE-Lite permite coerência de IO unidirecional ou de outra forma, como interconexão de rede, que pode [apenas] ler caches de processador ACE totalmente coerentes.
Interface Extensível Avançada (AXI)
AXI , a terceira geração de interconexão AMBA, definida nos requisitos AMBA 3, visa o desenvolvimento de mídia de alta frequência e alto desempenho e inclui recursos que o tornam adequado para interconexões submicron de alta velocidade:
- endereço/controle e fases de dados separados
- suporte para transferências de dados desalinhadas usando strobes de byte
- transmissões baseadas em pacotes, com apenas o endereço inicial fornecido
- emitindo vários endereços externos com respostas não ordenadas
- facilidade de adicionar estágios de registro para garantir atrasos próximos.
Avançado Barramento de Alto Desempenho (AHB)
AHB é um protocolo introduzido na variante Advanced Microcontroller Bus Architecture 2 publicada pela ARM Ltd.
Além da implementação anterior, possui os seguintes recursos:
- muitas larguras de barramento (64/128/256/512/1024 bits).
Uma transferência AHB simples contém uma fase de endereço e uma subsequência de fase de dados (sem estados de espera: apenas dois ciclos de barramento). O acesso ao dispositivo de destino é controlado via MUX (sem camada Z), reconhecendo assim o acesso ao barramento de um host por vez.
AHB-Lite é uma subespécie de AHB formalmente definida pelo padrão AMBA 3. Esta subespécie simplifica o desenvolvimento de barramento mestre único.
Avançado Barramento Periférico (APB)
O APB é projetado para acessar controle lento (baixa velocidade), como interface com registradores na periferia do sistema. Assim como o AHB, esse barramento possui fases de endereço e dados, mas uma lista de sinais bastante reduzida e descomplicada (sem ts, por exemplo).
Produtos AMBA
A família IP Synthesizable Core ( IP ) da AMBA Products é licenciada pela ARM Limited , que implementa um barramento digital no SoC para mover e armazenar dados com eficiência usando os requisitos do protocolo AMBA. A família AMBA inclui AMBA Network Interconnect (CoreLink NIC-400), Cache Coherent Interconnect (CoreLink CCI-500) , controladores de memória SDRAM (CoreLink DMC-400), controladores DMA (CoreLink DMA-230, DMA-330), controladores de cache de nível 2 (L2C-310), etc.
Vários fabricantes usam barramentos AMBA para desenvolvimento não ARM. Como exemplo , a Infineon usa o barramento AMBA para o SoC ADM5120 baseado na arquitetura MIPS .
Rivais
- Wishbone by OpenCores - arquitetura de ônibus gratuita e aberta (anteriormente da Silicore)
- A tecnologia de barramento CoreConnect da IBM , usada em produtos integrados IBM Power Architecture , bem como muitos outros produtos semelhantes a SoC com Xilinx MicroBlaze ou núcleos semelhantes
- IBus por IDT
- Avalon é um barramento de sistema proprietário da Altera para uso em seus SoCs Nios II [5]
- Open Core Protocol (OCP) da Accellera
- HyperTransport (HT) da AMD (embora este seja um barramento fora do chip, não no chip)
- QuickPath Interconnect (QPI) da Intel (embora este seja um barramento fora do chip, não no chip)
- compartilhamento virtual do PICC é gratuito e de código aberto
Veja também
- Especificação funcional
- Mestre/escravo (tecnologia)
Links
- ↑ Licença de marca registrada AMBA, http://arm.com/about/trademarks/arm-trademark-list/AMBA-trademark.php Arquivado em 5 de junho de 2016 no Wayback Machine
- ↑ Novos requisitos do AMBA 4 otimizam a coerência para SoCs heterogêneos de vários núcleos, http://www.arm.com/about/newsroom/new-amba-4-specification-optimizes-coherency-for-heterogeneous-multicore-socs.php Arquivado a partir de 17 de setembro de 2016 no Wayback Machine
- ↑ 1 2 ARM anuncia requisitos AMBA 5 CHI para habilitar tecnologia de chip único de alto desempenho e alta escalabilidade, http://www.arm.com/about/newsroom/arm-announces-amba-5-chi-specification-to -enable-high-performance-highly-scalable-system-on-chip.php Arquivado em 20 de novembro de 2017 no Wayback Machine
- ↑ Kriouile, A., & Serwe, W. (2013). Estudo formal dos requisitos do ACE para cache de chip único coerente. Em Métodos formais para exigir instalações industriais (pp. 108-122). Springer Berlin Heidelberg., ISBN 978-3-642-41010-9
- ↑ Avalon . Recuperado em 17 de junho de 2018. Arquivado a partir do original em 1 de março de 2015.
Links
- Página inicial da Especificação AMBA — do ARM
- AMBA de ARM
- Documentação AMBA —da ARM