고도의 마이크로컨트롤러 버스 아키텍처
Advanced Microcontroller Bus ArchitectureARM Advanced Microcontroller Bus Architecture(AMBA)는 System-on-a-Chip(SoC; 시스템 온-칩) 설계의 기능 블록 연결 및 관리를 위한 개방형 표준 온칩 상호 연결 규격입니다.다수의 컨트롤러와 컴포넌트의 버스 아키텍처로 멀티프로세서 설계의 개발을 용이하게 합니다.AMBA는 그 이름에도 불구하고 마이크로컨트롤러 장치를 훨씬 뛰어넘어 왔습니다.현재 AMBA는 스마트폰과 같은 최신 휴대용 모바일 장치에 사용되는 애플리케이션 프로세서를 포함한 다양한 ASIC 및 SoC 부품에 널리 사용되고 있습니다.AMBA는 ARM [1]Ltd.의 등록 상표입니다.
AMBA는 1996년에 ARM에 의해 도입되었습니다.최초의 AMBA 버스는 Advanced System Bus(ASB; 어드밴스트 시스템 버스)와 Advanced Peripheral Bus(APB; 어드밴스트 페리페럴 버스)였습니다.ARM은 1999년 두 번째 버전인 AMBA 2에서 단일 클럭 엣지 프로토콜인 AHB(AMBA High-Performance Bus)를 추가했습니다.2003년, ARM은 한층 더 높은 퍼포먼스의 인터커넥트에 도달하기 위한 AXI(Advanced eXtensible Interface)와 CoreSight 온칩 디버깅 및 트레이스 솔루션의 일부로서 ATB(Advanced Trace Bus)를 포함한 제3세대 AMBA3를 도입했습니다.2010년에 AMBA 4 규격이 AMBA 4 AXI 4에서 시작하여 2011년에 AMBA 4 ACI Coheency Extensions(ACE)로 시스템[2] 전체의 일관성을 확장하였다.2013년[3], AMBA 5의 코히런트 허브 인터페이스(CHI) 사양이 도입되었으며, 고속 전송 계층과 혼잡을 줄이도록 설계된 기능이 재설계되었습니다.이러한 프로토콜은 문서화되어 로열티 없이 사용할 수 있기 때문에 오늘날 임베디드 프로세서 버스 아키텍처의 사실상의 표준이 됩니다.
설계 원리
SoC의 중요한 측면은 어떤 컴포넌트 또는 블록이 수용되어 있는지뿐만 아니라 이들 컴포넌트 또는 블록이 어떻게 상호 접속되는지도입니다.AMBA는 블록끼리 인터페이스하기 위한 솔루션입니다.
AMBA 사양의 목적은 다음과 같습니다.
- 1개 이상의 CPU, GPU 또는 신호 프로세서를 탑재한 임베디드 마이크로컨트롤러 제품을 적시에 개발할 수 있습니다.
- 다양한 IC 프로세스에서 IP 코어, 주변기기 및 시스템 매크로셀을 재사용할 수 있도록 기술에 의존하지 않는다.
- 모듈러 시스템 설계를 장려하여 프로세서의 독립성을 높이고 재사용 가능한 주변기기 및 시스템 IP 라이브러리의 개발을 촉진합니다.
- 실리콘 인프라스트럭처를 최소화하면서 하이 퍼포먼스와 저전력 온칩 통신을 지원합니다.
AMBA 프로토콜 사양
AMBA 사양은 고성능 내장 마이크로 컨트롤러 설계를 위한 온칩 통신 표준을 정의합니다.ARM Limited의 지원을 받아 업계 간 폭넓은 참여가 이루어지고 있습니다.
AMBA 5 사양에서는 다음 버스/인터페이스를 정의합니다.
- AXI5, AXI5-Lite 및 ACE5 프로토콜 규격
- 어드밴스드 하이 퍼포먼스 버스(AHB5, AHB-Lite)
- 일관성 있는 허브 인터페이스(CHI)
- 분산 변환 인터페이스(DTI)
- 범용 플래시 버스(GFB)
AMBA 4 사양에서는 다음 버스/인터페이스가 정의되어 있습니다.
- AXI 일관성 확장(ACE) - 최신 ARM Cortex-A 프로세서(Cortex-A7 및 Cortex-A15 포함)에서 널리 사용
- AXI 일관성 확장 라이트(ACE-Lite)
- Advanced Extensible Interface 4(AXI4)
- 확장성이 뛰어난 인터페이스4 Lite (AXI4-Lite)
- 확장성이 뛰어난 인터페이스4 스트림(AXI4-Stream v1.0)
- 어드밴스드 트레이스 버스(ATB v1.1)
- 어드밴스드 페리페럴 버스 (APB4 v2.0)
- AMBA 저전력 인터페이스(Q채널 및 P채널)
AMBA 3 사양에서는 다음 4개의 버스/인터페이스가 정의되어 있습니다.
- Advanced eXtensible Interface(AXI3 또는 AXI v1.0) - Cortex-A9을 포함한 ARM Cortex-A 프로세서에서 널리 사용
- 어드밴스드 하이 퍼포먼스 버스 라이트 (AHB-Lite v1.0)
- 어드밴스드 페리페럴 버스(APB3 v1.0)
- 어드밴스드 트레이스 버스(ATB v1.0)
AMBA 2 사양에서는 다음 3개의 버스/인터페이스가 정의되어 있습니다.
- AHB(Advanced High Performance Bus) - ARM7, ARM9 및 ARM Cortex-M 기반 설계에 널리 사용
- 어드밴스드 시스템 버스(ASB)
- 어드밴스드 페리페럴 버스(APB2 또는 APB)
AMBA 사양(첫 번째 버전)에서는 다음 2개의 버스/인터페이스를 정의합니다.
- 어드밴스드 시스템 버스(ASB)
- 어드밴스드 페리페럴 버스(APB)
버스의 타이밍 측면과 전압 레벨은 사양에 따라 결정되지 않습니다.
AXI 일관성 확장(ACE 및 ACE-Lite)
ACE는, AMBA 4 사양의 일부로서 정의되어 [4]AXI를 확장해, 시스템 전체의 일관성을 도입합니다.이 시스템의 일관성에 의해, 복수의 프로세서가 메모리를 공유할 수 있어 ARM의 큰 테크놀로지와 같은 테크놀로지가 가능하게 됩니다.작은 처리.ACE-Lite 프로토콜은 I/O 일관성이라고도 하는 단방향 일관성(예를 들어 완전히 일관된 ACE 프로세서의 캐시에서 읽을 수 있는 네트워크 인터페이스)을 가능하게 합니다.
고급 eXtensible 인터페이스(AXI)
AXI는 AMBA 3 사양에 정의된 3세대 AMBA 인터페이스로 고성능, 고클럭 주파수 시스템 설계를 대상으로 하며, 고속 서브 마이크로미터 인터커넥트에 적합한 기능을 포함하고 있습니다.
- 주소/제어 및 데이터 단계 분리
- 바이트 스트로브를 사용한 비정렬 데이터 전송 지원
- 시작 주소만 발행된 버스트 기반 트랜잭션
- 순서가 잘못된 응답을 가진 여러 미결 주소의 발행
- 레지스터 스테이지를 쉽게 추가하여 타이밍 클로징을 제공합니다.
어드밴스드 하이 퍼포먼스 버스(AHB)
AHB는 ARM Ltd사가 발행한 Advanced Microcontroller Bus Architecture 버전2에서 도입된 버스 프로토콜입니다.
이전 릴리스와 더불어 다음과 같은 기능이 있습니다.
- 큰 버스 폭(64/128/256/256/126/128/126/128 비트)
AHB 상의 단순한 트랜잭션은 주소 단계와 후속 데이터 단계로 구성됩니다(대기 상태가 없는 경우: 2개의 버스 사이클만).타깃 디바이스에 대한 액세스는 MUX(비트리스테이트)를 통해 제어되며, 이에 따라 한 번에 한 버스 마스터에 대한 버스 액세스가 허용된다.
AHB-Lite는 AHB의 서브셋으로, AHB 3 규격에 정식으로 정의되어 있습니다.이 서브셋에 의해 마스터가 1개인 버스의 설계가 간략화됩니다.
어드밴스드 페리페럴 버스(APB)
APB는 저대역폭 제어 액세스용으로 설계되어 있습니다.예를 들어 시스템 페리페럴의 레지스터 인터페이스입니다.이 버스의 주소 및 데이터 위상은 AHB와 비슷하지만 복잡도가 낮은 신호 리스트(버스트 없음 등)가 대폭 감소합니다.또한 비트폭(32비트)이 낮은 저주파 시스템용으로 설계된 인터페이스입니다.
AMBA 제품
ARM Limited는 AMBA 프로토콜 사양을 사용하여 데이터를 효율적으로 이동 및 저장하기 위해 SoC에 디지털 버스를 구현하는 합성 가능한 지적 재산(IP) 코어 AMBA 제품군을 라이센스할 수 있습니다.AMBA 패밀리에는 AMBA 네트워크 인터커넥트(CoreLink NIC-400), 캐시 코히런트 인터커넥트(CoreLink CCI-500), SDRAM 메모리 컨트롤러(CoreLink DMC-400), DMA 컨트롤러(CoreLink DMA-230, DMA-3302L)가 있습니다.
많은 제조업체가 비 ARM 설계에 AMBA 버스를 사용하고 있습니다.예를 들어 Infineon은 MIPS 아키텍처를 기반으로 ADM5120 SoC에 AMBA 버스를 사용합니다.
경쟁 제품
- OpenCores의 Wishbone – 프리 오픈 버스 아키텍처(구 Silicore의)
- IBM의 임베디드 PowerPC에 사용되는 IBM의 CoreConnect 버스 기술뿐만 아니라 Xilinx MicroBlaze 또는 이와 유사한 코어를 사용하는 다른 많은 SoC 유사 시스템에도 사용됩니다.
- IDT별 IPBus
- Avalon – Nios II SoC에서[5] 사용하기 위한 Altera의 독자 버스 시스템
- Accellera의 Open Core Protocol(OCP)
- AMD의 HyperTransport(HT) (단, 온칩버스가 아닌 오프칩 인터페이스)
- 인텔의 QuickPath Interconnect (QPI) (단, 온칩버스가 아닌 오프칩 인터페이스)
- PICC에서 가상 공유 - 무료 오픈 소스
- TileLink - 칩스[6] 얼라이언스의 프리 오픈 버스 아키텍처
「 」를 참조해 주세요.
- 기능사양서
- 마스터/슬레이브(테크놀로지)
- 버스 기반 아키텍처의 대체 수단인 Network on 칩(Network on Chip)
레퍼런스
- ^ AMBA 상표 라이선스, http://arm.com/about/trademarks/arm-trademark-list/AMBA-trademark.php
- ^ 새로운 AMBA 4 사양, 이종 멀티코어 SoC의 일관성 최적화, https://www.arm.com/new-amba-4-specification-optimizes-coherency-for-heterogeneous-multicore-socs.php
- ^ a b 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
- ^ Kriouile, A. & Serwe, W. (2013년)캐시 코히런트 시스템 온 칩의 ACE 사양 공식 분석산업 크리티컬 시스템의 공식 방법 (p. 108-122).스프링거 베를린 하이델베르크, ISBN978-3-642-41010-9
- ^ 아발론
- ^ "Chips Alliance". Chips Alliance. Retrieved 2020-06-21.
외부 링크
- 암 개발자 AMBA 홈페이지 - 암에서
- AMBA 사양 홈페이지 - ARM
- 암의 암바
- AMBA 매뉴얼 - ARM에서
- AHB를 포함한 AMBA 2 사양 - ARM에서
- AMBA AXI 및 ACE 프로토콜 규격 AXI3, AXI4 및 AXI4-Lite, ACE 및 ACE-Lite - ARM에서
- APB4, APB3, APB2를 포함한 AMBA APB 사양 - ARM에서