KR910001791B1 - 동기식 버스를 갖고 있는 컴퓨터 시스템용 버스 제어 장치 및 이의 방법 - Google Patents

동기식 버스를 갖고 있는 컴퓨터 시스템용 버스 제어 장치 및 이의 방법 Download PDF

Info

Publication number
KR910001791B1
KR910001791B1 KR1019840005837A KR840005837A KR910001791B1 KR 910001791 B1 KR910001791 B1 KR 910001791B1 KR 1019840005837 A KR1019840005837 A KR 1019840005837A KR 840005837 A KR840005837 A KR 840005837A KR 910001791 B1 KR910001791 B1 KR 910001791B1
Authority
KR
South Korea
Prior art keywords
cycle
data
address
command
line
Prior art date
Application number
KR1019840005837A
Other languages
English (en)
Other versions
KR850002915A (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 KR850002915A publication Critical patent/KR850002915A/ko
Application granted granted Critical
Publication of KR910001791B1 publication Critical patent/KR910001791B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • 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/368Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control
    • G06F13/374Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control using a self-select method with individual priority code comparator
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure

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)
  • Multi Processors (AREA)
  • Information Transfer Systems (AREA)

Abstract

내용 없음.

Description

동기식 버스를 갖고 있는 컴퓨터 시스템용 버스 제어 장치 및 이의 방법
제1a도 내지 제1c도는 본 발명에 따른 상호 접속 수단으로 실시될 수 있는 여러가지 프로세서 및 장치의 구성을 도시한 블럭도.
제2도는 상호 접속 수단의 신호 구조를 도시한 도면.
제3a도 내지 제3c도는 국부 타이밍(local timing) 신호가 발생되고 상호 접속 수단에 접속된 장치들 사이의 트랜잭션을 정하는데 사용되는, 상호 접속 수단의 특정한 실시예에 사용된 여러가지 타이밍 신호를 도시한 도면.
제3d도는 중재 기능 순서를 도시한 도면.
제3e도는 BSY 및 NO ARB순서를 도시한 도면.
제4a도 내지 제4h도는 상호 접속 수단에 의해 이용된 각각의 트랜잭션 형태의 구조를 도시한 도표.
제5a도는 상호 접속 수단의 명령 코드(code)를 요약한 도표.
제5b도는 상호 접속 수단의 데이타 상태 코드를 요약한 도표.
제5c도는 상호 접속 수단의 데이타 . 길이 코드를 요약한 도표.
제6도는 응답 코드를 요약한 도표.
제7a도 내지 제7i도는 각각의 레지스터내의 여러가지 비트에 대한 특정한 이용 상태를 도시한 상호 접속 수단에 의해 이용된 기본 레지스트 셋트를 도시한 도면.
제8도는 버스의 제어를 조절하는데 이용된 BSY 및 NO ARB 라인들의 타이밍도.
*도면의 주요 부분에 대한 부호의 설명
10, 32 및 50 : 프로세서 12, 34, 54 및 56 : 메모리
14, 36 및 70 : 터미날 16, 38 및 74 : 대용량 기억 장치
18 : 상호 접속 수단 20, 30, 42, 58, 60, 68 및 78 : 통신로
22, 24, 40, 72 및 76 : 아답터 140 및 142 : 정보 송수신 장치
144 : 마스터 클럭 146 : 플립플롭
148 : AND게이트 200 : 장치-형 레지스터
202 : 제어 및 상태 레지스터 204 : 버스 오류 레지스터
206 : 오류 인터럽트 제어 레지스터 208 : 오류 벡터 레지스터
210 : 인터럽트 수신지 레지스터 212 : 인터프로세서 인터럽트 마스크 레지스터
214 : 인터프로세서 인터럽트 수신지 레지스터
216 : 인터프로세서 인터럽트 소오스 레지스터
300 : 아이들 상태 302, 304 : 트랜잭션 상태.
본 발명은 디지탈 컴퓨터 구조에 관한 것으로, 더욱 상세하게 말하자면, 프로세서, 메모리 (주기억 장치), 및 대용량 기억 장치(예를 들면, 디스크 및 테이프), 콘솔 터미날(console terminal)또는 프린터와 같은 I/O(입. 출력)장치 및 그밖의 다른 디지탈 컴퓨터 시스템에서 사용되는 장치들 상호간의 통신을 위한 상호 접속 수단에 관한 것이다.
특히, 본 발명은 통신로의 제어를 조절하기 위한 개량된 수단을 포함하는 버스 장치에 관한 것이다.
디지탈 컴퓨터 시스템 및 그 구성 부품들의 제조 가격이 감소됨에 따라, 보다 다양한 형태의 데이타 처리 장치들이 이러한 시스템내에 상호 접속된다. 이러한 데이타 처리 장치들은 속도(즉, 데이타를 수신하거나 송신할 수 있는 속도), 요구된 제어 정보, 데이타 포맷(Format)및 그밖의 다른 특성에 관련된 아주 다양한 특성을 갖고 있고, 이러한 특성 차이하에서는 이 테이타 처리 장치들이 서로 통신되어야 한다. 예를 들어, 프로세서는 종종 주기억 장치(초고속), 디스크 메모리(고속)와 같은 대용량 기억 장치, 및 프린터 (초저속)와 같은 출력 장치와 통신해야 한다. 상호 접속 수단의 중요한 특징은 서로 통신하기를 원하는 장치들의 경합 요구(Competing Demand)를 중재할 수 있는 능력에 있다. 따라서 통신로로 억세스(Acess)하기 위한 요구를 허용하는데 있어서 소정 형태의 중재가 수행되어야 하므로, 그렇지 못하면 컴퓨터 시스템의 자원 (Resource)중 소정 부분을 부당하게 소모할 수 있기 때문에 중재 프로세스는 효율적이어야 한다. 더욱이, 일반적으로 통신로를 요구하는 장치들 사이에 통신로를 할당하때 중재 프로세스가 융통성있게 소정의 측정을 제공하는 것이 바람직하다. 여러가지 장치를 통신로에 부착시키는 경우에, 특히 다중 프로세서를 통신로에 제공하는 것이 바람직하다. 여러가지 장치를 통신로에 부착시키는 경우에, 특히 다중 프로세서를 통신로에 부수적으로 부착시키는 경우에, 중재 장치에 경합 요구가 발생되어, 시스템 동작 및 융통성면에서 바람직하지 못한 제한을 받게 된다.
상호 접속 수단의 또 다른 중요한 특징은 인터럽트(Interrupt)를 어떻게 지지하느냐 하는 점이다. 인터럽트를 급속하는 방식이 종종 통신로에 장치를 부착시킬 수 있는 융통성을 상당히 제한시키게 된다.
단일 중앙 프로세서에 부착된 장치들 사이에 통신을 제공하는 것외에도, 이러한 장치들과 1개 이상의 부수적인 프로세서들 사이에서, 또한 여러개의 프로세서 자체들 사이에서 억세스하는 것이 종종 요구된다. 이러한 프로세서들 사이에서 일어나는 통신 요구 조건은 연산을 중재해야 할 필요성이 있기 때문에 상당히 복잡한 상호 접속 문제점이 추가되었다. 특히, 주의를 요하는 프로세서간의 통신에는 1개 이상의 프로세서에 캐쉬(cache)를 사용함으로써 야기되는 문제점이 있었다. 이러한 캐쉬는 캐쉬 데이타가 "유효"할 때, 즉 캐쉬 데이타가 일단 캐쉬되기 때문에 주기억 장치내에서 변경되지 않았을 때에 캐쉬로의 억세스가 일어나도록 하기 위한 적절한 단계가 취해지지 않으면 캐쉬가 프로세싱 오류(Processing Error)를 야기시킬 수 있다.
캐쉬 제어가 효율적으로 수행되지 않으면, 시스템의 전체 성능은 상당히 감소될 수 있다.
따라서, 본 발명의 목적은 디지탈 컴퓨터 시스템의 장치들간에 통신로의 제어를 조절하기 위한 개량돈 수단을 제공하기 위한 것이다.
본 발명의 또 다른 목적은 디지탈 컴퓨터 시스템에서 한 장치로부터 다른 장치로 통신로의 제어를 효율적으로 이전시키는 디지탈 컴퓨터 시스템의 장치들을 상호 접속시키기 위한 수단을 제공하기 위한 것이다.
본 발명은 본 발명과 동시에 출원되고 그 내용들이 본 출원 발명에 담겨지는 5개의 관련 출원중의 하나이다. 즉, 관련 출원으로서는 후랭크 씨. 봄바(Frank C. Bomba), 윌리엄 디. 스트랙커(William. D. Strecker)및 스테펜 알. 젠킨스(Stephen R. Jenkins) 의 1983년 9월 22일자 출원된 미합중국 특허 출원제534, 829호의 디지탈 컴퓨터 시스템에서의 통신로 제어 할당용 중재 장치, 후랭크 씨 봄바 및 스테펜 알. 젠킨스의 1983년 9월 22일자 출원된 미합중국 특허 출원 제534, 652호의 다중 프로세서 시스템용 메세지 중심 인터럽트 메카니즘, 후랭크 씨. 봄바 및 스테펜 알. 젠킨스의 1983년 9월 22일자 출원된 미합중국 특허출원 제534, 720호의 디지탈 컴퓨터 시스템에서의 통신로 제어 해제용 재시도 메카니즘 및 후랭크 씨. 봄바, 딜립 피. 반다커(Dileep P. Bhandarkar), 제이. 제이. 그레디(J. J. Grady), 스탠리 에이. 락키(Stanley A. Lackey), 제프레이 더블유. 미첼 2세 (Jr. Jeffrey W. Mitchell)및 레인하드 슈단에 의해 멀티 프로세서 시스템용 캐쉬 무효 메카니즘이다.
상세하게 말하자면 출원 발명은 통신로에 접속된 장치들에 의해 제어 통신로가 중재되는 수단에 관한 것이다. 완전한 시스템의 개개의 특성들 사이의 상호 연관 관계를 감안하여 먼저 완전한 시스템의 구조에 대해 기술하고, 이에 관련하여 본 발명의 특정한 스스템의 특성에 대해 상세하게 기술하겠다.
1. 상호 접속 수단에 관한 일반적인 설명
본 명세서에 기재된 상호 접속 수단은 상호 접속될 각각의 장치에 관련되고, 바람직하게는 장치의 일부를 각각 형성한다. 이 상호 접속 수단은 각각의 장치를 상호 접속시키는 통신로[예, 병렬 연결 버스(parallel wired bus)]상에서 신호의 송·수신을 제어한다. 상호 접속 수단은 통신로에 의해 상호 접속된 장치들 사이의 통신을 일정하게 제어한다. 이 장치들은 통신로에 대해 병렬로 접속되고, 그 동작은 통신로의 실제배치와는 무관하게 이루어진다. 통신로에 접속된 각각의 장치에는 후술하는 바와 같이 여러가지 목적은 위해 사용되는 식별 번호(ID)가 할당된다. 상호 접속 수단의 한 실시예로서는, 장치와 연결부내에 삽입된 플러그(plug)를 이용하여 식별 번호를 지정하기 위한 할당이 행해진다. 이 플러그는 슬롯트(slot)와 슬롯트 사이에서 이동될 수 있기 때문에, 장치와 이 장치가 존재하게 되는 슬롯트 사이에는 논리적인 의존성은 없다.
이 식별 신호는 시스템의 초기화 과정에서 제어 레지스터내에 적재된 다음에, 통신로에 의해 상호 접속되는 장치에 사용된다.
상호 접속 수단은 장치들 사이에 효율적인 통신을 제공하는 특정 셋트의 명령을 실시한다. 이 명령들은 다수의 상이한 동작[이후부터 트랜잭션(transaction)이라함]으로 수행되어 전송된다. 특정 트랜잭션용 동작 코드(operation code) (예를 들어, 판독, 기입, 인터럽트 등)가 명령이 전달되어 장치를 식별하고 이 명령에 관련되는 또 다른 정보와 함께 버스를 통해 다른 장치로 전송되는 명령/어드레스 싸이클 : 다음번에 통신로를 억세스하는 것이 허용되는 장치를 식별하기 위한 매입 중재 싸이클(imbedded arbitration cycle) : 및 사용자 데이타(즉, 프로세싱의 최종 목적) 또는 그 밖의 다른 정보가 전송되는 1개이상의 데이타 싸이클을 포함하는 다수의 싸이클로 트랜잭션의 각각 세분된다. 트랜잭션 신호들은 이후로는 정보 전송 유별 라인, 응답 유별 라인, 제어 유별 라인 및 전력 유별 라인이라고 하는 개개의 라인들의 그룹을 경유해 통신로를 거쳐서 전송된다. 다음에 기술할 시간 및 위상 신호 이외의, 상기한 신호들은 1개 이상의 상호 접속 수단이 이 신호들을 주장할 때마다 주장되는 것으로 검출된다. 정보 전송 유별 라인은 정보, 즉 데이타 및 패리티 코드, 전송명령, 데이타 상태 및 트랜잭션에 사용되는 그밖의 다른 정보를 포함한다. 응답 유별 라인은 긍정적 확인형태(positive conformaion)의 무오류(error-free) 수신을 제공하며, 또한 트랜잭션을 제어하거나 변경하기 위한 부수적인 응답도 제공한다. 이 오류를 모니터함으로써 시스템의 신뢰성에 상당히 기여하게 되고 대역폭을 거의 부가할 필요가 없으며, 또한 응답 장치가 정상적인 트랜잭션의 진행을 변경시킬 수 있으므로, 시스템 융통성에 크게 기여한다.
예를들어, 어떤 장치가 이 장치에 전달된 명령에 응답하는 시간에 있어서 이 명령에 의해 정상적으로 제공된 시간을 초과하여 추가적인 시간을 필요로 한다면, 이 장치는 응답할 준비가 될 때까지 (선정된 한계내에서) 트랜잭션의 수행 종료를 지연시키기 위해 1개 이상의 응답 신호를 사용하거나, 또는 당해 장치에 지금으로서는 응답할 수 없음을 통보한 다음 다른 트랜잭션을 위해 통신로를 해제(개방)시킬 수 있다.
각각의 장치에서는 상호 접속 수단에 의해 한 셋트의 제어 신호들이 발생되어 이용됨으로써 어느 한 장치로부터 다른 장치에로 통신로에 대한 억세스를 효율적이고도 순서적으로 전송시키게 된다. 부수적으로, 각각의 장치는 공통 시스템 클럭으로부터 국부 (local) 타이밍 신호를 발생시키어 동기 동작을 하게 한다. 이 신호들 뿐만 아니라, 검사 제어 신호들은 버스를 통해 개개의 라인상으로 전송된다. 최종적으로, 장치들은 시스템내의 AC 및 DC 전력의 상대를 모니터하고, 필요할 때 적절한 조치가 취해지도록 이 전력 공급원의 상태를 나타내는 신호를 제공한다.
본 명세서에 기술된 상호 접속 수단은 그 유래가 없을 정도로 강력하고도 그 용도가 다양하며, 또한 현재 이용되고 있는 대규모 집적화 기술에 의해 이 장치를 용이하고도 경제적으로 제조할 수 있다. 이것은 장치들간에 명령, 제어, 정보 및 데이타 신호들을 반송시키는데 필요한 각각의 연결부들의 수를 상당히 한정시킨 결과이고, 이 라인들 사이에서 기능을 효율적으로 선택하고 분배시킴으로써 얻어지게 되는 것이다. 그럼에도 불구하고, 상호 접속 수단은 이에 부착되는 장치들의 물리적 위치에 대해서는 전혀 제한하지 않는다. 더욱이, 이것은 다수의 장치들을 상호 접속시킬 수 있고, 단일 프로세서와 멀티 프로세서 구성에도 효율적으로 사용할 수 있다.
2. 본 발명의 양호한 실시예의 일반적 설명
본 발명에 따르면, 다른 장치와 함께 트랜잭션에 참여하기 위해 통신로의 제어를 요하는 각각의 장치는 NO ARB 제어 라인을 통제한다. NO ARB가 주장되지 않은 것이 발견될 때마다, 장치는 다음 싸이클에서 중재된다. 이 싸이클은 현재 통신로상에서 트랜잭션이 발생되고 있지 않을 때 발생하는 "아이들 (idle)"중재 싸이클이거나, 통신로상에서의 트랜잭션이 진행되는 동안에 발생하는 "매입(imbedded)"중재 싸이클일 수 있다.
중재 싸이클을 검출하면, 각각의 이러한 장치는 NO ARB 및 이 장치의 우선 순위에 대응하는 단일 라인을 주장한다. 신호들은 통신로의 데이타 라인상에서 디코드된 형태(즉, N을 제공된 상이한 우선 순위 레벨의 갯수라 할 때, N중의 어느하나) 로 주장된다. 이와 때를 같이하여, 각각의 장치는 데이타 라인들을 모니터하여 중재되는 장치들중에서 선정된 우선 순위 특성을 갖고 있는 장치인지의 여부를 스스로 결정한다. 본발명의 특정한 실시예에 있어서, 2개의 우선 순위 레벨, 즉, 고레벨 및 저레벨에서 중재가 실행된다. 또한, 각각의 레벨내에는 장치의 식별 번호에 관련하여 반전하는, 즉 식별 번호가 증가하면 부레벨 우선 순위 (sublevel priority)가 감소하는 고레벨에서 저레벨까지의 부레벨 우선 순위가 있다. 본 명세서에 기술된 바와 같이, 각각의 장치는 이 장치가 그 시간에서 통신로에 대한 억세스를 중재하는 최고 우선 순위 장치인지의 여부를 스스로 결정한다. 억세스를 요하는 최고 우선 순위 장치인지를 결정하는 장치는 통신로를 제어하기 위해 펜딩 마스터(pending master)상태를 취하고, 이 장치가 통신로를 제어할 때까지 다른 장치가 통신로의 제어를 중재하지 못하도록 NO ARB를 계속해서 주장한다. 펜딩 마스터는 이에 뒤따르는 싸이클에서 통신로를 제어할 수 있는데, 이 후속 싸이클에서 BSY가 주장되지 않으므로 현재 마스터가 된다.
본 발명에 따르면, 상이한 우선 순위 레벨에서 중재가 실시될 뿐만 아니라 상이한 모우드 (mode)에서도 실시된다. 더욱 상세하게 말하자면, 다수의 고정된 우선 순위 레벨들중 한 레벨에서, 또는 동적으로 변하는것에 기초[예를 들어, 이후에 기술될 "이중 라운드 로빈(dual round robin)" 중재 모우드로]하여 장치에 의한 중재를 확보하기 위한 모우드 제어 장치가 제공된다. 또한, 장치가 중재를 디스에이블시키도록 설정될수도 있는데, 이렇게 함으로써 이 장치가 통신로를 제어할 수 없게 한다.
중재 모우드 제어는 시스템내의 모든 장치로 억세스시킬 수 있고, 이 모든 장치에 의해 변화될 수 있는 제어 레지스터를 통해 확보된다. 그러므로, 장치에 대한 중재 모우드는 시스템의 필요에 따라 변경될 수 있다. 또한, 이중 라운드 로빈 모우드에 있어서, 통신로에 대한 억세스는 소정 기간동안 거의 동일한 억세스를 장치들에 할당하도록 하는 것에 기초하여 제공된다. 본 명세서에서 사용되는 "이중 라운드 로빈"이란 용어는 상호 접속 수단의 동적 중재 모우드의 동작을 특성화하도록 사용되며, 이는 "순수"라운드 로빈("pure" round robin) 구조와 상대되는 것으로서 이순수 라운드 로빈 구조는 윌리암 디. 스트렉커(William D. Strecker)등이 1982년 5월 7일자로 "직렬 버스의 이중 - 계수 라운드 로빈 분배 중재 기술(Dual-Count Round-Robin Distributed Arbitration Techniqne for Serial Buses)" 이란 명칭으로 출원한 미합중국 특허 출원 제375, 983호에 기술된 형태이다. 통신로에 접속된 모든 장치들이 이 순수 라운드 로빈 모우드로 동작한다면, 각각의 장치는 소정의 장치가 통신로를 다시 제어하기 전에 정확하게 한번씩 통신로를 제어하게 된다.
반면에, 이중 라운드 로빈 모우드에서는, 각각의 "순수"라운드 로빈을 2개의 라운드 로빈 링(rings)들이 스스로 설정한다. 이것은 우선 순위 계산에 있어서, 이전의 통신로 마스터(Master)의 식별 번호(ID)를 사용함으로써 우선 순위를 선별한다. 이 링들은 효율적으로 중첩되므로, 이중 라운드 로빈 모우드는 어떠한 장치도 통신로를 제어할 수 있는 기회가 봉쇄당하지 않는다는 점에서 순수 라운드 로빈과 마찬가지로 공평성(fairness)을 제공하게 되며, 최악의 경우에 소정의 장치에 대한 회전 지연(latency)은 순수 라운드 로빈에서와 동일하다. 특정 시간에 소정의 장치가 더 큰 대역폭을 필요로 하는 경우에, 이 장치의 중재 우선 순위 모우드는 동적 모우드로부터 특히 고정된 고우선 순위 모우드를 포함하고, 고정 모우드로 변화될 수 있다. 이러한 모우드에 있어서, 소정의 장치는 다른 장치들 보다 더 장기간동안 통신로를 억세스할 수 있으므로, 일정한 기간동안 더 많은 양의 데이타를 전송할 수 있게 된다.
이중 라운드 로빈 모우드로 동작하는 각각의 장치는 각각의 매입 중재 싸이클동안 각각의 장치의 식별 번호를 현재 마스터(Current Master)의 식별 번호와 비교한다. 소정 장치의 식별 번호가 현재 마스터의 식별번호보다 높으면, 당해 장치는 자체의 우선 순위를 고우선 순위 레벨로 갱신한다. 그렇지 않은 경우에는, 장치 자체의 순위는 저우선 순위 레벨로 유지되거나 고정된다. 특정한 매입 중재 싸이클에서의 중재 결정은 당해 싸이클에서 우선 순위를 갱신하기 전에 행해지므로, 중재 결정은 이전의 마스터의 식별 번호에 기초하여 이루어진다. 따라서, 낮은 ID 번호를 갖고 있고 높은 ID 번호를 갖는 장치에 의해 통신로에 대한 억세스를 취소하게 되는 장치들은 주기적으로 낮은 우선 순위 레벨로 강등된다.
본 발명의 상호 접속 수단은 다음과 같은 상당한 잇점을 제공한다. 우선, 이 상호 접속 수단은 중재 프로세스용 설비를 제공하기 위해 통신로에서 단 하나의 부수적인 라인만을 사용한다. 중재용으로 필요한 나머지 라인들은 상호 통신의 최종 목적인 데이타를 전송 하기 위해 필수적으로 존재하는 데이타 라인들에 의해 제공된다. 그러므로, 시스템 그 자체는 단일 집적 회로로 실시하도록 되어 있고, 이러한 장점은 경제적인 시스템을 구성할 때 특히 유리하며 때로는 결정적인 것이 될 수 있다. 또한, 중재 시스템은 제한된 설비, 즉 통신로에 대한 억세스를 요하는 경합 장치(competing device)들 사이에 자원을 매우 융통성 있게 할당하는 방법을 제공한다. 장치들 사이에 상대적인 우선 순위를 할당하는 것은 소정 시간에 억세스를 위한 경합 장치들 사이에서 선정된 방법으로 변경할 수 있거나, 다양한 시스템 요구에 따라서도 변경할 수 있다. 또한, 중재는 통신로에 접속된 모든 장치들 사이에서 분배되기 때문에, 통상적으로 집중된 중재에 관련하여 일어나는 다중 라인들이나 물리적 배치 제한의 심각한 오버헤드(overhead)와 같은 문제점이 제거된다. 그러므로, 강력하고도 유례가 없는 융통성 있는 동작 모우드를 구성하게 된다.
이제부터, 첨부된 도면을 참조하여 본 발명의 상술한 목적 및 그밖의 다른 목적과 장점들에 대해서 상세하게 기술하겠다.
상세한 설명
1. 상호 접속 장치의 상세한 설명
제1a도는 소형이면서도 비교적 값이 저렴한 컴퓨터 시스템에 본 명세서에 기술된 상호 접속 장치를 이용하는 것을 도시한 것이다. 도시한 바와 같이, 프로세서(10), 메모리(12), 터미날(14 : 14a, 14b) 및 대용량기억 장치(디스크, 16 : 16a, 16b)은 상호 접속 수단(18) 및 통신로(20)을 통해 서로 접속된다. 프로세서(10)과 메모리(12)의 경우에, 상호 접속 수단(18)은 장치내에 양호하게 일체로 배치되므로, 장치에 대한 통신 인터페이스를 제공한다. 터미날(14)와 기억 장치(16)의 경우에는, 단일 상호 접속 수단(18)에 다수의 터미날(14) 또는 기억 장치(16)을 접속시킬 수 있도록 중간 아답터(22, 24)가 각각 제공될 수 있다. 아답터는 나머지 장치로의 통신로(20)을 인터페이스시키도록 작용한다. 본 명세서에서 사용되는 "장치"란 용어는 공통 상호 접속 수단에 의해 통신로에 접속된 1개 이상의 실체(entity)를 말한다. 그러므로, 제1a도에 있어서, 터미날(14) 및 아답터(22)는 단일 장치(26)를 구성하며, 이와 마찬가지로, 프로세서(10)과 주 메모리(12)는 각각 하나의 장치이다. 제1b도에서, 프로세서 (32)와 메모리(34)는 아답터(40)과 함께 단일 장치를 구성한다.
제1a도에 있어서, 프로세서(10)은 메모리(12)를 공유하는데, 다른 장치는 통신로 (20)에 접속된다. 이것은 시스템 제조비용을 절감할 수 있지만, 통신로(20)을 공유하기 위한 필요성으로 인해 시스템 속도를 제한시킨다. 제1b도에 있어서, 이러한 문제점은 프로세서 (32)와 메모리(34) 사이에 분리 메모리 통신로(30)을 제동함으로써 해결된다. 이때, 프로세서(32)와 메모리(34)는 아답터(40), 통신로(42) 및 아답터(46 및 48)를 통해 터미날 장치(36)과 대용량 기억 장치(38) 에 접속된다. 아답터(40, 46 및 48)은 상호 접속 수단(18)과 일체로 되어 있고, 아답터를 통신로(42)에 접속시킬 수 있다. 이와 마찬가지로, 아답터(46및48)은 상호 접속 수단(18)과 일체로 되어 있고, 아답터들을 통신로(42)에 접속시키는 상호 접속 수단(18)을 각각 갖고 있다. 이 형태의 시스템은 고성능을 제공하지만, 제조비가 많이 든다는 문제점이 있다. 그러나, 본 명세서에 기술한 상호 접속 수단과 충분히 호환성이 있다.
마지막으로, 제1c도는 멀티 프로세서 시스템내에 상호 접속 수단을 사용하는 것을 도시한 것이다. 제1c도에 있어서, 프로세서(50 및 52)는 각각의 메모리 통신로(58, 60)에 의해서 주 메로리(54, 56) 각각 접속된다. 프로세서- 메모리 쌍은 상호 접속 수단(18)과 일체로 사용되고, 통신로(68)에 의해 상호 접속되는 각각의 아답터(62, 64)를 통해 각각 나머지 시스템에 접속된다. 캐쉬 메모리(190)은 프로세서들중의 한 프로세서, 예를 들어 프로세서 (52)에 관련된다. 나머지 시스템은 근본적으로 제1b도에 도시한 것과 같다. 즉, 1개 이상의 터미날(70)은 내부에 상호 접속 수단(18)을 갖고 있는 아답터(72)를 통해 통신로(68)에 접속되고, 대용량 기억 장치(74)는 상호 접속 수단 (18)을 갖고 있는 아답터(76)을 통해 통신로(68)에 상호 접속된다. 이러한 구성에 있어서, 각각의 프로세서는 시스템내의 각각의 장치와 통신할 뿐만 아니라, 프로세서들이 서로 직접 통신할 수 있다. 또한, 캐쉬 메모리(190)은 효율적으로 수용된다. 동일한 시스템에 이와 같은 장치들을 혼용함으로 인해 부과되는 상이한 특성 및 복잡성에도 불구하고, 본 명세서에 기재된 상호 접속 수단은 동일한 방식으로 모든 통신을 효율적으로 제어한다.
제2도를 다시 참조하면, 상호 접속 수단에 의해 발생되고 이용되는 여러가지 종류의 신호가 주된 기능 유별에 따라 요약되어 있다. 각 유별내에서 이 신호들은 개개의 부기능(subfunction)에 의해 군(group)을 이루고 있다. 부수적으로, 한 장치로부터 다른 장치로 이 신호들을 반송하는 연결부 그룹[또는, 통신로(78)]중의 특정 연결부들은 다음의 설명으로부터 용이하게 알 수 있도록 도시되어 있다. 라인은 이 라인에 부착된 장치가 이 라인을 주장(요청)하면 주장(요청)된 것으로 간주된다. 따라서, 어떤 장치도 라인을 주장하지 않으면 이 라인은 주장되지 않게 된다. 설명을 용이하게 하기 위해, 각각 A, B로 지정된 2개의 분리된 상호 접속 수단 및 이들이 통신을 제어하는 대응 장치와 일체로 이 상호 접속 수단들에 의해 사용되는 신호들에 의해 개략적으로 도시되어 있으며, 통신로(78)에 의해 신호를 변환하기 위해 상호 접속된 것으로 도시되어 있다. 그러나, 현재 마스터(current Master)에 의해 선택된 장치들만이 실제적으로 트랜잭션에 관련되지만, 전형적으로, 통신로(78)은 2개 이상의 장치들을 동시에 연결하게 된다는 것을 유념해야 한다. 나머지 장치들은 사실상 통신로에 접속된 상태를 유지하지만, 트랜잭션에 관련되는 것은 아니다.
제1도에 도시한 바와 같이, 상호 접속 수단에 의해 이용되는 크게 4개 유별의 신호, 즉 정보 전송 유별 신호, 응답 유별 신호, 제어 유별 신호 및 전력 유별 신호들이 있다. 정보 전송 유별 신호들은 통신로(78)의 4개의 개별 라인(80)을 통해 송·수신되는 정보 필드(information field ; I<3 : 0>)를 포함한다. 이 정보 필드는 명령 코드나 트랜잭션(현재 마스터)를 개시하는 장치를 식별하는 코드나 싸이클중에 다른 정보 사이로 전송되는 데이타의 상태를 지정하는 정보와 같은 정보를 전송한다. 제2도에서 라인(82)를 통해 전송되는 32비트 데이타 워드(D<30 : 0>)는, (판독형 및 기입형 트랜잭션에 사용되는)발생되는 데이타 전송의 길이, 트랜잭션의 관련성으로 선택되는 장치의 식별; 데이타 전송을 위해 억세스되는 메모리 위치 어드레스; 및 전송되는 데이타와 같은, 트랜잭션에 필요한 소정의 정보를 제공한다. 이 워드는 32개의 별도 라인(82)를 통해 송·수신된다. 2개의 라인(84및 86)들중 한 라인(84)는 즉, 정보 및 데이타 라인들상에 패리티를 표시하는데 사용되는 것이"PO"로 지정되어 있고, 다른 라인(86)은 라인 (84)및 오류 상태를 나타내는 신호를 발생시키는데 사용되는 것이 "BAD"로 지정되어 있다.
"응답" 유별 신호들은 라인(88)을 통해 전송되는 3-비트 필드(CNF<2 : 0>)를 포함하는테, 이것은 장치로 전송된 여러가지의 정보에 대한 응답을 제공하고, 보다 상세히 후술한 바와 같이 장치가 트랜잭션의 진행을 변화시킬 수 있다.
"제어" 유별 신호들은 8개의 라인(90-104)의 그룹을 통해 전송된다. 이 신호들중 제1신호인 NO ARB는 중재 프로세스를 제어한다. 제2신호인 BSY는 장치에 의한 통신로의 현재 제어를 표시한다. 이 2개의 신호들은 통신로의 제어를 요하는 장치들 사이에서의 순서적인 제어 이행(transition)을 제공하기 위해 서로에 관련하여 사용된다.
제어 유별 신호들의 나머지 신호들중에는, 시간(+)및 시간(-)신호들은 통신로(98)에 접속된 단일 소오스에 의해 발생되어 라인(94, 96)을 통해 각각 전송되는 파형을 포함한다. 이 신호들은 각각의 장치에서 상호 접속 수단의 동작용의 국부 타이밍 기준을 설정하도록 위상(+) 및 이상(-) 파형에 관련하여 사용되는데, 이 위상(+)및 위상(-)파형은 단일 소오스에 의해서도 발생되어, 라인(98 및 100)을 통해 각각 전송된다. 더욱 상세하게 말하자면, 통신로(78)에 접속된 각각의 장치의 상호 접속 수단은 시간 및 위상 신호들로부터 국부 송·수신 클럭 신호(TCLK 및 RCLK)를 각각 발생시킨다. 최종적으로 라인(102)를 통해 전송된 STF신호는 상세하게 후술한 바와 같이 국부 장치의 "신속 자체 검사(Fast Self Test)"수행하기 위해 사용되고, 라인(104)를 통해 전송된 RESET신호는 통신로에 부착된 장치들을 초기치 설정(공지된 상태로 셋팅) 수단을 제공한다.
전력 신호 유별에서, AC LO 및 DC LO 신호들은 라인(106, 108)을 통해 각각 전송되고, 시스템내에서 AC및 DC 전력의 상태를 결정하기 위해 각각의 장치에 의해 모니터된다. 예비 라인(110)은 후에 확장할 경우를 대비해 제공된다.
본 명세서에 기재된 상호 접속 수단은 통신 형태로 취해지게 지정하는 일련의 동작을 수행함으로써 선택된 장치들 사이에서 통신을 설정하는 기능을 수행한다. 각각의 동작은 다른 장치 또는 통신로에 접속되 장치들과의 사이에서 요구된 통신을 이행하도록 여러가지 정보 요소들이 통신로상에 배치되거나 통신로로부터 수신되는 일련의 싸이클을 포함한다. 이 싸이클들은 시간(+) 및 시간(-) 클럭 신호(120 및 122)뿐만 아니라, 위상(+)및 위상(-)신호 (124 및 126)을 각각 도시한 제3a도를 참조하면 명확히 알 수 있는 바와 같이, 시간 및 위상 클럭에 의해 정해진다. 이 신호들은 통신로에 접속된 단일 마스터 클럭에 의해 발생된다. 이 신호들은 각각의 장치의 상호 접속 수단에 의해 수신되고, 정보의 송·수신을 제어하는 국부 TCLK 및 RCLK신호(128 및 130)을 각각 발생시키는데 사용된다.
그러므로, 제3b도에 도시한 바와 같이, 다수의 장치(140, 142)등이 라인들을 통해 정보를 송·수신하도록 통신로에 병렬로 접속된다. 이 장치들은 프린터, 디스플레이, 터미날 등과 같은 입력/출력(I/O) 장치일수도 있고, 프로세서와 같은 장치일 수도 있다. 이러한 장치들을 통신로상의 어디에 배치하느냐 하는 것은 중요하지 않다. 통신로에도 접속된 마스터 클럭(144)는 라인 (94-100)을 통해 각각의 장치에 전송되는 시간 및 위상 신호를 발생시킨다. 각각의 상호 접속 수단은 국부 송.수신 클럭(TCLK 및 RCLK)를 각각 발생시키기 위한 타이밍 회로를 포함한다. 예를 들어, 장치(140)은 Q 출력이 TCLK를 발생시키는 플립플롭(146)을 포함한다. 이 플립플롭은 게이트(148)로부터 셋트되고, 라인(94)로부터의 시간(+) 신호에 의해 클럭된다. 게이트(148)은 라인(98)에 의해 엔에이블되고,
Figure kpo00002
출력을 내보낸다. 이와 유사한 형태로, 국부 슬레이브(slave)수신 클럭(RCLK)가 수신된 시간(+) 및 위상(-) 신호로부터 발생된다.
제3c도에 도시한 바와 같이, 연속TCLK신호들 사이의 시간은 사이클을 정한다. 양호한 정보 교환을 수행하는데 사용되는 연속 싸이클 순서를 본 명세서에서는 "트랜잭션"이라 하겠다. 각각의 트랜잭션의 상세한 특성들은 이 트랜잭션에 의해서 수행된 동작에 따라서 변하지만, 일반적으로 각각의 트랜잭션은 명령/어드레스 싸이클, 매입 중재 사이클, 및 데이타 싸이클로 공통적으로 지정되는 1개 이상의 추가 싸이클로 구성된다. 제3c도에는 설명을 용이하게 하기 위해 단지 2개의 데이타 싸이클을 도시하였다. 일반적으로, 정보는 TCLK의 선단 연부(leading edge)에서 통신로(78)상에 배치되고, 동일한 싸이클의 RCLK중에 장치의 상호 접속 수단내에 래치(latch)된다.
제3d도에는 각각의 상호 접속 수단에 의해 수행되는 중재 기능의 상태도가 도시되어 있다. 중재 기능은 장치내의 소정 소자(Element)가 제3d도에 REQ로 도시한 바와 같이 트랜잭션의 개시를 그 장치로 하여금 요구하고자 할때까지 아이들 상태(Idle State; 150)으로 유지된다. 이러한 경우가 발생하면, 상호 접속 수단은 NO ARB라인을 검사함으로서 통신로(78)상에 중재 신호를 주장할 수 있는지의 여부를 결정한다. NO ARB가 주장되어 있는 한, 중재 기능은 아이들 상태로 유지된다. 그러나, NO ARB가 주장되지 않고, REQ가 계속 주장되면, 장치는 다음 싸이클 동안 중재된다. 이 상태하에서, 장치는 중재 상태(152)로 진입하게 되는데, 이 중재 상태에서 상기 장치는 통신로의 억세스를 요하는 다른 장치들과 중재한다. 중재 방법은 이후에 상세히 기술하겠다.
중재 기능을 상실한 장치는 아이들 상태(150)으로 복귀되어, REQ가 주장되는 한 다시 중재를 요청할 수 있다. 이와 반대로, 중재 기능을 획득한 장치는 현재 마스터 상태(BSY가 주장되지 않을 경우)나 팬딩 마스터 상태(BSY가 주장될 경우)로 진입한다.펜딩 마스터 상태는 BSY가 주장되는 한 펜딩 마스터 상태로 유지되고, BSY가 주장되지 않으면 현재 마스터 상태로 된다.
상호 접속에 의해 제공되는 각각의 트랜잭션의 동작 순서를 설명하기 전에, 소정의 제어, 응답 및 정보 전송 유별 신호들은 본질적으로 모든 트랜잭션 형태와 공통이므로, 이 신호들에 대해서 상세히 이해하는 것이 유익한 것이다. 그러므로, 지금부터 이들 신호들에 대해 상세하게 설명하겠다.
제어신호 : NO ARB, BSY
NO ARB 신호는 중재용 데이타 라인들에 대한 억세스를 제어한다. 장치들은 NO ARB가 이전의 싸이클동안 주장되지 않은 싸이클에서만 통신로를 사용하기 위해 중재할 수 있다. 상호 접속 수단(현재 마스터)을 제어하는 장치는 제1싸이클과 최종 예상 데이타 싸이클은 실제로 최종 데이타 싸이클이지만, 이후에 상세히 기술하는 바와 같이, 장치는 소정의 상태하에서는 트랜잭션의 완료를 지연시킬 수 있다. 이렇게 되면, 최종 데이타 싸이클이라고 예상되는 싸이클은 더이상 없고, 모든 데이타가 전송되기 전에 다음 싸이클이 뒤따르게 된다. NO ARB는 펜딩 마스터가 현재 마스터가 될 때까지 이 펜딩 마스터에 의해서도 주장된다. 언제나 , 적어도 하나의 현재 마스터와 하나의 펜딩 마스터만이 있을 뿐이다.
또한, NO ARB는 중재 싸이클중에 모든 중재 장치에 의해 주장된다. 매입 중재 싸이클동안에, 이주장은 현재 마스터에 의한 NO ARB의 주장에 추가된다. 아이들 중재 싸이클 동안에, 중재 장치에 의해 NO ARB가 주장되면, 현재 중재중인 장치들 중 한 장치가 현재 마스터 상태로 될 때까지 다음 중재가 배제된다.
부수적으로, NO ARB는 슬레이브가 STALL을 주장하는 모든 사이클(후에 기술함)뿐만 아니라, 최종 싸이클을 제외한 모든 데이타 싸이클동안(현재 마스터에 의해 선택된) 슬레이브 장치들에 의해서도 주장된다. 또한, NO ARB는 상호 접속 수단이 그 자체의 장치에 대해 서비스를 제공함으로써 점유될 때의 특정 모우드동안(BSY주장과 일치하여) 어떤 장치에 의해서도 주장된다. 이와 같은 모우드들에 있어서, 장치는 BSY 및 NO ARB이외의 다른 통신로 라인을 사용하지는 않는다. 슬레이브로 선택되는 가능성으로 인해, 명령/어드레스 싸이클동안 장치는 특정 모우드로 진입하지 못하게 한다. 장치는, 예를 들어 통신로의 정보전송 유별 라인들을 사용할 필요가 없이 상호 접속 수단내의 레지스터를 억세스시키기 위한 특정 모우드로 동작할 수 있다. 또한, 현재마스터가 통상의 종료 싸이클을 초과하여 계속해서 NO ARB를 주장함으로써 통신로 제어를 철회하지 않고서도 트랜잭션 순서를 수행할 수 있는 것이 바람직하다. 이것은 정보 전송 싸이클을 연장하여 그 장치에서의 이용할 수 있는 대역폭을 효율적으로 증가시킴으로써 고속의 장치에 특히 유용할 수 있다.
BSY는 트랜잭션이 진행중이라는 것을 나타낸다. BSY는 최종 예상 싸이클동안을 제외한 트랜잭션 전반에 걸쳐 현재 마스터에 의해 주장된다. BSY는 트랜잭션의 진행을 지연시킬 필요가 있는 슬레이브 장치(예를 들면, 특정 메모리 위치를 억세스하기 위한 시간을 추가로 필요로 하는 메모리 장치)에 의해서도 주장되는데, 이 지연은 (후술될) STALL응답 코드와 함께 BSY 및 NO ARB를 주장함으로써 이루어진다. 또한, BSY는 최종 데이타 싸이클을 제외한 모든 데이타 싸이클동안에도 주장된다. 장치는 다음 트랜잭션의 개시를 지연시키기 위해, 또는 상술한 특별 모우드를 동작중일 때 BSY를 자장하는 것을 연장할 수도 있다.
BSY는 각각의 싸이클의 종료시에 장치에 의해 검사된다. 즉, 주장되지 않을때, 펜딩 마스터가 BSY를 주장하여 현재 마스터로서의 제어를 가정할 때 검사된다.
제3e도는 본 발명의 실시예에서의 BSY및 NO ARB 제어 라인들의 가능한 순서들의 상태를 도시한 것이다. 이 상태도는 이러한 신호들을 함께 관찰함으써 통신로상에서 장치들 사이에서 정보가 교환되는 것을 효율적으로 제어하는 방법을 설명하는데 사용된다.
전력이 증가할 때, 모든 장치들은 NO ARB주장(상태"A")를 주장함으로써 통신로가 아이들 상태로 진입하게 되는 때인 모든 장치들이 라인을 주장하지 않을 때 (상태"B")까지 어떠한 장치에 의한 억세스를 효율적으로 방지한다. 이렇게 함으로써 모든 장치들이 필요한 경우에 소정의 전력 증가 초기화 순서를 완료시킬 수 있는 시간을 허용한다.일단 NO ARB가 주장되지 않음으로써 상태"B"로 진입되면, 장치들은 통신로의 제어를 경합하기 위해 자유로이 요청할 수 있다. 일단 어떤 장치가 중재되면, 상태"A"로 다시 진입되므로, 이에 의해 "획득(winning)"장치가 명령/어드레스 상태"C"로 진입된다. 주목할 점은 이 명령/어드레스 싸이클은 주장되지 않은 상태로부터 주장된 상태로 BSY가 이행되는 것 뿐만 아니라, 이전의 사이클에서 NO ARB가 주장된 것으로서 모든 장치에 의해 인지된다. 장치들이 명령/어드레스 상태로서 특성 모우드 상태를 무시하기 위해 NO ARB를 관찰하는 것이 필요하다.
명령/어드레스 상태로부터 먼저 상태"D"로 진입하는 것은 트랜잭션의 매입 중재 싸이클을 나타낸다. 바로 이 싸이클에서, 장치들은 엔코드된 마스터 ID를 관찰함으로써(이중 라운드 로빈 모우드의 경우) 장치들은 자체의 동적 우선 순위를 갱신한다. 트랜잭션의 데이타 길이에 따라 변하는 제어는 싸이클들 동안에도 이 상태로 유지될 수 있다. 중재가 전혀 발생하지 않으면, 마스터 및 슬레이브는 결과적으로 통신로의 제어를 포기하고 플로우(flow)는 다시 상태"B"로 되돌아 가게 되어, 제어 신호들을 모두 주장하지 않게 된다. 그러나, 펜딩 마스터가 존재하면, 상태"F"가 다음으로 진입되어, 이에 따라 NO ARB를 주장하는 장치가 이 싸이클에서 BSY의 주장되지 않음을 통보하여 다른 장치들에 의한 추가적인 중재를 배제시키기 위한 결정[도표에는 "버스트 모우드"(BURST MODE)로 표시됨]이 마스터에 의해 결정되는지의 여부에 따라 명령/어드레스"C"또는 "G"로 진행한다. 상태"G"에서, 명령/어드레스 제어 신호들은 NO ARB와 BSY가 모두 주장된 것을 나타내는데, 이것은 명령 어드레스 상태"C"와 구별시켜 준다.
이전의 트랜잭션이 BSY의 주장에 의해 연장되고 펜딩 마스터가 전혀 존재하지 않으면, 제어는 상태"D"로부터"E"로 진행되고, 필요에 따라서는 1개 이상의 싸이클동안 상태"E"로 유지된다. BSY가 주장된 것이 목격되면 제어가 1개 이상의 싸이클동안 상태"E" 로 유지되므로, 이에 따른 순서는 아이들 상태"B"로 다시 되돌아간 다음 전송을 위해 통신로를 포기하게 된다.
상술한 바와 같이, 한 특정 장치가 다른 장치에 의해 슬레이브로서의 선택을 배제시키기를 원하는 경우에, 특정 동작 모우드는 1개 이상의 싸이클동안 선택적으로 제어가 상태"D"로 복귀되도록 할 수 있다. 이때, BSY와 NO ARB가 동시에 주장되지 않게 되면, 제어는 상태"B", 즉 아이들 상태로 다시 복귀된다.
그러므로, NO ARB와 BSY의 결합 동작은 순서적인 제어 흐름의 변환과 통신로상의 정보 전송을 조절 한다.
응답신호 : ACK, NO ACK, STALL, RETRY
시스템 신뢰성은 정보 라인 및 데이타 라인을 통한 전송에 대해 응답을 요구함으로써 크게 증가된다. 일반적으로, 응답을 위해서는 특정한 전송후에 정확히 2개의 싸이클이 기대된다. 장치들의 응답 코드는 제6도에 도시되어 있는데, 여기서"O"비트는 주장(저레벨)을 나타내고"1"비트는 비주장(고레벨)을 나타낸다.
ACK 응답은 송신에 대해 수신하고자 하는 의도된 수신 장치에 의해 송·수신을 성공적으로 완료한 것을 나타낸다. 모든 트랜잭션 형태에 대해서, 트랜잭션의 제1데이타 싸이클동안 ACK가 주장되면 2개의 싸이클전에 전송된 명령/어드레스 정보를 정확히 수신했다.(즉, 패리티 오류가 없다)는 것을 확인하게 된다. 부수적으로, 판독-싸이클 형태 및 IDENT 트랜잭션에서 제1데이타 싸이클과 다음 데이타 싸이클에서, ACK는 판독 또는 벡터 데이타가 슬레이브에 의해 주장되는 것을 나타내는 반면, 기입형 트랜잭션에서 ACK는 슬레이브가 기입 데이타를 받아들일 준비가 되었다는 것을 나타낸다.
NO ACK는 송·수신이 실패했거나 슬레이브가 선택되지 않은 경우를 나타낸다. ACK와 NO ACK는 명령 송신뿐만 아니라 데이타 송신에 대해서도 허용되는 응답인데, 데이타 송신의 경우에, 최종 데이타 싸이클을 뒤따르는 2개의 싸이클이 후속 트랜잭션과 일치하더라도, 이 2개의 싸이클을 통해 응답이 발생한다. NO ACK는 응답 라인들의 디폴트(default)상태이다. 이 상태는 다른 코드가 이를 무시함으로써 정해진다.
STALL은 데이타 싸이클동안 슬레이브 장치에 의해 주장될 수 있다. 예를 들어, 이것은 판독 억세스에 대해 허용된 시간을 연장시키거나, 트랜잭션중에 재생(refresh) 또는 오류 정정 싸이클에 시간을 제공하기 위한 메모리에 의해 사용된다. 또한, 이것은 메모리 기입 버퍼에 여유가 없을 때 마스터로부터의 데이타 전송을 추가적으로 지연시키기 위한 메모리에 의해서도 사용된다. 이것은 다른 통신로에 동기시키기 위한 장치들에 의해 사용된다. 장치가 슬레이브인 것을 인식한 경우에 ACK 또는 NO ACK 명령 확인을 지연시키기 위해 1개 이상의 STALL이 사용될 수 있다.
RETRY는 트랜잭션에 즉시 응답할 수 없는 슬레이브방치에 의해 주장된다. 예를 들어, 이것은 장기간동안 내부 초기화 순서를 필요로 하는 장치 ; 다른 통신로에 억세스를 대기하는 장치 ; 및 후술하는 바와같이 인터록크(Interlock) 판독 명령에 의해 록크된 메모리에 사용된다. 현재 마스터는 트랜잭션을 종료시킴으로써 슬레이브 재시도(RETRY) 응답에 응답한다. 본 발명의 실시예에 있어서, RETRY는 트랜잭션의 제1데이타 싸이클후에는 사용되지 않는다. 이렇게 함으로써 상호 접속 논리를 단순화시킨다. 1개 이상의 STALL이 RETRY의 주장보다 선행할 수도 있다.
어떤 장치가 통신로를 독점하지 못하게 하기 위해서, STALL, RETRY, BSY 및 NO ARB가 연장되거나 연속적으로 주장되는 것은 제한된다.
시스템 구조 : 특정한 트랜잭션 순서
제4a도 내지 제4h도는 상호 접속 수단에 의해 제공되는 특정한 트랜잭션의 특성을 상세하게 보여주고 있다. 특히. 데이타를 판독 및 기입하기 위한 트랜잭션(READ, READ WITH CACHE INTENT, INTERLOCK READ WITH CACHE INTENT, WRITE, WRITE WITH CACHE INTENT, WRIT MASK WITH CACHE INTENT, 및 UNLOCK WRITE MASK WITH CACHE INTENT), 불확실하게 캐쉬된 데이타를 무효화시키기 위한 트랜잭션(INVALIDATE), 인터럽트를 처리하기 위한 트랜잭션(INTERRUPT, INTERPROCESSOR INTERRUPT, IDENTITY) (제4d도 내지 제4f도), 장치에 의한 트랜잭션 발생을 정지시키기 위한 트랜잭션(STOP) 및 정보를 다수의 장치로 동시에 송신하기 위한 방송트랜잭션(BROADCAST)이 상세히 도시되어 있다. 각각의 도면에는 허용 가능한 CNF 응답의 범위가 설명되어 있고. 예시된 특정한 응답은 점(·)으로 표시되어 있다. 또한, 단지 예시의 목적으로, 트랜잭션은 단지 2개의 데이타 전송 싸이클만을 포함하는 것으로 도시되어 있으나, 더 많거나 적은 수의 싸이클들이 사용될 수도 있다.
본 명세서에 기재된 명령들은 2가지 일반적인 형태, 즉 단일 응답기 명령(판독형, 기입형 명령 및 IDENTIFY)과 다중 응답기 명령(STOP, INVALIDATE, INTERRUPT, INTERPROCESSOR INTER-RUPT, BROADCAST)으로 되어 있다. 다중 응답이 동일 라인상에서 주장될 때 응답들의 유일 인식을 위해서, 다중 응답기 명령의 허공 가능한 응답들은 ACK 및 NO ACK로 제한된다.
판독형 트랜잭션
제4a도를 참조하면, 판독형 트랜잭션의 특성이 상세하게 도시되어 있다. 이 형태의 트랜잭션은 READ명령 뿐만 아니라, READ WITH CACHE INTENT 및 INTERLOCK READ WITH CACHE INTENT명령도 포함한다. 이 명령들의 4-비트 코드는 장치의 상호 접속 수단에 의해 이용되는 다른 명령들에 대한 코드와 함께 제5a도에 도시되어 있다. 제5a도에서 대쉬선[dash, (-)]으로 도시한 바와 같이 부수적인 코드들이 추가될 수 있다. 트랜잭션은 다수의 연속적인 싸이클, 즉 명령/어드레스 싸이클(180), 매입 중재 싸이클(182) 및 다수의 데이타 싸이클을 포함한다. 예시의 목적으로, 트랜잭션은 2개의 데이타 싸이클(184,186)을 포함하는 것으로 도시되어 있다. 정보가 전송되는 주요 라인(제2도 참조)들은 이들의 기능적인 명칭, 즉 정보 라인 I[3 : 0], 데이타 라인 D[31 : 0], 확인 라인 CNF[3 : 0] 및 NO ARB, BSY 및 P(패리티) 라인들로 표시된다. 명확한 예시를 위해서, 나머지 라인(즉, 시간, 위상, STF, 리셋트, AC LO, DC LO, BAD 및 예비)들은 트랜잭션 동작을 이해하는데 필수적인 것은 아니므로 생략했다.
제4a도에 도시한 바와 같이, 판독형 트랜잭션의 명령/어드레스 싸이클동안, 4-비트 명령 코드는 정보라인 I[3 : 0]상에 배치된다. 명령에 관련하여 필요로하는 추가적인 데이타는 데이타 라인 D[:31 : 0]상에 배치된다. 상세하게 말하자면, 발생할 전송 길이를 명시하는 2-비트 데이타 길이 코드는 상호 접속 수단에 의해 데이타 라인 D[31 : 30]에 인가되고, 전송이 발생할 장치 어드레스는 데이타 라인 D[29 : 0]에 인가된다. 이 신호들이 현재 상호 접속 수단(현재 마스터)을 제어하는 장치에 의해 적절한 라인들 상에서 주장된다는 사실은 제4a도에서의 적절한 블럭내에 문자 “M”으로 표시된다. 슬레이브 장치에 의해 소정의 라인 또는 라인들의 셋트 상에서의 정보의 주장은 제4a도에 문자 "S"로 표시된다. 이와 마찬가지로, 문자 AD, AAD, APS 및 PM[즉, 전 장치(All Device), 전 중재 장치(All Arbitrating Device), 전 가능성 슬레이브(All Potential Slave) 및 펜딩 마스터(Pending Master)]은 특정한 싸이클동안 통신로의 선택된 라인들상에서 신호를 주장할 수 있는 여러가지의 다른 장치를 나타낸다.
어드레스는 판독형 또는 기입형 트랜잭션이 발생하는 특정한 기억 위치를 나타내는 단일 30-비트 워드로 구성된다. 분리된 어드레스 블럭은 각각의 장치에 할당된다. 블럭의 위치는 관련된 장치의 식별 번호를 기초로 한다.
명령/어드레스 싸이클동안, 현재 마스터는 제4a도에서 참조번호(158)로서 도시한 바와 같이 NO ARB를 주장하지 않는다(본 명세서의 이해를 돕기위해, 신호가 저레벨에 있을 때 "주장된 것"으로, 고레벨에 있을 때 "주장되지 않은 것"으로 간주한다). NO ARB가 주장되지 않으면, 통신로의 제어를 요하는 다른 장치들은 그 다음 싸이클동안 이러한 억세스를 중재할 수 있게 된다. 이와 때를 같이하여. 장치는 BSY를 주장함으로써 현재의 트랜잭션이 진행중인 동안 다른 장치가 통신로를 제어하지 못하게 한다. 이때, 현재 마스터에 의해 CNF 라인들에 아무런 신호도 인가되지 않지만, 트랜잭션들의 순서 과정에서 현재 마스터에 의한 트랜잭션중에 다른 장치들에 의해 CNF 라인들에 1개 이상의 응답 신호들이 인가될 수도 있다.
제2트랜잭션 싸이클은 중재 싸이클을 포함한다. 이 싸이클은 트랜잭션내에 포함되어 있기 때문에 "매입" 중재 싸이클이라고 한다. 트랜잭션의 외부에서 발생하는 중재를 "아이들"중재 싸이클이라고 한다. 제4a도의 매입 중재 싸이클동안, 현재 마스터는 자신의 식별 번호(ID)를 정보 라인 I[3 : 0]상에 배치시킨다. 이 코드는 상술한 바와 같이 장치들의 중재 우선 순위를 갱신하기 위해 모든 장치들에 의해 사용된다.
이때, 통신로의 사용을 요하는 장치들은 저 우선 순위 레벨 라인 D[31 : 16] 또는 고 우선 순위 레벨 라인들[15 : 0]상의 자체의 식별 번호에 대응하는 단일-비트 신호를 주장한다. 즉, 장치(11) (제7c도)은 고 우선 순위에서 중재하는 경우에 라인 D[11]을 주장하고, 저 우선 순위에서 중재하는 경우에 라인 D[27]을 주장한다.
장치들이 중재되는 레벨은 이 장치의 중재 모우드 뿐만 아니라, 이전의 마스터 ID에 의해 결정된다. 본 발명의 실시예에서, 중재 모우드는 특정한 장치의 제어 및 상태 레지스터, 즉 CRS[5 : 4]의 비트 4 및 5에 의해 정해진다(제7c도 참조). 본 발명의 실시예에서와 같이, 4개의 모우드, 즉 고정된 고 우선 순위, 고정된 저 우선순위, 이중 라운드 로빈 및 중재 불능의 모우드가 제공된다. 상호 접속 수단은 중재 모우드 비트 CRS[5 : 4]를 적절히 셋팅시킴으로써 이 모우드를 혼합할 수 있다.
고정된 우선 순위 모우드에서 중재하는 경우에, 고정된 고레벨인지 저레벨인지의 여부에 따라서는, 우선 순위가 한 트랜잭션에서 다른 트랜잭션으로 변하지 않는다. 이와 반대로, 이중 라운드 로빈 중재의 경우에, 장치의 우선 순위는 상술한 바와 같이 한 트랜잭션에서 다른 트랜잭션으로 변할 수 있다. 특히, 이중 라운드 로빈 중재 모우드에 있어서, 소정의 트랜잭션중에, 장치는 ID 번호가 바로 선행하는 트랜잭션의 마스터의 ID 번호와 같거나 이보다 작은 경우에, 저 우선 순위 레벨(즉, 라인 D[31 : 6])에서 중재를 하게 되고, 그렇지 않은 경우에는 고 우선 순위, 즉 라인 D[15: 0]에서 중재를 하게 된다.
제4a도에 도시한 트랜잭션을 계속하여 설명하면, 매입 중재 싸이클의 종료시에 이 싸이클 동안 중재되고 이 중재를 획득한 장치가 펜딩 마스터로 되고, 제4a에 점선으로 도시한 바와 같이 현재 마스터로 될 때까지 NO ARB를 주장한다. 이렇게 함으로써 펜딩 마스터가 이러한 제어를 취하기 전에 다른 장치들이 후속적으로 통신로를 중재하거나 제어를 획득하지 못하게 한다.
중재 싸이클은 1개 이상의 데이타 싸이클이 뒤따른다. 예시의 목적으로, 제4a도에는 2개의 데이타 싸이클만을 도시하였다. 상술한 바와 같이, 각각의 트랜잭션에서 전송될 실제 데이타량과 트랜잭션에 의해 이용되는 데이타 싸이클의 수는 비트 D[31 : 30]에 의해 명령/어드레스 싸이클로 지정된다. 제4a도에 도시한 특정한 실시예에서는, 1에서 4까지의 데이타 싸이클(여기서는 32비트/싸이클)이 한 트랜잭션에 전송될 수 있다. 물론 데 이타 길이 명세서(specification)에 더 많거나 적은 비트를 제공함으로써, 데이타 싸이클 수와 트랜잭션 싸이클의 수가 가감될 수 있다.
제4a도에 도시한 바와 같은 판독형 트랜잭션의 경우에, 트랜잭션에 의해 호출된 데이타는 트랜잭션이 어드레스되는 슬레이브에 의해 공급된다. 이 장치는 메모리 장치일 수 있으며, 입력/출력 터미날과 같은 소정의 다른 장치일 수도 있다. 양쪽의 경우에, 이렇게 선택된 장치는 데이타 싸이클중에 데이타 라인 D[31 : 0]상에서 이 장치 자신의 데이타를 주장한다. 이때, 이 장치는 데이타의 상태를 나타내는 코드를 라인 I[3: 0]상에서도 주장한다. 예를 들어, 메모리 참조를 위해, 코드는, 데이타가 정정 알고리즘을 이용하지 않고서 검색되는 데이타[간단히 판독 데이타(READ DATA)라고 함]인지, 데이타 라인들상에 주장되기 전에 정정된 데이타 [정정된 판독 데이타(CORRECTED READ DATA)라고 함]인지, 아니면 어떤 이유로든지 신뢰할 수 없는 데이타[판독 데이타 대용(READ DATA SUBSTITUTE)이라고 함]인지의 여부를 나타낼 수 있다. 또한, 상태 코드는 이러한 데이타 범주(category)중 각각에 대해 데이타가 캐쉬될 수 있는지의 여부를 나타낸다. 돈트 캐쉬(don't cache) 기능을 사용하면 시스템의 성능이 크게 증가한다. 이 코드들은 제5b도에 도시되어 있다.
제1데이타 싸이클중에, 슬레이브 마스터로부터의 명령/어드레스 정보의 수신을 확인하고, 슬레이브의 응답에 관련하여 마스터에 다른 정보를 제공하는 확인 코드를 라인 CNF[2 : 0]으로 복귀시킨다. 그러므로, 확인 신호들의 제1주장이 현재 트랜잭션에 대해서 제1데이타 싸이클동안, 즉 트랜잭션을 개시하는 명령/어드레스 싸이클 후의 2개의 싸이클 동안 실시된다. 제4a도에 도시한 판독 트랜잭션의 경우에, 제1데이타 싸이클에서 허용 가능한 응답은 ACK(긍정 응답 ; ACKNOWLEDGE), NO ACK(부정 응답 ; NOTACKNOWLEDGE), STALL 및 RETRY이다. 이것들은 특정 트랜잭션에 관련하여 기술될 소정의 예와 같이 거의 모든 트랜잭션에 공통적으로 적용된다.
일반적으로. 제1데이타 싸이클동안 ACK가 주장되면, 요구된 동작, 즉 판독 데이타 복귀를 취하기 위한 슬레이브의 능력과 함께, 명령/어드레스 정보를 정확히 수신하는 것을 나타낸다. 이와 반대로, NO ACK가 주장되면, 명령 송신시에 오류가 발생되거나 슬레이브의 응답 무능력을 나타내게 된다. STALL이 주장되면, 슬레이브는 마스터에 의해 요구된 판독 데이타를 슬레이브 자신이 준비하기 위해 트랜잭션을 연장시킬수 있게 되고, RETRY가 주장되면, 현재로서는 명령에 응답할 수 없고 마스터가 후속 시간에 다시 시도하는 요구에 의해 달성된다는 것을 나타낸다. RETRY가 적절히 사용될 때는 예상된 슬레이브 응답 시간이 너무 길어서 일반적인 STALL 응답을 주장함으로써 과대 수의 싸이클동안 트랜잭션을 연장시키는 것이 바람직하지 않을 때이다.
제4a도에 있어서, ACK 응답[응답전은 점(·)으로 도시됨]이 도시되어 있다. 응답이 NO ACK이었다면, 마스터에 의해 취해진 동작은 ACK에 응답하여 취해진 동작과 다르게 된다. 예를 들면, 마스터는 제한된 횟수로 트랜잭션을 반복하는 것을 요하고, 인터럽트등을 요구할 수도 있다. STALL 응답은 ACK 응답과 유사하지만, 요구된 데이타가 복귀되기 전의 트랜잭션은 1개 이상의 공백(blank) 싸이클(유효 데이타가 데이타 라인상에 존재하지 않는 싸이클)만큼 연장된다.
제4a도에 있어서 제2 및 최종 데이타 싸이클은 선행의 데이타 싸이클과 유사하다. 즉, 슬레이브는 라인 I[3 : 0]상의 데이타의 상태를 표시하는 코드와 함께 라인 D[31 : 0]상에 요구된 데이타를 주장한다. 이와 때를 같이하여. 이것은 CNF[2 : 0]에 대해 확인 신호를 주장한다. 그러나, 슬레이브가 제1데이타 싸이클에 응답하는 것과는 달리, 슬레이브는 ACK, NO ACK 또는 STALL에만 응답한다 즉. 이것은 RETRY를 주장하지 않는다. 더욱이, 제2데이타 싸이클은 제4a도에서 트랜잭션의 최종 데이타 싸이클이기 때문에, 슬레이브는 NO ARB 및 BSY를 주장하지 않는다. 판독 데이타의 복귀가 후속 싸이클로 연기되도록 슬레이브가 STALL을 주장함으로써 트랜잭션을 연장하게 되면, 슬레이브는 실제로 최종 데이타 싸이클이 발생할 때까지 계속해서 NO ARB와 BSY를 주장하게 된다. 그다음, 최종 데이타 싸이클동안 슬레이브는 NO ARB와 BSY를 주장하지 않게 된다. 상술한 바와 같이, BSY가 주장되지 않으면, 펜딩 마스터는 다음 싸이클에서 통신로를 제어할 수 있게 되고, 슬레이브가 NO ARB를 주장하지 않으면, 통신로로의 억세스를 위해 후속 중재가 발생하도록 준비된다.
제2 및 최종 데이타 싸이클이 완료되면. 제4a도의 트랜잭션의 주요 정보 전송 기능이 완료된다. 그러나, 데이타를 정확하게 수신하였는지를 확인해야 한다. 이것은 마스터가 데이타의 수신에 관련하여 CNF[2 : 0]에 대해 적절한 확인 신호를 주장하게 되는 최종 데이타 싸이클 다음의 2개의 싸이클동안 달성된다. 도시한 바와 같이, 적절한 확인 신호는 ACK나 NO ACK이다. 확인이 최종 데이타 싸이클을 초과하여 연장되므로, 다음 트랜잭션의 명령/어드레스 및 매입 중재 싸이클과 중첩된다. 그러나, 확인 라인들은 다음 트랜잭션의 제1의 2싸이클동안 이 트랜잭션에 의해 사용되지 않기 때문에 중첩되어도 아무런 오류가 발생되지 않는다.
명령/어드레스 싸이클동안, 패리티(P)가 현재 마스터에 의해 I[3 : 0]과 D[31 : 0]라인들상에 발생되어 모든 장치에 의해 검사된다. 매입 중재 싸이클동안, 패리티는 마스터에 의해서 I[3 : 0]라인들 상에서만 발생되어 모든 장치에 의해 검사된다. 데이타 싸이클동안에, 패리티는 슬레이브에 의해서 I[3 : 0] 및 D[31 : 0] 라인들 상에서 발생되어 현재 마스터에 의해 검사된다. 패리티 오류의 특정한 결과는 이 오류가 발생될 때의 소정의 싸이클동안 전송되는 정보의 특성에 따라 정해진다. 최소한 명령/어드레스 싸이클중에 패리티 오류를 검사하는 장치는 선택적으로 응답해서는 안되고, 이 장치들은 오류 플래그(flag)를 셋팅시키거나 인터럽트를 유발하거나 그밖의 다른 동작을 취함으로써 패리티 오류를 나타낼 수도 있다.
상술한 바와 같이, READ WITH CACHE INTENT 명령은 해독 트랜잭션과 동일한 포맷으로 되어 있다. 이 명령은, 요구된 판독 데이타가 마스터의 캐쉬내에 배치되어 있을 수 있다는 것을 슬레이브에 지시하기 위해 캐쉬를 가지고 있는 장치에 의해 발생된다. 이 명령이 후술하는 INVALIDATE 명령과 함께 사용되면, 캐쉬된 장치를 가지고 있는 시스템의 성능이 크게 증가된다.
INTERLOCK READ 트랜잭션도 판독 트랜잭션과 동일한 포맷으로 되어 있다. 이 명령은 프로세서 및 그밖의 다른 지능(intelligent)장치에 의한 데이타에 대한 배타적(exclusive) 억세스를 제공하도록 공유 데이타 구조와 함께 사용된다. INTERLOCK READ 명령을 지지하는 슬레이브는 지정된 기억 위치에 대응하는 1개 이상의 인터록크 비트(Interlock Bit)를 갖고 있다. INTERLOCK READ 명령에 의해 억세스되면, 슬레이브는 어드레스된 위치에 대응하는 적절한 비트를 셋트시킨다. 이것은 비트가 리셋트되어 소정의 위치를 해제할 때까지 그 위치에 대해 후속적인 INTERLOCK READ 억세스가 일어나는 것을 방지한다. 이 비트는 후술할 UNLOCK WRITE MASK WITH CACHE INTENT 명령에 의해서 리셋트된다. INTERLOCK READ 명령이 특히 유용한 것은 이 명령을 사용하는 중간에 개재되는 장치가 초기화 이후에 데이타에 대한 억세스가 배제되도록 하기 위한 판독-수정-기입 동작(Read-Modify-Write Operation)을 제공하는 프로세서를 갖고 있는 시스템에 유용하다. 인터록크 동안에 INTERLOCK READ에 의해 어드레스된 슬레이브는 RETRY를 내보내도록 셋트된다. INTERLOCK 비트는 INTERLOCK READ 트랜잭션이 성공적으로 수행된 경우에만, 즉, 마스터가 슬레이브의 판독 데이타를 정확하게 수신한 것을 확인한 경우에만 셋트된다.
기입형 트랜잭션
제4b도를 참조하면, 기입형 트랜잭션 [WRITE, WRITE WITH CACHE INTENT, WRITE MASK WITH CACHE INTENT, UNLOCK WRITE MASK WITH CACHE INTENT]이 상세하게 도시되어있다. 명령/어드레스 싸이클에서 개시하면, 현재 마스터는 명령에 적절한 4비트 코드를 정보 라인 l[3 : 0]상에 배치시키고. 데이타 전송 길이를 식별하는 2-비트 코드를 데이타 라인 D[31 : 30]상에 배치시키며, 어드레스를 데이타 라인 D[29 : 0]상에 배치시킨다. 이와 때를 같이하여, 이 현재 마스터는 통신로의 점유상태를 표시하도록 BSY를 주장하고, 바로 다음 싸이클 동안 중재용 데이타 라인들의 이용가능성을 신호하기 위해 NO ARB를 주장하지 않는다.
제2싸이클 동안, 현재 마스터는 이 현재 마스터의 ID를 정보 라인 I[3 : 0]상에 배치시킨다. 이때, 후속 트랜잭션에 대해 통신로의 제어를 요하는 장치들은 이들의 ID에 대응하는 단일 비트를 데이타 라인들상에서 주장한다. 상술할 경우와 같이, 이 출력은 저 우선 순위 레벨에서의 중재에 대해서는 저 우선 순위 데이타 라인 D[31 : 16]상에서 주장되고, 고 우선 순위 레벨에서의 중재에 대해서는 고 우선 순위 데이타 라인D[15 : 0]상에서 주장된다. 이때, 마스터는 BSY를 계속 주장하고, 마스터 뿐만 아니라 중재에 관련된 장치들은 NO ARB를 주장한다.
제4b도에 도시한 예에 있어서, 제3 및 제5싸이클은 데이타 싸이클이다. 2개의 데이타 싸이클이 도시되어 있지만, 명령/어드레스 싸이클에서 라인 D[31 : 30]상에 지정된 전송 길이에 따라서 더 많거나 더 적은수의 데이타 싸이클이 인용될 수 있다. 마스터에 의해 기입되는 데이타는 이 싸이클 동안에 데이타 라인 D[29 : 0]에 인가된다. 정보 라인 I[3 : 0]은 트랜잭션 동안에 기입될 선택된 바이트 또는 바이트들을 나타내기 위해 데이타 싸이클 동안에(WRITE MASK 트랜잭션의 경우에) 기입 마스크를 전송시키거나,(WRITE 및 WRITE WITH CACHE INTENT 트랜잭션의 경우에) "비정의(undefined)"로 된다. I[3 : 0]의 "비정의"상태는, 이 라인들상의 소정의 정보간 트랜잭션용의 장치들에 의해 무시되는 것을 나타낸다.
제1데이타 싸이클 동안에, 현재 마스터는 BSY 및 NO ARB를 계속 주장한다. 현재 마스터가 최종 데이타 싸이클일것을 기대하는 제4데이타 싸이클 동안에, 현재 마스터는 통신로 제어를 순서적으로 이행시킬 준비를 하도록 BSY 및 NO ARB를 주장하지 않는다.
트랜잭션을 연장하기 위한 슬레이브의 능력을 설명하기 위해서, 제4 싸이클(데이타 2)는 슬레이브가 STALL와 슬레이브 주장에 의해 정지되는 것으로 도시되어 있다. 예를 들어, 이것은 슬레이브가 제2데이타 워드를 받아들일 수 없을 때 연장될 수 있다. 이 슬레이브는 이 싸이클동안 BSY 및 NO ARB를 주장한다. 이 트랜잭션의 최종 데이타 싸이클은 싸이클 5이다. 이 싸이클 동안, 마스터는 데이타 2를 재송신함으로써 STALL의 주장에 응답한다. 슬레이브는 ACK를 CNF 라인들상에서 주장하고, BSY와 NO ARB는 주장하지 않는다. 최종 데이타 싸이클 다음의 2개의 싸이클에서, 슬레이브는 기입 데이타의 정확한 수신 상태를 확인하도록 ACK를 계속 주장한다.
기입형 트랜잭션이 통신로상에서 발생하면, 통신로에 접속되고 상주(resident) 캐쉬 메모리를 갖고 있는 장치들은 기입 명령의 어드레스 범위내에서 소정의 캐쉬된 데이타를 무효화시킨다. READ WITH CACHE INTENT 명령의 경우와 같이, WRITE WITH CACHE INTENT 명령은 INVALIDATE 명령과 함께 사용될 때 시스템의 성능에 상당한 장점들을 제공한다.
기입 마스크는 1개 이상의 4-비트 위치들 중에서 주장된 비트의 존재, 즉 기입될 대응하는 8-비트 바이트를 선택에 의해 나타나는 4-비트 코드이다. 그러므로, 코드 1001은 4바이트(32비트)워드 중(D[7 : 0] 및 D[31 : 24]에 각각 대응하는) 제1 및 제4바이트만이 기입된다는 것을 나타낸다.
UNLOCK WRITE MASK WITH CACHE INTENT 명령은 판독-수정-기입 동작과 같은 분할 불가능한 동작을 실시하기 위해 INTERLOCK READ 명령에 관련하여 사용된다.
제4b도로부터 알수 있는 바와 같이, 기입형 트랜잭션 동안에, 패리티(P)는 모든 트랜잭션 싸이클동안 마스터에 의해 발생된다. 이 패리티는 명령/어드레스 및 매입 중재 싸이클 동안에 모든 장치에 의해 검사되고, 데이타 싸이클 동안에는 슬레이브에 의해 검사된다.
무효 트랜잭션
무효 트랜잭션(Invalidate Transaction)은 이에 관련된 캐쉬 메모리들을 갖고 있는 시스템에 의해 사용된다. 이 무효 트랜잭션이 발생되는 것은 다른 장치의 캐쉬내에 존재할 수 있는 불확실한 데이타가 사용되지 않도록 소정의 상태하에 있는 장치에 의해서 발생된다. 제4c도에 도시한 바와같이, 이 트랜잭션의 명령/어드레스 싸이클에 있어서, 현재 마스터는 INVALIDATE 명령을 정보 라인 I[3 : 0]상에 주장하고, 무효화될 데이타의 개시 어드레스를 데이타 라인 D[290]상에서 주장한다. 무효화될 캐쉬 메모리의 연속적인 위치들의 번호는 라인 D[31 : 30]상의 데이타 길이 코드에 의해 표시된다. 명령/어드레스 싸이클 다음에는 통상적으로 매입 중재 싸이클 및 정보가 전송되지 않는 데이타 싸이클이 수반된다. 다른 다중-응답기 명령과 같이, 특정한 허용 가능 응답들은 ACK 및 NO ACK이다.
인터럽트 및 식별 트랜잭션
제4d도에는 인터럽트 트랜잭션이 도시되어 있다. 이 트랜잭션의 목적은 다른 장치(전형적으로 프로세서)에 다른 동작을 취하기 위해 현재의 동작을 인터럽트할 필요성을 알리기 위한 것이다. 인터럽트된 장치는 인터럽트 벡터를 구하기 위한 IDENT 명령에 응답한다. 이 벡터는 필요한 동작을 설정하게 될 메모리내에 기억된 인터럽트 루틴(routine)의 어드레스에 대한 포인터(pointer)로서 작용한다.
인터럽트 트랜잭션은 명령/어드레스 싸이클, 매입 중재 싸이클 및 정보가 전송되지 않는 데이타 싸이클을 포함한다. 명령/어드레스 싸이클 동안, 인터럽트 명령 코드는 인터럽트를 요하는 장치에 의해 정보 라인 I[3 : 0]상에서 주장된다. 이 싸이클 동안, 인터럽팅 장치(interrupting device]는 요구된 써비스의 긴급성을 식별하기 위해 1개 이상의 인터럽트 우선 순위 레벨을 데이타 라인 D[13 : 16]상에서 주장한다. 또한, 이 인터럽트 장치는 인터럽트 수신지 마스크를 데이타 라인 D[15 : 0]상에 배치시킨다. 이 마스크는 인터럽트가 지향되는 장치를 지정한다. 통신로 상의 모든 장치들은 이 마스크를 수신한다. 마스크 내의 소정의 주장된 비트가 장치의 디코드된 ID에 대응하면, 이때 장치가 선택된다. 그 다음에, 이 장치는 식별 트랜잭션에 응답한다.
인터럽트에 의해 선택되는 장치들은 명령/어드레스 싸이클 다음의 2개의 싸이클 동안 ACK 신호를 송신 함으로써 응답한다. 모든 다른 다중-응답기 명령에서와 같이, ACK 및 NO ACK는 허용 가능한 응답들이다.
인터럽트 동안에 선택된 장치들은 인터럽트 프로세스를 완료하기 위해서 후속 트랜잭션에 인터럽트-요구 장치를 결합시킬 수 있다. 따라서, 각각의 응답 장치는 인터럽트가 대응 레벨에서 수신되었는지의 여부를 나타내기 위해 각각의 인터럽트 레벨에 대한 기록을 유지한다. 전형적으로, 이 "기록"은 플립플롭내의 플래그 비트로 구성된다(이후부터, 인터럽트 펜딩 플립-플롭이라 칭함). 각각의 비트는 대응 인터럽트가 써비스될 때까지 계속 셋트된 상태로 유지된다.
제2 및 제3싸이클은 상술한 바와 같은 통상적인 매입 중제 싸이클과 더 이상 정보가 송신되지 않는 데이타 싸이클을 포함한다. 확인은 다중-응답기 명령, 즉 ACK 또는 NO ACK에 대해 허용가능한 확인 코드들 중 1개의 확인 코드에 의해 행해진다.
제4e도에는 식별 트랜잭션이 도시되어 있다. 이 드랜잭션은 인터럽트 트랜잭션에 응답하여 발생된다. 명령/어드레스 싸이클 동안 현재 마스터는 IDENTIFY 명령 코드를 정보 라인 I[3 : 0]상에서 주장하고, 써비스될 1개 이상의 인터럽트 레벨에 대응하는 코드를 데이타 라인 D[l9 : 16]상에서 주장한다. 이 현재 마스터는 BSY를 주장하고, NO ARB를 주장하지는 않는다. 다음 싸이클은 통상적으로 매입 중재 싸이클이다.
다음 싸이클에 있어서, 현재 마스터는 이 현재 마스터의 ID 번호를 디코드된 형태로 데이타 라인 D[3l : 16]상에서 다시 주장한다. 명령/어드레스 싸이클에서 지정된 인터럽트 레벨에서 써비스를 요구하는 각각의 장치는 디코드된 마스터 ID를 이 장치가 IDENTIFY 명령이 보내지는 장치들 중 한 장치인지의 여부를 결정하기 위해 이미 전송된 인터럽트 수신지 마스크와 비교한다. 각각의 장치가 그러한 장치라는 것을 결정하면, 이 장치는 인터럽트 중재 싸이클에 관련되는 가능한 슬레이브로서 이 장치의 상태를 나타낸다. 디코드된 마스터와 인터럽트 중재 싸이클 동안에, 인터럽트 슬레이브는 BSY및 NO ARB를 주장한다. 인터럽트 중재 싸이클동안에, 인터럽트 벡터를 송신하도록 중재하는 장치는 이 장치의 디코드된 ID 번호를 데이타 라인 D[31 : 16]중 어느 한 라인상에서 주장한다. 중재는 상술한 방법, 즉 최고 우선 순위(최저 ID번호)를 갖고 있는 장치가 중재를 "획득"함으로써 슬레이브로 되는 방법으로 행해진다. 그다음, 슬레이브는 이 슬레이브의 인터럽트 벡터를 데이타 라인들상에서 주장한다. 이 벡터는 인터럽트 써비스 루틴의 개시를 식별하는 다른 벡터를 갖고 있는 메모리내의 위치를 지적한다. 이와 때를 같이하여, 슬레이브는 정보 라인 I[3 : 0]상에 벡터 상태 코드를 송신하여 데이타 상태가 판독 트랜잭션동안의 이 정보 라인들상에서의 판독 데이타를 나타내는 것과 마찬가지로 벡터 상태를 나타낸다.
상술한 트랜잭션에서와 같이, BSY 신호는 제1 싸이클로부터 최종 예상 싸이클까지의 트랜잭션 동안 마스터에 의해 주장되는 반면, NO ARB는 매입 중재 싸이클로부터 최종 예상 싸이클까지 주장된다.
AKC. NO ACK, STALL 및 RETRY는 IDENTIFY 명령에 응답하여 슬레이브에 의해 주장될 수 있다. 이 응답은 모든 다른 형태의 트랜잭션보다 2싸이클만큼 늦은 싸이클 5에서 발생한다. 벡터 싸이클 다음의 2개의 싸이클 동안에, 마스터는 트랜잭션의 성공적 완료를 나타내기 위해 ACK 확인 코드를 주장한다. IDENTIFY 명령에 대한 슬레이브의 긍정 응답을 수신하면, 마스터는 인터럽트 벡터가 송신되는 인터럽트 레벨에 대응하는 인터럽트 펜딩 플립플롭을 리셋트한다. 슬레이브가 인터럽트 벡터의 전송에 대해 마스터의 긍정 응답을 수신하지 못하면, 슬레이브는 인터럽트 트랜잭션으로 재송신한다.
장치가 명령/어드레스 또는 디코드된 마스터 ID 싸이클에서 패리티 오류를 검출한 경우에는 이 장치는 인터럽트 중재 싸이클에 관련될 수 없다.
인터럽트 중재 싸이클동안 중재되지만 중재를 상실한 장치는 INTERRUPT 명령을 다시 발생시켜야 한다. 이것은 이미 지정된 인터럽트가 상실되지 않게 한다.
인터프로세서 인터럽트 트랜잭션
1개의 프로세서가 1개 이상의 다른 프로세서들을 인터럽트하도록 할때 간단한 형태의 인터럽트가 멀티프로세서 시스템에 제공된다. 제4f도에 도시한 인터프로세서 인터럽트 트랜잭션(Interprocessor Interrupt Transaction)은 명령/어드레스 싸이클, 매입 중재 싸이클 및 정보가 송신되지 않는 데이타 싸이클을 포함한다.
본 명세서에서 상호 통신 수단을 설명하는데 사용된 특정 실시예에 있어서, 이 트랜잭션은 3개의 레지스터, 즉 인터프로세서 인터럽트 마스크, 수신지(Destination) 및 소오스 레지스터(212,214 및 216)을 사용한다(제7a도 참조). 마스크 레지스터는 인터프로세서 인터럽트 명령이 받아들여지는 프로세서를 식별하는 필드(field)를 포함한다. 수신지 레지스터는 인터프로세서, 인터럽트 명령이 지향되는 프로세서를 식별하는 필드를 포함하고, 소오스 레지스터는 프로세서에 의해 수신된 인터프로세서 인터럽트 트랜잭션의 소오스를 식별하는 필드를 포함한다.
명령/어드레스 싸이클 동안에, 인터럽트 프로세서는 정보 라인 I[3 : 0]상에서 INTERPROCESSOR INTERRUPT 명령 코드를 주장함과 동시에, 이 인터럽트 프로세서는 데이타 라인 D[31 : 16]상에서 이 프로세서의 디코드된 마스터 ID를 주장하고, 데이타 라인 D[15 : 0]상에서 (예를 들어, 인터프로세서 인터럽트 수신지 레지스터로부터의) 수신지 코드를 주장한다. 다음의 매입 중재 싸이클 동안에, 인터럽트 프로세서는 정보 라인 I[3 : 0]상에서 이 프로세서의 ID를 주장하고, 중재는 통상적인 방법으로 진행된다.
제3싸이클 동안에, 명령/어드레스 싸이클에서 주장된 수신지 코드에 의해 어드레스된 장치들은 디코드된마스터 ID를 마스크 레지스터내의 마스크와 비교하여 마스터가 이 장치들이 응답할 수 있는 장치인지의 여부를 결정한다. 부수적으로, 응답할 수 있는 장치이면, 인터럽트 장치들의 동일성을 유지하기 위해 디코드된 마스터 ID가 인터프로세서 인터럽트 소오스 레지스터내에 양호하게 기억된다. 이렇게 함으로써 인터럽트 트랜잭션에서 행해지는 것과 같이 인터럽트 벡터를 요하는 프로세서의 오버헤드(overhead)를 절약하게 된다. 허용 가능한 슬레이브 확인 신호들은 그 밖의 다른 다중 응답기 명령의 경우와 같이 ACK 및 NO ACK이다.
정지 트랜잭션 .
정지 트랜잭션(Stop Transaction)은 제4g도에 도시되어 있다. 이 정지 트랜잭션은 고장난 시스템을 용이하게 진단할 수 있는데, 선택된 장치들을 슬레이브로서 계속 응답시키면서 이 선택된 장치들에 의해 추가적인 트랜잭션이 발생하는것을 중지시킴으로써 고장난 시스템의 진단이 용이하게 이루어진다. 정지 트랜잭션에 의해 선택된 장치들은 펜딩 마스터 상태를 무효화시켜야 하고, NO ARB를 주장하지 않아야 한다. 오류 진단을 용이하게 하기 위해, 이러한 장치들은 정지 트랜잭션시에 존재하는 오류 상태에 관한 최소한의 정보를 유지하는 것이 바람직하다. 예를 들어, 통신로 버스 오류 레지스터(204, 제7d도)내에 포함된 정보가 후속 분석을 위해 유지되는 것이 요구된다.
명령/레지스터 싸이클동안에, 정지 트랜잭션을 실행하는 현재 마스터는 정보 라인 I[3 : 0]상에 적절한 STOP(정지) 명령을 주장하고, 데이타 라인 D[31 : 0]상에서 수신지 마스크를 주장한다. 이 마스크는 셋트시에, 정지될 장치들을 식별하는 다수의 비트를 포함한다. 명령/어드레스 싸이클 다음에는 통상적인 매입 중재 싸이클 및 정보가 송신되지 않는 데이타 싸이클이 뒤따른다. 명령/어드레스 싸이클 동안에 송신된 정보는 정지 트랜잭션에 의해 선택된 모든 장치들에 의해 나중의 2개의 싸이클 동안 확인된다.
방송 트랜잭션
제4h도에 도시한 방송 트랜잭션(Broadcast Transaction)은 통신로상의 장치들에 중요한 사건을 널리 알리고 인터럽트 트랜잭션의 오버헤드에 따른 비용을 제거하는 편리한 수단을 제공한다. 트랜잭션의 명령/어드레스 싸이클 동안에, 방송 트랜잭션을 개시하는 현재 마스터는 정보 라인 I[3 : 0]상에서 적절한 BROADCAST 명령 코드를 주장하고, 데이타 라인 D[31 : 10]상에 2-비트 데이타 길이 코드를 배치시킨다. 이와 때를 같이하여, 이 현재 마스터는 데이타 라인 D[15 : 0]상에서 수신지 마스크를 배치시킨다. 이 마스크는 방송 트랜잭션에 의해 선택되는 장치들을 지정한다. 예를 들어, 데이타 라인(2,3,5,9,12,13 및 14)상에 주장된 "1"비트는 방송(BROADCAST)을 수신하기 위한 장치 (2,3,5,9,12,13 및 14)를 선택한다. 명령/어드레스 싸이클 다음에는 통상의 매입 중재 싸이클이 뒤따르고 이어서 1이상의 데이타 싸이클이 뒤따른다. 설명의 목적만을 위해, 제4h도에는 2개의 데이타 싸이클만을 도시하였다. 이 데이타 자체는 마스터에 의해 데이타 라인 D[31 : 0]상에서 주장된다. 기입형 트랜잭션에서와 마찬가지로, 슬레이브는 2개의 싸이클후에 ACK 또는 NO ACK를 발생시킨다.
레지스터 보수(Register Complement)
제7a도에는 본 발명의 상호 접속 수단의 실시예에 포함된 레지스터 화일(file)이 도시되어 있다. 레지스터 파일에는 장치-형 레지스터(200), 제어 및 상태 레지스터(202), 버스 오류 레지스터(204), 오류 인터럽트 제어 레지스터(206), 오류 벡터 레지스터(208), 인터럽트 수신지 레지스터(210), 인터프로세서 인터럽트 마스크 레지스터 (212), 인터프로세서 인터럽트 수신지 레지스터(214) 및 인터프로세서 인터럽트 소오스 레지스터(216)이 포함된다. 이 레지스터들은 32비트 레지스터[예를 들어, 레지스터(200,204)]와 16비트 레지스터[예를 들어, 레지스터 (202,206,208,210,212,214 및 216)]으로 구성된다.
장치-형 레지스터(200, 제7b도)에서, 이 장치-형 레지스터용 코드는 레지스터의 하반부(DTR[15 : 0])에 기억된다. 장치-형 레지스터는 시스템의 전력 증가시 또는 시스템의 후속 초기화시에 레지스터내에 적재된다. 이 레지스터는 시스템 구성을 최적화시키고 동적으로 재배치하기 위해 시스템에 장치들이 어떻게 접속되는지를 결정하기 위해 통상적으로 프로세서와 같은 시스템내의 다른 요소들에 의해 조회될 수 있다. 수정 코드 필드(Revision Code Field) (DTR[31 : 16])은 장치-형 레지스터의 상반부에 제공된다.
제어 및 상태 레지스터(Control and Status Register : CSR) (202)는 장치 및 이 장치가 부착되는 상호접속 수단내의 여러가지 조건들의 상태들을 나타내는 다수의 비트를 포함한다. 부수적으로, 이 제어 및 상태 레지스터는 통신로의 제어를 중재하는데 사용되는 정보를 기억한다. 그러므로, 비트 CSR[3 : 0]은 전력증가시 또는 후속 초기화시에도 이 레지스터내에 적재되는 엔코드된 형태의 장치 ID를 기억한다.
비트 CSR[5 : 4]는 장치가 중재되는 중재(Arbitration : Arb) 모우드를 지정한다. 이미 기술한 바와 같이, 이 모우드들은 "이중 라운드 로빈", 고정된 고 레벨, 고정된 저 레벨, 및 중재 불능 모우드를 포함한다. 전력 증가시 또는 후속 초기화시에, 중재 모우드는 "이중 라운드 로빈" 모우드로 셋트된다. 그러나, 이 모우드는 시스템 동작중에 이 비트들에 다른 모우드를 기입시킴으로써 변환될 수 있다.
CSR[7] 및 CSR[6]은 각각 하드 오류 인터럽트 엔에이블(Hard Error Interrupt Enable : HEIE) 및 소프트 오류 인터럽트 엔에인블(Soft Error Interrupt Enable : SEIE)비트이다. 셋트시에, 이 CSR[7] 및 CSR[6]은 하드 오류 요약(Hard Error Summary : HES) 비트 CSR[15] 또는 소프트 오류 요약(Soft Error Summary : SES)비트 CSR[14]가 각각 셋트될 때마다(이후부터 오류 인터럽트 트랜잭션이라 함) 인터럽트 트랜잭션을 발생시키도록 장치를 엔에이블시킨다. 이 후자의 비트들은 하드 또는 소프트 오류가 검출될 때 각각 셋트된다. "하드" 오류는 이 시스템상의 데이타의 집중도에 영향을 미치는 오류인데. 예를들면 데이타 송신 중에 데이타 라인들상에서 검출된 패리티 오류는 하드 오류이다. 이와 반대로 "소프트"오류는 시스템 내의 데이타의 집중도에 영향을 미치지 않는 오류인데 예를 들어 매입 중재 싸이클 동안에 식별 라인 I[3 : 0]상에서 검출된 패리티 오류는 장치에 의해 부정확하게 계산될 수 있지만 통신로상의 데이타의 집중도에는 영향을 미치지 않는다. 따라서, 이 오류는 소프트 오류이다.
언록크 기입 펜딩 (Unlock Write Pending ; UWP) 비트 CSR[8]은 인터록크 판독 트랜잭션이 장치에 의해 성공적으로 송신되었으나, 후속 UNLOCK WRITE MASK WITH CACHE INTENT 명령이 아직 전송되지 않았다는 것을 나타낸다. 개시 자체 검사(Start Self Test ; STS)비트 CSR[10]은 셋트시에, 상호 접속 논리 동작을 검사하는 자체 검사를 나타낸다. 자체 검사 상태(Self Test Status , STS) CSR[11]은 이 자체 검사가 성공적으로 완료될 때까지 계속 리셋트되는데, 이 완료시에, STS 비트는 검사의 성공적인 완료를 표시하도록 셋트된다. 또한, 브로크(BROKE)비트 CSR[12]는 장치가 자체 검사에 실패했을 경우에 셋트된다.
초기화(Initialization : INIT)비트 CSR[13]은 시스템 초기화에 관련하여 사용된다. 예를 들어, 이 비트는 장치가 초기화 과정을 수행하는 동안에 상태 지시자(indicator)로서 사용될 수 있다. CSR[23 : 16]은 특정한 형태의 상호 접속 수단을 지정한다. 비트 CSR[31 : 24]는 여기서는 사용하지 않는다.
버스 오류 레지스터(Bus Error Register : BET) (204)는 시스템 동작중에 여러가지 오류 조건들을 기억한다. 널 패리티 오류(Null Parity Error : NPE)비트 BER[2], 정정 판독 데이타(Corrected Read Data ; CRD)비트 BER[1] 및 ID 패리티 오류(ID Parity Error : IPE)비트 BER[2]는 소프트 오류를 기억하지만, 나머지 비트들은 하드 오류를 기억한다. 널 패리티 오류 비트는 NO ARB 및 BSY가 주장되지않는 2-싸이클 순서의 제2싸이클 동안에 부정확한 패리티가 검출된 경우에 셋트된다. 정정 판독 데이타 비트는 정정 판독 데이타 상태 코드가 판독-형 트랜잭션에 응답하여 수신되는 경우에 셋트된다. ID 패리티 오류 비트는 패리티 오류가 매입 중재 싸이클 동안에 엔코드된 마스터 ID를 전송하는 라인 I[3 : 0]들상에서 검출되는 경우에 셋트된다.
불법 확인 오류(Illegal Confirmation Error : ICE)비트 BER[16]은 트랜잭션중의 불법 확인 코드의 수신을 나타낸다. 부재 어드레스(Nonexistent Address , NEX)비트 BER[17]은 판독-형 또는 기입-형 명령에 응답하여 NO ACK 수신에 의해 셋트된다. 버스 타임아웃(Bus Timeout ; BTO) 비트 BER[18]은 펜딩 마스터가 상호 접속 수단의 제어를 취하기 위해 선정된 싸이클 수 이상으로 대기하는 경우에 셋트된다. 본 명세서에 기술한 특정한 실시 예에서는, 4096번의 싸이클의 타임아웃이 실행된다. STALL 타임아웃(STALL Timeout : STO)비트 BER[19]는 응답(슬레이브)장치가 선정된 싸이클 수보다 많은 싸이클에 대해 STALL을 응답 라인 CNF[2 : 0]상에서 주장하는 경우에 셋트된다. 본 실시 예에서는, 128개의 싸이클후에 STALL 타임아웃이 발생한다. RETRY 타임아웃(RETRY Timeout : RTO)비트 BER[20]는 현재 마스터가 통신하는 슬레이브로부터 선정된 수의 연속 RETRY 응답을 수신하는 경우에 셋트된다. 본 실시예에서, 이 타임아웃은 128개의 연속 RETRY 응답에 대해 셋트된다
판독 데이타 대용IRead Data Substitute : RDS) 비트 BER[21]은 판독 데이타 대용 또는 예약(Reserved) 상태 코드를 포함하는 데이타 상태가 판독-형 또는 식별 트랜잭션 이행 동안에 수신되고, 이 싸이클 동안 패리티 오류가 없는 경우에 셋트된다. 슬레이브 패리티 오류(Slave Parity Error : SPE)비트 BER[22]는 슬레이브가 기입형 또는 방송 트랜잭션의 데이타 싸이클 동안에 통신로상에서 패리티 오류를 검출할 때 셋트된다. 명령 패리티 오류(Command Parity Error ; CPE)비트 BER[23])은 패리티 오류가 명령/어드레스 싸이클동안 검출될 때 셋트된다.
식별 벡터 오류(Identify Vector Error : IVE)비트 BER[24]는 마스터 식별 트랜잭션으로 ACK에 의해서가 아니라 확인 코드 수신시에 슬레이브에 의해 셋트된다. 고장 중 송신기(Transmitter During Fault : TDF)비트 BER[25]는 SPE, MPE, CPE 또는 IPE 비트를 셋팅시키는 싸이클 동안 데이타 및 정보 라인들상에(또는, 매입 중재 중에는 직접 정보 라인 들상에) 정보를 주장하고 있었던 경우에 셋트된다. 인터록크 순서 오류(Interlock Sequence Error : ISE)비트 BER[26]은 대응하는 인터록크 판독 트랜잭션을 미리 송신하지 않고서도 마스터가 기입 언록크 트랜잭션을 성공적으로 송신한 경우에 셋트된다. 마스터 패리티 오류(Master Parity Error : MPE) 비트 BER[27]은 라인 CNF[2 : 0]들상의 ACK 확인을 갖고 있는 데이타 싸이클 동안에 마스터가 패리티 오류를 검출하는 경우에 셋트된다. 제어 전송 오류(Control Transmit Error ; CTE) 비트 BER[28]은 장치가 NO ARB, BSY 또는 CNF 라인들을 주장하려고 시도할 때 이 라인들상에서 이 장치가 주장되지 않은 상태를 검출한 때 셋트된다. 마지막으로, 마스터 송신 검사 오류(Master Transmit Check Error : MTCE)비트 BER[29]는 마스터가 데이타, 정보 또는 패리티 라인상에서 주장하는 데이타가 이 라인들상에 실제로 존재하는 데이타와 일치하지 않을 때 셋트된다. 그러나, 매입 중재중에 마스터 ID의 주장은 검사되지 않는다.
제7e도를 참조하면, 오류 인터럽트 제어 레지스터(Error Interrupt Control Register ; EICR) (206)의 구조가 상세하게 도시되어 있다. 한 비트가 버스 오류 레지스터내에 셋트되고 적절한 오류 인터럽트 엔에이볼 비트가 제어 및 상태 레지스터 내에 셋트될 때, 또는 강제(force)을 비트가 오류 인터럽트 제어 레지스터내에 셋트될 때, 오류 인터럽트가 발생한다. 강제비트 EICR[13 : 2]는 오류 인터럽트 벡터를 포함한다. 강제비트 EICR[20]이 셋트되면, 상호 접속 수단은 비트 EICR[19 : 16]에 의해 지정된 레벨에서 오류 인터럽트 트랜잭션을 발생시킨다. 송신(Sent)비트 ECIR[21]은 오류 인터럽트가 송신된 후에 셋트된다. 셋트시에, 이 송신 비트는 이 레지스터에 의해 더 이상의 인터럽트가 발생하지 못하게 한다. 이 비트는 오류 인터럽트에 대한 인터럽트 중재를 상실시에 리셋트된다. 인터럽트 완료(Interrupt Completion : INTC) 비트 EICR[23]은 오류 인터럽트 벡터의 성공적인 송신시에 셋트된다.
인터럽트 포기(정지) (Interrupt Abort ; INTAB)비트 EICR[24]는 오류 인터럽트 트랜잭션이 성공적이지 못한 경우에 셋트된다.
제7f도를 참조하면, 인터럽트 수신지 레지스터(Interrupt Destination Register ; IDR) (210)은 상술한 바와 같이 장치가 이 장치에 의해 개시된 인터럽트 명령에 의해 선택되는지를 식별하는 인터럽트 수신지 필드 IDR[15 : 0]를 포함한다.
제7g도에는 인터프로세서 인터럽트 마스크 레지스터(Interprocessor Interrupt Mask Register ; IIMR) (212)가 도시되어 있다. 이 레지스터는 인터프로세서 인터럽트가 받아들일 장치를 식별하는 마스크 필드 IMR[31 : 16]을 포함한다. 이와 마찬가지로, 인터프로세서 인터럽트 수신지 레지스터(Interprocessor Interrupt Destination Register : IIDR)(214)는 인터프로세서 인터럽트 명령이 보내지는 장치를 식별하는 수신지 필드 IIDR[15 : 0]을 포함한다. 마지막으로 인터프로세서 인터럽트 소오스 레지스터(Interprocessor Interrupt Source Register : IISR)(216)은 소오스 식별 필드 IISR[31 : 16]을 포함하는데, 이 필드는 발송 장치의 ID가 이 장치의 인터프로세서 인터럽트 마스크 레지스터와 정합하면, 이 장치에 인터프로세서 인터럽트 명령을 발송 장치의 디코드된 ID를 기억한다.
2. 통신로 제어 장치에 대한 상세한 설명
공통 통신로를 따라 상호 접속된 다수의 별도 장치들을 포함하는 컴퓨터 시스템의 성능의 결정적인 요인은 통신로의 제어가 한 장치로부터 다른 장치사이에서 상호작용이 자주 발생하는 다중 마스터를 갖고 있는 시스템에서 특히 중요하다. 본 발명에서 통신로의 제어를 한 장치로부터 다른 장치로 순서대로 이전시키는 것은 통신로상의 단일 라인만을 각각 필요로 하는 2개의 제어 신호, 즉 BSY 및 NO ARB만을 사용함으로써 효율적으로 제공된다.
본 발명에 따르면, 주장될 때의 BSY는 다른 상황하의 장치, 즉 트랜잭션의 개시를 지연시키기 위한 장치, (STALL 명령과 함께)개시되는 트랜잭션의 진행을 지연시키기 위한 장치 및 통신로에 대한 억세스가 내부 통로를 따라 장치의 한부분으로부터 다른 부분으로 정보를 보내기 위한 장치에 제공되는 소정의 특정한 모우드에 있는 장치에 의해 주장된다. 다수의 그 밖의 다른 시스템에 사용되는 관련 신호들과는 달리, BSY는 시스템에 있는 소정의 장치에 의해서도 주장될 수 있다. 이 신호는 마스터 장치에 의해서만 주장되는 것이 아니라, 트랜잭션에 참여하는 장치들에 의해서만 주장되는 것이다.
NO ARB는 통신로의 제어를 조절하기 위해 BSY와 함께 사용된다. BSY와 같이, NO ARB는 시스템내의 소정의 장치에 의해서도 주장될 수 있고, 주장되면 장치들이 시스템의 제어를 중재하지 못하게 한다. 이 목적을 달성하기 위해서, 이 NO ARB는 (다음 싸이클의 중재를 허용하기 위한) 제1싸이클 및 최종 예상 데이타 싸이클 동안을 제외하고는 통신로상의 트랜잭션의 전 (A11) 싸이클 동안 현재 마스터에 의해 주장된다. 또한, 이 NO ARB는 펜딩 마스터가 이 마스터의 펜딩 상태라 가정하는 시간으로부터(즉, 펜딩 마스터가 중재를 획득한 싸이클 다음의 싸이클로부터) 이 펜딩 마스터가 마스터로 되는 싸이클까지 상기 펜딩 마스터에 의해 주장된다. 부수적으로, 이 NO ARB는 다른 상황하의 장치들에 의해, 즉 중재 싸이클동안의 제어를 위해 중재되는 모든 장치들에 의해, STALL을 주장함으로써 트랜잭션을 연장시키를 요하는 슬레이브 장치에 의해, 그리고 BSY에 관련하여 상술한 바와 같이 특별 모우드의 장치들에 의해 주장된다. BSY신호와 같이, NO ARB는 통신로의 단일 시스템-확장 라인상의 각각의 장치에 의해 주장되므로 위치에 무관할 뿐만 아니라, 유사한 신호는 직렬 형태로 다른 장치들을 통과하는 경우 비동기 통신로상에서 조우되는 불확정적인 지연에 무관하다.
BSY 및 NO ARB기능을 제공함으로써 중요한 장점들이 제공된다. 각각의 신호는 국부적으로, 즉 제어하기 위해 이 신호를 사용하는 장치에서 발생되어, 통신로상의 단일 제어 라인쌍을 통해 시스템-확장에 기초하여 전송된다. 따라서, 이 신호들은, 제어 신호들이 다양한 장치들을 순차적으로 통과시켜야 하는 시스템에서 조우되는 가변적 지연에 무관하다. 더욱이, 이들의 구조는 위치에 무관하므로, 이 기능을 갖고 있는 장치들을 사용하는 시스템은 이 기능을 부과함에 따른 실질적인 제한을 최소화하면서 신속히 재구성될 수 있다. 더욱이, 이 신호들에 의해 제공되는 간단하면서도 완벽한 제어 능력으로 인해 대단히 간단하게 구성 될 수 있으므로, 경제적으로 실시할 수 있다. 따라서, 이 신호들이 필요로하는 라인의 수는 한정적이므로 통신로를 완전하게 제어하는데 필요한 다른 기능들과 함께 단일 집적 회로로 제조할 수 있게 된다.
상술한 장점들은 통신로의 여러가지 중태중에서 이 신호들사이의 관계를 도시한 제8도를 참조함으로써 용이하게 이해할 수 있다. 특히, 제8도에는 2개의 트랜잭션 상태(302, 304)에 각각 수반되는 아이들(idle)상태(300)이 도시되어 있다. 이 아이들 상태는 NO ARB나 BSY주장되지 않는 (“I”로 표시된) 다수의 아이들 버스 싸이클들을 포함하는 것으로 도시되어 있다. 아이들 싸이클동안 어떠한 정보도 통신로를 거쳐 통신되지 않는다. 이 아이들 상태는 장치가 통신로의 제어를 요할 때 종료된다. 이것은 NO ARB를 주장함으로써 실행되어 아이들 싸이클을 중재 싸이클(“A”)로 변환시킨다. 이때, 어떠한 장치도 NO ARB를 주장할 수 있으므로 상술한 방식으로 중재가 진행된다. 이때, 획득 장치는 트랜잭션의 명령/어드레스 (“C/A”)싸이클로 되는 다음 싸이클 동안 현재 마스터로 된다.
명령/어드레스 싸이클동안, NO ARB는 후속 트랜잭션에서 통신로의 제어를 중재해야하는 장치들을 다음 싸이클 동안 중재에 참여시키도록 주장되지는 않는다. 이와 때를 같이 하여, 장치는 BSY를 주장하여 다른 장치들에게 통신로가 트랜잭션에 의해 점유된 것을 표시한다. 이러한 주장을 최종 예상 데이타 싸이클까지 싸이클의 지속 기간동안 계속 주장된다. 이와 마찬가지로, 다음의 매입 중재(“I/A”) 싸이클 동안, 이 장치는 NO ARB를 다시 주장하여 화살표(308)로 표시한 바와 같이 최종 예상 데이타 싸이클까지 계속 유지한다. 이와 때를 같이하여, 다음 트랜잭션동안 통신로의 제어를 중재하는 장치들은 화살표(310)으로 표시한 바와 같이 NO ARB를 주장함으로써 펜딩 버스 마스터로서 장치의 상태를 주장한다. 이 장치는 다음 트랜잭션의 제1싸이클(명령/어드레스 싸이클) 동안 NO ARB를 주장하지 않으면, 그다음 화살표(314)로 표시한 바와 같이 트랜잭션의 현재 마스터로서 NO ARB를 다시 주장한다.
결론
본 명세서에 기술한 통신로 제어 장치는 디지탈 컴퓨터 시스템에서의 개개의 장치들 사이에서 통신을 제어하기 위한 간단하면서도 효율적인 수단을 제공한다. 제어를 수행하는데에는 2개의 신호들만이 필요한데, 이 신호들은 전송용 통신로의 2개의 분리된 라인만을 필요로 한다. 따라서, 제어 논리를 실시하는 것이 매우 간단하게 되고, 제어 장치는 다수의 다른 형태의 제어 논리와 함께 단일 집적 회로로서 용이하게 실시된다.

Claims (10)

  1. 다수의 버스 장치(10, 12, 22, 24), 및 NO ARB 라인과, BSY 라인(92)와, 다수의 명령 라인(80)과, 타이밍 싸이클을 정하는 타이밍 싸이클을 전송하기 위한 최소한 하나의 타이밍 라인(94, 96, 98, 100)과, 각각 상이한 버스 장치와 연관되는 다수의 중재 라인(82)를 포함하는 공통 통신로(20)을 포함하는 데이타 프로세싱 시스템에서 공통 통신로(20)에 접속되면 상기 통신로의 제어를 요청하는 제어요청 상태를 취하여 동작하는 펜딩 마스터 상태에서는 상기 통신로의 제어를 취하기 위한 다음 장치가 되는 주체 버스 장치(12)에 따라 상기 통신로를 제어하기 위한 방법에 있어서, (A). 신호가 상기 NO ARB 라인상에 주장되었는지의 여부를 결정하기 위해 상기 NO ARB 라인을 모니터하는 단계; (B), (a) 상기 주체 버스 장치(12)에 관련된 NO ARB 라인 및 중재 라인을 주장하고, (b) 선정된 우선 순위 프로토콜에 따라 우선 순위가 상기 주체 버스 장치의 우선 순위보다 높은 버스 장치에 관련되는 소정의 중재 라인상에서 신호가 주장되었는지의 여부를 결정하기 위해 다른 중재 라인들을 모니터하며, (c) 성기 주체 버스 장치가 최고 우선 순위를 갖고 있는 경우에 펜딩 마스터 상태를 취하도록함으로써 상기 통신로(20)의 다른 라인들상에서의 신호들에 무관하게, 상기 NO ARB 라인이 이전의 싸이클동안 주장되지 않았을 때마다 일정 싸이클동안 상기 통신로의 제어를 중재하는 단계; (C). 상기 주체 버스 장치가 상기 펜딩 마스터 상태에 있을 때 상기 NO ARB 라인을 주장하는 단계; (D). 상기 주체 버스 장치가 상기 펜딩 마스터 상태에 있을 때, 상기 BSY 라인(92)가 주장되지 않았는지의 여부를 결정하기 위해 상기 BSY 라인을 모니터하는 단계; 및 (E). 상기 통신로의 다른 라인들상에서의 신호들에 무관하게, NO ARB 라인의 주장을 철회하고 명령 라인들상에서 다수의 연속적인 싸이클동안 실행될 트랜잭션을 지정하는 명령 신호들을 배치시킴으로써 이전의 싸이클동안 상기 주체 버스 장치기 펜딩 마스터 상태에 있었고 상기 BSY 라인이 주장되지 않았을 때마다 일정 싸이클동안 상기 주체 버스 장치가 상기 통신로를 제어하도록 하는 단계를 포함하는 것을 특징으로 하는 방법.
  2. 다수의 버스 장치(10, 12, 22, 24), 및 다수의 명령 라인(80)과 다수의 데이타/어드레스 라인(82)와, 주장될 때 중재를 위해 다음 싸이클 동안 상기 데이타/어드레스 라인들에 대한 억세스를 배제하는 NO ARB 라인과, 주장될 때 다음 싸이클 동안 트랜잭션이 진행중이라는 것을 나타내기 명령 라인(92)와, 타이밍 싸이클을 정하는 타이밍 신호들을 전송하기 위한 최소한 하나의 타이밍 라인 (94, 96, 98, 100)을 포함하는 공통 동기식 통신로 (20)을 포함하는 데이타 프로세싱 시스템에서, 상기 타이밍 라인상의 상기 타이밍 신호들에 따른 싸이클로 동작하도록 동작하도록 상기 동기식 통신로(20)에 접속되고 각각 별도로 분리된 버스 어드레스에 관련되는 다수의 기억 위치들을 포함하는 메모리 장치(12)로 및 상기 메모리 장치로부터 기억된 데이타를 전송하기 위한 방법에 있어서, (A). 상기 BSY라인이 주장되며 또한 상기 BSY 라인은 주장되않았고 상기 NO ARB 라인이 주장된 싸이클 바로 뒤에 수반되는 명령/어드레스 싸이클을 검출하기 위해 상기 BSY 라인 및 상기 NO ARB 라인을 모니터하는 단계;(B). 상기 명령 라인들상의 판독 명령과 기입 명령중 한 명령을 검출하기 위해, 또한 상기 데이타/어드레스 라인들상에서 기억 취치에 관련되는 버스 어드레스를 나타내는 신호들을 검출하기 위해 상기 명령/어드레스 싸이클 동안 상기 명령 및 데이타/어드레스 라인들을 모니터하는 단계; 및 (C). 기억 위치에 관련되는 버스 어드레스가 상기 데이타/어드레스 라인들상에서 검출되었고, 또한 상기 판독 명령과 상기 기입 명령중 한 명령이 상기 명령 라인들상에서 검출된 상기 명령/어드레스 사이클후의 제2의 싸이클인 데이타 싸이클동안 상기 통신로상의 상기 데이타/어드레스라인들을 통해 상기 메모리 장치(12)와 다른 메모리 장치(10)사이에서 데이타를 교환하는 단계를 포함하는 것을 특징으로 하는 방법.
  3. 제2항에 있어서, 상기 통신로(20)이 상기 명령/어드레스 싸이클동안 검출된 상기 버스 어드레스에 관련되는 기억 위치들을 갖고 있는 상기 메모리 장치에 의해 명령들의 정확한 수신을 나타내기 위해 ACK 응답을 전송하기 위한 일련의 확인 라인(88)을 추가로 포함하고, 상기 교환하는 단계(C)가 실행되는 싸이클과 동일한 싸이클동안 ACK 응답을 주장하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  4. 다수의 버스 장치(10, 12, 22, 24)과, 및 NO ARB 라인(90)과, BSY 라인(92)와, 다수의 명령 라인(80)과, 타이밍 싸이클을 정하는 타이밍 신호들을 전송하기 위한 최소한 하나의 타이밍 라인(94,96,98,100)과, 각각 상기 버스 장치들과 상이한 한 버스 장치와 관련되는 다수의 중재 라인(82)를 포함하는 주장된 신호들을 송신하기 위한 공통 통신로(20)을 포함하는 데이타 프로세싱 시스템에 사용하기 위한 것으로서, 상기 타이밍 라인상의 상기 타이밍 신호들에 따른 싸이클로 동작하도록 상기 통신로에 접속되기에 적합하고, 또한 상기 통신로의 제어를 요청하는 제어 요청 상태를 취하도록 동작하는 주체 버스 장치(12)에 있어서, (A). 상기 주체 버스 장치912)가 제어 요청 상태에 있을 때 신호가 상기 NO ARB 라인상에 주장되었는지의 여부를 결정하기 위해 상기 NO ARB 라인을 모니터하기 위한 모니터링 수단(12의 18); (B). (a) 이전의 싸이클 동안 상기 NO ARB 라인상에 신호가 주장되었을 때 상기 중재 라인상에 신호들을 배치시키지 않기 위해, 또한 상기 주체 버스 장치(12)가 제어 요청 상태에 있을 때, 상기 주체 버스 장치(12)에 관련된 중재 라인상의 신호를 주장하고, (b) 선정된 우선 순위에 따라 우선 순위가 상기 주체 버스 장치의 우선 순위보다 높은 버스 장치에 관련되는 소정의 중재 라인 상에 신호가 주장되었는지의 여부를 결정하기 위해 다른 조정 라인들을 모니터하며, (c) 중재 수단(12의 18)이 상기 주체 버스 장치(12)가 최고 우선 순위를 갖고 있다는 것을 결정하면 상기 주체 버스 장치가 다음을 장치가 상기 통신로(20)을 제어한, 펜딩 마스터 상태를 추하도록 함으로써 상기 통신로의 다른 라인들상에서의 신호들에 무관하게 상기 NO ARB 라인 이전 싸이클 동안 주장되지 않았을 때마다 일정 싸이클동안 상기 통신로의 제어를 중재하기 위해 ‘상기 모니터링 수잔의 결정에 응답하는 중재 수단(12의 18); (c). 상기 주체 버스 장치(12)가 펜딩 마스터 상태에 있을 때 상기 NO ARB 라인을 주장하기 위한, 또한 상기BSY ㅎ라인이 주장되지 않았는지의 여부를 결정하기 이해 상기 BSY 라인을 모니터하기 위한 펜딩 수단(12의 18); 및 (D). 상기 NO ARB 라인의 주장을 해제함으로써, 또한 다수의 연속적인 싸이클 동안 실행될 트랜잭션을 나타내는 명령 신호들을 상기 명령 라인들상에 배치시킴으로써 상기 통신로의 다른 라인상의 신호들에 무관하게 상기 펜딩 수단(12의 18)이, 상기 BSY 라인(92)가 이전의 사이클 동안 주장되지 않았다는 것을 결정할대마다 일정 싸이클 동안 상기 통신로(20)의 제어를 취하기 위해 상기 펜딩 수단에 응답하는 현재 마스터 수단(12의 18)을 포함하는 것을 특징으로 하는 주체 버스 장치.
  5. 다수의 버스 장치(10,12,22,24) 및 통신로 타이밍 싸이클에 따라 메모리 장치(12)를 동작시키는 타이밍 신호들을 전송하기 위한 최소한 하나의 타이밍 라인(94,96,98,100)과, 신호들을 판독 및 기입 트랜잭션의 명령/어드레스 싸이클(180)으로서 지정하는 싸이클중의 판독 및 기입 명령을 포함하근 명령 신호들을 전송하기 위한 다수의 명령 라인(80)과, 상이한 시간에 상이한 형태의 정보를 반송하기 위한 것으로서 판독 및 기입 트랜잭션의 명령/어드레스 싸이클동안 기억 위치들의 버스 어드레스를 반송하며. 또한 판독 및 기입 트랜잭션의 데이타 싸이클(184)로서 지정된 싸이클동안 데이타를 반송하며, 또한 중재 싸이클(182)로서 지정된 싸이클동안 중재 싸이클을 반송하는 다수의 데이타/어드레스/중재 라인(82)와, 주장될 때 중재를 위해 다음 싸이클 동안 상기 데이타/어드레스/중재 라인(82)들에 대한 억세스를 배제하는 NO ARB 라인(90)과, 주장될 때 다음 싸이클동안 트랜잭션이 진행중인라는 것을 표시하기 명령 라인(92)를 포함하는 트랜잭션중의 상기 버스 장치들 사이에 상기 신호들을 반송하는 공통 동기식 통신로(20)을 포함하는 데이타프로세싱 시스템에 사용하기 위한 메모리 장치(12)에 있어서, (A). 데이타를 기억하기 위한 분리된 버스 어드레스에 각각 관련되는 다수의 기억 위치들을 갖고 있는 메모리 수단(12의 메모리) ; 및 (B). 상기 BSY 라인이 주장되지 않았고 상기 NO ARB 라인이 주장된 싸이클 뒤에 바로 수반되는 상기 BSY 라인이 주장되는 싸이클(180)으로서 상기 명령/어드레스 싸이클로서 검출되는 싸이클(180)을 검출하도록 상기 BSY 라인과 상기 NO ARB 라인을 중재하기 위한 수단(12의 18)을 포함하고, 상기 기억 위치들로부터 데이타를 검색하며, 또한 상기 데이타 싸이클(184)가, (1) 모니터링 수단(12의 18)이 명령/어드레스 싸이클을 검출하고, (2) 상기 위치들 중 한 위치에 관련되는 버스 어드레스가 상기 데이타/어드레스/중재 라인들상에 존재하는 동안이며, (3) 상기 판독 명령과 상기 기입 명령중 한 명령인 상기 명령 라인들상에 존재하는 싸이클 다음의 제2의 싸이클인 싸이클로서 정해지는, 상기 기억 위치들에 데이타를 기억시키기 위해 판독 및 기입 트랜잭션의 데이타 싸이클(184)동안 상기 데이타/어드레스/중재 라인(82)들을 통해 데이타의 전송을 제어하는 상기 메모리 수단에 접속된 상호 접속 수단(12의 18)을 포함하는 것을 특징으로 하는 메모리 장치.
  6. 다수의 버스 장치(10,12,22,24) 및 통신로 타이밍 싸이클에 따라 메모리 장치(12)를 동작시키는 타이밍 신호들을 전송하기 위한 최소한 하나의 타이밍 라인(94,96.98,100)과, 신호들을 판독 및 기입 트랜잭션의 명령/어드레스 싸이클(180)으로서 지정되는 싸이클중의 판독 및 기입 명령을 포함하는 명령 신호들을 반송하기 위한 다수의 명령 라인(80)과, 상이한 시간에 상이한 형태의 정보를 반송하기 위한 것으로서 판독 및 기입 트랜잭션의 명령/어드레스 싸이클 동안 기억 위치들의 버스 어드레스를 반송하며. 또한 판독 및 기입 트랜잭션의 데이타 싸이클(184)로서 지정된 싸이클 동안 데이타를 전송하며, 또한 중재 싸이클(182)로서 지정된 싸이클동안 중재 싸이클을 반송하는 다수의 데이타/어드레스/중재 라인(82)와, 주장될 때 중재를 위해 다음 싸이클 동안 상기 데이타/어드레스/중재 라인(82)들에 대한 엑세스를 배제하는 NO ARB 라인(90)과, 주장될 때 다음 싸이클 동안 트랜잭션이 진행중이라는 것을 표시하기 명령 라인(92)와, 상기 명령/어드레스 사이클동안 반송된 상기 버스 어드레스에 관련되는 기억 위치들을 갖고 있는 상기 버스 장치에 의해 판독 및 기입 명령들의 정확한 수신을 나타내도록 ACK 응답을 반송하기 위한 일련의 확인 라인(88)을 포함하는 트랜잭션중의 상기 버스 장치들 사이에 신호를 반송하기 위한 공통 동기식 통신로(20)을 포함하는 데이타 프로세싱 시스템에 사용하기 위한 메모리 장치(12)에 있어서, (A). 판독 및 기입 명령들의 정확한 수신을 나타내도록 ACK 응답을 개시하고 데이타를 기억하기 위해 분리된 버스 어드레스에 각각 관련되는 다수의 기억 위치들을 갖고 있는 메모리 수단(12의 메모리) ; 및 (B). 데이타 싸이클(184)동안 상기 확인. 라인들을 통해 상기 메모리 수단에 의해 개시된 ACK 응답의 반송을 제어하고, 또한 상기 BSY 라인이 주장되지 않았고 상기 NO ARB 라인이 주장된 싸이클 뒤에 바로 수반되는 상기 BSY 라인이 주장되는 싸이클(180)으로서 상기 명령/어드레스 싸이클로서 검출되는 싸이클(180)을 검출하도록 상기 BSY 라인과 상기 NO ARB 라인을 중재하기 위한 수단(12의 18)을 포함하고, 상기 기억 위치들로부터 데이타를 검색하고, 상기 데이타 싸이클(184가, (1) 모니터링 수단(12의 18)이 명령/어드레스 싸이클로서 검출되고, (2)상기 기억 위치들 중 한 위치에 관련되는 버스 어드레스가 상기 데이타/어드레스/중재 라인들상에 존재하는 동안이며 (3) 상기 판독 명령과 상기 기입 명령중 한 명령이 상기 명령라인들 상에 존재하는 싸이클 다음의 제2의 싸이클인 싸이클로서 정해지는, 상기 기억 위치들에 데이타를 기억시키기 위해 판독 및 기입 트랜잭션의 데이타 싸이클(184)동안 상기 데이타/어드레스/중재 라인들을 통해 데이타의 반송을 제어하는 상기 메모리 수단에 접속된 상호 접속 수단(12의 18)을 포함하는 것을 특징으로 하는 메모리 장치.
  7. 다수의 버스 장치(10.12,22.24), 및 통신로 타이밍 싸이클에 따라 대용량 기억 장치(24,16a.16b)를 동작시키는 타이밍 신호들을 전송하기 위한 최소한 하나의 타이밍 라인(94.96,98,100)과, 신호들을 판독 및 기입 트랜잭션의 명령/어드레스 싸이클(180)으로서 지정되는 싸이클중의 판독 및 기입 명령을 포함하는 명령 신호들을 반송하기 위한 다수의 명령 라인(80)과, 상이한 시간에 상이한 형태의 정보를 반송하기 위한 것으로서 판독 및 기입 트랜잭션의 명령/어드레스 싸이클(180)동안 기억 위치들의 버스 어드레스를 반송하며, 또한 판독 및 기입 트랜잭션의 데이타 싸이클(184,186)으로서 지정된 싸이클 동안 데이타를 반송하며, 또한 중재 싸이클(182)로서 지정된 싸이클동안 중재 싸이클을 반송하는 다수의 데이타/어드레스/중재 라인(82)와, 주장될 때 중재를 위해 다음 싸이클 동안 상기 데이타/어드레스/중재 라인(82)들에 대한 억세스를 배제하는 NO ARB 라인(90)과, 주장될 때 다음 싸이클 동안 트랜잭션이 진행중이라는 것을 표시하기 위한BSY 라인(92)를 포함하는 트랜잭션중의 상기 버스 장치들 사이에 상기 신호들을 반송하는 공통 동기식 통신로(20)을 포함하는 데이타 프로세싱 시스템에 사용하기 위한 상기 대용량 기억 장치(24,16a,16b)에 있어서, (A). 데이타를 기억하기 위한 분리된 버스 어드레스에 각각 관련되는 다수의 기록 위치들을 갖고 있는 메모리 수단(12의 메모리) ; 및 (B). 상기 BSY 라인이 주장되지 않았고 상기 NO ARB 라인이 주장된 싸이클 뒤에 바로 수반되는 상기 BSY 라인이 주장되는 싸이클(180)으로서 상기 명령/어드레스 싸이클로서 검출되는 싸이클(180)을 검출하도록 상기 BSY 라인과 상기 NO ARB 라인을 중재하기 위한 수단(12의 18)을 포함하고, 상기 기억 위치들로부터 데이타를 검색하며, 또한 상기 데이타 싸이클(184,186)이, (1) 모니터링 수단(12의 18)이 명령/어드레스 싸이클을 검출하고, (2) 상기 기억 위치들중 한 위치에 관련되는 버스 어드레스가 상기 데이타/어드레스/중재 라인 들상에 존재하는 동안이며, (3) 상기 판독 명령과 상기 기입명령중 한 명령이 상기 명령라인들 상에 존재하는 싸이클 다음의 제2의 싸이클인 싸이클로서 정해지는, 상기 기억 위치들에 데이타를 기억시키기 위해 판독 및 기입 트랜잭션의 데이타 싸이클(184.186) 동안 상기데이타/어드레스/중재 라인(82)들을 통해 데이타의 반송을 제어하는 상기 메모리 수단에 접속된 상호 접속수단(12의 18)을 포함하는 것을 특징으로 하는 대용량 기억 장치.
  8. 다수의 버스 장치 (10,12,22,24), 및 통신로 타이밍 싸이클에 따라 대용량 기억 장치 (24,16a,16b)를 동작시키는 타이밍 신호들을 전송하기 위한 최소한 하나의 타이밍 라인(94,96,98,100)과, 신호들을 판독 및 기입 트랜잭션의 명령/어드레스 싸이클(180)으로서 지정되는 싸이클중의 판독 및 기입 명령을 포함하는 명령 신호들을 반송하기 위한 다수의 명령 라인(80)과, 상이한 시간에 상이한 형태의 정보를 반송하기 위한 것으로서 판독 및 기입 트랜잭션의 명령/어드레스 싸이클(180) 동안 기억 위치들의 버스 어드레스를 반송하며, 또한 판독 및 기입 트랜잭션의 데이타 싸이클(184,186)로서. 지정된 싸이클동안 데이타를 반송하며, 또한 중재 싸이클(182)로서 지정된 싸이클동안 중재 싸이클을 반송하는 다수의 데이타/어드레스/중재 라인(82)와, 주장될 때 중재를 위해 다음 싸이클동안 상기 데이타/어드레스/중재 라인(82)들에 대한 억세스를 배제하는 NO ARB 라인(90)과, 주장될 때 다음 싸이클 동안 트랜잭션이 진행중이라는 것을 표시하기 위한명령 라인(92)와, 상기 명령/어드레스 싸이클동안 반송된 상기 버스 어드레스에 관련되는 기억 위치들을 갖고 있는 상기 버스 장치에 의해 판독 및 기입 명령들의 정확한 수신을 나타내도록 ACK 응답을 반송하기 위한 일련의 확인 라인(88)을 포함하는 트랜잭션중의 상기 버스 장치들 사이에 상기 신호들을 반송하는 공통 동기식 통신로(20)을 포함하는 데이타 프로세싱 시스템에 사용하기 위한 상기 대용량 기억 장치 (24,16a,16b)에 있어서, (A). 판독 및 기입 명령들의 정확한 수신을 나타내도록 ACK 응답을 개시시키며, 데이타를 기억하기 위한 분리된 버스 어드레스에 각각 관련되는 다수의 기억 위치들을 갖고 있는 메모리 수단(12의 메모리) ; 및 (B). 데이타 싸이클(184,186) 동안 상기 확인 라인들을 통해 상기 메모리 수단에 의해 개시된 ACK 응답의 반송을 제어하고, 또한 상기 BSY 라인이 주장되지 않았고 상기 NO ARB 라인이 주장된 싸이클 뒤에 바로 수반되는 상기 BSY 라인이 주장되는 싸이클(180)으로서 상기 명령/어드레스 싸이클로서 검출되는 싸이클(180)을 검출하도록 상기 BSY 라인과 상기 NO ARB 라인을 중재하기 위한 수단(12의 18)을 포함하며, 또한 상기 기억 위치들로부터 데이타를 검색하고, 또한 상기 데이타 싸이클(184,186)이 (1) 모니터링 수단(12의 18)이 명령/어드레스 싸이클로서 검출되고, (2) 상기 기억 위치들중 한 위치에 관련되는 버스 어드레스가 상기 데이타/어드레스/중재 라인들상에 존재하는 동안이며, (3) 상기 판독 명령과 상기 기입 명령중 한 명령이 상기 명령 라인들상에 존재하는 싸이클 다음의 제2의 싸이클인 싸이클로서 정해지는 상기 기억 위치들에 데이타를 기억시키기 위해 판독 및 기입 트랜잭션의 데이타 싸이클(184,186) 동안 상기 데이타/어드레스/중재 라인(82)들을 통해 데이타의 전송을 제어하는 상기 메모리 수단에 접속된 상호 접속 수단(12의 18)을 포함하는 것을 특징으로 하는 대용량 기억 장치.
  9. 다수의 버스 장치 (10,12,22.24), 통신로 타이밍 싸이클에 따라 버스 장치 (12,24)를 동작시키는 타이밍 신호들을 전송하기 위한 최소한 하나의 타이밍 라인(94,96.98,100)과, 신호들 판독 및 기입 트랜잭션의 명령/어드레스 사이클(180)으로서 지정되는 싸이클중의 판독 및 기입 명령을, 포함하는 명령 신호들을 반송하기 위한 다수의 명령 라인(80)과. 상이한 시간에 상이한 형태의 정보를 반송하기 위한 것으로서 판독 및 기입 트랜잭션의 명령/어드레스 싸이클(180) 동안 기억 위치들의 버스 어드레스를 반송하며. 또한 판독 및 기입 트랜잭션의 데이타 사이클(184.186)으로서 지정된 싸이클동안 데이타를 반송하며, 또한 중재 싸이클(182)로서 지정된 싸이클동안 중재 싸이클을 반송하는 다수의 데이타/어드레스/중재 라인(82)와, 주장될 때 중재를 위해 다음 싸이클동안 상기 데이타/어드레스/중재 라인(82)들에 대한 억세스를 배제하는 NO ARB 라인(90)과, 주장될 때 다음 싸이클 동안 트랜잭션이 진행중이라는 것을 표시하기 명령 라인(92)를 포함하는 트랜잭션중와 상기 버스 장치들 사이에 상기 신호들을 반송하는 공통 동기식 통신로(20)을 포함하는 데이타 프로세싱 시스템에 사용하기 위한 상기 버스 장치(12,24)에 있어서, (A). 데이타를 기억하기 위한 분리된 버스 어드레스에 각각 관련되는 다수의 기억 위치들을 갖고 있는 메모리 수단(12의 메모리, 16a,16b) ; 및 (B). 상기 BSY 라인이 주장되지 않았고 상기 NO ARB 라인이 주장된 싸이클 뒤에 바로 수반되는 상기 BSY 라인이 주장되는 싸이클(180)으로서 상기 명령/어드레스 싸이클로서 검출되는 싸이클(180)을 검출하도록 상기 BSY 라인과 상기 NO ARB 라인을 중재하기 위한 수단(12의 18)을 포함하고, 상기 기억 위치들로부터 데이타를 검색하고, 또한 상기 데이타 싸이클(184)가 (1) 모니터링 수단(12의 18)이 명령/어드레스 싸이클을 검출하고 (2) 상기 기억 위치들 중 한 위치에 관련되는 버스 어드레스가 상기 데이타/어드레스/중재 라인들 상에 존재하는 동안이며, (3) 상기 판독 명령과 상기 기입 명령중 한 명령이 상기명령 라인들 상에 존재하는 싸이클 다음의 제2의 싸이클인 싸이클로서 정해지는 상기 기억 위치들에 데이타를 기억시키기 의해 판독 및 기입 트랜잭션의 데이타 싸이클(184.186) 동안 상기 데이타/어드레스/중재 라인(82)들을 통해 데이타의 전송을 제어하는 상기 메모리 수단에 접속된 상호접속 수단(12의 18)을 포함하는 것을 특징으로 하는 버스 장치.
  10. 다수의 버스 장치들(10,12,22,24), 및 통신로 타이밍 싸이클에 따라 버스 장치(12, 24)를 동작시키는 타이밍신호들을 전송하기 위한 최소한 하나의 타이밍 라인(94,96.98,100)과, 신호들을 판독 및 기입 트랜잭션의 명령/어드레스 싸이클(180)으로서 지정되는 싸이클중의 판독 및 기입 명령을 포함하는 명령신호들을 반송하기 위한 다수의 명령 라인(80)과, 상이한 시간에 상이한 형채의 정보를 반송하기 위한 것으로서 판독 및 기입 트랜잭션의 명령/어드레스 싸이클(180)동안 기억 위치들의 버스 어드레스를 반송하며, 또한 판독및 기입 트랜잭션의 데이타 싸이클(184,186)으로서 지정된 싸이클동안 데이타를 반송하며, 또한 중재 싸이클(182)로서 지정된 싸이클동안 중재 마이클을 반송하는 다수의 데이타 어드레스/중재 라인(82)와. 주장될때 중재를 위해 다음 싸이클 동안 상기 데이타/어드레스/중재 라인 (82)들에 대한 억세스를 배제하는 NO ARB 라인(90)과, 주장될 때 다음 싸이클 동안 트랜잭션이 진행중이라는 것을 표시하기 명령 라인(92)와, 상기 명령/명령어드레스 싸이클(180) 동안 반송된 상기 버스 어드레스에 관련되는 기억 위치들을 갖고있는 버스 장치에 의해 판독 및 기입 명령들의 정확한 수신을 나타도록 ACK 응답을 반송하기 의한 일련의 확인 라인(88)을 포함하는 트랜잭션중의 상기 버스들사이에 상기 신호들을 반송하는 공통 동기식 통신로(20)을 포함하는 데이타 프로세싱 시스템에 사용하기 위한 상기 버스 장치(12.24)에 있어서, (A). 판독 및 기입 명령들의 정확한 수신을 나타내도록 ACK 응답을 개시시키며, 데이타를 기억하기 위한 분리된 버스어드레스에 각각 관련되는 다수의 기억 위치들을 가지고 있는 메모리 수단(12의 메모리) ; 및 (B,). 데이타 싸이클(184,186) 동안 상기 확인 라인들을 통해 상기 메도리 수단에 의해 개시된 ACK 응답의 반송을 제어하고, 또한 상기 BSY 라인이 주장되지 않았고 상기 NO ARB 라인이 주장된 싸이클 뒤에 바로 수반되는 상기 BSY 라인치 주장되는 싸이클(180)으로서 상기 명령/어드레스 싸이클로서 검출되는 마이클(180)을 검출하도록 상기 BSY 라인과 상기 NO ARB 라인을 중재하기 위한 수단(12의 18)을 포함하며, 또한 상기 기억 위치들로부터 데이타를 검색하고, 또한 상기 데이타 싸이클(184)가 (1) 모니터링 수단(12의 18)이 명령/어드레스 싸이클을 검출하고, (2) 상기 기억 위치들 중 한 위치에 관련되는 버스 어드레스가 상기 데이타/어드레스/중재 라인들 상에 존재하는 동안이며, (3) 상기 판독 명령과 상기 기입 명령중 한 명령이 상기 명령라인들상에 존재하는 싸이클 다음의 제2의 싸이클인 싸이클로서 정해지는 상기 기억 위치들에 데이타를 기억시키기 위해 판독 및 기입 트랜잭션의 데이타 싸이클(184) 동안 상기 데이타/어드레스/중재 라인들을 통해 데이타의 전송을 제어하는 상기 메모리 수단에 접속된 상호 접속 수단(18)을 포함하는 것을 특징으로 하는 버스 장치.
KR1019840005837A 1983-09-22 1984-09-22 동기식 버스를 갖고 있는 컴퓨터 시스템용 버스 제어 장치 및 이의 방법 KR910001791B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US06/534,781 US4661905A (en) 1983-09-22 1983-09-22 Bus-control mechanism
US534,781 1983-09-22

Publications (2)

Publication Number Publication Date
KR850002915A KR850002915A (ko) 1985-05-20
KR910001791B1 true KR910001791B1 (ko) 1991-03-23

Family

ID=24131513

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019840005837A KR910001791B1 (ko) 1983-09-22 1984-09-22 동기식 버스를 갖고 있는 컴퓨터 시스템용 버스 제어 장치 및 이의 방법

Country Status (9)

Country Link
US (1) US4661905A (ko)
EP (1) EP0139563B1 (ko)
JP (1) JP2529663B2 (ko)
KR (1) KR910001791B1 (ko)
AU (1) AU568407B2 (ko)
BR (1) BR8404837A (ko)
CA (1) CA1209272A (ko)
DE (1) DE3482512D1 (ko)
FI (1) FI86923C (ko)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4907224A (en) * 1986-10-17 1990-03-06 Bydatel Corporation Method for transmitting data in multiple access data communications networks
US4845663A (en) * 1987-09-03 1989-07-04 Minnesota Mining And Manufacturing Company Image processor with free flow pipeline bus
US4837767A (en) * 1987-09-04 1989-06-06 Digital Equipment Corporation Bus adapter module with improved error recovery in a multibus computer system
US4979097A (en) * 1987-09-04 1990-12-18 Digital Equipment Corporation Method and apparatus for interconnecting busses in a multibus computer system
US4858234A (en) * 1987-09-04 1989-08-15 Digital Equipment Corporation Method and apparatus for error recovery in a multibus computer system
US4933845A (en) * 1987-09-04 1990-06-12 Digital Equipment Corporation Reconfigurable bus
US5185879A (en) * 1988-01-21 1993-02-09 Akira Yamada Cache system and control method therefor
JP2961542B2 (ja) * 1988-03-14 1999-10-12 富士通 株式会社 データ処理システム
JPH0276057A (ja) * 1988-09-13 1990-03-15 Toshiba Corp I/oリカバリ方式
US5123100A (en) * 1989-01-13 1992-06-16 Nec Corporation Timing control method in a common bus system having delay and phase correcting circuits for transferring data in synchronization and time division slot among a plurality of transferring units
US5041962A (en) * 1989-04-14 1991-08-20 Dell Usa Corporation Computer system with means for regulating effective processing rates
US5396599A (en) * 1990-01-16 1995-03-07 Nec Electronics, Inc. Computer system with a bus controller
JPH03270431A (ja) * 1990-03-20 1991-12-02 Fujitsu Ltd プロセッサ間通信方式
US5289585A (en) * 1990-03-26 1994-02-22 Siemens Nixdorf Informationssysteme Ag Multiprocessor system having a system bus for the coupling of several processing units with appertaining private cache memories and a common main memory
US5289583A (en) * 1990-10-19 1994-02-22 International Business Machines Corporation Bus master with antilockup and no idle bus cycles
US5249297A (en) * 1991-04-29 1993-09-28 Hewlett-Packard Company Methods and apparatus for carrying out transactions in a computer system
US5255373A (en) * 1991-08-07 1993-10-19 Hewlett-Packard Company Decreasing average time to access a computer bus by eliminating arbitration delay when the bus is idle
DE69320508T2 (de) * 1992-03-04 1999-03-04 Motorola Inc Verfahren und Gerät zur Busarbitrierungsdurchführung mit einem Arbiter in einem Datenverarbeitungssystem
US5555382A (en) * 1992-04-24 1996-09-10 Digital Equipment Corporation Intelligent snoopy bus arbiter
KR100296517B1 (ko) * 1992-11-25 2001-10-24 윤종용 파이프라인식데이타순서화시스템
US5699500A (en) * 1995-06-01 1997-12-16 Ncr Corporation Reliable datagram service provider for fast messaging in a clustered environment
US5612865A (en) * 1995-06-01 1997-03-18 Ncr Corporation Dynamic hashing method for optimal distribution of locks within a clustered system
US6738852B1 (en) * 2000-09-27 2004-05-18 Palm Source, Inc. Palmtop computer expansion using shared memory access
US20060026329A1 (en) * 2004-07-30 2006-02-02 Yu James K System and method for an arbiter rewind
CN111735639B (zh) * 2020-05-26 2022-03-22 清华大学苏州汽车研究院(相城) 一种面向智能网联汽车示范区的自动驾驶场景最小集生成方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4096571A (en) * 1976-09-08 1978-06-20 Codex Corporation System for resolving memory access conflicts among processors and minimizing processor waiting times for access to memory by comparing waiting times and breaking ties by an arbitrary priority ranking
US4229791A (en) * 1978-10-25 1980-10-21 Digital Equipment Corporation Distributed arbitration circuitry for data processing system
US4488217A (en) * 1979-03-12 1984-12-11 Digital Equipment Corporation Data processing system with lock-unlock instruction facility
US4468738A (en) * 1980-07-16 1984-08-28 Ford Aerospace & Communications Corporation Bus access arbitration using unitary arithmetic resolution logic and unique logical addresses of competing processors
US4373183A (en) * 1980-08-20 1983-02-08 Ibm Corporation Bus interface units sharing a common bus using distributed control for allocation of the bus
US4402040A (en) * 1980-09-24 1983-08-30 Raytheon Company Distributed bus arbitration method and apparatus
US4381542A (en) * 1980-10-20 1983-04-26 Digital Equipment Corporation System for interrupt arbitration
CH651951A5 (de) * 1980-10-20 1985-10-15 Inventio Ag Einrichtung zur steuerung des zugriffes von prozessoren auf eine datenleitung.
US4375639A (en) * 1981-01-12 1983-03-01 Harris Corporation Synchronous bus arbiter
JPS609305B2 (ja) * 1981-04-03 1985-03-09 富士電機株式会社 バス使用権制御方式
FR2503898B1 (fr) * 1981-04-08 1986-02-28 Thomson Csf Procede et dispositif d'allocation d'une ressource dans un systeme comportant des unites de traitement de donnees autonomes
FR2513407B1 (fr) * 1981-09-24 1987-01-16 Finger Ulrich Systeme d'arbitrage des demandes d'acces de plusieurs processeurs a des ressources communes, par l'intermediaire d'un bus commun
US4560985B1 (en) * 1982-05-07 1994-04-12 Digital Equipment Corp Dual-count, round-robin ditributed arbitration technique for serial buses
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
US4787033A (en) * 1983-09-22 1988-11-22 Digital Equipment Corporation Arbitration mechanism for assigning control of a communications path in a digital computer system

Also Published As

Publication number Publication date
FI86923B (fi) 1992-07-15
EP0139563A3 (en) 1986-09-17
EP0139563B1 (en) 1990-06-13
EP0139563A2 (en) 1985-05-02
FI843715A0 (fi) 1984-09-21
AU568407B2 (en) 1987-12-24
BR8404837A (pt) 1985-08-13
KR850002915A (ko) 1985-05-20
CA1209272A (en) 1986-08-05
FI843715L (fi) 1985-03-23
FI86923C (fi) 1992-10-26
JPS60150158A (ja) 1985-08-07
JP2529663B2 (ja) 1996-08-28
US4661905A (en) 1987-04-28
DE3482512D1 (de) 1990-07-19
AU3334284A (en) 1985-03-28

Similar Documents

Publication Publication Date Title
KR910001791B1 (ko) 동기식 버스를 갖고 있는 컴퓨터 시스템용 버스 제어 장치 및 이의 방법
KR910001789B1 (ko) 디지탈 컴퓨터 시스템의 다중 프로세서 시스템용 캐쉬 무효 장치
KR910001790B1 (ko) 디지탈 컴퓨터 시스템에서의 통신로 제어 할당용 중재 장치 및 이의 중재 방법
US4763249A (en) Bus device for use in a computer system having a synchronous bus
KR910001792B1 (ko) 디지탈 컴퓨터 시스템의 데이타 프로세싱 시스템 및 이의 통신로 접속 장치
US4769768A (en) Method and apparatus for requesting service of interrupts by selected number of processors
US4648030A (en) Cache invalidation mechanism for multiprocessor systems
US4706190A (en) Retry mechanism for releasing control of a communications path in digital computer system
TW472195B (en) Method and apparatus for achieving correct order among bus memory transactions in a physically distributed SMP system
US5191649A (en) Multiprocessor computer system with data bus and ordered and out-of-order split data transactions
US5261109A (en) Distributed arbitration method and apparatus for a computer bus using arbitration groups
US5282272A (en) Interrupt distribution scheme for a computer bus
US6473849B1 (en) Implementing locks in a distributed processing system
US5459840A (en) Input/output bus architecture with parallel arbitration
US5901295A (en) Address and data bus arbiter for pipelined transactions on a split bus
US5271020A (en) Bus stretching protocol for handling invalid data
US7640315B1 (en) Implementing locks in a distributed processing system
JPH02500784A (ja) 保留バスにおいて割り込み要求メッセージを処理するノード
KR910001788B1 (ko) 다중 프로세서 시스템용 메세지 전송 인터럽팅 장치 및 이의 실행방법
EP0340347B1 (en) Bus arbitration system
US20050050253A1 (en) Programmable bus arbitration

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
G160 Decision to publish patent application
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 19920706

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee