KR100253795B1 - An 8-way smp system and a method for minimizing traffic in order to maintain coherency of the system - Google Patents
An 8-way smp system and a method for minimizing traffic in order to maintain coherency of the system Download PDFInfo
- Publication number
- KR100253795B1 KR100253795B1 KR1019970036521A KR19970036521A KR100253795B1 KR 100253795 B1 KR100253795 B1 KR 100253795B1 KR 1019970036521 A KR1019970036521 A KR 1019970036521A KR 19970036521 A KR19970036521 A KR 19970036521A KR 100253795 B1 KR100253795 B1 KR 100253795B1
- Authority
- KR
- South Korea
- Prior art keywords
- bus
- pentium
- multiprocessor system
- buses
- processors
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
- G06F12/0831—Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
- G06F12/0835—Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means for main memory peripheral accesses (e.g. I/O or DMA)
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0842—Multiuser, multiprocessor or multiprocessing cache systems for multiprocessing or multitasking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1652—Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
- G06F13/1663—Access to shared memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling between buses using bus bridges
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Description
본 발명은 공유메모리(Shared Memory)와의 데이터 동질성(Data Coherency) 유지방법으로 스누핑(Snooping)을 이용하는 캐쉬 메모리(Cache Memory)를 가지는 MPU를 사용하여 고성능 대칭형 다중프로세서 시스템(Symmetric Multi-Processor System)을 구현하기 위해서 다중 버스를 사용하고, 상기 다중 버스들 사이에 발생하는 캐쉬 메모리 데이터 동질성유지 버스 사이클의 숫자를 최소화 함으로써 시스템의 성능과 확장성(Scalability)를 확보할 수 있는 컴퓨터 시스템 구조에 관한 것으로, 특히 버스규약(Bus Protocol)과 전기적 특성상의 제약 때문에 4개 이하의 프로세서를 가지는 다중 프로세서 시스템만을 구성할 수 있도록 설계된 인텔의 펜티움 프로 프로세서와 그버스를 이용하여, 최대 8개까지의 프로세서를 가지는 다중프로세서 시스템으로 확장하기 위해서 펜티움 프로 프로세서 버스를 다중화하고, 다중 버스에 분산된 8개의 펜티움 프로 프로세서들 사이에 발생되는 캐쉬 메모리 데이터 동질성유지 버스 사이클의 숫자를 최소화 함으로써 시스템의 성능과 확장성을 보장 할 수 있는 캐쉬 메모리 데이터 동질성 유지 방법으로 동질성유지 필터(Coherency Filter)를 사용하는 컴퓨터 시스템과, 상기한 시스템의 동질성을 유지하기 위해 트래픽을 최소화하는 방법에 관한 것이다.The present invention provides a high performance symmetric multi-processor system using an MPU having a cache memory using snooping as a method of maintaining data coherency with shared memory. The present invention relates to a computer system structure that can secure performance and scalability of a system by using multiple buses for implementation and minimizing the number of cache memory data homogeneity bus cycles occurring between the multiple buses. In particular, due to bus protocol and electrical limitations, Intel's Pentium Pro processor and its buses are designed to configure only multiprocessor systems with four or fewer processors. Pentium Pro processor to scale to processor system Maintain cache memory data homogeneity to ensure system performance and scalability by minimizing the number of bus cycles multiplexing and maintaining cache memory data homogeneity between eight Pentium Pro processors spread across multiple buses. A computer system using a coherency filter, and a method of minimizing traffic to maintain the homogeneity of the system.
도 1은 통상적으로 인텔의 펜티움프로 프로세서와 이를 지원하는 칩셋 (Chipset)을 사용하여 구현 할 수 있는 대칭형 다중 프로세서 시스템의 구성도이다. 캐쉬메모리(2)를 가지고 있는 최대 4개의 펜티움 프로 프로세서(3), 공유메모리(5)를 연결하기 위한 메모리 컨트롤러(4), 및 입출력 버스와 연결하기 위한 입출력 버스 브리지(6)가 하나의 펜티움 프로 버스(1)를 공유한다.1 is a block diagram of a symmetric multiprocessor system that can be implemented using an Intel Pentium Pro processor and a chipset supporting chips. Up to four Pentium Pro processors (3) with cache memory (2), a memory controller (4) for connecting shared memory (5), and an I / O bus bridge (6) for connecting with the I / O bus. Share the pro bus (1).
하지만, 4개의 프로세서(3)들이 버스(1)의 사용권을 결정하기 위해서 사용하는 펜티움 프로버스(1)의 중재버스 (Arbitration Bus)는 최대 4개까지의 버스 에이전트(Bus Agent)만을 허용함으로써, 4개 이상의 프로세서를 지원하는 고성능 다중프로세서 시스템을 구현할 수 없도록 되어져 있다. 따라서, 애초에 인텔의 펜티움 프로 프로세서(3)와 그 버스(1)는 4개의 프로세서와 최대 2개의 입출력 버스 브리지(6)가 사용할 수 있는 만큼의 버스 밴드폭 (Bandwidth) (533 Mbyte/Sec)를 제공하도록 설계되어졌다.However, the Arbitration Bus of the Pentium Probus 1, which the four
도 2는 두 개의 펜티움 프로버스(7)(8)를 연결할 수 있는 메모리 컨트롤러(9)를 이용하여 최대 8개 까지의 프로세서를 지원하는 다중 프로세서 시스템의 구성도 이다. 이 메모리 컨트롤러(9)는 두 개의 동일한 펜티움 프로버스(7)(8)에 각각 4개씩의 펜티움 프로 프로세서(3)를 장착 할 수 있도록 도 1의 펜티움 프로버스(1)가 가지는 중재버스의 제약을 극복 할 수 있는 버스 브리지 역할을 담당한다. 따라서, 도 2의 시스템 구조가 최대 8개까지의 펜티움 프로 프로세서를 지원하는 다중 프로세서 시스템을 구현 할 수는 있지만, 성능면에서는 4개 프로세서를 가지는 다중 프로세서 시스템에 비해 성능이 좋지않다.2 is a configuration diagram of a multiprocessor system supporting up to eight processors using a
펜티움 프로 프로세서(3)는 버스(1)에 연결된 캐쉬 메모리(2)의 동질성 유지를 위해서 MESI(Mofified/Exclusive/Shared/Invalid) 프로토콜을 사용한다. 이 프로토콜은 모든 캐쉬메모리는 가장 최근의 데이터 복사본만을 가지고 있다는 특성을 보장한다. 이러한 프로토콜은 하드웨어에 의해서 제공되는 것으로 모든 프로세서가 펜티움 프로버스(1)의 버스사이클 종류, 어드레스 및 캐쉬 상태버스를 공유함으로써 가능하다. 하지만, 대부분의 8-Way 펜티움 프로 프로세서 시스템이 다중버스에 연결된 다중 캐쉬 구조로서, 이들 버스들 사이에도 캐쉬 동질성 유지를 위한 적절한 메카니즘(Mechanism)이 필요하다.Pentium Pro
도 2의 펜티움 프로버스(7)에 연결된 프로세서의 캐쉬(2)에 존재하는 데이터가 펜티움 프로버스(8)에 연결된 프로세서의 캐쉬(2)에도 존재 할 수 있지만, 어떠한 경우라도 모든 캐쉬는 가장 최근의 데이터만을 가지고 있어야 한다. 즉, 펜티움 프로버스(7)에 연결된 프로세서가 자신의 캐쉬에 존재하는 데이터의 내용을 변경하고자 할 때, 이러한 사실을 다른 프로세서에게 알려야 한다. 알리는 방법은 캐쉬내용 변경을 위한 동질성유지 사이클을 스누핑하여 자신이 가지고 있는 캐쉬의 상태를 스스로 바꿔야 한다. 즉, 자신이 가지고 있던 캐쉬상태를 무효화(Invalidation)하거나, 변경된 데이터를 가지고 있었다면, 변경된 데이터를 버스에 내놓으면서 무효화 한다. 이렇게 함으로써 다중 캐쉬 시스템에서의 캐쉬 동질성이 유지될 수 있으며, 다중 버스의 경우에도 이와 같은 캐쉬동질성 유지를 위한 메카니즘이 적용 되어야 한다. 하지만, 다중 버스 시스템의 경우에는 물리적으로 서로 다른 버스를 사용하고 있기 때문에, 어떤 하나의 버스에서 발생되는 버스 사이클을 다른 버스에서 스누핑할 수 없기 때문에 버스 스위치 또는 버스 브리지를 담당하는 메모리 콘트롤러(9)가 한쪽 버스에서 일어나는 버스 사이클을 모두 다른 버스로 전송해야 한다. 하지만, 펜티움 프로버스는 4개의 프로세서가 하나의 버스를 사용할 수 있을 정도의 버스 밴드폭만 제공하기 때문에, 버스들은 프로세서들의 캐쉬 동질성 유지를 위한 사이클만으로도 포화 상태에 이르게 된다. 즉, 프로세서의 증가에 따른 성능 증가 보다는 오히려 성능 감소 현상이 발생한다.Data present in the
본 발명은 상기한 바와 같은 문제점들을 해결하기 위하여 창안된 것으로, 최대 4개까지의 펜티움 프로 프로세서만을 지원하는 펜티움 프로버스를 이용하여 프로세서 증가에 상응하는 성능의 증가(Processor Scalability)를 보장 하면서 최대 8개까지의 펜티움 프로 프로세서를 가지는 다중 프로세서 시스템을 구현할 수 있는 새로운 다중버스 대칭형 다중프로세서 시스템구조(Architecture)를 제공하는 것을 제 1 목적으로 하고, 상기한 시스템의 동질성을 유지하기 위해 트래픽을 최소화하는 방법을 제공하는 것을 제 2 목적으로 한다.The present invention was devised to solve the above problems, using Pentium Probus that supports only up to 4 Pentium Pro processors, while guaranteeing processor scalability corresponding to the increase of the processor. It is a first object to provide a new multibus symmetric multiprocessor architecture capable of implementing a multiprocessor system with up to Pentium Pro processors, and a method of minimizing traffic to maintain the homogeneity of the system. To provide a second object.
도 1은 종래의 대칭형 다중 프로세서 시스템의 구성도.1 is a block diagram of a conventional symmetric multiprocessor system.
도 2는 종래의 또 다른 대칭형 다중 프로세서 시스템의 구성도.2 is a block diagram of another conventional symmetric multiprocessor system.
도 3은 본 발명에 의한 대칭형 다중 프로세서 시스템의 구성도.3 is a block diagram of a symmetric multiprocessor system according to the present invention;
도 4는 파형도4 is a waveform diagram
상기한 제 1 목적을 달성하기 위한 본 발명은, 다중포트 메모리 제어블록; 상기 다중포트 메모리 제어블록에 병렬연결된 캐쉬를 포함하는 중앙처리장치; 상기 다중포트 메모리 제어블록에 병렬연결된 공유 메모리; 상기 다중포트 메모리 제어블록에 병렬연결된 동질성 유지 필터; 및 상기 다중포트 메모리 제어블록에 병렬연결된 입출력 버스브리지를 포함하여 이루어지는 것을 특징으로 한다.The present invention for achieving the above first object, the multi-port memory control block; A central processing unit including a cache connected in parallel to the multi-port memory control block; A shared memory connected in parallel to the multiport memory control block; A homogeneous retention filter connected in parallel to the multiport memory control block; And an input / output bus bridge connected in parallel to the multi-port memory control block.
또한 상기한 제 2 목적을 달성하기 위한 본 발명은, 대칭형 다중 프로세서 시스템의 동질성을 유지하기 위해 트래픽을 최소화하는 방법에 있어서, 하나의 프로세서 버스에 연결된 다중 프로세서의 캐쉬들을 대표할 수 있는 동질성 유지 필터를 채용함으로써, 세 개의 버스에서 발생하는 메모리 요구를 선별적으로 원격지 버스에 전송하여 상기 트래픽을 최소화 하는 것을 특징으로 한다.In addition, the present invention for achieving the second object, in the method for minimizing the traffic in order to maintain the homogeneity of the symmetric multiprocessor system, homogeneous retention filter that can represent caches of multiple processors connected to one processor bus By employing, by selectively transmitting the memory request generated in the three buses to the remote bus, it characterized in that to minimize the traffic.
이하 도면을 참조하여 본 발명의 동작원리에 대하여 상세히 설명하기로 한다. 본 발명에서는 펜티움 프로버스가 가지고 있는 버스규약(Bus Protocol)중에 중재버스가 가지고 있는 제약을 극복하기 위해서 두 개의 버스에 각 4개의 프로세서를 분산 시킨다. 이렇게 함으로써, 각각의 버스에는 4개의 프로세서만 연결하고, 두 개의 버스 (실제로는 3개)의 연결을 담당하는 버스 브리지가 두 개의 버스에서 발생하는 버스요청을 중재 할 수 있도록 한다.Hereinafter, the operation principle of the present invention will be described in detail with reference to the accompanying drawings. In the present invention, in order to overcome the limitations of the arbitration bus in the bus protocol of the Pentium Probus, four processors are distributed on two buses. This allows only four processors to be connected to each bus, and the bus bridge responsible for the connection of two buses (actually three) can be used to arbitrate bus requests from two buses.
또한, 100MHz 펜티움 프로버스는 전기적인 부하의 숫자 제한 때문에 하나의 버스에 최대 5개의 버스 에이젼트만을 허용하고 있기 때문에, 도 2의 종래기술에 나타난 것과 같이 하나의 펜티움 프로버스에 4개의 프로세서와 입출력 브리지 두 개를 같이 연결하는 것은, 펜티움 프로버스가 지원하는 최대 100Mhz 클럭에서는 동작할 수 없었다. 본 발명에서는 이러한 문제점을 해결하기 위해서, 제 3의 펜티움 프로버스를 필요로 하며, 이를 이용해서 입출력 브리지를 최대 4개까지 연결 할 수 있다.In addition, because the 100 MHz Pentium Probus only allows up to five bus agents on one bus due to the limited number of electrical loads, four processors and I / O bridges on one Pentium Probus, as shown in the prior art of FIG. Connecting the two together could not work at the maximum 100 MHz clock supported by the Pentium Proverse. In the present invention, to solve this problem, a third Pentium Proverse is required, and up to four input / output bridges can be connected using this.
따라서, 본 발명이 해결한 과제는 세 개의 펜티움 프로버스를 사용하며 8개의 펜티움 프로 프로세서를 가지는 다중프로세서 시스템 구조에 대한 것과, 세 개의 펜티움 프로버스에 분산된 8개의 펜티움 프로 프로세서와 4개의 입출력 버스를 연결함에 있어서, 최대 100Mhz의 버스클럭에서 동작하도록 한 것, 그리고 세 개의 버스에 연결된 프로세서들과 입출력 브리지들이 가지고 있는 캐쉬 메모리와 공유메모리 사이에 발생하는 캐쉬 데이터 동질성유지 사이클들이 모든 세 개의 버스로 전달됨으로써 발생하는 프로세서 증가에 따른 성능의 감소를 막기 위해 "동질성유지 필터" 회로를 창안하였다.Therefore, the problem solved by the present invention is for a multiprocessor system structure using three Pentium Probuses and having eight Pentium Pro processors, and eight Pentium Pro processors and four I / O buses distributed over three Pentium Probuses. In this connection, it is designed to operate on a bus clock of up to 100Mhz, and cache data homogeneity cycles occurring between cache memory and shared memory of processors and input / output bridges connected to three buses to all three buses. The "homogeneous filter" circuit was created to prevent performance degradation due to increased processor throughput.
도 3은 본 발명에 의해서 구성된 시스템 블록 다이어그램이다. 8-Way SMP를 구현하기 위한 캐쉬 메모리를 갖는 8개의 펜티움 프로 프로세서(29-36)는 펜티움 프로버스 규약과 100Mhz 클락에서 동작하기 위한 전기적인 부하 숫자의 제약을 해결하기 위해서 두 개의 펜티움 프로버스(24-25)에 각각 4개씩 장착되며, 대용량 입출력 장치를 연결하기 위해서 4개의 입출력 브리지(37-40)들이 세 번째 펜티움 프로버스(26)에 연결된다. 이들 세 개의 펜티움 프로버스는 세 개의 펜티움 프로버스에서 발생되는 메모리 처리 요구를 처리하기 위한 두 개의 공유메모리 시스템과 연결된 다중포트 메모리 제어 블락(20)에 의해서 상호 연결된다. 즉, 다중포트 메모리 제어 블록(20)은 세 개의 펜티움 프로버스에 연결된 프로세서와 입출력 브리지들에 의해서 발생되는 메모리 요청 사이클들을 처리하는 역할을 하며, 필요한 경우에는 하나의 버스에서 발생한 버스 사이클을 하나 또는 두 개의 원격버스로 전달하는 역할을 한다. 예를들어, 펜티움 프로 프로세서(29)가 펜티움 프로버스(24)에 메모리 요구 사이클을 도 4의 파형도에 나타난 T2에서 내놓으면, 다중 포트 메모리 제어 블록은 이 메모리 요구 사이클을 디코드하여 이것을 어떻게 처리 할 것인지 결정한다. 이러한 결정은 T6의 펜티움 프로 프로세서 버스가 "스누프 국면(Snoop Phase)"에 놓여지기 전에 결정 된다. 만약 단순히 메모리 데이터 만을 읽거나 쓸 수도 있으나, 다른 버스 (25)나 (26)으로 전달해야 하는 경우도 있다. 이때, 다중포트 메모리 제어 블록(20)은 펜티움 프로버스(25-26)에 대해서 마치 펜티움 프로 프로세서 처럼 펜티움 프로버스(24)에서 발생된 것과 똑같은 메모리 요청을 발생한다.3 is a system block diagram constructed in accordance with the present invention. Eight Pentium Pro processors (29-36) with cache memory to implement an 8-Way SMP feature two Pentium Probuses to address the Pentium Proverse specification and the limitations of the number of electrical loads to operate at 100 MHz clocks. 24-25) are respectively mounted, and four input / output bridges 37-40 are connected to the third Pentium Proverse 26 to connect a large capacity input / output device. These three Pentium Probuses are interconnected by a multiport memory control block 20 connected to two shared memory systems for handling the memory processing requests generated by the three Pentium Probuses. That is, the multi-port memory control block 20 handles memory request cycles generated by processors and input / output bridges connected to three Pentium Probuses. It serves to transfer to two remote buses. For example, if the Pentium Pro
다중포트 메모리 제어 블록(20)이 펜티움 프로 버스(24)에서 T2에 발생한 메모리 요청 사이클이 메모리(27)(28)로 갈 것인지 또는 다른 펜티움 버스(25)(26)로 전달될 것인지 결정하기 위해서는 동질성 유지 필터(21-23)를 이용한다. 동질성 유지 필터는 마치 캐쉬메모리의 태그(Tag)와 같은 구조를 가지고 있으며, 펜티움 프로 프로세서가 가지고 있는 캐쉬들을 대표할 수 있으며, 메모리 접근 속도 (Access Time)가 10ns 미만인 SRAM으로 구현된다. SRAM의 용량은 펜티움 프로 프로세서의 캐쉬메모리 용량과 몇 개의 프로세서가 연결되어져 있는지에 따라서 달라진다. 예를들면, 펜티움 프로 프로세서의 어드레스가 36비트이고, 캐쉬메모리가 1MB, 캐쉬 라인 크기는 32Byte라고 가정할 때 필요한 SRAM용량은 다음의 수학식 1 및 수학식 2와 같이 계산된다.In order to determine whether the multiport memory control block 20 will have memory request cycles occurring at T2 on the Pentium Pro
2비트의 상태비트는 펜티움 프로 프로세서 캐쉬의 상태를 외부에서 알 수 있도록 무효(Invalid)/공유(*Shared)/소유(Owned)로 표시하며, 프로세서의 캐쉬가 독점(Exclusive)으로 표시되거나 또는 수정(Modified)으로 표시되면, 상기 캐쉬는 동질성 유지 필터를 소유(Owned)하고 있음을 나탸낸다. 즉, 펜티움 프로 버스(25)와 (26)에 연결된 펜티움 프로 프로세서의 캐쉬들이 T2 시간에, 펜티움 프로버스(24)에서 발생한 메모리 요청이 필요로하는 데이터를 가지고 있는지, 가지고 있다면, 어떤 상태 (공유 또는 수정된 소유 또는 독점적 소유)로 가지고 있는지를 알기 위해서 다중포트 메모리 제어 블록(20)이 동질성 유지 필터(21)(22)(23)를 도 4 T4 시간에 읽음으로써 알 수 있다. 즉, 원격지 버스에 동질성 필터(22)(23)의 상태가 소유 또는 공유라면, (24)에서 발생한 메모리 요청을 버스 (25 또는 26)에 전달해서 원격지에 있는 프로세서 캐쉬의 상태를 스누핑에 의해서 업데이트 할 수 있도록 한다. 하지만, 무효상태를 가지고 있다면, 원격지 버스의 간섭이 없이도 메모리 데이터를 읽거나 쓸 수 있다.The 2-bit status bit indicates Invalid / Shared / Owned so that the status of the Pentium Pro processor cache can be seen from the outside. The processor's cache is marked as Exclusive or modified. If it is marked as Modified, the cache indicates that it owns an homogeneous retention filter. That is, if the caches of the Pentium Pro processors connected to
다중버스에 연결된 다중캐쉬의 대표역할을 하는 동질성 유지 필터의 상태비트는 하나의 캐쉬라인에 대해서 2비트의 상태 비트로 표시될 수 있다.The status bit of the homogeneity maintenance filter serving as a representative of the multiple caches connected to the multiple buses may be represented by a status bit of 2 bits for one cache line.
- 무효 : 메모리 데이터 사본이 어떤 프로세서의 캐쉬에도 들어있지 않음.Invalid: A copy of the memory data is not in the cache of any processor.
- 공유 : 메모리 데이터 사본이 하나 이상의 프로세서 캐쉬에 존재함.Share: Memory data copy exists in one or more processor caches.
- 소유 : 메모리 데이터의 사본이 오직 하나의 캐쉬에 수정적으로 또는 독점적인 상태로 존재함.-Owned: A copy of the memory data exists in a single cache, either modifiably or exclusively.
이제 상기한 동질성 유지필터의 상태가 어떻게 변하는지의 예를 들어 설명함으로써, 어떻게 8개의 프로세서를 갖는 다중 버스 다중프로세서 시스템을 구현하는지 설명한다.Now, an example of how the state of the homogeneous retention filter changes will be described to explain how to implement a multi-bus multiprocessor system with eight processors.
- 동질성 유지필터의 상태비트는 시스템을 리셋하면 무효상태로 초기화 된다.-The status bit of the homogeneous filter is reset to invalid when the system is reset.
- 펨티움 프로버스(24)에 연결된 프로세서가 하나의 캐쉬라인을 독점적으로사용하기 위해서 이에 대한 메모리 접근 요청 (BRIL)을 하면,When a processor connected to the
- 다중포트 메모리 제어블록(20)은 메모리(27 또는 28)에서 캐쉬라인을 읽어서 BRIL을 요청한 프로세서로 전달하고, 프로세서에 연결된 캐쉬의 상태는 무효에서 독점로 바뀔 것이다.The multiport memory control block 20 reads the cacheline from the
- 이러한 처리가 다른 펜티움 프로버스와의 간섭없이 가능한 것은, 도 4의 T4에서 읽은 리모트 동질성 필터(22 와 23)에 무효로 표시되어져 있기 때문이다.This processing is possible without interference with other Pentium Proverses because it is marked invalid in the remote
- 또한 메모리 제어블락은(20)은 로칼 동질성 필터(21)의 엔트리를 소유로 바꾼다.The memory control block 20 also changes the entry of the
- 이후에, 프로세서가 프로세서의 캐쉬를 독점에서 수정으로 바꾸는 것은 펜티움 프로버스(24)에 아무런 사이클도 내놓지 않고 바꿀 수 있기 때문에 동질성유지 필터의 상태 소유는 프로세서 캐쉬가 독점상태에 또는 수정상태에 있을 수 있다는 것을 의미한다.Afterwards, the processor retains the state of the homogeneous filter because the processor's cache changes from monopoly to modified without any cycles on the
- 다른 펜티움 프로버스(25)에 연결된 프로세서가 같은 캐쉬라인을 독점적으로 사용하기 위해서 버스(25)에 BRIL을 내놓으며, 제4도의 T4에서와 같이 소유로 표시된 리모트 동질성필터(21)을 가장 먼저 점검한다. 이럴 경우 다중포트 메모리 제어블락은 이 BRIL에 대해서 "지연된(Deferred) 응답"을 하고, 펜티움 프로버스(24)로 BRIL을 전달하며, 동질서 필터(21)의 소유 상태는 무효 상태로 다시 바뀐다.A processor connected to another
- 이때, 버스(24)에 연결된 프로세서에 독점 또는 수정으로 되어져 있던 캐쉬도 리모트 버스에서 전달되어진 BRIL에 의해서 무효로 바뀌는데, 만약 이 캐쉬의 상태가 수정이었다면, HITM#과 함께 바뀐 데이터를 버스에 내어놓는 절대적 답장현상(Implicit Writeback)이 일어난다.At this time, the cache exclusively or modified by the processor connected to the
- 절대적 답장현상에 의해서 바뀐 데이터는 공유메모리와 버스(25)에서 지연된 응답을 받았던 BRIL을 요구한 프로세서 캐쉬에 전달된다. 따라서, 어떤 캐쉬도 가장 최근에 바뀐 데이터의 사본을 가질 수 있다.The data changed by the absolute reply is sent to the shared cache and processor cache requesting BRIL, which received the delayed response on the
- 하지만, 버스(24)에 연결된 캐쉬가 독점상태에 있었다면, 이 캐쉬라인의 상태는 그냥 무효로 바뀌고, 버스(25)의 BRIL은 메모리로부터 데이터를 전송받는다.However, if the cache connected to
- 어찌하였던지, 캐쉬라인을 취한 버스의 동질성 필터(22)는 무효에서 소유로 바뀐다.Whatever the case, the
이상과 같은 동질성필터에 의해서 다중버스에 분포된 다중프로세서의 캐쉬와 메모리사이의 데이터 동질성을 유지함으로서, 도 2의 경우와 같이 모든 버스 트랜잭션을 리모트 버스로 전달할 필요가 없다는 것이 증명되었다. 따라서, 본 발명에 의한 8-Way 대칭형 다중 프로세서 시스템(SMP:Symetric Multiple Processor System)의 성능과 확장성이 도 2의 구조에 비해 월등하게 뛰어나다는 것을 예측 할 수 있다.By maintaining the data homogeneity between the cache and the memory of the multiple processors distributed in the multiple buses by the above-described homogeneous filter, it has been proved that it is not necessary to transfer all the bus transactions to the remote bus as in the case of FIG. Accordingly, it can be expected that the performance and scalability of the 8-way Symmetric Multiple Processor System (SMP) according to the present invention are superior to those of FIG. 2.
상술한 바와 같이 본 발명은 세 개의 펜티움 프로버스와 두 개의 메모리 포트를 다중포트 메모리 제어블락에 의해서 상호연결 함으로써 각각의 펜티움 프로버스의 중재버스가 갖는 제약을 극복하면서, 8개의 펜티움 프로 프로세서를 갖는 대칭형 다중 프로세서를 구현 할 수 있다. 또한, 각각의 펜티움 프로버스에는 최대 5개의 전기적인 부하만 걸리게 함으로써 100 Mhz의 클럭에서 동작할 때 발생하는 타이밍 문제를 해결했다.As described above, the present invention has eight Pentium Pro processors, overcoming the limitations of each Pentium Probus arbitration bus by interconnecting three Pentium Probuses and two memory ports by a multiport memory control block. Symmetric multiprocessors can be implemented. In addition, each Pentium Probus takes up to five electrical loads to solve timing problems that occur when operating at a clock of 100 MHz.
8-Way 펜티움 프로 프로세서 시스템으로서의 성능과 확장성을 보장하기 위해서, 동질성 유지 필터를 고안하여, 불필요하게 버스 밴드폭을 사용하는 것과 메모리 접근시간을 최소화 하였다. 이렇게 함으로써 사용자의 요구에 따라 최소 1개의 펜티움 프로 프로세서 시스템에서부터 최대 8개의 펜티움 프로 프로세서를 갖는 다중프로세서 시스템까지 매우 경제적으로 확장이 가능하다. 즉, 사용자의 성능요구에 따라 시스템에 프로세서 만을 추가 함으로써 그 성능이 선형적으로 증가 하게된다.In order to ensure performance and scalability as an 8-Way Pentium Pro processor system, homogeneous retention filters have been devised to minimize unnecessary bus bandwidth and memory access time. This makes it very economical to scale from a single Pentium Pro processor system to a multiprocessor system with up to eight Pentium Pro processors, depending on your needs. That is, the performance is linearly increased by adding only processors to the system according to the user's performance requirements.
Claims (11)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019970036521A KR100253795B1 (en) | 1997-07-31 | 1997-07-31 | An 8-way smp system and a method for minimizing traffic in order to maintain coherency of the system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019970036521A KR100253795B1 (en) | 1997-07-31 | 1997-07-31 | An 8-way smp system and a method for minimizing traffic in order to maintain coherency of the system |
Publications (2)
Publication Number | Publication Date |
---|---|
KR19990012939A KR19990012939A (en) | 1999-02-25 |
KR100253795B1 true KR100253795B1 (en) | 2000-04-15 |
Family
ID=19516466
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019970036521A KR100253795B1 (en) | 1997-07-31 | 1997-07-31 | An 8-way smp system and a method for minimizing traffic in order to maintain coherency of the system |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100253795B1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7783822B2 (en) | 2007-07-25 | 2010-08-24 | Hewlett-Packard Development Company, L.P. | Systems and methods for improving performance of a routable fabric |
-
1997
- 1997-07-31 KR KR1019970036521A patent/KR100253795B1/en not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR19990012939A (en) | 1999-02-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6633945B1 (en) | Fully connected cache coherent multiprocessing systems | |
US6789173B1 (en) | Node controller for performing cache coherence control and memory-shared multiprocessor system | |
US5878268A (en) | Multiprocessing system configured to store coherency state within multiple subnodes of a processing node | |
JP2540517B2 (en) | Hierarchical cache memory device and method | |
US5796605A (en) | Extended symmetrical multiprocessor address mapping | |
US5805839A (en) | Efficient technique for implementing broadcasts on a system of hierarchical buses | |
US5754877A (en) | Extended symmetrical multiprocessor architecture | |
US7669018B2 (en) | Method and apparatus for filtering memory write snoop activity in a distributed shared memory computer | |
US5749095A (en) | Multiprocessing system configured to perform efficient write operations | |
US6615319B2 (en) | Distributed mechanism for resolving cache coherence conflicts in a multi-node computer architecture | |
US6826653B2 (en) | Block data mover adapted to contain faults in a partitioned multiprocessor system | |
US5561779A (en) | Processor board having a second level writeback cache system and a third level writethrough cache system which stores exclusive state information for use in a multiprocessor computer system | |
US6868481B1 (en) | Cache coherence protocol for a multiple bus multiprocessor system | |
US5991819A (en) | Dual-ported memory controller which maintains cache coherency using a memory line status table | |
US6128677A (en) | System and method for improved transfer of data between multiple processors and I/O bridges | |
US20030041212A1 (en) | Distributed read and write caching implementation for optimized input//output applications | |
WO2003060730A1 (en) | Method and apparatus for using global snooping to provide cache coherence to distributed computer nodes in a single coherent system | |
EP0764905B1 (en) | An invalidation bus optimisation for multiprocessors using directory-based coherence protocols | |
US6269428B1 (en) | Method and system for avoiding livelocks due to colliding invalidating transactions within a non-uniform memory access system | |
US5829027A (en) | Removable processor board having first, second and third level cache system for use in a multiprocessor computer system | |
US5860109A (en) | Methods and apparatus for a coherence transformer for connecting computer system coherence domains | |
US6078997A (en) | Directory-based coherency system for maintaining coherency in a dual-ported memory system | |
US5713004A (en) | Cache control for use in a multiprocessor to prevent data from ping-ponging between caches | |
EP0489583A2 (en) | Multiple processor cache control system | |
EP0817095A2 (en) | Extended symmetrical multiprocessor architecture |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20071221 Year of fee payment: 9 |
|
LAPS | Lapse due to unpaid annual fee |