Ch1 Seminar/AMBA BUS

AMBA AHB (1) Signals / Transfer

베린이 2023. 5. 20. 12:06
반응형

APB Bus가 peripheral 같은 고성능이 필요하지 않은 모듈들을 위한 버스이기 때문에 성능보다는 최적화를 중요시 여겼다면 AHB(Advanced High-performance Bus)는 보다 성능에 집중한 버스입니다. 그래서 signal도 더 많고 실제 작동하는 방식도 복잡합니다.
 
그럼 AHB protocol specification을 보면서 AMBA AHB Bus에 대해 알아볼까요??
 

- Block diagram

먼저 Block diagram부터 봐야겠죠?? 언뜻 보면 Master가 여러 Slave를 HSEL을 통해 선택하고 HWDATA와 HRDATA로 데이터를 주고받는 간단한 구조로 보입니다. 하지만 APB Bus에는 없는 여러 가지 신호와 기능들이 있는데요, Signal을 보면서 알아봅시다.
 

- Signals

Spec. Ch 2는 AHB Bus의 signal에 대해서 기술합니다.

먼저 APB Bus와 마찬가지로 clock과 Active Low인 resetn이 있습니다. 다음부터 난리 나요,,,,

HADDR은 알겠는데,,,, 나머지는 뭐지?? 아직 안 끝났습니닼ㅋㅋㅋㅋㅋ

HWDATA, HWRITE 빼고는 모르는 signal들이네요,,, 여기까지가 Master에서 나가는 신호입니다.

HRDATA는 Slave에서 Master로 가는 데이터일 것이고,,,, HREADYOUT은 Slave 준비 상태를 의미하겠죠?? 모르는 신호들이 너무 많은데 실제 AHB 동작을 하나하나 확인하면서 알아봅시다.

 


 

- AHB Read / Write

1. Single transfer

Spec. Ch 3는 Transfer에 대해 기술합니다. 먼저 Basic transfer를 살펴볼까요?

AHB Basic transfer APB transfer와 크게 차이가 없는 것처럼 보입니다. 하지만 AHB transfer는 address phase와 data phase로 나뉘는 것을 알 수 있습니다. 잠깐 APH transfer timing diagram을 살펴볼까요??

APB write transfer <AMBA&reg; APB Protocol Version: 2.0 Specification>

APB transfer의 경우 Slave가 데이터를 받을 준비가 되어 PREADY가 뜨면 Slave가 데이터를 받는데 그동안 PADDR은 신호를 계속해서 잡고 있게 됩니다. 하지만 AHB transfer의 경우, address와 data의 phase가 분리돼 있기 때문에  HADDR이 신호를 계속 물고 있지 않아도 됩니다. 그렇다면 그게 무슨 이점이 있을까요?? 그건 Multiple transfer를 보면서 이해해 봅시다.
 

2. Multiple transfer

우선 위 transfer의 시나리오를 살펴보자면 write이 1이면 쓰기, 0이면 읽기라고 했죠?? A 주소에 쓰고 B 주소의 데이터를 읽고 C 주소에 쓰는데, B 주소의 데이터를 읽을 때 slave가 무슨 일인지 준비가 안 돼서 1 clock 주기만큼 기다리고 진행하는 상황이네요.
AHB transfer의 가장 큰 특징 중 하나는 address phase와 data phase가 중첩이 된다는 겁니다.

Data phase와 다음 transfer의 address phase를 중첩시킴으로써 Multiple transfer가 연속적으로 진행될 수 있고, 이를 통해 performance를 높일 수 있습니다.
 
 
 
< 출처 : ARM® AMBA 5 AHB Protocol Specification / electronic-hwan.tistory.com >

 

 

'Ch1 Seminar > AMBA BUS' 카테고리의 다른 글

AMBA AHB (3) Slave response signal  (0) 2023.05.24
AMBA AHB (2) Burst mode transfer  (0) 2023.05.20
AMBA APB (2) Slave error signal  (0) 2023.05.20
AMBA APB (1) Signals / Transfer  (0) 2023.05.20
AMBA Bus  (0) 2023.05.20