KR20010085709A - 공유 버스상에서의 등시성 트랜잭션 및 비동기 트랜잭션의스케줄링을 위한 우선 순위 매커니즘 - Google Patents

공유 버스상에서의 등시성 트랜잭션 및 비동기 트랜잭션의스케줄링을 위한 우선 순위 매커니즘 Download PDF

Info

Publication number
KR20010085709A
KR20010085709A KR1020010010337A KR20010010337A KR20010085709A KR 20010085709 A KR20010085709 A KR 20010085709A KR 1020010010337 A KR1020010010337 A KR 1020010010337A KR 20010010337 A KR20010010337 A KR 20010010337A KR 20010085709 A KR20010085709 A KR 20010085709A
Authority
KR
South Korea
Prior art keywords
bus
transaction
request
bus request
computer system
Prior art date
Application number
KR1020010010337A
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 KR20010085709A publication Critical patent/KR20010085709A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • 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/3625Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using a time dependent access

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Bus Control (AREA)

Abstract

공유 버스상에서 복수의 비동기 트랜잭션 및 등시성 트랜잭션은 등시성 트랜잭션에 대해서는 최대의 대기 시간을 제공하면서 비동기 대기 시간은 최소화되도록 스케줄링 된다. 이는 할당된 공유 버스 시간을 동일한 길이의 프레임으로 분할함으로써 실현된다. 버스 요구가 수신되었을 때, 본 발명의 기술에 따르면 현재 프레임에서의 버스 요구가 비동기 트랜잭션에 대한 것인지, 등시성 트랜잭션에 대한 것인지 판단된다. 비동기 트랜잭션 버스 요구가 존재할 경우, 그 요구가 처리되고, 그렇지 않은 경우에는 등시성 트랜잭션 버스 요구가 처리된다. 비동기 트랜잭션이 현재 처리되고 있는 동안 등시성 트랜잭션에 대한 요구가 수신되면, 등시성 트랜잭션에 대한 요구는 대기 상태로 된다. 현재 프레임이 종료될 때까지 비동기 트랜잭션에 우선 순위가 부여된다. 일 실시예에 있어서, 새로운 프레임이 개시되는 경우, 현재 프레임의 비동기 트랜잭션 요구에 우선 순위가 부여되기 전에 대기중인 등시성 트랜잭션 요구가 처리된다. 다른 실시예에서, 대기중인 등시성 트랜잭션은 새로운 프레임의 개시 시점에서 상기 새로운 프레임보다 2 프레임 앞선 것으로부터 연유할 경우에만 처리된다.

Description

공유 버스상에서의 등시성 트랜잭션 및 비동기 트랜잭션의 스케줄링을 위한 우선 순위 매커니즘{PRIORITY MECHANISM FOR SCHEDULING ISOCHRONOUS AND ASYNCHRONOUS TRANSACTIONS ON A SHARED BUS}
본 발명은 공유 버스 상에서의 비동기 트랜잭션 및 등시성 트랜잭션을 스케줄링하는 것에 관한 것으로서, 특히 등시성 트랜잭션의 대기 시간이 소정 시간을 초과하지 않는 범위 내에서 비동기 트랜잭션에 우선 순위를 부여하는 것에 관한 것이다.
많은 컴퓨터 시스템은 여러 가지 형태의 트래픽을 전송하는 공유 버스를 사용한다. 예컨대, 몇몇 공유 버스는 비동기 트래픽과 등시성 트래픽 양자를 전송한다. 주변 요소 상호 접속(PCI: Peripheral Component Interconnect) 버스는 비동기 트래픽과 등시성 트래픽 양자를 전송하는 데 사용되는 공유 버스의 한 예이다. 비동기 트래픽은 실시간 데이터 스트림에 악영향을 미치지 않으면서 무한정 지체될 수 있는 반면에, 상기 비동기 트래픽이 지체되는 경우 컴퓨터 시스템의 성능에는 악영향이 미칠 수 있다. 또한, 등시성 트래픽은 시간에 의존적이기 때문에, 일정한 밴드폭과 최악의 경우에 해당하는 대기 시간이 필요하다. 비디오 신호 및 오디오 신호 등의 멀티미디어 스트림은 등시성 트래픽의 한 예이다. 멀티미디어 스트림은 데이터가 적어도 디스플레이되는 데 필요한 속도로 전송되는 것을 보장하기 위하여 등시성 전송 매커니즘을 사용한다. 또한, 등시성 전송 매커니즘은 오디오 신호가 비디오 신호에 동기되는 것을 보장하기 위하여 사용되어 왔다. 등시성 트래픽에 대한 밴드폭과 대기 시간의 조건이 충족되는 경우, 상기 등시성 트래픽의 대기 시간은 실시간 성능에 악영향을 미치지 않는다.
등시성 트래픽이 주어진 프레임 내에서 소정 시간 동안 공유 버스에 액세스하는 것을 보장하기 위해 수 많은 기술들이 채용되어 왔다. 이러한 방법들은 등시성 트랜잭션이 완료되는 때를 감지하고자 하는 매커니즘에 근거한 타이머/카운터와 밴드폭의 고정 할당을 포함한다. 통상, 이러한 종래의 방법들은 비동기 대기 시간을 희생시키는 대신에 등시성 대기 시간을 보장한다. 즉, 비동기 버스에 대한 요구를 고려하지 않은 채, 등시성 버스에 대한 요구가 충족되었다. 일반적으로, 이러한 방법은 비동기 요구에 대한 대기 시간을 증가시키는 결과를 가져 온다. 또한, 시간 평균에 근거하여 등시성 트랜잭션 요구를 예측하고자 하는 것은 시스템의 설계를복잡하게 만드는 것이 일반적이다.
본 발명에 따른 시스템은 등시성 대기 시간을 허용치 레벨 이하로 유지시키면서 비동기 대기 시간을 감소시키는 공유 버스상에서의 비동기 트랜잭션 및 등시성 트랜잭션의 스케줄링 기술을 구현시킨다. 이러한 기술은 할당된 공유 버스 시간을 동일한 길이의 프레임으로 분할함으로써 실현된다. 버스의 요구가 수신된 경우, 상기 기술에서는 현재 프레임 내의 상기 버스 요구가 비동기 트랜잭션을 위한 것인지, 등시성 트랜잭션을 위한 것인지 판단된다. 비동기 버스 요구가 존재할 경우, 그에 대한 것이 처리되고, 그렇지 않은 경우에는 등시성 버스 요구가 처리된다. 현재, 비동기 트랜잭션이 처리되는 동안 등시성 트랜잭션에 대한 버스 요구가 수신되면, 그에 대한 요구는 대기된다. 현재의 프레임 시간이 종료될 때까지 비동기 트랜잭션에 우선 순위가 부여된다.
일 실시예에 있어서, 새로운 프레임이 개시되는 경우, 현재 프레임의 비동기 트랜잭션 요구에 우선 순위가 부여되기 전에 대기중인 등시성 트랜잭션 요구가 처리된다. 다른 실시예에 있어서, 대기 중인 등시성 트랜잭션 요구는 새로운 프레임의 개시 시점에서 새로운 프레임 보다 2 프레임 전의 것으로부터일 경우에 처리된다. 본 발명에 의한 기술의 장점은 이러한 기술이 약간의 래치와 비교적 간단한 로직 게이트를 사용하여 구현될 수 있다는 것이다. 본 발명에 의한 기술의 또 다른 장점은 등시성 트랜잭션을 스케줄링하는 것이 등시성 소스의 요구에 근거한다는 점이다.
바람직한 실시예에 대한 다음의 자세한 설명 및 첨부 도면을 동시에 고려할 때, 본 발명을 더욱 잘 이해하게 될 것이다.
도 1은 특정 컴퓨터 시스템 S를 도시한 블록도.
도 2는 공유 버스에 접속된 다수의 장치들을 도시한 블록도.
도 3은 등시성 장치 및 비동기 장치와 통신하는 중앙 아비터(arbiter).
도 4는 본 발명의 실시예를 구현하는 하드웨어의 개략도.
도 5는 본 발명의 실시예에 따른 버스 트랜잭션의 스케줄링 기술을 도시하는 플로우챠트.
도 6은 본 발명의 실시예에 따른 버스 트랜잭션의 스케줄링 기술에 대한 다른 예를 도시하는 플로우챠트.
도 7은 본 발명의 실시예에 따른 네트워크 드라이버 펌웨어를 포함하는 네트워크 인터페이스 카드(비동기 트랜잭션 및 등시성 트랜잭션을 스케줄링하는 코드를 포함함)를 도시하는 블록도.
도면의 주요 부분에 대한 부호의 설명
100: 프로세서
104: 호스트 버스
106: 그래픽 카드
108: 칩 세트
110: 메모리
116: PCI 버스
122: 디스플레이
124: 소형 컴퓨터 시스템 인터페이스(SCSI) 제어기
126: 디스크
128: 네트워크 인터페이스 카드(NIC)
130: PCI/ISA 브리지
132: USB 포트
134: IEEE 1394 포트
도 1에는 본 발명에 실시예에 따른 컴퓨터 시스템 S의 블록도가 도시되어 있다. 프로세서(100)는 호스트 버스(104)에 접속되어 있다. 바람직한 실시예에 있어서, 상기 프로세서(100)는 인텔사(Intel Corporation)에 의해 제조된 펜티엄 Ⅱ 프로세서이다. 또한, 본 발명은 비동기 트래픽 및 등시성 트래픽 전송용 공유 버스를 사용하는 다른 컴퓨터 시스템이나 멀티프로세서 워크스테이션에서 구현될 수 있다. 상기 호스트 버스(104)에 칩세트(108)가 접속된다. 개시된 바와 같은 칩세트(108)는 가속화된 그래픽 포트(AGP:Accelerated Graphics Port) 칩세트로서, 이는 인텔사에 의해 제조된 440BX AGP 세트일 수 있다. 상기 칩세트(108)는 메모리(110)를 제어하는 메모리 제어기, PCI 버스(116)를 상기 호스트 버스(104)에 접속시키는 호스트-PCI 버스 브리지 및 그래픽 카드(106)를 접속시키는 AGP 커넥터를 제공한다. 도시된 바와 같이, 디스플레이(122)가 상기 그래픽 카드(106)에 접속된다.
소형 컴퓨터 시스템 인터페이스(SCSI:Small Computer System Interface) 제어기와 네트워크 인터페이스 카드(NIC:Network Interface Card)가 상기 PCI 버스(116)에 접속된다. 상기 NIC(128)는 상기 컴퓨터 시스템 S를 근거리 통신망(LAN:Local Area Network)에 접속시키는 이더넷(Ehternet) 접속을 제공한다. 상기 SCSI 제어기(124)에 디스크 서브시스템(126)이 접속된다. 상기 SCSI 제어기(124)는 테이프 드라이브, 웜(WORM), CD-롬, DVD 및 광학 저장 장치와 같은타입의 주변 장치를 포함할 수 있는 다양한 디스크 서브시스템(126)을 잠재적으로 제어할 수 있다.
상기 PCI 버스(116)에 PCI/ISA 브리지(130)도 접속된다. 통상적으로, 상기 PCI/ISA 브리지(130)는 상기 PCI 버스(116)상에서의 활용을 위하여 ISA 버스(136)에 접속된 주변 장치(도시되지 않음)로부터 교환된 데이터를 변환시킨다. 또한, 상기 PCI/ISA 브리지(130)는 USB 포트(132)와 IEEE 1394 포트(134)를 제공한다. 비동기 트래픽과 등시성 트래픽을 제공하는 다양한 주변 장치들이 상기 USB 포트(132)와 IEEE 1394 포트(134)에 접속될 수 있다.
상기 펜티엄 Ⅱ 프로세서(100)는 본 발명의 사상을 훼손시키지 않는 범위에서 상기 펜티엄 Ⅱ 이외의 다른 프로세서로 대체될 수 있다. 상기 프로세서(100)는 윈도우 98(등록 상표임), 윈도우 NT(등록 상표임) 또는 유닉스-기반의 운영 시스템과 같은 수 많은 운영 시스템 중 어느 하나의 운영 시스템을 구동시킬 수 있다.
본 발명의 사상을 훼손시키지 않는 범위에서, 본 명세서에 개시된 컴퓨터 시스템 S을 대신하여 매우 다양한 시스템이 사용될 수 있음을 역시 이해하여야 한다. 또한, 현재 및 미래의 다른 운영 시스템도 사용될 수 있다.
본 명세서에 개시된 기술에 따르면, 공유 버스상에서의 비동기 트랜잭션 및 등시성 트랜잭션에 대한 스케줄링이 제공되고, 통상적으로 등시성 대기 시간이 허용치 이하로 유지되면서 비동기 대기 시간이 감소된다. 본 발명의 기술은 비동기 트래픽과 등시성 트랙픽을 지정하는 것에 관한 것이지만, 당업자라면 본 발명의 기술이 다른 형태의 트래픽에도 적용될 수 있음을 이해할 것이다. 비동기 트래픽은 1차 데이터 트랜잭션에 대한 일 예이다. 등시성 트래픽은 2차 데이터 트랜잭션에 대한 일 예이다. 상기 비동기 트래픽에 등시성 트래픽보다 높은 우선 순위가 부여된다는 점에서 비동기 트래픽은 1차 데이터 트랜잭션과 연관된다. 동일한 의미에서, 등시성 트래픽은 비동기 트래픽과 비교할 때 2차 데이터 트랜잭션으로 간주될 수 있다. 본 명세서에 개시된 스케줄링 기술은 비동기 트랜잭션 및 등시성 트랜잭션의 문맥상, 다른 형태의 1차 데이터 트랜잭션 및 2차 데이터 트랜잭션에 동일하게 적용될 수 있다.
상기 공유 버스는 PCI 버스와 같은 병렬 버스나 이더넷 데이터를 전송하는 이더넷 접속, 범용 직렬 버스(USB) 또는 IEEE 1394 버스와 같은 직렬 버스를 포함할 수 있다. 우선, 할당된 버스 시간이 시분할 다중화등을 통하여 동일한 길이의 프레임으로 분할된다. 상기 할당된 버스 시간은 특정 애플리케이션 및 시스템 인자에 근거한다. 버스 요구가 수신된 경우, 본 발명에 의하면 현재 프레임 내의 상기 버스 요구가 비동기 트랜잭션용인 것인지, 등시성 트랜잭션용인 것인지의 여부가 판단된다. 이하에 개시된 바와 같이, 상기 트랜잭션 유형의 판단은 다양한 방법으로 실현될 수 있다.
비동기 버스 요구가 개시되면 그에 대한 요구가 처리되고, 그렇지 않은 경우 등시성 버스 요구가 있다면, 그에 대한 요구가 처리된다. 비동기 트랜잭션이 현재 진행되는 동안, 등시성 트랜잭션에 대한 버스 요구가 수신된 경우에는 그에 대한 요구는 래치되거나 대기된다. 현재 프레임 시간이 종료될 때까지, 비동기 트랜잭션에 우선 순위가 부여된다. 일 실시예에서는, 새로운 프레임의 개시 시점에서 현재프레임의 비동기 트랜잭션에 우선 순위가 부여되기 전에 대기중인 등시성 트랜잭션이 진행된다. 다른 실시예에서, 대기중인 등시성 트랜잭션은 새로운 프레임의 개시 시점에서 상기 새로운 프레임보다 2 프레임 앞선 것으로부터 연유할 경우에만 처리된다.
도 2에는 공유 버스(212)에 접속된 다수의 장치들(200 내지 210)이 도시되어 있다. 상기 장치들(200 내지 210)은 비동기 트래픽과 등시성 트래픽 양자를 전송하는 특정한 유형의 공유 버스에 접속된 서버 또는 워크스테이션(컴퓨터 시스템 S로 표시됨) 또는 임의의 주변 장치와 같이 다양한 유형의 것일 수 있다. 상기 장치들(200 내지 210)은 상기 공유 버스(212)상에서 등시성 데이터와 비동기 데이터를 송신 및 수신한다. 전술한 바와 같이, 상기 공유 버스는 병렬 버스이거나 직렬 버스 중 어느 하나일 수 있다. 예컨대, 상기 공유 버스는 이더넷 접속, PCI 버스, USB 또는 IEEE 1394 버스일 수 있다.
상기 공유 버스가 PCI 버스일 경우, PCI 내역당 2개의 제어 신호(REQ* 와 GNT*)가 중재용으로 사용된다. 상기 PCI 버스상의 각 버스 마스터는 버스 요구 신호 REQ*를 요구하고 중앙 중재 로직에 의해 공급된 버스 할당 신호 GNT*에 응답할 수 있다. 전형적인 PCI 중앙 중재기의 구현은 마이크로 채널 아키텍처(MCA:Microchannel architecture) 또는 EISA 버스 중재기에 의해 정의된 중앙 중재 제어 지점(CACP:Central Arbitration Control Point)상에서 모델링된다. EISA는 DMA/리프레쉬(최상위 레벨), CPU/마스터(중간 레벨) 및 기타 마스터(최하위 레벨)의 3가지 우선 순위 레벨을 갖는 중재 모델을 사용한다. 통상, 상기 CACP는버스 중재를 수행하고 버스 마스터로의 제어를 통과시키는 전용 칩이다. 상기 CACP에 접속된 버스 마스터의 우선 순위는 프로그램 가능한 것이 통상적이다.
각 PCI 장치에 대하여 256 바이트(32 비트의 64 레지스터)의 구성 영역이 제공된다. 통상, 상기 256 바이트의 구성 영역 내에는 64 바이트의 헤더가 포함된다. 상기 64 바이트의 헤더는 통상적으로 상기 PCI 장치의 유형을 나타내는 분류 코드를 포함한다. 상기 분류 코드는 기본 코드와 종속 코드를 포함한다. 상기 기본 코드는 기본적인 유형의 PCI 장치에 관한 것이다. 예컨대, 상기 기본 코드는 대용량 기억 장치 제어기, 네트워크 제어기, 비디오 제어기, 멀티미디어 유닛, 메모리 제어기 또는 브리지와 같은 유형의 장치들을 나타낸다. 멀티미디어 유닛에 대한 종속 코드는 상기 멀티미디어 유닛이 비디오, 오디오 또는 다른 유닛인지의 여부를 나타낼 수 있다. 마찬가지로, 다른 PCI 장치들은 대응하는 종속 코드를 갖는다. 장치가 버스 마스터로 동작하려면, 상기 구성 영역 내에 위치한 명령 레지스터의 버스 마스터(BM) 비트가 요구되어야 한다. 상기 구성 영역은 다양한 기능의 BIOS 인터럽트 1 ah에 의해 액세스(판독 또는 기록)될 수 있다.
CACP가 구현된 PCI 기반의 시스템에 있어서, 상기 CACP는 버스 중재를 수행하고 버스 마스터로 제어를 넘긴다. 상기 중재 처리는 다수의 버스 마스터가 그들의 버스 요구 라인을 요구할 때 개시된다. 각각의 버스 마스터는 그 자신의 버스 요구 출력 라인을 갖는다. 상기 CACP는 중재 주기를 나타내는 중재 신호를 요구한다. 이어서, 상기 PCI 버스를 요구하고 있는 각 버스 마스터가 그의 우선 순위 코드를 출력하고, 이를 다른 버스 마스터의 우선 순위 코드와 비교한다. 이어서, 하위 우선 순위인 버스 마스터가 그의 우선 순위 코드를 억제시킨다. 이 때, 상기 CACP는 상기 최상위 우선 순위인 버스 마스터에로의 버스 제공을 요구한다. 각각의 버스 마스터는 그 자신의 버스 제공 입력 라인을 갖는다. 상기 최상위 우선 순위의 버스 마스터(현재의 버스 마스터)는 그의 버스 요구 신호를 해제시키고 상기 PCI 버스를 제어한다. 상기 현재의 버스 마스터가 상기 PCI 버스의 이용을 종료하거나, 현재의 버스 마스터에 할당된 시간의 종료 시점 이후, 현재의 버스 마스터는 상기 PCI 버스를 포기한다. 이어서, 다수의 버스 마스터가 상기 버스를 요구하는 경우, 상기 중재 처리가 다시 반복된다.
도 3에는 상기 중재 처리가 도시되어 있다. 비동기 장치(310)와 등시성 장치(300)가 그들의 버스 요구 라인을 요구할 때, 도 5와 도6을 참고로 하여 이하에서 설명되는 바와 같이 잠시 동안 상기 비동기 장치(310)에 우선 순위가 부여된다. 상기 중앙 중재기(330)는 어느 장치가 다음의 버스 마스터가 될 것인지 판단한다. 예컨대, 장치의 분류 코드나 공유 버스를 요구하는 장치의 우선 순위를 판독함으로써 장치에 의해 제공되는 데이터의 유형(비동기 또는 등시성)이 결정될 수 있다. 다른 방법으로는, 시스템 설계자가 중재기의 특정 버스 요구 입력을 등시성 또는 비동기의 것으로 지정할 수 있다. 다른 방법으로는, 이더넷 시스템 등에 있어서의 각 전송된 프레임의 개시점에서 소정량의 시간을 지정할 수 있으며, 여기서 잔존하는 등시성 요구만이 상기 버스에 대해 경쟁할 것이다. 도 4는 CACP 유형의 중재기와 함께 구현되는 경우, 등시성 트래픽이 상기 공유 버스를 사용할 수 있는 회로를 도시한다. 도 3이 등시성 장치(300)와 비동기 장치(310)를 나타내고 있지만,동일한 장치 또는 다른 장치에 의해 등시성 데이터 및 비동기 데이터가 공유 버스에 제공될 수 있음을 이해하여야 한다.
도 4에는 등시성 트래픽이 상기 공유 버스를 사용할 수 있는 하드웨어가 도시되어 있다. 상기 개시된 하드웨어는 공유 버스의 버스 중재기 내에서 구현될 수 있다. 시각 (t)에서의 프레임 클록 신호에 의해 등시성 요구가 래치(400 및 402)로 클록된다. 단지 4개의 등시성 요구 라인이 도시되었지만, 등시성 요구 라인의 수는 상기 애플리케이션에 의해 지시된 바와 같이 조정될 수 있다. 우선, 리셋 라인(도시되지 않음)을 활성화시킴으로써 상기 래치(400 및 402)가 리셋된다. 래치(400)의 출력 데이터는 시각 (t) 이후 즉시 유효하며, 여기서 (t)는 제1 프레임 클록을 나타낸다. 래치(402)의 출력 데이터는 시각 (t+1) 이후에 이르러서야 즉시 유효하며, 여기서 (t+1)은 제2 프레임 클록을 나타낸다. 시각 (t+1)에서의 상기 제2 프레임 클록 신호 이후 바로, 유효 데이터는 래치(400 및 402)에 의해 출력된다.
상기 래치(400 및 402)가 클록되었을 때, 잠재적인 경합 상태를 방지하기 위하여 상기 래치(400)의 클록이 래치(402)의 클록으로부터 지연되도록 하는 지연기(408)가 개입될 수 있다. 당업자라면 다양한 방법에 의해 지연이 구현될 수 있음을 알 것이다. 상기 래치(400)의 각 데이터 출력과 래치(402)의 대응하는 데이터 출력은 AND 게이트 404a, 404b, 404c 및 404d에 의하여 앤드(AND) 조합된다. AND 게이트(404a, 404b, 404c 및 404d)의 출력은 OR 게이트(406)의 입력에 접속된다. 상기 OR 게이트(406)의 출력은 상기 OR 게이트(406)의 출력이 하이(High)로 되었을 때, 상기 등시성 트래픽이 새로운 프레임의 개시 시점에서 처리되도록 상기버스 중재기에 접속된다. 이러한 동작은 특정의 등시성 요구가 2개의 연속 프레임동안 하이 상태일 경우 발생한다. 마찬가지로, 부가적인 래치 및 래치 숫자에 대응하는 입력을 갖는 AND 게이트를 추가함으로써 전술한 개념이 확장될 수 있다. 도 4의 회로는 중재기에 사용되는 것을 의도하였지만, 본 발명에 따른 등시성 트래픽을 스케줄링하기 위한 로직은 다양한 방법으로 구현될 수 있음을 이해하여야 한다.
도 5에는 스케줄 버스 처리 루틴(500)이 나타나 있다. 단계(502)에서는 할당된 버스 시간이 동일한 길이의 프레임으로 분할된다. 단계(502)에서 단계(504)로 제어가 진행되면서, 상기 루틴(500)은 버스 요구가 비동기 트랜잭션에 대한 것인지의 여부를 판단한다. 단계(504)에서 상기 버스 요구가 비동기 트랜잭션에 대한 것일 때, 단계(508)로 제어가 진행된다. 단계(508)에서 상기 비동기 트랜잭션이 처리된다. 상기 비동기 트랜잭션이 처리되는 동안 등시성 버스 요구가 발생한 경우에는 상기 등시성 트랜잭션이 대기 상태가 된다. 단계(508)로부터 단계(510)로 제어가 진행된다. 단계(510)에서 상기 루틴(500)은 현재의 프레임이 종료되었는지 여부를 판단한다. 예컨대, 현재 프레임의 종료는 타이머를 사용하여 판단될 수 있다. 통상 상기 프레임의 개시와 종료는 시스템과 애플리케이션에 있어 특정적이다. 상기 공유 버스가 이더넷인 경우, 프레임의 개시와 종료는 데이터 스트림에서의 특정 비트 패턴과 연관된다. 상기 현재 프레임이 종료되면, 단계(510)으로부터 단계(512)로의 제어가 진행된다. 단계(512)에서 새로운 프레임이 개시되고, 상기 새로운 프레임의 개시된 때 대기중인 등시성 요구가 라운드 로빈 방식으로 처리된다.
단계(504)에서 상기 버스 요구가 비동기 트랜잭션에 대한 것이 아닌 경우,단계(506)로 제어가 진행된다. 단계(506)에서 등시성 요구가 처리된다. 단계(506)로부터 단계(504)로 제어가 진행된다. 따라서, 현재 프레임 동안 비동기 요구가 최상위 우선 순위로 처리된다. 이어서, 새로운 프레임의 개시 시점에서 대기중인 등시성 요구가 라운드 로빈 방식으로 처리된다. 이러한 방법을 사용하여 등시성 요구는 최대 2 프레임 동안 지연된다. 즉, 현재 프레임의 개시 시점에서의 등시성 요구는 새로운 프레임의 종료시 처리된다.
도 6에 스케줄 버스 처리 루틴(600)이 도시되어 있다. 단계(602)에서 버스 시간은 동일한 길이의 프레임으로 분할된다. 전술한 바와 같이, 특정의 할당된 버스 시간은 애플리케이션에 있어서 특정적이다. 예컨대, PCI 버스를 통한 비동기 트래픽은 상기 PCI 버스에 접속된 다양한 기타 주변 장치들이 PCI 버스를 사용할 수 있도록 제한될 수 있다. 단계(602)로부터 단계(604)로 제어가 진행된다. 단계(604)에서 상기 루틴(600)은 버스 요구가 비동기 트랜잭션에 대한 것인지 여부를 판단한다. 상기 버스 요구가 비동기 트랜잭션에 대한 것일 경우, 단계(604)로부터 단계(608)로 제어가 진행된다. 단계(608)에서 상기 비동기 트랜잭션이 처리된다. 단계(608)로부터 단계(610)로 제어가 진행된다. 단계(610)에서 상기 루틴(600)은 현재 프레임이 종료되었는지 여부를 판단한다. 전술한 바와 같이, 이더넷 프레임의 종료는 상기 전송된 정보 내의 특정 비트 패턴에 의해 감지된다. 상기 현재 프레임이 종료되지 않은 경우, 단계(610)로부터 단계(612)로 제어가 진행된다. 상기 현재 프레임이 종료된 경우에는 단계(610)로부터 단계(612)로 제어가 진행된다.
단계(612)에서 새로운 프레임이 개시된다. 단계(612)로부터 단계(614)로 제어가 진행되며, 단계(614)에서 상기 루틴(600)은 새로운 프레임 바로 직전의 프레임으로부터 현저한 등시성 요구를 저장한다. 당업자라면 이러한 요구들이 다양한 방법(예컨대, FIFO 버퍼 또는 테이블)으로 저장될 수 있음을 알 수 있을 것이다. 단계(614)로부터 단계(616)으로 제어가 진행된다. 단계(616)에서 상기 루틴(600)은 상기 새로운 프레임이 개시될 때, 그 새로운 프레임보다 2 프레임 앞선 프레임으로부터의 등시성 요구를 라운드 로빈 방식으로 처리한다. 단계(616)로부터 단계(604)로 제어가 진행된다. 단계(604)에 있어서, 버스 요구가 비동기 트랜잭션에 대한 것이 아닐 경우 제어는 단계(606)로 진행된다. 단계(606)에 있어서 상기 루틴(600)은 등시성 요구를 처리하고, 단계(614)에서 생성된 리스트로부터 처리된 등시성 트랜잭션을 제거한다. 단계(606)로부터 단계(604)로 제어가 복귀된다.
따라서, 본 발명의 기술에 의하면 등시성 트랜잭션은 처리되기 전에 최대 3 프레임이 지연된다. 즉, 한 프레임의 개시 시점에서의 등시성 요구는 다음 연속 프레임의 종료시 처리된다. 도 5에서와 같이, 현재 프레임 내의 비동기 트랜잭션은 상기 현재 프레임의 등시성 트랜잭션에 대해 우선 순위를 가지고 처리된다. 또한, 현재 프레임 내의 비동기 트랜잭션은 상기 현재 프레임 직전에 선행하는 프레임의 등시성 트랜재션에 대해 우선 순위를 가지고 처리된다. 당업자라면 도 5 및 도 6과 관련하여 개시된 본 발명의 기술을 구현하는 데에 로직 또는 코드의 분류가 유용하다는 것을 알 수 있을 것이다.
도 7에는 네트워크 인터페이스 카드(NIC:Network Interface Card) 내에 구현된 본 발명의 실시예가 도시되어 있다. 상기 공유 버스가 이더넷인 경우, 프레임의유형은 어드레스 필드의 조사(전송 또는 수신) 또는 프레임의 제어 필드 조사를 통하여 판단될 수 있다. 상기 NIC(128)는 상기 컴퓨터 시스템 S 내에 포함되고, 상기 시스템 S는 공유 버스(700)를 통해 데이터의 송신 및 수신을 가능하게 한다. 특정 네트워크 드라이버 유닛은 소정 장치에 의해 상기 공유 버스(700)상에 정보가 유도되도록 하는 코드를 구현한다. 상기 드라이버 유닛은 상기 네트워크 인터페이스 카드상의 펌웨어(702)에 상주하거나, 상기 컴퓨터 시스템 S 내의 어딘가에 저장된다. 상기 장치는 서버 또는 워크스테이션(컴퓨터 시스템 S로 표시됨)과 같이 다양한 형태의 것일 수 있다. 상기 네트워크 드라이버 루틴은 전송될 정보를 상기 공유 버스(700)상으로 유도되도록 한다. 도 7은 본 발명에 따른 공유 버스(700)상에서 특정 장치의 비동기 트랜잭션 및 등시성 트랜잭션을 스케줄링하는 네트워크 드라이버 루틴(펌웨어)(702)가 포함된 NIC(128)를 나타낸다. 본 명세서에 개시된 스케줄링 기술은 하드웨어나 소프트웨어상에서 구현될 수 있음을 이해하여야 한다.
따라서, 공유 버스상에서의 비동기 트랜잭션과 등시성 트랜잭션은 등시성 대기 시간을 허용치 이하로 유지시키면서 비동기 대기 시간이 감소되도록 스케줄링된다. 버스 요구가 수신되면, 본 발명의 기술에서는 현재 프레임에서의 상기 버스 요구가 비동기 트랜잭션에 대한 것인지, 등시성 트랜잭션에 대한 것인지가 판단된다. 비동기 버스 요구가 개시되면 그에 대한 것이 처리되고, 그렇지 않은 경우 등시성 버스 요구가 처리된다. 비동기 트랜잭션이 현재 처리되고 있는 동안, 등시성 트랜잭션에 대한 요구가 수신되면 그에 대한 요구는 대기 상태가 된다. 현재 프레임 시간이 종료될 때까지 비동기 트랜잭션에 우선 순위가 부여된다. 본 명세서에 개시된일 실시예에 있어서, 새로운 프레임이 개시될 때 대기중인 등시성 트랜잭션은 상기 현재 프레임의 비동기 트랜잭션에 우선 순위가 부여되기 전에 처리된다. 다른 실시예에 있어서, 대기중인 등시성 트랜잭션은 새로운 프레임의 개시 시점에서 상기 새로운 프레임보다 2 프레임 앞선 것으로부터 연유할 경우에 처리된다. 통상 어느 방법이든지 비동기 트래픽과 등시성 트래픽 사이의 밴드폭을 최적화시킨다.
이상, 다양한 실시예의 개시와 그에 대한 설명은 예시적이고 설명을 위한 것으로서, 예시된 하드웨어 및 소프트웨어와 운영 방법 및 구성에 대한 자세한 사항에 있어서 뿐만아니라, 구성 요소, 회로 소자, 버스 특징, 데이터 특징, 코드, 배선 연결 및 접속에 있어서도 본 발명의 사상을 벗어나지 않는 범위에서 여러가지 변형이 이루어질 수 있다.
본 발명에 따르면, 공유 버스상에서의 비동기 트랜잭션 및 등시성 트랜잭션에 대한 스케줄링이 제공되고, 통상적으로 등시성 대기 시간이 허용치 이하로 유지되면서 비동기 대기 시간이 감소된다.

Claims (28)

  1. 공유 버스를 통해 제1 장치 및 제2 장치 사이에서 복수의 제1 트랜잭션 및 제2 트랜잭션을 스케줄링하는 방법으로서,
    (a) 상기 공유 버스에 할당된 버스 시간을 동일한 길이의 프레임으로 분할하는 단계와;
    (b) 버스 요구를 수신하고, 현재 프레임 내의 상기 버스 요구가 제1 트랜잭션에 대한 것인지, 제2 트랜잭션에 대한 것인지의 여부를 판단하는 단계와;
    (c) 제1 트랜잭션 버스 요구가 존재할 경우 이를 처리하고, 그렇지 않고 제2 트랜잭션 버스 요구가 존재할 경우 이를 처리하는 단계 - 여기서, 상기 제1 트랜잭션 버스 요구 중 어느 하나가 현재 처리되고 있는 동안 제2 트랜잭션 버스 요구가 수신되면 상기 제2 트랜잭션 버스 요구는 대기 상태가 됨 - 와;
    (d) 현재 프레임 시간이 종료될 때까지 상기 (b) 내지 (c) 단계를 반복하는 단계와;
    (e) 상기 (b) 단계가 계속되기 전, 새로운 프레임의 개시 시점에서 대기 중인 제2 트랜잭션 버스 요구를 처리하는 단계 - 여기서, 상기 새로운 프레임은 상기 (b) 단계의 현재 프레임이 됨 -
    를 포함하는 공유 버스상에서의 트랜잭션에 대한 스케줄링 방법.
  2. 제1항에 있어서, 상기 제1 트랜잭션은 비동기 트랜잭션이고, 상기 제2 트랜잭션은 등시성 트랜잭션인 것인 공유 버스상에서의 트랜잭션에 대한 스케줄링 방법.
  3. 제1항에 있어서, 상기 (c) 단계에서의 제2 트랜잭션 버스 요구는 수신된 순서대로 처리되고, 직전 프레임으로부터의 제2 트랜잭션 버스 요구는 상기 현재 프레임의 제2 트랜잭션 버스 요구 이전에 처리되는 것인 공유 버스상에서의 트랜잭션에 대한 스케줄링 방법.
  4. 제1항에 있어서, 상기 (e) 단계에서의 대기 중인 제2 트랜잭션 버스 요구는 상기 새로운 프레임보다 2 프레임 전의 것으로부터 연유할 경우, 상기 새로운 프레임의 개시 시점에서 처리되는 것인 공유 버스상에서의 트랜잭션에 대한 스케줄링 방법.
  5. 제1항에 있어서, 상기 (e) 단계에서의 대기 중인 제2 트랜잭션 버스 요구는 상기 새로운 프레임의 개시 시점에서 라운드 로빈 방식으로 처리되는 것인 공유 버스상에서의 트랜잭션에 대한 스케줄링 방법.
  6. 제1항에 있어서, 상기 공유 버스는 이더넷 접속인 것인 공유 버스상에서의 트랜잭션에 대한 스케줄링 방법.
  7. 제1항에 있어서, 상기 공유 버스는 범용 직렬 버스인 것인 공유 버스상에서의 트랜잭션에 대한 스케줄링 방법.
  8. 제1항에 있어서, 상기 공유 버스는 IEEE 1394 버스인 것인 공유 버스상에서의 트랜잭션에 대한 스케줄링 방법.
  9. 제1항에 있어서, 상기 공유 버스는 PCI 버스인 것인 공유 버스상에서의 트랜잭션에 대한 스케줄링 방법.
  10. 제1항에 있어서, 상기 제1 장치 및 제2 장치는 워크스테이션인 것인 공유 버스상에서의 트랜잭션에 대한 스케줄링 방법.
  11. 제1항에 있어서, 상기 제1 장치 및 제2 장치는 주변 장치인 것인 공유 버스상에서의 트랜잭션에 대한 스케줄링 방법.
  12. 제1항에 있어서, 상기 제1 장치 및 제2 장치는 윈도우를 기반으로 한 서버인 것인 공유 버스상에서의 트랜잭션에 대한 스케줄링 방법.
  13. 제1항에 있어서, 상기 제1 장치는 워크스테이션이고, 상기 제2 장치는 윈도우를 기반으로 한 서버인 것인 공유 버스상에서의 트랜잭션에 대한 스케줄링 방법.
  14. 공유 버스상에서의 트랜잭션에 대한 스케줄링 기능을 갖는 컴퓨터 시스템에 있어서, 상기 컴퓨터시스템은
    프로세서와;
    상기 프로세서에 접속된 대용량 기억 장치와;
    프로세서에 의해 판독 가능한 매체상에 저장된 트랜잭션 스케줄링 코드를 포함하고, 상기 프로세서는
    (a) 상기 공유 버스에 할당된 버스 시간을 동일한 길이의 프로엠으로 분할하는 단계와;
    (b) 버스 요구를 수신하고, 현재 프레임 내의 상기 버스 요구가 제1 트랜잭션에 대한 것인지, 제2 트랜잭션에 대한 것인지의 여부를 판단하는 단계와;
    (c) 제1 트랜잭션 버스 요구가 존재할 경우 이를 처리하고, 그렇지 않고 제2 트랜잭션 버스 요구가 존재할 경우 이를 처리하는 단계 - 여기서, 상기 제1 트랜잭션 버스 요구 중 어느 하나가 현재 처리되고 있는 동안 제2 트랜잭션 버스 요구가 수신되면 상기 제2 트랜잭션 버스 요구는 대기 상태가 됨 - 와;
    (d) 현재 프레임 시간이 종료될 때까지 상기 (b) 내지 (c) 단계를 반복하는 단계와;
    (e) 상기 (b) 단계가 계속되기 전, 새로운 프레임의 개시 시점에서 대기 중인 제2 트랜잭션 버스 요구를 처리하는 단계 - 여기서, 상기 새로운 프레임은 상기 (b) 단계의 현재 프레임이 됨 -
    를 수행하는 것인 컴퓨터 시스템.
  15. 제14항에 있어서, 상기 제1 트랜잭션은 비동기 트랜잭션이고, 상기 제2 트랜잭션은 등시성 트랜잭션인 것인 컴퓨터 시스템.
  16. 제14항에 있어서, 상기 (c) 단계에서의 제2 트랜잭션 버스 요구는 수신된 순서대로 처리되고, 직전 프레임으로부터의 제2 트랜잭션 버스 요구는 상기 현재 프레임의 제2 트랜잭션 버스 요구 이전에 처리되는 것인 컴퓨터 시스템.
  17. 제14항에 있어서, 상기 (e) 단계에서의 대기 중인 제2 트랜잭션 버스 요구는 상기 새로운 프레임보다 2 프레임 전의 것으로부터 연유할 경우, 상기 새로운 프레임의 개시 시점에서 처리되는 것인 컴퓨터 시스템.
  18. 제14항에 있어서, 상기 (e) 단계에서의 대기 중인 제2 트랜잭션 버스 요구는 상기 새로운 프레임의 개시 시점에서 라운드 로빈 방식으로 처리되는 것인 컴퓨터 시스템.
  19. 제14항에 있어서, 상기 공유 버스는 이더넷 접속인 것인 컴퓨터 시스템.
  20. 제14항에 있어서, 상기 공유 버스는 범용 직렬 버스인 것인 컴퓨터 시스템.
  21. 제14항에 있어서, 상기 공유 버스는 IEEE 1394 버스인 것인 컴퓨터 시스템.
  22. 제14항에 있어서, 상기 공유 버스는 PCI 버스인 것인 컴퓨터 시스템.
  23. 제14항에 있어서, 상기 프로세서는 상기 공유 버스에 의해 워크스테이션에 접속되는 것인 컴퓨터 시스템.
  24. 제14항에 있어서, 상기 프로세서는 상기 공유 버스에 의해 주변 장치에 접속되는 것인 컴퓨터 시스템.
  25. 제14항에 있어서, 상기 프로세서는 상기 공유 버스에 의해 윈도우를 기반으로 한 서버에 접속되는 것인 컴퓨터 시스템.
  26. 제14항에 있어서, 상기 컴퓨터 시스템은 상기 공유 버스에 의해 윈도우를 기반으로 한 서버에 접속되는 워크스테이션인 것인 컴퓨터 시스템.
  27. 공유 버스상의 트래픽 유형에 우선 순위가 부여되어야 하는 때를 결정하는 트래픽 우선 순위 회로에 있어서,
    현재 프레임의 직전 프레임에 대한 버스 요구 상태를 래치하는 종전 프레임로직과;
    상기 현재 프레임의 버스 요구 상태를 래치하는 현재 프레임 로직과;
    상기 현재 프레임의 버스 요구 상태와 현재 프레임의 직전 프레임의 버스 요구 상태가 언제 버스 요구가 부여되지 않았음을 나타내는지 결정하는 우선 순위 로직 - 여기서, 상기 우선 순위 로직에 의해 상기 버스 요구에 최상위 우선 순위가 할당됨 -
    을 포함하는 트래픽 우선 순위 회로.
  28. 제27항에 있어서, 상기 트래픽의 유형은 등시성 트래픽이 것인 트래픽 우선 순위 회로.
KR1020010010337A 2000-02-29 2001-02-28 공유 버스상에서의 등시성 트랜잭션 및 비동기 트랜잭션의스케줄링을 위한 우선 순위 매커니즘 KR20010085709A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/514,980 2000-02-29
US09/514,980 US6701399B1 (en) 2000-02-29 2000-02-29 Priority mechanism for scheduling isochronous and asynchronous transactions on a shared bus

Publications (1)

Publication Number Publication Date
KR20010085709A true KR20010085709A (ko) 2001-09-07

Family

ID=24049492

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020010010337A KR20010085709A (ko) 2000-02-29 2001-02-28 공유 버스상에서의 등시성 트랜잭션 및 비동기 트랜잭션의스케줄링을 위한 우선 순위 매커니즘

Country Status (4)

Country Link
US (2) US6701399B1 (ko)
JP (1) JP2001318880A (ko)
KR (1) KR20010085709A (ko)
TW (1) TW583548B (ko)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7158532B2 (en) * 1998-07-06 2007-01-02 Intel Corporation Half duplex link with isochronous and asynchronous arbitration
US6813251B1 (en) * 1999-07-27 2004-11-02 Intel Corporation Split Transaction protocol for a bus system
US7463647B2 (en) * 2001-02-26 2008-12-09 Sony Corporation Method of and apparatus for providing reserved bandwidth to ethernet devices over switched ethernet including a home network wall plate having a combined IEEE 1394 and ethernet modified hub
US7542474B2 (en) * 2001-02-26 2009-06-02 Sony Corporation Method of and apparatus for providing isochronous services over switched ethernet including a home network wall plate having a combined IEEE 1394 and ethernet modified hub
US6996120B2 (en) * 2001-03-14 2006-02-07 Siemens Communications, Inc. Methods for improving bus performance and bandwidth utilization of a parallel bus LAN
US7305008B2 (en) * 2001-03-14 2007-12-04 Siemens Communications, Inc. Parallel bus LAN
US7028124B2 (en) * 2001-09-26 2006-04-11 Intel Corporation Method and apparatus for dual queue head processing of interrupt endpoints
US6889265B2 (en) * 2001-11-05 2005-05-03 Intel Corporation Apparatus and method to allow and synchronize schedule changes in a USB enhanced host controller
US7099972B2 (en) * 2002-07-03 2006-08-29 Sun Microsystems, Inc. Preemptive round robin arbiter
US20050138251A1 (en) * 2003-12-18 2005-06-23 Fanning Blaise B. Arbitration of asynchronous and isochronous requests
US7913014B2 (en) * 2004-09-28 2011-03-22 Nxp B.V. Data processing system and method for memory arbitration
US7406555B2 (en) * 2005-04-29 2008-07-29 The Boeing Company Systems and methods for multiple input instrumentation buses
US7702825B2 (en) * 2005-06-29 2010-04-20 Intel Corporation Enhancements to universal serial bus (USB) suspend and resume operations
JP4684031B2 (ja) * 2005-07-11 2011-05-18 富士通株式会社 バス・システム、バス管理装置、ノード装置、およびバス管理装置用のプログラム
US7467245B2 (en) * 2005-07-22 2008-12-16 Cisco Technology, Inc. PCI arbiter
US7490255B2 (en) * 2006-06-30 2009-02-10 Intel Corporation Power efficient flow control model for USB asynchronous transfers
JP5125296B2 (ja) * 2007-07-31 2013-01-23 富士通株式会社 転送量制御装置
US9032101B1 (en) 2008-12-10 2015-05-12 Nvidia Corporation Chipset support for binding and migrating hardware devices among heterogeneous processing units
US9015446B2 (en) * 2008-12-10 2015-04-21 Nvidia Corporation Chipset support for non-uniform memory access among heterogeneous processing units
JP5528939B2 (ja) * 2010-07-29 2014-06-25 ルネサスエレクトロニクス株式会社 マイクロコンピュータ
US11074211B2 (en) * 2018-06-12 2021-07-27 Intel Corporation Management of priority of data transmission on a bus

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5202999A (en) * 1992-01-10 1993-04-13 Digital Equipment Corporation Access request prioritization and summary device
US5544324A (en) * 1992-11-02 1996-08-06 National Semiconductor Corporation Network for transmitting isochronous-source data using a frame structure with variable number of time slots to compensate for timing variance between reference clock and data rate
US5710933A (en) * 1995-03-31 1998-01-20 International Business Machines Corporation System resource enable apparatus
US5778218A (en) * 1996-12-19 1998-07-07 Advanced Micro Devices, Inc. Method and apparatus for clock synchronization across an isochronous bus by adjustment of frame clock rates
JP3994360B2 (ja) * 1998-05-20 2007-10-17 ソニー株式会社 情報処理装置、情報処理方法、および記録媒体
US6032211A (en) * 1998-06-17 2000-02-29 Advanced Micro Devices, Inc. Method of mode control in a bus optimized for personal computer data traffic
US6415367B1 (en) * 1999-12-16 2002-07-02 Intel Corporation Apparatus for reducing asynchronous service latency in a time slot-based memory arbitration scheme

Also Published As

Publication number Publication date
US6889276B2 (en) 2005-05-03
US20040019731A1 (en) 2004-01-29
US6701399B1 (en) 2004-03-02
JP2001318880A (ja) 2001-11-16
TW583548B (en) 2004-04-11

Similar Documents

Publication Publication Date Title
KR20010085709A (ko) 공유 버스상에서의 등시성 트랜잭션 및 비동기 트랜잭션의스케줄링을 위한 우선 순위 매커니즘
US6006303A (en) Priority encoding and decoding for memory architecture
KR0167818B1 (ko) 버스 중재 시스템, 버스 중재 회로, 버스 중재 방법 및 데이타 전송 방법
US5740376A (en) Signaling protocol for a peripheral component interconnect
US5933610A (en) Predictive arbitration system for PCI bus agents
US6032211A (en) Method of mode control in a bus optimized for personal computer data traffic
US5579530A (en) Method and apparatus for dynamically allocating access time to a resource shared between a peripheral bus and a host bus by dynamically controlling the size of burst data transfers on the peripheral bus
US6289406B1 (en) Optimizing the performance of asynchronous bus bridges with dynamic transactions
KR100368948B1 (ko) 가변 우선순위와 공정성을 사용하는 개선된 버스 중재자
US20050193155A1 (en) Data transfer apparatus and transfer control program
US6134625A (en) Method and apparatus for providing arbitration between multiple data streams
US5717873A (en) Deadlock avoidance mechanism and method for multiple bus topology
US6801971B1 (en) Method and system for shared bus access
US6397279B1 (en) Smart retry system that reduces wasted bus transactions associated with master retries
US20030088722A1 (en) System and method for managing priorities in a PCI bus system
US6567881B1 (en) Method and apparatus for bridging a digital signal processor to a PCI bus
EP1226504B1 (en) Method and apparatus for supporting multi-clock propagation in a computer system having a point to point half duplex interconnect
US6212589B1 (en) System resource arbitration mechanism for a host bridge
EP1222551B1 (en) Asynchronous centralized multi-channel dma controller
US6959354B2 (en) Effective bus utilization using multiple bus interface circuits and arbitration logic circuit
JPH0728758A (ja) ダイナミックタイムループ調停及び装置
KR100291409B1 (ko) 컴퓨터 시스템내의 동일 버스상에 두 개의 부 디코드 에이전트를 지원하는 방법 및 장치
US5968144A (en) System for supporting DMA I/O device using PCI bus and PCI-PCI bridge comprising programmable DMA controller for request arbitration and storing data transfer information
US6199132B1 (en) Communication link with isochronous and asynchronous priority modes
US6026455A (en) Architecture and method for providing guaranteed access for a retrying bus master to a data transfer bridge connecting two buses in a computer system

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