KR100516538B1 - 통신버스시스템 - Google Patents
통신버스시스템 Download PDFInfo
- Publication number
- KR100516538B1 KR100516538B1 KR10-1998-0707116A KR19980707116A KR100516538B1 KR 100516538 B1 KR100516538 B1 KR 100516538B1 KR 19980707116 A KR19980707116 A KR 19980707116A KR 100516538 B1 KR100516538 B1 KR 100516538B1
- Authority
- KR
- South Korea
- Prior art keywords
- station
- requesting
- execution
- packet
- request
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40052—High-speed IEEE 1394 serial bus
- H04L12/40058—Isochronous transmission
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
- G06F13/124—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
- G06F13/126—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine and has means for transferring I/O instructions and statuses between control unit and main processor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40052—High-speed IEEE 1394 serial bus
- H04L12/40065—Bandwidth and channel allocation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40052—High-speed IEEE 1394 serial bus
- H04L12/40117—Interconnection of audio or video/imaging devices
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B1/00—Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
- H04B1/06—Receivers
- H04B1/16—Circuits
- H04B1/20—Circuits for coupling gramophone pick-up, recorder output, or microphone to receiver
- H04B1/205—Circuits for coupling gramophone pick-up, recorder output, or microphone to receiver with control bus for exchanging commands between units
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Small-Scale Networks (AREA)
Abstract
요청국들은 버스를 통해 요청 패킷들을 발행할 수 있다. 실행국은 요청 패킷들을 수신하며, 다른 국들로부터의 요청 패킷들에 응답하여 실행국의 상태의 동일한 양태를 변경하는 명령들을 실행한다. 실행국은 모든 다른 요청국들에 대한 요청 패킷들에 응답하여 최종 실행된 명령들의 실행에 관련한 정보를 유지한다. 요청국들은 다른 요청국들 또한 요청 패킷들을 발행하는 중인 경우에도 그들의 패킷들에 대응하는 명령들이 실행되는지의 여부를 결정하도록 상기 정보를 판독할 수 있다. 가급적이면, 실행국은 자신의 요청 패킷들에 응답하여 실행된 명령들의 실행에 대한 정보만을 각각의 요청국에 보여준다.
Description
본 발명은 청구항 제1항의 전특징부를 따르는 통신 버스 시스템에 관한 것이다.
본 발명은 또한 상기와 같은 통신 버스 시스템에서 사용하는 실행국(execution station)에 관한 것이다.
IEEE 1394의 버스 시스템은 TV 세트 및 비디오레코더 등의 국들을 접속시키는데 응용될 수 있는 통신 버스 시스템이다(이하, 1394 시스템이라 언급한다). IEEE 1394 표준의 제 8 장에는 실행국이 다수의 제어 상태 레지스터(CSR)를 구비하고 있는 것에 대해 기술되어 있다. 복수의 상기 CSR들의 내용들은 복수의 요청국들 모두로부터의 요청 패킷에 응답하여 변경될 수 있다.
에러 방지를 위해, 요청 패킷을 전송하는 요청국은, 특히 명령의 반복 실행의 효과가 한번 실행의 효과와는 상이한 경우(예, "TV 채널수를 증가"하라는 명령 또는 "캐패시티를 확보"하라는 명령의 경우에), 명령이 실제로 실행되었는지의 여부를 신뢰성 있게 판정할 수 있어야 한다. 명령의 실행에 의해 영향을 받고 요청국으로부터의 명령에 의해 판독이 가능해지는 상태 레지스터를 실행국이 포함하고 있는 경우, 원칙적으로 상기 상태 레지스터의 내용을 검증함으로써 명령이 실행되었는지의 여부를 판정하는 것이 가능하다. 그러나, 실행을 검출하기 위하여 상태 레지스터의 내용을 검증하는 것은, 버스 시스템이 동일한 상태 레지스터에 영향을 주는 명령과 함께 요청 패킷을 전송할 수 있는 하나 이상의 요청국을 포함하는 경우에 신뢰성있게 동작하지는 않는다.
1394에 있어서, 명령의 실행 이후의 실행국은, 명령이 실행된 것에 응답하여 요청 패킷을 송출한 요청국으로 응답 패킷을 돌려보낸다. 이것에 의해 요청국은 명령이 실행되었는지의 여부를 판정할 수 있게 되지만, 요청국이 응답 패킷을 수신하지 못하는 경우에는 동작되지 않는다.
도 1은 본 발명의 통신 버스 시스템을 도시하는 도면.
본 발명의 목적은 명령들이 실제로 실행되었는지의 여부를 판정하는 보다 신뢰성 있는 방법을 제공하기 위한 것이다.
본 발명에 의하면, 본 발명을 따르는 통신 버스 시스템은 청구항 제1항의 특징부에 특징지어진다. 각각의 특정 요청국은 명령 실행 정보를 판독함으로써 요청받은 명령이 실행되었는지의 여부를 검증할 수 있다. 다른 요청국에 의해 요청 받은 명령의 나중 실행은 상기 특정 요청국에 대한 명령 실행 정보에 영향을 미치지 않고, 따라서 검증의 신뢰성에도 영향을 주지 못한다.
본 발명을 따르는 통신 버스 시스템은 청구항 제6항에 기재된 바와 같은 실시예를 갖는다. 이 실시예에서, 특정 요청국은 상이한 종류의 명령의 실행을 요청하는 복수 개의 요청 패킷을 발행하여 모든 요청 패킷이 발행된 이후에 해당 명령이 실행되었는지의 여부를 판정할 수 있다. 이것은 요청 패킷이 검증으로 인한 중단 없이도 간섭성 동작처럼 차례대로 신속하게 발행될 수 있음을 의미한다. 1394 시스템에 있어서, 각각의 명령 유형은 예를 들면 상이한 CSR에 영향을 미치고, 통신 버스 시스템은 상기 특정 요청국이 요청한 각각의 CSR의 최종적으로 실행된 변경에 대한 각각의 특정 요청국의 정보를 유지한다.
여러 형태의 명령 실행 정보가 저장될 수도 있다. 요청국이 각 패킷에 각각의 패킷 식별부를 포함하는 경우, 저장된 명령 실행 정보는 상기 패킷 식별부를 포함할 수도 있다. 이것은 언제든지 임의의 명령의 실행을 점검할 수 있게 한다. 저장된 명령 실행 정보는, 명령 실행 직후의 실행국의 상태 또는 실행에 의해 생성된 결과에 대한 정보를 포함할 수도 있다. 이것에 의해서 요청국은 세밀하게 임의의 원하는 양으로, 예를 들면 실행국으로부터의 표준 응답에서보다 더 세밀하게 명령의 실행을 분석할 수 있게 된다. 이러한 모든 명령 실행 정보는 실행국에 의해 수신된 모든 요청 패킷, 또는 명령이 가장 최근에 실행된 소정 수의 요청 패킷을 위해 저장되어 유지될 수도 있다. 따라서 보다 오래된 명령 또한 분석될 수 있다.
명령 실행 정보는 여러 방식으로 저장된다. 각각의 소정의 저장 영역은 각각의 요청국에 대해 실행국에서 할당된다. 특정 요청국으로부터의 요청 패킷에 응답하여 명령이 실행되는 경우, 실행국은 상기 특정 요청국에 할당된 저장 영역에 저장된 명령 실행 정보를 오버라이트(overwrite)하기 위해 상기 실행에 대한 명령 실행 정보를 이용한다. 따라서, 저장 영역은 항상, 상기 특정 요청국을 위한 가장 최근의 실행 명령에 대한 명령 실행 정보, 또는 임의의 요청 패킷을 수신하기 전에 실행국에 의해서 저장된 초기화 정보를 포함한다. 각각의 특정 요청국에 할당된 저장 영역은 상이한 유형의 명령을 위해 저장 서브영역으로 세분되며, 실행국은 실행중인 명령에 대한 저장 서브영역만을 오버라이트한다.
양호한 실시예에서, 각각의 요청국을 위해 명령 유형마다 단 하나의 논리 비트가 저장된다. 실행국이 특정 요청국으로부터 수신된 요청 패킷에 응답하여 명령을 성공적으로 수행한 경우, 실행국은 그 특정 요청국에 대해 논리 비트를 설정한다(하나 이상이 명령 유형이 기록되는 경우에는 실행국이 명령 유형에 대한 논리 비트를 설정한다). 이 경우에 있어서, 가급적이면 특정 요청국으로부터의 신호에 응답하여, 실행국은 또한 논리 비트를 재설정할 수 있어야 한다. 1394 시스템에서, 특정 요청국으로부터의 신호는 예를 들어 특정 요청국이 논리 비트에 의해 변경 사항이 기록되는 CSR을 독출하는 경우에 생성된다.
명령 실행 정보의 독출은 가급적이면 버스 상호접속을 통해서 요청국에 의해 실행국에 전송된 독출 패킷에 의해서 기동된다. 이 독출 패킷에 응답하여, 실행국은, 독출 패킷을 발행하는 요청국을 결정하고, 그 요청국을 위해 저장된 명령 실행 정보를 독출하며, 상호 접속 버스를 통해 그 명령 실행 정보의 제어하에 도출된 상태 패킷을 그 요청국에 전송한다.
가급적이면 명령 실행 정보의 저장은 실행 장치에 의해 응답 패킷의 전송과 결합되어 있다. 이것에 의해서 요청국에는 응답 패킷이 수신되지 않은 경우에 명령의 중대한 실행을 체크하는 선택이 부여된다.
본 발명의 상기 및 기타 다른 이점이 되는 양태에 대해 본 발명에 의한 통신 버스 시스템을 도시하는 도 1을 이용하여 비제한적인 방식으로 기술한다.
통신 버스 시스템은 실행국(B), 요청국(A, 14), 상호 접속 버스(12)를 포함한다. 실행국(B)은 패킷 수신/해석 장치(102), 명령 실행 장치(104), 명령 실행 정보 메모리(106), 패킷 생성/전송 장치(108)를 포함한다.
통신 버스 시스템은 예를 들어 IEEE 1394 표준에 명시된 프로토콜을 사용한다. IEEE 1394 High Speed Serial Bus는 임의의 액세스가능 메모리 위치 또는 기타 다른 국(A, B, 14)의 제어 및 상태 레지스터(CSR)에 대해 자동 판독 변경 기록 동작을 버스(12) 상에서의 임의의 장치(국)(A, B, 14)가 판독하거나 기록하거나 실행시킬 수 있는 트랜젝션 메카니즘(transaction mechanism)을 이용한다. CSR이 맵(mapped)된 메모리이기 때문에 1394의 메모리 및 CSR 사이에는 차이가 없다.
국(A)에게 국(B)에 대한 트랜젝션을 행하도록 시키면, 통상적인 순서는 다음과 같다. 즉, 국(A)이 요청 패킷을 국(B)에 전송하고, B는 수신 통지를 다시 전송하며, 그 다음으로 요청된 기능을 실행하고(시간이 소용됨)나서, 실행에 대한 소정의 상태 또는 그 기능의 결과를 포함하는 응답 패킷을 전송하며, 그 후에는 A는 다시 B로 응답 패킷에 대한 수신 통지를 전송하는 것이다.
요청 패킷 및 응답 패킷은 전송자(A는 요청, B는 응답), 정해 놓은 수신자(B는 요청, A는 응답), A로부터 B로의 이 트랜젝션을 위한 순차 번호, 및 데이터(기능, 결과, 상태 등)의 식별부를 포함한다. 이들 패킷은 또한 CRC 에러 검출 코드에 의해 보호되며, 수신기가 패킷 손상을 검출할 수 있게 한다.
통지 패킷은 위의 어떠한 라벨, 상태 정보, 및 극히 간단한 에러 검출 코드도 포함하지 않는다.
패킷(요청/응답/통지)이 손상되거나 무슨 이유든지 버스 상에서 손실될 수 있는 경우에 CSR을 변경하는 트랜젝션에 있어서 문제점이 발견되었다. 이 문제점은 요청자(A) 및 응답자(B)에 대한 CSR의 상태(및 그 부수적 효과)에 관한 정보의 불일치의 원인이 된다.
제 1 예
국(B)은 등시성 데이터 전송을 위한 사용 가능한 대역폭을 나타내는 전체 버스 리소스(resource)를 유지한다. 국(A)은 상기 대역폭중 약간의 대역폭을 할당하고자 하여, 소위 비교 교환 잠금 기능을 포함하는 B에 요청 패킷을 전송한다. B는 요청된 양만큼 사용 가능한 대역폭의 양을 감소시키고자 한다. B가 A에 다시 전송하는 응답 패킷은, 할당이 잘 행해졌는지의 여부 및 이에 따라 A가 현재 대역폭을 점유하여 그것을 사용하고 있는지의 여부를 나타낸다. 요청은 에러 없이 B에 도달되어 실행되며 A에 대한 대역폭 설정이 행해진다고 가정한다. 응답 패킷은 A로 다시 전송되지만, B에 의해 재전송이 가능해도 결코 그것을 수신하지 않는다. A는 대역폭이 승인되었는지의 여부를 알지 못하며 그것을 결코 할당 해제하지 않는다. 단순히 요청된 양은 등시성 데이터를 위해 더 이상 사용가능하지 않게 된다.
제 2 예
국(B)은 CSR을 시행시키는 TV 장치이다. CSR은 기록 시에 다음 채널을 선택한다. A가 기록 트랜젝션을 B에 전송하여 다음 채널로 전환하지만, 명령이 실제로 실행되었는지의 여부를 알지 못하는 경우에는 어떤 이상이 있다고 추정하여 명령을 다시 실행시키려고 결정할 것이다. TV 국(B)은 "채널업" 기능을 2회 실행했고 이제 틀린 채널을 보여주는 것이 가능하다.
CSR을 변경하지 않고 어떠한 다른 부수적 효과도 갖지 않는 트랜젝션은 이 문제점으로 인해서 행하여지지 않는다. 그 이유는 요청자가 어떤 이상이 있음을 알게 되는 경우에 안전하게 재시도될 수 있기 때문이다. CSR을 변경하고 부수적 효과를 갖는 트랜젝션에 의해서 하나의 장치(제 2 예) 또는 전체 버스의 기능 불량(제 1 예)에 대한 바람직하지 못한 결과가 생길 수 있다.
요청자가 요청의 결과를 알아내는 유일한 방법이 응답을 수신하는 것에 의한 것이라는 사실에 의해서 주로 문제가 발생된다. 응답이 손실되는 경우에는 응답국으로부터 정보를 나중에 검색하는 방법이 없다. 변경되어야 하는 CSR을 판독하는 것이 해결책은 아니다. 왜냐하면 다른 국이 평균 시간 동안에 변경될 수도 있고 또는 그것을 판독하는 것이 바람직하지 않은 부수적인 효과를 가질 수도 있기 때문이다.
네트워크에서의 에러로 인해서 다음과 같은 "상태"가 트랜젝션 이후에 존재한다.
S1 : 트랜젝션은 실행되었고 요청자가 그것을 알고 있다.
S2 : 트랜젝션은 비실행되었고 요청자가 그것을 알고 있다.
S3 : 트랜젝션은 실행되었지만 요청자가 그것을 알고 있지 못하다.
S4 : 트랜젝션은 비실행되었지만 요청자가 그것을 알지 못한다.
여기서, "실행되었다"라는 것은 CSR 값이 변경된 것과 상관없이 트랜젝션에 해당되는 기능이 실행되었음을 의미한다.
요청자에 대해 S3 및 S4는 구별될 수 있는 것이 아니다. 즉, 요청자는 단순히 요청의 실행 여부를 알지 못한다. 이것들은, 트랜젝션이 CSR 값의 변화를 일으킨 유형인 경우 또는 다른 부수적 효과를 가진 경우에 문제가 되는 경우이다. S1 및 S2는 요청자에 의해 직접 처리될 수 있어 문제가 되지 않는다.
이런 문제에 대한 해결책으로 다음과 같은 개념이 있다.
상기 문제점이 방지될 필요가 있는 CSR을 실행하는 임의의 실행국은 가급적이면 외부 국으로부터 수신되어 실행된 트랜젝션의 결과 또는 상태를 성공적으로 되든 안되든 저장하므로 상기 국에 의해 나중에 검색된다. 이 목적을 위해 실행국(10)은 명령 실행 정보 메모리(106)를 포함한다. 동작 시에 패킷 수신/해석 장치(102)는 버스(12)로부터 패킷을 수신하여 다음과 같이 해석한다. 먼저, 패킷 수신/실행 장치(102)는 패킷이 정해놓은 수신기로서 실행국(10)을 지정하는지의 여부를 결정한다. 만일 그렇게 하는 경우, 패킷 수신/실행 장치(102)는 명령이 실행되어야 함을 결정하는 패킷으로부터 정보를 추출하여 이 정보를 명령을 실행시키는 명령 실행 장치(104)에 발행한다. 실행의 결과는 패킷 수신/실행 장치(102)가 명령이 실행되었음을 나타내는 경우에 명령 실행 정보 메모리(106)에 출력되어 메모리(106)에 저장된다.
실행국(10)은 가급적이면 임의의 요청국에 의해 판독 요청 트랜젝션에 따라 액세스될 수 있는 CSR 공간에서 ESR(Error Status Register)을 규정하고 명령 실행 정보 메모리(106)의 정보를 액세스한다. 따라서, 이러한 국은 그것의 앞서 요청된 트랜젝션의 상태를 판독할 수 있다. ESR을 판독하는 것은 부수적 효과를 갖지 못한다. 요청국의 상태는 기록 요청 트랜젝션을 사용하는 (기록된 데이터와는 무관하게) ESR에 대해 요청국으로 하여금 기록하게 함으로써 소거할 수 있다. 요청국은 단지 이 메카니즘을 이용하는 그 자체의 트랜젝션에 대한 상태 정보를 소거할 수 있을 뿐이다.
1394 시스템에 있어서, 각각의 요청에 요청국의 식별자가 포함되어 있다는 사실에 의해 이러한 트랜젝션에 대한 응답자(및 실행자)는 트랜젝션을 식별하는 라벨(즉, 트랜젝션의 어드레스 라벨 및 트랜젝션 순차 번호)과 함께 상태 정보를 기록할 수 있게 한다. 이 정보 또한 응답 패킷으로 되돌려진다.
전술한 상태 S3 및 S4 간의 차이는 응답국에서 유용성이 있으며 상기 상태들중 한 상태로 끝나는 경우에 요청자에 의해서 나중의 검색을 위해 상기되어진다.
버스 상의 모든 국이 하나의 특정 국의 한 CSR에 트랜젝션을 독립적으로 발행할 수 있기 때문에 그 국은 각각의 국에 대한 트랜젝션의 상태를 기억하고 있어야 한다. 소정의 국이 나중에 ESR을 판독하는 경우에, 그것은 다른 국에 의해 요청된 것이 아닌 자신의 트랜젝션에 대한 상태만을 얻는다.
실시예들
A. 상태의 저장(저장량의 정도)
A1. 가장 일반적인 실행에 있어서, 국은 모든 국의 모든 특이하게 식별 가능한 트랜젝션을 기억해낸다. IEEE 1394에 있어서 국 어드레스는 16 비트이고 트랜젝션 순차 번호는 6비트이다. 이것은 2^22 상태 값이 저장되어야 하는 경우에 최악의 경우의 상황의 원인이 된다.
A2. 이러한 저장 설비를 실제로 실행시키는 것은 불필요하다. 단지 실제 트랜젝션을 위한 데이터만이 저장되어야 하며, 이것은 훨씬 적다고 예상된다(표시 : 매우 높은 종료 실행을 위해 수 천 개까지).
A3. 보다 간단한 저장 방법은 국 당 예상되는 LAST 트랜젝션의 상태를 저장하여 이것을 브리지를 통해 접속된 다른 국들이 아닌 로컬 버스 상의 국만을 위해 지원하는 것이다. 이것에 의해서 위치가 62개 이하로 저장 필요 조건이 감소된다.
B. 상태의 표시(저장 대상)
B1. 가장 일반적인 실행은 트랜젝션의 전체 결과 상태를 저장한다. 즉, 원래의 요청 패킷이 수신되었다면 후속 사건에 대한 정보는 유효하다: 시행 유무, 비실행 이유, 응답 패킷의 전송 에러 등. IEEE 1394의 경우에, 그것은, 요청자가 결정해야 하는데 필요한 모든 여분의 정보와 함께, 응답 패킷으로 요청자에 전송되도록 하는 원래의 응답 코드를 기록하는데 충분하다: 예를 들면 잠금 트랜젝션(응답 코드에 나타나 있지 않음)에서 변경된 CSR, 또는 실행된 CSR에 대한 요청의 부수 효과.
B2. 보다 간단한 실행은 응답 패킷(앞서 나타낸 바와 같이 S3 또는 S4)을 되돌려 보내기 위해 개시하는 경우에 응답자의 개념적인 상태에 관한 정보만을 기록함으로써 충분하며, 그 밖엔 아무 것도 아니다. 이것은 트랜젝션 당 메모리의 1비트만을 필요로 한다. 특히 선택 A3과 결합하여 저장 필요 조건은 최소 한도가 된다. 그러나, 트랜젝션을 특징적으로 식별하는 원래의 라벨을 기억하고 있지 못하기 때문에, 국 X에 대해 현재 기억하고 있는 상태가 국 X의 최종 전송된 요청 패킷에 속하는 경우에는 명확하지 않다(요청 패킷이 손실되면 그 상태는 국 X로부터 앞서 수신된 요청의 결과를 계속 반영한다). 이 실행을 위해 에러 상태는 안전하지 못한 새로운 트랜젝션(그 상태에 이미 없는 경우에만)을 시도하기 전에 안전한 값(개념적 상태 S4에 대응됨)으로 처리되어야 한다. 이것을 최소 한도의 오버헤드로 처리하는 방법은, 보호된 CSR에 대한 부수적인 효과가 없는 어떠한 트랜젝션도 기록된 상태를 S4로 변화시키는 것을 규정하는 것이며, 이것은 "최종 수신된 트랜젝션으로 인한 부수적 효과 없음"이라고 해석된다. IEEE 1394에서 판독 트랜젝션은 통상적으로 부수적 효과를 갖지 않는다. 이와 동시에 그것은 비교 교환 잠금 트랜젝션에 필요한 데이터 값들중 한 값을 얻는 표준 방식이다. 즉, 이 메카니즘은 상기 종류의 CSR을 보호하기 위해 IEEE 1394에서의 실행에 매우 적합하게 된다.
C. 상태 액세스(유효하게 하는 방법)
상태를 유효하게 하는 실행은 임의의 형태를 취할 수 있지만 표준화되어야 한다(액세스 방법, 정보를 되돌려보내는 포맷, 각각의 ESR에 대응되는 국 오프셋 어드레스).
C1. 가장 일반적인 해결책은, 소정의 국이 IEEE 1212 및 IEEE 1394 아키텍처에서 규정된 CSR인 ESR(Error Status Register)이라 불리는 특별히 도입된 새로운 상태 레지스터에 대한 판독 트랜젝션(부수적 효과 없음)을 이용하여 소정의 국(자신 및 다른 국)의 트랜젝션 상태를 검색할 수 있는 경우이다. 판독 트랜젝션의 데이터는 원하는 상태에 대해 액세스하도록 저장에 있어서의 인덱스에 이용되어야 한다. 이것은 현재의 1394 트랜젝션으로 용이하게 실행할 수 없다.
C2. C1은 불필요하게 복잡하기 때문에 임의의 국이 자체의 트랜젝션의 결과만을 액세스할 수 잇는 해결책을 찾는 것이 바람직하다. ESR의 판독 트랜젝션을 실행함으로써, 응답자는 적당한 상태값을 선택하여 판독 응답으로서 그것을 되돌려 보내도록 트랜젝션 패킷에 전송자(요청자)의 국 어드레스를 이용할 수 있다.
지난 상태로부터의 트랜젝션이 되돌려보내져야 하는 정보는 ESR이 어드레스의 범위를 점유하지 않는다면 판독 트랜젝션 패킷에 포함될 수 없으며 어드레스는 인덱스로서 이용된다. 이것은 ESR이 많기 때문에 바람직하지 않으며, 이 각각의 ESR은 단 하나의 다른 CSR(어드레스)를 보호한다. 선택적인 것은 모든(63개까지) 이전 트랜젝션에 대한 상태를 되돌려 요청자로 하여금 적당한 것을 선택하도록 하는 것이다.
C3. 한층 더한 단순화가 A3와 결합하여 가능하다. 최종 트랜젝션의 상태만이 저장되는 경우에 C2에 언급된 문제점은 방지되며 하나의 어드레스 ESR이면 충분하다. 패킷 크기 및 오버헤드는 이 경우에 최소 한도로 된다.
C4. B2 및 A3와 결합하여 매우 간단한 실행은, 비트 k가 잠금 국 k에 의해 행하여진 최종 트랜젝션의 상태를 나타내는 63비트 레지스터로서 ESR을 실행시키는 것이다. 논리 0은 "부수적 효과 없음/비실행"을 나타내는데 이용되고, 논리 1은 "CSR 변경/부수적 효과"나타낸다. 이것은 가장 간단한 것이며 아마도 가장 선택 가능성이 있는 실행 후보이다.
Claims (10)
- 버스;상기 버스에 연결되어, 상기 버스를 통해 각각의 요청 패킷을 각기 발행할 수 있는 요청국들;상기 버스에 연결되어 각각의 요청 패킷들을 수신하는 실행국을 포함하며, 상기 실행국은 상기 각각의 요청 패킷들 각각의 수신 시에 각각의 명령을 실행하며, 상기 각각의 명령들은 실행국의 상태의 공통 양태를 변경하고, 상기 실행국은 상기 공통 양태에 관한 정보를 유지하고, 상기 요청국들은 공통 양태에 관한 상기 정보로부터 판독 가능한, 공통 버스 시스템에 있어서,상기 공통 양태에 관한 상기 정보는 상기 요청국들중 적어도 두 개의 다른 요청국들 각각으로부터의 각 요청 패킷들에 응답하여 최종 실행된 각각의 명령들의 실행에 관련하는 상기 요청국들중 적어도 두 개의 다른 요청국들에 대한 정보를 동시에 포함하는 것을 특징으로 하는, 통신 버스 시스템.
- 제 1 항에 있어서,상기 요청국들은 각각의 독출 패킷들을 상기 실행국에 발행 가능하며,각각의 독출 패킷은 그 독출 패킷을 전송한 특정 요청국을 식별하는 정보를 포함하고, 상기 실행국은,- 상기 특정 요청국으로부터의 요청 패킷에 응답하여 최종 실행된 명령의 실행에 관련한 정보를 선택하는 단계와,- 상기 선택된 정보를 이용하여 상태 패킷을 구성하는 단계와,- 상기 상태 패킷을 되돌려 보내는 단계에 의해서, 상기 독출 패킷에 응답하는 것을 특징으로 하는, 통신 버스 시스템.
- 제 1 항에 있어서,상기 실행국은 특정 요청국으로부터의 각각의 요청 패킷들중 이전의 요청 패킷에 응답하여 실행된 명령의 실행에 관련된 정보를, 상기 특정 요청국으로부터의 각각의 요청들중 나중의 요청에 응답하여 실행된 명령의 실행과 관련한 정보로 오버라이트하는 것을 특징으로 하는, 통신 버스 시스템.
- 제 1 항에 있어서,상기 각 명령들의 실행에 관련한 상기 정보는 요청국들 각각의 상기 적어도 두 개의 다른 요청국들의 각 요청국에 대한 정보의 비트를 포함하고, 상기 실행국은 해당 요청국으로부터의 요청 패킷에 응답하여 명령이 성공적으로 실행되는 경우에 상기 비트를 설정하는 것을 특징으로 하는, 통신 버스 시스템.
- 제 4 항에 있어서,상기 명령들은 레지스터의 내용을 변경하면, 정보의 상기 비트는 상기 내용이 상기 해당 요청국에 의해 판독되는 경우에 재설정되는 것을 특징으로 하는, 통신 버스 시스템.
- 제 1 항에 있어서,상기 실행국은 여러 다른 유형들의 명령을 실행할 수 있으며, 각 유형의 명령은 실행국의 상태의 고유 양태를 변경하고, 각각의 요청국은 여러 유형들의 요청 패킷들을 발행할 수 있고, 각 유형의 요청 패킷은 상기 여러 유형들의 명령의 각각의 것의 실행을 요청하며, 상기 실행국은 특정 요청 패킷에 의해 요청된 유형의 명령을 그 특정 요청 패킷의 수신 시에 실행하고, 응답국은 요청국들중 적어도 두개의 다른 요청국들로부터의 각각의 요청 패킷들에 응답하여 최종 실행된 유형의 각각의 명령들의 실행에 관련한 각 유형의 명령에 대한 명령 실행 정보를 동시에 유지하는 것을 특징으로 하는, 통신 버스 시스템.
- 버스와의 접속을 위한 실행국으로서, 상기 실행국은 상기 버스를 통해서 다른 요청국들로부터의 각각의 요청 패킷들을 수신하도록 배열되며, 상기 실행국은 상기 각각의 요청 패킷들 각각의 수신시에 각각의 명령을 실행하고, 상기 각각의 명령들은 실행국의 상태의 공통 양태를 변경하고, 상기 실행국은 상기 공통 양태에 관련한 정보를 유지하고, 상기 요청국들은 상기 공통 양태에 관련한 상기 정보로부터 판독 가능한, 상기 실행국에 있어서,상기 공통 양태에 관한 상기 정보는 요청국들중 적어도 두 개의 다른 요청국들 각각으로부터의 각 요청 패킷들에 응답하여 최종 실행된 각각의 명령들의 실행에 관련하는 요청국들중 적어도 두 개의 다른 요청국들에 대한 정보를 동시에 포함하는 것을 특징으로 하는, 실행국.
- 제 7 항에 있어서,상기 요청국들은 각각의 독출 패킷들을 실행국에 발행 가능하며,각각의 독출 패킷은 그 독출 패킷을 전송한 특정 요청국을 식별하는 정보를 포함하고, 상기 실행국은,- 그 특정 요청국으로부터의 요청 패킷에 응답하여 최종 실행된 명령의 실행에 관련된 정보를 선택하는 단계와,- 상기 선택된 정보를 이용하여 상태 패킷을 구성하는 단계와,- 상기 상태 패킷을 되돌려 보내는 단계에 의해서, 상기 독출 패킷에 응답하는 것을 특징으로 하는 실행국.
- 제 7 항에 있어서,특정 요청국으로부터의 각각의 요청 패킷들중 이전의 요청 패킷에 응답하여 실행된 명령의 실행에 관련된 정보를, 그 특정 요청국으로부터의 각각의 요청들중 나중의 요청에 응답하여 실행된 명령의 실행과 관련한 정보로 오버라이트하는 것을 특징으로 하는 실행국.
- 제 7 항에 있어서,상기 각각의 명령들의 실행에 관련한 상기 정보는 요청국들 각각의 상기 적어도 두 개의 다른 요청국들의 각 요청국에 대한 정보의 비트를 포함하고, 상기 실행국은 해당 요청국으로부터의 요청 패킷에 응답하여 명령이 성공적으로 실행되는 경우에 상기 비트를 설정하는 것을 특징으로 하는, 실행국.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP97200076 | 1997-01-10 | ||
EP97200076.4 | 1997-01-10 | ||
PCT/IB1998/000018 WO1998031121A2 (en) | 1997-01-10 | 1998-01-07 | Communication bus system |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20000064575A KR20000064575A (ko) | 2000-11-06 |
KR100516538B1 true KR100516538B1 (ko) | 2005-12-01 |
Family
ID=8227926
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR10-1998-0707116A KR100516538B1 (ko) | 1997-01-10 | 1998-01-07 | 통신버스시스템 |
Country Status (6)
Country | Link |
---|---|
US (1) | US6249829B1 (ko) |
EP (1) | EP0898819B1 (ko) |
JP (1) | JP3793238B2 (ko) |
KR (1) | KR100516538B1 (ko) |
DE (1) | DE69825372T2 (ko) |
WO (1) | WO1998031121A2 (ko) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1154998C (zh) | 1998-04-10 | 2004-06-23 | 松下电器产业株式会社 | 仪器控制命令处理***及其方法 |
JP3145083B2 (ja) | 1998-08-04 | 2001-03-12 | 松下電器産業株式会社 | 伝送システム,帯域管理装置,および帯域管理方法 |
EP0996265B1 (en) * | 1998-10-21 | 2006-04-19 | Alcatel | System and method to impose execution of a predefined command, between first and second terminals |
US6434596B1 (en) * | 1999-01-29 | 2002-08-13 | Sony Corporation | Method and system for distributed queues in a multimedia network with proxies |
JP4166956B2 (ja) * | 2001-01-12 | 2008-10-15 | パイオニア株式会社 | データ伝送システム、コネクション確立方法及び情報伝送装置 |
US7487505B2 (en) * | 2001-08-27 | 2009-02-03 | Intel Corporation | Multithreaded microprocessor with register allocation based on number of active threads |
US7225281B2 (en) * | 2001-08-27 | 2007-05-29 | Intel Corporation | Multiprocessor infrastructure for providing flexible bandwidth allocation via multiple instantiations of separate data buses, control buses and support mechanisms |
US6738831B2 (en) * | 2001-12-12 | 2004-05-18 | Intel Corporation | Command ordering |
US7610451B2 (en) * | 2002-01-25 | 2009-10-27 | Intel Corporation | Data transfer mechanism using unidirectional pull bus and push bus |
US7337275B2 (en) * | 2002-08-13 | 2008-02-26 | Intel Corporation | Free list and ring data structure management |
KR20070010152A (ko) * | 2004-04-26 | 2007-01-22 | 코닌클리케 필립스 일렉트로닉스 엔.브이. | 트랜잭션을 발행하기 위한 집적 회로 및 방법 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR940001560B1 (ko) * | 1991-11-27 | 1994-02-24 | 삼성전자 주식회사 | 콤퓨터 시스템 |
US5961623A (en) * | 1996-08-29 | 1999-10-05 | Apple Computer, Inc. | Method and system for avoiding starvation and deadlocks in a split-response interconnect of a computer system |
US5953511A (en) * | 1997-04-08 | 1999-09-14 | National Instruments Corporation | PCI bus to IEEE 1394 bus translator |
US6088728A (en) * | 1997-06-11 | 2000-07-11 | Oracle Corporation | System using session data stored in session data storage for associating and disassociating user identifiers for switching client sessions in a server |
-
1998
- 1998-01-07 US US09/142,550 patent/US6249829B1/en not_active Expired - Fee Related
- 1998-01-07 DE DE69825372T patent/DE69825372T2/de not_active Expired - Fee Related
- 1998-01-07 EP EP98900018A patent/EP0898819B1/en not_active Expired - Lifetime
- 1998-01-07 JP JP52916698A patent/JP3793238B2/ja not_active Expired - Fee Related
- 1998-01-07 WO PCT/IB1998/000018 patent/WO1998031121A2/en active IP Right Grant
- 1998-01-07 KR KR10-1998-0707116A patent/KR100516538B1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
WO1998031121A2 (en) | 1998-07-16 |
JP2000508147A (ja) | 2000-06-27 |
DE69825372T2 (de) | 2005-07-21 |
DE69825372D1 (de) | 2004-09-09 |
EP0898819B1 (en) | 2004-08-04 |
JP3793238B2 (ja) | 2006-07-05 |
US6249829B1 (en) | 2001-06-19 |
KR20000064575A (ko) | 2000-11-06 |
EP0898819A2 (en) | 1999-03-03 |
WO1998031121A3 (en) | 1998-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6286056B1 (en) | Data storage device with small computer system interface providing persistent reservations | |
EP0046486B1 (en) | Data processing apparatus | |
US5875485A (en) | Lock control for a shared main storage data processing system | |
KR920006616B1 (ko) | 멀티프로세서 시스템장치 및 그 통신방법 | |
US4115851A (en) | Memory access control system | |
US4468733A (en) | Multi-computer system with plural serial bus loops | |
KR100516538B1 (ko) | 통신버스시스템 | |
US7680129B2 (en) | Preemptive retransmission of buffered data in a network | |
FI86923C (fi) | Styrmekanism foer multiprocessorsystem | |
JPS61109164A (ja) | バス制御方法 | |
JP4132322B2 (ja) | 記憶制御装置およびその制御方法 | |
US4151598A (en) | Priority assignment apparatus for use in a memory controller | |
US4228500A (en) | Command stacking apparatus for use in a memory controller | |
US7336657B2 (en) | Inter-nodal data transfer system and data transfer apparatus | |
FI83569B (fi) | Anpassningskrets. | |
US20100030988A1 (en) | Virtualizing switch and computer system | |
US6847990B2 (en) | Data transfer unit with support for multiple coherency granules | |
JP2710587B2 (ja) | 情報処理システム | |
US5926840A (en) | Out-of-order fetching | |
US6345332B1 (en) | Bus interchange apparatus and dual system for accessing a fault information register without regard to buffer conditions | |
US6741602B1 (en) | Work queue alias system and method allowing fabric management packets on all ports of a cluster adapter | |
JPH0323026B2 (ko) | ||
JPH03118650A (ja) | キャッシュサポート構造 | |
JPS5844419Y2 (ja) | デ−タチャネル装置 | |
KR100207785B1 (ko) | Dvd 기기의 버퍼메모리 관리 장치 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
LAPS | Lapse due to unpaid annual fee |