AMBA (Advanced Microcontroller Bus Architecture)는 ARM이 개발한 버스 프로토콜로, SoC 설계에서 다양한 컴포넌트들이 효율적으로 통신할 수 있도록 설계되었습니다.
1. AMBA 버스 프로토콜 종류
1.1 APB (Advanced Peripheral Bus)
- 용도: 저속 주변 장치와 통신
- 특징: 간단한 인터페이스와 낮은 전력 소비, 주로 타이머, UART, GPIO 같은 저속 주변 장치에 사용
- 동작 방식: 비파이프라인 방식으로, 한 번에 하나의 데이터 전송을 수행하며 주로 클록이 느린 슬레이브와 연결
1.2 AHB (Advanced High-performance Bus)
- 용도: 고속 메모리 및 주변 장치와의 통신
- 특징: 고성능 버스, 여러 마스터가 버스에 연결될 수 있으며, 파이프라인 지원
- 동작 방식: 파이프라인된 주소, 데이터 전송, 멀티플렉싱 지원, 버스트 전송 가능
- AMBA 버전: AMBA 2에서 처음 도입
1.3 AXI (Advanced eXtensible Interface)
- 용도: 고성능, 고효율의 데이터 전송을 필요로 하는 시스템
- 특징: 분리된 읽기/쓰기 채널, 버스트 모드 지원, 높은 데이터 처리량
- 동작 방식: 읽기/쓰기 채널이 독립적으로 작동하며, 더 높은 대역폭과 낮은 레이턴시를 제공
2. AMBA 프로토콜 구성 요소 (Component)
2.1 Master
- 버스 상에서 데이터를 요청하는 컴포넌트. CPU, DMA 컨트롤러 등이 대표적인 Master 장치입니다.
- 역할: 버스를 통해 슬레이브 장치로 데이터를 전송하거나 데이터를 읽어옴.
2.2 Slave
- Master의 요청을 처리하는 컴포넌트. 메모리, 주변 장치들이 슬레이브로 연결될 수 있습니다.
- 역할: Master가 보낸 데이터를 수신하거나 Master에게 데이터를 전달.
2.3 Arbiter
- 여러 Master가 동시에 버스 사용을 요청할 때, 그 요청을 조정하는 역할을 합니다.
- 역할: 우선순위에 따라 버스를 할당하여 시스템의 효율을 높임.
2.4 Decoder
- Master의 주소 요청에 따라, 해당 주소가 어떤 슬레이브에 연결되어 있는지를 결정하는 컴포넌트입니다.
- 역할: 주소 매핑을 통해 데이터 흐름을 관리.
2.5 Interconnect
- 여러 개의 Master와 여러 개의 Slave가 동시에 통신할 수 있도록 다중 버스 구조를 지원합니다.
- 역할: 효율적인 데이터 전송을 위해 복잡한 인터커넥션 구조를 구현.

'SoC Protocol > AMBA' 카테고리의 다른 글
| 06. AHB Write Operation (0) | 2024.09.27 |
|---|---|
| 05. AHB Interface (0) | 2024.09.27 |
| 04. APB Read Transfer (0) | 2024.09.27 |
| 03. APB Write Transfer (0) | 2024.09.27 |
| 02. APB interface (0) | 2024.09.27 |