KR960012358B1 - 펜디드 프로토콜 버스 상에서 이중 데이타 전송을 지원하는 버스 제어 장치 - Google Patents

펜디드 프로토콜 버스 상에서 이중 데이타 전송을 지원하는 버스 제어 장치 Download PDF

Info

Publication number
KR960012358B1
KR960012358B1 KR1019940024345A KR19940024345A KR960012358B1 KR 960012358 B1 KR960012358 B1 KR 960012358B1 KR 1019940024345 A KR1019940024345 A KR 1019940024345A KR 19940024345 A KR19940024345 A KR 19940024345A KR 960012358 B1 KR960012358 B1 KR 960012358B1
Authority
KR
South Korea
Prior art keywords
bus
data
processors
processor
signal
Prior art date
Application number
KR1019940024345A
Other languages
English (en)
Other versions
KR960011733A (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 재단법인 한국전자통신연구소
Priority to KR1019940024345A priority Critical patent/KR960012358B1/ko
Publication of KR960011733A publication Critical patent/KR960011733A/ko
Application granted granted Critical
Publication of KR960012358B1 publication Critical patent/KR960012358B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1652Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
    • G06F13/1657Access to multiple memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0831Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
    • 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/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1642Handling requests for interconnection or transfer for access to memory bus based on arbitration with request queuing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

내용없음.

Description

펜디드 프로토콜 버스 상에서 이중 데이타 전송을 지원하는 버스 제어 장치
제1도는 펜디드 프로토콜 버스를 가진 시스템의 구성도.
제2도는 본 발명의 구성도.
제3도는 본 발명에 따른 버스 제어 회로의 상태 천이도.
* 도면의 주요부분에 대한 부호의 설명
B1∼Bn : 버스 제어 모듈(Bus Control Module : BCM)
MM1∼MMm : 메모리 모듈 PM1∼PMn : 프로세서 모듈
P1∼Pn : 프로세서
1 : 펜디드 프로토콜 버스(Pended Protocal Bus)
10 : 버스 제어기(P-Bus Controller ; PBC)
20 : 버스 신호 수신 및 구동기(P-Bus Signal Receiver/Criver ; PBRD)
30 : 버스 감시기(P-Bus Watcher ; B-WT)
40 : ID 비교기(Identity Comparator ; ICMP)
본 발명은 여러개의 프로세서 모듈과 여러개의 메모리 모듈이 연결된 펜디드 프로토콜 버스(Pended Protocol Bus) 상에서 데이타 전송을 할 때, 한번의 버스 전송으로 동시에 두 곳의 메모리로 데이타를 전송할 수 있도록 지원하는 버스 제어 장치에 관한 것이다.
펜디드 프로토콜 버스는 다중프로세서 환경의 시스템에서 사용되는 버스로서, 하나의 데이타 전송을 요청 단계와 응답 단계로 나누어 메모리에 접근하는 방식의 버스이다.
이 버스는, 한 프로세서가 데이타 전송을 위해 메모리에 접근하는 시간 동안에는 버스를 점유하지 않아, 긴 메모리 접근 시간이 버스의 전송 속도에 영향을 주지 않도록 되어있다.
따라서, 펜디드 프로토콜은 다중 프로세서 시스템의 버스에 적용되기에 절대적으로 유리한 버스용 프로토콜이다.
또한, 다중 프로세서 컴퓨터 시스템에서 캐쉬 메모리(이하, '캐쉬'라 약칭함)를 사용하게 되면, 반드시 한 캐쉬의 데이타를 다른 캐쉬나 메모리로 전송하게 되는 경우가 생긴다.
즉, 하나의 프로세서(이하, '프로세서-A'라 함)가 메모리 장치에서 자신의 캐쉬로 특정 어드레스의 데이타를 읽어온 후에 '프로세서-A'는 그 값을 다른 값으로 바꿀 수가 있다.
그렇게 되면, 그 어드레스의 변경된 값을 가진 데이타를 오직 '프로세서-A'에만 존재하고, 이미 메모리의 데이타는 더 이상 유효하지 않다.
이때, 다른 하나의 프로세서(이하, '프로세서-B'라 함.)가 그 어드레스의 데이타를 요청할 수가 있다.
그러면, '프로세서-A'는 메모리가 그 어드레스의 데이타를 제공하는 것을 막고, '프로세서-B'의 캐쉬로 바뀐 데이타를 전송해야 한다.
이러한 상황은 캐쉬를 사용하는 다중 프로세서 시스템에서는 자주 발생된다.
이때, 그 데이타를 메모리에게도 보내주어야 하는 경우가 발생된다.
이와 같이, 종래의 경우에는 캐쉬로 데이타를 보낸 후 다시 메모리로도 데이타를 전송해야 한다.
본 발명은 펜디드 프로토콜 버스를 갖는 다중 프로세서 시스템에서 동시에 두곳 이상의 메모리나 캐쉬로 데이타를 전송하는 방법을 제시하여 시스템 버스 사용율을 줄임으로써 결과적으로 전체 시스템의 성능을 향상시키는데 목적이 있다.
즉, 본 발명에 의하면, 단 한번의 버스 전송을 수행하여 그 데이타를 필요로 하는 두곳에 동시에 데이타를 보낸다.
이와 같은 목적을 달성하기 위한 본 발명의 장치는; 펜디드 프로토콜 버스에 각각 연결되는 적어도 두개 이상씩의 프로세서들 및 메모리들을 포함하는 다중 프로세서 시스템에서 상기 프로세서들 중 어느 하나에 의해 요청된 데이타가 상기 메모리들 중 어느 하나로부터 상기 버스를 통해 읽혀지게 하고 그리고 상기 프로세서들 중 어느 하나에 의해 쓰여지는 데이타가 상기 버스를 통해 상기 메모리들 중 어느 하나로 보내지게 하는 버스 제어 수단에 있어서; 상기 버스 제어 수단은 상기 프로세서들 각각과 상기 버스 사이에 연결되는 적어도 두개 이상의 버스 제어 모듈들을 포함한다.
상기 버스 제어 모듈들 각각은 자신이 연결된 프로세서가 상기 메모리들 중 어느 하나 및 다른 프로세서들 중 하나로 데이타를 동시에 전송하는 이중 데이타 전송을 위한 소정의 제어 동작을 수행하는 제1수단과, 이 제1수단에 의해 제어되어서 상기 버스 상에 구동된 신호들을 받아들이거나 상기 버스로 신호들을 구동하는 제2수단과, 상기 프로세서들 중 어느 하나가 구동하는 사이클을 형태에 따라 상기 버스의 버스 전송을 위한 전송 형태를 생성하고 그리고 상기 버스에서 구동되는 전송 형태를 보고 그 전송에 참가해야 할지를 결정하여 상기 제1수단으로 알려주는 제3수단과, 상기 프로세서들 중 어느 하나가 보내는 데이타를 받아야 하는 상기 프로세서들 중 다른 하나 및 상기 메모리들 중 다른 하나를 나타내는 제1신호를 받아들여서 자신이 연결된 프로세서의 상기 버스 상에서의 위치를 나타내는 제2신호와 비교하여 전송된 데이타가 자신이 원하는 것인지를 알아내고, 이에 따라 상기 버스 상에 구동되고 있는 데이타가 자신이 연결된 프로세서의 것임을 나타내는 제3신호를 발생하여 상기 제1수단으로 전달하는 제4수단을 포함한다.
본 발명은 프로세서에 의해 값이 변경된 캐쉬 데이타를 가진 프로세서 모듈이, 그 데이타를 요청한 다른 프로세서 모듈의 캐쉬로 데이타를 전송하면서 동시에 메모리 모듈에도 해당 어드레스의 데이타를 변경시키고자 하는 경우에 유용하게 사용될 수 있다.
따라서 본 발명의 대상은 '1대1'의 데이타 전송이 아닌, '1대2'와 같은 데이타 전송을 행하는 경우이다.
이제부터 첨부된 도면들을 참조하면서 본 발명을 상세히 설명하겠다.
제1도는 본 발명이 적용되는 다중 프로세서 시스템의 구성을 나타낸 것이다.
제1도를 참조하여, 이 시스템에서는, 펜디드 프로토콜 버스(1)에 n개의 프로세서 모듈(PM1∼PMn)과 m개의 메모리 모듈(MM1∼MMm)이 각각 연결되어 있다.
본 발명이 적용되는 위치는 각 프로세서 모듈(PM1∼PMn)의 내부이며, 제1도에서, 굵은 선의 사각형으로 나타낸 부분(B1∼Bn)이다.
여기서는, 프로세서 모듈(PM1∼PMn) 각각에 한개의 프로세서가 각각 장착되는 경우를 가정하였다.
펜디드 프로토콜 버스(이하, 'P-BuS'라 약칭함)(1)의 동작은 앞에서 설명된 바와 같이 요청 단계와 응답 단계로 나누어져 수행되도록 되어 있기 때문에 데이타를 전송하는 쪽과 받는 쪽이 데이타 전송을 위한 신호를 상호 주고받는다.
데이타를 보내는 쪽은 자신이 누구인지를 알려주기 위한 소스 아이덴티피케이션(Source Identification ; 이하, 'SI'라 약칭함) 신호를 발생함과 동시에 어느 쪽에서 데이타를 받아야 하는지를 나타내는 데스티네이션 아이덴티피케이션(Destination Identification ; 이하, 'DI'라 약칭함) 신호를 구동한다.
또한, P-Bus(1)는 데이타 전송이 정상적으로 일어났는지를 나타내는 신호들 즉, 자신 상에서 데이타 전송이 정상적으로 완료되었음을 나타내는 데이타 어크날러지(Data Acknoledge ; 이하, 'DACK'라 약칭함) 신호와, 자신 상에서 캐쉬 데이타 전송이 정상적으로 완료되었음을 나타내는 캐쉬 데이타 어크날러지(Cache Data Acknoledge ; 이하, 'CDK'라 약칭함) 신호를 각각 발생한다.
프로세서(P1∼Pn)가 프로그램 수행을 하게 되면 필요한 데이타를 P-Bus(1)를 통해서 메모리(MM1∼MMm)에서 읽어와야 한다.
본 발명에 따른 버스 제어 모듈(Bus Control Module ; 이하, 'BCM'이라 약칭함)(B1∼Bn)은 이러한 프로세서 사이클등이 P-Bus(1)에서 정확히 진행될 수 있도록 여러 가지 제어 신호들을 만들기도 하고, 프로세서(P1∼Pn)나 메모리(MM1∼MMm)에서 보내진 데이타를 서로 상대방으로 전송하기도 한다.
또한, 본 발명의 BCM(B1∼Bn)은 일반적인 P-Bus(1)의 제어를 수행함과 동시에 이중 데이타 전송(Double Data Transfer ; 이하, 'DDT'라 약칭함)을 수행한다.
예를 들어, 제1도에서, 제1의 프로세서(P1)가 특정 어드레스의 데이타를 읽기를 제1의 BCM(B1)에게 요구했을 때, 제1 BCM(B1)은 그 요구를 P-Bus(1)로 전송한다.
이때, 예를 들어, 제1의 메모리(MM1)가 그 데이타를 가지고 있었다면, 제1의 제1메모리(MM1)는 자신이 가지고 있는 데이타를 P-Bus(1)로 전송한다.
제1 BCM(B1)은 P-Bus(1)를 통하여 이 데이타를 받아서 제1프로세서(P1)에게 전달한다.
제1프로세서(P1)는 자신의 캐쉬에 그 데이타를 저장하고 읽기 전송을 마친다.
제1프로세서(P1)는 자신의 캐쉬에 데이타를 가지고 있기 때문에 읽기나 쓰기 사이클이 발생해도 제1 BCM(B1)에 읽거나 쓰기 요청을 하지 않고, 자신의 캐쉬를 읽거나 쓰기를 하여 사이클을 진행시킨다. 단지, 쓰기 사이클인 경우에는 전체 시스템에서 그 어드레스의 유효한 데이타를 자신만이 가지고 있다는 표시만 해둔다.
이때, 예를 들어, 제2의 프로세서(P2)가 그 어드레스의 데이타를 P-Bus(1)를 통해서 요구하면 제1 BCM(B!)이 그 사실을 제1프로세서(P1)에게 알려서 제1프로세서(P1)의 캐쉬에만 있는 유효한 데이타를 제2프로세서(P2)에게 보내야 한다는 것을 안다.
제1프로세서(P1)는 자신의 캐쉬 데이타를 제2프로세서(P2)에게 보내기 위해 쓰기 사이클을 진행시킨다.
이때, 제1 BCM(B1)은 이 사이클을 보고 P-Bus(1)로 쓰기 사이클을 진행하면서 이중 데이타 전송(DDT)을 시작한다.
이중 데이타 전송(DDT)은 제1메모리(MM1)와 제2프로세서(P2)에게 동시에 데이타를 전달하기 위한 것이며, 이로써 제2프로세서(P2)는 마치 제1메모리(MM1)로부터 데이타를 읽어간 것과 동일한 효과를 지니게 된다.
제2도는 본 발명에 따른 BCM의 구성을 나타낸 것이다.
제2도를 참조하여, BCM은 크게 네개의 서브 모듈 즉, 버스 제어기(P-Bus Controller ; 이하, 'PBC'라 약칭함)(10)와, 버스 신호 수신 및 구동기(P-Bus Signal Receiver/Driver ; 이하, 'PBRD'라 약칭함)(20)와, 버스 감시기(P-Bus Watcher ; 이하, 'B-WT'라 약칭함)(30) 및 ID 비교기(Identity Comparator ; 이하 'ICMP'라 약칭함)(40)로 구성된다.
각각의 서브 모듈의 기능은 다음과 같다.
버스 제어기(PBC)(10)는 각 서브 모듈들을 제어하는 신호를 만들어내는 부분이다.
프로세서(P1∼Pn)에 의해 요청된 데이타는 P-Bus(1)를 통해 메모리 모듈(MM1∼MMm)로부터 읽혀지게 되고, 프로세서(P1∼Pn)에 의해 쓰여지는 데이타는 P-Bus(1)를 통해 메모리 모듈(MM1∼MMm)로 보내진다. PBC(10)는 이를 위한 제어 신호들을 생성하기 위한 스테이트 머신(State Machine)을 가지고 있다.
이에 대해서는 추후 제3도를 참조하여 상세히 설명될 것이다.
버스 신호 수신 및 구동기(PBRD) (20)는 P-Bus(1)에서 구동되는 신호들을 받아들이거나, P-Bus(1)로 신호들을 구동하기 위한 소자들로 이루어져 있다.
P-Bus(1)로부터의 신호들을 받아들이거나 P-Bus(1)로 신호들을 보내기 위한 제어 신호들은 PBC(10)가 만들어 낸다.
버스 감시기(B-WT) (30)는 프로세서(P1∼Pn)가 구동하는 사이클의 형태에 따라 P-Bus(1)의 버스 전송을 위한 전송 형태를 생성하고, P-Bus(1)에서 구동되는 전송 형태를 보고 자신이 그 전송에 참가해야 할지를 결정한다.
ID 비교기(ICMP)(40)는 P-Bus(1)에 의해 구동된 프로세서로부터의 데스티네이션 아이덴티피케이션(DI) 신호와, 자신이 소속된 모듈의 P-Bus(1)상에서의 위치를 나타내는 지오그래픽 어드레스(Geographic Address ; 이하, 'GA'라 약칭함) 신호를 비교하여 다른 프로세서로부터 전송된 데이타가 자신이 원하는 것인지를 알아내고, 이에 따라 P-Bus(1)에 구동되고 있는 데이타가 자신이 속한 모듈의 것임을 나타내는 myid 신호를 발생하여 PBC(10)로 전달한다.
제3도는 PBC(10)의 상태 흐름도이다.
PBC(10)는 이 상태 흐름도에 따라 BCM의 다른 구성 요소들(PBRD(20), B-WT(30), ICMP(40))의 동작을 제어하는 제어 신호들을 생성한다.
다음에는, 제3도의 상태 흐름도를 참조하면서 PBC(10)의 제어 동작에 대하여 상세히 설명한다.
1) IDLE : 프로세서로부터 데이타 쓰기 요청(Write Request ; 이하, 'WRQ'라 함) 신호나 데이타 읽기 요청(Read Request ; 이하, 'RRQ'라 함) 신호가 오면, PBC(10)는 PBRD(20)에게 P-Bus(1)의 사용을 요청한다.
이에 응답하여, PBRD(2)는, P-Bus 프로토콜에 맞추어 P-Bus(1)의 사용을 중재한 후에, 해당 BCM의 PBC(10)에게 버스 사용 허가(GRANT) 신호를 제공하는 것에 의해 P-Bus(1)의 사용이 허가되었음을 알려준다.
이때, PBRD(20)로부터 GRANT 신호가 인가되면, 해당 BCM의 PBC(10)는 자신의 상태를 다음의 BUSRQ로 바꾸고, 그렇지 않으면 계속 현재의 상태에서 머문다.
2) BUSRQ : 해당 BCM의 PBC(10)는 프로세서가 이중 데이타 쓰기 전송을 위해 이중 데이타 쓰기 요청(Double Write Request ; 이하, 'DWRQ'라 함) 신호를 구동하면 이중 데이타 전송을 수행해야 하므로 DDWT 상태로 변하고, 그렇지 않고 데이타 쓰기 요청(WRQ) 신호를 구동하면 해당 BCM의 PBC(10)의 동작 상태는 WDT 상태로 천이되어 일반적인 쓰기 전송을 수행한다.
만약, 프로세서가 데이타 읽기 요청(RRQ) 신호를 구동하면, 해당 BCM의 PBC(10)의 동작 상태는 일반적인 읽기 전송을 위해 RDT 상태로 천이된다.
3) DDWT : 이 상태에서는 이중 데이타 전송이 수행된다. 이중 데이타 전송을 위해서 해당 BCM의 PBC(10)는 전송 형태를 일반적인 메모리 쓰기로 보냄과동시에 P-Bus(1)로 SI를 DI 신호에 실어서 구동한다.
그러면, 메모리는 일반적인 쓰기 전송으로 알고 쓰기 데이타를 받아들이게 되며, 읽기를 요청한 다른 프로세서는 P-Bus(1)로부터의 DI가 자신의 GA와 일치하므로 쓰기중인 데이타를 받아서 자신의 데이타로 처리한다.
4) WDT : 이 상태에서는 일반적인 쓰기 전송이 수행된다. 메모리 쓰기를 요청한 프로세서는 자신의 GA를 SI 신호에 실어서 P-Bus(1)로 보내고, 해당 메모리로 쓰기 데이타를 보내기 때문에 DI에는 아무런 값을 넣지 않고 전송을 시작한다.
5) RDT : 이 상태에서는 일반적인 읽기 전송이 수행된다. 읽기 전송임을 알리는 전송 형태로 P-Bus(1)를 통해서 알려주면 그 해당 데이타를 가지고 이쓴 곳은 두곳이 될 수가 있다.
만약, 메모리가 그 데이타를 가지고 있다면 데이타를 P-Bus(1)에 실으면서 동시에 전에 읽은 SI를 DI 신호에 실어서 보낸다.
다른 프로세서 모듈의 캐쉬가 그 데이타를 갖고 있다면 그 모듈의 BCM 내 PBC(10)는 이중 데이타 쓰기 전송을 위한 제어를 수행하게 된다.
이때, ICMP(40)로부터의 myid 신호가 구동되면, 해당 BCM의 PBC(10)의 동작 상태는 DTCHK 상태로 천이되고, 그렇지 않으면 현재의 상태에서 머문다.
6) DTCHK : 이 상태에서는 데이타 전송의 결과가 판단된다. 읽기 전송인 경우 ; 데이타가 정상적으로 읽혀졌으면 데이타 전송 성공(Data Transfer OK ; 이하, 'DTOK'라 함.) 신호를 구동하고, 그렇지 않으면 데이타 전송 실패(Data Transfer Error ; 이하, 'DTERR'라 함) 신호를 구동한다.
쓰기 전송인 경우; P-Bus(1)로부터 데이타 전송이 정상적으로 완료되었음을 나타내는 DACK(Data Acknoledge) 신호가 구동되면, 메모리에서 데이타를 정상적으로 받아갔기 때문에 사이클 진행을 완료한다.
만약, P-Bus(1)로부터 DACK 신호가 구동되지 않으면 쓰기 전송을 다시 한번 더 진행한다.
제3도는 BCM의 동작에 대해서 데이타를 요청하거나 데이타를 전송하는 경우 모두가 한꺼번에 설명되어 있으므로, 이것을 데이타를 요청하는 쪽과 요청한 데이타를 전송하는 쪽을 나누어서 보면 다음과 같다.
첫째, 하나의 BCM(이하, '제1 BCM'이라 함)이 데이타를 요청하는 쪽이 되는 경우는, P-Bus(1)로 어드레스와 버스 전송 형태(Transfer Type ; 이하, 'TT'라 함) 신호를 구동하고 나 후에, 다른 하나의 BCM(이하, '제2 BCM'이라 함)이 ITV 신호(자신의 캐쉬에만 유효한 데이타를 가지고 있기 때문에 그 데이타를 보내주겠다는 신호)를 구동했는지를 확인한다.
제1 BCM이 ITV 신호가 구동된 것을 확인하면, 제1 BCM은 제2 BCM이 데이타를 보낼것이란 것을 알고서 제2 BCM이 P-Bus(1)를 통해 데이타를 보내주기를 기다린다.
이때, 제1 BCM은 P-Bus(1) 상에 구동된 데이타가 자신의 데이타란 것을 제2 BCM에 의해 P-Bus(1) 상에 구동되는 DI를 통하여 알 수 있게 된다.
즉, 제1 BCM의 ICMP(40)는 DI와 자신의 GA를 비교하여 두 값이 같으면, myid 신호를 생성한다.
제1 BCM은 자신의 데이타를 받고나서 패리티 에러가 없으면 캐쉬 데이타 전송이 정상적으로 완료되었음을 나타내는 CDK(Cache Data Acknoledge) 신호를 P-Bus(1) 상에 구동하고 이 CDK 신호는 제2 BCM으로 전달된다.
페리티 에러가 발생하였으면, 제1 BCM은 읽기 버스 전송을 재시도한다.
이와 같이 재시도를 하는 경우에 있어서는, 앞에서 ITV를 구동하였던 제2 BCM이 이미 이중 데이타 전송을 완료하여 메모리로 데이타를 전달하였기 때문에 제2 BCM은 다시 ITV 신호를 구동하지 않는다.
따라서, 이와 같은 재시도시에는, 제1 BCM이 제2 BCM이 아닌 메모리로부터 데이타를 받기 때문에, 제1 BCM은 자신의 데이타를 받고나서 패리티 에러가 없으면 CDK를 구동하지 않고, DACK 신호를 구동하게 된다.
만약, 다른 어떤 BCM도 ITV 신호를 구동하지 않았다면, 데이타를 받고나서 패리티 에러가 없으면 DACK 신호를 구동한다.
다시 말해서, ITV 신호가 구동된 경우, 데이타가 도착하면 CDK 신호를 구동하고, 이때 에러가 생겨서 재시도하면 도착된 데이타에 대해서는 DACK 신호를 구동한다.
둘째, 하나의 BCM(이하, '제2 BCM'이라 함)이 요청한 데이타를 보내주는 쪽이 되는 경우, 제2 BCM의 B-WT(30)가 P-Bus(1)를 항시 쳐다보고 있다가 이중 쓰기 전송을 해야 할지, 아니면, 그냥 쓰기 전송만 해야 하는지의 결과를 알려준다.
그 결과에 따라서 다음과 같은 세가지의 전송 형태가 생길 수 있다 ; 쓰기 데이타를 메모리에만 전송하는 경우, 쓰기 데이타를 메모리와 다른 BCM(이하, '제1 BCM'이라 함)으로 보내주어야 하는 경우, 쓰기 데이타를 제1 BCM에만 보내주는 경우, 제2 BCM은 메모리에만 보내는 경우를 제외하고는 모두, 자신의 B-WT(40)에서 잡은 SI를 받아서 이것을 DI로 보낸다.
양쪽(메모리 및 제1 BCM)으로 보내는 경우가 DDT의 대표적인 전송 형태가 되는데, DDT 전송을 수행할 때는 메모리나 다른 요청기에서 구동하는 DACK 신호와 CDK 신호를 동시에 보내야 한다.
이때, 발생할 수 있는 경우의 수는 4가지가 생기고 각각에 대해서 다음과 같이 행동한다.
경우 1 : CDK ok, DACD ok
경우 2 : CDK ok, DACD fail
경우 3 : CDK fail, DACD ok
경우 4 : CDK fail, DACD fail
위의 경우 1 및 3에서는, 정상적으로 데이타 전송이 끝난다. 경우 3에서는, 데이타를 요구하는 P-Bus(1)의 전송이 다시 진행되기 때문에, 이때는 메모리에서 데이타를 읽어간다.
위의 경우 2 및 4에서와 같이, 데이타 전송이 실패한 경우에는 DDT 전송을 다시 하지 않고, 그냥 메모리로 쓰기 전송만이 한 번 더 수행된다.
이것은 더 이상 CDK를 보지 않는 것을 의미한다.

Claims (1)

  1. 펜디드 프로토콜 버스(1)에 각각 연결되는 적어도 두개 이상씩의 프로세서들 및 메모리들을 포함하는 다중 프로세서 시스템에서 상기 프로세서들 중 어느 하나에 의해 요청된 데이타가 상기 메모리들 중 어느 하나로부터 상기 버스(1)를 통해 읽혀지게 하고 그리고 상기 프로세서들 중 어느 하나에 의해 쓰여지는 데이타가 상기 버스(1)를 통해 상기 메모리들 중 어느 하나로 보내지게 하는 버스 제어 수단에 있어서; 상기 버스 제어 수단은 상기 프로세서들 각각과 상기 버스(1) 사이에 연결되는 적어도 두개 이상의 버스 제어 모듈들을 포함하고; 상기버스 제어 모듈들 각각은 자신이 연결된 프로세서가 상기 메모리들 중 어느 하나 및 다른 프로세서들 중 하나로 데이타를 동시에 전송하는 이중 데이타 전송을 위한 소정의 제어 동작을 수행하는 제1수단(10)과, 상기 제1수단(10)에 의해 제어되어서 상기 버스(1) 상에 구동된 신호들을 받아들이거나 상기 버스(1)로 신호들을 구동하는 제2수단(20)와, 상기 프로세서들 중 어느 하나가 구동하는 사이클의 형태에 따라 상기 버스(1)의 버스 전송을 위한 전송 형태를 생성하고 그리고 상기 버스(1)에서 구동되는 전송 형태를 보고 그 전송에 참가해야 할지를 결정하여 상기 제1수단(10)으로 알려주는 제3수단(30)과, 상기 프로세서들 중 어느 하나가 보내는 데이타를 받아야 하는 상기 프로세서들 중 다른 하나 및 상기 메모리들 중 다른 하나를 나타내는 데스티네이션 아이덴티피케이션(DI) 신호를 받아들여서 자신이 연결된 프로세서의 상기 버스(1) 상에서의 위치를 나타내는 지오그래픽 어드레스(GA) 신호와 비교하여 전송된 데이타가 자신이 원하는 것인지를 알아내고, 이에 따라 상기 버스(1) 상에 구동되고 있는 데이타가 자신이 연결된 프로세서의 것임을 나타내는 myid 신호를 발생하여 상기 제1수단(10)으로 전달하는 제4수단(40)을 포함하는 것을 특징으로 하는 펜디드 프로토콜 버스 상에서 이중 데이타 전송을 지원하는 버스 제어 장치.
KR1019940024345A 1994-09-27 1994-09-27 펜디드 프로토콜 버스 상에서 이중 데이타 전송을 지원하는 버스 제어 장치 KR960012358B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019940024345A KR960012358B1 (ko) 1994-09-27 1994-09-27 펜디드 프로토콜 버스 상에서 이중 데이타 전송을 지원하는 버스 제어 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019940024345A KR960012358B1 (ko) 1994-09-27 1994-09-27 펜디드 프로토콜 버스 상에서 이중 데이타 전송을 지원하는 버스 제어 장치

Publications (2)

Publication Number Publication Date
KR960011733A KR960011733A (ko) 1996-04-20
KR960012358B1 true KR960012358B1 (ko) 1996-09-18

Family

ID=19393607

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019940024345A KR960012358B1 (ko) 1994-09-27 1994-09-27 펜디드 프로토콜 버스 상에서 이중 데이타 전송을 지원하는 버스 제어 장치

Country Status (1)

Country Link
KR (1) KR960012358B1 (ko)

Also Published As

Publication number Publication date
KR960011733A (ko) 1996-04-20

Similar Documents

Publication Publication Date Title
JP3832833B2 (ja) 情報処理方法および装置
US4920539A (en) Memory error correction system
US4933838A (en) Segmentable parallel bus for multiprocessor computer systems
US6189062B1 (en) Apparatus and method for address translation in bus bridge devices
AU721685B2 (en) Bus interface control circuit
KR100644596B1 (ko) 버스 시스템 및 그 버스 중재방법
US20060149866A1 (en) Method and apparatus for transferring data
KR960012358B1 (ko) 펜디드 프로토콜 버스 상에서 이중 데이타 전송을 지원하는 버스 제어 장치
US5764935A (en) High speed active bus
US20060129714A1 (en) Method and apparatus for transferring data
JP3067976B2 (ja) マルチレベルバス結合型マルチプロセッサシステム
JPH10307788A (ja) バスブリッジ
KR920008605A (ko) 최소 경합 프로세서 및 시스템 버스 시스템
JP3127941B2 (ja) 二重化装置
KR960012355B1 (ko) 다중프로세서 시스템에서의 캐쉬간 직접 데이타 전송 지원 제어장치
KR100380328B1 (ko) 교환기 시스템의 보드 탈장시 다운 방지장치
US6601147B1 (en) Computer system and method for maintaining an integrated shared buffer memory in a group of interconnected hosts
KR960016399B1 (ko) 오류취급 기능을 갖는 기억장치
JPH11120087A (ja) 二重化メモリ処理装置
KR920001815B1 (ko) 인터럽트 버스의 동기방법
KR100202398B1 (ko) 이중화구조를 갖는 종합정보통신망 디바이스 제어계
KR970001622B1 (ko) 파이프라인형 시스템 버스의 데이타 전송효율을 높이는 방법
KR100454652B1 (ko) 하이파이버스시스템의주기억장치
KR970007275B1 (ko) 파이프라인 방식 연결망에서의 연결망 응답장치(respondent in pipelined bus system)
JPH06224975A (ja) 結合したモジュールをリセットする方法及びこの方法を用いるシステム

Legal Events

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

Year of fee payment: 12

LAPS Lapse due to unpaid annual fee