어드밴스트 마이크로컨트롤러 버스 아키텍처
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
어드밴스트 마이크로컨트롤러 버스 아키텍처(AMBA)는 SoC(System on Chip) 내에서 구성 요소 간의 상호 연결을 위한 온칩 통신 표준으로, Arm에서 지원하며 다양한 산업에서 사용된다. AMBA는 여러 CPU, GPU, 신호 프로세서를 갖춘 임베디드 마이크로컨트롤러 제품의 설계를 지원하며, IP 코어의 재사용성, 모듈형 시스템 설계, 고성능 및 저전력 지원을 목표로 한다. AMBA는 AXI, AHB, APB 등 다양한 프로토콜을 정의하며, AMBA 5부터 AMBA 2까지 여러 버전의 규격이 존재한다. AMBA 제품군은 Arm에서 라이선스를 제공하는 IP 코어 제품군으로, SoC에서 데이터를 효율적으로 이동하고 저장하는 데 사용되며, 인피니언과 같은 다른 제조업체에서도 사용된다. AMBA와 경쟁하는 기술로는 Wishbone, CoreConnect, Avalon 등이 있다.
AMBA 규격은 고성능 임베디드 마이크로컨트롤러 설계를 위한 온칩 통신 표준으로, Arm에서 지원하며 광범위한 산업 참여가 이루어지고 있다.
2. 설계 원칙
SoC의 중요한 측면은 구성 요소나 블록을 포함하는 것뿐만 아니라, 이들이 어떻게 상호 연결되는지도 포함한다. AMBA는 블록들이 서로 인터페이스할 수 있도록 하는 솔루션이다.
AMBA 사양의 목표는 다음과 같다.3. AMBA 프로토콜 사양
AMBA 5 규격은 다음 버스/인터페이스를 정의한다.
AMBA 4 규격은 Cortex-A7 및 Cortex-A15를 포함한 최신 Arm Cortex-A 프로세서에서 널리 사용되는 AXI 일관성 확장(ACE)을 포함하여 다음과 같은 버스/인터페이스를 정의한다.
AMBA 3 규격은 Cortex-A9를 포함한 Arm Cortex-A 프로세서에서 널리 사용되는 Advanced eXtensible Interface(AXI3 또는 AXI v1.0)를 포함하여 네 가지 버스/인터페이스를 정의한다.
AMBA 2 규격은 ARM7, ARM9 및 Arm Cortex-M 기반 설계에서 널리 사용되는 고급 고성능 버스(AHB)를 포함하여 세 가지 버스/인터페이스를 정의한다.
AMBA 규격 초판은 두 가지 버스/인터페이스를 정의한다.
버스상의 타이밍 측면 및 전압 레벨은 규격에 의해 규정되지 않는다.
3. 1. AMBA 5 규격
3. 2. AMBA 4 규격
3. 3. AMBA 3 규격
3. 4. AMBA 2 규격
3. 5. 이전 규격
4. 주요 프로토콜
4. 1. AXI Coherency Extensions (ACE and ACE-Lite)
AMBA 4 사양의 일부로 정의된 ACE는 AXI를 확장하여 시스템 전체의 일관성을 제공한다. 이를 통해 여러 프로세서가 메모리를 공유하고 Arm의 big.LITTLE 프로세싱과 같은 기술을 사용할 수 있다. ACE-Lite는 단방향 일관성, 즉 I/O 일관성을 지원한다. 예를 들어, 완전한 일관성을 가진 ACE 프로세서의 캐시에서 읽을 수 있는 네트워크 인터페이스가 있다.4. 2. Advanced eXtensible Interface (AXI)
'''어드밴스트 익스텐저블 인터페이스'''(Advanced eXtensible Interface, AXI)는 AMBA 3 규격에 정의된 AMBA 인터페이스의 3세대이며, 고성능, 고 클럭 주파수 시스템 설계를 목표로 한다. 고속 서브 마이크로미터 상호 연결에 적합하도록 다음과 같은 기능을 포함한다.- 주소/제어와 데이터 단계를 분리한다.
- 바이트 스트로브를 사용하여 정렬되지 않은 데이터 전송을 지원한다.
- 시작 주소만 발행하는 버스트 기반 트랜잭션을 사용한다.
- 응답 순서에 관계없이 여러 개의 미해결 주소를 발행할 수 있다.
- 타이밍 마감(timing closure)을 제공하기 위한 레지스터 스테이지를 쉽게 추가할 수 있다.
4. 3. Advanced High-performance Bus (AHB)
'''AHB'''는 Arm 사에서 발표한 Advanced Microcontroller Bus Architecture(어드밴스트 마이크로컨트롤러 버스 아키텍처) 버전 2에 도입된 버스 프로토콜이다.이전 릴리스 외에 다음과 같은 특징이 있다.
- 큰 버스 폭(64/128/256/512/1024 비트).
AHB에서의 단순한 트랜잭션은 주소 단계와 그 다음 데이터 단계로 구성된다(대기 상태 없음: 단 두 개의 버스 사이클). 대상 장치에 대한 액세스는 MUX(비 트라이스테이트)를 통해 제어되므로 한 번에 하나의 버스 마스터에게 버스 액세스를 허용한다.
AMBA 3 표준에 공식적으로 정의된 '''AHB-Lite'''는 단일 마스터가 있는 버스에 대한 설계를 단순화한 AHB의 부분 집합이다.
4. 4. Advanced Peripheral Bus (APB)
'''Advanced Peripheral Bus''' (APB)는 저대역폭 제어 접근, 예를 들어 시스템 주변 장치의 레지스터 인터페이스를 위해 설계되었다. 이 버스는 AHB와 유사한 주소 및 데이터 단계를 가지지만, 훨씬 축소된, 낮은 복잡성의 신호 목록(예: 버스트 없음)을 가지고 있다. 또한, 낮은 비트 폭(32비트)을 가진 저주파 시스템을 위해 설계된 인터페이스이다.5. AMBA 제품군
Arm에서 라이선스를 제공하는 ''AMBA 제품''은 합성 가능한 지적 재산(IP) 코어 제품군으로, Arm의 AMBA 프로토콜 사양을 사용하여 SoC에서 데이터를 효율적으로 이동하고 저장하기 위한 디지털 버스를 구현한다. 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) 등이 포함된다.
인피니언과 같이 다수의 제조업체에서 비-ARM 설계를 위해서도 AMBA 버스를 사용한다. 예를 들어 인피니언은 MIPS 아키텍처 기반의 ADM5120 SoC에 AMBA 버스를 사용한다.
6. 경쟁 기술
어드밴스트 마이크로컨트롤러 버스 아키텍처(AMBA)와 경쟁하는 온칩 버스 아키텍처 및 인터페이스 기술은 다음과 같다.
- 위시본 - 오픈코어스의 자유 오픈 버스 아키텍처 (이전에는 실리코어(Silicore)에서 개발)
- 코어커넥트 - IBM의 버스 기술로 IBM의 임베디드 파워PC에 사용되었으며, 자일링스 마이크로블레이즈 또는 유사한 코어를 사용하는 많은 다른 SoC 유사 시스템에도 사용됨
- IDT(Integrated Device Technology)의 IPBus
- 아발론 - 알테라에서 자사의 Nios II SoC에 사용하기 위한 독점 버스 시스템
- 어셀레라의 오픈 코어 프로토콜
- AMD의 하이퍼트랜스포트 (온칩 버스가 아닌 오프칩 인터페이스)
- 인텔의 퀵패스 인터커넥트 (온칩 버스가 아닌 오프칩 인터페이스)
- PICC의 가상 공유 - 자유 오픈 소스
- 칩스 얼라이언스의 타일링크(TileLink) - 자유 오픈 버스 아키텍처
7. 한국에서의 활용
참조
[1]
문서
Avalon
http://www.altera.co[...]
[2]
웹사이트
Chips Alliance
https://chipsallianc[...]
2020-06-21
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com