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
controller
bus
address
Prior art date
Application number
KR1019940022874A
Other languages
Korean (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 KR1019940022874A priority Critical patent/KR0126583B1/en
Application granted granted Critical
Publication of KR0126583B1 publication Critical patent/KR0126583B1/en

Links

Abstract

Meditator(10) receives data calling signal of system bus from DMAC(2) or processor to be connected to system bus, then it meditates address bus for writing cycle, in case where it wins, outputs win signal to the first state controller(14). State Check Logic(1) decodes response to the transfer result of address or data through system bus to output it to the first and second state controller(14,15) and state register(16). After rack comparator(12) latches data from system bus to check if the latched data is of its own data, it outputs the resulting signal to the first and second state controller(14,15). The first and second state controller(14,15) transfers to be buffer ram of system controller the data of main memory transferred by state check logic(11) and rack comparator, and controls to execute reading cycle by processor.

Description

시스템 제어기 모듈에서의 요청기 읽기 제어기Requestor Read Controller in the System Controller Module

제1도는 시스템 제어기 모듈 중 본 발명이 적용되는 데이터 전송버스 인터페이스 모듈의 구성을 나타낸 블록도.1 is a block diagram showing a configuration of a data transmission bus interface module to which the present invention is applied among the system controller modules.

제2도는 본 발명에 따른 데이터 전송 버스 인터페이스 모듈에서의 요청기 읽기 제어기의 구성을 나타낸 블록도.2 is a block diagram showing the configuration of the requestor read controller in the data transfer bus interface module according to the present invention.

제3도는 제2도의 상태 제어기 A(14)의 상태천이도.3 is a state transition diagram of state controller A 14 of FIG.

제4도는 제2도의 상태 제어기 B(15)의 상태천이도.4 is a state transition diagram of the state controller B 15 of FIG.

* 도면의 주요부분에 대한 부호의 설명* Explanation of symbols for main parts of the drawings

1 : 요청기(ReQuester),1: Requester,

2 : DMA 제어기(Direct Memory Access Controller),2: DMA controller (Direct Memory Access Controller),

3 : 프로세서 어드레스 버퍼(Processor Address Buffer),3: Processor Address Buffer,

4 : 프로세서 데이터 버퍼(Processor Data Buffer),4: Processor Data Buffer,

5 : DMA 데이터 버퍼, 6 : 어드레스 버스 버퍼(Address Bus Buffer),5: DMA data buffer, 6: Address Bus Buffer,

7 : 중재 버스 버퍼(Arbitration Bus Buffer),7: Arbitration Bus Buffer,

8 : 상태 버스 버퍼(Status Bus Buffer),8: Status Bus Buffer,

9 : 데이터 버스 버퍼(Data Bus Buffer), 10 : 중재기(Arbiter),9: Data Bus Buffer, 10: Arbiter,

11 : 상태 체크 로직(State Check Logic),11: State Check Logic,

12 : 택 비교기(TAG Comparator),12: TAG Comparator,

13 : 록, 비지, 워치독 타이머 카운터(Lock, Busy, WDT Counter),13: lock, busy, watchdog timer counter (Lock, Busy, WDT Counter),

14 : 상태 제어기(State Machine) A,14: state machine A,

15 : 상태 제어기 B, 16 : 상태 레지스터(Status Register),15: status controller B, 16: status register,

17 : 버퍼 제어 로직(Buffer Control Logic).17: Buffer Control Logic.

본 발명은 다중 처리기 시스템(Multiprocessor System)의 시스템 제어기 모듈 중의 데이터 전송 버스 인터페이스(Data Transfer Bus Interface) 모듈에 관한 것으로, 더 구체적으로는 시스템 제어기가 시스템 버스 상의 자원에 대한 읽기 요청이 있을 때 시스템 버스의 프로토콜(Protocol)에 따라서 어드레스 버스의 중재 및 데이터 전송을 수행하고, 시스템 버스로부터의 응답 상태에 따라서 다음 동작을 수행하는 요청기읽기 제어기에 관한 것이다.The present invention relates to a Data Transfer Bus Interface module in a system controller module of a multiprocessor system. More specifically, the present invention relates to a system bus when a system controller makes a read request for a resource on a system bus. The present invention relates to a requestor read controller that performs arbitration and data transfer of an address bus according to the protocol of the controller, and performs the following operation according to the response state from the system bus.

다중 처리기 시스템은 다수의 중앙처리장치들로 이루어지는 주처리장치 모듈과, 다수의 메모리들로 구성되고 다수의 처리기들이 시스템 버스를 통하여 공유하는 주기억장치 모듈과, 시스템의 전체적인 동작을 제어하는 시스템 제어기 모듈 및, 다수의 입출력 처리기들로 구성되고 디스크, 자기 테이프, 모니터 등을 제어하는 입출력 처리기 모듈로 구성된다.The multiprocessor system includes a main processor module composed of a plurality of central processing units, a main memory module composed of a plurality of memories and shared by a plurality of processors through a system bus, and a system controller module controlling overall operation of the system. And an input / output processor module configured with a plurality of input / output processors and controlling a disk, a magnetic tape, a monitor, and the like.

이와 같은 다중 처리기 시스템의 성능 향상을 위해서는 시스템 버스의 클록 주파수를 높이고 데이터 버스의 폭을 늘리는 등 여러가지 조치를 취해야 한다.To improve the performance of such a multiprocessor system, various measures must be taken, such as increasing the clock frequency of the system bus and increasing the width of the data bus.

예를 들어, 시스템 버스의 클록 주파수가 12.5MHz이고 데이터 버스의 폭이 64비트인 다중 처리기 시스템을 16.5MHz의 클록 주파수, 128비트의 데이타 버스 폭을 갖는 시스템으로 개선하기 위해서는 타이밍 문제를 해결해야 하고 많은 제어로직을 추가해야 한다.For example, to improve a multiprocessor system with a clock frequency of 12.5 MHz and a 64-bit data bus to a system with a clock frequency of 16.5 MHz and a data bus width of 128 bits, timing issues must be addressed. You need to add a lot of control logic.

본 발명은 다중 처리기 시스템의 성능을 향상시키기 위한 것으로, 요청기 읽기 제어기가 팬디드 프로토콜(Pended Protocol)상에서 모든 데이터 전송을 요청과 응답으로 구분하여 동기적으로 시스템의 주기억장치와 시스템 제어기의 프로세서 및 데이타 버퍼 램(Data Buffer RAM) 사이의 데이터 전송이 효율적으로 수행되도록 하는 것을 그 목적으로 한다.The present invention is to improve the performance of a multi-processor system, the requestor read controller synchronously divides all data transfers into requests and responses on the Pending Protocol (synchronized) of the main memory of the system and the processor of the system controller and Its purpose is to allow efficient data transfer between the Data Buffer RAMs.

이와 같은 목적을 달성하기 위해, 본 발명은 소정의 데이터 전송 프로토콜에 따라서 시스템 버스로의 데이터 전송을 위한 제어신호들을 생성하고 그리고 데이터 전송상태를 확인하는 요청기와, 시스템 버스와의 블록 전송을 담당하는 DMA 제어기와, 프로세서 어드레스/데이터 버퍼와 DMA 데이터 버퍼를 포함하고 ; 시스템 버스 인터페이스 수단과 로컬버스 사이에 설치되는 다중 처리기 시스템 제어기의 데이터 전송 버스 인터폐이스 장치에 있어서 ; 시스템 버스에 접속되어서 읽기 싸이클에 필요한 어드레스 버스의 중재를 수행하는 중재 수단과 ; 시스템 버스를 통한 어드레스 및 데이터의 전송결과에 대한 응답을 디코딩하는 상태 체크 수단과 ; 시스템 버스로부터 데이터를 래치함과 동시에 그 래치된 데이터가 자신으로의 데이터인 지를 체크하는 택 비교 수단과 ; 상태 체크를 위한 카운터 수단과 ; 읽기 싸이클에 필요한 어드레스 버스의 중재를 상기 중재 수단에 요청하여 버스의 사용권을 얻고, 상기 상태 체크 수단이 어드레스 및 데이터의 전송결과를 디코딩하여 제공하는 것에 응답하여 전송 에러 발생시 인터럽트를 발생하고, 록 상태와 비지 상태에 따라 다음 상태로의 진행조건을 결정하기 위해 상기 카운터 수단을 구동하는 제1상태 제어 수단과 ; 읽기 싸이클에서 실제로 버퍼 구동에 필요한 소정의 제어신호들을 발생하는 것에 의해 시스템 버스에 위치한 주기억장치로부터 시스템 제어기의 버퍼 램으로의 블록 데이터를 전송하는 제2상태 제어 수단과 ; 에러 상황을 기록하기 위한 상태 레지스터 수단과 ; 상기 상태 제어 수단으로부터의 소정의 제어신호들에 응답하여 상기 프로세서 어드레스/데이터 버퍼 수단과 상기 DMA 데이터 버퍼 수단을 구동할 수 있는 소정의 제어신호들을 발생하는 버퍼 구동 수단을 포함한다.In order to achieve the above object, the present invention generates a control signal for the data transmission to the system bus in accordance with a predetermined data transmission protocol, and the requestor for confirming the data transmission status, and responsible for the block transmission to the system bus A DMA controller, a processor address / data buffer and a DMA data buffer; A data transmission bus interface apparatus of a multiprocessor system controller provided between a system bus interface means and a local bus; Arbitration means connected to the system bus to arbitrate the address bus required for the read cycle; Status checking means for decoding a response to a result of transmission of an address and data through a system bus; Tag comparison means for latching data from the system bus and checking whether the latched data is data to itself; Counter means for checking status; Requesting the arbitration means for arbitration of the address bus required for the read cycle to obtain a license for the bus, generating an interrupt when a transmission error occurs in response to the state checking means decoding and providing the result of the transmission of the address and data, First state control means for driving said counter means to determine a progress condition to a next state in accordance with a busy state; Second state control means for transferring block data from the main memory located on the system bus to the buffer RAM of the system controller by generating predetermined control signals actually required for driving the buffer in the read cycle; Status register means for recording an error condition; Buffer driving means for generating predetermined control signals capable of driving said processor address / data buffer means and said DMA data buffer means in response to predetermined control signals from said state control means.

이에 따라서, 시스템 제어기가 시스템 버스에 연결된 다른 자원을 읽고자 요청했을때 요청기 읽기 제어기가 버스를 요청한 후 계속해서 버스를 점유하지 않고 응답하는 측에서 요청된 데이터를 준비하였을 때만 버스를 잡아 데이터를 전송할 뿐 아니라 블록 전송 기능을 지원함으로써 버스의 이용율 감소와 시스템의 성능향상이 가능하게 된다.Therefore, when the system controller requests to read other resources connected to the system bus, the requestor read controller catches the bus only when the requesting side reads the bus and prepares the requested data on the responding side without occupying the bus. In addition to the transmission, the block transfer function can be used to reduce bus utilization and improve system performance.

다중 처리기 시스템의 시스템 제어기에서 시스템 버스와의 데이터 전송에 관련된 부분은 통상 '데이터 전송 버스 인터페이스 모듈'이라 불리는데, 시스템 제어기의 데이터 전송 버스 인터페이스 모듈(100)은 제1도에 도시된 바와 같이, 시스템 버스에서의 전송 프로토콜을 담당하는 요청기(1)와, 블록 전송 관련 제어를 담당하는 DMA 제어기(DMAC : DMA Controller)(2)를 포함하고 있다.The part related to the data transfer with the system bus in the system controller of the multiprocessor system is commonly referred to as a 'data transfer bus interface module'. The data transfer bus interface module 100 of the system controller is shown in FIG. A requestor 1 in charge of the transmission protocol on the bus and a DMA controller (DMAC) 2 in charge of block transfer related control are included.

상기 요청기(1)와 상기 DMAC(2)는 프로세서 및 인터럽트 제어기(Interrupt Controller)와 각각 데이터 및 정보를 교환한다.The requester 1 and the DMAC 2 exchange data and information with a processor and an interrupt controller, respectively.

상기 요청기(1)와 상기 DMAC(2)사이에도 정보 교환이 이루어진다.Information exchange is also made between the requester 1 and the DMAC 2.

제1도에서, 참조번호 3은 로컬 어드레스 버스(Local Address Bus)와 요청기(1)에 접속된 프로세서 어드레스 버퍼(Processor Address Buffer)를 나타낸 것이고, 참조번호 4는 로컬 데이터 버스(Local Data Bus)와 접속되는 프로세서 데이터 버퍼(Processor Data Buffer)를, 번호 5는 프로세서 데이터 버퍼(4)와 이후에 상세히 설명될 본 발명의 제어기 사이에 접속되는 DMA 데이터 버퍼를 나타낸 것이다.In FIG. 1, reference numeral 3 denotes a local address bus and a processor address buffer connected to the requester 1, and reference numeral 4 denotes a local data bus. Processor Data Buffer, which is connected to, and No. 5 denotes a DMA data buffer connected between the Processor Data Buffer 4 and the controller of the present invention which will be described in detail later.

참조번호 6은 요청기(1)와 프로세서 어드레스 버퍼(3)에 접속되는 어드레스 버스 버퍼를 나타낸 것이고, 번호 7 및 8은 요청기(1)에 접속되는 중재 버스 버퍼(Arbitration Bus Buffer) 및 상태 버스 버퍼(Status Bus Buffer)를 각각 나타낸 것이고, 번호 9는 프로세서 데이터 버퍼(4)와 DMA 데이터 버퍼(5)에 접속되는 데이터 버스 버퍼(Data Bus Buffer)를 나타낸 것이다.Reference numeral 6 denotes an address bus buffer connected to the requestor 1 and the processor address buffer 3, and numbers 7 and 8 denote an Arbitration Bus Buffer and a status bus connected to the requester 1; Each shows a buffer (Status Bus Buffer), and the number 9 shows a data bus buffer connected to the processor data buffer 4 and the DMA data buffer 5.

상기한 버퍼들(6∼9)은 시스템 버스와 접속된다.The buffers 6-9 are connected to the system bus.

요청기(1)는 시스템 버스로 데이터를 전송하는데 필요한 제어신호들을 생성하고 그리고 데이터 전송상태를 확인하는 작업을 수행하는바, 시스템 버스의 사용권을 요청하는 장치들은 프로세서와 DMAC(2)로 구분할 수 있다.The requestor 1 generates the control signals necessary to transmit data to the system bus and checks the data transmission status. The devices requesting the use of the system bus can be divided into a processor and a DMAC (2). have.

프로세서가 요구한 전송의 경우에는 요청기(1)가 직접 전송을 수행하지만, 블록전송의 경우에는 요청기(1)와 DMAC(2)가 협력하여 전송을 수행한다.In the case of the transmission requested by the processor, the requester 1 directly performs the transmission. In the case of block transmission, the requester 1 and the DMAC 2 cooperate to perform the transmission.

제2도는 본 발명에 따른 데이터 전송 버스 인터페이스 모듈에서의 요청기 읽기 제어기의 구성을 나타낸 블록도이다.2 is a block diagram showing the configuration of the requestor read controller in the data transfer bus interface module according to the present invention.

제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)로 구성된다.Referring to FIG. 2, the requestor read controller 1 of the present invention is connected to the system bus to perform arbitration of an address bus required for a read cycle, and outputs a win signal if the mediator wins. 10, a state check logic 11 for decoding a response to a result of transmission of an address and data through the system bus and outputting the result, and latching data from the system bus. a latch comparator 12 which checks whether the latched data is the data to itself and outputs the result signal (same_tag), a busy counter, a lock busy counter, A watch dog timer counter 13, a win signal output from the arbiter 10, an output signal of the state check logic 11, and an output signal of the tack comparator 12. take (same_tag) on the system bus In the state check logic 11 and the state controllers A, B (14, 15) for transferring block data from the main memory located to the buffer RAM of the system controller and controlling the processor to perform a read cycle. A status register 16 for receiving and recording the output data and the error situation relating to the address transfer, and the processor data buffer 4 in response to predetermined control signals provided from the status controllers A and B 14 and 15. (Figure 1) and Buffer Control Logic 17 for generating control signals for driving the DMA data buffer 5 (Figure 1).

이상과 같이, 본 발명에 따른 요청기 읽기 제어기는 데이터의 읽기 전송을 위해 2개의 상태 제어기(14,15)를 포함하고 있다.As described above, the requestor read controller according to the present invention includes two state controllers 14 and 15 for read transfer of data.

상기 상태 제어기 A(이하, '제1상태 제어기'라 함)(14)는 읽기 싸이클에 필요한 어드레스 버스의 중재(arben)를 중재기(10)에 요청하여 버스의 사용권을 얻고, 상기 상태 체크 로직(11)에서 어드레스 및 데이터의 전송 결과에 대한 응답을 해독(Decoding)한 결과 에러가 발생하였다는 것을 나타낼 때 인터럽트를 발생한다.The state controller A (hereinafter referred to as 'first state controller') 14 requests the arbiter 10 to arbitrate an address bus necessary for a read cycle to obtain a license of the bus, and the state check logic An interrupt is generated when (11) indicates that an error has occurred as a result of decoding the response to the transmission result of the address and data.

또한, 상기 상태 제어기 B(이하, '제2상태 제어기'라 함)(15)는 읽기 싸이클에서 실제로 버퍼 구동에 필요한 제어신호를 발생하는 것에 의해 필요한 시점에 적당한 방향으로 데이터가 구동되도록 한다.In addition, the state controller B (hereinafter referred to as 'second state controller') 15 causes the data to be driven in a proper direction at a necessary time by actually generating a control signal for driving the buffer in a read cycle.

이러한 구성을 갖는 본 발명의 요청기 읽기 제어기(1)의 동작을 좀 더 상세히 설명하면, 먼저, 상기 중재기(10)가 시스템 제어기 내부의 DMAC(2)(제1도)나 프로세서로부터 시스템 버스의 데이터 요청 신호를 받아 시스템 버스에 접속되어 읽기 싸이클에 필요한 어드레스 버스의 중재를 수행한 후 그 중재 결과 승리한 경우 승리(Win)신호를 상기 제1상태 제어기(14)로 출력하고, 상기 상태 체크 로직(11)은 시스템 버스를 통한 어드레스 및 데이터의 전송 결과에 대한 응답을 디코딩(Decoding)하여 그 결과 에러발생 여부를 상기 제1상태 제어기(14), 제2상태 제어기(15) 및 상태 레지스터(16)으로 출력하며, 상기 택 비교기(12)는 시스템 버스로부터 데이터를 래치(Latch)하여 그 래치된 데이터가 자신의 데이터인지 여부를 체크한 후 그 결과 신호(same_tag)를 상기 제1 및 제2 상태 제어기(14,15)로 출력한다.The operation of the requestor read controller 1 of the present invention having such a configuration will be described in more detail. First, the arbiter 10 is a system bus from a DMAC 2 (FIG. 1) or a processor inside the system controller. Receives data request signal and connects to system bus and performs arbitration of address bus required for read cycle, and if wins as a result of arbitration, outputs Win signal to the first state controller 14 and checks the status. The logic 11 decodes a response to a result of the transmission of the address and data through the system bus, and as a result, the first state controller 14, the second state controller 15 and the state register ( 16), and the tack comparator 12 latches data from the system bus, checks whether the latched data is its own data, and then outputs the signal signal_tag as the first and second signals. Prize Output to state controller 14,15.

한편, 상기 비지, 록 비지 및 워치 독 타이머 카운터(13)는 상기 제1상태 제어기(14)로부터 각각의 인에이블 신호(bsyenb, lbsyenb, wdtenb) 신호를 받아 해당 카운팅 결과 신호(bsyout, lbsyout, wdtout)를 상기 제1상태 제어기(l4)로 출력한다.On the other hand, the busy, lock busy and watchdog timer counter 13 receives the enable signals bsyenb, lbsyenb, and wdtenb from the first state controller 14, and counts the corresponding counting result signals bsyout, lbsyout, and wdtout. ) Is output to the first state controller 14.

또한, 상기 제1 및 제2 상태 제어기(14,15)는 상기 상태 체크 로직(11)과 택 비교기(12)를 통해 전송된 주기억 장치의 데이터를 시스템 제어기의 버퍼램으로 전송하고, 프로세서에 의한 읽기 싸이클이 수행되도록 제어하는 기능을 하며, 특히, 제1상태 제어기(14)는 읽기 싸이클에 필요한 어드레스 버스의 중재를 상기 중재기(10)에 요청(arben)하여 버스의 사용권을 얻는다.The first and second state controllers 14 and 15 transmit data of the main memory device transmitted through the state check logic 11 and the tack comparator 12 to the buffer RAM of the system controller. In particular, the first state controller 14 requests the arbitrator 10 to arbitrate the address bus required for the read cycle to obtain a license for the bus.

상기 상태 레지스터(16)는 상기 상태 체크 로직(11)의 데이터, 어드레스 전송에 관련한 에러 상황을 기록하며, 상기 버퍼 제어 로직(17)은 상기 제1 및 제2상태 제어기(14,15)로부터 제공된 소정의 제어 신호들에 응답하여 프로세서 데이터 버퍼(4)(제1도)와 DMA 데이터 버퍼(5)(제1도)를 구동하는 제어신호들을 출력한다.The status register 16 records error conditions related to data and address transfer of the status check logic 11, and the buffer control logic 17 is provided from the first and second state controllers 14 and 15. In response to the predetermined control signals, control signals for driving the processor data buffer 4 (FIG. 1) and the DMA data buffer 5 (FIG. 1) are output.

한편, 버스 사용권을 얻기 위한 요청을 발생한 후의 요청기 읽기 제어기의 동작상태에 대해서 제3도 및 제4도를 참조하여 상세히 설명하겠다.Meanwhile, an operation state of the requestor read controller after generating a request for obtaining a bus right will be described in detail with reference to FIGS. 3 and 4.

제3도 및 제4도는 제1상태 제어기(14) 및 제2상태 제어기(15) 각각의 기능수행과정을 나타낸 상태 천이도(State Diagram)이다.3 and 4 are state diagrams showing the function performance of each of the first state controller 14 and the second state controller 15.

먼저, 제3도를 참조하면, 제1상태 제어기(14)의 동작 상태는 버스 사용권을 얻기 위한 요청 신호를 대기하는 아이들 제로(Idle 0)상태와, 상기 요청 신호를 받아 어드레스 버스의 사용권을 얻기 위한 중재를 수행하는 중재(Arbitration)상태와, 단지 어드레스 전송에 대한 응답을 대기하기 위해 한 클록 상태만을 유지하고 무조건 다음 상태로 넘어가도록 하는 바이패스(Bypass)상태와, 상기 바이패스 상태에서 대기하던 시스템 버스로부터의 어드레스 응답을 상태 버스 버퍼(8)(제1도)에 래치하는 응답 래치 상태(Aacklatch)와, 상기 응답 래치 상태에서 래치한 어드레스 응답을 체크하는 응답 체크(Aackcheck)상태와, 실제 데이터를 전송하는 전송 상태(Transfer)상태와, 상기 응답 체크 상태 또는 전송 상태에서 오류가 발생할 경우를 나타내는 에러(Error)상태로 구성된다.First, referring to FIG. 3, the operating state of the first state controller 14 includes an idle zero state waiting for a request signal for obtaining a bus right, and obtaining a right to use an address bus by receiving the request signal. An arbitration state that performs arbitration for the arbitration, a bypass state that maintains only one clock state to wait for a response to the address transmission and passes to the next state unconditionally, and waits in the bypass state. A response latch state (Aacklatch) for latching an address response from the system bus to the state bus buffer 8 (FIG. 1), a response check state for checking an address response latched in the response latch state, It is composed of a transfer state for transmitting data and an error state indicating when an error occurs in the response check state or the transfer state.

이하, 상기와 같은 각 상태별로 좀 더 상세한 설명을 한다.Hereinafter, a more detailed description for each state as described above.

아이를 제로(Idle 0)상태 :Idle 0 state:

리셋(Reset)후의 초기화된 상태에서 시스템 버스 사용을 위한 프로세서 요청 신호인 P_req 신호나, DMA 요청 신호인 dma_req 신호가 들어오면 바로 다음 상태인 중재(Arbitraion)상태로 넘어 간다.When the P_req signal, which is the processor request signal for the system bus, or the dma_req signal, which is the DMA request signal, are received in the initialized state after the reset, the next state is changed to Arbitraion.

시스템 제어기의 프로세서와 DMA 제어기(2)가 동시에 시스템 버스를 요청할 때는 DMA 제어기(2)에 높은 우선순위를 준다.When the processor of the system controller and the DMA controller 2 request the system bus at the same time, the DMA controller 2 is given high priority.

이 상태에서는, 버퍼구동을 위한 모든 제어신호와 전송결과를 나타내는 상태 레지스터(16)가 초기화된 상태로 설정되어 있다.In this state, all control signals for buffer driving and the status register 16 indicating the transfer result are set to an initialized state.

중재(Arbitration)상태 :Arbitration Status:

이 상태에서, 제1상태 제어기(14)는 어드레스 버스의 사용권을 얻기 위해서 중재 인에이블 신호(arben)를 발생하여 중재기(10)로 제공하고, 슬롯 ID인 제2도의 ga[3 : 0] 디코딩하여 중재기(10)를 통해서 중재버퍼(7)를 구동하는 것에 의해 중재가 이루어지도록 한다.In this state, the first state controller 14 generates and provides an arbitration enable signal arben to the arbiter 10 in order to obtain the right to use the address bus, and ga [3: 0] of FIG. By decoding, the arbitration is performed by driving the arbitration buffer 7 through the arbiter 10.

중재기(10)로부터 어드레스 버스의 사용권을 얻었음을 나타내는 승리 신호(win)가 입력되면 중재 버퍼(7)의 구동을 중단하고 그리고 어드레스 버스의 사용권을 얻었음을 버퍼 제어 로직(17)에 알린다.If a win signal win is received from the arbiter 10 indicating that the address bus has been licensed, it stops driving the arbitration buffer 7 and informs the buffer control logic 17 that the address bus has been licensed.

이로써, 버퍼 제어 로직(17)은 어드레스 구동 신호(addrdrv)를 발생하여 프로세서 어드레스 버퍼(3)를 구동되게 한다.Thus, the buffer control logic 17 generates an address drive signal addrdrv to drive the processor address buffer 3.

이 addrdrv 신호는 win 신호가 액티브 상태로 남아 있는 동안에는 계속적으로 구동된 상태를 유지하게 된다.This addrdrv signal remains driven while the win signal remains active.

바이패스(Bypass) 상태 :Bypass status:

한 클록상태만 유지되고 무조건 다음 상태로 넘어가게 된다.Only one clock state is maintained and it is unconditionally transferred to the next state.

이 상태는 단지 어드레스의 전송에 대한 응답을 기다리기 위해서 한 클록대기를 위해서 필요하다.This state is only needed for one clock wait to wait for a response to the transmission of the address.

응답래치(Aacklatch) 상태 :Response latch status:

시스템 버스로부터 어드레스 응답신호 AACK(제2도)을 상태 버스 버퍼(8)에 래치한 후 디코딩을 수행한다.The address response signal AACK (FIG. 2) from the system bus is latched in the state bus buffer 8, and then decoding is performed.

응답체크(Aackcheck) 상태 :Response check status:

응답래치(Aacklatch) 상태에서 래치했던 어드레스 응답을 체크한다.Check the address response that was latched in the response latch state.

상태 체크 로직(11)으로부터 어드레스 응답 신호인 AACK가 1이면 정상적인 전송이라는 표시를 나타내는 aa_ok 신호가 제공되고, 데이터 전송을 개시하기 위해서 이후에 설명될 전송(Transfer)상태로 진행한다.If the address response signal AACK is 1 from the state check logic 11, an aa_ok signal indicating an indication of normal transmission is provided, and the process proceeds to a transfer state to be described later to start data transfer.

상태 체크 로직(11)으로부터 어드레스 응답 신호 AACK가 0이면 어드레스 전송 에러를 나타내는 aa_err 신호가 제공되고, 이후에 설명될 에러(Error) 상태로 진행한다.If the address response signal AACK is 0 from the status check logic 11, an aa_err signal indicating an address transmission error is provided, and the process proceeds to an Error state to be described later.

상태 체크 로직(11)으로부터 어드레스 버스가 타 장치에 의한 점유(Busy) 상태에 있음을 나타내는 aa_bsy 신호나 aa_lbsy 신호가 제공되면 제1상태 제어기(14)는 비지 카운터 또는 록 비지 카운터(13)를 구동하기 위한 bsy-enb 신호 또는 lbsy_enb 신호 등의 제어신호들을 발생한다.When the aa_bsy signal or the aa_lbsy signal is provided from the state check logic 11 indicating that the address bus is in a busy state by another device, the first state controller 14 drives the busy counter or the lock busy counter 13. Control signals such as a bsy-enb signal or a lbsy_enb signal are generated.

256회의 어드레스 버스 중재 재시도를 나타내는 bsy_out 신호, lbsy_out 신호가 카운터(13)로부터 제공되면 즉, 조건 0(condition 0) 상태이면, 제1상태 제어기(14)의 동작 상태는 다음에 설명될 에러 상태로 진행한다.If the bsy_out signal representing the 256 address bus arbitration retries, the lbsy_out signal is provided from the counter 13, i.e., condition 0, then the operating state of the first state controller 14 is the error state described below. Proceed to

재시도의 횟수가 256회 이하일 때는 어드레스 버스의 중재를 재시도하기 위해서 제1상태 제어기(14)의 동작 상태는 앞에서 설명된 중재 상태로 진행한다.When the number of retries is 256 or less, in order to retry arbitration of the address bus, the operating state of the first state controller 14 proceeds to the arbitration state described above.

상태 체크 로직(11)으로부터 aa_ok 신호가 제공될 때와 같이 어드레스 전송에 문제가 없었다면 제1상태 제어기(14)는 rdbgin 신호를 발생하여 제2상태 제어기(15)를 구동함으로서 제2상태 제어기(15)가 이후에 설명될 자신의 동작 상태 Read 0로 진행하도록 한다.If there is no problem in address transmission, such as when the aa_ok signal is provided from the state check logic 11, the first state controller 14 generates an rdbgin signal to drive the second state controller 15 to generate the second state controller 15. ) Proceeds to its operating state Read 0 which will be described later.

전송(Transfer) 상태 :Transfer status:

실제로 데이터 전송이 진행 중인 상태로서 에러없이 제3도의 조건 1(condition 1)을 만족하면 전송이 완료되면 '아이들 제로(Idle 0)' 상태로 진행하고, 전송 중에 에러가 발생한 경우이면 즉, 조건 3(condition 3)이면 발생된 에러가 반복적인 에러이면 이후에 설명될 Error 상태로 진행하고, 발생된 에러가 최초의 에러이면 즉, 조건 2(condition 2)이면 중재(Arbitration) 상태로 진행한다.In fact, if data transfer is in progress and condition 1 of FIG. 3 is satisfied without error, when the transmission is completed, the process proceeds to 'idle zero' state, and if an error occurs during transmission, that is, condition 3 If (condition 3), the generated error is a repetitive error and proceeds to the Error state to be described later. If the generated error is the first error, that is, condition 2, it proceeds to the Arbitration state.

에러(Error) 상태 :Error state:

Lock, Busy, WDT 카운터(13)에서 반복적인 에러상태를 나타내는 신호가 발생하였을때 이 상태로 진행하고, 에러에 대한 상황을 상태 레지스터(16)에 기록함과 동시에 인터럽터 제어기로 인터럽트를 보낸다.When a signal indicating a repetitive error condition occurs in the Lock, Busy, and WDT counters 13, the system proceeds to this state, and writes the status of the error in the status register 16 and sends an interrupt to the interrupt controller.

프로세서로부터 읽기 접근이 있으면 인터럽트 신호의 구동을 멈추고 아이들 제로(Idle 0) 상태로 진행한다.If there is a read access from the processor, it stops driving the interrupt signal and proceeds to idle zero.

다음, 제4도를 참조하여, 제2상태 제어기(15)의 동작 상태에 대해서 설명한다.Next, with reference to FIG. 4, the operation state of the second state controller 15 will be described.

상기 제2상태 제어기(15)의 동작 상태는 리셋 후의 초기화 상태인 아이들 1 (Idle 1)상태와, 시스템 제어기로부터 데이타를 읽기 위한 리드 0(Read 0), 리드 1 (Read 1), 리드 2(Read 2), 리드 3(Read 3) 상태를 포함한다.The operation state of the second state controller 15 includes an idle 1 state, which is an initialization state after reset, read 0, read 1, read 2, read 2 for reading data from the system controller. Read 2) and Read 3 status.

상기 각 상태들을 좀 더 상세히 설명하면, 다음과 같다.The above states will be described in more detail as follows.

아이들 1(Idle 1)상태 :Idle 1 status:

리셋 후의 초기화 상태로 제1상태 제어기(14)로부터 rdbgin 신호를 받게 되면 주기억장치에서 시스템 제어기로 데이터를 읽기 위해서 다음에 설명될 상태 리드 0(Read 0)로 진행한다.When the rdbgin signal is received from the first state controller 14 in the initialization state after the reset, it proceeds to the state read 0 which will be described later to read data from the main memory to the system controller.

리드 0(Read 0)상태 :Read 0 Status:

이 상태에서 택 비교기(12)는 시스템 버스로부터 데이터를 래치함과 동시에 자신으로의 데이터인지를 체크하여 자신으로의 데이터인 것으로 판명되면 same_tag 신호를 발생한다.In this state, the tag comparator 12 latches the data from the system bus and checks whether the data is to itself and generates the same_tag signal when it is determined to be the data to itself.

자신으로의 데이터를 나타내는 same_tag 신호가 택 비교기(12)로부터 제공되고 그리고 패리티 에러가 없다는 no_perr_rd 신호와 블록 전송 싸이클을 나타내는 d_block 신호가 액티브(active)일 경우에는 즉, 제4도의 조건 0(condition 0)상태일 때는 다음에 설명될 상태 리드 1(Read 1)로 진행된다.If the same_tag signal representing the data to itself is provided from the tag comparator 12 and the no_perr_rd signal indicating no parity error and the d_block signal representing the block transmission cycle are active, that is, condition 0 of FIG. In the) state, the process proceeds to the state read 1 described later.

이때, d_block 신호가 인액티브(inactive)인 경우 즉 단일전송 싸이클일 때는 앞에서 설명된 상태 아이들 1(Idle 1)으로 진행된다.At this time, when the d_block signal is inactive (ie, a single transmission cycle), the process proceeds to the above-described state idle 1 (Idle 1).

데이더를 읽기 위한 프로세서 데이터 버퍼(4)의 구동에 있어서, 에러가 아니고 그리고 어드레스 비트 3이 로우(low)이면 상기 데이터 버퍼(4)의 하부 64비트 데이터 버퍼가 구동되는 반면 어드레스 비트 3이 하이(high)이면 상기 데이터 버퍼(4)의 상부 64비트 데이터 버퍼가 구동되게 된다.In driving the processor data buffer 4 to read the data, if it is not an error and if address bit 3 is low, then the lower 64-bit data buffer of the data buffer 4 is driven while address bit 3 is high. If high, the upper 64-bit data buffer of the data buffer 4 is driven.

블록전송일 때는, 128비트의 블록 데이터 전송을 위해서 데이터 전송 완료를 나타내는 신호 tr_end가 인액티브되어 있는 동안만 버퍼 제어 로직(17)이 버퍼 출력 인에이블 신호를 구동하게 된다.In the case of block transfer, the buffer control logic 17 drives the buffer output enable signal only while the signal tr_end indicating completion of data transfer is inactive for 128-bit block data transfer.

래치 인에이블 신호는 읽기신호 rd와 블록전송을 허용한다는 신호 d_gr_가 액티브이면 구동된 상태를 계속 유지한다.The latch enable signal continues to be driven when the read signal rd and the signal d_gr_ indicating that the block transfer is allowed are active.

리드 1(Read 1)상태 :Read 1 status:

블록전송 싸이클일 경우에만 의미가 있는 상태로서 블록 읽기 전송의 두번째 데이터에 대한 패리티를 체크하여 no_perr_rd이면 즉, 제4도의 조건 2(condition 2)이면 다음에 설명될 리드 2(Read 2)상태로 진행하고, 그렇지 않으면 앞에서 설명된 아이들 1(Idle 1)상태로 진행한다.Only in the case of a block transfer cycle, the parity of the second data of the block read transfer is checked, and if no_perr_rd, that is, condition 2 of FIG. 4, the process proceeds to the read 2 state described below. Otherwise, the process proceeds to the idle 1 state described above.

프로세서 데이터 버퍼(4)의 구동은 블록전송의 경우에만 리드 0(Read 0)상태에서와 동일한 방법으로 이루어지게 되지만, 이 상태에서 프로세서 데이터 버퍼(4)는 대개 디스에이블(disable)된 상태를 유지하게 된다.The operation of the processor data buffer 4 is performed in the same manner as in the read 0 state only in the case of block transfer, but in this state, the processor data buffer 4 is usually kept in a disabled state. Done.

리드 2(Read 2)상태 :Read 2 status:

블록전송의 세번째 데이터에 대한 패리티 체크를 하여 에러가 없을 경우에는 즉, 제4도의 조건 2(condition 2)이면, 다음에 설명될 리드 3(Read 3)상태로 진행하고, 에러가 발생했을 경우에는 전술한 아이들 1(Idle 1)상태으로 진행하게 된다.If there is no error by checking parity on the third data of the block transmission, that is, if it is condition 2 of FIG. 4, the process proceeds to the read 3 state, which will be described later, and when an error occurs. It proceeds to the aforementioned idle 1 state.

프로세서 데이터 버퍼(4)의 구동은 리드 1(Read 1)상태에서와 동일한 방법으로 이루어진다.The driving of the processor data buffer 4 is performed in the same manner as in the read 1 state.

리드 3(Read 3)상태 :Read 3 status:

블록전송의 네번째 데이터에 대한 패리티 체크를 하여 에러가 없을 경우에는 Idle 1상태로 무조건 진행하고, 프로세서 데이터 버퍼의 구동은 Read 1상태에서와 동일한 방법으로 이루어진다.If there is no error by parity check on the fourth data of the block transmission, the controller proceeds to the Idle 1 state unconditionally, and the processor data buffer is driven in the same manner as in the Read 1 state.

Claims (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)을 포함하는 것을 특징으로 하는 시스템 제어기 모듈에서의 요청기 읽기 제어기.A requestor (1) for generating control signals for data transmission to the system bus and confirming the data transmission status according to a predetermined data transmission protocol, and a DMA controller (2) for block transmission with the system bus; A processor address / data buffer 3, 4 and a DMA data buffer 5; A data transmission bus interface device of a multiprocessor system controller provided between the system bus interface means 6 to 9 and a local bus; When the DMA controller 2 or the processor inside the system controller requests data to the system bus, the interface device is connected to the system bus to perform arbitration of the address bus necessary for the read cycle, and wins if the mediation wins. Mediation means (10) for outputting a signal; State checking means (11) for decoding the response to the transmission result of the address and data through the system bus and outputting the result; Tack comparison means 12 for latching data from the system bus and checking whether the latched data is data to itself and outputting the result; Interrupt on transmission error in response to requesting the arbitration means 10 for arbitration of an address bus required for a read cycle to obtain a license for the bus, and decoding and providing a result of the transmission of the address and data of the status check means 11. First state control means (14) for generating a; Second state control means (15) for transferring block data from the main memory located on the system bus to the buffer RAM of the system controller by generating predetermined control signals actually needed to drive the buffer in the read cycle; The first state control means 14 is operated by receiving an enable signal from the first state control means 14 and performing a state check to output the result signal to the first state control means 14. Counter means (13) for determining a progress condition to the next state according to the state and busy state; Status register means (16) for recording an error situation related to data and address transmission in accordance with the decoding result signal of said status check means (11); A buffer for generating predetermined control signals capable of driving said processor address / data buffer means and said DMA data buffer means in response to predetermined control signals from said first and second state control means (14, 15) Requestor read controller in a system controller module comprising drive means (17).
KR1019940022874A 1994-09-10 1994-09-10 Requester read controller in system controller in system control module KR0126583B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019940022874A KR0126583B1 (en) 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 (en) 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 (en) 1998-04-03

Family

ID=19392509

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019940022874A KR0126583B1 (en) 1994-09-10 1994-09-10 Requester read controller in system controller in system control module

Country Status (1)

Country Link
KR (1) KR0126583B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100441884B1 (en) * 2002-04-17 2004-07-27 한국전자통신연구원 Network system performing high speed block data transfer between packet processing engine and main processor and direct memory access management method for the same

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100441884B1 (en) * 2002-04-17 2004-07-27 한국전자통신연구원 Network system performing high speed block data transfer between packet processing engine and main processor and direct memory access management method for the same

Similar Documents

Publication Publication Date Title
US5535341A (en) Apparatus and method for determining the status of data buffers in a bridge between two buses during a flush operation
KR0160193B1 (en) Dma control apparatus
EP0343770B1 (en) Multi-bus microcomputer system with bus arbitration
EP0287301B1 (en) Input/output system for multiprocessors
EP0535696B1 (en) Apparatus for avoiding processor deadlock in a multiprocessor system
US4961140A (en) Apparatus and method for extending a parallel synchronous data and message bus
US5611058A (en) System and method for transferring information between multiple buses
US5191656A (en) Method and apparatus for shared use of a multiplexed address/data signal bus by multiple bus masters
US4797815A (en) Interleaved synchronous bus access protocol for a shared memory multi-processor system
US5119480A (en) Bus master interface circuit with transparent preemption of a data transfer operation
EP0559408A1 (en) A method and apparatus for performing bus arbitration using an arbiter in a data processing system
US4669056A (en) Data processing system with a plurality of processors accessing a common bus to interleaved storage
JPH0666821B2 (en) Data communication controller
AU7726081A (en) Improved system for interrupt arbitration
EP0929866B1 (en) Bus interface control circuit
JP2874488B2 (en) Processing equipment
KR0126583B1 (en) Requester read controller in system controller in system control module
US6684284B1 (en) Control chipset, and data transaction method and signal transmission devices therefor
KR100276136B1 (en) Method and apparatus for enabling cache streaming
KR100243868B1 (en) Arbiter logic in main computer system
JP4182321B2 (en) Dual port memory system
JPH07109599B2 (en) Information transfer device for processing system
KR960015587B1 (en) Dma controller and its method in system controller module
KR100328630B1 (en) Data transmitting method and data transmission channel apparatus of sun bus and versa module eurocard bus
JPS6051151B2 (en) data processing system

Legal Events

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

Payment date: 20081001

Year of fee payment: 12

LAPS Lapse due to unpaid annual fee