[go: up one dir, main page]

KR0126583B1 - 시스템 제어기 모듈에서의 요청기 읽기 제어기(Requester Read Controller In System Controller In System Control Module) - Google Patents

시스템 제어기 모듈에서의 요청기 읽기 제어기(Requester Read Controller In System Controller In System Control Module)

Info

Publication number
KR0126583B1
KR0126583B1 KR1019940022874A KR19940022874A KR0126583B1 KR 0126583 B1 KR0126583 B1 KR 0126583B1 KR 1019940022874 A KR1019940022874 A KR 1019940022874A KR 19940022874 A KR19940022874 A KR 19940022874A KR 0126583 B1 KR0126583 B1 KR 0126583B1
Authority
KR
South Korea
Prior art keywords
data
state
bus
controller
buffer
Prior art date
Application number
KR1019940022874A
Other languages
English (en)
Inventor
김병효
성동주
최성훈
조호길
Original Assignee
양승택
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 양승택, 한국전자통신연구원 filed Critical 양승택
Priority to KR1019940022874A priority Critical patent/KR0126583B1/ko
Application granted granted Critical
Publication of KR0126583B1 publication Critical patent/KR0126583B1/ko

Links

Landscapes

  • Bus Control (AREA)

Abstract

본 발명은 다중 처리기 시스템 제어기 모듈 중 요청기 읽기 제어기에 관한 것으로 상태 제어기(14,15), 상태 레지스터(16), 록, 비지 카운터(13), 상태체크를 위한 상태 체크 로직(11), 그리고 프로세서 및 DMA 버퍼 제어신호를 생성하는 로직(17)으로 구성된다.
시스템 제어기가 시스템 버스에 연결된 다른 자원을 읽고자 요청했을 때 요청기 읽기 제어기가 버스를 요청한 후 계속해서 버스를 점유하지 않고 응답하는 측에서 요청된 데이터를 준비하였을 때만 버스를 잡아 데이터를 전송할 뿐 아니라 블록 전송 기능을 지원함으로써 버스의 이용률 감소와 시스템의 성능 향상이 가능하도록 한다.

Description

시스템 제어기 모듈에서의 요청기 읽기 제어기
제1도는 시스템 제어기 모듈 중 본 발명이 적용되는 데이터 전송버스 인터페이스 모듈의 구성을 나타낸 블록도.
제2도는 본 발명에 따른 데이터 전송 버스 인터페이스 모듈에서의 요청기 읽기 제어기의 구성을 나타낸 블록도.
제3도는 제2도의 상태 제어기 A(14)의 상태천이도.
제4도는 제2도의 상태 제어기 B(15)의 상태천이도.
* 도면의 주요부분에 대한 부호의 설명
1 : 요청기(ReQuester),
2 : DMA 제어기(Direct Memory Access Controller),
3 : 프로세서 어드레스 버퍼(Processor Address Buffer),
4 : 프로세서 데이터 버퍼(Processor Data Buffer),
5 : DMA 데이터 버퍼, 6 : 어드레스 버스 버퍼(Address Bus Buffer),
7 : 중재 버스 버퍼(Arbitration Bus Buffer),
8 : 상태 버스 버퍼(Status Bus Buffer),
9 : 데이터 버스 버퍼(Data Bus Buffer), 10 : 중재기(Arbiter),
11 : 상태 체크 로직(State Check Logic),
12 : 택 비교기(TAG Comparator),
13 : 록, 비지, 워치독 타이머 카운터(Lock, Busy, WDT Counter),
14 : 상태 제어기(State Machine) A,
15 : 상태 제어기 B, 16 : 상태 레지스터(Status Register),
17 : 버퍼 제어 로직(Buffer Control Logic).
본 발명은 다중 처리기 시스템(Multiprocessor System)의 시스템 제어기 모듈 중의 데이터 전송 버스 인터페이스(Data Transfer Bus Interface) 모듈에 관한 것으로, 더 구체적으로는 시스템 제어기가 시스템 버스 상의 자원에 대한 읽기 요청이 있을 때 시스템 버스의 프로토콜(Protocol)에 따라서 어드레스 버스의 중재 및 데이터 전송을 수행하고, 시스템 버스로부터의 응답 상태에 따라서 다음 동작을 수행하는 요청기읽기 제어기에 관한 것이다.
다중 처리기 시스템은 다수의 중앙처리장치들로 이루어지는 주처리장치 모듈과, 다수의 메모리들로 구성되고 다수의 처리기들이 시스템 버스를 통하여 공유하는 주기억장치 모듈과, 시스템의 전체적인 동작을 제어하는 시스템 제어기 모듈 및, 다수의 입출력 처리기들로 구성되고 디스크, 자기 테이프, 모니터 등을 제어하는 입출력 처리기 모듈로 구성된다.
이와 같은 다중 처리기 시스템의 성능 향상을 위해서는 시스템 버스의 클록 주파수를 높이고 데이터 버스의 폭을 늘리는 등 여러가지 조치를 취해야 한다.
예를 들어, 시스템 버스의 클록 주파수가 12.5MHz이고 데이터 버스의 폭이 64비트인 다중 처리기 시스템을 16.5MHz의 클록 주파수, 128비트의 데이타 버스 폭을 갖는 시스템으로 개선하기 위해서는 타이밍 문제를 해결해야 하고 많은 제어로직을 추가해야 한다.
본 발명은 다중 처리기 시스템의 성능을 향상시키기 위한 것으로, 요청기 읽기 제어기가 팬디드 프로토콜(Pended Protocol)상에서 모든 데이터 전송을 요청과 응답으로 구분하여 동기적으로 시스템의 주기억장치와 시스템 제어기의 프로세서 및 데이타 버퍼 램(Data Buffer RAM) 사이의 데이터 전송이 효율적으로 수행되도록 하는 것을 그 목적으로 한다.
이와 같은 목적을 달성하기 위해, 본 발명은 소정의 데이터 전송 프로토콜에 따라서 시스템 버스로의 데이터 전송을 위한 제어신호들을 생성하고 그리고 데이터 전송상태를 확인하는 요청기와, 시스템 버스와의 블록 전송을 담당하는 DMA 제어기와, 프로세서 어드레스/데이터 버퍼와 DMA 데이터 버퍼를 포함하고 ; 시스템 버스 인터페이스 수단과 로컬버스 사이에 설치되는 다중 처리기 시스템 제어기의 데이터 전송 버스 인터폐이스 장치에 있어서 ; 시스템 버스에 접속되어서 읽기 싸이클에 필요한 어드레스 버스의 중재를 수행하는 중재 수단과 ; 시스템 버스를 통한 어드레스 및 데이터의 전송결과에 대한 응답을 디코딩하는 상태 체크 수단과 ; 시스템 버스로부터 데이터를 래치함과 동시에 그 래치된 데이터가 자신으로의 데이터인 지를 체크하는 택 비교 수단과 ; 상태 체크를 위한 카운터 수단과 ; 읽기 싸이클에 필요한 어드레스 버스의 중재를 상기 중재 수단에 요청하여 버스의 사용권을 얻고, 상기 상태 체크 수단이 어드레스 및 데이터의 전송결과를 디코딩하여 제공하는 것에 응답하여 전송 에러 발생시 인터럽트를 발생하고, 록 상태와 비지 상태에 따라 다음 상태로의 진행조건을 결정하기 위해 상기 카운터 수단을 구동하는 제1상태 제어 수단과 ; 읽기 싸이클에서 실제로 버퍼 구동에 필요한 소정의 제어신호들을 발생하는 것에 의해 시스템 버스에 위치한 주기억장치로부터 시스템 제어기의 버퍼 램으로의 블록 데이터를 전송하는 제2상태 제어 수단과 ; 에러 상황을 기록하기 위한 상태 레지스터 수단과 ; 상기 상태 제어 수단으로부터의 소정의 제어신호들에 응답하여 상기 프로세서 어드레스/데이터 버퍼 수단과 상기 DMA 데이터 버퍼 수단을 구동할 수 있는 소정의 제어신호들을 발생하는 버퍼 구동 수단을 포함한다.
이에 따라서, 시스템 제어기가 시스템 버스에 연결된 다른 자원을 읽고자 요청했을때 요청기 읽기 제어기가 버스를 요청한 후 계속해서 버스를 점유하지 않고 응답하는 측에서 요청된 데이터를 준비하였을 때만 버스를 잡아 데이터를 전송할 뿐 아니라 블록 전송 기능을 지원함으로써 버스의 이용율 감소와 시스템의 성능향상이 가능하게 된다.
다중 처리기 시스템의 시스템 제어기에서 시스템 버스와의 데이터 전송에 관련된 부분은 통상 '데이터 전송 버스 인터페이스 모듈'이라 불리는데, 시스템 제어기의 데이터 전송 버스 인터페이스 모듈(100)은 제1도에 도시된 바와 같이, 시스템 버스에서의 전송 프로토콜을 담당하는 요청기(1)와, 블록 전송 관련 제어를 담당하는 DMA 제어기(DMAC : DMA Controller)(2)를 포함하고 있다.
상기 요청기(1)와 상기 DMAC(2)는 프로세서 및 인터럽트 제어기(Interrupt Controller)와 각각 데이터 및 정보를 교환한다.
상기 요청기(1)와 상기 DMAC(2)사이에도 정보 교환이 이루어진다.
제1도에서, 참조번호 3은 로컬 어드레스 버스(Local Address Bus)와 요청기(1)에 접속된 프로세서 어드레스 버퍼(Processor Address Buffer)를 나타낸 것이고, 참조번호 4는 로컬 데이터 버스(Local Data Bus)와 접속되는 프로세서 데이터 버퍼(Processor Data Buffer)를, 번호 5는 프로세서 데이터 버퍼(4)와 이후에 상세히 설명될 본 발명의 제어기 사이에 접속되는 DMA 데이터 버퍼를 나타낸 것이다.
참조번호 6은 요청기(1)와 프로세서 어드레스 버퍼(3)에 접속되는 어드레스 버스 버퍼를 나타낸 것이고, 번호 7 및 8은 요청기(1)에 접속되는 중재 버스 버퍼(Arbitration Bus Buffer) 및 상태 버스 버퍼(Status Bus Buffer)를 각각 나타낸 것이고, 번호 9는 프로세서 데이터 버퍼(4)와 DMA 데이터 버퍼(5)에 접속되는 데이터 버스 버퍼(Data Bus Buffer)를 나타낸 것이다.
상기한 버퍼들(6∼9)은 시스템 버스와 접속된다.
요청기(1)는 시스템 버스로 데이터를 전송하는데 필요한 제어신호들을 생성하고 그리고 데이터 전송상태를 확인하는 작업을 수행하는바, 시스템 버스의 사용권을 요청하는 장치들은 프로세서와 DMAC(2)로 구분할 수 있다.
프로세서가 요구한 전송의 경우에는 요청기(1)가 직접 전송을 수행하지만, 블록전송의 경우에는 요청기(1)와 DMAC(2)가 협력하여 전송을 수행한다.
제2도는 본 발명에 따른 데이터 전송 버스 인터페이스 모듈에서의 요청기 읽기 제어기의 구성을 나타낸 블록도이다.
제2도를 참조하면, 본 발명의 요청기 읽기 제어기(1)는 시스템 버스에 접속되어서 읽기 싸이클에 필요한 어드레스 버스의 중재를 수행하며, 중재에서 이기면 승리(Win)신호를 출력하는 중재기(Arbiter)(10)와, 시스템 버스를 통한 어드레스 및 데이터의 전송 결과에 대한 응답을 디코딩(decoding)하여 그 결과를 출력하는 상태 체크 로직(State Check Logic)(11)과, 시스템 버스로부터 데이터를 래치(latch)함과 동시에 그 래치된 데이터가 자신으로의 데이터인지를 체크하여 그 결과 신호(same_tag)를 출력하는 택비교기(12)와, 비지 카운터(Busy Counter), 록 비지 카운터(Lock Busy Counter) 및 위치 독 타이머 카운터(Watch Dog Timer Counter)(13)와, 상기 중재기(10)에서 출력된 승리(Win)신호, 상기 상태 체크 로직(11)의 출력 신호 및 상기 택 비교기(12)의 출력 신호(same_tag)를 받아 시스템 버스에 위치한 주기억 장치로부터 시스템 제어기의 버퍼 램(Buffer RAM)으로의 블록 데이터를 전송하고 프로세서에 의한 읽기 싸이클이 수행되도록 제어하는 상태 제어기 A,B(14,15)와, 상기 상태 체크 로직(11)에서 출력된 데이터, 어드레스 전송에 관한 에러 상황을 받아 기록하는 상태 레지스터(Status Register)(16)와, 상기 상태 제어기 A, B(14,15)로부터 제공된 소정의 제어 신호에 응답하여 프로세서 데이터 버퍼(4)(제1도)와, DMA 데이터 버퍼(5)(제1도)를 구동하는 제어 신호들을 발생하는 버퍼 제어 로직(Buffer Control Logic)(17)로 구성된다.
이상과 같이, 본 발명에 따른 요청기 읽기 제어기는 데이터의 읽기 전송을 위해 2개의 상태 제어기(14,15)를 포함하고 있다.
상기 상태 제어기 A(이하, '제1상태 제어기'라 함)(14)는 읽기 싸이클에 필요한 어드레스 버스의 중재(arben)를 중재기(10)에 요청하여 버스의 사용권을 얻고, 상기 상태 체크 로직(11)에서 어드레스 및 데이터의 전송 결과에 대한 응답을 해독(Decoding)한 결과 에러가 발생하였다는 것을 나타낼 때 인터럽트를 발생한다.
또한, 상기 상태 제어기 B(이하, '제2상태 제어기'라 함)(15)는 읽기 싸이클에서 실제로 버퍼 구동에 필요한 제어신호를 발생하는 것에 의해 필요한 시점에 적당한 방향으로 데이터가 구동되도록 한다.
이러한 구성을 갖는 본 발명의 요청기 읽기 제어기(1)의 동작을 좀 더 상세히 설명하면, 먼저, 상기 중재기(10)가 시스템 제어기 내부의 DMAC(2)(제1도)나 프로세서로부터 시스템 버스의 데이터 요청 신호를 받아 시스템 버스에 접속되어 읽기 싸이클에 필요한 어드레스 버스의 중재를 수행한 후 그 중재 결과 승리한 경우 승리(Win)신호를 상기 제1상태 제어기(14)로 출력하고, 상기 상태 체크 로직(11)은 시스템 버스를 통한 어드레스 및 데이터의 전송 결과에 대한 응답을 디코딩(Decoding)하여 그 결과 에러발생 여부를 상기 제1상태 제어기(14), 제2상태 제어기(15) 및 상태 레지스터(16)으로 출력하며, 상기 택 비교기(12)는 시스템 버스로부터 데이터를 래치(Latch)하여 그 래치된 데이터가 자신의 데이터인지 여부를 체크한 후 그 결과 신호(same_tag)를 상기 제1 및 제2 상태 제어기(14,15)로 출력한다.
한편, 상기 비지, 록 비지 및 워치 독 타이머 카운터(13)는 상기 제1상태 제어기(14)로부터 각각의 인에이블 신호(bsyenb, lbsyenb, wdtenb) 신호를 받아 해당 카운팅 결과 신호(bsyout, lbsyout, wdtout)를 상기 제1상태 제어기(l4)로 출력한다.
또한, 상기 제1 및 제2 상태 제어기(14,15)는 상기 상태 체크 로직(11)과 택 비교기(12)를 통해 전송된 주기억 장치의 데이터를 시스템 제어기의 버퍼램으로 전송하고, 프로세서에 의한 읽기 싸이클이 수행되도록 제어하는 기능을 하며, 특히, 제1상태 제어기(14)는 읽기 싸이클에 필요한 어드레스 버스의 중재를 상기 중재기(10)에 요청(arben)하여 버스의 사용권을 얻는다.
상기 상태 레지스터(16)는 상기 상태 체크 로직(11)의 데이터, 어드레스 전송에 관련한 에러 상황을 기록하며, 상기 버퍼 제어 로직(17)은 상기 제1 및 제2상태 제어기(14,15)로부터 제공된 소정의 제어 신호들에 응답하여 프로세서 데이터 버퍼(4)(제1도)와 DMA 데이터 버퍼(5)(제1도)를 구동하는 제어신호들을 출력한다.
한편, 버스 사용권을 얻기 위한 요청을 발생한 후의 요청기 읽기 제어기의 동작상태에 대해서 제3도 및 제4도를 참조하여 상세히 설명하겠다.
제3도 및 제4도는 제1상태 제어기(14) 및 제2상태 제어기(15) 각각의 기능수행과정을 나타낸 상태 천이도(State Diagram)이다.
먼저, 제3도를 참조하면, 제1상태 제어기(14)의 동작 상태는 버스 사용권을 얻기 위한 요청 신호를 대기하는 아이들 제로(Idle 0)상태와, 상기 요청 신호를 받아 어드레스 버스의 사용권을 얻기 위한 중재를 수행하는 중재(Arbitration)상태와, 단지 어드레스 전송에 대한 응답을 대기하기 위해 한 클록 상태만을 유지하고 무조건 다음 상태로 넘어가도록 하는 바이패스(Bypass)상태와, 상기 바이패스 상태에서 대기하던 시스템 버스로부터의 어드레스 응답을 상태 버스 버퍼(8)(제1도)에 래치하는 응답 래치 상태(Aacklatch)와, 상기 응답 래치 상태에서 래치한 어드레스 응답을 체크하는 응답 체크(Aackcheck)상태와, 실제 데이터를 전송하는 전송 상태(Transfer)상태와, 상기 응답 체크 상태 또는 전송 상태에서 오류가 발생할 경우를 나타내는 에러(Error)상태로 구성된다.
이하, 상기와 같은 각 상태별로 좀 더 상세한 설명을 한다.
아이를 제로(Idle 0)상태 :
리셋(Reset)후의 초기화된 상태에서 시스템 버스 사용을 위한 프로세서 요청 신호인 P_req 신호나, DMA 요청 신호인 dma_req 신호가 들어오면 바로 다음 상태인 중재(Arbitraion)상태로 넘어 간다.
시스템 제어기의 프로세서와 DMA 제어기(2)가 동시에 시스템 버스를 요청할 때는 DMA 제어기(2)에 높은 우선순위를 준다.
이 상태에서는, 버퍼구동을 위한 모든 제어신호와 전송결과를 나타내는 상태 레지스터(16)가 초기화된 상태로 설정되어 있다.
중재(Arbitration)상태 :
이 상태에서, 제1상태 제어기(14)는 어드레스 버스의 사용권을 얻기 위해서 중재 인에이블 신호(arben)를 발생하여 중재기(10)로 제공하고, 슬롯 ID인 제2도의 ga[3 : 0] 디코딩하여 중재기(10)를 통해서 중재버퍼(7)를 구동하는 것에 의해 중재가 이루어지도록 한다.
중재기(10)로부터 어드레스 버스의 사용권을 얻었음을 나타내는 승리 신호(win)가 입력되면 중재 버퍼(7)의 구동을 중단하고 그리고 어드레스 버스의 사용권을 얻었음을 버퍼 제어 로직(17)에 알린다.
이로써, 버퍼 제어 로직(17)은 어드레스 구동 신호(addrdrv)를 발생하여 프로세서 어드레스 버퍼(3)를 구동되게 한다.
이 addrdrv 신호는 win 신호가 액티브 상태로 남아 있는 동안에는 계속적으로 구동된 상태를 유지하게 된다.
바이패스(Bypass) 상태 :
한 클록상태만 유지되고 무조건 다음 상태로 넘어가게 된다.
이 상태는 단지 어드레스의 전송에 대한 응답을 기다리기 위해서 한 클록대기를 위해서 필요하다.
응답래치(Aacklatch) 상태 :
시스템 버스로부터 어드레스 응답신호 AACK(제2도)을 상태 버스 버퍼(8)에 래치한 후 디코딩을 수행한다.
응답체크(Aackcheck) 상태 :
응답래치(Aacklatch) 상태에서 래치했던 어드레스 응답을 체크한다.
상태 체크 로직(11)으로부터 어드레스 응답 신호인 AACK가 1이면 정상적인 전송이라는 표시를 나타내는 aa_ok 신호가 제공되고, 데이터 전송을 개시하기 위해서 이후에 설명될 전송(Transfer)상태로 진행한다.
상태 체크 로직(11)으로부터 어드레스 응답 신호 AACK가 0이면 어드레스 전송 에러를 나타내는 aa_err 신호가 제공되고, 이후에 설명될 에러(Error) 상태로 진행한다.
상태 체크 로직(11)으로부터 어드레스 버스가 타 장치에 의한 점유(Busy) 상태에 있음을 나타내는 aa_bsy 신호나 aa_lbsy 신호가 제공되면 제1상태 제어기(14)는 비지 카운터 또는 록 비지 카운터(13)를 구동하기 위한 bsy-enb 신호 또는 lbsy_enb 신호 등의 제어신호들을 발생한다.
256회의 어드레스 버스 중재 재시도를 나타내는 bsy_out 신호, lbsy_out 신호가 카운터(13)로부터 제공되면 즉, 조건 0(condition 0) 상태이면, 제1상태 제어기(14)의 동작 상태는 다음에 설명될 에러 상태로 진행한다.
재시도의 횟수가 256회 이하일 때는 어드레스 버스의 중재를 재시도하기 위해서 제1상태 제어기(14)의 동작 상태는 앞에서 설명된 중재 상태로 진행한다.
상태 체크 로직(11)으로부터 aa_ok 신호가 제공될 때와 같이 어드레스 전송에 문제가 없었다면 제1상태 제어기(14)는 rdbgin 신호를 발생하여 제2상태 제어기(15)를 구동함으로서 제2상태 제어기(15)가 이후에 설명될 자신의 동작 상태 Read 0로 진행하도록 한다.
전송(Transfer) 상태 :
실제로 데이터 전송이 진행 중인 상태로서 에러없이 제3도의 조건 1(condition 1)을 만족하면 전송이 완료되면 '아이들 제로(Idle 0)' 상태로 진행하고, 전송 중에 에러가 발생한 경우이면 즉, 조건 3(condition 3)이면 발생된 에러가 반복적인 에러이면 이후에 설명될 Error 상태로 진행하고, 발생된 에러가 최초의 에러이면 즉, 조건 2(condition 2)이면 중재(Arbitration) 상태로 진행한다.
에러(Error) 상태 :
Lock, Busy, WDT 카운터(13)에서 반복적인 에러상태를 나타내는 신호가 발생하였을때 이 상태로 진행하고, 에러에 대한 상황을 상태 레지스터(16)에 기록함과 동시에 인터럽터 제어기로 인터럽트를 보낸다.
프로세서로부터 읽기 접근이 있으면 인터럽트 신호의 구동을 멈추고 아이들 제로(Idle 0) 상태로 진행한다.
다음, 제4도를 참조하여, 제2상태 제어기(15)의 동작 상태에 대해서 설명한다.
상기 제2상태 제어기(15)의 동작 상태는 리셋 후의 초기화 상태인 아이들 1 (Idle 1)상태와, 시스템 제어기로부터 데이타를 읽기 위한 리드 0(Read 0), 리드 1 (Read 1), 리드 2(Read 2), 리드 3(Read 3) 상태를 포함한다.
상기 각 상태들을 좀 더 상세히 설명하면, 다음과 같다.
아이들 1(Idle 1)상태 :
리셋 후의 초기화 상태로 제1상태 제어기(14)로부터 rdbgin 신호를 받게 되면 주기억장치에서 시스템 제어기로 데이터를 읽기 위해서 다음에 설명될 상태 리드 0(Read 0)로 진행한다.
리드 0(Read 0)상태 :
이 상태에서 택 비교기(12)는 시스템 버스로부터 데이터를 래치함과 동시에 자신으로의 데이터인지를 체크하여 자신으로의 데이터인 것으로 판명되면 same_tag 신호를 발생한다.
자신으로의 데이터를 나타내는 same_tag 신호가 택 비교기(12)로부터 제공되고 그리고 패리티 에러가 없다는 no_perr_rd 신호와 블록 전송 싸이클을 나타내는 d_block 신호가 액티브(active)일 경우에는 즉, 제4도의 조건 0(condition 0)상태일 때는 다음에 설명될 상태 리드 1(Read 1)로 진행된다.
이때, d_block 신호가 인액티브(inactive)인 경우 즉 단일전송 싸이클일 때는 앞에서 설명된 상태 아이들 1(Idle 1)으로 진행된다.
데이더를 읽기 위한 프로세서 데이터 버퍼(4)의 구동에 있어서, 에러가 아니고 그리고 어드레스 비트 3이 로우(low)이면 상기 데이터 버퍼(4)의 하부 64비트 데이터 버퍼가 구동되는 반면 어드레스 비트 3이 하이(high)이면 상기 데이터 버퍼(4)의 상부 64비트 데이터 버퍼가 구동되게 된다.
블록전송일 때는, 128비트의 블록 데이터 전송을 위해서 데이터 전송 완료를 나타내는 신호 tr_end가 인액티브되어 있는 동안만 버퍼 제어 로직(17)이 버퍼 출력 인에이블 신호를 구동하게 된다.
래치 인에이블 신호는 읽기신호 rd와 블록전송을 허용한다는 신호 d_gr_가 액티브이면 구동된 상태를 계속 유지한다.
리드 1(Read 1)상태 :
블록전송 싸이클일 경우에만 의미가 있는 상태로서 블록 읽기 전송의 두번째 데이터에 대한 패리티를 체크하여 no_perr_rd이면 즉, 제4도의 조건 2(condition 2)이면 다음에 설명될 리드 2(Read 2)상태로 진행하고, 그렇지 않으면 앞에서 설명된 아이들 1(Idle 1)상태로 진행한다.
프로세서 데이터 버퍼(4)의 구동은 블록전송의 경우에만 리드 0(Read 0)상태에서와 동일한 방법으로 이루어지게 되지만, 이 상태에서 프로세서 데이터 버퍼(4)는 대개 디스에이블(disable)된 상태를 유지하게 된다.
리드 2(Read 2)상태 :
블록전송의 세번째 데이터에 대한 패리티 체크를 하여 에러가 없을 경우에는 즉, 제4도의 조건 2(condition 2)이면, 다음에 설명될 리드 3(Read 3)상태로 진행하고, 에러가 발생했을 경우에는 전술한 아이들 1(Idle 1)상태으로 진행하게 된다.
프로세서 데이터 버퍼(4)의 구동은 리드 1(Read 1)상태에서와 동일한 방법으로 이루어진다.
리드 3(Read 3)상태 :
블록전송의 네번째 데이터에 대한 패리티 체크를 하여 에러가 없을 경우에는 Idle 1상태로 무조건 진행하고, 프로세서 데이터 버퍼의 구동은 Read 1상태에서와 동일한 방법으로 이루어진다.

Claims (1)

  1. 소정의 데이터 전송 프로토콜에 따라서 시스템 버스로의 데이터전송을 위한 제어신호들을 생성하고 그리고 데이터 전송상태를 확인하는 요청기(1)와, 시스템 버스와의 블록 전송을 담당하는 DMA 제어기(2)와 ; 프로세서 어드레스/데이터 버퍼(3,4)와 DMA 데이터 버퍼(5)를 포함하고 ; 시스템버스 인터페이스 수단(6∼9)과 로컬버스 사이에 설치되는 다중 처리기 시스템 제어기의 데이터 전송 버스 인터페이스 장치에 있어서 ; 상기 인터페이스 장치는 상기 시스템 제어기 내부의 DMA 제어기(2)나 프로세서가 시스템 버스로 데이터를 요청할 때, 시스템 버스에 접속되어서 읽기 싸이클에 필요한 어드레스 버스의 중재를 수행하여, 중재에서 이긴 경우 승리(Win)신호를 출력하는 중재 수단(10)과 ; 시스템 버스를 통한 어드레스 및 데이터의 전송 결과에 대한 응답을 디코딩하여 그 결과를 출력하는 상태 체크 수단(11)과 ; 시스템 버스로부터 데이터를 래치함과 동시에 그 래치된 데이터가 자신으로의 데이터인지를 체크하여 그 결과를 출력하는 택 비교수단(12)과 ; 읽기 싸이클에 필요한 어드레스 버스의 중재를 상기 중재 수단(10)에 요청하여 버스의 사용권을 얻고, 상기 상태 체크 수단(11)의 어드레스 및 데이터의 전송 결과를 디코딩하여 제공하는 것에 응답하여 전송 에러 발생시 인터럽트를 발생하는 제1상태 제어 수단(14)과 ; 읽기 싸이클에서 실제로 버퍼 구동에 필요한 소정의 제어신호들을 발생하는 것에 의해 시스템 버스에 위치한 주기억장치로부터 시스템 제어기의 버퍼 램으로의 블록 데이터를 전송하는 제2상태 제어 수단(15)과 ; 상기 제1상태 제어 수단(14)으로부터 인에이블 신호를 받아 동작되며, 상태 체크를 하여 그 결과 신호를 상기 제1상태 제어 수단(14)으로 출력함으로써, 상기 제1상태 제어 수단(14)이 록 상태와 비지 상태에 따라 다음 상태로의 진행 조건을 결정하도록 하는 카운터 수단(13)과 ; 상기 상태 체크 수단(11)의 디코딩 결과 신호에 따라 데이터, 어드레스 전송에 관련된 에러 상황을 기록하기 위한 상태 레지스터 수단(16)과 ; 상기 제1 및 제2상태 제어 수단(14,15)으로부터의 소정의 제어신호들에 응답하여 상기 프로세서 어드레스/데이터 버퍼 수단과 상기 DMA데이터 버퍼 수단을 구동할 수 있는 소정의 제어신호들을 발생하는 버퍼 구동 수단(17)을 포함하는 것을 특징으로 하는 시스템 제어기 모듈에서의 요청기 읽기 제어기.
KR1019940022874A 1994-09-10 1994-09-10 시스템 제어기 모듈에서의 요청기 읽기 제어기(Requester Read Controller In System Controller In System Control Module) KR0126583B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019940022874A KR0126583B1 (ko) 1994-09-10 1994-09-10 시스템 제어기 모듈에서의 요청기 읽기 제어기(Requester Read Controller In System Controller In System Control Module)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019940022874A KR0126583B1 (ko) 1994-09-10 1994-09-10 시스템 제어기 모듈에서의 요청기 읽기 제어기(Requester Read Controller In System Controller In System Control Module)

Publications (1)

Publication Number Publication Date
KR0126583B1 true KR0126583B1 (ko) 1998-04-03

Family

ID=19392509

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019940022874A KR0126583B1 (ko) 1994-09-10 1994-09-10 시스템 제어기 모듈에서의 요청기 읽기 제어기(Requester Read Controller In System Controller In System Control Module)

Country Status (1)

Country Link
KR (1) KR0126583B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100441884B1 (ko) * 2002-04-17 2004-07-27 한국전자통신연구원 패킷 처리 엔진과 메인 프로세서간에 고속 블록 데이터전송을 수행하는 네트워크 시스템 및 그것의 dma운영방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100441884B1 (ko) * 2002-04-17 2004-07-27 한국전자통신연구원 패킷 처리 엔진과 메인 프로세서간에 고속 블록 데이터전송을 수행하는 네트워크 시스템 및 그것의 dma운영방법

Similar Documents

Publication Publication Date Title
KR0160193B1 (ko) 직접메모리접근 제어장치
EP0343770B1 (en) Multi-bus microcomputer system with bus arbitration
US4961140A (en) Apparatus and method for extending a parallel synchronous data and message bus
EP0535696B1 (en) Apparatus for avoiding processor deadlock in a multiprocessor system
US4570220A (en) High speed parallel bus and data transfer method
EP0287301B1 (en) Input/output system for multiprocessors
US6081860A (en) Address pipelining for data transfers
US5611058A (en) System and method for transferring information between multiple buses
US5119480A (en) Bus master interface circuit with transparent preemption of a data transfer operation
US4797815A (en) Interleaved synchronous bus access protocol for a shared memory multi-processor system
CA2160500C (en) Pci/isa bridge having an arrangement for responding to pci bridge address parity errors for internal pci slaves in the pci/isa bridge
US4669056A (en) Data processing system with a plurality of processors accessing a common bus to interleaved storage
JPH0652096A (ja) データ処理システム内でアービタを用いてバス仲裁を実行する方法および装置
EP0929866B1 (en) Bus interface control circuit
US6721833B2 (en) Arbitration of control chipsets in bus transaction
JP2874488B2 (ja) 処理装置
US6684284B1 (en) Control chipset, and data transaction method and signal transmission devices therefor
KR0126583B1 (ko) 시스템 제어기 모듈에서의 요청기 읽기 제어기(Requester Read Controller In System Controller In System Control Module)
US5636370A (en) System and method for interfacing risc busses to peripheral circuits using another template of busses in a data communication adapter
KR100276136B1 (ko) 캐시 스트리밍을 가능하게 하기 위한 방법 및 장치
JP2002541548A (ja) 無応答検出を備えたグローバルバス同期トランザクション肯定応答
EP0278263B1 (en) Multiple bus DMA controller
JPH07109599B2 (ja) 処理システムの情報転送装置
JP4182321B2 (ja) デュアルポートメモリシステム
KR100243868B1 (ko) 주 전산기에서의 중재로직 방법

Legal Events

Date Code Title Description
A201 Request for examination
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 19940910

PA0201 Request for examination

Patent event code: PA02012R01D

Patent event date: 19940910

Comment text: Request for Examination of Application

PG1501 Laying open of application
E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 19970531

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 19970925

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 19971016

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 19971016

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
PR1001 Payment of annual fee

Payment date: 20000930

Start annual number: 4

End annual number: 4

PR1001 Payment of annual fee

Payment date: 20010927

Start annual number: 5

End annual number: 5

PR1001 Payment of annual fee

Payment date: 20020930

Start annual number: 6

End annual number: 6

PR1001 Payment of annual fee

Payment date: 20031001

Start annual number: 7

End annual number: 7

PR1001 Payment of annual fee

Payment date: 20041001

Start annual number: 8

End annual number: 8

PR1001 Payment of annual fee

Payment date: 20051011

Start annual number: 9

End annual number: 9

PR1001 Payment of annual fee

Payment date: 20061002

Start annual number: 10

End annual number: 10

PR1001 Payment of annual fee

Payment date: 20070919

Start annual number: 11

End annual number: 11

FPAY Annual fee payment

Payment date: 20081001

Year of fee payment: 12

PR1001 Payment of annual fee

Payment date: 20081001

Start annual number: 12

End annual number: 12

LAPS Lapse due to unpaid annual fee
PC1903 Unpaid annual fee

Termination category: Default of registration fee

Termination date: 20100910