왜? Bus Architecture가 만들어지게 되었을까?
Chip, Peripheral 등을 각각의 Bus로 연결하면 개수가 적을 때는 상관 X
그러나? 개수가 많아지면 Bus가 "매우" 많이 필요해짐 → 설계 난이도 상승 ↑
→ 하나의 Bus로 연결하자! → 하지만 각각의 처리속도가 다름
→ 그래서 특정 Protocol(약속)이 필요해짐 → AMBA의 등장
AMBA(Advanced Microcontroller Bus Architecture)
- "ARM"에서 개발한 Bus Architecture
- Bus 종류마다 특화된 기능이 다름
AXI(Advanced eXtensible Interface)
- 'AMBA 3'부터 포함
- AHB, APB와의 호환성
- AHB 보다 높은 Performance
- 높은 'Bandwidth(대역폭)'
- 낮은 'Latency(지연속도)'
- Phase 분리
- Address / Control / Data
- Burst-based Transaction 사용
- Read / Write Chnnel 분리
- Low-Cost DMA(Direct Memory Access) 가능
- Multiple Address Issuing 지원
- Timing Closure을 제공
- Register Stages 쉽게 첨가 가능
- Master / Slave 구조
AHB(Advanced High-performance Bus)
- APB에서 Perfomance에 집중
- Burst 지원
- Arbiter / Master / Slave 구조
APB(Advanced Peripheral Bus)
- 저가형 인터페이스
- Signal 수가 적음
- 낮은 속도
- Master / Slave 구조