KR100762264B1 - 지연 시간을 감소시키는 버스 매트릭스 구조 - Google Patents

지연 시간을 감소시키는 버스 매트릭스 구조 Download PDF

Info

Publication number
KR100762264B1
KR100762264B1 KR1020050050660A KR20050050660A KR100762264B1 KR 100762264 B1 KR100762264 B1 KR 100762264B1 KR 1020050050660 A KR1020050050660 A KR 1020050050660A KR 20050050660 A KR20050050660 A KR 20050050660A KR 100762264 B1 KR100762264 B1 KR 100762264B1
Authority
KR
South Korea
Prior art keywords
master
output stage
bus
decoder
bus matrix
Prior art date
Application number
KR1020050050660A
Other languages
English (en)
Other versions
KR20060130276A (ko
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 KR1020050050660A priority Critical patent/KR100762264B1/ko
Publication of KR20060130276A publication Critical patent/KR20060130276A/ko
Application granted granted Critical
Publication of KR100762264B1 publication Critical patent/KR100762264B1/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
    • G06F13/4031Coupling between buses using bus bridges with arbitration
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/1733Controllable logic circuits
    • H03K19/1737Controllable logic circuits using multiplexers
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K5/15Arrangements in which pulses are delivered at different times at several outputs, i.e. pulse distributors
    • H03K5/15013Arrangements in which pulses are delivered at different times at several outputs, i.e. pulse distributors with more than two outputs
    • H03K5/1506Arrangements in which pulses are delivered at different times at several outputs, i.e. pulse distributors with more than two outputs with parallel driven output stages; with synchronously driven series connected output stages
    • H03K5/15066Arrangements in which pulses are delivered at different times at several outputs, i.e. pulse distributors with more than two outputs with parallel driven output stages; with synchronously driven series connected output stages using bistable devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Nonlinear Science (AREA)
  • Bus Control (AREA)

Abstract

본 발명은 온 칩 버스에 있어서, 병렬성을 증대시킬 목적으로 개발된 ARM사의 멀티 레이어 AHB 버스 매트릭스 구조를 개선하고 새로운 중재 방식을 채용하여 마스터가 새로운 트랜잭션을 시작할 때 또는 슬레이브 레이어를 변경할 때 마다 발생되는 종래 버스 매트릭스 고유의 1 클락 사이클 지연 시간을 줄임으로써 전체적인 버스 시스템의 성능을 향상시키는 지연 시간을 감소시키는 버스 매트릭스 구조에 관한 것이다. 본 발명은, 직접 마스터 레이어와 연결되며 1개의 플립플롭과 2개의 멀티플렉서를 구비한 디코더; 마스터를 선택하는 중재기를 포함하며, 상기 디코더와 각각 대응하고 각각의 슬레이브 레이어와 연결되는 출력 스테이지를 포함하는 것을 특징으로 한다. 따라서, 종래 버스 매트릭스 구조에서 입력 스테이지를 제거하고, 중재 방식을 밀리 타입으로 변경하여 종래 버스 매트릭스 고유의 1 클락 사이클 지연을 제거하고, 이와 같은 구조 개선으로 인해 종래 버스 매트릭스의 병렬성을 그대로 유지하면서 전체 버스 지연 시간, 버스 매트릭스의 하드웨어 오버헤드 및 클락 주기를 감소시킬 수 있다.
온 칩 버스, 버스 매트릭스, 입력 스테이지, 디코더, 출력 스테이지, 중재기, 비 선점 라운드 로빈 기반 중재 방식

Description

지연 시간을 감소시키는 버스 매트릭스 구조{A Structure of BusMatrix To Decrease Latency Time}
도 1은 마스터 레이어가 4개, 슬레이브 레이어가 3개인 종래의 버스 매트릭스 구조에 대한 도면.
도 2는 마스터 레이어와 슬레이브 레이어가 각각 4개인 개선된 버스 매트릭스 구조에 대한 도면.
도 3, 도 4, 도 5는 각각 개선된 버스 매트릭스의 디코더, 출력 스테이지 및 중재기의 내부 구조에 대한 도면.
도 6, 도 7은 라운드 로빈 중재 방식을 처리하기 위해 필요한 마스크 벡터 생성 절차를 설명하기 위한 도면.
도 8은 도 6, 도 7에서 생성된 마스크 벡터를 이용하여 어떻게 마스터를 선택하는지 설명하기 위한 도면.
도 9는 중재기 내부에 있는 밀리 타입의 유한 상태 기계 (FSM: Finite State Machine)에 대한 상태 전이도.
도 10은 종래 버스 매트릭스에 대한 타이밍 다이어그램에 대한 도면.
도 11, 도 12, 도 13은 개선된 버스 매트릭스에 대한 타이밍 다이어그램을 설명하기 위한 도면.
<도면의 주요부분에 대한 부호의 설명>
110: 디코더
111, 118: 플립플롭
112: 주소 디코딩 모듈
113, 114, 115, 116, 117: 멀티플렉서
120: 출력 스테이지
122: 주소/제어정보 멀티플렉서
123: 멀티플렉서
124: 쓰기 데이터 멀티플렉서
130: 중재기
본 발명은 시스템 온 칩(System On a Chip) 설계에 사용되는 물품, 즉 전자부품인 온 칩 버스의 구조에 관한 것으로, 보다 상세하게는 병렬성을 증대시킬 목적으로 개발된 ARM사의 멀티 레이어 AHB 버스 매트릭스 구조를 개선하고 새로운 중재 방식을 채용하여 마스터가 새로운 트랜잭션을 시작할 때 또는 슬레이브 레이어를 변경할 때 마다 발생되는 종래 버스 매트릭스 고유의 1 클락 사이클 지연 시간을 줄임으로써 전체적인 버스 시스템의 성능을 향상시키는 지연 시간을 감소시키는 버스 매트릭스 구조에 관한 것이다.
ARM사의 멀티 레이어 AHB 버스 매트릭스는 병렬성을 증대시킬 목적으로 개발된 고성능 온 칩 버스 구조이다.
도 1에 도시된 바와 같이, ARM사의 멀티 레이어 AHB 버스 매트릭스 구조는, 입력 스테이지(10), 디코더(20) 및 중재기(31)가 내장된 출력 스테이지(30)로 구성된다.
각 마스터 레이어와 연결되는 입력 스테이지(10)는 마스터가 슬레이브 쪽으로 바로 접근할 수 없을 때, 이미 전송된 주소 및 제어 정보들을 잠시 저장해 두는 일을 담당한다. 즉, 두 개 이상의 마스터가 하나의 슬레이브 쪽으로 동시에 접근할 때 발생되는 충돌을 막기 위해 데이터 흐름을 제어해 주는 역할을 한다.
이 과정에서 입력 스테이지(10)는 슬레이브의 응답 신호(HREADYOUT, HRESP) 생성에 대한 기능도 수행한다. 데이터 전송이 적당한 슬레이브와 연결되면 연결된 슬레이브의 응답 신호가 마스터 쪽으로 그대로 출력되며, 입력 스테이지(10) 내부에 저장되면 지연 응답을 마스터 쪽으로 발생시킨다.
각 입력 스테이지(10)는 디코더(20)와 연결되며, 디코더(20)는 입력 스테이지(10) 쪽으로부터 주소를 입력 받아 해당되는 슬레이브 레이어를 결정한다. 이때, 시스템들마다 주소 맵(Address Map) 정보가 달라질 수 있기 때문에, 주소 디코딩 모듈은 필요에 따라 변경이 가능하다.
출력 스테이지(30)는 각 슬레이브 레이어에 연결되며 최종적으로 마스터 레이어와 슬레이브 레이어 사이의 데이터 전송 경로를 결정한다. 이때, 슬레이브 중 심으로 어떠한 마스터를 선택할 것인지 결정하기 위해 중재기(31)를 사용하며, 중재기(31)는 무어 타입으로 구현된 중재 방식을 사용한다.["AMBA Specification Rev. 2.0", Document Number ARM DUI 0092C, 2001].
상술한 바와 같이 ARM사의 멀티 레이어 AHB 버스 매트릭스는 병렬성을 증대시킬 목적으로 개발된 고성능 온 칩 버스 구조이다.
하지만 입력 스테이지(10)와 무어 타입으로 구현된 중재 방식 때문에 마스터가 새로운 트랜잭션을 시작하거나 슬레이브 레이어를 변경할 때 마다 항상 1 클락 사이클의 지연이 발생된다.
즉, 종래의 버스 매트릭스는 도 10에 도시된 바와 같이, 마스터가 새로운 트랜잭션을 시작하거나 슬레이브 레이어를 변경할 때 마다 항상 1 클락 사이클의 지연현상이 발생된다. 이는 데이터 처리량이 많은 프로세서, DSP 및 멀티미디어 어플리케이션의 경우 전체 버스 트랜잭션 종료 시간을 증가시키고 각 마스터의 평균 지연 시간도 증가하게 되는 결과를 초래하는 문제점이 있었다.
따라서, 본 발명은 상기한 종래의 문제점을 해결하기 위하여 안출된 것으로, 종래의 버스 매트릭스 구조를 개선하기 위해 입력 스테이지를 제거하고, 종래의 디코더, 출력 스테이지 및 중재기의 구조를 개선하여 1 클락 사이클 지연을 제거함과 동시에 버스 매트릭스의 하드웨어 오버헤드 및 클락 주기를 감소시키는 지연 시간을 감소시키는 버스 매트릭스 구조를 제공하는 데에 그 목적이 있다.
상기한 목적을 달성하기 위한 본 발명에 따른 지연 시간을 감소시키는 버스 매트릭스 구조는, 직접 마스터 레이어와 연결되며 1개의 플립플롭과 2개의 멀티플렉서를 구비한 디코더; 마스터를 선택하는 중재기를 포함하며, 상기 디코더와 각각 대응하고 각각의 슬레이브 레이어와 연결되는 출력 스테이지를 포함하는 것을 특징으로 한다.
또한, 상기 1개의 플립플롭(111)은 데이터 구간을 결정하고, 상기 2개의 멀티플렉서(113)(114)는 출력 스테이지(120)의 마스터 선택 신호에 따라, 마스터 선택 신호가 '1'이면 출력 스테이지의 응답 신호가 그대로 출력되고, 마스터 선택 신호가 '0'이면 지연 응답을 발생시킨다.
상기 디코더는, 주소 맵 정보에 의해 선택된 슬레이브 번호에 해당하는 출력 신호(AddrOutPort)를 출력하여, 마스터의 전송 요청 신호(Sel) 및 출력 스테이지(120)의 마스터 선택 신호(Active)가 결정되도록 하는 주소 디코딩 모듈(112)을 더 포함한다.
상기 중재기는, 라운드 로빈 중재 방식을 사용하며, 밀리 타입으로 구현된다. 상기 라운드 로빈 중재 방식은 합성 가능한 라운드 로빈 중재 방식 구현을 위해 마스크 벡터를 생성하여, 최종적으로 마스터를 선택하기 위해 업 마스크와 다운 마스크 벡터의 비트 열을 검색한다.
또한, 상기 중재기는, 마스터가 연속적으로 다수의 트랜잭션을 수행할 때, 각 트랜잭션이 종료될 때 마다 최소 1 클락 사이클의 IDLE 전송을 수행하도록 하는 방식중의 하나로 비 선점 라운드 로빈 기반 중재 방식을 사용한다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 설명한다.
먼저, 상기 과제를 이루기 위해, 본 발명에선 다음과 같이 AMBA AHB 프로토콜을 수정하였다.
즉, 마스터가 새로운 전송을 시작할 때, 바로 이전 IDLE 전송에 대한 슬레이브 응답은 지연 없는 OKAY 또는 몇 사이클 지연 응답이 될 수 있다. 기본적으로 IDLE 전송에 대한 슬레이브 응답은 항상 지연 없는 OKAY 응답으로 유지되지만, 마스터가 새로운 전송을 시작할 때, 바로 이전 IDLE 전송에 대해서만 지연 응답을 발생시킬 수 있다. AMBA AHB 프로토콜에서 마스터의 IDLE 전송은 슬레이브에 대해 아무런 의미를 갖지 않기 때문에 이와 같은 수정이 가능하다.
도 2는 본 발명에서 개선한 버스 매트릭스의 구조를 보여준다. 종래 버스 매트릭스와 달리 도 2에는 종래의 입력 스테이지(10)가 없고, 디코더(110)가 직접 마스터 레이어와 연결된다. 따라서 버스 매트릭스 구성은 마스터 레이어 개수만큼의 디코더(110)와 슬레이브 레이어 개수만큼의 출력 스테이지(120)로 이루어진다.
도 3은 개선된 디코더의 구조를 보여준다. 디코더(110) 내부에서 주소 디코딩 모듈(112)의 출력 신호(AddrOutPort)는 주소 맵 정보에 의해 선택된 슬레이브 번호를 의미한다. 이 신호에 의해 마스터의 전송 요청 신호(Sel) 및 출력 스테이지(120)의 마스터 선택 신호(Active)가 결정된다.
주소 구간(Address Phase)은 마스터가 출력하는 응답 신호(HREADY)가 '1'이 될 때 종료되고, 다음 클락 사이클부터 데이터 구간(Data Phase)이 시작된다. 이 과정은 주소 디코딩 모듈(112) 후단에 연결된 플립플롭(118)에 의해 수행된다 (DataOutPort 신호 생성).
도 3의 우측 하단에 있는 3개의 멀티플렉서(115)(116)(117)는 데이터 구간에서 동작하는 모듈로써, 각 출력 스테이지(120)로부터 응답 신호(ReadyOut, Resp) 및 읽기 데이터(Rdata)를 입력 받아, 자신과 연결된 마스터 레이어 쪽으로 선택된 신호들을 출력한다.
도 3에서 음영으로 표시된 3개의 모듈 즉, 1개의 플립플롭(111)과 2개의 멀티플렉서(113)(114)는 종래 입력 스테이지의 응답 신호 생성 기능을 대신 수행하기 위해 사용되었다. 1개의 플립플롭(111)은 데이터 구간을 결정하기 위해 사용되었고, 2개의 멀티플렉서(113)(114)는 출력 스테이지(120)의 마스터 선택 신호에 따라 다음과 같은 동작을 수행한다.
1) 마스터 선택 신호가 '1'이면 출력 스테이지의 응답 신호가 그대로 출력된다.
2) 마스터 선택 신호가 '0'이면 지연 응답을 발생시킨다. 이때의 지연 응답이 IDLE 전송에 대한 지연 응답이다.
도 4는 개선된 출력 스테이지의 구조를 보여준다. 도 4의 좌측에 있는 모든 입출력 신호들은 마스터 레이어 또는 디코더(110)와 연결되며, 우측의 모든 입출력 신호들은 슬레이브 레이어와 연결된다.
출력 스테이지(120) 내부에 있는 멀티플렉서에는 중재기(130)의 출력 신호 (AddrInPort)를 선택신호로 사용하는 주소/제어정보 멀티플렉서(122)와 데이터 구간 결정 신호 (DataInPort)를 선택신호로 사용하는 쓰기 데이터 멀티플렉서(124)가 있다.
또한 도 4에서 주소/제어정보 멀티플렉서(122) 앞단에 2ㅧ 1 멀티플렉서(123)가 하나 더 있음을 확인할 수 있다. 이 멀티플렉서(123)는 중재기(130)의 출력 신호인 NoPort 신호를 선택신호로 사용한다. NoPort 신호는 출력 스테이지(120)와 연결된 슬레이브 레이어쪽으로 어떠한 전송 요청도 발생되지 않았음을 의미한다.
출력 스테이지(120)의 또 다른 기능은 디코더(110) 쪽으로 출력되는 마스터 선택 신호(Active) 및 슬레이브 레이어쪽으로 출력되는 응답 신호(HREADY)의 생성이다. 마스터 선택 신호는 디코더(110)를 거쳐 최종적으로 마스터 레이어로 전송되는 신호이며, 현재 타겟 슬레이브 레이어로 주소 및 제어정보들이 전송되고 있음을 의미한다.
슬레이브 레이어쪽으로 출력되는 응답 신호는 데이터 구간에서 해당 슬레이브 레이어가 선택되었을 때, 슬레이브 레이어쪽으로부터 전송된 응답 신호가 그대로 출력되며 그 외의 경우에는 항상 '1'로 유지된다. 또한 출력 스테이지(120) 내부의 중재기(130)는 각 디코더(110)에서 전송한 전송 요청 신호(Sel)에 의해 적절한 마스터 레이어를 선택한다.
도 5는 개선된 중재기의 구조를 보여준다. 본 발명에서 개선한 중재기(130)는 기본적으로 라운드 로빈 중재 방식을 사용하며, 밀리 타입으로 구현되었다.
하드웨어 적으로 합성 가능한 라운드 로빈 중재 방식 구현을 위해 도 6, 도 7과 같은 마스크 벡터를 이용하였다.
도 6은 업 마스크 벡터(UpMask) 생성 절차에 대한 도면이다. 업 마스크 벡터는 현재 선택된 마스터의 상위 비트 열을 모두 '1'로 취하는 마스크 벡터를 만든 후, 마스터의 전송 요청 신호(Sel_M)와 AND 연산을 수행하여 생성한다.
도 7의 다운 마스크 벡터(DnMask)는 업 마스크 벡터와 반대로 현재 선택된 마스터를 포함하여 하위 비트 열을 모두 '1'로 취하는 마스크 벡터를 만든 후, 마스터의 전송 요청 신호와 AND 연산을 수행하여 생성한다.
중재기(130)는 도 6, 도 7에서 생성된 업 마스크와 다운 마스크를 이용하여 라운드 로빈 방식으로 마스터를 선택한다.
도 8은 마스크 벡터를 이용한 마스터 선택 방법에 대한 도면이다.
먼저 업 마스크가 0인지를 확인하고 0이면 다운 마스크를, 0이 아니면 업 마스크를 검색한다. 검색 방향은 도 8과 같이 좌측에서 우측이다. 따라서 우측으로부터 가장 가까운 비트 열 '1'에 해당하는 마스터가 최종적으로 선택된다.
예를 들어 도 8에서 업 마스크 검색의 경우 마스터 5가 선택되며, 다운 마스크 검색의 경우 마스터 2가 선택된다. 이와 같은 동작을 반복 수행하면 라운드 로빈 방식으로 마스터를 선택하게 된다.
도 11은 도 3, 도 4, 도 5로 구성된 버스 매트릭스에 대한 타이밍 다이어그램이다. 도 11에서 마스터 0과 마스터 1은 동시에 슬레이브 0으로 데이터 전송을 요청하였다.
이때, 마스터 0은 슬레이브 0의 중재기(130)로부터 바로 선택되어 1 클락 사이클 지연 현상 없이 데이터를 전송하였고, 마스터 1은 마스터 0의 모든 전송이 종 료될 때 까지 기다리는 모습을 보여준다.
즉, 첫 번째 전송을 수행하기 바로 이전 IDLE 전송에 대한 지연 응답으로 인해 마스터 1은 첫 번째 전송을 수행하지 않고 기다리게 된다.
한편, 도 3, 도 4, 도 5로 구성된 버스 매트릭스(도 2)에 종래의 라운드 로빈 중재 방식을 사용할 경우 도 12와 같은 문제점이 발생될 수 있다.
도 12는 마스터 0과 마스터 1이 각각 4개의 버스트 전송을 슬레이브 0으로 수행하는 모습을 보여준다. T1에서 마스터 0이 첫 번째 전송을 수행하였고 이에 대한 응답은 T2에서 출력되었다.
이와 같은 방식으로 마스터 0이 슬레이브 0으로 전송을 수행하는 도중 마스터 1도 T3에서 슬레이브 0으로 전송을 요청하였다. 이때, 마스터 1은 IDLE 전송에 대한 지연 응답으로 인해 잠시 대기하게 된다.
종래의 라운드 로빈 중재 방식을 사용할 경우 T4에서 마스터 0의 마지막 전송이 끝나면 T5에서는 마스터 1을 선택하게 된다. 만약, 이때 마스터 0이 또 다른 전송을 요청한다면, 이전 트랜잭션의 마지막 전송에 대한 응답 신호를 보고 새로운 전송을 바로 시작해 버린다.
하지만, T5에서 선택된 마스터는 0이 아닌 마스터 1이다. 즉, 마스터 0은 자신이 선택되지도 않았는데 새로운 전송을 시작해 버린 경우가 된다. 이러한 문제점을 해결하기 위해 본 발명에선 종래 라운드 로빈 중재 방식을 개선한 비 선점 (Non-Preemption) 라운드 로빈 기반 중재 방식을 사용하였다.
이 방식은 기본적으로 라운드 로빈 기반 중재 방식을 사용하면서, 다음 마스 터를 선택할 시점은 현재 선택된 마스터의 전송 요청 신호 (Sel_M)를 보고 결정한다. 현재 선택된 마스터가 하나의 트랜잭션을 종료하고, 두 번째 트랜잭션을 바로 수행할 경우, 전송 요청 신호는 계속해서 '1'로 유지될 것이며, 이 신호를 보고 중재기는 현재 선택된 마스터의 전송 요청 신호가 '0'으로 떨어질 때 까지 계속 버스를 사용할 수 있도록 해준다. 즉, 선택된 마스터의 버스 사용 권한을 대기하고 있는 다른 마스터들이 선점할 수 없게 된다.
도 9는 이에 대한 상태 전이도를 보여준다. 이와 같은 비 선점 라운드 로빈 기반 중재 방식은 시스템내의 모든 마스터에 대한 버스 사용 권한 및 응답 시간을 동등하게 보장해주지 않아도 되는 어플리케이션에 적합한 방법이다.
하지만, 시스템내의 모든 마스터에 대한 버스 사용 권한 및 응답 시간을 동등하게 보장해줘야 하는 어플리케이션에 비 선점 라운드 로빈 기반 중재 방식을 사용할 경우, 약간의 기아 (Starvation) 상태가 발생될 수 있다.
즉, 선택된 마스터가 계속해서 새로운 트랜잭션을 연속적으로 수행할 경우, 버스 사용을 대기하고 있는 다른 마스터들은 버스를 선점할 수 없게 된다. 따라서 그만큼의 대기 시간이 증가하게 된다.
이러한 기아 문제는 주소 구간과 데이터 구간이 파이프라인 구조인 AMBA AHB 프로토콜 때문에 사실상 해결이 불가능하다. 이 문제를 극복하기 위해서는 약간의 제약이 필요하다.
즉, 마스터가 연속적으로 다수의 트랜잭션을 수행할 때, 각 트랜잭션이 종료될 때 마다 최소 1 클락 사이클의 IDLE 전송을 수행하도록 하는 것이다. 그러면 IDLE 전송을 수행하는 시점에서 버스 사용을 대기하고 있는 다른 마스터들이 라운드 로빈 방식으로 선택될 수 있으며, 따라서 기아 상태가 발생되지 않게 된다. 만약 마스터가 연속적으로 트랜잭션을 수행하지 않는다면 위 제약사항을 반드시 지킬 필요는 없다.
도 13은 이에 대한 타이밍 다이어그램이다. 도 13은 도 12와 동일한 상황이다. 단, 마스터 0이 T4에서 첫 번째 트랜잭션을 종료하고 T5부터 새로운 트랜잭션을 바로 수행하지 않고 1 클락 사이클 IDLE 전송을 수행 한 후, T6부터 새로운 전송을 시작하였다.
T5에서는 아무 문제없이 마스터 1이 선택되어 슬레이브 0으로 전송을 수행하고, 마스터 0은 마스터 1의 트랜잭션이 종료될 때 까지 대기하게 된다. 결과적으로 마스터 0과 마스터 1은 동등하게 버스를 사용할 수 있게 되며, 기아 문제는 해결된다.
또한 마스터 0이 T5에서 불필요한 IDLE 전송을 수행했다하더라도, 마스터 1에 의해 슬레이브 0은 계속해서 동작하고 있다. 따라서 전체 버스 사이클은 낭비되지 않는다.
따라서, 본 발명은 도 3, 도 4, 도 5로 구성된 버스 매트릭스(도 2)를 사용할 경우, 종래 버스 매트릭스의 병렬성을 그대로 유지하면서 마스터가 새로운 트랜잭션을 수행할 때 또는 슬레이브 레이어를 변경할 때 마다 발생되는 고유의 1 클락 사이클 지연 문제를 해결할 수 있다.
따라서 전체 버스 트랜잭션의 종료 시간 및 각 마스터의 평균 지연 시간을 감소시킬 수 있으며, 이는 전체 버스 시스템의 성능 향상에 그대로 반영될 수 있다. 특히 데이터 처리량이 많은 프로세서, DSP 및 멀티미디어 어플리케이션의 경우 더욱 심각해지는 온 칩 버스 상에서의 대역폭 할당 문제를 매우 효율적으로 대처할 수 있다.
도 1에서 다수의 플립플롭과 멀티플렉서를 포함하고 있는 종래의 입력 스테이지(10)를 제거함으로써, 버스 매트릭스의 전체 하드웨어 오버헤드를 감소시킬 수 있다. 즉, 다수의 플립플롭을 제거함으로써 하드웨어 면적을 감소시킬 수 있으며, 다수의 멀티플렉서를 제거함으로써 전체 클락 주기를 감소시킬 수 있다.
도 2의 버스 매트릭스에 종래의 라운드 로빈 중재 방식을 사용할 경우 도 12와 같은 문제점이 발생될 수 있다. 이 문제점은 도 9의 비 선점 라운드 로빈 기반 중재 방식을 사용하여 해결할 수 있다.
비 선점 라운드 로빈 기반 중재 방식은 시스템내의 모든 마스터에 대한 버스 사용 권한 및 응답 시간을 동등하게 보장해주지 않아도 되는 어플리케이션에 적합한 방법이다.
하지만, 시스템내의 모든 마스터에 대한 버스 사용 권한 및 응답 시간을 동등하게 보장해줘야 하는 어플리케이션에 비 선점 라운드 로빈 기반 중재 방식을 사용할 경우, 약간의 기아 상태가 발생될 수 있다.
이러한 기아 상태는 주소 구간과 데이터 구간이 파이프라인 구조인 AMBA AHB 프로토콜 때문에 사실상 해결이 불가능하다. 이 문제를 극복하기 위해서는 약간의 제약이 필요하다.
즉, 도 13과 같이 마스터가 연속적으로 다수의 트랜잭션을 수행할 때, 각 트랜잭션이 종료될 때 마다 최소 1 클락 사이클의 IDLE 전송을 수행하도록 하는 것이다. 이럴 경우 기아 문제는 해결되며 모든 마스터에 대한 버스 사용 권한 및 응답 시간을 동등하게 보장해 줄 수 있다.
이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 또한 설명하였으나, 본 발명은 상기한 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형 실시가 가능한 것은 물론이고, 그와 같은 변경은 기재된 청구범위 내에 있게 된다.
이상에서 설명한 바와 같이 본 발명에 따른 지연 시간을 감소시키는 버스 매트릭스 구조에 의하면, 종래 버스 매트릭스 구조에서 입력 스테이지를 제거하고, 무어 타입으로 구현된 중재 방식을 밀리 타입으로 변경하여 종래 버스 매트릭스 고유의 1 클락 사이클 지연을 제거하는 효과가 있다.
이와 같은 구조 개선으로 인해 종래 버스 매트릭스의 병렬성을 그대로 유지하면서 전체 버스 지연 시간, 버스 매트릭스의 하드웨어 오버헤드 및 클락 주기를 감소시킬 수 있다.
또한, 새로운 중재 방식을 사용하여 구조 개선으로 인해 발생되는 문제점을 해결하는 효과도 있다.

Claims (6)

  1. 삭제
  2. 직접 마스터 레이어와 연결되며 1개의 플립플롭과 2개의 멀티플렉서를 구비한 디코더;
    마스터를 선택하는 중재기를 포함하며, 상기 디코더와 각각 대응하고 각각의 슬레이브 레이어와 연결되는 출력 스테이지;
    를 포함하며 상기 1개의 플립플롭(111)은 데이터 구간을 결정하고,
    상기 2개의 멀티플렉서(113)(114)는 출력 스테이지(120)의 마스터 선택 신호에 따라, 마스터 선택 신호가 '1'이면 출력 스테이지의 응답 신호가 그대로 출력되고, 마스터 선택 신호가 '0'이면 지연 응답을 발생시키는 것을 특징으로 하는 지연 시간을 감소시키는 버스 매트릭스 구조.
  3. 직접 마스터 레이어와 연결되며 1개의 플립플롭과 2개의 멀티플렉서를 구비한 디코더;
    마스터를 선택하는 중재기를 포함하며, 상기 디코더와 각각 대응하고 각각의 슬레이브 레이어와 연결되는 출력 스테이지;
    를 포함하며 상기 마스터가 새로운 전송을 시작할 때, 바로 이전 IDLE 전송에 대한 슬레이브 응답은 지연 없는 OKAY 또는 몇 사이클 지연 응답을 발생시키는 것을 특징으로 하는 지연 시간을 감소시키는 버스 매트릭스 구조.
  4. 직접 마스터 레이어와 연결되며 1개의 플립플롭과 2개의 멀티플렉서를 구비한 디코더;
    마스터를 선택하는 중재기를 포함하며, 상기 디코더와 각각 대응하고 각각의 슬레이브 레이어와 연결되는 출력 스테이지;
    를 포함하며 상기 중재기는 라운드 로빈 중재 방식을 사용하며, 밀리 타입으로 구현된 것을 특징으로 하는 지연 시간을 감소시키는 버스 매트릭스 구조.
  5. 제 4항에 있어서,
    상기 라운드 로빈 중재 방식은
    합성 가능한 라운드 로빈 중재 방식 구현을 위해 마스크 벡터를 생성하여, 최종적으로 마스터를 선택하기 위해 업 마스크와 다운 마스크 벡터의 비트 열을 검색하는 것을 특징으로 하는 지연 시간을 감소시키는 버스 매트릭스 구조.
  6. 직접 마스터 레이어와 연결되며 1개의 플립플롭과 2개의 멀티플렉서를 구비한 디코더;
    마스터를 선택하는 중재기를 포함하며, 상기 디코더와 각각 대응하고 각각의 슬레이브 레이어와 연결되는 출력 스테이지;
    를 포함하며 상기 중재기는 마스터가 연속적으로 다수의 트랜잭션을 수행할 때, 각 트랜잭션이 종료될 때 마다 최소 1 클락 사이클의 IDLE 전송을 수행하도록 하는 비 선점 라운드 로빈 기반 중재 방식을 사용하는 것을 특징으로 하는 지연 시간을 감소시키는 버스 매트릭스 구조.
KR1020050050660A 2005-06-14 2005-06-14 지연 시간을 감소시키는 버스 매트릭스 구조 KR100762264B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050050660A KR100762264B1 (ko) 2005-06-14 2005-06-14 지연 시간을 감소시키는 버스 매트릭스 구조

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050050660A KR100762264B1 (ko) 2005-06-14 2005-06-14 지연 시간을 감소시키는 버스 매트릭스 구조

Publications (2)

Publication Number Publication Date
KR20060130276A KR20060130276A (ko) 2006-12-19
KR100762264B1 true KR100762264B1 (ko) 2007-10-01

Family

ID=37810727

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050050660A KR100762264B1 (ko) 2005-06-14 2005-06-14 지연 시간을 감소시키는 버스 매트릭스 구조

Country Status (1)

Country Link
KR (1) KR100762264B1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070099834A (ko) * 2006-04-05 2007-10-10 엘지전자 주식회사 Amba ahb의 버스 트래픽 감소 장치 및 감소 방법
KR100854973B1 (ko) * 2007-02-13 2008-08-28 삼성전자주식회사 버스 매트릭스를 포함하는 시스템
PL232382B1 (pl) * 2017-08-08 2019-06-28 Politechnika Warszawska Metastabilnościowy generator losowy
PL232381B1 (pl) * 2017-08-08 2019-06-28 Politechnika Warszawska Metastabilnościowy generator losowy
WO2019030668A1 (en) * 2017-08-08 2019-02-14 Politechnika Warszawska RANDOM NUMBER GENERATOR BASED ON METASTABILITY
PL232335B1 (pl) * 2017-08-08 2019-06-28 Politechnika Warszawska Arbiter

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4945469A (en) 1985-05-17 1990-07-31 Fujitsu Limited High speed stack circuit for register data in a microcomputer
KR20000026338A (ko) * 1998-10-20 2000-05-15 윤종용 Arm 중앙처리장치를 내장한 마이크로 컨트롤러의 버스제어방법
KR20010020189A (ko) * 1998-02-25 2001-03-15 롤페스 요하네스 게라투스 알베르투스 슬레이브 그룹 인터페이스 장치를 경유하여 버스와 주변 장치를 인터페이스하는 방법 및 시스템
KR20030056567A (ko) * 2001-12-28 2003-07-04 한국전자통신연구원 다중 프로세서와 주변 블록을 갖는 시스템 칩을 위한 버스구조
KR20050079563A (ko) * 2004-02-06 2005-08-10 삼성전자주식회사 응답 지연 시간을 단축시킨 버스 시스템

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4945469A (en) 1985-05-17 1990-07-31 Fujitsu Limited High speed stack circuit for register data in a microcomputer
KR20010020189A (ko) * 1998-02-25 2001-03-15 롤페스 요하네스 게라투스 알베르투스 슬레이브 그룹 인터페이스 장치를 경유하여 버스와 주변 장치를 인터페이스하는 방법 및 시스템
KR20000026338A (ko) * 1998-10-20 2000-05-15 윤종용 Arm 중앙처리장치를 내장한 마이크로 컨트롤러의 버스제어방법
KR20030056567A (ko) * 2001-12-28 2003-07-04 한국전자통신연구원 다중 프로세서와 주변 블록을 갖는 시스템 칩을 위한 버스구조
KR20050079563A (ko) * 2004-02-06 2005-08-10 삼성전자주식회사 응답 지연 시간을 단축시킨 버스 시스템

Also Published As

Publication number Publication date
KR20060130276A (ko) 2006-12-19

Similar Documents

Publication Publication Date Title
US7143221B2 (en) Method of arbitrating between a plurality of transfers to be routed over a corresponding plurality of paths provided by an interconnect circuit of a data processing apparatus
US5577229A (en) Computer system and method for pipelined transfer of data between modules utilizing a shared memory and a pipeline having a plurality of registers
US7266632B2 (en) Programmable logic device including programmable interface core and central processing unit
US6772268B1 (en) Centralized look up engine architecture and interface
Bjerregaard et al. Implementation of guaranteed services in the MANGO clockless network-on-chip
RU2370807C2 (ru) Система матричных переключателей с множественными арбитражами шины в каждом цикле посредством устройства арбитража с повышенной частотой
US6401176B1 (en) Multiple agent use of a multi-ported shared memory
KR100762264B1 (ko) 지연 시간을 감소시키는 버스 매트릭스 구조
EP1164494A1 (en) Bus architecture for system on a chip
JP4621604B2 (ja) バス装置、バスシステムおよび情報転送方法
CN109032973B (zh) Icb总线系统
CN111290986B (zh) 一种基于神经网络的总线互联系统
US6948017B2 (en) Method and apparatus having dynamically scalable clock domains for selectively interconnecting subsystems on a synchronous bus
US20070156937A1 (en) Data transfer in multiprocessor system
Fenwick et al. The AlphaServer 8000 series: High-end server platform development
US8667199B2 (en) Data processing apparatus and method for performing multi-cycle arbitration
JP5434812B2 (ja) データ処理システム
KR101420290B1 (ko) 트랜잭션들을 그룹화하는 버스 중재기, 이를 포함하는 버스장치 및 시스템
US7673091B2 (en) Method to hide or reduce access latency of a slow peripheral in a pipelined direct memory access system
Wasif et al. Energy efficient synchronous-asynchronous circuit-switched NoC
KR100487218B1 (ko) 칩 내장형 버스를 인터페이스하기 위한 장치 및 방법
JP2003157228A (ja) データ転送回路
Kessels Register-communication between mutually asynchronous domains
JP2011096172A (ja) 半導体装置
US20040064662A1 (en) Methods and apparatus for bus control in digital signal processors

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120831

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20130902

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140829

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20150901

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20160825

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20170822

Year of fee payment: 11