KR20120046461A - 인터페이스 장치 및 이를 포함하는 시스템 - Google Patents

인터페이스 장치 및 이를 포함하는 시스템 Download PDF

Info

Publication number
KR20120046461A
KR20120046461A KR1020100108125A KR20100108125A KR20120046461A KR 20120046461 A KR20120046461 A KR 20120046461A KR 1020100108125 A KR1020100108125 A KR 1020100108125A KR 20100108125 A KR20100108125 A KR 20100108125A KR 20120046461 A KR20120046461 A KR 20120046461A
Authority
KR
South Korea
Prior art keywords
transaction
slave
interface device
subtransaction
remaining
Prior art date
Application number
KR1020100108125A
Other languages
English (en)
Inventor
윤재근
엄준형
정현욱
홍성민
이정식
강현준
링링 래오
권우철
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020100108125A priority Critical patent/KR20120046461A/ko
Priority to US13/287,339 priority patent/US20120117286A1/en
Publication of KR20120046461A publication Critical patent/KR20120046461A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)

Abstract

인터페이스 장치는 트랜잭션 관리부, 버퍼부 및 선택회로를 포함한다. 상기 트랜잭션 관리부는 적어도 하나의 마스터 장치로부터의 트랜잭션의 크기에 기초하여 상기 트랜잭션을 헤드 서브트랜잭션과 적어도 하나의 나머지 서브트랜잭션들로 분할한다. 상기 버퍼부는 상기 적어도 하나의 나머지 서브트랜잭션들을 각각 저장한다. 상기 선택회로는 슬레이브 장치로부터 제공되는 선택 제어 신호에 응답하여 상기 헤드 서브트랜잭션 및 상기 버퍼부의 출력 중 하나를 선택한다.

Description

인터페이스 장치 및 이를 포함하는 시스템{INTERFACE DEVICE AND SYSTEM INCLUDING THE SAME}
본 발명은 전송 기술에 관한 것으로, 보다 상세하게는 인터페이스 장치 및 이를 포함하는 시스템에 관한 것이다.
컴퓨터, 통신, 방송 등이 점차 통합되는 컨버전스(Convergence)화에 따라, 기존의 ASIC(Application specific integrated circuit: 주문형 반도체)과 ASSP(Application specific standard Product: 특정용도 표준제품)의 수요가 SoC(System-on-Chip)로 전환되어 가고 있는 추세이다. 또한 IT(Information Technology) 기기의 경박단소화 및 고기능화 추세도 SoC 산업을 촉진시키는 요인이 되고 있다.
SoC는 기존의 여러 가지 기능을 가진 복잡한 시스템을 하나의 칩으로 구현한 기술 집약적 반도체 기술이다. SoC의 현실화를 위해 많은 기술들이 연구되고 있으며, 특히 칩 내에 내재되어 있는 여러 지능소자(Intellectual Property)들을 연결하는 방안이 매우 중요한 사항으로 대두되고 있다.
본 발명의 일 목적은 마스터 장치 및 슬레이브 장치의 연결에서 레이턴시 및 오버헤드를 감소시킬 수 있는 인터페이스 장치를 제공하는데 있다.
본 발명의 다른 목적은 상기 인터페이스 장치를 포함하는 시스템을 제공하는데 있다.
상기 일 목적을 달성하기 위하여 본 발명의 일 실시예에 따른 인터페이스 장치는 트랜잭션 관리부, 버퍼부 및 선택회로를 포함한다. 상기 트랜잭션 관리부는 적어도 하나의 마스터 장치로부터의 트랜잭션의 크기에 기초하여 상기 트랜잭션을 헤드 서브트랜잭션과 적어도 하나의 나머지 서브트랜잭션들로 분할한다. 상기 버퍼부는 상기 적어도 하나의 나머지 서브트랜잭션들을 각각 저장한다. 상기 선택회로는 슬레이브 장치로부터 제공되는 선택 제어 신호에 응답하여 상기 헤드 서브트랜잭션 및 상기 버퍼부의 출력 중 하나를 선택한다.
실시예에 있어서, 상기 인터페이스 장치는 상기 트랜잭션을 수신하고, 상기 트랜잭션의 크기가 미리 설정된 기준 값을 초과하는지 여부를 나타내는 체크 신호를 상기 트랜잭션 관리부에 제공하는 경계 체크부를 더 포함할 수 있다.
실시예에 있어서, 상기 트랜잭션의 크기가 상기 미리 설정된 기준 값을 초과하는 경우, 상기 체크 신호는 제1 논리 레벨이고, 상기 트랜잭션 관리부는 상기 트랜잭션을 상기 헤드 서브트랜잭션과 상기 적어도 하나의 나머지 서브트랙잭션들로 분할하고, 상기 트랜잭션의 크기가 상기 미리 설정된 기준값 이하인 경우, 상기 체크 신호는 제2 논리 레벨이고, 상기 트랜잭션 관리부는 상기 트랜잭션을 그대로 상기 선택회로에 제공할 수 있다.
실시예에 있어서, 상기 트랜잭션의 크기는 상기 트랜잭션에 포함되는 어드레스의 크기에 해당할 수 있다.
실시예에 있어서, 상기 버퍼부는 상기 적어도 하나의 나머지 서브트랜잭션들을 각각 저장하는 복수의 레지스터들을 포함하고, 상기 레지스터들에 저장된 상기 나머지 서브트랜잭션들은 순차적으로 상기 선택회로에 출력할 수 있다.
실시예에 있어서, 상기 인터페이스 장치는 상기 버퍼부로부터 순차적으로 출력되는 상기 적어도 하나의 나머지 서브트랜잭션들을 병합하여 상기 선택회로에 제공하는 병합부를 더 포함할 수 있다.
실시예에 있어서, 상기 트랜잭션은 기입 트랜잭션 및 독출 트랜잭션 중 하나이고, 상기 트랜잭션이 기입 트랜잭션인 경우, 상기 기입 트랜잭션은 적어도 기입 어드레스 및 기입 데이터를 포함하고, 상기 트랜잭션이 독출 트랜잭션인 경우, 상기 독출 트랜잭션은 적어도 독출 어드레스를 포함할 수 있다.
실시예에 있어서, 상기 인터페이스 장치는 AXI(Advanced extensible interface) 프로토콜(protocol)을 따를 수 있다.
상기 일 목적을 달성하기 위한 본 발명의 일 실시예에 따른 시스템은 복수의 마스터 장치들, 복수의 슬레이브 장치들, 인터커넥트 장치 및 슬레이브 인터페이스 장치를 포함한다. 상기 인터커넥트 장치는 상기 복수의 마스터 장치들 각각과 상기 복수의 슬레이브 장치들 각각을 연결한다. 상기 슬레이브 인터페이스 장치는 상기 적어도 하나의 마스터 장치로부터의 트랜잭션의 크기에 기초하여 상기 트랜잭션을 선택적으로 헤드 서브트랜잭션과 적어도 하나의 나머지 서브트랜잭션들로 분할하는 트랜잭션 관리부, 상기 적어도 하나의 나머지 서브트랜잭션들을 각각 저장하는 버퍼부 및 상기 해당 슬레이브 장치로부터 제공되는 제어 신호에 응답하여 상기 헤드 서브트랜잭션 및 상기 버퍼부의 출력 중 하나를 선택하는 선택회로를 포함한다.
실시예에 있어서, 상기 복수의 마스터 장치들 및 상기 복수의 슬레이브 장치들은 하나의 칩에 설치할 수 있다.
본 발명의 실시예들에 따르면 트랜잭션의 크기에 따라 트랙잭션을 분할할 수 있어 레이턴시 및 오버헤드를 감소시킬 수 있다.
도 1은 본 발명의 일 실시예에 따른 시스템을 나타내는 블록도이다.
도 2는 도 1의 시스템이 독출(read) 트랜잭션(transaction)을 수행하는 것을 나타낸다.
도 3은 도 1의 시스템이 기입(write) 트랜잭션(transaction)을 수행하는 것을 나타낸다.
도 4는 도 2의 독출 트랜잭션의 동작을 나타내는 타이밍도이다.
도 5는 도 3의 기입 트랜잭션의 동작을 나타내는 타이밍도이다.
도 6은 도 1의 본 발명의 일 실시예에 따른 도 1의 인터커넥트 장치를 나타내는 블록도이다.
도 7은 본 발명의 일 실시예에 따른 도 1의 슬레이브 인터페이스 장치의 구성을 나타내는 블록도이다.
도 8은 본 발명의 다른 실시예에 따른 도 1의 슬레이브 인터페이스 장치의 구성을 나타내는 블록도이다.
도 9는 도 7 또는 도 8의 슬레이브 인터페이스 장치의 동작을 나타낸다.
도 10은 도 7 또는 도 8의 슬레이브 인터페이스 장치의 동작을 나타낸다.
도 11은 도 1의 마스터 인터페이스 장치를 나타내는 블록도이다.
도 12는 도 11의 패킷의 구성을 나타낸다.
도 13a 내지 도 13d에서는 도1에서 마스터 장치와 슬레이브 장치가 각각 8개씩으로 구성되는 경우의 패킷의 구조를 설명한다.
본문에 개시되어 있는 본 발명의 실시예들에 대해서, 특정한 구조적 내지 기능적 설명들은 단지 본 발명의 실시예를 설명하기 위한 목적으로 예시된 것으로, 본 발명의 실시예들은 다양한 형태로 실시될 수 있으며 본문에 설명된 실시예들에 한정되는 것으로 해석되어서는 아니 된다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 본문에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 구성요소에 대해 사용하였다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위로부터 이탈되지 않은 채 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 도면상의 동일한 구성요소에 대해서는 동일하거나 유사한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 1은 본 발명의 일 실시예에 따른 시스템을 나타내는 블록도이다.
도 1을 참조하면, 시스템(10)은 제1 마스터 장치(20), 제2 마스터 장치(30), 제3 마스터 장치(40), 제1 슬레이브 장치(50), 제2 슬레이브 장치(60), 제3 슬레이브 장치(70) 및 인터커넥트(interconnect) 장치(100)를 포함한다. 제1 내지 제3 마스터 장치들(20, 30, 40) 각각은 마스터 인터페이스 장치들(300, 301, 302) 각각을 통하여 인터커넥트 장치(100)와 연결된다. 제1 내지 제3 슬레이브 장치들(50, 60, 70) 각각은 슬레이브 인터페이스 장치들(200, 201, 202) 각각을 통하여 인터커넥트 장치(100)와 연결된다. 도 1에서는, 설명의 편의상 시스템(10)이 세 개의 마스터 장치들(20, 30, 40)과 세 개의 슬레이브 장치들(50, 60, 70)을 포함하는 실시예가 도시되어 있으나, 시스템(10)에 포함되는 마스터 장치의 수 및 슬레이브 장치의 수는 다양하게 변경될 수 있다. 또한 마스터 인터페이스 장치들(300, 301, 302)과 슬레이브 인터페이스 장치들(200, 201, 202)은 설명의 편의상 라인으로 도시되었으나, 마스터 인터페이스 장치들(300, 301, 302)과 슬레이브 인터페이스 장치들(200, 201, 202)은 하나의 선이 아닌 장치(device)임을 밝혀둔다. 또한 도 1의 시스템(10)은 AXI(advanced extensible interface)프로토콜을 따를 수 있다.
실시예에 있어서, 상기 슬레이브 장치들(50, 60, 70)은 메모리 장치일 수 있고, 상기 마스터 장치들(20, 30, 40)은 프로세서일 수 있다.
제1 마스터 장치(20)는 제1 트랜잭션(TRAC1)이 슬레이브 장치들(50, 60, 70)중 적어도 하나에 전송되도록 제1 트랜잭션(TRAC1)을 인터커넥트 장치(100)에 전송한다. 제2 마스터 장치(30)는 제2 트랜잭션(TRAC2)이 슬레이브 장치들(50, 60, 70)중 적어도 하나에 전송되도록 제2 트랜잭션(TRAC2)을 인터커넥트 장치(100)에 전송한다. 제3 마스터 장치(40)는 제3 트랜잭션(TRAC3)이 슬레이브 장치들(50, 60, 70)중 적어도 하나에 전송되도록 제3 트랜잭션(TRAC3)을 인터커넥트 장치(100)에 전송한다.
제1 내지 제3 트랜잭션들(TRAC1, TRAC2, TRAC3) 각각은 제1 내지 제3 마스터 장치들(20, 30, 40) 각각으로부터의 리퀘스트 버스트 또는 이에 해당하는 데이터 버스트일 수 있다. 제1 내지 제3 트랜잭션들(TRAC1, TRAC2, TRAC3)들 각각은 1 내지 제3 슬레이브 장치들(50, 60, 70) 중 적어도 하나에 대한 엑세스를 포함할 수 있다.
도 2는 도 1의 시스템이 독출(read) 트랜잭션(transaction)을 수행하는 것을 나타낸다.
도 2를 참조하면, 마스터 인터페이스 장치(MI)가 독출 어드레스 채널(110)을 통하여 독출 어드레스(ARADDR) 및 제어 신호(CON)를 슬레이브 인터페이스 장치(SI)에 전송한다. 슬레이브 인터페이스 장치(SI)는 독출 어드레스(ARADDR) 및 제어 신호(CON)에 응답하여 해당하는 독출 데이터(RD)를 독출 데이터 채널(120)을 통하여 마스터 인터페이스 장치(MI)에 전송한다. 즉 도 1의 시스템(10)은 독출 트랜잭션의 경우에는 독출 어드레스 채널(110) 및 독출 데이터 채널(120)을 통하여 독출 트랜잭션을 수행함을 알 수 있다.
여기서 마스터 인터페이스 장치(MI)는 도 1의 마스터 인터페이스 장치들(300, 301, 302)중 어느 하나일 수 있고, 슬레이브 인터페이스 장치(SI)는 도 1의 슬레이브 인터페이스 장치들(200, 201, 202) 중 어느 하나일 수 있다.
도 3은 도 1의 시스템이 기입(write) 트랜잭션(transaction)을 수행하는 것을 나타낸다.
도 3을 참조하면, 마스터 인터페이스 장치(MI)가 기입 어드레스 채널(130)을 통하여 기입 어드레스(AWADDR) 및 제어 신호(CON)를 슬레이브 인터페이스 장치(SI)에 전송한다. 또한 마스터 인터페이스 장치(MI)가 기입 데이터 채널(140)을 통하여 해당하는 기입 데이터(WD)를 슬레이브 인터페이스 장치(SI)에 전송한다. 기입 데이터(WD)를 수신한 슬레이브 인터페이스 장치(SI)는 기입 응답 채널(150)을 통하여 응답 신호(BRESP)를 마스터 인터페이스 장치(MI)에 전송한다. 즉 도 1의 시스템(10)은 기입 트랜잭션의 경우에는 기입 어드레스 채널(130), 기입 데이터 채널(140) 및 기입 응답 채널(150)을 통하여 기입 트랜잭션을 수행함을 알 수 있다.
도 4는 도 2의 독출 트랜잭션의 동작을 나타내는 타이밍도이다.
도 4를 참조하면, 클럭 신호(ACLK)가 시간들(T0~T13)에서 하이 레벨로 상승 천이한다. 클럭 신호(ACLK)의 하강 천이에 응답하여 독출 어드레스 신호(ARADDR)가 마스터 인터페이스 장치(MI)에서 슬레이브 인터페이스 장치(SI)로 전송된다. 독출 어드레스 신호(ARADDR)가 마스터 인터페이스 장치(MI)에서 슬레이브 인터페이스 장치(SI)로 전송되는 동안 독출 어드레스 유효 신호(ARVALID)가 마스터 인터페이스 장치(MI)에서 슬레이브 인터페이스 장치(SI)로 전송된다. 독출 어드레스 유효 신호(ARVALID)는 독출 어드레스 신호(ARADDR)가 유효함을 나타내는 신호이다. 독출 어드레스 유효 신호(ARVALID)가 마스터 인터페이스 장치(MI)에서 슬레이브 인터페이스 장치(SI)로 전송되는 동안 독출 어드레스 준비 신호(ARREADY)가 슬레이브 인터페이스 장치(SI)에서 마스터 인터페이스 장치(MI)로 전송된다. 독출 어드레스 준비 신호(ARREADY)는 한 주기동안 로우 레벨로 유지되었다고 다음 주기 동안에는 하이 레벨로 유지된다. 독출 어드레스 준비 신호(ARREADY)는 슬레이브 인터페이스 장치(SI)가 독출 어드레스 신호(ARADDR)를 받을 준비가 되었음을 나타내는 신호이다.
시간(T5)에서 반주기 경과된 때부터 독출 데이터(RDATA)가 슬레이브 인터페이스 장치(SI)에서 마스터 인터페이스 장치(MI)로 전송된다. 구체적으로는 어드레스(A0)에 해당하는 독출 데이터(D(A0)), 어드레스(A1)에 해당하는 독출 데이터(D(A1)), 어드레스(A2)에 해당하는 독출 데이터(D(A2)) 및 어드레스(A3)에 해당하는 독출 데이터(D(A3))가 슬레이브 인터페이스 장치(SI)에서 마스터 인터페이스 장치(MI)로 전송된다. 독출 데이터(D(A3))가 슬레이브 인터페이스 장치(SI)에서 마스터 인터페이스 장치(MI)로 전송될 때, 슬레이브 인터페이스 장치(SI)에서 마스터 인터페이스 장치(SI)로 전송되는 독출 데이터 최종 신호(RLAST)가 하이 레벨을 유지한다. 독출 데이터 최종 신호(RLAST)는 전송되는 데이터가 마지막임을 나타내는 신호이다. 독출 데이터들(D(A0), D(A1), D(A2), D(A3))이 전송되는 동안에 슬레이브 인터페이스 장치(SI)에서 마스터 인터페이스 장치(MI)로 전송되는 독출 데이터 유효 신호(RVALID)가 하이 레벨을 유지한다. 또한 독출 데이터들(D(A0), D(A1), D(A2), D(A3))이 전송되는 이상의 구간 동안에 마스터 인터페이스 장치(MI)에서 슬레이브 인터페이스 장치(SI)로 전송되는 독출 데이터 준비 신호(RREADY)가 하이 레벨을 유지한다.
도 5는 도 3의 기입 트랜잭션의 동작을 나타내는 타이밍도이다.
도 5를 참조하면, 클럭 신호(ACLK)가 시간들(T0~T13)에서 하이 레벨로 상승 천이한다. 클럭 신호(ACLK)의 하강 천이에 응답하여(T0에서 반주기 경과한후) 기입 어드레스 신호(AWADDR)가 마스터 인터페이스 장치(MI)에서 슬레이브 인터페이스 장치(SI)로 전송된다. 기입 어드레스 신호(AWADDR)가 마스터 인터페이스 장치(MI)에서 슬레이브 인터페이스 장치(SI)로 전송되는 동안 마스터 인터페이스 장치(MI)에서 슬레이브 인터페이스 장치(SI)로 전송되는 기입 어드레스 유효 신호(AWVALID)가 하이 레벨로 유지된다. 기입 어드레스 유효 신호(AWVALID)는 기입 어드레스 신호(AWADDR)가 유효함을 나타내는 신호이다. 기입 어드레스 유효 신호(AWVALID)가 마스터 인터페이스 장치(MI)에서 슬레이브 인터페이스 장치(SI)로 전송되는 동안 슬레이브 인터페이스 장치(SI)에서 마스터 인터페이스 장치(MI)로 전송되는 기입 어드레스 준비 신호(AWREADY)가 한 주기동안 로우 레벨로 유지되었다가 다음 주기 동안에는 하이 레벨로 유지된다. 기입 어드레스 준비 신호(AWREADY)는 슬레이브 인터페이스 장치(SI)가 기입 어드레스 신호(AWADDR)를 받을 준비가 되었음을 나타내는 신호이다.
시간(T2)에서 기입 데이터(DATA)가 마스터 인터페이스 장치(MI)에서 슬레이브 인터페이스 장치(MI)로 전송된다. 구체적으로는 어드레스(A0)에 해당하는 기입 데이터(D(A0)), 어드레스(A1)에 해당하는 기입 데이터(D(A1)), 어드레스(A2)에 해당하는 기입 데이터(D(A2)) 및 어드레스(A3)에 해당하는 기입 데이터(D(A3))가 마스터 인터페이스 장치(MI)에서 슬레이브 인터페이스 장치(SI)로 전송된다. 기입 데이터(D(A3))가 마스터 인터페이스 장치(MI)에서 슬레이브 인터페이스 장치(SI)로 전송될 때, 마스터 인터페이스 장치(MI)에서 슬레이브 인터페이스 장치(MI)로 전송되는 기입 데이터 최종 신호(WLAST)가 하이 레벨을 유지한다. 기입 데이터 최종 신호(WLAST)는 전송되는 데이터가 마지막임을 나타내는 신호이다. 기입 데이터들(D(A0), D(A1), D(A2), D(A3))이 전송되는 동안에 마스터 인터페이스 장치(MI)에서 슬레이브 인터페이스 장치(SI)로 전송되는 기입 데이터 유효 신호(WVALID)가 하이 레벨을 유지한다. 기입 데이터들(D(A0), D(A1), D(A2), D(A3))이 전송되는 이상의 구간 또는 이하의 구간 동안에 슬레이브 인터페이스 장치(SI)에서 마스터 인터페이스 장치(MI)로 전송되는 기입 데이터 준비 신호(WREADY)가 하이 레벨을 유지한다. 기입 데이터 준비 신호(WREADY)는 슬레이브 인터페이스 장치(SI)가 기입 데이터 신호(WDATA)를 받을 준비가 되었음을 나타내는 신호이다.
또한 기입 트랜잭션에서는 마지막 기입 데이터(D(A3))가 전송되고 난 후에 슬레이브 인터페이스 장치(SI)에서 마스터 인터페이스 장치(MI)로 전송되는 기입 데이터 응답 신호(BRESP)가 'OKAY'를 나타내어 기입데이터들(D(A0), D(A1), D(A2), D(A3))이 제대로 전송되었음을 나타낸다. 또한 기입 데이터 응답 신호(BRESP)가 'OKAY'를 나타내는 동안 슬레이브 인터페이스 장치(SI)에서 마스터 인터페이스 장치(MI)로 전송되는 응답 유효 신호(BVALID)는 하이 레벨로 유지된다. 또한 기입데이터들(D(A0), D(A1), D(A2), D(A3))이 전송되는 동안과 기입 데이터 응답 신호(BRESP)가 'OKAY'를 나타내는 동안에 마스터 인터페이스 장치(MI)에서 슬레이브 인터페이스 장치(SI)로 전송되는 응답 준비 신호(EREADY)가 하이 레벨로 유지된다.
도 1 내지 도 5를 참조하여 설명한 본 발명의 실시예에 따른 시스템(10)은 버스트(burst) 단위의 트랜잭션을 지원한다. 하나의 버스트는 1 내지 16의 데이터 전송을 포함할 수 있다. 즉 실시예에 따라 하나의 버스트는 1 내지 16 번의 데이터 전송을 포함할 수 있다.
도 6은 도 1의 본 발명의 일 실시예에 따른 도 1의 인터커넥트 장치를 나타내는 블록도이다.
도 6을 참조하면, 인터커넥트 장치(100)는 중재기(110)와 라우팅부(120)를 포함하여 구성될 수 있다.
중재기(110)는 제1 내지 제3 트랜잭션들(TRAC1, TRAC2, TRAC3)을 수신하고, 수신된 제1 내지 제3 트랜잭션들(TRAC1, TRAC2, TRAC3)에 기초하여 중재 신호(AR)를 생성한다. 라우팅부(120)는 중재 신호(AR)에 응답하여 제1 내지 제3 트랜잭션들(TRAC1, TRAC2, TRAC3) 중 하나를 선택하여 트랜잭션(TRS)을 제공한다.
중재기(110)는 1 내지 제3 트랜잭션들(TRAC1, TRAC2, TRAC3)을 수신하고, 라운드 로빙(round-robin) 방식을 기초로 중재 신호(AR)를 생성할 수 있다. 라운드 로빙 방식에 의하면 수신된 1 내지 제3 트랜잭션들(TRAC1, TRAC2, TRAC3) 각각이 차례대로 선택되도록 중재 신호(AR)가 생성될 수 있다. 또한 중재기(110)는 1 내지 제3 트랜잭션들(TRAC1, TRAC2, TRAC3)을 수신하고, 우선 순위(priority) 방식을 기초로 중재 신호(AR)를 생성할 수 있다. 우선 순위 방식에 따르면 수신된 1 내지 제3 트랜잭션들(TRAC1, TRAC2, TRAC3) 각각이 고유한 우선순위를 가지고 있고, 이 우선 순위에 따라 제1 내지 제3 트랜잭션들(TRAC1, TRAC2, TRAC3)이 트랜잭션(TRS)으로 선택되도록 중재 신호(AR)가 생성될 수 있다. 실시예에 따라서, 중재기(110)와 라우팅부(120)는 슬레이브 인터페이스 장치들(200, 201, 202) 각각에 대하여 배치될 수 있다. 중재기(110)와 라우팅부(120)는 슬레이브 인터페이스 장치들(200, 201, 202) 각각에 대하여 배치되는 경우는 마스터 장치들(20, 30, 40)로부터의 트랙잭션(TRAC1, TRAC2, TRAC3)이 동일한 슬레이브 장치로의 엑세스를 요구하는 경우는 트랜잭션(TRS)은 동일한 슬레이브 장치로의 순차적 트랜잭션일 수 있다.
도 1의 실시예에 따른 시스템(10)은 AXI 프로토콜을 따르기 때문에 Multiple outstanding address 기능과 데이터 인터리빙 기능을 포함한다.
Multiple outstanding address 기능은, 버스(채널)의 어드레스 라인과 데이터 라인을 통해 정보가 제공될 때, 각 데이터의 전송과 동시에 어드레스 라인을 통해 각 데이터에 대한 어드레스를 한번만 전송함으로써, 어드레스와 어드레스 사이에 발생하는 빈 전송시간을 활용할 수 있도록 하는 기능이다. 데이터 인터리빙 기능은 여러개의 마스터 장치가 하나의 슬레이브로 데이터를 전송할 때, 슬레이브 단에서 데이터의 뒤섞임을 가능하게 함으로써, 대역폭을 보다 효율적으로 사용할 수 있다.
도 7은 본 발명의 일 실시예에 따른 도 1의 슬레이브 인터페이스 장치의 구성을 나타내는 블록도이다.
도 7의 슬레이브 인터페이스 장치(200a)는 도 1의 슬레이브 인터페이스 장치들(200, 201, 202) 중 어느 하나일 수 있다.
도 7을 참조하면, 슬레이브 인터페이스 장치(200a)는 트랜잭션 관리부(transaction management unti, TMU; 210), 경계 체크부(boundary check unit, BCU; 220), 버퍼부(230), 및 선택 회로(240)를 포함하여 구성될 수 있다.
트랜잭션 관리부(210)는 트랜잭션(TRS)을 수신하고, 트랜잭션(TR)의 크기에 따라 선택적으로 트랜잭션(TRS)을 헤드 서브트랜잭션(STRH)과 적어도 하나의 나머지 서브트랜잭션들(STRR1, STRR2, STRR3)로 분할한다. 여기서 트랜잭션(TRS)은 도 6의 중재기(110)와 라우팅부(120)에 의하여 우선순위 또는 라운드-로빈 방식에 따라 선택된 제1 내지 제3 트랜잭션들(TRAC1, TRAC2, TRAC3) 중 하나일 수 있다. 또는 다른 실시예에서는 트랜잭션(TRS)은
경계 체크부(220)는 트랜잭션(TRS)을 수신하고, 수신된 트랜잭션(TRS)의 크기가 미리 설정된 기준 값을 초과하는지 여부를 체크하여 트랜잭션(TRS)의 크기가 미리 설정된 기준 값을 초과하는지 여부를 나타내는 체크 신호(CS)를 트랜잭션 관리부(210)에 제공한다. 트랜잭션 관리부(210)는 크 신호(CS)의 논리 레벨에 따라 수신된 트랜잭션(TRS)을 헤드 서브트랜잭션(STRH)과 적어도 하나의 나머지 서브트랜잭션들(STRR1, STRR2, STRR3)로 분할하거나 수신된 트랜잭션(TRS)을 분할하지 않고 그대로 선택회로(240)에 제공한다. 예시적인 실시예에서 상기 트랜잭션(TRS)의 크기는 상기 트랜잭션(TRS)에 포함되는 어드레스의 크기일 수 있다.
예를 들어, 수신된 트랜잭션(TRS)의 크기가 미리 설정된 기준 값을 초과하는 경우, 상기 체크 신호(CS)는 제1 논리 레벨(하이 레벨)일 수 있고, 이 경우에 하이 레벨의 체크 신호(CS)를 수신한 트랜잭션 관리부(210)는 트랜잭션(TRS)을 헤드 서브트랜잭션(STRH)과 적어도 하나의 나머지 서브트랜잭션들(STRR1, STRR2, STRR3)로 분할한다. 이 때, 적어도 하나의 나머지 서브트랜잭션들(STRR1, STRR2, STRR3)의 수는 미리 설정된 기준 값과 트랜잭션(TRS)의 크기에 따라 달라질 수 있다.
예를 들어, 수신된 트랜잭션(TRS)의 크기가 미리 설정된 기준 값 이하인 경우에, 상기 체크 신호(CS)는 제2 논리 레벨(로우 레벨)일 수 있고, 이 경우에 로우 레벨의 체크 신호(CS)를 수신한 트랜잭션 관리부(210)는 트랜잭션(TRS)을 분할하지 않고 그대로 선택 회로(240)에 제공한다. 이 경우에는 헤드 서브트랜잭션(STRH)만이 선택 회로(240)로 제공된다.
수신된 트랜잭션(TRS)의 크기가 미리 설정된 기준 값을 초과하는 경우에 분할된 적어도 하나의 나머지 서브트랜잭션들(STRR1, STRR2, STRR3)은 버퍼부(230)에 저장된다. 버퍼부(230)는 복수의 레지스터들(231, 232, 233)로 구성되고, 레지스터들(231, 232, 233) 각각은 나머지 서브 트랜잭션들(STRR1, STRR2, STRR3) 각각을 저장한다. 레지스터들(231, 232, 233)은 쉬프트-큐잉(shift-quing) 레지스터로서 레지스터(231)에서 서브 트랜잭션(STRR1)이 출력되는 순간, 레지스터(232)에 저장된 서브트랜잭션(STRR2)이 레지스터(231)에 저장되게 된다. 즉 버퍼부(230)는 나머지 서브트랜잭션들(STRR1, STRR2, STRR3)을 순차적으로 출력하게 된다. 레지스터들(231, 232, 233)은 쉬프트-큐잉(shift-quing) 레지스터로 구현되면, 간단한 로직으로 구현가능하므로 설계상의 부담을 감소시킬 수 있다.
선택 회로(240)는 슬레이브 장치로부터의 선택 제어 신호(SCON)에 응답하여 헤드 서브트랜잭션(STRH) 및 버퍼부(230)의 출력 중 하나를 선택하여 그 출력(SO)을 슬레이브 장치에 제공한다. 헤드 서브트랜잭션(STRH)과 버퍼부(230)의 출력인 나머지 서브트랜잭션들(STRR1, STRR2, STRR3)들은 트랜잭션(TRS)으로부터 분할되었으므로 헤드 서브트랜잭션(STRH)과 버퍼부(230)의 출력인 나머지 서브트랜잭션들(STRR1, STRR2, STRR3) 각각도 복수의 데이터 전송들을 포함할 수 있다. 따라서 선택 제어 신호(SCON)를 조절하여 데이터 인터리빙을 수행할 수도 있다. 보다 상세하게는 선택 제어 신호(SCON)의 논리 레벨을 조절하여 헤드 서브트랜잭션(STRH)과 나머지 서브트랜잭션들(STRR1, STRR2, STRR3) 각각에 포함되는 데이터 전송들의 출력 시점을 조절하여 데이터 인터리빙을 수행할 수 있다. 선택 회로(240)는 멀티플렉서로 구현될 수 있고, 멀티플렉서의 기능을 하는 다른 회로 소자로도 구현가능하다.
도 8은 본 발명의 다른 실시예에 따른 도 1의 슬레이브 인터페이스 장치의 구성을 나타내는 블록도이다.
도 8을 참조하면, 슬레이브 인터페이스 장치(200b)는 트랜잭션 관리부(transaction management unti, TMU; 210), 경계 체크부(boundary check unit, BCU; 220), 버퍼부(230), 선택 회로(240), 및 병합부(mergiing unit, MU; 250)를 포함하여 구성될 수 있다.
도 8의 슬레이브 인터페이스 장치(200b)가 도 7의 슬레이브 인터페이스 장치(200a)와 다른 점은 병합부(250)를 더 포함한다는 것이다.
병합부(250)는 버퍼부(230)의 출력인 나머지 서브트랜잭션들(STRR1, STRR2, STRR3)을 병합하여 병합된 서브트랜잭션(MSTR)으로 선택 회로(240)에 제공한다. 적어도 하나의 나머지 서브트랜잭션들(STRR1, STRR2, STRR3)의 수가 많아지면 이는 시스템(10)에 오버헤드로 작용할 수 있다. 따라서 적어도 하나의 나머지 서브 트랜잭션들(STRR1, STRR2, STRR3)을 병합된 서브트랜잭션(MSTR)으로 병합하면 시스템(10)에 미치는 오버헤드를 감소시킬 수 있다. 적어도 하나의 나머지 서브 트랜잭션들(STRR1, STRR2, STRR3)을 병합된 서브트랜잭션(MSTR)으로 병합할 수 있는 이유는 적어도 하나의 나머지 서브 트랜잭션들(STRR1, STRR2, STRR3)이 트랜잭션(TRS)에서 분할되었으므로 연속된 어드레스를 갖기 때문이다. 또한 나머지 서브트랜잭션들(STRR1, STRR2, STRR3)의 수는 수신된 트랜잭션(TRS)의 어드레스의 크기에 따라 달라질 수 있다. 따라서 병합된 서브트랜잭션(MSTR)도 수신된 트랜잭션(TRS)의 어드레스의 크기에 상응하는 크기를 갖을 수 있다.
도 7 및 도 8을 참조한 설명에서, 트랜잭션(TRS)은 슬레이브 장치들(50, 60, 70) 중 어느 하나에 지향하는 트랙잭션일 수 있다. 다른 실시예에서는 트랜잭션(TRS)은 슬레이브 장치들(50, 60, 70) 중 적어도 두 개 이상을 지향하는 트랙잭션일 수 있다. 트랜잭션(TRS)이 슬레이브 장치들(50, 60, 70) 중 적어도 두 개 이상을 지향하는 트랙잭션인 경우에, 다른 슬레이브 장치를 지향하는 서브트랙잰션은 해당하는 슬레이브 인터페이스로 제공되어 해당하는 슬레이브 장치로의 엑세스가 가능하게 된다.
도 9는 도 7 또는 도 8의 슬레이브 인터페이스 장치의 동작을 나타낸다.
도 9를 참조하면, 어드레스(A1)에 해당하는 데이터들(D(A11), D(A12))들과 어드레스(A2)에 해당하는 데이터들(D(A21), D(A22))이 마스터 인터페이스 장치로부터 슬레이브 인터페이스 장치로 전달됨을 알 수 있다. 도 9의 실시예에서는 어드레스(A1)에 해당하는 데이터들(D(A11), D(A12))들과 어드레스(A2)에 해당하는 데이터들(D(A21), D(A22))이 어드레스가 입력되는 순서대로 마스터 인터페이스 장치로부터 슬레이브 인터페이스 장치로 전달됨을 알 수 있다. 즉 도 9의 실시예에서는 도 7 또는 도 8의 슬레이브 인터페이스 장치(200a, 200b)가 데이터 인터리빙 동작을 수행하지 않는다. 또한 어드레스(A1)에 대한 데이터들(D(A11), D(A12))이 모두 전송되기 이전에 데이터들(D(A21), D(A22))에 대한 어드레스(A2)가 전송되어 multiple outstanding 기능을 수행함을 알 수 있다.
도 9에서 어드레스(A1) 및 데이터들(D(A11), D(A12))들은 슬레이브 장치(50)에 관련된 것일 수 있고, 어드레스(A2) 및 데이터들(D(A21), D(A22))은 슬레이브 장치(60)에 관련된 것일 수 있다. 이 경우에 도 7의 슬레이브 인터페이스 장치(200a)가 도 1의 슬레이브 인터페이스 장치(200)인 경우 어드레스(A1) 및 데이터들(D(A11), D(A12))들은 슬레이브 장치(50)에 제공되고 어드레스(A2) 및 데이터들(D(A21), D(A22))은 슬레이브 장치(60)에 제공될 수 있다.
도 10은 도 7 또는 도 8의 슬레이브 인터페이스 장치의 동작을 나타낸다.
도 10을 참조하면, 어드레스(A1)에 해당하는 데이터들(D(A11), D(A12))들과 어드레스(A2)에 해당하는 데이터들(D(A21), D(A22))이 마스터 인터페이스 장치로부터 슬레이브 인터페이스 장치로 전달됨을 알 수 있다. 도 10의 실시예에서는 어드레스(A1)에 해당하는 데이터들(D(A11), D(A12))들과 어드레스(A2)에 해당하는 데이터들(D(A21), D(A22))이 슬레이브 인터페이스 장치(200a, 200b)의 동작에 따라 D(A21), D(A11), D(A22), D(A12)의 순서대로 해당하는 슬레이브 장치로 전달됨을 알 수 있다. 즉 도 9의 실시예에서는 도 7 또는 도 8의 슬레이브 인터페이스 장치(200a, 200b)가 데이터 인터리빙 동작을 수행하는 것을 알 수 있다.
도 11은 도 1의 마스터 인터페이스 장치를 나타내는 블록도이다.
마스터 인터페이스 장치(300a)는 도 1의 마스터 인터페이스 장치들(300, 301, 302) 중 하나일 수 있다.
도 11을 참조하면, 마스터 인터페이스 장치(300a)는 버퍼부(310), 선택회로(320) 및 중재기(330)를 포함하여 구성될 수 있다.
버퍼부(310)는 복수의 레지스터들(311, 312, 313, 314)을 포함한다. 복수의 레지스터들(311, 312, 313, 314) 각각은 패킷들(PKT11 및 PKT21, PKT12 및 PKT22, PKT13 및 PKT23, PKT14 및 PKT24) 각각을 저장한다. 여기서 패킷들(PKT11, PKT12, PKT13 및 PKT14)은 도 1의 슬레이브 장치(50)로부터 제공될 수 있고, 패킷들(PKT21, PKT22, PKT23 및 PKT24)은 도 1의 슬레이브 장치(50)로부터 제공될 수 있다.
중재기(330)는 도 1의 마스터 인터페이스 장치들(300, 301, 302) 중 하나의 상태에 따라 중재 신호(ARS)를 생성한다. 선택 회로(320)는 중재 신호(ARS)에 응답하여 패킷들(PKT11, PKT12, PKT13 및 PKT14) 또는 패킷들(PKT21, PKT22, PKT23 및 PKT24)을 선택하여 해당하는 마스터 장치로 제공한다. 여기서 패킷들(PKT11, PKT12, PKT13 및 PKT14) 또는 패킷들(PKT21, PKT22, PKT23 및 PKT24)은 도 1의 슬레이브 장치들(50, 60, 70) 중 적어도 두 개로부터 제공되는 트랜잭션들이 분할된 헤드 서브트랜잭션이거나 나머지 서브트랜잭션일 수 있다.
도 12는 도 11의 패킷의 구성을 나타낸다.
도 12를 참조하면, 패킷(PKT)은 송신자 식별 정보(ID), 분할여부 정보(SPTIN), 헤더 정보(HEADER), 및 페이로드(PAYLOAD)를 포함할 수 있다. 여기서 헤더 정보(HEADER)는 패킷의 타입, 데이터 길이, 데이터 사이즈, 데이터 타입, 락 설정여부 등에 관한 정보를 포함하고, 페이로드(PAYLOAD)는 읽기 데이터가 포함할 수 있다.
즉 본 발명의 실시예에 따른 인터페이스 장치 및 시스템에서 서브트랜잭션은 패킷으로 구성될 수 있다.
도 13a 내지 도 13d는 도 2 및 도 3의 채널들을 통하여 전송되는 패킷의 구조를 나타내는 도면이다.
도 13a 내지 도 13d에서는 도1에서 마스터 장치와 슬레이브 장치가 각각 8개씩으로 구성되는 경우의 패킷의 구조를 설명한다.
도 13a는 도 2의 독출 어드레스 채널(110) 및 도 3의 기입 어드레스 채널(130)을 통해 전송되는 독출 요청 패킷과 기입 요청 패킷의 구조를 나타낸다. 독출 요청 패킷과 기입 요청 패킷은 동일한 형태로 구성된다.
도 13a를 참조하면, 헤더에는 패킷의 타입(Type), 송신자 ID(AxID), 데이터 길이(AxLEN), 데이터 사이즈(AxSIZE), 데이터 타입(AxBURST), 락(LOCK) 설정 여부(AxLOCK), 캐쉬 메모리의 사용가능여부(AxCACHE), 보안레벨(AxPROT) 등에 관한 정보가 포함되어 있고, 페이로드에는 읽기 또는 쓰기 메모리 어드레스가 포함된다. 여기서, 패킷의 타입(Type)은 읽기요청 패킷, 쓰기요청 패킷, 읽기 패킷, 쓰기 패킷, 쓰기응답 패킷 중 하나를 나타내며, 락 설정 여부(AxLOCK)는 특정 AXI 마스터나 AXI 슬레이브만이 패킷을 받도록 락이 설정되었는지 여부를 나타낸다. 캐쉬 메모리의 사용가능여부(AxCACHE)는 메모리 이외에 캐쉬 메모리를 사용할 수 있는지 여부를 나타내며, 보안레벨(AxPROT)은 해당 패킷을 보호할지 여부와, 패킷을 보호하기 위한 보안레벨을 표시한다. 여기서 데이터 길이(AxLEN)는 버스트 길이를 나타내는데 이는 하나의 버스트안에 정의되는 데이터 전송 회수를 나타낸다. 실시예에 따라 데이터 길이(AxLEN)는 1 내지 16중 어느 하나에 해당할 수 있다. 여기서 데이터 사이즈(AxSIZE)는 버스트의 각 데이터 전송에 포함될 수 있는 최대 데이터 바이트를 나타낸다. 실시예에 따라 데이터 사이즈(AxSIZE)는 1, 2, 4, 8, 16, 32, 64, 128 바이트 중 어느 하나에 해당할 수 있다.
도 13b는 도 2의 독출 데이터 채널(120)을 통해 전송되는 독출 데이터 패킷의 구조를 나타낸다.
도 13b를 참조하면, 패킷의 헤더에는 패킷의 타입(Type), 마스터 장치의 요청에 따라 독출 처리를 수행하는 슬레이브 장치의 ID(RID), 독출 요청 패킷이 정상적으로 전송되었는지 여부(RRESP), 마지막 버스트인지 여부 확인용 정보(End of Burst)가 포함되어 있다. 여기서, RRESP는 독출 요청 패킷이 정상적으로 전송되었는지, 슬레이브 에러가 발생하였는지, 어드레스 에러가 발생하였는지 여부를 나타낸다. 독출 데이터 패킷의 페이로드에는 읽기 데이터가 포함된다.
도 13c는 도 3의 기입 데이터 채널(140)을 통해 전송되는 기입 데이터 패킷의 구조를 나타낸다.
도 13c를 참조하면, 기입 데이터 패킷의 헤더는 패킷의 타입(Type), 쓰기의 대상인 슬레이브 장치의 ID(WID), WSTRB의 비트(WSTRB), 마지막 버스트 확인용 정보(End of Burst)를 포함하며, 페이로드에는 쓰기 데이터가 포함된다.
도 13d는 도 3의 기입 응답 채널(150)을 통해 전송되는 기입 응답 패킷의 구조를 나타낸다.
도 13d를 참조하면, 기입 응답 패킷은 헤더만을 가지며, 헤더에는 패킷의 타입(Type), 응답한 슬레이브 장치의 ID(BID), 요청수락 여부(BRESP) 등의 정보가 포함되어 있다.
도 13a 내지 도 13d를 참조한 설명에서, 패킷은 도 6 및 도 7의 트랜잭션에 해당할 수 있고, 패킷 헤더는 도 6 및 도 7의 헤드 서브트랜잭션일 수 있고, 페이로드는 도 6 및 도 7의 나머지 서브트랜잭션일 수 있다.
이와 같이, 본 발명의 실시예들에 따른 인터페이스 장치 및 이를 포함하는 시스템에서는 트랙잭션에 포함되는 어드레스의 크기에 따라 트랜잭션을 분할하거나 분할된 트랜잭션을 병합할 수 있으므로 트랜잭션의 크기에 따른 레이턴시 및 시스템 오버헤드를 감소시킬 수 있다.
본 발명의 실시예들은 시스템 온 칩에 유용하게 적용될 수 있다.
상술한 바와 같이, 본 발명의 바람직한 실시예를 참조하여 설명하였지만 해당 기술 분야에서 통상의 지식을 가진 자라면 하기의 특허청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.

Claims (10)

  1. 적어도 하나의 마스터 장치로부터의 트랜잭션의 크기에 기초하여 상기 트랜잭션을 헤드 서브트랜잭션과 적어도 하나의 나머지 서브트랜잭션들로 분할하는 트랜잭션 관리부;
    상기 적어도 하나의 나머지 서브트랜잭션들을 각각 저장하는 버퍼부; 및
    슬레이브 장치로부터 제공되는 선택 제어 신호에 응답하여 상기 헤드 서브트랜잭션 및 상기 버퍼부의 출력 중 하나를 선택하는 선택회로를 포함하는 인터페이스 장치.
  2. 제1항에 있어서,
    상기 트랜잭션을 수신하고, 상기 트랜잭션의 크기가 미리 설정된 기준 값을 초과하는지 여부를 나타내는 체크 신호를 상기 트랜잭션 관리부에 제공하는 경계 체크부를 더 포함하는 것을 특징으로 하는 인터페이스 장치.
  3. 제2항에 있어서,
    상기 트랜잭션의 크기가 상기 미리 설정된 기준 값을 초과하는 경우, 상기 체크 신호는 제1 논리 레벨이고, 상기 트랜잭션 관리부는 상기 트랜잭션을 상기 헤드 서브트랜잭션과 상기 적어도 하나의 나머지 서브트랙잭션들로 분할하고,
    상기 트랜잭션의 크기가 상기 미리 설정된 기준값 이하인 경우, 상기 체크 신호는 제2 논리 레벨이고, 상기 트랜잭션 관리부는 상기 트랜잭션을 그대로 상기 선택회로에 제공하는 것을 특징으로 하는 인터페이스 장치.
  4. 제1항에 있어서,
    상기 트랜잭션의 크기는 상기 트랜잭션에 포함되는 어드레스의 크기에 해당하는 것을 특징으로하는 인터페이스 장치.
  5. 제1항에 있어서,
    상기 버퍼부는 상기 적어도 하나의 나머지 서브트랜잭션들을 각각 저장하는 복수의 레지스터들을 포함하고,
    상기 레지스터들에 저장된 상기 나머지 서브트랜잭션들은 순차적으로 상기 선택회로에 출력되는 것을 특징으로 하는 인터페이스 장치.
  6. 제1항에 있어서,
    상기 버퍼부로부터 순차적으로 출력되는 상기 적어도 하나의 나머지 서브트랜잭션들을 병합하여 상기 선택회로에 제공하는 병합부를 더 포함하는 것을 특징으로 하는 인터페이스 장치.
  7. 제1항에 있어서,
    상기 트랜잭션은 기입 트랜잭션 및 독출 트랜잭션 중 하나이고,
    상기 트랜잭션이 기입 트랜잭션인 경우, 상기 기입 트랜잭션은 적어도 기입 어드레스 및 기입 데이터를 포함하고,
    상기 트랜잭션이 독출 트랜잭션인 경우, 상기 독출 트랜잭션은 적어도 독출 어드레스를 포함하는 것을 특징으로 하는 인터페이스 장치.
  8. 제1항에 있어서,
    상기 인터페이스 장치는 AXI(Advanced extensible interface) 프로토콜(protocol)을 따르는 것을 특징으로 하는 인터페이스 장치.
  9. 복수의 마스터 장치들;
    복수의 슬레이브 장치들;
    상기 복수의 마스터 장치들 각각과 상기 복수의 슬레이브 장치들 각각을 연결하는 인터커넥트 장치; 및
    상기 복수의 슬레이브 장치들 각각과 상기 인터커넥트 사이에 설치되어 상기 복수의 마스터 장치들 중 적어도 하나와 해당하는 슬레이브 장치 사이에 전송되는 데이터를 처리하는 슬레이브 인터페이스 장치를 포함하고,
    상기 슬레이브 인터페이스 장치는
    상기 적어도 하나의 마스터 장치로부터의 트랜잭션의 크기에 기초하여 상기 트랜잭션을 선택적으로 헤드 서브트랜잭션과 적어도 하나의 나머지 서브트랜잭션들로 분할하는 트랜잭션 관리부;
    상기 적어도 하나의 나머지 서브트랜잭션들을 각각 저장하는 버퍼부; 및
    상기 해당 슬레이브 장치로부터 제공되는 제어 신호에 응답하여 상기 헤드 서브트랜잭션 및 상기 버퍼부의 출력 중 하나를 선택하는 선택회로를 포함하는 시스템.
  10. 제9항에 있어서,
    상기 복수의 마스터 장치들 및 상기 복수의 슬레이브 장치들은 하나의 칩에 설치되는 것을 특징으로 하는 시스템.
KR1020100108125A 2010-11-02 2010-11-02 인터페이스 장치 및 이를 포함하는 시스템 KR20120046461A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020100108125A KR20120046461A (ko) 2010-11-02 2010-11-02 인터페이스 장치 및 이를 포함하는 시스템
US13/287,339 US20120117286A1 (en) 2010-11-02 2011-11-02 Interface Devices And Systems Including The Same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100108125A KR20120046461A (ko) 2010-11-02 2010-11-02 인터페이스 장치 및 이를 포함하는 시스템

Publications (1)

Publication Number Publication Date
KR20120046461A true KR20120046461A (ko) 2012-05-10

Family

ID=46020718

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100108125A KR20120046461A (ko) 2010-11-02 2010-11-02 인터페이스 장치 및 이를 포함하는 시스템

Country Status (2)

Country Link
US (1) US20120117286A1 (ko)
KR (1) KR20120046461A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102642962B1 (ko) * 2023-07-18 2024-03-05 메티스엑스 주식회사 프로세서에서 단일 트랜잭션으로부터 변환된 복수의 트랜잭션들을 처리하는 방법 및 이를 수행하기 위한 프로세서

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6053692B2 (ja) * 2011-12-20 2016-12-27 キヤノン株式会社 データ転送装置、データ転送方法およびチップ間通信システム
FR3003110B1 (fr) * 2013-03-06 2016-08-05 Sagem Defense Securite Procede de surveillance de communications pour systeme sur puce
US11288187B2 (en) 2018-03-28 2022-03-29 SK Hynix Inc. Addressing switch solution
CN110196824B (zh) * 2018-05-31 2022-12-09 腾讯科技(深圳)有限公司 实现数据传输的方法及装置、电子设备

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6961803B1 (en) * 2001-08-08 2005-11-01 Pasternak Solutions Llc Sliced crossbar architecture with no inter-slice communication
US7296109B1 (en) * 2004-01-29 2007-11-13 Integrated Device Technology, Inc. Buffer bypass circuit for reducing latency in information transfers to a bus
JP2006004076A (ja) * 2004-06-16 2006-01-05 Matsushita Electric Ind Co Ltd 半導体集積装置の設計方法、設計プログラム、および記録媒体
US7457905B2 (en) * 2005-08-29 2008-11-25 Lsi Corporation Method for request transaction ordering in OCP bus to AXI bus bridge design
US8045573B2 (en) * 2006-08-16 2011-10-25 Arm Limited Bit ordering for packetised serial data transmission on an integrated circuit
JP5102789B2 (ja) * 2009-01-16 2012-12-19 ルネサスエレクトロニクス株式会社 半導体装置及びデータプロセッサ
KR20110061189A (ko) * 2009-12-01 2011-06-09 삼성전자주식회사 데이터 프로세싱 시스템에서의 비동기 통합 업사이징 회로
CN102110072B (zh) * 2009-12-29 2013-06-05 中兴通讯股份有限公司 一种多处理器完全互访的方法及***

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102642962B1 (ko) * 2023-07-18 2024-03-05 메티스엑스 주식회사 프로세서에서 단일 트랜잭션으로부터 변환된 복수의 트랜잭션들을 처리하는 방법 및 이를 수행하기 위한 프로세서

Also Published As

Publication number Publication date
US20120117286A1 (en) 2012-05-10

Similar Documents

Publication Publication Date Title
US8886861B2 (en) Memory interleaving device to re-order messages from slave IPS and a method of using a reorder buffer to re-order messages from slave IPS
US8489792B2 (en) Transaction performance monitoring in a processor bus bridge
US4481572A (en) Multiconfigural computers utilizing a time-shared bus
US8312187B2 (en) Input/output device including a mechanism for transaction layer packet processing in multiple processor systems
EP0185609A2 (en) Coherent interface with wraparound receive and transmit memories
CN105068951B (zh) 一种具有非等时传输结构的片上***总线
US20050125590A1 (en) PCI express switch
JPS62115564A (ja) インタ−フエ−ス回路
KR20120046461A (ko) 인터페이스 장치 및 이를 포함하는 시스템
KR20120040535A (ko) 버스 시스템 및 그것의 동작 방법
US6055598A (en) Arrangement and method for allowing sequence-independent command responses across a computer bus bridge
US6263393B1 (en) Bus switch for realizing bus transactions across two or more buses
US6401142B1 (en) Apparatus and method for selective bus transfer using master and slave modes
CN116089343A (zh) 一种基于axi的数据存储方法、装置、存储介质及设备
US7610415B2 (en) System and method for processing data streams
US7120722B2 (en) Using information provided through tag space
US8533377B2 (en) System and method for allocating transaction ID in a system with a plurality of processing modules
US20020112105A1 (en) Method and apparatus for efficient messaging between memories across a PCI bus
US10095643B2 (en) Direct memory access control device for at least one computing unit having a working memory
US7916146B1 (en) Halt context switching method and system
US20150278113A1 (en) Data transfer control device and memory-containing device
US8819325B2 (en) Interface device and system including the same
US11256545B2 (en) System on chip comprising a plurality of master resources
US4639860A (en) Wrap-around logic for interprocessor communications
US7114019B2 (en) System and method for data transmission

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid