[go: up one dir, main page]

KR100267130B1 - Pci 버스 시스템 - Google Patents

Pci 버스 시스템 Download PDF

Info

Publication number
KR100267130B1
KR100267130B1 KR1019980013909A KR19980013909A KR100267130B1 KR 100267130 B1 KR100267130 B1 KR 100267130B1 KR 1019980013909 A KR1019980013909 A KR 1019980013909A KR 19980013909 A KR19980013909 A KR 19980013909A KR 100267130 B1 KR100267130 B1 KR 100267130B1
Authority
KR
South Korea
Prior art keywords
initiator
target
pci bus
pci
bus
Prior art date
Application number
KR1019980013909A
Other languages
English (en)
Other versions
KR19980081526A (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 KR19980081526A publication Critical patent/KR19980081526A/ko
Application granted granted Critical
Publication of KR100267130B1 publication Critical patent/KR100267130B1/ko

Links

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • G06F13/405Coupling between buses using bus bridges where the bridge performs a synchronising function
    • G06F13/4054Coupling between buses using bus bridges where the bridge performs a synchronising function where the function is bus cycle extension, e.g. to meet the timing requirements of the target bus
    • 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

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)
  • Small-Scale Networks (AREA)

Abstract

데이터가 이니시에이터로부터의 액세스에 응답하여 타깃으로부터 PCI 버스를 경유하여 전송되는 이니시에티터 및 타깃을 구비하는 PCI 버스 시스템에서, 액세스로부터 데이터 전송까지 요구되는 시간이 대기시간 정보로서 타깃에 저장된다. 상기 대기시간 정보는 상기 이니시에이터로부터의 액세스 요구에 응답하여 상기 타깃으로부터 상기 이니시에이터로 전송된다. 상기 이니시에이터는 관련된 대기시간 정보로부터 다음의 액세스 타이밍을 판정한다. 이로써 반복되는 액세스 요구로 인한 PCI 버스 점령 시간이 짧아질 수 있다.

Description

PCI 버스 시스템
본발명은 이니시에이터 (initiator) 및 타깃 (target) 이 PCI (Peripheral Component Interconnect) 버스를 통하여 접속된 PCI 버스 시스템에 관한 것이다.
일반적으로, 중앙처리장치 (이하 CPU) 가 호스트-PCI 브리지 (host-PCI bridge) (아비터 (arbiter)) 를 통하여 PCI 버스에 접속되고 PCI 장치가 PCI 버스에 접속된 이러한 형태의 PCI 버스 시스템이 구성되어 왔다. 이러한 PCI 버스 시스템에서, 확장 버스 브리지가 종종 PCI 버스에 접속되는 한편, 확장 장치가 확장 버스를 통하여 이러한 확장 버스 브리지에 접속된다.
이러한 PCI 버스 시스템에서, 데이터 전송은 66 MHz 클럭과 동기로 CPU 및 호스트-PCI 브리지 사이에 접속된 호스트를 통하여 수행된다. 한편, 데이터 전송은 또한 33 MHz 클럭과 동기로 PCI 장치 및 확장 버스 브리지 사이에 제공된 PCI 버스나 PCI 장치를 통하여 수행된다. 확장 버스가 ISA 버스에 의하여 구성된다면, 데이터는 8 MHz 클럭과 동기로 확장 버스상에 전송된다.
이런 식으로 구성된 시스템에서, 호스트 버스상에서의 데이터 전송속도는 확장 버스상에서의 데이터 전송속도의 약 8 배이고, 한편 PCI 버스상에서의 데이터 전송속도는 확장 버스상에서의 데이터 전송속도의 약 4 배이다.
이러한 종류의 PCI 버스 시스템에서, 이니시에이터로부터 타깃으로의 액세스 동작은 CPU 로부터 PCI 장치나 확장 버스 장치로의 액세스 동작 및 PCI 장치로부터 확장 버스 장치로의 액세스 동작을 포함한다. 개개의 동작 속도의 차이로 인하여, 이러한 액세스 동작에 있어서의 전송 수행은 보다 낮은 속도의 장치에 의하여 제한된다. 타깃을 구성하는 각각의 장치는 또한 이니시에이터로의 전송용 데이터가 준비될 때까지 오랜 시간을 기다릴 필요가 있게 된다. 예를 들어, 확장 버스 장치가 타깃으로 이용되고, 액세스 요구로부터 확장 버스 장치에서의 초기 데이터 전송까지 단 3 개의 클럭 카운트가 걸린다고 가정하면, 이러한 클럭 카운트는 호스트 버스에서 24 클럭의 긴 시간을 나타내게 된다. 그러므로, 데이터를 전송하기 전에, 호스트 버스는 오랜 시간 동안 타깃에 의해 점령된 상태에 있게 된다.
이니시에이터로부터의 데이터 독출 요구의 수신시로부터 데이터 출력의 개시시까지는 종종 (대기) 시간이 걸리고, 이러한 시간이 긴 경우 조차도 버스는 타깃에 의해 점령된 상태에 있게 된다.
지연 처리를 포함하는 PCI 버스 시스템이 제안되어 왔는데, 여기에서 만일 버스가 쓸데없이 점령된 상태로 남아 있다면 타깃으로부터 이니시에이터로 재시도 요구가 출력되고 버스는 잠정적으로 해방되게 된다. 이러한 시스템에서, 이니시에이터로부터 타깃으로 액세스할 때, 아비터 (arbiter) 에 의해 PCI 버스의 사용이 인정되는 경우 이니시에이터는 어드레스를 타깃으로 전송한다. 만일 타깃이 이러한 액세스에 응답할 수 없는 상태에 일시적으로 있게 된다면, 이니시에이터로 응답신호가 출력되고 데이터 전송을 정지하라는 재시도 요구가 또한 이니시에이터로 전송된다.
이러한 경우에, 이니시에이터는 재시도 요구를 수신하였으므로 소정의 시간이 경과한 후에 타깃에 대하여 동일한 액세스 동작을 다시 수행한다. 상기 액세스 동작이 재실행될 때, 타깃은 반드시 데이터 전송을 허용하는 상태에 있지는 않을 것이고, 따라서 액세스 동작이 재실행될 때에도 타깃은 다시 재시도 요구를 이니시에이터로 보낼 수도 있다. 결과적으로, 지연 처리가 이용되는 경우에, 재시도 요구를 수신하는 이니시에이터가 처리 요구가 다시 제공될 타이밍을 알지 못하므로, 요구 및 재시도 요구의 처리가 이니시에이터 및 타깃 사이에서 반복된다.
어쨌든, PCI 버스가 종종 쓸데없이 점령된 상태에 있게 되고 전송 수행이 느리게 달성된다는 점에서 이러한 종류의 구성은 단점을 초래한다.
본발명의 목적은 PCI 버스의 효율성이 증대되고 타깃으로부터 이니시에이터로의 전송 성능이 향상되는 PCI 버스 시스템을 제공하는 것이다.
본발명의 또다른 목적은 PCI 버스 이용의 효율성이 향상되는 지연 처리를 채용하는 PCI 버스 시스템을 제공하는 것이다.
본발명의 또다른 목적은 액세스로부터 데이터 전송까지의 시간, 즉 대기시간 정보를 유지하고 전송할 수 있는 타깃을 제공하는 것이다.
본발명을 실행하기 위한 태양에 따르면, 이니시에이터로부터의 액세스에 의하여 이니시에이터로 데이터를 전송하는 이니시에이터 및 타깃을 구비하는 PCI 버스 시스템에서, 상기 타깃은 이니시에이터로부터 액세스를 수신한 후 데이터가 전송될 때까지 요구되는 시간을 지시하는 대기시간 정보를 저장하기 위한 수단을 구비하고 이니시에이터로부터의 액세스가 수신될 때 대기시간 정보가 이니시에이터로 전송되는 PCI 버스 시스템이 얻어진다.
본발명을 실시하기 위한 또다른 태양에 따르면, 이니시에이터로부터의 액세스를 수신한 후 데이터가 전송될 때까지 요구되는 시간, 즉 대기시간 정보를 저장하고 액세스 동작에 응답하여 이러한 정보를 이니시에이터로 전송할 수 있는 타깃이 얻어진다.
도 1 은 본발명이 적용되는 PCI 버스 시스템을 개략적으로 도시하는 블록도.
도 2 는 도 1 에 도시된 PCI 버스 시스템의 동작을 구체적으로 도시하는 블록도.
도 3 은 본발명을 실행하기 위한 한 모드에 관련된 PCI 버스 시스템의 구성을 도시하는 블록도.
도 4 는 도 3 의 PCI 버스 시스템에서 이니시에이터의 동작을 도시하는 플로우챠트.
도 5 는 도 3 의 PCI 버스 시스템에서 타깃의 동작을 도시하는 플로우챠트.
도 6 은 본발명에 관련된 대기시간 정보의 전송을 위한 방법의 일례를 도시하기 위한 파형도.
* 도면의 주요부분에 대한 부호의 설명 *
11 : CPU 14 : 호스트 버스
15 : 호스트-PCI 브리지 16 : PCI 버스
18 : 확장 버스 19 : 확장 버스 브리지
20 : 확장 버스 장치 171, 172 : PCI 장치
30 : 대기시간 레지스터
이하에서, 본발명의 일 실시예에 따른 PCI 버스 시스템이 도면을 참조하여 기재된다. 도 1 에 도시된 바와 같이, CPU (11), 메모리 (12) 및 상기 메모리 (12) 를 제어하기 위한 메모리 제어기 (13) 를 구비하는 PCI 버스 시스템은 호스트 버스 (14) 에 접속된다.
더욱이, 호스트-PCI 브리지 (15) 는 또한 아비터로서 작용할 수 있는 상기 호스트 버스 (14) 에 접속된다. PCI 버스 (16) 는 상기 호스트-PCI 브리지 (15) 및 복수의 PCI 장치 (171, 172) 에 접속된다.
도시된 예에서, 확장 버스 (18) 가 또한 제공된다. 상기 확장 버스 (18) 및 상기 PCI 버스 (16) 사이에 확장 버스 브리지 (19) 가 접속되고, 더욱이 확장 버스 장치 (20) 가 상기 확장 버스 (18) 에 접속된다. 이러한 구조와 함께, 상기 PCI 버스 (16) 는 상기 장치 (171, 172, 20) 및 PCI 버스 시스템에 제공된 다른 주변 장치 사이의 상호 접속을 위해 이용된다.
상기 호스트-PCI 브리지 (15) 및 상기 확장 버스 브리지 (19) 에 연관된 브리지 접속은 상기 PCI 버스 시스템이 특정한 CPU 에 좌우되지 않고 다른 버스 시스템과 쉽게 결합되도록 하기 위하여 많이 이용된다.
상기 PCI 버스에 있어서, PCI 버스 (16) 상에서 데이터 전송을 수행할 수 있는 마스터 장치가 소위 이니시에이터라고 불리며, 독출 요구나 기입 요구를 수신하는 장치는 소위 타깃이라고 불린다. 도시된 예에서, CPU (11), 호스트-PCI 브리지 (15), PCI 장치 (171, 172) 및 확장 버스 브리지 (19) 는 이니시에이터로서 동작할 수 있고, 한편 확장 버스 브리지 (19), PCI 장치 (171, 172), 및 확장 장치 (20) 는 또한 타깃으로서 동작할 수 있다.
도시된 PCI 버스 시스템은 중재 체계를 채택하는 것으로 되어 있고 그 결과 아무때나 오직 하나의 장치만이 이니시에이터로서 동작할 수 있다. 이니시에이터는 PCI 버스 (16) 에 대한 이용 요구를 아비터 (중재자) 로 전송한다 (일반적으로 이러한 기능은 호스트-PCI 브리지 (15) 가 맡는다). PCI 버스 (16) 를 통한 데이터 전송은 아비터로부터 허락이 수신된 경우에만 개시될 수 있다.
여기에서, 데이터는 66 MHz 의 클럭 시퀀스와 동기로 호스트 버스 (14) 에 전송되는 한편, 데이터 전송은 PCI 버스 (16) 및 확장 버스 (18) 를 통하여 각각 33 MHz 및 8 MHz 의 클럭 시퀀스와 동기로 수행된다.
여기에서, CPU (11) 및 확장 버스 장치 (20) 가 각각 타깃으로 동작할 수 있다고 해보자. CPU (11) 의 액세스 요구로부터 확장 버스 장치 (20) 에 의한 데이터 전송의 개시까지 걸리는 시간 (클럭의 수로 특정됨) 이 확장 버스 (18) 상에서 숫자 3 과 동일하다고 하면, 이러한 환경하에서는 호스트 버스 (14) 상에서 24 클럭의 시간이 낭비된다. 이니시에이터에 의한 액세스 요구로부터 타깃으로부터의 데이터 전송의 개시까지 요구되는 시간은 대기시간이라고 불린다.
전술한 PCI 버스 시스템의 동작이 이하에서 도 2 를 참조하여 기재된다. 도 2 에서, 일반적인 기재를 위하여 이니시에이터 (21), 타깃 (22) 및 아비터 (23) 사이의 동작이 설명된다. 우선, 이니시에이터 (21) 는 아비터 (23) 에 대하여 1 비트 (bit) REQ# 를 액티브 (active) (즉, 주장) 상태에 두고, 따라서 PCI 버스를 이용할 권리를 요구한다. REQ# 가 액티브되는 경우, 아비터 (23) 는 1 비트 GNT# 를 액티브 (주장) 상태로 되게하여 이니시에이터 (21) 가 PCI 버스를 이용하는 것을 허락한다.
이러한 허락에 응답하여, 이니시에이터 (21) 는 32 비트의 AD 신호로서 타깃 (22) 의 어드레스를 전송한다. 여기에서, AD 신호는 시분할 다중신호 형태로 생성된다. 이 경우에, 어드레스 및 데이터는 위상을 고려하여 전환된다. 이러한 어드레스 신호는 이니시에이터 (21) 로부터 송신되고 원하는 타깃 (22) 이 구동된다. 이 경우에, 이니시에이터 (21) 는 FRAME# 를 액티브로 유지하고 PCI 버스가 사용중이라는 것을 선언한다.
이어서, 타깃 (22) 은 타깃 (22) 이 이니시에이터 (21) 로부터의 전송 요구에 응답한다는 것을 나타내기 위하여 DEVSEL# 을 액티브 상태에 둔다. 이 경우에, 이니시에이터 (21) 및 타깃 (22) 이 데이터 전송이 가능한 상태에 놓일 때, IRDY# 및 TRDY# 를 액티브 상태로 되게 한다. 이러한 환경하에서, 데이터 전송이 수행된다. 이것은 각각의 이니시에이터 (21) 및 타깃 (22) 이 타이밍을 판정할 수 있음을 의미한다.
이런 식으로, 타깃 (22) 은 TRDY# 에 의하여 전송 타이밍을 판정할 수 있다. 한편, 타깃 (22) 이 어떤 시간 동안 처리에 응답할 수 없는 경우에는 이것은 에러에 속한다. 이를 고려하여, 타깃 (22) 은 처리에 응답한다는 것을 나타내기 위하여 DEVSEL# 를 생성한다. 게다가, 타깃 (22) 은 STOP# 에 의하여 처리의 인터럽트 (interrupt) 를 요구할 수 있다.
일반적으로, 전술한 방식으로 이니시에이터 (21) 로부터 타깃 (22) 으로의 처리를 개시할 수 있다. 한편, 액티브 상태로의 이니시에이터 세트 FRAME# 은 PCI 버스가 사용중이라는 것을 주장한다. 이 경우에, 타깃 (22) 이 그 내부 사정으로 인하여 즉시 FRAME# 에 응답할 수 없는 경우에도, 타깃은 DEVSEL# 를 설정함으로써 여전히 응답하거나, STOP# 에 의한 인터럽트를 요구할 수 있다. 이러한 인터럽트 요구는 타깃 (22) 으로부터 이니시에이터 (21) 로 반복되는 동일한 처리를 요구하는 재시도 요구로서 전송된다.
'지연 처리' 라고 불리는 처리 방법이 재시도 요구의 경우에 수행되는 처리를 판정하기 위한 표준으로서 이용된다. 이러한 표준에 따르면, 타깃은 이니시에이터로부터의 처리에 응답하는데 오랜 기간이 필요다고 판단되는 경우에 재시도를 요구한다. 게다가, 타깃은 일시적으로 PCI 버스를 해방한다. 그 후에, 이니시에이터로부터 재시도가 수신되는 경우에 타깃은 처리에 응답하고 준비 완료 후에 데이터 전송을 수행한다.
그러므로, 이러한 지연된 처리 표준에 따르면, 재시도 요구를 수신하는 이니시에이터 (21) 는 소정의 시간이 경과한 후에 다시 동일한 요구를 생성한다.
이런 식으로, 지연된 처리가 수행되는 경우에도, 다음의 재시도를 위한 타이밍은 이니시에이터 (21) 에 주어지지 않는다. 그러므로, 이니시에이터 (21) 는 타깃 (22) 이 응답할 수 있는 상태에 놓일 때까지 임의의 횟수로 재시도 동작을 요구하는데, 매번 소정의 시간이 경과한다. 따라서, 타깃 (22) 으로부터의 재시도 요구 및 이니시에이터 (21) 에 의한 재시도 동작은 PCI 버스를 통하여 많은 횟수로 반복된다. 이로 인하여 버스 상에서 사이클이 낭비된다.
도 3 을 참조하면, 본발명의 바람직한 실시예에 따른 PCI 버스 시스템은 도 1 에 도시된 바와 같이 CPU (1), 호스트-PCI 브리지 (15), PCI 버스 (16), PCI 장치 (171, 172), 확장 버스 브리지 (19), 확장 버스 (18), 및 확장 버스 장치 (20) 를 구비한다. 도시된 예에서, 기재를 간단히 하기 위하여, CPU (11) 및 호스트-PCI 브리지 (15) 가 이니시에이터로서 동작하는 한편, 확장 버스 브리지 (19) 는 타깃으로서 동작할 수 있다. 이러한 구조로, 확장 버스 (18) 를 통하여 확장 버스 브리지 (19) 에 접속된 확장 버스 장치 (20) 가 확장 버스 브리지 (19) 에 의하여 제어된다.
타깃으로서 동작하는 장치 (171, 172, 19) 에는 재시도 요구가 출력되는 경우 상기 장치에서의 대기시간을 나타내기 위한 대기시간 레지스터 (30) 가 제공되고, 액세스 요구 (즉, 처리 요구) 의 수신으로부터 초기 데이터 전송이 설정될 때까지 요구되는 시간은 클럭의 수의 형태로 대기시간 정보로서 각각의 대기시간 레지스터 (30) 에 저장된다. 여기에서, 대기시간 레지스터 (30) 는 장치에 제공된 구성 레지스터의 빈 부분, 즉 한정되지 않은 부분을 이용하여 형성되거나 이것으로부터 분리된 레지스터가 이용될 수도 있다.
일반적으로, 타깃을 요구하는 액세스의 수신으로부터 초기 데이터 전송의 개시까지 요구되는 시간은, 기입 및 독출 동작 사이의 구별이 있는 경우에도, 각 타깃에 있어서 서로 동일하다. 도시된 예에서, 이러한 시간은 특정한 수의 클럭의 형태로 대기시간 정보로서 대기시간 레지스터 (30) 에 저장된다.
이러한 구성에 있어서, 시스템을 부팅 (booting) 하는 경우, 즉 개인용 컴퓨터 전원이 켜지는 경우에, 예를 들어 CPU (11), 브리지 (15) 및 다른 이니시에이터는 타깃에 대한 대기시간을 독출하고 이를 이니시에이터 스케줄링 (scheduling) 에 대한 기준으로서 이용한다.
대기시간 정보에 기초한 이니시에이터 스케줄링이 이용되는 경우에도, 재시도 발생하게 되면, 타깃은 재시도를 요구하는 이니시에이터로 대기시간 레지스터 (30) 에 있는 대기시간 정보를 전송한다. 여기에서, PCI 버스 상에서, 타깃은 대기시간 정보를 STOP# 으로서 동시에 이니시에이터로 전송한다.
이니시에이터가 타깃으로부터 대기시간 정보를 수신하는 경우에, 상기 대기시간 정보에 의해 지시되는 시간 동안 기다린 후에, 이니시에이터는 재시도를 하는데, 즉 처리 요구를 다시 전달한다.
본발명을 실시하기 위한 일 태양에 관련된 PCI 버스 시스템에서의 이니시에이터의 동작이 이하에서 도 4 를 참조하여 기재된다. 이니시에이터는 CPU (11) 와 같은 모든 처리 장치를 구비하고, 도시된 처리는 실제로 이니시에이터에 제공된 처리 장치에 의하여 수행된다. 우선, S1 단계에서, 액세스 요구가 타깃에 설정되고, S2 단계에서, 타깃으로부터의 재시도 메시지가 있는지 여부가 판단된다. 재시도가 없다면, 완료될 때까지 데이터가 타깃으로부터 이니시에이터로 전송되는 S3 단계로 이동한다.
한편, S2 단계에서, 만일 타깃으로부터의 재시도가 있다면, S4 단계로 이동한다. S4 단계에서, 이니시에이터는 타깃에 의해 송신된 대기시간 정보에 기초하여 내부 타이머를 설정하고, 재시도가 상기 대기시간 정보에 의해 특정된 시간 동안 지연되며, 상기 특정된 시간이 경과하면 이니시에이터는 SS1 단계로 복귀하여 타깃으로 액세스 요구를 전송한다. 상기 특정된 시간 동안 PCI 버스는 해방되고 이니시에이터는 데이터를 다른 타깃으로 전송할 수 있다.
다음으로, 타깃의 동작이 기재된다. 우선, 간단한 타깃에서, 전술한 바와 같이, 이니시에이터로부터의 액세스 수신으로부터 데이터 전송까지 걸리는 시간이 균일한 값으로서 처리된다면, 어떠한 종류의 문제도 일어나지 않는다. 이 경우에, 대기시간 정보를 담고 있는 대기시간 레지스터는 미리 타깃에 설정된다. 한편, 확장 버스 브리지 (19) 를 통하여 접속된 확장 장치 (20) 의 경우에, 확장 버스 (18) 에 접속된 확장 장치 (200) 각각에 관한 정보는 관련된 확장 버스 브리지 (19) 에 저장되고, 확장 버스 브리지 (19) 는 관련된 정보에 기초하여 각각의 확장 버스 장치 (20) 를 제어한다.
이하에서, 확장 버스 브리지 (19) 가 이용되는 상황에서의 동작이 도 5 를 참조하여 기재된다. 이 경우에, S1 단계에 나타난 바와 같이, 확장 버스 브리지 (19) 에 접속된 각각의 확장 버스 장치 (20) 에 관련된 장치 정보가 상기 확장 버스 브리지 (19) 에 제공된 레지스터에 설정된다. 확장 버스 프로토콜 등에 따라 확장 버스 브리지 (19) 의 이러한 레지스터에 장치 정보가 수작업으로 설정된다.
여기에서, 특별한 확장 장치 (20) 로의 액세스가 발생되면, 각각의 확장 버스 브리지 (19) 는 SS2 단계에서 액세스의 도착을 인식하고, 이러한 액세스에 대응하는 대기시간 정보를 계산하고 그 후에 SS3 단계로 이동한다. 상기 계산된 대기시간 정보는 재시도 요구가 이니시에이터에 의하여 출력되는 경우에 이니시에이터로 전송된다.
다음으로, SS3 단계에서, 확장 버스 브리지 (19) 가 재시도를 요구하는 처리를 계속하는지 여부를 판정하고, 만일 이러한 처리가 계속되지 않는다면 SS4 단계로 이동한다. 그러나, 상기 확장 버스 브리지 (19) 가 재시도에 관한 처리를 계속한다고 판정하면, SS5 단계에서 대기시간 정보를 출력할 뿐만 아니라 재시도 요구를 이니시에이터에 출력하고, 그 처리를 계속한다.
그러나, 재시도에 관한 처리가 계속되지 않는다면, SS4 단계에서 확장 버스 브리지 (19) 는 처리를 완료했는지 여부를 판정하고 재시도를 위한 준비 상태에 있게 된다. 재시도를 위한 준비 상태에 있지 않다면, 처리는 SS6 단계로 이동하는데, 이 단계에서 재시도 요구는 대기시간 정보와 함께 이니시에이터로 전송되고 필요한 처리가 계속되고 여기에서 처리는 SS2 단계로 돌아온다.
SS4 단계에서 확장 버스 브리지 (19) 가 재시도 준비 상태에 있다고 판정된다면, 확장 버스 브리지 (19) 는 디폴트 (default) 대기시간 정보와 함께 재시도 요구를 이니시에이터로 전송하고 SS2 단계로 돌아간다.
어떤 경우이건, 액세스가 다른 장치로부터 수신되면, 확장 버스 브리지 (19) 는 현재 진행중인 처리가 완료될 때까지, 즉 이니시에이터로 전송된 값이 우선적으로 액세스할 때까지, 그 값을 전송한다.
타깃에 의해 전송된 대기시간 정보는 다음과 같은 방식으로 계산된다. 우선, 타깃이 PCI 장치 (171, 172) 라면, 각각의 PCI 장치에 대응하는 진성의 대기시간 정보가 그 대기시간 레지스터에 저장되고, 한편 타깃이 확장 버스 브리지라면 상기 브리지에 대한 대기시간 정보가 상기 확장 장치로부터 필요한 데이터 값을 독출하는데 필요한 시간의 합으로서 계산된다.
이러한 대기시간 정보는 PCI 장치 (171, 172) 나 확장 버스 브리지 (19) 에 저장되어, 재시도가 이니시에이터로부터 도달하고 처리가 아직 완료되지 않은 경우에 참조된다. 우선, 타깃이 PCI 장치라면, 진성 대기시간 정보가 이니시에이터로 전송되고, 타깃이 확장 버스 브리지 (19) 라면, 재시도의 도달로부터 완료까지 남아있는 데이터를 독출하는데 요구되는 시간으로부터 계산된 대기시간 정보가 이니시에이터에 대기시간 정보로서 출력된다.
전술한 기재는 주로 데이터가 타깃으로부터 독출되는 경우에 관한 것인데, 이는 기입데이터의 경우에 기입 버퍼가 이용되고 따라서 실행에 대한 효과가 작기 때문이다. 그러므로, 실제 시스템은 데이터 독출의 경우에만 대기시간 정보가 타깃에 의하여 이니시에이터로 전송되도록 구성될 수도 있다.
전술한 실시 태양에서, 기재된 내용은 많은 클럭 등과 같은 특정한 값의 형태로 대기시간 정보를 통신하는 시스템에만 관한 것이다.
더욱이, PCI 시스템에서, 모기판 (mother board) 상에서 측대역신호라고 불리는 독립된 신호를 이용할 수 있으므로, 이러한 측대역신호에 의하여 대기시간 정보를 전달하는 구성이 채택될 수 있다. 선택적으로, PCI 버스 프로토콜의 한정되지 않은 부분을 이용하는 것도 또한 가능하다. 여기에서, PCI 버스 프로토콜의 한정되지 않은 부분이 이용되는 경우와 함께 도 6 을 참조한 기재가 이루어진다. 우선, 전술한 바와 같이, AD 라인은 시분할 방식으로 이용되며, 어드레스 위상 (예를 들어, t0 - t1) 및 데이터 위상 (예를 들어, t3 - t4) 에 놓인다. 더욱이, 데이터가 타깃으로부터 독출되는 경우에, AD 라인은 타깃에 의하여 데이터 위상으로 유도되고, 통상적으로 재시도 (t3 - t4) 중에 어떤 종류의 의미없는 정보가 AD 라인 상으로 전송된다. t3 - t4 동안 TRDY# 를 비활동화시키고 STOP# 신호를 주장함으로써 이러한 독출 기간 (t3 - t4) 을 이용하여, 도 6 에 도시된 바와 같이 대기시간 정보를 타깃으로부터 AD 라인으로 동시에 출력하면서, 대기시간 정보가 이니시에이터로 전송된다. 이런 식으로 TRDY# 를 비활동화시킴으로써 정상적인 데이터 독출과 구별될 수 있다.
본발명에 관련된 PCI 버스 시스템은 또한 타깃이 액티브하게 재개시 요구를 출력하는 시스템을 구비한다.
전술한 바와 같이, 본발명에 따르면, 이니시에이터로부터의 액세스 요구에 응답하여 타깃으로부터 데이터를 전송하는 PCI 버스 시스템에서, 액세스로부터 데이터 전송까지 요구되는 시간을 나타내는 대기시간 정보를 저장하고 이러한 대기시간 정보를 이니시에이터로 전송함으로써, PCI 버스가 점령되는 시간을 줄일 수 있고, 따라서 PCI 버스 성능이 향상된다는 효과가 얻어진다.

Claims (7)

  1. 이니시에이터 및 상기 이니시에이터로부터의 액세스에 응답하여 PCI 버스를 경유하여 상기 이니시에이터로 데이터를 전송하는 타깃을 구비하는 PCI 버스 시스템에 있어서,
    상기 타킷은 상기 이니시에이터로부터 액세스를 수신한 후 상기 데이터가 전송되기까지 요구되는 시간을 지시하는 대기시간 정보를 저장하기 위한 수단; 및
    상기 이니시에이터로부터의 액세스 수신시에 상기 대기시간 정보를 상기 이니시에이터로 전송하기 위한 수단을 구비하는 것을 특징으로 하는 PCI 버스 시스템.
  2. 제 1 항에 있어서, 상기 타깃은 재시도 요구와 함께 상기 대기시간 정보를 상기 이니시에이터로 전송하는 한편, 상기 이니시에이터는 상기 대기시간 정보에 의해 지시되는 시간이 경과한 후 상기 타깃으로 다시 액세스하는 것을 특징으로 하는 PCI 버스 시스템.
  3. 제 1 항에 있어서, 상기 이니시에이터는 호스트-PCI 브리지로서 작동할 수 있는 인터페이스를 경유하여 상기 PCI 버스에 접속된 CPU 인 한편, 상기 타깃은 상기 PCI 버스에 접속된 PCI 장치인 것을 특징으로 하는 PCI 버스 시스템.
  4. 제 1 항에 있어서, 상기 타깃은 상기 PCI 버스에 접속된 확장 버스 브리지인 것을 특징으로 하는 PCI 버스 시스템.
  5. 제 4 항에 있어서, 확장 버스 장치가 확장 버스를 경유하여 상기 확장 버스 브리지에 접속되는 것을 특징으로 하는 PCI 버스 시스템.
  6. 제 1 항에 있어서, 상기 이니시에이터가 상기 타깃으로부터 상기 대기시간 정보를 수신하는 경우, 상기 이니시에이터는 상기 대기시간 정보에 의해 지시되는 시간 동안 상기 타깃으로의 액세스를 지연하는 것을 특징으로 하는 PCI 버스 시스템.
  7. PCI 버스에 접속된 타깃으로서,
    상기 PCI 버스를 경유하여 공급된 액세스 요구의 수신으로부터 데이터 전송까지의 시간을 지시하는 대기시간 정보를 저장하기 위한 메모리 수단; 및
    상기 대기시간 정보를 상기 PCI 버스상으로 전송하기 위한 수단을 구비하는 것을 특징으로 하는 타깃.
KR1019980013909A 1997-04-18 1998-04-18 Pci 버스 시스템 KR100267130B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP97-101228 1997-04-18
JP9101228A JPH10293744A (ja) 1997-04-18 1997-04-18 Pciバス・システム

Publications (2)

Publication Number Publication Date
KR19980081526A KR19980081526A (ko) 1998-11-25
KR100267130B1 true KR100267130B1 (ko) 2000-10-16

Family

ID=14295047

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980013909A KR100267130B1 (ko) 1997-04-18 1998-04-18 Pci 버스 시스템

Country Status (5)

Country Link
US (1) US6282598B1 (ko)
EP (1) EP0872799A3 (ko)
JP (1) JPH10293744A (ko)
KR (1) KR100267130B1 (ko)
CN (1) CN1197238A (ko)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6311248B1 (en) 1999-04-13 2001-10-30 Vlsi Technology, Inc. Method and system for optimized data transfers in a mixed 64-bit/32-bit PCI environment
TW413756B (en) * 1999-04-23 2000-12-01 Via Tech Inc PCI bus compatible master and residing arbiter and arbitration method
US6442636B1 (en) * 1999-07-09 2002-08-27 Princeton Technology Corporation Parallel bus system capable of expanding peripheral devices
US6519670B1 (en) * 2000-02-04 2003-02-11 Koninklijke Philips Electronics N.V. Method and system for optimizing a host bus that directly interfaces to a 16-bit PCMCIA host bus adapter
US6728808B1 (en) * 2000-02-07 2004-04-27 3Com Corporation Mechanism for optimizing transaction retries within a system utilizing a PCI bus architecture
KR100368108B1 (ko) * 2000-07-13 2003-01-15 (주) 멀티웨이브 부하 분산기
US6633936B1 (en) * 2000-09-26 2003-10-14 Broadcom Corporation Adaptive retry mechanism
JP3711871B2 (ja) 2001-01-23 2005-11-02 日本電気株式会社 Pciバスの障害解析容易化方式
FR2829253A1 (fr) * 2001-08-31 2003-03-07 Koninkl Philips Electronics Nv Controle d'acces dynamique d'une fonction a ressource collective
KR100486244B1 (ko) * 2001-10-16 2005-05-03 삼성전자주식회사 직렬 이이피롬을 이용하여 인터페이스용 카드를초기화하는 반도체 장치 및 초기화 방법
US6973520B2 (en) * 2002-07-11 2005-12-06 International Business Machines Corporation System and method for providing improved bus utilization via target directed completion
US6816954B2 (en) * 2002-07-29 2004-11-09 Lsi Logic Corporation System and method for tuning retry performance
US7065596B2 (en) * 2002-09-19 2006-06-20 Intel Corporation Method and apparatus to resolve instruction starvation
US7096289B2 (en) * 2003-01-16 2006-08-22 International Business Machines Corporation Sender to receiver request retry method and apparatus
JP4055903B2 (ja) * 2003-12-26 2008-03-05 シャープ株式会社 バス通信システム
US7966439B1 (en) * 2004-11-24 2011-06-21 Nvidia Corporation Apparatus, system, and method for a fast data return memory controller
JP4748641B2 (ja) 2004-12-06 2011-08-17 ルネサスエレクトロニクス株式会社 情報処理システム
US20060168382A1 (en) * 2005-01-25 2006-07-27 International Business Machines Corporation Resolving conflicting requests for use of shared resources
US8037468B2 (en) * 2006-08-02 2011-10-11 Sandisk Il Ltd. Methods for synchronous code retrieval from an asynchronous source
US8230198B2 (en) 2006-08-02 2012-07-24 Sandisk Il Ltd. System for synchronous code retrieval from an asynchronous source
WO2008038266A1 (en) 2006-09-28 2008-04-03 Sandisk Il Ltd. Devices and methods for a device-mapping connectivity hub
JP5955936B2 (ja) * 2014-12-16 2016-07-20 株式会社日立製作所 半導体装置
CN105243033B (zh) * 2015-09-28 2018-05-25 北京联想核芯科技有限公司 数据处理方法及电子设备
CN107102822B (zh) * 2017-04-27 2020-01-03 杭州迪普科技股份有限公司 一种数据回写方法及装置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0273854A (ja) 1988-09-08 1990-03-13 Asahi Chem Ind Co Ltd 自動車用フエイシヤー
JPH04102154A (ja) 1990-08-21 1992-04-03 Nec Corp 情報処理装置
US5500808A (en) * 1991-01-24 1996-03-19 Synopsys, Inc. Apparatus and method for estimating time delays using unmapped combinational logic networks
US5610841A (en) * 1993-09-30 1997-03-11 Matsushita Electric Industrial Co., Ltd. Video server
US5533204A (en) * 1994-04-18 1996-07-02 Compaq Computer Corporation Split transaction protocol for the peripheral component interconnect bus
JPH0863427A (ja) 1994-08-19 1996-03-08 Fuji Xerox Co Ltd データ処理装置
US5555383A (en) * 1994-11-07 1996-09-10 International Business Machines Corporation Peripheral component interconnect bus system having latency and shadow timers
JPH0981507A (ja) * 1995-09-08 1997-03-28 Toshiba Corp コンピュータシステム
US5748914A (en) * 1995-10-19 1998-05-05 Rambus, Inc. Protocol for communication with dynamic memory
US5708814A (en) * 1995-11-21 1998-01-13 Microsoft Corporation Method and apparatus for reducing the rate of interrupts by generating a single interrupt for a group of events
US5768544A (en) * 1996-09-26 1998-06-16 Intel Corporation Deterministic latency characterization and mitigation
US6021483A (en) * 1997-03-17 2000-02-01 International Business Machines Corporation PCI-to-PCI bridges with a timer register for storing a delayed transaction latency
US5884052A (en) * 1997-07-14 1999-03-16 Vlsi Technology, Inc. Smart retry mechanism to program the retry latency of a PCI initiator agent

Also Published As

Publication number Publication date
JPH10293744A (ja) 1998-11-04
US6282598B1 (en) 2001-08-28
EP0872799A2 (en) 1998-10-21
EP0872799A3 (en) 2002-07-24
CN1197238A (zh) 1998-10-28
KR19980081526A (ko) 1998-11-25

Similar Documents

Publication Publication Date Title
KR100267130B1 (ko) Pci 버스 시스템
US4602327A (en) Bus master capable of relinquishing bus on request and retrying bus cycle
US6496890B1 (en) Bus hang prevention and recovery for data communication systems employing a shared bus interface with multiple bus masters
JP3604398B2 (ja) 並列パケット化されたモジュール期調停高速制御およびデータバス
US4737932A (en) Processor
US5555383A (en) Peripheral component interconnect bus system having latency and shadow timers
EP0870239B1 (en) Burst-broadcasting on a peripheral component interconnect bus
JP2561759B2 (ja) マルチプロセッサシステムおよびそのメッセージ送受信制御装置
US5584033A (en) Apparatus and method for burst data transfer employing a pause at fixed data intervals
KR100644596B1 (ko) 버스 시스템 및 그 버스 중재방법
US6606677B1 (en) High speed interrupt controller
JP2004334552A (ja) バス接続回路及びバス接続システム
EP1811393B1 (en) Method and system for data transfer
US6115767A (en) Apparatus and method of partially transferring data through bus and bus master control device
JP4583590B2 (ja) バストランザクションにおける制御チップセットのアービトレーション
RU2155375C2 (ru) Устройство и способ обработки данных
JP4037788B2 (ja) 制御チップセット間の信号送信デバイス
JP2734246B2 (ja) パイプラインバス
US6775717B1 (en) Method and apparatus for reducing latency due to set up time between DMA transfers
JP2007058716A (ja) データ転送バスシステム
JP3377797B2 (ja) 複数のデータ処理エージェントの間でデータを転送するバスにおいて、第1のエージェントがサービスの必要を第2のエージェントへ知らせる方法
JPH1125036A (ja) 調停システム、およびアクセスを調停する方法
KR100340815B1 (ko) 버스시스템의작동방법및이작동방법을수행하기위한장치
JP2972491B2 (ja) バス制御機構及び計算機システム
JPH0786865B2 (ja) 多重プロセッサ・レベル変更同期装置

Legal Events

Date Code Title Description
A201 Request for examination
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 19980418

PA0201 Request for examination

Patent event code: PA02012R01D

Patent event date: 19980418

Comment text: Request for Examination of Application

PG1501 Laying open of application
E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20000608

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20000703

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20000703

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
LAPS Lapse due to unpaid annual fee
PC1903 Unpaid annual fee