KR20080080538A - 데이터 송신 버스에 액세스하는 방법, 대응하는 디바이스및 시스템 - Google Patents

데이터 송신 버스에 액세스하는 방법, 대응하는 디바이스및 시스템 Download PDF

Info

Publication number
KR20080080538A
KR20080080538A KR1020087014190A KR20087014190A KR20080080538A KR 20080080538 A KR20080080538 A KR 20080080538A KR 1020087014190 A KR1020087014190 A KR 1020087014190A KR 20087014190 A KR20087014190 A KR 20087014190A KR 20080080538 A KR20080080538 A KR 20080080538A
Authority
KR
South Korea
Prior art keywords
bus
access
peripheral device
master
master peripheral
Prior art date
Application number
KR1020087014190A
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 톰슨 라이센싱
Publication of KR20080080538A publication Critical patent/KR20080080538A/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/36Handling requests for interconnection or transfer for access to common bus or bus system
    • 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/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • G06F13/364Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using independent requests or grants, e.g. using separated request and grant lines
    • 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/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • G06F13/366Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using a centralised polling arbiter

Abstract

본 발명은 1차 마스터(22)와 2차 마스터(32)에 연결될 수 있고, 주변 장치 사이에서 데이터를 송신하기 위해 사용되는 버스(10)에 관한 것이다. 1차 마스터가 버스에서 이용 가능한 작은 시간 단편을 사용할 때 2차 마스터들 사이에서 최소 및/또는 최대 대기 시간을 보장하기 위해, 상기 1차 마스터에는 높은 우선 순위가 제공되고, 매체로 무선으로 액세스하기 위한 수단을 포함한다. 버스로 액세스하기 위한 본 발명의 방법은, 요청시 버스로의 액세스를 1차 마스터에게 인가하는 것과, 1차 마스터 주변 디바이스가 버스로의 상기 액세스를 요청하지 않을 때 2차 마스터에 대한 버스로의 액세스를 선택하는 것으로 이루어진다.

Description

데이터 송신 버스에 액세스하는 방법, 대응하는 디바이스 및 시스템{METHOD FOR ACCESSING TO A DATA TRANSMISSION BUS, CORRESPONDING DEVICE AND SYSTEM}
본 발명은 전자 및 계산 영역에 관한 것으로, 특히 고성능의 버스들을 결정하는 것에 관한 것이다.
종래 기술에 따르면, IBM사에 의해 출원된 특허 출원 US6,587,905에서의 도 9에 관해 설명된 프로세서 로컬 버스(PLB: Processor Local Bus)는, 여러 개의 슬레이브와 마스터를 포함한다. 또한 그 버스에 대한 액세스 우선 순위는 마스터에 대해 한정된다. PLB에서, 가장 낮은 우선 순위를 가지는 마스터는 그 버스에 대한 액세스를 할 수 있는 또 다른 마스터가 그것을 방출할 때에만 그 버스로의 액세스를 할 수 있다.
이 기술은 각 마스터에 대한 송신 대역폭과 대기 시간(latency)을 보장하지 않는다는 불편함이 있다. 또한 이 버스는 낮은 레벨의 통신(특히 물리적인 층 타입 또는 PHY)이나 매체 액세스 제어(MAC: Media Access Control)로서 알려진 통신 채널로의 액세스에 적응되지 않는다. 소프트웨어와 하드웨어 자원 사이의 파티셔닝(partitioning)에도 적응되지 않는다.
본 발명의 목적은 종래 기술의 단점을 극복하는 것이다.
더 구체적으로, 본 발명의 목적은 더 높은 우선 순위를 가진 1차 마스터 주변 디바이스와 2차 마스터 주변 디바이스에 의도된 결정 버스가 링크될 수 있게 하여, 1차 마스터가 버스에서 이용 가능한 시간의 낮은 단편(fraction)을 사용할 때, 버스에 2차 마스터에 대한 최소 비트 속도 및/또는 최대 대기 시간을 보장하는 것이다.
이를 위해, 본 발명은 더 높은 우선 순위를 가진 1차 마스터와 2차 마스터 주변 디바이스에 링크되도록 의도된 버스에 액세스하는 방법을 제안하는데, 이 버스는 주변 디바이스로 및 주변 디바이스로부터의 데이터의 송신에 적합하다. 본 발명에 따르면, 이 방법은
- 상기 버스로의 액세스를 요청할 때 상기 1차 마스터 주변 디바이스로의 버스 액세스를 인가하는 단계와,
- 상기 1차 마스터 주변 디바이스가 상기 버스로의 액세스를 요청하지 않을 때, 2차 마스터 주변 디바이스 중 하나로의 버스 액세스를 선택하는 단계를 포함한다.
바람직한 일 특징에 따르면, 이 선택 단계는
상기 2차 마스터 주변 디바이스 각각에 리볼빙 토큰(revolving token)을 할당하는 단계와,
상기 버스로의 액세스를 요청할 때, 상기 리볼빙 토큰을 가지는 2차 마스터 주변 디바이스로의 버스 액세스를 인가하는 단계를 포함한다.
유리하게, 이 선택 단계는 리볼빙 토큰을 가지는 2차 마스터 주변 디바이스가 버스로의 액세스를 요청하지 않을 때, 2차 마스터 주변 디바이스들 사이의 버스에 액세스하기 위한 중재 단계를 포함한다.
다른 특징에 따르면, 중재 단계는
- 버스에 액세스를 요청하는 2차 주변 디바이스의 임의의 선택 단계,
- 버스에 액세스를 요청하는 버스로의 액세스를 가지는 마지막 2차 주변 디바이스의 선택 단계,
- 버스로의 액세스를 요청하고 가장 긴 시간 동안 버스에 액세스하지 않은 2차 주변 디바이스를 선택하는 단계, 또는
- 가장 긴 시간 동안 버스에 액세스를 요청한 2차 주변 디바이스의 선택 단계를 포함한다.
특별한 일 특징에 따르면, 본 발명의 방법은 읽기 또는 쓰기 타입 액세스를 선택하는 단계를 포함한다.
또 다른 특별한 특징에 따르면, 본 발명의 방법은
- 버스로의 읽기 액세스를 요청할 때 1차 마스터 주변 디바이스에 버스 읽기 액세스 인가를 하는 단계,
- 1차 마스터 주변 디바이스가 상기 버스로의 읽기 액세스를 요청하지 않을 때, 2차 마스터 주변 디바이스 중 하나에 버스 읽기 액세스 선택을 하는 단계,
- 상기 버스로의 쓰기 액세스를 요청할 때, 1차 마스터 주변 디바이스에 버스 쓰기 액세스 인가를 하는 단계, 및
- 1차 마스터 주변 디바이스가 버스로의 쓰기 액세스를 요청하지 않을 때, 2차 마스터 주변 디바이스 중 하나에 버스 쓰기 액세스 선택을 하는 단계를
포함한다.
유리한 일 특징에 따르면, 버스는 적어도 하나의 슬레이브 주변 디바이스를 포함하고, 본 발명의 방법은 상기 슬레이브 주변 디바이스 중 적어도 하나로 또는 상기 슬레이브 주변 디바이스 중 적어도 하나로부터 데이터를 송신하기 위해, 인가된 주변 디바이스에 대한 버스에 읽기 및/또는 쓰기 액세스를 포함한다.
본 발명은 또한 더 높은 우선 순위를 가지는 1차 마스터 주변 디바이스와 2차 마스터 주변 디바이스에 링크되도록 의도된 버스로의 액세스 디바이스에 관한 것으로, 이 버스는 주변 디바이스들 사이에 데이터를 송신하기에 적합하고, 유리하게 이 디바이스는
- 버스로의 액세스를 요청할 때 1차 마스터 주변 디바이스로의 버스 액세스를 인가하기 위한 수단과,
- 1차 마스터 주변 디바이스가 버스로의 액세스를 요청하지 않을 때, 2차 마스터 주변 디바이스 중 하나로의 버스 액세스 선택 수단을
포함한다.
본 발명은 또한
- 버스,
- 상기 버스에 링크된 더 높은 우선 순위를 가지는 1차 마스터 주변 디바이스,
- 상기 버스에 링크된 동일한 우선 순위를 가지는 2차 마스터 주변 디바이스, 및
- 본 발명에 따라 앞서 한정된 것과 같은 버스 액세스 디바이스를
포함하는 시스템에 관한 것으로, 상기 버스는 상기 주변 디바이스들 사이에서 데이터를 송신하기에 적합하다.
유리하게, 이 시스템은 상기 버스에 연결된 적어도 하나의 슬레이브 주변 디바이스를 포함하고, 이 슬레이브 주변 디바이스 또는 디바이스들은 상기 버스로 액세스를 요청할 수 없다.
특별한 일 특징에 따르면, 주변 디바이스 또는 디바이스들은 메모리이다.
유리하게, 1차 마스터 주변 디바이스는 마이크로프로세서를 포함한다.
특별한 일 특징에 따르면, 1차 마스터 주변 디바이스는 무선 매체로의 액세스 수단을 포함한다.
바람직한 일 특징에 따르면, 시스템은 버스와, 2차 마스터 주변 디바이스 중 적어도 하나, 가능하게는 1차 마스터 주변 디바이스를 포함하는 구성 요소를 포함한다.
본 발명은 부가된 도면을 참조하여 이루어지는 다음 설명을 읽을 때 더 잘 이해되고, 다른 특별한 특징 및 장점이 분명하게 된다.
도 1은 본 발명의 특정 일 실시예에 따른 통신 시스템의 매우 도식적으로 그려진 블록도.
도 2는 도 1의 시스템의 층 구조를 도식적으로 도시하는 도면.
도 3은 매체로의 액세스 층을 구비한 데이터 교환 디바이스에 적용된 도 1과 도 2의 시스템을 상세히 도시하는 도면.
도 4는 도 1의 시스템에서 구현된 버스를 도시하는 도면.
도 5와 도 6은 도 4의 버스에서의 데이터 교환 동안의 타이밍도를 도시하는 도면.
도 7은 도 4의 버스로의 액세스 알고리즘을 도시하는 도면.
도 8과 도 9는 도 4의 버스로의 액세스의 예를 도시하는 도면.
도 10과 도 11은 도 4의 버스로의 액세스를 관리하기에 적합한 중재기(arbiter)를 도시하는 도면.
도 12는 도 4의 버스에 연결된 마스터를 도시하는 도면.
도 1은 본 발명의 특정 일 실시예에 따른 통신 시스템(1)을 도식적으로 나타낸다.
이 시스템(1)은
- 버스(10),
- 버스(10)로의 액세스를 관리하는 중재기(13),
- 버스(10)로의 액세스에 가장 높은 우선 순위를 가지는 1차 마스터 주변 디바이스(100),
- 버스(10)에 연결된 2차 마스터 주변 디바이스(110 내지 112), 및
- 슬레이브(120 내지 123)를
포함한다.
마스터(110 내지 112)는 버스에서의 읽기 및/또는 쓰기 모드에서 데이터 전송을 개시하기에 적합하다. 마스터(110 내지 112)는 버스에 액세스하기 위해 1차 마스터(100)보다 낮은 우선 순위를 가진다. 유리하게, 마스터의 개수는 제한되지 않고, 임의의 값(예컨대, 3, 10 또는 100)을 취할 수 있다. 마스터의 개수가 커질수록, 버스가 가장 잘 관리되어야 하는 액세스 인가도 많아지고, 각 마스터에 할당된 시간과 송신 대역폭이 평균적으로 더 낮게 된다. 본 발명은 특히 마스터의 개수가 많을 때 액세스시의 유동성을 가능하게 한다.
슬레이브(120 내지 123)는 버스(10)에서 데이터를 수신 및/또는 송신하고 데이터 전송을 개시할 수 없다. 일반적으로, 본 발명에 따르면 적어도 하나의 슬레이브가 버스(10)에 연결된다.
도 2는 시스템(1)의 층 구조를 도식적으로 보여준다. 더 정확하게는 시스템(1)이
- 물리 층, 즉 PHY,
- 매체 액세스 제어, 즉 MAC(Media Access Control) 층, 및
- 애플리케이션 층을
포함하는 적어도 3개의 층을 구현한다.
매체는, 예컨대 무선 통신 층{예컨대, 적외선, 라디오(특히 표준인 WiFi, IEEE802.11, IEEE802.16 및/또는 IEEE802.15에 따른) 또는 전력선에 의한} 또는 유 선이다. 전송된 데이터의 비트율(bitrate)은 특히 수백 메가바이트에 이를 수 있다.
도 2는 특히 하드웨어/소프트웨어 파티셔닝(partitioning)이라고 알려진 하드웨어(또는 전자 구성 요소)와 소프트웨어 요소 사이의 분할을 나타낸다. 시스템(1)은 특히
- 버스(10)를 포함하고, 데이터 송신 매체(물리 층) 및/또는 애플리케이션 층에 연결되는 MAC 코어(core)(20),
- MAC CPU(중앙 처리 유닛)(22),
- 애플리케이션 층(23), 및
- 쌍방향 링크(28)를 경유하여 층(23)에 연결되는 랜덤 액세스 메모리 또는 SDRAM(24)을 포함한다.
물리 층(20)과 MAC 층은
- 층(20)과 CPU(22) 사이의 쌍방향 제어 링크(252)와,
- 층(20)과 MAC 코어(20) 사이의 2개의 단방향성(mono-directional) 데이터 송신 링크(250, 251)를
포함하는 PHY-MAC 인터페이스(25)에 의해 연결된다.
애플리케이션 층(23)은 각각 데이터 송신 버스(10){인터페이스(26)}와 쌍방향 제어 링크(270)를 경유하여 코어(20)와 CPU(22)에 연결된다.
버스(10)는 동등한 우선 순위를 가진 여러 개의 마스터(도 2에는 미도시)와 적어도 하나의 슬레이브(도 2에는 미도시)에 연결되고, 2차 마스터 주변 디바이스 라고 알려진 나머지 마스터보다 높은 우선 순위를 가지는 버스의 1차 마스터 주변 디바이스인 CPU(22)에 연결된다. 그러므로, CPU(22)는 버스로의 액세스에 대한 우선 순위를 가진다(CPU가 버스로의 액세스에 대해 마스터보다 낮은 우선 순위를 가지는 종래 기술과는 반대로).
도 3은 MAC 층과의 데이터 교환 디바이스에 적용된 시스템(1)을 상술한다.
도 3에 관해 예시된 시스템에 따르면, 중재기(13)에 의해 액세스가 제어되는 버스(10)는
- 버스(10)를 유닛(22)의 내부 버스(221)에 연결하는 인터페이스(220)로서, 이 인터페이스(220)와 버스(221)는 CPU(22)에 속하는, 인터페이스(220),
- 슬레이브 메모리(30),
- 송신부(201){링크(251)에 연결된}와 수신부(202){링크(250)에 연결된}에서 각각 물리 층의 2개의 제어 유닛,
- 보안 코딩기(security coder)(예컨대, 데이터를 암호화하는 것)(32)에서의 송신부(321)와 수신부(322)의 각각의 2개의 DMA 유닛,
- 보안 코딩기(예컨대, 데이터를 해독하는 것)(31)에서의 송신부(311)와 수신부(312)의 각각의 2개의 DMA 유닛,
- 모두 버스 애플리케이션(33)의 마스터 인터페이스(204)에 연결된 송신(205)부와 수신부(203) 각각의 2개의 DMA 유닛으로서, 유닛(203, 205)과 마스터 인터페이스(204)는 애플리케이션과의 인터페이스의 모듈(206)에 속하는, 2개의 DMA 유닛을 연결한다.
버스(221)는 시스템의 나머지 유닛의 제어 버스(예컨대 초기화를 위해)이다. 그것은, 예컨대 AMBA
Figure 112008042121260-PCT00001
버스의 APB 부분의 형태로 구현된다. 상기 버스(221)는 링크(252)에 연결된다.
유닛(201 내지 205), 코딩기(32) 및 디코더(31)는 MAC 코어(20)의 부분이다.
그러므로, 일 예가 예시의 수단으로서 주어지는 시스템은
- MAC CPU(22)에 대응하는 1차 마스터 주변 디바이스,
- 동일한 우선 순위를 가지는 8개의 마스터(201 내지 205, 321, 322, 311, 312) 또는 2차 마스터 주변 디바이스, 및
- 슬레이브(30)를 포함한다.
유리하게, 본 발명은 하드웨어 자원과 소프트웨어 자원 사이의 파티셔닝을 가능하게 하고, 이 파티셔닝은 상이한 하드웨어 구성에 따라 상이하게 이루어질 수 있다.
실제로, 바람직한 일 실시예에 따르면, MAC 코어(20)를 포함하는 유일한 구성 요소는 프로그래밍 가능한 구성 요소{예컨대, PGA(Programmable Gate Array)}, PLD(Programmable Logic Device), 전용 구성 요소 또는 ASIC(Application Specific Integrated Circuit) 또는 마이크로컨트롤러이다. 그러므로, 본 발명은 한 구성 요소 내에서 여러 마스터들을 연결하는 매우 소형인 버스의 장점을 가진다. 실제로, 종래 기술에 따르면, 한 구성 요소 내의 버스의 효율성 레벨을 보장하기 위해, 버스는 별개의 완전한 하위 버스(sub-bus)들(데이터, 어드레스 및 제어를 구비한)로 분할되고, 그러한 하위 버스 각각은 하나의 마스터에 할당된다.
또 다른 일 변형예에 따르면, MAC CPU(22)와 코어 MAC(20)은 동일한 구성 요소에 있다.
또 다른 일 변형예에 따르면, 코어 MAC(20)을 포함하는 구성 요소와, 필요하다면 MAC CPU(22)는 또한 메모리(30)를 포함한다.
다른 변형예에 따르면, MAC CPU(22), 유닛(201, 202), 모듈(206), 코딩기(32) 및 디코더(31)는 모두 또는 부분적으로 분리된 성분에 있다.
도시되지 않은 일 실시예에 따르면, 버스(10)는 2개의 슬레이브 메모리에 연결된다. 물론, 버스(10)는 더 많은 슬레이브에 연결될 수 있다.
도 4는 다수의 마스터{유닛(22)과 코딩기(32)}와 슬레이브{공유되거나 공유되지 않는 연결의 더 나은 비전(vision)을 가능하게 하는 메모리(30)와 또 다른 메모리(301)}를 구비하는 버스(10)을 도시한다.
유닛(22)(각각 32)은 마스터에서 중재기 방향으로 중재기(13)에
- 16비트(또는 일 변형예에 따른 20비트)의 어드레스-쓰기 버스(400)(각각 410),
- 32비트(또는 변형예에 따라 16비트 또는 64비트)의 데이터-쓰기 버스(401)(각각 411),
- 2비트에 관한 크기-쓰기 링크(402)(각각 412),
- 1비트에 관한 쓰기-인에이블 링크(403)(각각 413),
- 16비트(또는 일 변형예에 따른 20비트)의 어드레스-읽기 버스(404)(각각 414),
- 2비트에 관한 크기-쓰기 링크(405)(각각 415), 및
- 1비트에 관한 쓰기-인에이블 링크(406)(각각 416)를
경유하여 연결된다.
유닛(22)(각각 32)은 2차 마스터 주변 디바이스에 감지 중재기에서의 중재기(13)에
- 버스-허가(grant) 링크(408)(각각 418)와,
- 버스에 연결된 모든 마스터에 의해 공유된 32비트(또는 변형예에 따른 16비트나 64비트)의 데이터-읽기 버스(407)를
경유하여 연결된다.
도 4에 관해 설명된 실시예에 따르면, 버스-허가 링크는 2차 마스터 주변 디바이스를 중재기(13)에 연결하고, 이 경우 2차 마스터 주변 디바이스는 1차 마스터 주변 디바이스가 제어를 취하지 않는다면 동시에 쓰기 버스와 읽기 버스를 액세스할 수 있다.
본 발명의 일 변형예에 따르면, 2차 마스터 주변 디바이스는 또한 1차 마스터 주변 디바이스가 읽기 액세스(각각 쓰기 액세스)를 하는 동시에 쓰기 액세스(각각 읽기 액세스)를 할 수 있고, 이 경우 2차 마스터 주변 디바이스에 의한 액세스 타입과 1차 마스터 주변 디바이스에 의한 액세스 타입은 상이하다.
또 다른 일 변형예에 따르면, 2개의 버스-허가 링크는 각각 읽기 모드(409 내지 419)와 쓰기 모드(4010 내지 4110)에서, 2차 마스터 주변 디바이스를 중재기(13)에 연결한다. 이 경우, 2개의 2차 마스터 주변 디바이스는 동시에 버스에 액 세스할 수 있는데, 하나는 쓰기 모드에서 나머지 것은 읽기 모드에서이다. 이 변형예는 버스로의 액세스를 분명하게 하고, 더 신속한 액세스 및/또는 더 높은 비트율을 가능하게 한다.
슬레이브(301)(각각 30)는 중재기에서 슬레이브 방향으로
- 16비트(또는 변형예에 따라서는 20비트)의 버스(13)에 연결된 모든 슬레이브에 의해 공유된 어드레스-쓰기 버스(420),
- 32비트(또는 변형예에 따라서는 16비트나 64비트)의 모든 슬레이브에 의해 공유된 데이터-쓰기 버스(421),
- 2비트에 관한 크기-쓰기 링크(423)(각각 433),
- 16비트(또는 변형예에 따라서는 20비트)의 모든 슬레이브에 의해 공유된 어드레스-읽기 버스(422),
- 2비트에 관한 크기-읽기 링크(424)(각각 434)를
경유하여 중재기(13)에 연결된다.
슬레이브(30, 301)는 슬레이브에서 중재기 방향으로, 32비트(또는 변형예에 따라서는 16비트나 64비트)의 데이터-읽기 버스(425)(각각 435)를 경유하여, 중재기(13)에 연결된다.
데이터 크기 신호(402, 412, 405, 415, 423, 433, 424, 434)는 버스(10)에서 운반된 여러 데이터 크기가 한정될 수 있게 한다. 그러므로, 2비트에 관해 코딩된 데이터 크기를 사용하면, 8비트, 16비트 및 32비트와 같은 3개의 미리 한정된 데이터 크기가 가능하다. 일 변형예에 따르면, 데이터 버스는 32비트보다 많은 비트(예 컨대, 64비트나 128비트)를 포함하고, 이후 미리 한정된 값이 버스의 크기(예컨대, 64비트의 버스에 대해서는 8, 16, 32, 64비트와 같은 4개의 데이터 크기 값이 미리 한정될 수 있다)에 따라 선택된다. 여기서, 바람직하게는 미리 한정된 값들이 인수가 2인(미리 한정된 값은 이전 값의 2배와 같다) 등차 수열(arithmetical progression)을 따른다. 다른 변형예에 따르면, 미리 한정된 값은 등차 수열을 따르지 않고, 데이터 버스의 크기 이하인 임의의 값일 수 있다.
일 변형 실시예에 따르면, 데이터는 고정된 크기에 따라 코딩되고 데이터 크기 신호(와 대응하는 링크)는 생략된다.
중재기(13)는, 예컨대 전자 회로, 프로그래밍 가능한 회로, ASIC 또는 마이크로-컨트롤러 또는 마이크로프로세서의 형태로 구현된다. 버스 케이블링(cabling)은 가장 높은 우선 순위를 가진 마스터 CPU(또는 1차 마스터 주변 디바이스), 동등한 우선 순위를 가지는 마스터(또는 2차 마스터 주변 디바이스), 및 슬레이브의 식별을 가능하게 한다.
버스(10)는 클록(CLK)과 같은 다른 신호와, 버스와 중재기(13)에 연결된 모든 주변 디바이스에 링크되는 리셋 신호를 포함한다. 클록 신호는 읽기 쉽게 되도록 도면에 도시되어 있지 않다.
도 5는 데이터 읽기 및 쓰기 동작이 동시에 일어날 수 있는 일 실시예에 다른 버스(10)에서의 데이터 교환 동안의 타이밍도를 도시한다. 동시 읽기 및 쓰기 동작은 이들 동작을 가능하게 하는 마스터{매칭된 송신 및 수신에서 직접 액세스 메모리(DMA)를 가지는 마스터와 같은}에 잘 적응된다.
모든 신호는 클록 신호(50)와 동기화된다.
제 1 클록 상승 가장자리에서, 대응하는 "버스 허가" 신호를 경유하여 액세스 인가를 수신한 마스터에 대한 데이터(52)와 동시에 쓰기 어드레스 신호(51)가 활성화된다. 이들 신호는 클록 사이클 동안에 유효한 채로 있다.
동시에, 마스터는 클록 신호(50)의 상승 가장자리에서 버스로의 액세스를 요청{"읽기-인에이블" 신호(53)}하고 얻는다. 대응하는 데이터(예컨대, 슬레이브에 의해 공급된)는 다음 클록 사이클(신호 55)에서 나타나고, 읽기-액세스(신호 54)는 중재기(13)에 의해 허가된다.
본 발명의 일 변형예에 따르면, 버스(10)는 읽기 및 쓰기 모드에서 각각 기능하는 2개의 별개의 버스로 분리된다.
본 발명은 물리 층에서의 높은 비트율을 가능하게 한다. 일 예시로서, 40㎒의 버스 클록(FPGA 형태로 구현하기 위한)에 있어서는 물리 층에서의 비트율이 32비트의 데이터 버스로 100Mbit/s보다 크다. 읽기 및 쓰기 순시 비트율은 2.56Gbit/s에 도달할 수 있다. ASIC 구현예에서는, 클록 비트율은 매우 보다 높은 속도(예컨대 80㎒)로 결정될 수 있다. 이후 비트율은 비례적으로 증가된다. 2차 마스터 주변 디바이스에 있어서는, 버스에 액세스하기 위한 최대 대기 시간(1차 마스터로의 액세스를 배제하는)이 2차 마스터 주변 디바이스의 수에 사이클당 클록 펄스의 수를 곱한 것과 같다.
도 6은 일 변형 실시예에 따른 버스(10) 상에서의 데이터 교환 동안의 타이밍도를 도시하고, 이 경우 읽기와 쓰기 동작은 순차적으로 수행되고 동시에 수행되 지는 않는다.
요소(51, 52)는 도 5와 도 6에 공통이고, 동일한 참조 번호를 가진다. 그러므로 이들은 추가로 설명되지 않는다.
특정 어드레스(63)에 대한 데이터-읽기 신호는 버스가 읽기 모드에서 비어있을 때에만 구현된다.
도 6의 타이밍도에 대응하는 실시예에 따르면, 버스 중재기가 상관 해제된 방식으로 읽기-액세스와 쓰기-액세스를 관리한다. 이 버스는 읽기와 쓰기 사이에서 번갈아가며 액세스된다. 본 발명의 일 변형 실시예에 따르면, 읽기-액세스와 쓰기-액세스는 번갈아가며 일어나지 않고, 읽기와 쓰기 사이의 우선 순위는, 예컨대 임의적(random)이거나 반대로 미리 한정된 규칙, 특히 도착 순서 및/또는 버스 액세스를 요청하는 2차 마스터 주변 디바이스의 우선 순위에 따라 임의의 방식으로 한정된다.
도 7은 버스 액세스 알고리즘(10)(예컨대, 프로그래밍 가능한 구성 요소에서 중재기가 구현될 때 VHDL로 구현될 수 있는)을 도시한다.
리셋 신호의 활성화에 대응하는 초기화 단계(70) 동안, 중재기(13)가 초기화되고, 출력 신호는 비활성화되며, 내부 레지스터(특히 현재 마스터 레지스터)가 또한 초기화된다. 이후, 데이터 읽기/쓰기 사이클이 구현된다. 이들 사이클은 클록 신호에 관해 동기화되고, 흐름도에서의 기본 루프는 한 클록 사이클에 대응한다.
기본 루프는 테스트(71)로 시작하고, 이 테스트에서 중재기(13)는 중앙 처리 유닛(22)이 액세스(활성화된 쓰기-인에이블 또는 읽기-인에이블 신호)를 원하는지 를 검증한다. 긍정의 경우에는, 신호(408)의 활성화에 의해 단계(72) 동안 중앙 처리 유닛(22)에 액세스가 주어진다.
부정의 경우, 중앙 처리 유닛(22)은 액세스를 요청하지 않고 또 다른 마스터에 액세스가 주어질 수 있다. 중재기(13)는 버스(10)로의 정당한 액세스를 가지는 동일한 우선 순위의 2차 마스터 주변 디바이스 각각에 대한 사이클을 관리한다. 또한, 중재기(13)는 2차 마스터 주변 디바이스 중에서 순서화된 시퀀스를 한정한다. 그러므로, 단계(73) 동안 시퀀스의 끝에 도달하였는지를 검증한다. 대답이 예(yes)라면, 단계(740) 동안 시퀀스를 다시 초기화하고, 첫 번째 2차 마스터 주변 디바이스를 현재 마스터로 간주한다. 그렇지 않으면, 단계(741)에서 다음 2차 마스터 주변 디바이스로 이동하여 이 디바이스가 현재 마스터가 된다.
본 발명의 제 1 실시예에 따르면, 순서화된 시퀀스는 처음으로 임의의 방식으로 또는 마스터의 타입에 따라 한정될 때 고정된다.
일 변형예에 따르면, 순서화된 시퀀스는 단계(740) 동안 임의로 수정된다. 그러므로, 마스터의 혼합은 그 더 큰 공평성(fairness)에 대해 얻어질 수 있다. 또 다른 변형예에 따르면, 외부 이벤트에 따라(예컨대, 1차 마스터 또는 2차 마스터에 의해 송신된 명령어에 따라) 단계(740) 동안 순서화된 시퀀스가 수정된다.
이후, 단계(75) 동안 중재기(13)가 현재 마스터(M)가 버스에 액세스를 요청하였는지를 확인한다. 긍정의 경우에는, 단계(76)에서 현재 마스터에 버스 액세스를 준다.
부정의 경우, 중재 단계(77) 동안 버스 액세스를 요청한 마스터 중에서 마스 터(Mj)를 결정하고, 단계(78) 동안 버스로의 액세스를 준다. 중재 단계(77)는 특히 현재 마스터가 버스 액세스를 요청하지 않을 때 송신 비트율이 증가되는 것을 가능하게 한다.
단계(77)에 대해 몇 가지 중재 전략이 고려될 수 있는데, 이러한 중재 전략은 특히:
- 임의적인 속성(random attribution)의 전략,
- 버스로 액세스를 한 가장 최근의 마스터에 주어진 액세스,
- 마스터 우선 순위 번호에 따른 액세스(마스터들은 마스터들의 각각의 우선 순위에 따라 할당된 케이블 핀을 구비한 순수히 전자적 구현예에서와 같은 우선 순위의 순서대로 버스에 연결된다),
- 이전 액세스(예컨대, 일반적으로 또 다른 주어진 마스터의 액세스 다음에 오는 액세스를 요청하는 마스터에 대한 액세스)에 의존하고, 예컨대 표로 만들어진 논리적 순서에 따른 액세스,
- 요청된 액세스 타입(읽기 또는 쓰기)에 따른 액세스로서, 우선 순위는 액세스의 2가지 타입 중 하나로 주어지는, 액세스 및/또는
- 버스에 대한 액세스를 요청한 제 1 주변 디바이스에 대한 액세스
와 같다.
알고리즘은 우선적으로 논리 포트를 사용하는 하드웨어 구현예에 대응한다. 쓰기 액세스 신호는 다음 방식으로 요약될 수 있다.
- 버스-허가(Mp) = 쓰기-인에이블(Mp)
- 버스-허가(M) = 쓰기- 인에이블(Mp)). 쓰기-인에이블(M);
- 버스-허가(Mj) =
쓰기- 인에이블(Mp).쓰기- 인에이블(M).쓰기-인에이블(Mj)
여기서,
- Mp는 1차 마스터{여기서는 유닛(22)}를, M은 현재 마스터를, Mj는 중재 단계에 의해 결정된 마스터를 나타내고,
- 버스-허가(X)는 마스터(X)에 대한 버스 액세스 인가 신호를 나타내고, 쓰기-인에이블(X)은 마스터(X)로부터의 버스 액세스 요청 신호를 나타내며, 쓰기-인에이블(X)은 반대 신호(인버터 게이트를 사용하여 얻어진)를 나타낸다.
연산자 "."는 논리적 곱셈을 나타내고 AND 포트를 사용하여 구현될 수 있다.
단계(73)는 컴퓨터를 사용하여 구현될 수 있다.
위 연산들은 클록과 동기되어 행해진다.
도 8과 도 9는 버스(10)로의 연속적인 액세스를 나타낸다.
더 구체적으로, 도 8은 MAC CPU나 현재 마스터가 버스를 요청하지 않을 때{이 경우에는 단계(77)와 단계(78)가 존재하지 않음), 버스 액세스를 위해 제공하지 않는 단순화된 구현예에 대응한다. 도 9는 MAC CPU나 현재 마스터가 버스를 요청하지 않을 때, 중재 단계를 구현하는 도 7에 관해 나타낸 알고리즘에 따른 버스(10)에 대한 연속적인 액세스를 나타낸다.
도 8에 따르면, 순서화된 시퀀스는 (2, 3, 4, 5, 6, 7)이라고 가정된다.
도 8의 표에서 첫 번째 라인에 있는 요소들은 시간의 함수로서 현재 마스터 를 나타내고, 동일한 우선 순위를 가진 마스터가 2부터 7까지의 값을 취하는 파라미터(N)로 번호가 매겨져 있다. 첫 번째 열은 마스터를 나타낸다(MAC CPU는 1과 같은 N개의 파라미터를 가진다).
첫 번째 사이클 동안, 5의 값을 가지는 파라미터(N)를 구비한 마스터는 현재 마스터이고 버스에 대한 액세스를 요청하지 않는다.
두 번째 사이클(80) 동안, 2의 값을 가지는 파라미터(N)를 구비한 2차 마스터 주변 디바이스는 현재 마스터이고, 그것은 버스에 대한 읽기-액세스를 요청하고 얻는다(R로 표기됨).
세 번째 사이클(81) 동안, 유닛(22)은 읽기 액세스를 요청하고 얻어, 3의 값을 가지는 파라미터(N)를 구비한 2차 마스터 주변 디바이스에 대한 읽기 액세스를 금지한다.
다음 사이클(82, 83, 84 등) 동안, 중재기는 유닛(22)에 대한 우선 순위를 주거나, 만약 유닛(22)이 버스 액세스를 요청하지 않으면 쓰기-액세스(W로 표기됨)나 읽기-액세스에서 현재 마스터{N은 순서화된 시퀀스(2, 3, 4, 5, 6, 7)의 연속 값을 취한다}에 우선 순위를 준다.
현재 마스터 및/또는 유닛(22)에 의해 동시에 쓰기-액세스와 읽기-액세스가 존재할 수 있다는 점이 주목된다(일부 하지만 반드시 모두일 필요는 없는 마스터가 읽기-액세스와 쓰기 액세스를 지원할 수 있다). 이는, 예컨대 사이클(85) 동안 유닛(22)이 버스 액세스를 가지고 현재 마스터(6의 값을 가지는 N)가 읽기 액세스(그러한 액세스가 가능한 변형예에 대응하는)를 가지는 경우이다. 이는 또한 사이 클(86) 동안, 2의 값을 가지는 N을 구비한 2차 마스터 주변 디바이스가 읽기 모드와 쓰기 모드 모두에서 버스를 액세스하는 경우이다.
도 9에 따르면, 순서화된 시퀀스가 (2, 3, 4, 5, 6, 7)라고 가정된다.
도 9의 표는 다음 라인들을 연속적으로 포함한다:
- 1차 마스터 주변 디바이스가 쓰기(W) 또는 읽기(R)를 요구한 액세스의 타입을 구비한 버스를 요청한다는 표시,
- 버스에 대한 읽기-액세스를 요청하는 2차 마스터 주변 디바이스에 대응하는 N의 파라미터의 값,
- 버스에 대한 쓰기-액세스를 요청하는 2차 마스터 주변 디바이스에 대응하는 N의 파라미터의 값,
- 선택 단계 동안 중재기에 의해 선택된 2차 마스터 주변 디바이스로서, 1차 마스터 주변 디바이스는 버스에 대한 액세스를 요청하지 않는, 2차 마스터 주변 디바이스,
- 버스에 대한 읽기-액세스를 가지는 마스터 주변 디바이스, 및
- 버스에 대한 쓰기-액세스를 가지는 마스터 주변 디바이스.
여기에 주어진 예에서, 1차 마스터 주변 디바이스가 제어를 요청하지 않으면, 2차 마스터 주변 디바이스가 버스에 대한 액세스를 가질 수 없다고 가정된다.
제 1 사이클(900) 동안, 각각 2와 6의 값을 가지는 N에 대응하는 2개의 2차 마스터 주변 디바이스가 읽기-액세스를 요청한다. 그러므로 2의 값을 가지는 N을 구비한 마스터를 선택한 중재기가 버스에 대한 액세스를 그 마스터에게 제공한다.
제 2 사이클(901) 동안, MAC CPU는 읽기-액세스에서 제어를 요청하여 그것을 얻는다.
제 3 사이클(902) 동안, 3의 값을 가지는 N을 구비한 선택된 마스터가 제어를 요청하지 않고, 6의 값을 가지는 N을 구비한 마스터가 버스에 대한 액세스를 요청하기 위한 유일한 마스터로서, 중재 단계 동안 버스에 대한 읽기-액세스를 얻는다.
제 4 사이클(903) 동안, 2의 값을 가지는 N을 구비한 마스터가 읽기 모드와 쓰기 모드 모두에서 버스에 대한 액세스를 요청하여 이 액세스를 얻고, 4의 값을 가지는 N을 구비한 선택된 마스터가 버스에 대한 액세스를 요청하지 않는다.
제 5 사이클(904) 동안, 7과 5의 값을 가지는 N을 구비한 1차 마스터 및 2차 마스터 주변 디바이스는 버스에 대한 액세스를 요청한다. 따라서 1차 마스터가 버스 액세스를 얻는다.
제 6 사이클(905) 동안, 3의 값을 가지는 N을 구비한 2차 마스터 주변 디바이스가 또한 버스에 대한 액세스를 요청한다. 중재기는 5의 값을 가지는 N을 구비한 마스터를 선택한다. 이후 중재기는 버스에 대한 액세스를 얻는다.
제 7 사이클(906) 동안, 6의 값을 가지는 N을 구비한 선택된 마스터는 버스에 대한 액세스를 요청하지 않고, 3 내지 7의 값을 가지는 N을 구비한 마스터들 사이의 중재 단계 동안, 중재기는 N값이 7인 주변 디바이스에 대한 제어를 준다.
이후, 사이클(907) 동안, 3의 값을 가지는 N을 구비한 마스터가 버스에 대한 액세스를 가진다.
이후, 다음 2개의 단계(908, 909) 동안, 어떠한 마스터도 버스에 대한 액세스를 요청하지 않고, 버스는 빈 상태로 남는다.
따라서, 중재 국면(arbitration phase)이 1차 마스터와 2차 마스터가 버스에 대한 액세스를 요청하지 않을 때 타임 슬롯(time slot)이 사용되는 것을 가능하게 한다.
도 10은 중재기(13)의 구조를 예시하는데, 버스에 대한 읽기-액세스와 쓰기-액세스가 상관해제된다.
중재기(13)는
- 쓰기-액세스 선택 모듈(131),
- 어드레스-쓰기 멀티플렉서(131),
- 데이터-쓰기 멀티플렉서(132),
- 크기-쓰기 멀티플렉서(133),
- 읽기-액세스 선택 모듈(134),
- 어드레스-읽기 멀티플렉서(135),
- 데이터-읽기 멀티플렉서(136),
- 크기-읽기 멀티플렉서(137)를
포함한다.
액세스 선택 모듈(130)(각각 134)은 다양한 마스터로부터 쓰기-인에이블 요청 엔트리 신호(403, 413)(각각 406, 416)를 수신한다. 그것은 마스터 중 하나로의 액세스를 주기 위해 도 7의 알고리즘을 구현하고, 만약 필수적이라면
- 액세스 인가를 수신한 마스터와 연관된 버스-허가 신호(4010 내지 4110)(각각 409 내지 419) 중 하나와,
- 액세스 인가를 수신한 마스터에 의존하는 멀티플렉서(131 내지 133)(각각 135 내지 137)를 파일럿(piloting) 명령어 신호(138)를
활성화한다.
어드레스 멀티플렉서(131)(각각 135)는 다양한 마스터로부터 신호 어드레스(400, 410)(각각 404, 414)를 수신한다. 그것은 출력에서 그것이 수신하는 명령어 신호(138)(각각 139)에 따라 어드레스 신호(420)(각각 422)를 제공한다.
어드레스 멀티플렉서(132)는 또한 선택된 어드레스를 포함하는 주변 디바이스(슬레이브)에 따라 명령어 신호(1390)를 발생시킨다.
데이터 멀티플렉서(132)(각각 136)는 다양한 슬레이브로부터 데이터 신호(401, 411)(각각, 425, 435))를 수신한다. 그것은 그것이 수신하는 명령어 신호(138)(각각 1390)에 따라 출력에서 데이터 신호(421)(데이터-쓰기){각각 407(데이터-읽기)}를 제공한다.
본 발명의 일 변형예에 따르면, 버스는 데이터 읽기를 공급하기 위해 적합한 슬레이브만을 받아들인다. 이 경우, 모듈(136)과 신호(1390)(그리고 그것을 발생시키는 수단)는 생략된다.
크기 멀티플렉서(133)(각각 137)는 다양한 마스터로부터 크기 신호(402, 412)(각각 404, 414)를 수신한다. 그것은 그것이 수신하는 명령어 신호(138)(각각 139)에 따라 출력에서 크기 신호(433)(각각 424)를 제공한다.
도 11은 읽기-액세스 및/또는 쓰기 액세스가 주어진 사이클 동안 1차 마스터 주변 디바이스 및/또는 단일 2차 마스터 주변 디바이스에 대해 인가되는 구현예에 대응하는 본 발명의 일 변형 실시예에 따른 중재기 구조(14)를 예시한다.
중재기(14)는 단일 어드레스 선택 모듈(140)로 대체되는 모듈(131, 134)에 대한 것을 제외하고는 앞의 중재기와 유사하고 그 버스는 쓰기 동작과 읽기 동작을 동시에 받아들일 수 없다. 각 마스터는 그것에 전용인 읽기/쓰기 액세스 인가 신호(141, 142)를 수신한다. 나머지 요소는 동일한 참조 번호를 가지는 유사한 것으로 추가로 설명되지 않는다.
모듈(140)은 버스에 연결된 다양한 마스터로부터의 쓰기 동작(403, 413)과 읽기 동작(406, 416)에 대한 버스 액세스 인가 요청 신호를 수신한다. 모듈(140)은
- 도 7의 알고리즘의 구현예에 의해 결정된 마스터에 따른 버스 액세스 인가 신호(141, 142)와,
- 그렇게 결정된 마스터와 그렇게 결정된 마스터에 의해 요청된 액세스 타입 또는 타입들(쓰기 또는 읽기)에 따른 명령어 신호(138, 139)를
발생시킨다.
물론, 본 발명은 앞에 설명된 실시예에 제한되지 않는다.
특히, 본 발명은 앞서 설명된 것과는 상이한 마스터 및/또는 슬레이브의 개수와 기능에 적합하다.
또한 데이터 비트 개수, 어드레스, 버스에서 병렬로 송신된 데이터의 크기의 개수는 고정되지 않고, 본 발명의 상이한 실시예에 따라 앞서 표시된 것 외의 다른 값들을 취할 수 있다.
동시에 송신된 데이터의 크기를 표시하는 신호는, 송신된 데이터의 크기가 고정될 때 생략된다.
게다가, 앞서 설명된 것 외의 다른 신호가,
- 중재 단계에서 2차 마스터 주변 디바이스의 순서에서 동적인 변화에 대한 신호,
- 버스에 액세스하기 위해 중재기에 의해 선택된 2차 마스터 주변 디바이스가 액세스를 요청하지 않는다면, 중재 구현의 활성화 신호 또는 비활성화 신호,
- 1차 마스터 주변 디바이스가 버스에 대한 액세스를 요청하지 않을 때, 2차 마스터 주변 디바이스의 버스에 대한 액세스의 선택 순서에서 동적인 변화에 대한 신호에 따라 그리고 특히, 버스 상에 나타날 수 있다.
특히, 이들 신호는 CPU(Central Processing Unit)에 의해 구현될 수 있다.
본 발명은 사용 자유도를 크게 할 수 있고, 특별한 애플리케이션 및/또는 특정 물리 층에 대한 적응을 위한 코어 재구성(core reconfiguration)을 용이하게 하며, 모듈러 설계(modular design)에 잘 적응된다. 따라서, 본 발명은 또한 전적으로 전자적인 구현예(구성 구성 요소의 형태로 된) 또는 이와는 반대로 부분적으로 소프트웨어(예컨대, 상황에 따라 쉽게 재구성될 수 있는 "라디오 소프트웨어"의 경우에서의)에 적합하다. 게다가, 본 발명은 많은 영역에 적용 가능하고, 특히 유선 또는 무선 통신 영역{특히 IEEE 802.16, IEEE 802.15.3(UWB) 타입의 물리 층과의 인터페이스}에서 적용 가능하다.
전술한 바와 같이, 본 발명은 전자 및 계산 영역에, 특히 고성능의 버스들을 결정하는 것에 이용 가능하다.

Claims (17)

  1. 데이터 버스(10)에 액세스하는 방법으로서, 상기 데이터 버스(10)는 상기 1차 마스터 주변 디바이스(100, 22)와 2차 마스터 주변 디바이스(110 내지 112, 201 내지 205, 32, 321, 322, 311, 312)에 연결하도록 의도되고, 상기 주변 디바이스들에 데이터 송신을 하는 것 및/또는 상기 주변 디바이스들로부터 데이터 송신을 하는 것에 적합하고 MAC 층 레벨에서 프레임을 운반하는, 데이터 버스(10)에 액세스하는 방법에 있어서,
    상기 1차 마스터 주변 디바이스는 가장 높은 버스 액세스 우선 순위를 가지고 무선 매체로의 액세스 수단을 포함하며,
    상기 방법은
    - 상기 버스로의 액세스를 요청할 때(71) 상기 1차 마스터 주변 디바이스로의 버스 액세스를 인가하는 단계(72)와,
    - 상기 1차 마스터 주변 디바이스가 상기 버스로의 액세스를 요청하지 않을 때 상기 2차 마스터 주변 디바이스 중 하나로의 버스 액세스를 선택하는 단계(75)를 포함하는 것을 특징으로 하는, 데이터 버스에 액세스하는 방법.
  2. 제 1항에 있어서, 상기 선택 단계는,
    - 상기 2차 마스터 주변 디바이스 각각에 리볼빙 토큰(revolving token)을 할당하는 단계(740, 741)와,
    - 상기 버스로의 액세스를 요청할 때(75), 상기 리볼빙 토큰을 가지는 2차 마스터 주변 디바이스로의 버스 액세스를 인가하는 단계(76)를
    포함하는 것을 특징으로 하는, 데이터 버스에 액세스하는 방법.
  3. 제 2항에 있어서, 상기 선택 단계는 상기 리볼빙 토큰을 가지는 2차 주변 디바이스가 상기 버스로의 액세스를 요청하지 않을 때(75), 2차 마스터 주변 디바이스들 사이의 버스로의 액세스를 위한 중재(arbitration) 단계(77)를 포함하는 것을 특징으로 하는, 데이터 버스에 액세스하는 방법.
  4. 제 3항에 있어서, 상기 중재 단계는 상기 버스로의 액세스를 요청하는 2차 주변 디바이스의 임의의 선택 단계를 포함하는 것을 특징으로 하는, 데이터 버스에 액세스하는 방법.
  5. 제 3항에 있어서, 상기 중재 단계는 상기 버스로의 액세스를 요청하는 버스에 액세스를 한 마지막 2차 주변 디바이스의 선택 단계를 포함하는 것을 특징으로 하는, 데이터 버스에 액세스하는 방법.
  6. 제 3항에 있어서, 상기 중재 단계는 버스 액세스를 요청하고 가장 긴 기간 동안 상기 버스에 액세스를 하지 않은 2차 주변 디바이스를 선택하는 단계를 포함하는 것을 특징으로 하는, 데이터 버스에 액세스하는 방법.
  7. 제 3항에 있어서, 상기 중재 단계는 가장 긴 기간 동안 버스로의 액세스를 요청한 2차 주변 디바이스의 선택 단계를 포함하는 것을 특징으로 하는, 데이터 버스에 액세스하는 방법.
  8. 제 1항 내지 제 7항 중 어느 한 항에 있어서, 쓰기 또는 읽기 액세스 타입의 선택 단계를 포함하는 것을 특징으로 하는, 데이터 버스에 액세스하는 방법.
  9. 제 1항 내지 제 7항 중 어느 한 항에 있어서,
    - 버스로의 읽기 액세스를 요청할 때 1차 마스터 주변 디바이스에 버스 읽기 액세스 인가를 하는 단계,
    - 1차 마스터 주변 디바이스가 상기 버스로의 읽기 액세스를 요청하지 않을 때, 2차 마스터 주변 디바이스 중 하나에 버스 읽기 액세스 선택을 하는 단계,
    - 상기 버스로의 쓰기 액세스를 요청할 때, 1차 마스터 주변 디바이스에 버스 쓰기 액세스 인가를 하는 단계, 및
    - 1차 마스터 주변 디바이스가 버스로의 쓰기 액세스를 요청하지 않을 때, 2차 마스터 주변 디바이스 중 하나에 버스 쓰기 액세스 선택을 하는 단계를
    포함하는 것을 특징으로 하는, 데이터 버스에 액세스하는 방법.
  10. 제 1항 내지 제 9항 중 어느 한 항에 있어서, 상기 버스는 적어도 하나의 슬 레이브(slave) 주변 디바이스(120 내지 123, 30)를 포함하고, 상기 방법은 상기 슬레이브 주변 디바이스 중 하나로 또는 상기 슬레이브 주변 디바이스 중 하나로부터 데이터를 송신하기 위해, 인가된 주변 디바이스에 버스로의 읽기 및/또는 쓰기 액세스를 포함하는 것을 특징으로 하는, 데이터 버스에 액세스하는 방법.
  11. 데이터 버스(10)로 액세스하는 디바이스(13, 14)로서, 상기 데이터 버스(10)는 1차 마스터 주변 디바이스(100, 22)와 2차 마스터 주변 디바이스로의 연결을 위해 의도되고, 상기 주변 디바이스로 및/또는 상기 주변 디바이스로부터의 데이터 송신에 적합하고 MAC 층 레벨에서 프레임을 운반하는, 데이터 버스로 액세스하는 디바이스에 있어서,
    상기 1차 마스터 주변 디바이스는 가장 높은 버스 액세스 우선 순위를 가지고 무선 매체로의 액세스 수단을 포함하며,
    상기 액세스하는 디바이스는
    - 1차 마스터 주변 디바이스가 버스로의 액세스를 요청할 때 1차 마스터 주변 디바이스로의 버스 액세스를 인가하기 위한 수단과,
    - 1차 마스터 주변 디바이스가 버스로의 액세스를 요청하지 않을 때, 2차 마스터 주변 디바이스(110 내지 112, 201 내지 205, 32, 321, 322, 311, 312) 중 하나로의 버스 액세스 선택 수단을
    포함하는 것을 특징으로 하는, 데이터 버스로 액세스하는 디바이스.
  12. 시스템으로서,
    - 데이터 버스,
    - 상기 버스에 링크된 더 높은 우선 순위를 가지는 1차 마스터 주변 디바이스,
    - 상기 버스에 링크된 동일한 우선 순위를 가지는 2차 마스터 주변 디바이스, 및
    - 제 11항에 따른 버스 액세스 디바이스를
    포함하고, 상기 버스는 상기 주변 디바이스로 및/또는 상기 주변 디바이스로부터 데이터를 송신하기 위해 적응되는 것을 특징으로 하는, 시스템.
  13. 제 12항에 있어서, 상기 버스에 연결된 적어도 하나의 슬레이브 주변 디바이스를 포함하고, 이 슬레이브 주변 디바이스 또는 디바이스들은 상기 버스로 액세스를 요청할 수 없는 것을 특징으로 하는, 시스템.
  14. 제 13항에 있어서, 상기 주변 디바이스(들)는 메모리인 것을 특징으로 하는, 시스템.
  15. 제 12항 내지 제 14항 중 어느 한 항에 있어서, 상기 1차 마스터 주변 디바이스는 마이크로프로세서를 포함하는 것을 특징으로 하는, 시스템.
  16. 제 12항 내지 제 15항 중 어느 한 항에 있어서, 상기 버스와, 상기 2차 마스터 주변 디바이스 중 적어도 하나를 포함하는 구성 요소를 포함하는 것을 특징으로 하는, 시스템.
  17. 제 16항에 있어서, 상기 구성 요소는 상기 1차 마스터 주변 디바이스를 포함하는 것을 특징으로 하는, 시스템.
KR1020087014190A 2005-12-14 2006-12-01 데이터 송신 버스에 액세스하는 방법, 대응하는 디바이스및 시스템 KR20080080538A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0553872A FR2894696A1 (fr) 2005-12-14 2005-12-14 Procede d'acces a un bus de transmission de donnees, dispositif et systeme correspondant
FR0553872 2005-12-14

Publications (1)

Publication Number Publication Date
KR20080080538A true KR20080080538A (ko) 2008-09-04

Family

ID=36889282

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087014190A KR20080080538A (ko) 2005-12-14 2006-12-01 데이터 송신 버스에 액세스하는 방법, 대응하는 디바이스및 시스템

Country Status (7)

Country Link
US (1) US20100122000A1 (ko)
EP (1) EP1960891A1 (ko)
JP (1) JP2009519524A (ko)
KR (1) KR20080080538A (ko)
CN (1) CN101331469B (ko)
FR (1) FR2894696A1 (ko)
WO (1) WO2007068606A1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5775101B2 (ja) * 2013-01-18 2015-09-09 日本電信電話株式会社 信号受信回路
TWI494944B (zh) * 2013-10-25 2015-08-01 Phison Electronics Corp 記憶體模組偵測方法、記憶體控制電路單元及儲存裝置
CN106610906A (zh) * 2015-10-27 2017-05-03 深圳市中兴微电子技术有限公司 一种数据访问方法及总线
US9965410B2 (en) 2016-01-21 2018-05-08 Qualcomm Incorporated Priority-based data communication over multiple communication buses

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE445861B (sv) * 1984-12-12 1986-07-21 Ellemtel Utvecklings Ab Prioritetsfordelningsanordning for datorer
CA2021826A1 (en) * 1989-10-23 1991-04-24 Darryl Edmond Judice Delay logic for preventing cpu lockout from bus ownership
DE69030640T2 (de) * 1989-11-03 1997-11-06 Compaq Computer Corp Multiprozessorarbitrierung in für Einzelprozessor bestimmten Arbitrierungsschemas
JP2507643B2 (ja) * 1989-12-28 1996-06-12 株式会社日立製作所 共通バス制御方法及びその制御装置並びにマスタ装置と計算機システム
JP3260456B2 (ja) * 1992-12-25 2002-02-25 株式会社日立製作所 コンピュータシステムおよびそれに適した集積回路並びに要求選択回路
JP3195489B2 (ja) * 1994-03-03 2001-08-06 株式会社日立製作所 外部記憶制御装置およびバス切り替え制御方法
US5572686A (en) * 1995-06-05 1996-11-05 Apple Computer, Inc. Bus arbitration scheme with priority switching and timer
US5862355A (en) * 1996-09-12 1999-01-19 Telxon Corporation Method and apparatus for overriding bus prioritization scheme
US5925118A (en) * 1996-10-11 1999-07-20 International Business Machines Corporation Methods and architectures for overlapped read and write operations
US5884051A (en) * 1997-06-13 1999-03-16 International Business Machines Corporation System, methods and computer program products for flexibly controlling bus access based on fixed and dynamic priorities
GB2337138B (en) * 1998-01-30 2002-12-18 * Sgs-Thomson Microelectronics Limited Arbitration
US6073132A (en) * 1998-03-27 2000-06-06 Lsi Logic Corporation Priority arbiter with shifting sequential priority scheme
US6745243B2 (en) * 1998-06-30 2004-06-01 Nortel Networks Limited Method and apparatus for network caching and load balancing
US6490642B1 (en) * 1999-08-12 2002-12-03 Mips Technologies, Inc. Locked read/write on separate address/data bus using write barrier
JP2001195353A (ja) * 2000-01-06 2001-07-19 Rohm Co Ltd Dma転送システム
US6772254B2 (en) * 2000-06-21 2004-08-03 International Business Machines Corporation Multi-master computer system with overlapped read and write operations and scalable address pipelining
US6587905B1 (en) 2000-06-29 2003-07-01 International Business Machines Corporation Dynamic data bus allocation
US6859852B2 (en) * 2000-09-08 2005-02-22 Texas Instruments Incorporated Immediate grant bus arbiter for bus system
US6745273B1 (en) * 2001-01-12 2004-06-01 Lsi Logic Corporation Automatic deadlock prevention via arbitration switching
JP2002251370A (ja) * 2001-02-21 2002-09-06 Noritsu Koki Co Ltd 要求調停方法、要求調停装置、メモリ装置、および写真処理システム
JP2002278922A (ja) * 2001-03-16 2002-09-27 Ricoh Co Ltd コンピュータバスシステム
JP2002312309A (ja) * 2001-04-09 2002-10-25 Nec Eng Ltd 調停回路及び調停方法
JP2002318782A (ja) * 2001-04-20 2002-10-31 Nec Corp バスシステム
JP3791005B2 (ja) * 2001-11-20 2006-06-28 日本電気株式会社 バスアクセス調停装置及びバスアクセス調停方法
US6931470B2 (en) * 2002-02-11 2005-08-16 Motorola, Inc. Dual access serial peripheral interface
JP2003256358A (ja) * 2002-02-28 2003-09-12 Sony Corp アービタ装置及び方法、並びに、リソース共有システム
JP2003348097A (ja) * 2002-05-29 2003-12-05 Hitachi Ulsi Systems Co Ltd 無線lan装置
US20030229743A1 (en) * 2002-06-05 2003-12-11 Brown Andrew C. Methods and structure for improved fairness bus arbitration
US7107365B1 (en) * 2002-06-25 2006-09-12 Cypress Semiconductor Corp. Early detection and grant, an arbitration scheme for single transfers on AMBA advanced high-performance bus
JP2005071049A (ja) * 2003-08-22 2005-03-17 Murata Mach Ltd データ転送制御装置
KR101089324B1 (ko) * 2004-02-20 2011-12-02 삼성전자주식회사 복수의 마스터들을 포함하는 서브 시스템을 개방형 코어프로토콜을 기반으로 하는 버스에 연결하기 위한 버스시스템
US8478921B2 (en) 2004-03-31 2013-07-02 Silicon Laboratories, Inc. Communication apparatus implementing time domain isolation with restricted bus access
US20060026329A1 (en) * 2004-07-30 2006-02-02 Yu James K System and method for an arbiter rewind
JP2006172256A (ja) * 2004-12-17 2006-06-29 Renesas Technology Corp 情報処理装置
GB2426604B (en) * 2005-05-26 2010-07-14 Advanced Risc Mach Ltd Interconnect logic for a data processing apparatus
US7467245B2 (en) * 2005-07-22 2008-12-16 Cisco Technology, Inc. PCI arbiter
US7395361B2 (en) * 2005-08-19 2008-07-01 Qualcomm Incorporated Apparatus and methods for weighted bus arbitration among a plurality of master devices based on transfer direction and/or consumed bandwidth

Also Published As

Publication number Publication date
EP1960891A1 (fr) 2008-08-27
FR2894696A1 (fr) 2007-06-15
JP2009519524A (ja) 2009-05-14
CN101331469A (zh) 2008-12-24
CN101331469B (zh) 2011-11-09
WO2007068606A1 (fr) 2007-06-21
US20100122000A1 (en) 2010-05-13

Similar Documents

Publication Publication Date Title
RU2110838C1 (ru) Устройство для оптимизации организации доступа к общей шине во время передачи данных с прямым доступом к памяти
US6704821B2 (en) Arbitration method and circuit architecture therefore
US6823411B2 (en) N-way psuedo cross-bar having an arbitration feature using discrete processor local busses
CA2598734C (en) Switch matrix system with plural bus arbitrations per cycle via higher-frequency arbiter
CN105260331B (zh) 一种双总线内存控制器
KR930009063B1 (ko) 가상메모리 데이타 전송능력을 가진 고속도 버스 및 데이타 전송방법
KR20080039499A (ko) 전송 방향 및 소비되는 대역폭에 기초하는 가중된 버스중재
US20060288143A1 (en) Early detection and grant, an arbitration scheme for single transfers on amba advanced high-performance bus
KR20070059859A (ko) 칩 내부 회로 간의 데이터 전송을 위한 통신 시스템
US6119188A (en) Priority allocation in a bus interconnected discrete and/or integrated digital multi-module system
US6275890B1 (en) Low latency data path in a cross-bar switch providing dynamically prioritized bus arbitration
US9003092B2 (en) System on chip bus system and a method of operating the bus system
KR20080080538A (ko) 데이터 송신 버스에 액세스하는 방법, 대응하는 디바이스및 시스템
KR100626362B1 (ko) 고속 대역폭의 시스템 버스를 중재하기 위한 중재기, 중재기를 포함하는 버스 시스템 및 버스 중재 방법
JP2004318340A (ja) データ転送制御装置
JPH09153009A (ja) 階層構成バスのアービトレーション方法
KR100475438B1 (ko) 데이터 버스 시스템 및 버스간 크로스 액세스 방법
US6003102A (en) Apparatus and method for arbitrating transactions requiring multiple addresses
KR100857906B1 (ko) 마스터와 슬레이브 사이의 버스 전송을 제어하는 방법 및중재기
KR101041477B1 (ko) 버스 시스템의 버스 중재 장치 및 방법
KR100210404B1 (ko) 공유 메모리 억세스 제어장치
JP4496923B2 (ja) 共有メモリシステム
CN117707426A (zh) 一种芯粒、io资源共享方法、片上系统及电子设备
Pandya SoC Implementation of DMA Data Transfer Protocols on ZYNQ Platform
JPH11232215A (ja) バスコントローラ、バスマスタ装置及びバス制御システムの制御方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application