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

+ Recent posts