KR100932359B1 - 고주파수 중재자를 통해 사이클마다 복수의 버스 중재를수행하는 스위치 매트릭스 시스템 - Google Patents

고주파수 중재자를 통해 사이클마다 복수의 버스 중재를수행하는 스위치 매트릭스 시스템 Download PDF

Info

Publication number
KR100932359B1
KR100932359B1 KR1020077021500A KR20077021500A KR100932359B1 KR 100932359 B1 KR100932359 B1 KR 100932359B1 KR 1020077021500 A KR1020077021500 A KR 1020077021500A KR 20077021500 A KR20077021500 A KR 20077021500A KR 100932359 B1 KR100932359 B1 KR 100932359B1
Authority
KR
South Korea
Prior art keywords
bus
frequency
arbiter
arbitration
mediator
Prior art date
Application number
KR1020077021500A
Other languages
English (en)
Other versions
KR20070114179A (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 콸콤 인코포레이티드
Publication of KR20070114179A publication Critical patent/KR20070114179A/ko
Application granted granted Critical
Publication of KR100932359B1 publication Critical patent/KR100932359B1/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/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/101Packet switching elements characterised by the switching fabric construction using crossbar or matrix
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

스위치 매트릭스 시스템의 중재자는 버스 주파수보다 높은 주파수에서 동작함으로서 단일 버스 주파수 클록 사이클에서 다중 버스 트랜잭션 요청들을 중재한다. 이는 중재 로직의 하나의 인스턴스를 가진 단일 버스 주파수 클록 사이클에서 두개 이상의 중재 동작들을 가능하게 한다. 중재자는 두개 이상의 슬레이브 장치들을 중재할 수 있거나 또는 동일한 슬레이브 장치와 관련된 다중 마스터 장치 요청들을 중재할 수 있다. 중재자 주파수는 변화할 수 있으며, 예컨대 이전 버스 활성화에 기초하여 예측될 수 있다. 만일 단지 하나의 버스 트랜잭션 요청이 펜딩중이면, 중재자 주파수는 버스 주파수와 동일할 수 있다. 초기 중재 결정의 결과치들은 동일한 버스 주파수 클록 사이클에서 다음 중재 결정들을 더 지능적으로 수행하기 위하여 이용될 수 있다.

Description

고주파수 중재자를 통해 사이클마다 복수의 버스 중재를 수행하는 스위치 매트릭스 시스템{SWITCH MATRIX SYSTEM WITH PLURAL BUS ARBITRATIONS PER CYCLE VIA HIGHER―FREQUENCY ARBITER}
본 발명은 일반적으로 전자 데이터 처리 분야, 특히 고성능 버스 중재 시스템 및 방법에 관한 것이다.
기능 유닛들간의 데이터의 전송은 컴퓨터 시스템들의 공통 동작이다. 디스크로부터 메모리 및 프로세서로 프로그램을 전송하는 것, 그래픽 엔진으로부터 프레임 버퍼 및 비디오 카드로 데이터를 전송하는 것, 및 키보드 또는 마우스로부터 프로세서에 입력을 전송하는 것은 모두 컴퓨터 시스템내에서 데이터를 전송하는 공통 예들이다.
도 1은 도면부호 10에 의하여 일반적으로 표시된 시스템 버스 구조(architecture)의 단순화된 도면이다. 어드레스 채널, 데이터 채널, 제어 채널 등으로 분할될 수 있는 시스템 버스(12)는 시스템 유닛들을 상호 접속한다. CPU(14) 또는 DMA 엔진(16)과 같은 마스터 장치들은 여기에서 버스 트랜잭션들로서 언급되는, 버스(12)를 통해 메모리(18) 및 입력/출력 회로들(20)과 같은 슬레이브 장치들로 또는 이 슬레이브 장치들로부터의 데이터의 전송을 개시한다. 두개 이상의 독립 마스터들(14, 16)이 버스(12)에 접속되는 경우, 버스에 대한 이들의 액세스는 중재자(arbiter)(22)에 의하여 제어된다.
공지된 바와같이, 하나 이상의 마스터 장치들(14, 16)은 중재자(22)에 버스 요청을 어서트(assert)한다. 중재자(22)는 버스(12)의 동작을 모니터하며, 버스(12)가 이용가능한 경우, 요청하는 마스터 장치들(14, 16)중 하나에 버스 승인(grant)을 전송한다. 그 다음에, 승인된 마스터 장치(14, 16)는 하나 이상의 슬레이브 장치들(8, 20)과 관련한 판독 또는 기록 사이클들과 같은, 버스(12)를 통한 트랜잭션들을 개시할 수 있다.
시스템 버스(10)는 다양한 슬레이브 장치들(18, 20)과 소수의 마스터 장치들(14, 16)을 접속하는데 적합한 반면에, 한 번에 단지 하나의 마스터 장치(14, 16)만이 하나의 슬레이브 장치(18, 20)를 액세스할 수 있는 제한을 제공한다. 고성능 프로세서들에 있어서는 두개 이상의 마스터 장치들(14, 16)이 하나 이상의 슬레이브 장치들(18, 20)을 독립적으로 액세스하기를 원할 수 있는 경우가 종종 있다.
도 2는 도면부호 30에 의하여 일반적으로 표시된 고성능 데이터 전송 시스템을 도시한다. 크로스바 스위치로서 공지된 스위치 매트릭스(32)는 다수의 마스터 장치들(34)을 다수의 슬레이브 장치들(36)에 접속하며, 가장 일반적인 경우에 일부 마스터 장치는 일부 슬레이브 장치에 대하여 액세스한다. 예컨대, 도 2는 슬레이브 1을 액세스하는 마스터 1과 슬레이브 0을 액세스하는 마스터 2를 도시한다. 일부 구현들에 있어서, 하나 이상의 슬레이브 장치(36)는 두 개 이상의 어드레스 버스들을 포함할 수 있으며 이에 따라 하나 보다 많은 마스터 장치(34)에 의한 동시 액세스가 가능하게 된다.
n 개의 마스터 장치들(34) 및 단일 슬레이브 장치(36)를 포함하는 버스 시스템(30)에 대하여, 슬레이브 장치(36)에 대한 액세스들의 경쟁을 조정하기 위하여 스위치 매트릭스(32)내에 단지 하나의 중재자만이 필요하다. n 개의 마스터들(34) 및 m 개의 슬레이브들(36)을 가진 n×m 크로스바 시스템(30)에 대하여, 하나 부터 m 개의 중재자들이 구현될 수 있다. 최고성능은 m 개의 중재자들을 이용하여 달성될 것이며, 각각의 중재자는 슬레이브 장치(36)에 전용된다. m 개의 중재자들보다 적은 소수의 중재자들을 사용할 경우에, 즉 적어도 하나의 중재자가 두개 이상의 슬레이브 장치들(36)에 대한 중재를 수행할 경우에, 각각의 중재자가 동시에 또는 임의의 주어진 버스 사이클내에서 하나의 슬레이브 장치(36)에 대해서만 중재할 수 있기 때문에 성능이 저하된다. 그러나, 많은 중재자들을 사용할 경우에는 칩 영역을 소비하고, 라우팅을 복잡하게 하며 전력 소비를 증가시킨다.
하나 이상의 실시예들에 따르면, 버스의 중재자는 버스 주파수보다 높은 중재자 주파수에서 동작함으로서 단일 버스 주파수 클록 사이클에서 다중 버스 트랜잭션 요청들을 중재한다.
일 실시예에 있어서, 시스템은 버스 주파수에서 동작하는 버스를 포함한다. 적어도 하나의 마스터 장치는 버스에 접속되며 버스 중재들을 요청한다. 적어도 하나의 슬레이브 장치는 버스에 접속되며 버스 트랜잭션들을 수행한다. 중재자는 버스 주파수보다 높은 중재자 주파수에서 동작함으로서 단일 버스 주파수 클록 사이클에서 하나 이상의 트랜잭션 요청을 중재한다.
다른 실시예에 있어서, 버스 주파수에서 동작하는 버스에서 다중 트랜잭션 요청들을 중재하는 방법은 버스 주파수보다 높은 중재자 주파수에서 중재자를 동작시키는 단계, 및 하나의 버스 주파수 클록 사이클에서 다중 버스 트랜잭션 요청들을 중재하는 단계를 포함한다.
도 1은 종래의 컴퓨터 버스의 기능 블록도.
도 2는 크로스바 버스의 기능 블록도.
도 3은 크로스바 버스 중재 사이클의 타이밍도.
도 3은 크로스-매트릭스 시스템(30)에서 버스 트랜잭션 요청들 및 중재를 기술한 타이밍도를 도시한다. 이러한 예에서, 버스는 10 nsec 클록 사이클로 100MHz의 버스 주파수에서 동작하며, 두개의 슬레이브 장치들 A 및 B는 단일 중재자를 공유한다. 두개의 마스터 장치들(M0, M1)은 버스 사이클 1에서 두개의 슬레이브 장치들(A, B)과 관련한 버스 트랜잭션들에 대한 요청을 동시에 발급(issue)한다.
종래의 중재자를 가진 시스템(300)에서, 중재는 점선으로 표시된 바와같이 버스 사이클 2에서 슬레이브 장치 A에 대하여 수행되며 버스 사이클 3에서 슬레이브 장치 B에 대하여 수행된다. 중재자는 점선들로 표시된 바와같이 버스 사이클 3에서 슬레이브 장치 A에 요청을 발급하고 버스 사이클 4에서 슬레이브 장치 B에 요청을 발급한다. 슬레이브 장치들은 버스 사이클들 4 및 5에서 각각 확인(acknowledge)하며, 마스터 장치들(M0, M1)은 각각의 슬레이브 확인을 수신할때 버스 트랜잭션을 실행할 수 있다.
하나 이상의 실시예들에 있어서, 다중 중재 사이클들은 버스 주파수보다 높은 중재자 주파수에서 중재자를 동작시킴으로서 하나의 버스 주파수 클록 사이클에서 수행된다. 도 3의 실선 신호들에 도시된 바와같이, 중재자는 버스 주파수의 2배의 중재자 주파수에서 실행함으로서(본 실시예에서) 버스 사이클 2에서 슬레이브 장치 A 및 B에 대하여 중재를 수행한다. 따라서, 중재자는 버스 사이클 3에서 슬레이브 장치들 A 및 B에 요청들을 송출할 수 있으며, 슬레이브 장치들 A 및 B 둘다는 버스 사이클 4에서 확인할 수 있다. M0 및 M1 둘다 버스 사이클 5 에서 버스 트랜잭션을 시작할 수 있으며, M1의 경우는 중재자가 버스 주파수에서 동작하는, 도 3에서 점선으로 도시된, 앞서 기술된 경우보다 완전히 한 싸이클 앞선 것이다, 유사하게, 버스 주파수의 3x, 4x 또는 다른 배수로 중재자를 실행시킴으로서, 3개, 4개 또는 이 이상의 슬레이브들과 관련한 요청들은 단일 버스 주파수 클록 사이클에서 중재될 수 있으며 이에 따라 각각의 버스 중재가 병렬로 수행될 수 있다.
이들 실시예들에 있어서, 중재자의 단일 인스턴스는 중재 로직의 중복 인스턴스를 요구하지 않고 다중 슬레이브드에 대한 다중 버스 트랜잭션 요청들을 병렬로 중재할 수 있다. 여기에서 사용된 바와같이, 중재자의 단일 인스턴스는 슬레이브 장치(36)와 관련한 하나 이상의 버스 중재 요청들의 중재를 수행하는데 필요한 로직 및 구성 정보를 포함한다. 버스 주파수보다 높은 중재자 주파수에서 중재자를 동작시킴으로서, 다중 버스 중재 요청들은 각각의 슬레이브 장치(36)에 대한 중 재 로직을 중복하는 것과 대조적으로 중재 로직의 단지 하나의 인스턴스를 사용하여 단일 버스 주파수 클록 사이클에서 중재될 수 있다. 이는 다른 주파수의 적어도 두개의 클록 신호들에서 생성 및 라우팅하는 비용으로 실리콘 영역을 보존하며, 라우팅 복잡성을 감소시키며, 전력을 보존한다.
대부분의 실시예들에 있어서, 중재자 주파수는 비록 반드시 2N 배일 필요가 없으며, 버스 주파수의 임의의 배수일 수 있다(예컨대, 중재자 주파수가 버스 주파수의 3x 또는 5x일 수 있다). 이는 최대 시간이 각각의 중재 동작에 대하여 소요되도록 한다. 그러나, 버스 주파수의 정밀한 배수인 중재자 주파수는 여기에 기술된 실시예들을 제한하지 않는다. 일반적으로, 중재자 주파수는 단순히 적어도 두개의 버스 중재 요청들이 단일 버스 주파수 클록 사이클에서 중재되도록 버스 주파수보다 충분히 높을 수 있다.
도 3의 타이밍도는 단일 중재자를 공유하는 두개의 다른 슬레이브 장치들(36)과 관련한 버스 트랜잭션들을 동시에 요청하는 두개의 마스터 장치들(M0, M1)을 도시한다. 동일한 타이밍 관계는 단일 마스터 장치(34)가 중재자를 공유하는 두개의 다른 슬레이브 장치들(36)과 관련한 버스 트랜잭션들을 동시에 요청하는 경우에 이루어진다. 예컨대, 마스터 장치(34)는 하나의 슬레이브 장치(36)에 판독 트랜잭션을 직접 전송하고 다른 슬레이브 장치에 기록 트랜잭션을 직접 전송한다. 선택적으로, 마스터 장치(34)는 슬레이브 장치들(36)이 다른 응답 대기시간들을 가지고 트랜잭션들이 발생할때 유사한 버스 트랜잭션들에 대한 동시 요청들이 버스 충돌들을 유발하지 않는다는 것을 알 수 있다.
다른 실시예에 있어서, 두개 이상의 마스터 장치들(34)은 동일한 슬레이브 장치(36)와 관련한 버스 트랜잭션들을 동시에 요청할 수 있다. 만일 슬레이브 장치(36)가 충분한 어드레스 버스 용량을 가지면, 슬레이브 장치는 두개 이상의 버스 트랜잭션들을 동시에 수행할 수 있다. 높은 어드레스 버스 용량의 예는 공유 채널 버스 구조이다. 실리콘 영역을 보존하고 라우팅 복잡성을 감소시키기 위하여, 버스(30)의 어드레스 채널 기능은 데이터 전송 채널과 융합될 수 있다. 예컨대, 어드레스 버스는 기록 데이터 버스와 채널을 공유할 수 있다. 만일 시스템이 32-비트 판독(하드웨어) 어드레스 공간 및 128-비트 기록 데이터 버스를 가지면, 어드레스 및 기록 데이터 기능을 단일 128-비트 버스 채널에 다중화하면 하나의 어드레스 전송 사이클동안 최대 4개의 개별 어드레스가 전송될 수 있다. 이러한 경우에, 최대 4개의 마스터 장치들(34)(또는 하나 이상의 마스터 장치들(34)이 다수의 버스 요청들을 발급하는 경우에 더 적은 마스터 장치들)은 버스 트랜잭션들을 요청하고 동일한 사이클동안 어드레스들을 발급하며, 어드레스들중 두개 이상은 동일한 슬레이브 장치(36)와 관련된다. 만일 슬레이브 장치(36)가 능력을 가지면, 슬레이브 장치는 모든 요청들을 승인할 수 있으며, 다중 동시 버스 트랜잭션들을 수행할 수 있다. 이러한 실시예에 있어서, 단일 중재자는 버스 주파수보다 높은 중재자 주파수에서 동작함으로서 단일 버스 주파수 클록 사이클에서 동일한 슬레이브 장치(36)와 관련한 모든 다중 버스 트랜잭션 요청들을 중재할 수 있다.
하나 이상의 실시예들에 있어서, 중재자 주파수는 변화할 수 있다. 단지 하 나의 버스 트랜잭션 요청이 발생할때, 중재자 주파수는 버스 주파수와 동일할 수 있다. 이러한 실시예에 있어서, 중재자는 버스 주파수 클록 사이클마다 하나의 중재를 수행하는 종래의 중재자와 유사하다. 이는 버스보다 높은 주파수에서 중재자를 동작시키는 것에 비하여 전력을 절약하며, 이를 수행할때 성능의 장점을 제공하지 못한다.
일 실시예에 있어서는 중재자 주파수가 예측된다. 예측은 예컨대 최근 과거 버스 활성화에 기초할 수 있다. 하나 이상의 마스터 장치들(34)이 다중 버스 트랜잭션 요청들을 발급하는 주기들동안, 중재자 주파수는 (다른 마스터 장치들(34)로부터 동일한 슬레이브 장치(36)로 또는 중재자를 공유하는 다른 슬레이브 장치들(36)로의 중재간에) 다중 중재들의 확률에 반비례하여 증가될 수 있다. 예컨대, 이전의 n 개의 버스 사이클동안 진행(pending)되는 다수의 버스 트랜잭션 요청들이 저장될 수 있으며 하나 이상의 다음 버스 사이클들동안 중재 주파수를 예측하기 위하여 검사될 수 있다. 다른 실시예에 있어서, 다수의 대기중인 버스 트랜잭션 요청들은 프로세서 브랜치 예측 구현들에서 공지된 바와 같이 포화 카운터를 증가시킬 수 있다. 다수의 대기중인 버스 트랜잭션 요청들이 아닌 요청들의 연장된 주기들은 카운터를 감소시킬 수 있다. 카운터의 MSB는 높은 중재자 주파수가 사용되어야 하는지에 관한 예측으로서 사용될 수 있다. 당업자는 중재자 주파수를 예측하기 위하여 다양한 기술들이 사용될 수 있다는 것을 인식해야 한다.
일 실시예에 있어서, 중재자는 이전 중재들의 결과들을 고려함으로서 다음 중재들의 "인텔리전스(intelligence)"를 증가시키기 위하여 순차 중재들의 직렬 성 질에 대한 장점을 취할 수 있다. 예컨대, 만일 제 1 중재 동작이 마스터 장치(34)로부터 슬레이브 장치(36)로의 기록 요청을 승인하면, 동일한 버스 주파수 클록 사이클동안 수행되는 다음 중재는 슬레이브 장치(36)에서의 기록 데이터 충돌을 방지하기 위하여 다른 방식으로 승인된 다른 마스터 장치(34)로부터 동일한 슬레이브 장치(36)로 기록 요청의 승인을 거부할 수 있다.
일 실시예에 있어서, 중재자는 각각의 마스터 장치(34)로부터 각각의 슬레이브 장치(36)로의 판독 및 기록 트랜잭션의 각각의 가능한 조합에 비트를 할당하기 위한 펜딩 버스 상태 레지스터를 포함할 수 있다. 중재자에 의한 초기 중재 결정들은 관련 펜딩 버스 상태 비트들을 세팅할 수 있으며, 중재자의 로직은 동일한 버스 주파수 클록 사이클내에서 다음 중재 결정들을 더 지능적으로 수행하기 위하여 이들 중재 결정들의 결과들, 예컨대 업데이트된 펜딩 버스 상태를 이용할 수 있다. 이는 버스 트래픽을 최적화하고 충돌들 및 병목들을 방지함으로서 보다 높은 성능(버스 주파수 클록 사이클마다 다중 중재들의 성능 개선 이상으로)을 달성할 수 있다.
버스 주파수보다 높은 중재자 주파수에서 중재자를 실행함으로서 단일 버스 주파수 클록 사이클에서 다중 버스 트랜잭션 요청 중재를 수행하는 것은 중재자 로직의 다중 인스턴스들의 비용없이 병렬 중재를 허용함으로서 성능을 향상시킨다. 다중 중재들의 일련의 특성은 나중 중재 동작들이 입력으로서 이전 중재 결정들의 결과치들을 가지기 때문에 더 지능적인 중재 결정을 만들수 있다. 전력을 절약하기 위하여, 중재 주파수는 다중 요청들이 발생하지 않을때 버스 주파수에서 감속될 수 있다. 낮은 버스 이용동안 전력을 절약하면서 높은 버스 이용동안 성능을 개선하기 위하여 중재자 주파수가 예측될 수 있다.
비록 본 발명이 본 발명의 특정 특징들, 양상들 및 실시예들과 관련하여 기술되었을지라도, 다수의 변형, 수정 및 다른 실시예들이 본 발명의 범위내에서 가능하며 따라서 모든 변형들, 수정들 및 실시예들이 본 발명의 범위내에 있는 것으로 간주된다는 것이 명백할 것이다. 따라서, 본 발명의 실시예들은 예시적으로 해석되어야 하며 첨부된 청구범위의 의미 및 균등 범위내의 모든 변화들은 본 발명내에 포함된다.

Claims (17)

  1. 버스 주파수에서 동작하는 버스;
    상기 버스에 연결되고 버스 트랜잭션들을 요청하는 적어도 하나의 마스터 장치;
    상기 버스에 연결되고 버스 트랜잭션들에 관여하는(engage) 적어도 하나의 슬레이브 장치; 및
    상기 버스 주파수보다 높은 중재자(arbiter) 주파수에서 동작함으로써 단일 버스 주파수 클록 사이클에서 하나 보다 많은 트랜잭션 요청을 중재하는 중재자를 포함하는, 다수의 버스 트랜잭션들을 중재하기 위한 시스템.
  2. 제 1 항에 있어서,
    상기 중재자는,
    중재 로직의 단일 인스탠시에이션(instantiation)을 포함하는, 다수의 버스 트랜잭션들을 중재하기 위한 시스템.
  3. 제 1 항에 있어서,
    상기 중재자 주파수는,
    상기 버스 주파수의 배수(倍數)인, 다수의 버스 트랜잭션들을 중재하기 위한 시스템.
  4. 제 1 항에 있어서,
    상기 슬레이브 장치는 적어도 두 개의 어드레스 경로들을 포함하고;
    두 개의 마스터 장치들은 상기 슬레이브 장치에 버스 트랜잭션들을 동시에 요청하며; 그리고
    상기 중재자는 단일 버스 주파수 클록 사이클에서 마스터 장치들 둘 다에게 승인(grant)들을 발급(issue)하는, 다수의 버스 트랜잭션들을 중재하기 위한 시스템.
  5. 제 1 항에 있어서,
    상기 마스터 장치는 두 개의 슬레이브 장치들에 버스 트랜잭션들을 동시에 요청하며; 그리고
    상기 중재자는 단일 버스 주파수 클록 사이클에서 슬레이브 장치들 둘 다에 대하여 상기 마스터 장치로 승인들을 발급하는, 다수의 버스 트랜잭션들을 중재하기 위한 시스템.
  6. 제 1 항에 있어서,
    하나 보다 많지 않은 버스 트랜잭션 요청이 어서트(assert)되는 경우, 상기 중재자 주파수는 상기 버스 주파수와 동일한, 다수의 버스 트랜잭션들을 중재하기 위한 시스템.
  7. 제 1 항에 있어서,
    상기 중재자 주파수는 버스 트랜잭션 요청 동작(activity)에 응답하여 예측되는, 다수의 버스 트랜잭션들을 중재하기 위한 시스템.
  8. 제 1 항에 있어서,
    상기 중재자는,
    단일 버스 주파수 클록 사이클에서 적어도 제 1 및 제 2 버스 트랜잭션 요청을 순차적으로 중재하며, 상기 제 2 요청의 중재는 상기 제 1 요청의 중재의 결과를 포함하는, 다수의 버스 트랜잭션들을 중재하기 위한 시스템.
  9. 제 8항에 있어서,
    상기 중재자는,
    대기중인(pending) 버스 트랜잭션들의 상태를 유지(maintain)하는, 다수의 버스 트랜잭션들을 중재하기 위한 시스템.
  10. 버스 주파수에서 동작하는 버스에서 다수의 버스 트랜잭션 요청들을 중재하는 방법으로서,
    상기 버스 주파수보다 높은 중재자 주파수에서 중재자를 동작시키는 단계; 및
    하나의 버스 주파수 클록 사이클에서 다수의 버스 트랜잭션 요청들을 중재하는 단계를 포함하는, 다수의 버스 트랜잭션들을 중재하기 위한 방법.
  11. 제 10 항에 있어서,
    상기 중재자 주파수는 상기 버스 주파수의 배수(倍數)인, 다수의 버스 트랜잭션들을 중재하기 위한 방법.
  12. 제 11 항에 있어서,
    상기 중재자는,
    각각의 중재자 주파수 클록 사이클에서 버스 트랜잭션 요청을 중재하는, 다수의 버스 트랜잭션들을 중재하기 위한 방법.
  13. 제 12 항에 있어서,
    상기 중재자는 단일 버스 주파수 클록 사이클에서 적어도 제 1 및 제 2 버스 트랜잭션 요청을 순차적으로 중재하며;
    상기 제 2 요청의 중재는 상기 제 1 요청의 중재의 결과를 포함하는, 다수의 버스 트랜잭션들을 중재하기 위한 방법.
  14. 제 13 항에 있어서,
    상기 중재자는 대기중인(pending) 버스 트랜잭션들의 상태를 유지하는, 다수의 버스 트랜잭션들을 중재하기 위한 방법.
  15. 제 10항에 있어서,
    상기 중재자 주파수는 변화가능한, 다수의 버스 트랜잭션들을 중재하기 위한 방법.
  16. 제 15항에 있어서,
    상기 중재자 주파수는 버스 활동(activity)에 기초하여 예측되는, 다수의 버스 트랜잭션들을 중재하기 위한 방법.
  17. 제 10항에 있어서,
    만일 단지 하나의 버스 요청이 진행중이면,
    상기 중재자 주파수는 상기 버스 주파수와 동일한, 다수의 버스 트랜잭션들을 중재하기 위한 방법.
KR1020077021500A 2005-02-24 2006-02-24 고주파수 중재자를 통해 사이클마다 복수의 버스 중재를수행하는 스위치 매트릭스 시스템 KR100932359B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/066,507 US7174403B2 (en) 2005-02-24 2005-02-24 Plural bus arbitrations per cycle via higher-frequency arbiter
US11/066,507 2005-02-24
PCT/US2006/006649 WO2006091843A1 (en) 2005-02-24 2006-02-24 Switch matrix system with plural bus arbitrations per cycle via higher-frequency arbiter

Publications (2)

Publication Number Publication Date
KR20070114179A KR20070114179A (ko) 2007-11-29
KR100932359B1 true KR100932359B1 (ko) 2009-12-16

Family

ID=36602532

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020077021500A KR100932359B1 (ko) 2005-02-24 2006-02-24 고주파수 중재자를 통해 사이클마다 복수의 버스 중재를수행하는 스위치 매트릭스 시스템

Country Status (13)

Country Link
US (1) US7174403B2 (ko)
EP (1) EP1851641B1 (ko)
JP (2) JP2008532143A (ko)
KR (1) KR100932359B1 (ko)
CN (1) CN100565491C (ko)
AT (1) ATE474272T1 (ko)
CA (1) CA2598734C (ko)
DE (1) DE602006015429D1 (ko)
ES (1) ES2347275T3 (ko)
IL (1) IL185361A0 (ko)
RU (1) RU2370807C2 (ko)
TW (1) TWI399650B (ko)
WO (1) WO2006091843A1 (ko)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7523110B2 (en) * 2005-03-03 2009-04-21 Gravic, Inc. High availability designated winner data replication
US7532636B2 (en) * 2005-10-07 2009-05-12 Intel Corporation High bus bandwidth transfer using split data bus
US7814253B2 (en) * 2007-04-16 2010-10-12 Nvidia Corporation Resource arbiter
US8006021B1 (en) * 2008-03-27 2011-08-23 Xilinx, Inc. Processor local bus bridge for an embedded processor block core in an integrated circuit
KR101061187B1 (ko) * 2009-06-22 2011-08-31 한양대학교 산학협력단 버스 시스템 및 그 제어 장치
US8370551B2 (en) * 2010-01-08 2013-02-05 International Business Machines Corporation Arbitration in crossbar interconnect for low latency
US8713277B2 (en) 2010-06-01 2014-04-29 Apple Inc. Critical word forwarding with adaptive prediction
JP5528939B2 (ja) * 2010-07-29 2014-06-25 ルネサスエレクトロニクス株式会社 マイクロコンピュータ
US9064050B2 (en) 2010-10-20 2015-06-23 Qualcomm Incorporated Arbitrating bus transactions on a communications bus based on bus device health information and related power management
KR20120041008A (ko) * 2010-10-20 2012-04-30 삼성전자주식회사 버스 시스템
US8787368B2 (en) * 2010-12-07 2014-07-22 Advanced Micro Devices, Inc. Crossbar switch with primary and secondary pickers
US9152598B2 (en) 2012-11-28 2015-10-06 Atmel Corporation Connecting multiple slave devices to a single master controller in bus system
KR102012699B1 (ko) 2013-01-25 2019-08-21 삼성전자 주식회사 다중 버스 시스템 및 이를 포함하는 반도체 시스템
US9407578B2 (en) * 2013-03-12 2016-08-02 Imagination Technologies Limited System and method of arbitrating access to interconnect
US9372818B2 (en) * 2013-03-15 2016-06-21 Atmel Corporation Proactive quality of service in multi-matrix system bus
US9471524B2 (en) 2013-12-09 2016-10-18 Atmel Corporation System bus transaction queue reallocation
US9230691B1 (en) * 2014-11-06 2016-01-05 Qualcomm Incorporated Shared repair register for memory redundancy
US11256651B2 (en) * 2019-04-26 2022-02-22 Qualcomm Incorporated Multiple master, multi-slave serial peripheral interface

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040083326A1 (en) 2002-10-29 2004-04-29 Yuanlong Wang Switch scheduling algorithm
US20050027920A1 (en) 2003-07-31 2005-02-03 Fitzsimmons Michael D. Crossbar switch that supports a multi-port slave device and method of operation

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4620278A (en) * 1983-08-29 1986-10-28 Sperry Corporation Distributed bus arbitration according each bus user the ability to inhibit all new requests to arbitrate the bus, or to cancel its own pending request, and according the highest priority user the ability to stop the bus
US5604735A (en) * 1995-03-15 1997-02-18 Finisar Corporation High speed network switch
KR100201325B1 (ko) * 1996-03-30 1999-06-15 유기범 다중 프로세서 시스템에서 시스템 버스의 클럭속도를 향상시키는 방법
US5933610A (en) * 1996-09-17 1999-08-03 Vlsi Technology, Inc. Predictive arbitration system for PCI bus agents
JPH11184806A (ja) * 1997-12-18 1999-07-09 Fujitsu Ltd バス制御装置
JP2000148279A (ja) * 1998-11-12 2000-05-26 Funai Electric Co Ltd 電子機器
JP4573940B2 (ja) * 1999-03-19 2010-11-04 パナソニック株式会社 クロスバススイッチ装置
US6519666B1 (en) * 1999-10-05 2003-02-11 International Business Machines Corporation Arbitration scheme for optimal performance
TW468112B (en) * 1999-12-15 2001-12-11 Via Tech Inc Arbitrating method of bus between control chipsets
JP2001265711A (ja) * 2000-03-17 2001-09-28 Casio Comput Co Ltd データ転送装置およびバスシステム
US6651148B2 (en) * 2000-05-23 2003-11-18 Canon Kabushiki Kaisha High-speed memory controller for pipelining memory read transactions
US20040083226A1 (en) * 2000-05-31 2004-04-29 Alan Eaton System, mehtods, and data structures for transmitting genealogical information
US20020078311A1 (en) * 2000-12-20 2002-06-20 Fujitsu Limited Multi-port memory based on DRAM core
JP2004199404A (ja) * 2002-12-18 2004-07-15 Matsushita Electric Ind Co Ltd バス調停装置およびそれを備えた半導体集積回路
US6948017B2 (en) * 2002-12-18 2005-09-20 International Business Machines Corporation Method and apparatus having dynamically scalable clock domains for selectively interconnecting subsystems on a synchronous bus
US7219177B2 (en) * 2004-11-23 2007-05-15 Winbond Electronics Corp. Method and apparatus for connecting buses with different clock frequencies by masking or lengthening a clock cycle of a request signal in accordance with the different clock frequencies of the buses

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040083326A1 (en) 2002-10-29 2004-04-29 Yuanlong Wang Switch scheduling algorithm
US20050027920A1 (en) 2003-07-31 2005-02-03 Fitzsimmons Michael D. Crossbar switch that supports a multi-port slave device and method of operation

Also Published As

Publication number Publication date
CA2598734C (en) 2011-07-05
TW200643729A (en) 2006-12-16
DE602006015429D1 (de) 2010-08-26
KR20070114179A (ko) 2007-11-29
CA2598734A1 (en) 2006-08-31
RU2370807C2 (ru) 2009-10-20
JP5237351B2 (ja) 2013-07-17
CN101160572A (zh) 2008-04-09
JP2008532143A (ja) 2008-08-14
ATE474272T1 (de) 2010-07-15
TWI399650B (zh) 2013-06-21
CN100565491C (zh) 2009-12-02
ES2347275T3 (es) 2010-10-27
US20060190649A1 (en) 2006-08-24
IL185361A0 (en) 2008-02-09
RU2007135222A (ru) 2009-03-27
EP1851641A1 (en) 2007-11-07
US7174403B2 (en) 2007-02-06
JP2011090689A (ja) 2011-05-06
EP1851641B1 (en) 2010-07-14
WO2006091843A1 (en) 2006-08-31

Similar Documents

Publication Publication Date Title
KR100932359B1 (ko) 고주파수 중재자를 통해 사이클마다 복수의 버스 중재를수행하는 스위치 매트릭스 시스템
US6393506B1 (en) Virtual channel bus and system architecture
US5710891A (en) Pipelined distributed bus arbitration system
EP1403773B1 (en) Resource management device
US6490642B1 (en) Locked read/write on separate address/data bus using write barrier
JP2574967B2 (ja) マルチプロセッサシステム用アービトレーション装置および同方法
CN110109847B (zh) Apb总线多个主设备的仲裁方法、系统及存储介质
US5590299A (en) Multiprocessor system bus protocol for optimized accessing of interleaved storage modules
US6701399B1 (en) Priority mechanism for scheduling isochronous and asynchronous transactions on a shared bus
JP3519182B2 (ja) 情報処理システムおよびバスアービタならびにバス制御方法
CN116028413A (zh) 一种总线仲裁器、总线仲裁的方法、装置及介质
JPH0728758A (ja) ダイナミックタイムループ調停及び装置
JP2531918B2 (ja) 分散プログラマブル優先順位ア―ビトレ―ション方法およびシステム
US7774513B2 (en) DMA circuit and computer system
US5931931A (en) Method for bus arbitration in a multiprocessor system
JPH1125036A (ja) 調停システム、およびアクセスを調停する方法
JP2008059047A (ja) 情報処理システム及びこの制御方法
US7975086B1 (en) Apparatus for real-time arbitration between masters and requestors and method for operating the same
KR930001586B1 (ko) 다중 버스 마이크로 컴퓨터 시스템
JP2000250852A (ja) バス調停装置、バスシステムおよびバス調停方法
JP2001167049A (ja) バス調停装置
GB2318487A (en) Bus arbitration system
JP2004062333A (ja) 画像処理装置
JPH11242647A (ja) 情報処理装置

Legal Events

Date Code Title Description
A201 Request for examination
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: 20121129

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20131129

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20141128

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20150930

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20161125

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20170929

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee