AMBA BUS Protocol의 이해 (AMBA 2.0 Specification)

Slides:



Advertisements
Similar presentations
Embedded System 2009 년 11 월 16 일 Embedded Computer1 ● Hardware 와 Software 가 조합되어 특정한 복적을 수행하는 시스템 ● 특정한 기능을 수행하도록 Micro Processor 와 I/O Device 를 내장하며,
Advertisements

핵심 프로세서 Core-A 활용확신 지원사업 Core-A 프로세서 지원센터. 핵심 프로세서 Core-A 활용확산 지원사업 t Core-A Processor Cache & MMU & Debugger Tool Chain & Implementation Core-A Homepage.
Family 의 개요 의 외부 Pin 기능과 내부 기능 Memory 구조 Timing 2 장 8051 의 구조.
1 8 장 대형 순차회로 문제의 해법 1) 시프트 레지스터 2) 카운터 3)ASM 도를 이용한 설계 4)One Hot encoding 5) 복잡한 예제.
1 비동기와 동기 전송 (Asynchronous and Synchronous Transmission) 전송링크를 통해 전송하기 위해 두 장치 사이의 긴밀한 협조와 동의가 필요 — 송 수신기간에 동기 (synchronize ) 를 맞추기 위한 비트들의 Timing( 전송률,
1/37 Chapter 4: 프로세서 성능과 휴대성을 위한 하드웨어 © The McGraw-Hill Companies, Inc., 세기의 가장 중요한 발명품 : 마이크로 프로세서 일상생활에 널리 사용됨 프로그램에 의한 적응성.
1. Drive A, Drive B 표준 CMOS 설정 화면에서는 하드디스크 드라이브의 특성 외에 플로피디스크 드라이브도 설정해야 합니다. PC에서 FDD를 2개까지 사용할 수 있다. 표준 CMOS  설정 화면의 Drive A와 Drive B 항목에서는 플로피디스크.
컴퓨터의 구조 2006년 2학기 컴퓨터의 개념 및 실습.
1. 발명의 명칭 SSD-ODD 결합된 장치에서 Optical Disc의 Defect Management방법 2. 발명의 분야
Chapter 9. 컴퓨터설계기초 9-1 머리말 9-2 데이터 처리장치 (Datapath)
ISA 심화 및 start.S code 분석 SIOR 15th 최재훈.
6주차:『GPU(CUDA) Programming』
ARM을 이용한 7 segment LED 제어 Verilog 소스
Project Goal..! Milestone Role Division Achievement Result
Chapter 7. Flip-Flops and Other Multivibrators
2장 마이크로프로세서 구성요소 Slide 1 (of 19).
제 2장 컴퓨터 구조.
IT R&D Global Leader Finger Motion 인식 SoC ETRI Technology Marketing
13장. 시스템 버스 다루는 내용 시스템 버스의 개념 다중버스 계층 구조 버스 중재.
마이크로프로세서 메모리 및 입출력장치 인터페이스
기본 컴퓨터의 구조와 설계 Lecture #5.
마이크로프로세서(Microprocessor,µP)
Digital Logic Structures
제7장 버스와 입출력.
Computer System Architecture
제6장 FUSING.
2 Part 전자계산기 구조 1. 논리 회로 2. 자료 표현 및 연산 3. 명령어 및 프로세서 4. 명령 수행 및 제어 5.
Operating Systems Overview
제어기술 소개 목표 : 제어기의 종류, 제어 방식 등을 살펴본다. 주요내용 제어기의 종류 제어방식 : 시퀀스, 피드백, 등.
10장 주변장치 (PIO) Slide 1 (of 28).
7장 : 캐시와 메모리.
3장. 라우터와 스위치의 기본설정 2012년 2학기 중부대학교 정보보호학과 이병천 교수.
임베디드 하드웨어 Lecture #6.
연습문제풀이/도움말.
DSP와 TMS320F28X의 이해
DSP와 TMS320F28x의 이해.
6장. 기 억 장 치 Lecture #6.
S3c6410을 이용한 리눅스 비디오 드라이버 포팅 가이드 – - Linux Video Driver Porting Guide Using s3c6410 – 박영만
2-1. PLC I/O 할당 입.출력 기기와 외부기기와의 접속
컴퓨터 구조.
Chapter 02 시스템 구조(System Structure)
1 컴퓨터 시스템 소개.
4장. 컴퓨터 시스템의 구성과 기능 다루는 내용 컴퓨터 분해를 통한 본체 살펴보기 컴퓨터 구성요소 컴퓨터의 기능
PART 02 프로토콜 컴퓨터 네트워크 chapter 06 트랜스포트 계층 임효택.
RS-485 Protocal 설계 Overveiw
SOC, Bus, NIC and NOC.
Chapter 7. Pentium Processor
1. Embedded System의 이해.
3장. 라우터와 스위치의 기본설정 2012년 2학기 중부대학교 정보보호학과 이병천 교수.
6 중앙처리장치의 조직과 기능 IT CookBook, 컴퓨터 구조와 원리 2.0.
3주 컴퓨터구조.
8086 프로세서의 구조 및 동작 방식 시스템 프로그래밍 - Lecture #2 신라대학교 컴퓨터공학과 시스템 프로그래밍.
Flip-Flop 설계.
제 2장 컴퓨터동작의 기본 개념.
Chapter 10. 파일 시스템 인터페이스(File System Interface)
아날로그 VS 디지탈 -. Analog Vs Digital -. 디지털 논리에 대하여 -. 메모리에 대하여
Fault Diagnosis for Embedded Read-Only Memories
Computer System Architecture
Programmable Logic Device
Chapter 4 The Von Neumann Model.
성균관대학교 전자전기컴퓨터공학과 오영환, 박효진
Computer System Architecture
Transmission Control Protocol (TCP)
Computer System Overview
Chapter 12 Memory Organization
제17강 입출력시스템 2.
제 3 장 운영체제와 입출력 방식 Section 1 입출력 기능 Section 2 입출력 방식 Section 3 입출력 버퍼링
제16강 입출력시스템 1.
임베디드 하드웨어 Lecture #6.
Lecture 7 7-Segment LED controller using u-controller
Presentation transcript:

AMBA BUS Protocol의 이해 (AMBA 2.0 Specification)

AMBA background ARM사가 선보인 AMBA (Advanced Microcontroller Bus Architecture)는 오픈 표준 버스 규격 AMBA는 SOC를 구성하는 기능 블록들 간의 연결 및 관리 방법으로써 하나 또는 그 이상의 CPU/ DSP를 내장한 임베디드 제품의 적시 출시 AMBA 버스는 SOC 내부 모듈들을 위한 공통 시스템 버스(backbone)를 정의 함으로써 디자인의 재사용을 한층 강화시키는 장점을 제공

AMBA Overview Advanced Microcontroller Bus Architecture SoC Target On-chip bus protocol 3 type of bus AHB (the advanced High-performance bus) ASB (the Advanced System Bus) APB (the Advanced Peripheral Bus) AXI (the Advanced extensible Interface) spec 3.0

AMBA AHB introduce AHB master read/write 요청 한번에 하나의 master만이 bus를 사용 가능 AHB slave 주어진 address 범위 내에서 read/write동작 수행 데이터 전송에 대한 success, failure, waiting상태에 대한 정보를 master에 보고 AHB arbiter 한번에 하나의 master만이 bus를 사용하도록 함 AHB decoder decoder는 전송하고자 하는 slave의 어드레스를 decode 하나의 decoder가 모든 AHB상의 slave들을 decode

Example AMBA BUS SYSTEM A typical AMBA-based system High Performance ARM processor APB UART High Bandwidth External Memory Interface Timer APB Bridge AHB Keypad High-bandwidth on-chip RAM DMA Bus Master PIO Low Power Non-pipelined Simple Interface High Performance Pipelined Burst Support Multiple Bus Masters

Bus interconnection

AMBA AHB Overview Address Data High performance Pipelined operation Multiple bus masters It is necessary to implement Arbiter. Single cycle bus master handover Burst transfers Split transactions Single clock edge operation Rising edge Non-tristate implementation Uni-direction vs Bi-direction Address Data

AMBA diagram Master Arbiter 0~15 Slave 0~15 Decoder HBUSREQx HADDRx[31:0] HLOCKx HWDATAx[31:0] HSIZEx[2:0] HTRANSx[1:0] HGRANTx HBURSTx[2:0] HWRITE HMASTLOCK HMASTER[3:0] HSPLITx Slave 0~15 HADDR[31:0] HADDR[31:0] HREADY HWDATA[31:0] HRDATA[31:0] HSIZE[2:0] Decoder HTRANS[1:0] HSELx

AMBA AHB signal list(1) Name Source Description HCLK Clock source Bus clock (rising edge) HRESETn Reset controller Reset (Active low) HADDR[31:0] Master Address bus HTRANS[1:0] Transfer type (nonsequential,sequential,idle,busy) HWRITE Transfer direction (high-write/low-read) HSIZE[2:0] Transfer size[(8 bit,16 bit,32bit), 최대 1024bit] HBURST[2:0] Burst type(4,8,16 beat burst 지원) HPROT[3:0] Protection control (opcode fetch or data access) (privileged mode access, user mode access) HWDATA[31:0] Write data bus HSELx Decoder Slave select HRDATA[31:0] Slave Read data bus HREADY Transfer done (high-done) HRESP Transfer response (okey,error,retry,split)

AMBA AHB signal list(2) Name Source Description HBUSREQx Master Bus request(최대 16 bus master) HLOCKx Locked transfers (High-독점하다가 low가 될 때까지 다른 master는 사용 못함) HGRANTx Arbiter Bus grant (버스 사용 – HREADY,HGRANTx가 high일 때) HMASTER[3:0] Master number HMASTLOCK Locked sequence (HMASTER signal과 같은 timing) HSPLITx[15:0] Slave Split completion request

Basic transfer Simple transfer Transfer with wait states HREADY신호가 ‘0’이면 Data phase는 지속된다

Multiple transfer Multiple transfer

Transfer type HTRANS[1:0] Type Description 00 IDLE 데이터 전송을 하고 있지 않은 상태이므로 Master가 Slave로 데이터를 전송하고자 할 때 언제든지Slave로부터 Okay응답을 받을 수 있다. 01 BUSY Burst전송 동작 중 IDLE상태를 갖도록 한다. Burst동작 중 데이터를 가져오기 전에 어떤 처리를 위하여 기다리게 될 경우에 중간에 IDLE상태를 만들기 위해 BUSY를 사용한다. 10 NONSEQ 단일 데이터 전송이나 Burst전송의 첫 번째 동작에 사용된다. (전에 전송한 것과 관련 없다.) 11 SEQ Burst로 데이터를 전송할 경우 NONSEQ의 다음 데이터부터 SEQ로 동작한다. (전에 전송한 것과 관련 있다.)

Transfer type examples

Burst operation Burst는 1KB address boundary 넘을 수 없다 HBURST[2:0] Type Description 000 SINGLE Single transfer 001 INCR Incrementing burst of unspecified length 010 WRAP4 4-beat wrapping burst 011 INCR4 4-beat increment burst 100 WRAP8 8-beat wrapping burst 101 INCR8 8-beat increment burst 110 WRAP16 16-beat wrapping burst 111 INCR16 16-beat increment burst Burst는 1KB address boundary 넘을 수 없다

4-beat wrapping burst

4-beat incrementing burst

8-beat incrementing burst

Undefined-length bursts

Transfer size HSIZE[2:0] Size Description 000 8bits Byte 001 16bits Halfword 010 32bits Word 011 64bits - 100 128bits 4-word line 101 256bits 8-word line 110 512bits 111 1024bits

Address decoding

Slave transfer response : retry okey response : 1 cycle error, split, retry : 2 cycle 이상

Slave transfer response : split

Arbitration : granting bus access

Arbitration : granting bus access with wait states

Arbitration : handover after burst

Typical AMBA AHB-based system

State diagram Default state PSELx = 1 1 clock 후 ENABLE state로 이동 PENABLE = 1 전송완료 후 IDEL state로 이동 다른 전송이 있으면 SETUP state로 이동

APB Write/Read transfer ENABLE IDELE SETUP ENABLE IDLE ENABLE cycle에 data가 나와야 한다 Write transfer Read transfer 전력소모를 줄이는 방법 : address sig와 write sig를 다음 ACCESS가 일어날 때까지 바꾸지 않는다

APB bridge Bridge 역할 Address 를 latch하고 전송하는 동안 hold Address를 decode하고 PSELx 만든다 Write 전송 시 APB에 데이터 넣는다 Read 전송 시 system에 APB data를 넣는다 전송 시 PENABLE 를 만든다

APB bridge transfer (timing)

APB Slave Write transfer 을 위해 data를 latch PSEL- high 일 때 Pclk의 rising edge때 PSEL- high 일 때 PENABLE의 rising edge때 Write transfer PSELx , PADDR, PWRITE 에 의해 결정된다 READ transfer시 data를 data bus에 넣는 방법 PWRITE- LOW, PSELx-HIGH, PENABLE- HIGH, ADDRESS

Interfacing APB to AHB (read transfer)

Interfacing APB to AHB Burst of read transfers

Interfacing APB to AHB Write transfers

Interfacing APB to AHB Burst of write transfers