KR20060118875A - 버스인터페이스 - Google Patents

버스인터페이스 Download PDF

Info

Publication number
KR20060118875A
KR20060118875A KR1020050041295A KR20050041295A KR20060118875A KR 20060118875 A KR20060118875 A KR 20060118875A KR 1020050041295 A KR1020050041295 A KR 1020050041295A KR 20050041295 A KR20050041295 A KR 20050041295A KR 20060118875 A KR20060118875 A KR 20060118875A
Authority
KR
South Korea
Prior art keywords
bus
common
master device
buses
master
Prior art date
Application number
KR1020050041295A
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 KR1020050041295A priority Critical patent/KR20060118875A/ko
Publication of KR20060118875A publication Critical patent/KR20060118875A/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/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • 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

Landscapes

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

Abstract

본 발명은 복수의 버스에 대한 사용효율을 개선시킨 버스인터페이스에 관한 것으로서, 각각 하나 이상의 마스터디바이스를 가지는 복수의 버스와; 상기 복수의 버스에 공통으로 연결된 공통슬레이브디바이스와; 상기 복수의 버스에 공통으로 연결되고, 상기 복수의 버스 중 어느 하나의 버스를 통해 상기 공통슬레이브디바이스와 상호 작용하는 공통마스터디바이스; 및 상기 복수의 버스 각각에 마련되어, 상기 하나 이상의 마스터디바이스 및 상기 공통마스터디바이스로부터 해당 버스에 대한 버스사용 요청신호를 수신하여, 상기 해당 버스의 사용상태에 따라 상기 하나 이상의 마스터디바이스와 상기 공통마스터디바이스 중 어느 하나에 상기 해당 버스에 대한 사용권한을 부여하는 복수의 중재기를 포함하는 것을 특징으로 한다. 이에 의해, 버스인터페이스의 전체적인 성능이 향상된다.
SOC(system on chip), 버스(bus), 공통마스터디바이스

Description

버스인터페이스{Bus Interface}
도 1은 종래의 버스인터페이스를 나타내는 블록구성도,
도 2는 본 발명의 실시예에 따른 버스인터페이스를 나타내는 블록구성도,
도 3은 도 2의 각 버스별로 마스터디바이스에 버스사용이 할당된 상태를 나타내는 그래프,
도 4는 도 3의 버스사용 상태에서 제1마스터디바이스로부터 버스사용이 요청된 상태를 나타내는 그래프,
도 5는 도 2의 버스인터페이스를 제1마스터디바이스와 공통슬레이브디바이스를 중심으로 재도시한 블록구성도이다.
<도면의 주요 부분에 대한 부호의 설명>
200: 버스인터페이스 201: 제1버스
202: 제2버스 203: 제3버스
211: 공통슬레이브디바이스 221: 제1마스터디바이스
231: 중재기 232: 멀티플렉서
233: 디코더
본 발명은 버스인터페이스에 관한 것으로서, 보다 상세하게는 복수의 버스에 대한 사용효율을 개선시킨 버스인터페이스에 관한 것이다.
최근에는 여러가지 기능을 구현하기 위해 집적도가 개선된 칩(chip)이 개발되고 있으며, 이를 위해 칩의 설계시 도 1에 도시된 바와 같은 다중(multiple) 버스인터페이스(Bus Interface)가 적용되고 있다.
도 1의 다중 버스인터페이스(100)에 의하면, 서로 상호작용이 없는 디바이스 간에는 서로 다른 버스에 연결되도록 함으로써 버스의 트래픽(traffic) 문제를 해소시키고 있다. 즉, 제1버스(101)에는 제1슬레이브디바이스(slave device)(111)와 이에 대해 상호작용하는 3개의 마스터디바이스(master device)(121, 122, 123)가 연결되어 있다.
일반적으로 마스터디바이스는 프로세서(processor) 또는 DMA(direct memory access) 제어기를 말하며, 슬레이브디바이스는 RAM, ROM, SDRAM, RDRAM 등의 메모리, 입출력 디바이스 기타 주변장치를 말한다.
제2버스(102)에는 제2 및 제3슬레이브디바이스(112, 113)와 이들에 상호작용하는 3개의 마스터디바이스(124, 125, 126)가 연결되어 있다. 마찬가지로, 제3버스(103)에는 제4슬레이브디바이스(114)와 이에 상호작용하는 3개의 마스터디바이스(127, 128, 129)가 연결되어 있다. 이에 의해, 특정 디바이스의 작동과 무관한 다른 디바이스들 간의 상호작용으로 인하여 상기 특정 디바이스에 의한 버스사용이 지체되는 문제를 해소할 수 있다.
중재기, 예를 들면 중재기(131)는 복수의 마스터디바이스(121, 122, 123)로부터 버스사용에 대한 요청신호를 받아 선택적으로 하나의 마스터디바이스에 제1버스(101)에 대한 사용권한을 부여한다. 이에 따라, 사용권한을 부여받은 마스터디바이스, 예를 들면 마스터디바이스(121)는 대상되는 슬레이브디바이스(111)에 데이터(write data)를 전송하거나 명령(command)을 내리게 된다. 또는, 슬레이브디바이스(111)로부터 데이터(read data)를 읽어들이거나 동작응답을 받게 된다.
또한 일반적으로, 이상과 같이 하나의 버스에 복수의 디바이스가 존재하는 경우, 예를 들면 제1버스(101)에서 복수의 마스터디바이스(121, 122, 123) 또는 제2버스(102)에서 복수의 마스터디바이스(124, 125, 126) 및 복수의 슬레이브디바이스(112, 113)가 존재하는 경우에는, 상기 중재기(131)와 함께 마스터디바이스의 작동대상인 특정 슬레이브디바이스의 선택을 위한 디코더(132)와, 마스터디바이스와 슬레이브디바이스 간의 선택적인 연결을 위한 멀티플렉서(133)가 더 포함된다.
한편, 소정의 슬레이브디바이스(115 참조)가 서로 다른 버스에 연결된 복수의 마스터디바이스(121 내지 129)와 상호작용하는 경우에는, 상기 슬라이브디바이스가 각 버스(101 내지 103)에 공통으로 연결되도록 한다. 도 1에서는 공통슬레이브디바이스(115)가 이러한 경우에 해당한다.
공통슬레이브디바이스(115)는 내부에 중재기 및 멀티플렉서를 구비하여 각 버스(101 내지 103)로부터 전송되어 오는 데이터를 선택적으로 받아들이도록 할 수도 있다.
그러나, 이와 같이 다중 버스인터페이스(100)에 공통슬레이브디바이스(115) 가 구비된 경우에는, 예를 들어 마스터디바이스(121)가 공통슬레이브디바이스(115)에 접속하고자 할 때, 다른 마스터디바이스(122)에 제1버스(101)에 대해 버스할당이 된 때에는 비록 다른 버스(102, 103)가 아이들(idle) 상태인 경우라 하더라도 공통슬레이브디바이스(115)에 접속할 수 없다. 상기 종래기술에 따르면, 마스터디바이스(121)는 중재기(131)로부터 버스할당을 받은 후에야 비로소 제1버스(101)를 통하여 공통슬레이브디바이스(115)에 접속할 수 있게 된다.
따라서, 이상과 같은 접속지연의 문제로 인하여 종래의 다중 버스인터페이스(100)는 전체 성능이 떨어지게 되며, 이에 대한 개선책이 요구되기에 이르렀다.
본 발명의 목적은, 복수의 버스 사용시 버스할당을 원활히 수행할 수 있는 버스인터페이스를 제공하는 데 있다.
상기 목적을 달성하기 위해, 본 발명은 버스인터페이스에 있어서, 각각 하나 이상의 마스터디바이스를 가지는 복수의 버스와; 상기 복수의 버스에 공통으로 연결된 공통슬레이브디바이스와; 상기 복수의 버스에 공통으로 연결되고, 상기 복수의 버스 중 어느 하나의 버스를 통해 상기 공통슬레이브디바이스와 상호 작용하는 공통마스터디바이스; 및 상기 복수의 버스 각각에 마련되어, 상기 하나 이상의 마스터디바이스 및 상기 공통마스터디바이스로부터 해당 버스에 대한 버스사용 요청신호를 수신하여, 상기 해당 버스의 사용상태에 따라 상기 하나 이상의 마스터디바이스와 상기 공통마스터디바이스 중 어느 하나에 상기 해당 버스에 대한 사용권한 을 부여하는 복수의 중재기를 포함하는 것을 특징으로 하는 버스인터페이스를 제공한다.
여기서, 상기 공통마스터디바이스는, 상기 복수의 중재기로부터 하나 이상의 버스 사용권한을 부여받은 경우, 소정의 방법에 따라 사용권한을 부여받은 버스 중 하나를 선택하도록 할 수도 있다.
이하 첨부된 도면을 참고하여 본 발명에 대해 상세히 설명하기로 한다.
본 발명의 실시예에 따른 버스인터페이스(100)는, 도 2에 도시된 바와 같이 각각 복수의 마스터디바이스가 연결된 제1, 제2 및 제3버스(201, 202, 203), 각 버스에 공통으로 연결된 공통슬레이브디바이스(211), 그리고 각 버스마다 해당 버스에 대한 사용권한을 부여하기 위해 마련된 다수의 중재기(ariter, 231, 234, 235)를 포함한다.
또한, 제1버스(201)에 연결된 제1마스터디바이스(221)는 제2버스(202)와 제3버스(203)에도 연결되어 공통마스터디바이스를 구성한다.
본 명세서에서는 발명의 설명을 위해 필요한 최소한의 범위로 버스인터페이스의 구성을 간략화하였다. 따라서, 실제 사용시 필요한 경우에는 각 버스에 하나 이상의 슬레이브디바이스를 더 연결시킬 수도 있다. 또한, 마스터디바이스의 경우에도 필요한 범위내에서 추가하거나 감소시킬 수 있으며, 버스의 개수도 증가 내지 감소시킬 수 있다.
중재기(231)는 제1버스(201)에 연결된 3개의 마스터디바이스(221, 222, 223)로부터 버스사용 요청신호를 수신하여 마스터디바이스별로 제1버스(201)의 사용권 을 할당하여 부여한다.
또한, 중재기(234)는 제2버스(202)에 연결된 2개의 마스터디바이스(224, 225)로부터 버스사용 요청신호를 수신하여 제2버스(202)의 사용권을 할당한다. 마찬가지로, 중재기(235)는 제3버스(203)에 연결된 2개의 마스터디바이스(226, 227)로부터 버스사용 요청신호를 수신하여 제3버스(203)의 사용권을 할당한다.
도 3은 이상과 같이 각 중재기(231, 234, 235)에 의해 해당 버스(201 내지 203)의 사용권이 각 마스터디바이스에 할당된 상태를 예시한 그래프를 나타낸다. 제1마스터디바이스(221)에 의해 버스가 할당된 상태를 M1으로 표시한다면, 제1버스(201)는 도 3에 도시된 바와 같이 M1-M2-M3-M2-M3-M2-M1의 순으로 할당되었음을 알 수 있다.
또한, 제2버스(202)는 M4-M5-(idle)-M4-(idle)의 순으로, 제3버스(203)는 M6-M7-(idle)-M7의 순으로 할당되었음을 알 수 있다.
도 3의 그래프에 따르면, 제1버스(201)는 아이들(idle) 상태 없이 계속 마스터디바이스(221 내지 223)에 할당되었음을 알 수 있다. 반면에, 제2버스(202)와 제3버스(203)는 해당 마스터디바이스에 할당되지 않은 아이들(idle) 상태가 존재하였음을 알 수 있다.
한편, 제1마스터디바이스(221)는 제1버스(201) 이외에 제2버스(202) 및 제3버스(203)에도 연결되어 있으며, 버스사용 요청신호를 모든 중재기(231, 234, 235)에 전송하도록 한다. 버스사용의 요청을 받은 중재기(231, 234, 235)는 해당 버스가 이미 할당된 상태인지 판단하고, 판단결과 할당되지 않은 상태인 경우에는 제1 마스터디바이스(221)에 해당 버스의 사용을 할당한다.
도 4는 도 3과 같은 버스할당 과정에서 제1마스터디바이스(221)가 특정 시점에서 각 중재기(231, 234, 235)에 버스사용 요청신호를 전송할 때 버스가 할당되는 과정을 설명하고 있다. 즉, 시간 T1에서 제1마스터디바이스(221)가 각 중재기(231, 234, 235)에 버스사용을 요청할 때, 제1버스(201)는 제3마스터디바이스(223)에 할당되고 있으며(M3), 제3버스(203)는 제7마스터디바이스(227)에 할당된 상태에 있다(M7). 따라서, 제1마스터디바이스(221)는 중재기(234)에 의해 T1 시점에서 아직 할당되지 않은, 즉 아이들(idle) 상태에 있는 제2버스(202)를 할당받아 공통슬레이브디바이스(211)에 데이터를 전송하는 등 상호작용을 수행할 수 있게 된다.
또한, 시간 T2에서 각 중재기(231, 234, 235)에 제1마스터디바이스(221)에 의한 버스사용 요청이 접수된 경우에는, 중재기(235)가 T2 시점에서 아이들(idle) 상태에 있는 제3버스(203)를 제1마스터디바이스(221)에 할당하게 된다.
한편, 제1마스터디바이스(221)는 각 중재기(231, 234, 235)에 버스사용을 요청한 경우, 동시에 2개 이상의 버스가 아이들(idle) 상태에 존재하게 되는 경우에는 적절한 방법, 예를 들면 버스순서에 따라 사용할 버스를 선택하여 할당받도록 한다.
따라서, 이상 설명한 바와 같은 버스인터페이스(200)에 의하면, 제1마스터디바이스(221)와 같이 버스사용이 많은 디바이스의 경우에는 이를 공통마스터디바이스로 삼아 다른 버스(202, 203)도 할당받아 사용할 수 있도록 함으로써 디바이스 간의 원활한 데이터 전달이 이루어지게 할 수 있고, 결과적으로 버스인터페이스(200)의 전체 성능을 향상시킬 수 있게 된다.
도 5는, 본 실시예에 따른 버스인터페이스(200)에 대하여, 공통마스터디바이스에 해당하는 제1마스터디바이스(221)와 공통슬레이브디바이스(211)를 중심으로 도식화한 회로연결상태를 나타낸 블록구성도이다. 그림에서 보는 바와 같이, 제1마스터디바이스(221)는 모든 중재기(231, 234, 235)에 각 버스(201 내지 203)의 사용요청을 할 수 있게 된다. 각 중재기(201 내지 203)는 이러한 사용요청을 받은 경우에, 다른 마스터디바이스에 대한 버스할당이 없는 한 제1마스터디바이스(221)에 버스할당을 하게 된다.
물론, 각 중재기(231, 234, 235)는 해당 버스에 연결된 다른 마스터디바이스로부터도 해당 버스에 대한 버스사용 요청을 받을 수 있게 구비되어 있다.
한편, 제1마스터디바이스(221)와 같은 공통마스터디바이스는 상기 실시예에서와 같이 하나로 할 수도 있으며, 경우에 따라서는 복수개로 구비할 수 있다.
이상 설명한 바와 같이, 본 발명에 따른 버스인터페이스에 의하면, 공통마스터디바이스가 복수의 버스를 사용할 수 있도록 구비됨에 따라 상기 복수의 버스와 연결되어 있는 공통슬레이브디바이스로의 접속이 원활하게 이루어지게 되고, 이에 따라 버스인터페이스의 전체적인 성능이 향상된다.

Claims (2)

  1. 버스인터페이스에 있어서,
    각각 하나 이상의 마스터디바이스를 가지는 복수의 버스와;
    상기 복수의 버스에 공통으로 연결된 공통슬레이브디바이스와;
    상기 복수의 버스에 공통으로 연결되고, 상기 복수의 버스 중 어느 하나의 버스를 통해 상기 공통슬레이브디바이스와 상호 작용하는 공통마스터디바이스; 및
    상기 복수의 버스 각각에 마련되어, 상기 하나 이상의 마스터디바이스 및 상기 공통마스터디바이스로부터 해당 버스에 대한 버스사용 요청신호를 수신하여, 상기 해당 버스의 사용상태에 따라 상기 하나 이상의 마스터디바이스와 상기 공통마스터디바이스 중 어느 하나에 상기 해당 버스에 대한 사용권한을 부여하는 복수의 중재기를 포함하는 것을 특징으로 하는 버스인터페이스.
  2. 제1항에 있어서,
    상기 공통마스터디바이스는,
    상기 복수의 중재기로부터 하나 이상의 버스 사용권한을 부여받은 경우, 소정의 방법에 따라 사용권한을 부여받은 버스 중 하나를 선택하는 것을 특징으로 하는 버스인터페이스.
KR1020050041295A 2005-05-17 2005-05-17 버스인터페이스 KR20060118875A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050041295A KR20060118875A (ko) 2005-05-17 2005-05-17 버스인터페이스

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050041295A KR20060118875A (ko) 2005-05-17 2005-05-17 버스인터페이스

Publications (1)

Publication Number Publication Date
KR20060118875A true KR20060118875A (ko) 2006-11-24

Family

ID=37705814

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050041295A KR20060118875A (ko) 2005-05-17 2005-05-17 버스인터페이스

Country Status (1)

Country Link
KR (1) KR20060118875A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100798302B1 (ko) * 2005-12-08 2008-01-28 한국전자통신연구원 버스 및 네트워크의 복합 통신 수단을 갖는 시스템 온칩
US9652422B2 (en) 2013-01-25 2017-05-16 Samsung Electronics Co., Ltd. Multi-bus system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100798302B1 (ko) * 2005-12-08 2008-01-28 한국전자통신연구원 버스 및 네트워크의 복합 통신 수단을 갖는 시스템 온칩
US9652422B2 (en) 2013-01-25 2017-05-16 Samsung Electronics Co., Ltd. Multi-bus system

Similar Documents

Publication Publication Date Title
JP4480427B2 (ja) リソース管理装置
JP5237351B2 (ja) より高い周波数アービターを介してサイクルあたり複数のバスアービトレーションを有するスイッチマトリクスシステム
EP1163593B1 (en) Apparatus for communicating between multiple functional units in a computer environment
US20060282588A1 (en) Processor system that allows for simultaneous access by multiple requestors to a target with multiple ports
JP2009508247A (ja) バス調停に関する方法及びシステム
KR100555501B1 (ko) 동적으로 버스 점유 우선 순위를 정하는 버스 중재기 및그 버스 중재 방법
US7107365B1 (en) Early detection and grant, an arbitration scheme for single transfers on AMBA advanced high-performance bus
US20070239888A1 (en) Controlling transmission of data
US20070067527A1 (en) Data transfer bus system connecting a plurality of bus masters
US20080059674A1 (en) Apparatus and method for chained arbitration of a plurality of inputs
US8185679B2 (en) Controlling bus access
KR20060118875A (ko) 버스인터페이스
KR100757791B1 (ko) 공유 자원 중재 프로토콜 방법 및 중재기
KR100973419B1 (ko) 버스 중재 방법 및 장치
JP4260720B2 (ja) バス制御装置
KR20040100631A (ko) 고속 대역폭의 시스템 버스를 중재하기 위한 버스 시스템및 그의 방법
KR100475735B1 (ko) 긴급채널을 이용한 공유버스 중재방법 및 그 장치
JPH0689257A (ja) バスブリッジの調停装置
KR101013769B1 (ko) 버스 중재방법 및 장치
KR100857906B1 (ko) 마스터와 슬레이브 사이의 버스 전송을 제어하는 방법 및중재기
KR100667833B1 (ko) 다중 버스 시스템에 있어서 메모리 할당 방법 및 장치
KR20070079718A (ko) 직접 메모리 엑세스 제어부에서의 버스 제어 방법 및 장치
KR101041477B1 (ko) 버스 시스템의 버스 중재 장치 및 방법
US20050149655A1 (en) Bus allocation method and apparatus
KR20080044456A (ko) 버스인터페이스장치

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination