KR100216255B1 - Interface circuit for multiprocessor system - Google Patents

Interface circuit for multiprocessor system Download PDF

Info

Publication number
KR100216255B1
KR100216255B1 KR1019970028292A KR19970028292A KR100216255B1 KR 100216255 B1 KR100216255 B1 KR 100216255B1 KR 1019970028292 A KR1019970028292 A KR 1019970028292A KR 19970028292 A KR19970028292 A KR 19970028292A KR 100216255 B1 KR100216255 B1 KR 100216255B1
Authority
KR
South Korea
Prior art keywords
bus
address
asic
data
memory
Prior art date
Application number
KR1019970028292A
Other languages
Korean (ko)
Other versions
KR19990004242A (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 KR1019970028292A priority Critical patent/KR100216255B1/en
Publication of KR19990004242A publication Critical patent/KR19990004242A/en
Application granted granted Critical
Publication of KR100216255B1 publication Critical patent/KR100216255B1/en

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/10Program control for peripheral devices
    • G06F13/102Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/16Multiple access memory array, e.g. addressing one storage element via at least two independent addressing line groups

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

본 발명은 인텔 펜티엄 프로세서가 가진 하나의 P6버스에 대한 프로세서의 수적인 제한을 해결하기 위해 두 개의 P6버스와 시스템 메모리ㅣ 버스를 상호 연결시키고 이들의 동작을 콘트롤할 수 있도록 한 멀티프로세서 시스템의 인터페이스 처리회로에 관한 것으로, 듀얼-포티드 메모리(Dual-Ported Memory)구조에서 두 개의 P6버스와 메무리 버스를 어드레스 ASIC를 통하여 서로 연결하여 버스들 사이의 유기적인 인테페이스를 콘트롤 할 수 있도록 한 것으로 이 어드레스 ASIC는, P6버스상의 I/O요청에 대한 중재를 실행하는 중재로직(1), 그리고 마스터(2)(3), IOQ(4)(5), 스누프(6)(7), 메모리 콘트롤러(8), 데이터 ASIC(9), SDRAM(10), 어드레스 디코더(11)(12) 및 오퍼레이션 디코더(13)(14)등으로 이루어진다.The present invention provides an interface of a multiprocessor system to interconnect two P6 buses and a system memory bus and control their operation in order to solve the limitation of the number of processors for one P6 bus of the Intel Pentium processor. In the dual-ported memory architecture, two P6 buses and a memory bus are connected to each other via an address ASIC to control the organic interface between the buses. The address ASIC is an arbitration logic (1) that performs arbitration for I / O requests on the P6 bus, and a master (2) (3), IOQ (4) (5), snoop (6) (7), and memory. It consists of a controller 8, a data ASIC 9, an SDRAM 10, an address decoder 11, 12, an operation decoder 13, 14, and the like.

Description

멀티프로세서 시스템의 인터페이스 처리회로Interface Processing Circuit of Multiprocessor System

본 발명은 멀티프로세서 시스템에 관한 것으로, 특히 인텔 펜티엄 프로세서가 가진 하나의 P6버스에 대한 프로세서의 수적인 제한을 해결하기 위해 두 개의 P6버스와 시스템 메모리 버스를 상호 연결시키고 이들의 동작을 콘트롤할 수 있도록 한 멀티프로세서 시스템의 인터페이스 처리회로에 관한 것이다.TECHNICAL FIELD The present invention relates to a multiprocessor system, and in particular, to solve the numerical limitation of a processor for one P6 bus of an Intel Pentium processor, it is possible to interconnect two P6 buses and a system memory bus and control their operation. To an interface processing circuit of a multiprocessor system.

종래 인텔이 제공하하는 펜티엄 프로를 이용한 시스템은 전기적인 특성으로 인해 하나의 P6버스에 4개까지의 펜티엄 프로 프로세서만 지원할 수 있도록 되어 있다.Previously, Intel's Pentium Pro system can only support up to four Pentium Pro processors on a single P6 bus due to its electrical characteristics.

그러나, 많은 응용프로그램들은 4개 이상의 프로세서를 요구하고 있으며, 고유의 인텔 규격으로는 이를 만족시킬 수 없는 문제가 있었다.Many applications, however, require more than four processors, and their inherent Intel specifications can't satisfy them.

본 발명은 이와 같은 종래의 문제점을 해결하기 위하여 안출한 것으로, 듀얼포티드 메모리 구조에서 두 개의 P6버스와 메모리 버스를 서로 연결하여 버스들사이의 유기적인 인터페이스를 콘트롤 할 수 있는 멀티프로세서 시스템의 인터페이스처리회로를 제공하는데 그 목적이 있다.The present invention has been made to solve such a conventional problem, the interface of a multiprocessor system that can control the organic interface between the bus by connecting two P6 bus and the memory bus in a dual-ported memory structure to each other The purpose is to provide a processing circuit.

이와 같은 목적을 달성하기 위한 본 발명은 두 개의 P6버스와 메모리 버스사이에 어드레스 ASIC를 구비하여 구성함을 특징으로 한다.The present invention for achieving the above object is characterized by comprising an address ASIC between the two P6 bus and the memory bus.

본 발명의 구성상의 특징은 상기 어드레스 ASIC가, P6버스상의 I/O요청에 대한 중재를 실행하는 중재로직, 중재로직에 연결되어 두 개의 P6버스상에서 일어나는 오퍼레이션에 대한 반영을 수행하는 마스터, P6버스에서 요구된 요청을 저장해서 순차적인 메모리 오퍼레이션이 이루어지도록 하는 IOQ, 제1어드레스 버스와 제2어드레스 버스사이의 캐쉬 결합 유지를 사용되는 스누프, IOQ와 연결되어 메모리쪽으로 오퍼레이션을 전달하고 이를 콘트롤하는 메모리 콘트롤러, 메모리 콘트롤러의 콘트롤신호에 의해 데이터 제어를 수행하는 데이터 ASIC, 데이터 ASIC로부터의 데이터를 저장하거나 또는 데이터 ASIC로 데이터를 공급하는 SDRAM, 각 버스에서 일어나는 어드레스에 대해 IOQ에 대기여부를 체크하는 어드레스 디코더, 각 버스에서 일어나는 사이클에 대한 오퍼레이션 타잎을 체크하는 오퍼레이션 디코더로 구성된 것에 있다.A structural feature of the present invention is that the address ASIC is connected to an arbitration logic, which performs arbitration for I / O requests on the P6 bus, and a master, which is connected to the arbitration logic to perform operations on two P6 buses. IOQ to store the request requested in order to perform sequential memory operations, snoop used to maintain cache coupling between the first address bus and the second address bus, and connected to IOQ to transfer operations to the memory and control them. A memory controller, a data ASIC that performs data control by a control signal of a memory controller, an SDRAM that stores data from a data ASIC or supplies data to a data ASIC, and checks whether or not IOQ is waiting for an address occurring on each bus. Address decoder, offers for cycles on each bus It consists of an operation decoder that checks for a conversion type.

제1도는 발명 멀티프로세서 시스템의 인터페이스 처리회로의 블록도.1 is a block diagram of an interface processing circuit of the invention multiprocessor system.

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

1 : 중재로직 2, 3 : 마스터1: arbitration logic 2, 3: master

4, 5 : IOQ 6, 7 : 스누프4, 5: IOQ 6, 7: Snoop

8 : 메모리 콘트롤러 9 : 데이터 ASIC8: memory controller 9: data ASIC

10 : SDRAMP 11, 12 : 어드레스 디코더10: SDRAMP 11, 12: Address decoder

13, 14 : 오퍼레이션 디코더 20 : 어드레스 ASIC13, 14: operation decoder 20: address ASIC

이하, 본 발명의 실시예를 첨부된 도면을 참고로 하여 상세히 설명하면 다음과 같다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.

제1도는 본 발명의 블로도로, P6버스상의 I/O요청에 대한 중재를 수행하는 중재로직(1)과, 상기 중재로직(1)에 연결되어 두 개의 P6버스상에서 일어나는 오퍼레이션에 대한 반영을 수행하는 마스터(2)(3)와, 상기 P6버스에서 요구된 요청을 저장해서 순차적인 메모리 오퍼레이션이 이루어지도록 하는 IOQ(In-Order-Queue)(4)(5)와, 상기 제1어드레스 버스(B1)와 제2어드레스 버스(B2)사이의 캐쉬 결합 유지를 위해 사용되는 스누프(6)(7)와, 상기 IOQ(4)(5)와 연결메모리 콘트롤러(8)의 콘트롤신호에 의해 데이터 제어를 수행하는 데이터ASIC(9)와, 상기 데이터 ASIC(9)로부터의 데이터를 저장하거나 또는 데이터 ASIC(9)로 데이터를 공급하는 SDRAM(10)과, 각 버스에서 일어나는 어드레스에 대해 IOQ(4)(5)에 대기(Queuing)여부를 체크하는 어드레스 디코더(11)(12)와, 각 버스에서 일어나는 사이클에 대한 오퍼레이션 타잎을 체크하는 오퍼레이션 디코더(13)(14)로 구성된 것으로, 도면중 미설명 부호 D1, D2는 데이터 어드레스를 말하며, 상기에서 9, 10번을 제외하고 1번부터 14번가지가 하나의 어드레스 ASIC(20)을 이룬다.FIG. 1 is a block diagram of the present invention, which is an arbitration logic (1) that performs arbitration for I / O requests on a P6 bus and a reflection of operations occurring on two P6 buses connected to the arbitration logic (1). A master (2) (3), an In-Order-Queue (IO) (4) (5) for storing sequential memory operations to be performed on the P6 bus and performing a sequential memory operation, and the first address bus ( Data by the control signal of the snoop (6) (7) and the IOQ (4) (5) and the connected memory controller (8) used to maintain the cache coupling between the B1) and the second address bus (B2). The data ASIC 9 which performs control, the SDRAM 10 which stores data from the data ASIC 9 or supplies data to the data ASIC 9, and the IOQ 4 for the address occurring on each bus. Address decoder 11 (12) which checks whether or not Queuing It consists of an operation decoder 13 (14) for checking the operation type for the cycle, and in the figure, reference numerals D1 and D2 refer to data addresses, and 1 to 14 except for 9 and 10 are one. To form the address ASIC 20.

이와같은 구성된 본 발명은 어드레스 버스인 B1과 시스템 메모리 버스 사이에 위치한 어드레스 ASIC(20)는 서로 분리된 3개의 버스사이의 인터페이스 및 각 버스의 동작을 콘트롤한다.According to the present invention, the address ASIC 20 located between the address bus B1 and the system memory bus controls the operation of each bus and the interface between three buses separated from each other.

이때, 어드레스 ASIC(20)는 두 개의 어드레스 버스인 B1, B2에서 일어나는 동작이 메모리 버스로 전송되어지도록 버스 신호들을 메모리 버스로 전송하고 데이터 페트(PATH)를 위해 데이터 ASIC(20)를 콘트롤한다.At this time, the address ASIC 20 transmits bus signals to the memory bus so that operations occurring in two address buses B1 and B2 are transmitted to the memory bus and controls the data ASIC 20 for data pet path.

또한, 어드레스 ASIC(20)는 버스상에 연결되어 있는 콘트롤러들의 중재역할도 수행한다.The address ASIC 20 also performs arbitration of controllers connected on the bus.

그리고 하나의 어드레스 버스(예를들어 B1)상에 일어난 동작들이 다른 어드레스 버스(예를들어 B2)상에 있는 프로세서들에게 결합 문제를 발생시킬 가능성이 있을 경우 B1에서 일어나는 동작들이 B2버스로 반영될 수 있도록 콘트롤한다.If operations on one address bus (e.g. B1) are likely to cause coupling problems for processors on another address bus (e.g. B2), then operations on B1 will be reflected to the B2 bus. Control so that

본 발명의 동작을 구체적으로 살펴보면, B1(P6 어드레스버스 A상)에서 I/O요청이 들어오면, 어드레스 ASIC(20)내의 중재로직(1)에 의해 중재가 수행된다.Looking specifically at the operation of the present invention, when an I / O request is received from B1 (on P6 address bus A), arbitration is performed by arbitration logic 1 in the address ASIC 20.

즉, B1쪽에 있는 어드레스 디코더(11)와 오퍼레이션 디코더(13)가 중재로직(1)에 전송된 어드레스와 타잎 정보를 가지고 어떤 동작인지 또 어떤 경과가 요구되는지를 결정한다.That is, the address decoder 11 and the operation decoder 13 on the B1 side determine what kind of operation and what time is required with the address and type information transmitted to the arbitration logic 1.

그리고 상기 중재로직(1)의 결과를 IOQ(4)로 전송한다.Then, the result of the arbitration logic 1 is transmitted to the IOQ 4.

만일, 요구되는 동작이 B2쪽에 반영이 필요한 경우에는 IOQ(4)는 필요한 정보를 마스터 블록(3)에 전송하고 마스터 블록(3)은 이 정보를 B2(P6버스 B상)에 전송한다.If the required operation needs to be reflected on the B2 side, the IOQ 4 transmits the necessary information to the master block 3, and the master block 3 transmits this information to B2 (on the P6 bus B).

또한, B2쪽에 전송된 정보에 의한 스누핑 결과가 스누프(7)을 통하여 B1 쪽의 IOQ(4)로 되돌아온다.In addition, the snooping result by the information transmitted to the B2 side is returned to the IOQ 4 on the B1 side through the snoop 7.

그리고 상기 요구되는 동작이 B2쪽에 반영이 필요한 경우에 IOQ(4)가 필요한 정보를 실제 B2쪽의 마스터 블록(3)에 전송하고 마스터블록(3)에서 이 정보를 B2상에 전송한 결과로서 어드레스 ASIC(20)에 대한 모든 정보를 가지게 되고 이 정보를 데이터 ASIC(9)에 전송한다.When the required operation needs to be reflected on the B2 side, the IOQ 4 transmits the necessary information to the master block 3 on the B2 side, and the master block 3 transmits the information on the B2 address. It has all the information about the ASIC 20 and sends this information to the data ASIC 9.

실제 데이터가 메모리 콘트롤러(8)로부터 전송되어지며, 이에 필요한 콘트롤 신호를 데이터 ASIC(9)로 계속 전송한다.The actual data is transmitted from the memory controller 8, and the control signal necessary for this is continuously transmitted to the data ASIC 9.

만일 B2쪽에서 I/O 요청이 들어올 경우에도 상술한 바와같은 동작순서에 의해 진행된다.If an I / O request comes in from B2, the operation proceeds as described above.

이상에서 설명한 바와 같은 본 발명은 회로구성을 단순화하여 원가를 절감할 수 있으며, 특히 컴퓨터 시스템(예컨대 Hiserver UX 9000)에 있어서 8개까지 프로세서를 확장할 수 있는 효과가 있다.The present invention as described above can reduce the cost by simplifying the circuit configuration, and in particular, in the computer system (for example, Hiserver UX 9000) has the effect that can be extended to eight processors.

Claims (1)

P6버스상의 I/O요청에 대한 중재를 수행하는 중재로직(1)과, 상기 중재로직(1)에 연결되어 두 개의 P6버스상에서 일어나는 오퍼레이션에 대한 반영을 수행하는 마스터(2)(3)와, 상기 P6버스에서 요구된 요청을 저장해서 순차적인 메모리 어퍼레이션이 이루어지도록 하는 IOQ(4)(5)와, 상기 제1어드레스 버스(B1)와 제2어드레스 버스(B2)사이의 캐쉬 결합 유지를 위해 사용되는 스누프(6)(7)와, 상기 IOQ(4)(5)와 연결되어 메모리쪽으로어퍼레이션을 전달하고 이를 콘트롤하는 메모리 콘트롤러(8)와, 상기 메모리 콘트롤러(8)의 콘트롤신호에 의해 데이터 제어를 수행하는 데이터 ASIC(9)와, 상기 데이터 ASIC(9)로부터의 데이터를 저장하거나 또는 데이터 ASIC(9)로 데이터를 공급하는 SDRAM(10)과, 각 버스에서 일어나는 어드레스에 대해 IOQ(4)(5)에 대기여부를 체크하는 어드레스 디코더(11)(12)와, 각 버스에서 일어나는 사이클에 대한 오퍼레이션 타잎을 체크하는 오퍼레이션 디코더(13)(14)를 포함하여 구성된 것을 특징으로 하는 멀티프로세서 시스템의 인터페이스를 처리회로.An arbitration logic (1) that conducts arbitration for I / O requests on the P6 bus, and a master (2) (3) connected to the arbitration logic (1) to perform operations on two P6 buses; And maintaining the cache coupling between the first address bus B1 and the second address bus B2 so as to store the requests requested in the P6 bus so that a sequential memory operation may be performed. A memory controller 8 connected to the snoop 6 and 7 and an IOQ 4 and 5 for transmitting and controlling the operation toward the memory, and control of the memory controller 8. A data ASIC 9 that performs data control by a signal, an SDRAM 10 that stores data from the data ASIC 9 or supplies data to the data ASIC 9, and an address generated on each bus. To check whether or not to wait for IOQ (4) (5) Coders 11 and 12 and, the interface of the multiprocessor system, characterized in that the processing circuit is configured to include the operation decoder (13, 14) for checking the operation taip on a cycle takes place at each bus.
KR1019970028292A 1997-06-27 1997-06-27 Interface circuit for multiprocessor system KR100216255B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970028292A KR100216255B1 (en) 1997-06-27 1997-06-27 Interface circuit for multiprocessor system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970028292A KR100216255B1 (en) 1997-06-27 1997-06-27 Interface circuit for multiprocessor system

Publications (2)

Publication Number Publication Date
KR19990004242A KR19990004242A (en) 1999-01-15
KR100216255B1 true KR100216255B1 (en) 1999-08-16

Family

ID=19511780

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970028292A KR100216255B1 (en) 1997-06-27 1997-06-27 Interface circuit for multiprocessor system

Country Status (1)

Country Link
KR (1) KR100216255B1 (en)

Also Published As

Publication number Publication date
KR19990004242A (en) 1999-01-15

Similar Documents

Publication Publication Date Title
KR100248902B1 (en) Microprocessor architecture capable of supporting multiple heterogeneous processors
US5359715A (en) Architectures for computer systems having multiple processors, multiple system buses and multiple I/O buses interfaced via multiple ported interfaces
US5404464A (en) Bus control system and method that selectively generate an early address strobe
US5802560A (en) Multibus cached memory system
KR0181471B1 (en) Computer data routing system
US5269005A (en) Method and apparatus for transferring data within a computer system
US6175888B1 (en) Dual host bridge with peer to peer support
JPH11513150A (en) Architecture for I / O processor integrating PCI to PCI bridge
KR930016891A (en) Cache controller
US5765195A (en) Method for distributing interprocessor interrupt requests via cache memory coherency mechanisms
US6078337A (en) Maintaining consistency of cache memory data by arbitrating use of a connection route by plural nodes
US5933613A (en) Computer system and inter-bus control circuit
US6098113A (en) Apparatus and method for address translation and allocation for a plurality of input/output (I/O) buses to a system bus
US5727179A (en) Memory access method using intermediate addresses
KR100216255B1 (en) Interface circuit for multiprocessor system
JPH01298457A (en) Computer system
JP3067976B2 (en) Multi-level bus-coupled multiprocessor system
JPH0511337B2 (en)
KR970059914A (en) Flash memory system
IE52963B1 (en) Data processing arrangements
JPH0973429A (en) Computer system and inter-bus control circuit
EP0533428B1 (en) Method and apparatus for operating a computer system
KR910008416B1 (en) Circuit for controlling communication among multi-processors using multiport memory
KR100366048B1 (en) Data transmitting apparatus of vme board
KR940005776B1 (en) Multi-cache controller in tolerant system

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee