KR0135927B1 - Access apparatus of main memory for multiprocessor system - Google Patents

Access apparatus of main memory for multiprocessor system

Info

Publication number
KR0135927B1
KR0135927B1 KR1019940030614A KR19940030614A KR0135927B1 KR 0135927 B1 KR0135927 B1 KR 0135927B1 KR 1019940030614 A KR1019940030614 A KR 1019940030614A KR 19940030614 A KR19940030614 A KR 19940030614A KR 0135927 B1 KR0135927 B1 KR 0135927B1
Authority
KR
South Korea
Prior art keywords
data
bus
main memory
atomic
register
Prior art date
Application number
KR1019940030614A
Other languages
Korean (ko)
Other versions
KR960018958A (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 KR1019940030614A priority Critical patent/KR0135927B1/en
Publication of KR960018958A publication Critical patent/KR960018958A/en
Application granted granted Critical
Publication of KR0135927B1 publication Critical patent/KR0135927B1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0831Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means

Landscapes

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

Abstract

본 발명은 다수개의 프로세서(CPU)가 버스를 통하여 메인 메모리에 연결된 다중 프로세서 시스템에 관한 것으로 특히, 각각의 프로세서 보드마다 독특한 기능을 수행하기 위한 중앙처리장치와, 어드레스 버스와 데이타 버스 및 제어 버스로 상기 중앙처리장치와 연결되어 상기 시스템 버스를 통하여 메인 메모리 액세스 동작을 수행하는 버스 정합부와, 상기 제어버스와 어드레스 버스에 연결되고 입력되는 어드레스와 제어 정보를 해독하여 메모리 액세스 사이클을 제어하는 소정갯수의 제어신호를 발생시키는 메모리 제어부와, 상기 데이타 버스를 통하여 상기 중앙처리장치와 연결되어 상기 메모리 제어부의 제어신호에 따라 데이타를 저장 또는 출력하는 레지스터 및 상기 레지스터에 저장되어 있는 데이타와 상기 데이타 버스를 통하여 입력되는 데이타를 비교하여 상기 메모리 제어부에 입력하는 비교기를 포함하는 것을 특징으로 하는 다중 프로세서 시스템에서 아토믹 명령어 수행시 데이타 버퍼를 사용한 메인 메모리 액세스 장치를 제공하여 불필요한 동작의 수행을 방지할 수 있는 효과가 있다.The present invention relates to a multiprocessor system in which a plurality of processors (CPUs) are connected to main memory via a bus. A bus matching unit connected to the CPU to perform a main memory access operation through the system bus, and a predetermined number of memory access cycles connected to the control bus and the address bus to read and input address and control information. A memory controller for generating a control signal of the memory; and a register connected to the central processing unit through the data bus to store or output data according to a control signal of the memory controller; and a data stored in the register and the data bus. Being entered through In the multiprocessor system, a main memory access device using a data buffer is provided when performing an atomic instruction in a multiprocessor system.

Description

다중 프로세서 시스템에서 아토믹 명령어 수행시 데이타 버퍼를 사용한 메인 메모리 액세스 장치Main Memory Access Device Using Data Buffer When Performing Atomic Instruction in Multiprocessor System

제1도는 본 발명에 따라 아토믹 명령어 수행시 데이타 버퍼를 사용하여 메인 메모리를 액세스할 수 있도록 구성되어 있는 다중 프로세서 시스템의 구성 예시도.1 is an exemplary configuration diagram of a multiprocessor system configured to access a main memory using a data buffer when performing an atomic instruction according to the present invention.

제2도는 제1도에 도시되어 있는 다중 프로세서 시스템에서 아토믹 명령어 수행 과정 순서도.2 is a flow chart of the process of performing atomic instructions in the multiprocessor system shown in FIG.

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

SB:시스템 버스100A∼N:프로세서 보드SB: System Bus 100A to N: Processor Board

200:메인 메모리10:중앙처리장치200: main memory 10: central processing unit

20:버스 정합부30:메모리 제어부20: bus matching unit 30: memory control unit

41:레지스터42:비교기41: Register 42: Comparators

본 발명은 다수개의 프로세서(CPU)가 버스를 통하여 메인 메모리에 연결된 다중 프로세서 시스템에 관한 것으로 특히, 버스에 연결되어 있는 각각의 프로세서에서 아토믹 명령어의 수행을 위하여 메인 매모리를 액세스하는데 있어 시스템 효율을 높이기 위한 데이타 버퍼를 사용한 메인 메모리 액세스 장치에 관한 것이다.The present invention relates to a multiprocessor system in which a plurality of processors (CPUs) are connected to main memory via a bus. In particular, the system efficiency of accessing main memory for execution of atomic instructions in each processor connected to the bus is improved. A main memory access device using a data buffer to increase.

일반적으로, 근래 각광받고 있는 펜티움과 같은 다중 프로세서 시스템이 적용되는 기기는 각각의 프로세서들의 동기화를 지원하기 위하여 아토믹 명령어를 제공하는데, 각각의 프로세서가 아토믹 명령어를 수행하면 동일한 메모리 어드레스에 대하여 읽기와 쓰기 사이클을 연속하여 발생한다.In general, a multi-processor system such as Pentium, which is gaining popularity recently, provides atomic instructions to support synchronization of individual processors. When each processor executes an atomic instruction, it reads and writes to the same memory address. The cycle occurs continuously.

또한, 이 명령의 수행 중에는 읽기와 쓰기 사이클이 다른 프로세서에 배타적으로 수행되기 위하여 프로세서는 록크신호(LOOK#)를 구동한다.In addition, during the execution of this instruction, the processor drives the lock signal LOOK # so that read and write cycles are performed exclusively on other processors.

프로세서 외부의 로직은 상기 록크신호를 감지하여 주어진 어드레스에 대하여 다른 프로세서에 배타적으로 읽기와 쓰기 액세스를 수행한다.Logic outside the processor senses the lock signal and performs exclusive read and write access to another processor for a given address.

상기와 같이 동작하는 방식은 인텔 펜티움의 XCHG(Excahnge) 등이 그 예에 속하며, 펜티움 프로세서와 아토믹 명령어에 관한 자세한 내용은 Pentium Processor User's Manual Vol. Ⅰ을 참조한다.For example, Intel Pentium's XCHG (Excahnge) is a method that operates as described above. For more information about the Pentium processor and atomic instructions, see Pentium Processor User's Manual Vol. See I.

이하에서 프로세서의 아토믹 명령어 수행중에 액세스되는 데이타를 아토믹 데이타라 칭한다.Hereinafter, data accessed while performing an atomic instruction of a processor is called atomic data.

또한, 버스를 사용한 다중프로세서 구조는 버스 사용률이 시스템 성능에 주는 영향이 매우 크다.In addition, multiprocessor architectures using buses have a significant effect on bus performance.

이를 해결하기 위하여 일반적으로 캐쉬 메모리를 사용하는데, 캐쉬 메모리는 메인 메모리의 데이타를 프로세서와 근접한 곳에 위치하며 프로세서가 원하는 데이타를 빠르게 공급할 뿐만 아니라 버스 사용률을 줄일 수 있다.In order to solve this problem, cache memory is generally used. The cache memory is located in close proximity to the data of the main memory, which not only provides the processor with the desired data quickly but also reduces the bus utilization rate.

상기 캐쉬 메모리(I82496/I82491)를 적용한 펜티움의 기능 및 동작은 Pentium Processor User's Manual Vol. Ⅰ, Pentium Processor User's Manual Vol. Ⅱ, Pentium Processor User's Manual Vol. Ⅰ, Pentium Processor User's Manual Vol. Ⅲ에 설명된다.The function and operation of the Pentium to which the cache memory (I82496 / I82491) is applied are described in Pentium Processor User's Manual Vol. Ⅰ, Pentium Processor User's Manual Vol. Ⅱ, Pentium Processor User's Manual Vol. Ⅰ, Pentium Processor User's Manual Vol. Explained in III.

상기 자료의 내용을 간략히 설명하면, 아토믹 데이타는 다중 프로세서에서 배타적으로 액세스되어야 하므로 프로세서 외부에 위치한 하드웨어 로직의 도움이 필요한다.Briefly, the content of the data is that the atomic data must be accessed exclusively in multiple processors, and therefore requires the help of hardware logic located outside the processor.

이 로직은 복수개의 프로세서에서 독립적으로 수행하는 아토믹 데이타의 액세스 요구를 중재하여 차례로 수행되도록 한다.This logic allows one to perform arbitration by arbitrating access requests for atomic data, which are performed independently by a plurality of processors.

프로세서가 록크신호를 구동하고 데이타를 액세스하면 이것을 아토믹 데이타로 간주하며 다른 프로세서에게 아토믹 데이타 액세스를 알리기 위하여 버스를 액세스한다.When a processor drives a lock signal and accesses data, it considers it as atomic data and accesses the bus to inform other processors of the atomic data access.

이와 같은 동작을 위하여 일반적인 데이타와 다르게 아토믹 데이타는 캐쉬 메모리의 사용이 제한된다.Unlike general data for this operation, atomic data has limited use of cache memory.

또한, 인텔 펜티움 프로세서는 아토믹 데이타의 액세스에서 록크신호를 구동하며 캐쉬 메모리는 이 신호를 입력받아 아토믹 데이타가 캐쉬 메모리에서 읽히거나 저장되지 않도록 한다.In addition, the Intel Pentium processor drives a lock signal on accessing the atomic data, and the cache memory receives this signal to prevent the atomic data from being read or stored in the cache memory.

즉, 아토믹 데이타는 캐쉬를 통하지 않고 프로세서와 메인 메모리 사이를 직접 왕래하게 되는 것이다.In other words, atomic data flows directly between the processor and main memory without going through the cache.

그러므로, 복수의 프로세서들 간의 동기화를 위하여 일반적으로 사용되는 아토믹 명령어 입출력 방식은 여러 프로세서들이 동시에 아토믹 데이타에 의하여 액세스될 가능성이 높으므로 버스 사용률을 일시적으로 증가시키고 시스템 성능에 악영향을 준다는 문제점이 발생된다.Therefore, the atomic instruction input / output scheme generally used for synchronization among a plurality of processors has a high possibility that several processors are accessed by atomic data at the same time, which temporarily increases bus utilization and adversely affects system performance. .

상기와 같은 문제점을 해소하기 위한 본 발명의 목적은 각각의 프로세서와 버스 사이에 데이타 버퍼를 구비시키고 상기 데이타 버퍼를 사용하여 아토믹 데이타를 저장한 후 아토믹 명령어를 수행하도록 하여 각 프로세서가 아토믹 데이타를 액세스하기 위하여 불필요하게 자주 메인 메모리를 억세스함으로 발생되는 버스 사용률을 증가시키는 것을 막기 위한 다중 프로세서 시스템에서 아토믹 명령어 수행시 데이타 버퍼를 사용한 메인 메모리 액세스 장치를 제공하는데 있다.An object of the present invention to solve the above problems is to provide a data buffer between each processor and the bus and to store the atomic data using the data buffer to execute the atomic instructions so that each processor accesses the atomic data. To provide a main memory access device using a data buffer when performing atomic instructions in a multiprocessor system to prevent the increase in bus utilization caused by accessing the main memory unnecessarily frequently.

상기와 같은 목적을 달성하기 위한 본 발명의 특징은, 시스템 버스에 연결되어 있는 메인 메모리와의 데이타 통신을 위하여 다수개의 프로세서 보드가 상기 시스템 버스에 연결되어 상기 메인 메모리를 액세스할 수 있도록 구성되어 있는 다중 프로세서 시스템에 있어서, 각각의 프로세서 보드마다 독특한 기능을 수행하기 위한 중앙처리장치와, 어드레스 버스와 데이타 버스 및 제어 버스로 상기 중앙처리장치와 연결되어 상기 시스템 버스를 통하여 메인 메모리 액세스 동작을 수행하는 버스 정합부와, 상기 제어버스와 어드레스 버스에 연결되고 입력되는 어드레스와 제어 정보를 해독하여 메모리 액세스 사이클을 제어하는 소정갯수의 제어신호를 발생시키는 메모리 제어부와, 상기 데이타 버스를 통하여 상기 중앙처리장치와 연결되어 상기 메모리 제어부의 제어신호에 따라 데이타를 저장 또는 출력하는 레지스터 및 상기 레지스터에 저장되어 있는 데이타와 상기 데이타 버스를 통하여 입력되는 데이타를 비교하여 상기 메모리 제어부에 입력하는 비교기를 포함하는데 있다.In order to achieve the above object, a feature of the present invention is that a plurality of processor boards are connected to the system bus to access the main memory for data communication with the main memory connected to the system bus. In the multi-processor system, each processor board is connected to the central processing unit to perform a unique function, an address bus, a data bus, and a control bus to perform a main memory access operation through the system bus. A bus matching unit, a memory control unit connected to the control bus and the address bus to read an input address and control information to generate a predetermined number of control signals for controlling a memory access cycle, and the central processing unit through the data bus. Connected with the memory And a comparator for storing or outputting data according to a control signal of the controller, and a comparator for comparing the data stored in the register with data input through the data bus and inputting the data to the memory controller.

이하, 첨부한 도면을 참조하여 본 발명에 따른 바람직한 일실시예를 설명한다.Hereinafter, exemplary embodiments of the present invention will be described with reference to the accompanying drawings.

제1도는 본 발명에 따라 아토믹 명령어 수행시 데이타 버퍼를 사용하여 메인 메모리를 액세스할 수 있도록 구성되어 있는 다중 프로세서 시스템의 구성 예시도로서, 시스템 버스(SB)에 연결되어 있는 메인 메모리(200)와의 데이타 통신을 위하여 다수개의 프로세서 보드(100A∼N)가 상기 시스템 버스(SB)에 연결되어 있다.1 is a diagram illustrating a configuration of a multiprocessor system configured to access a main memory using a data buffer when performing an atomic instruction according to the present invention, and with a main memory 200 connected to a system bus SB. A plurality of processor boards 100A to N are connected to the system bus SB for data communication.

상기 프로세서 보드(100A∼N) 각각의 구성은, 각각의 보드마다 독특한 기능을 수행하기 위한 중앙처리장치(10)와, 상기 중앙처리장치(10)와 어드레스 버스(AB)와 데이타 버스(DB) 및 제어버스(CB)로 연결되어 시스템 버스(SB)를 통하여 메인 메모리 액세스동작을 수행하는 버스 정합부(20)와, 상기 중앙처리장치(10)의 제어버스(CB)와 어드레스 버스(AB)를 입력받고 어드레스와 제어 정보를 해독하여 메모리 액세스 사이클을 제어하는 소정갯수의 제어신호를 발생시키는 메모리 제어부(30)와 상기 중앙처리장치(10)의 데이타 버스(DB)와 연결되어 데이타를 입력받아 저장하는 레지스터(41) 및 상기 레지스터(41)에 저장되어 있는 데이타와 상기 데이타 버스(DB)를 통하여 입력되는 데이타를 비교하는 비교기(42)로 구성된다.Each of the processor boards 100A to N includes a central processing unit 10 for performing a unique function for each board, the central processing unit 10, an address bus AB, and a data bus DB. And a bus matching unit 20 connected to a control bus CB to perform a main memory access operation through the system bus SB, a control bus CB and an address bus AB of the CPU 10. Is connected to the memory control unit 30 and the data bus DB of the CPU 10 to generate a predetermined number of control signals for controlling a memory access cycle by decoding the address and control information. And a comparator 42 for comparing the data stored in the register 41 and the data input through the data bus DB.

상기 레지스터(41)와 비교기(42)를 포함하여 데이타 버퍼라 칭한다.The register 41 and the comparator 42 are referred to as a data buffer.

상기와 같은 구성들의 동작 특징을 간략히 설명하면 다음과 같다.Brief description of the operating characteristics of the above configuration as follows.

상기 메모리 제어부(30)은 아토믹 데이타의 읽기 사이클에서 상기 레지스터(41)의 입력제어신호(ICS)를 참으로 구동하므로서 데이타 버스(DB)의 값이 상기 레지스터(41)에 입력 저장되도록 하고, 아토믹 데이타의 쓰기 사이클에서 출력제어신호(OCS)를 참으로 구동하므로써 상기 레지스터(41)에 저장되어 있는 내용이 출력되도록 한다.The memory controller 30 drives the input control signal ICS of the register 41 to be true in the read cycle of the atomic data so that the value of the data bus DB is input to the register 41 and stored. By actually driving the output control signal OCS in the write cycle of data, the contents stored in the register 41 are outputted.

또한, 상기 비교기(42)는 상기 레지스터(41)에서 입력되는 데이타(I1)과 상기 데이타 버스(DB)를 통하여 입력되는 데이타(I2)를 비교하여 비교치를 출력한다.In addition, the comparator 42 compares the data I1 inputted from the register 41 with the data I2 inputted through the data bus DB and outputs a comparison value.

이때, 상기 메모리 제어부(20)은 상기 중앙처리장치(10)의 아토믹 데이타의 쓰기 사이클에서 상기 비교기(42)의 출력신호를 입력받아 상기 중앙처리장치(10)의 쓰기 사이클을 제어한다.At this time, the memory controller 20 receives the output signal of the comparator 42 in the write cycle of the atomic data of the central processing unit 10 and controls the write cycle of the central processing unit 10.

또한, 메인 메모리(200)는 버스(3)를 통하여 메모리 액세스에 필요한 어드레스 등의 정보를 임의의 프로세서 보드(100)에서 전달받으며 메모리 읽기 액세스가 끝나면 시스템 버스(SB)를 통하여 데이타를 응답한다.In addition, the main memory 200 receives information such as an address required for memory access through the bus 3 from an arbitrary processor board 100, and responds to data through the system bus SB when the memory read access is completed.

상기 중앙처리장치(10)에서 메인 메모리(200)의 액세스 요구가 발생하면 메모리 제어부(30)은 버스 정합부(20)에 제어신호를 입력하고, 그에따라 상기 버스 정합부(20)에서는 버스 액세스가 끝나면 상기 메모리 제어부(30)에 제어신호를 입력하여 상기 중앙처리장치(10)의 제어버스(CB)를 통하여 메인 메모리(200)의 액세스동작이 완료되었음을 알리게 된다.When the CPU 10 requests access of the main memory 200, the memory controller 30 inputs a control signal to the bus matching unit 20, and accordingly, the bus matching unit 20 accesses the bus. When the control is finished, the control signal is input to the memory controller 30 to notify that the access operation of the main memory 200 is completed through the control bus CB of the CPU 10.

상기와 같이 구성 동작되는 본 발명에 따른 다중 프로세서 시스템의 바람직한 동작예를 첨부한 제2도를 참조하여 상세히 살펴보면 다음과 같다.A detailed operation example of the multiprocessor system according to the present invention configured as described above will be described in detail with reference to FIG. 2.

제2도는 제1도에 도시되어 있는 다중 프로세서 시스템에서의 아토믹 명령어 수행 과정 순서도이다.FIG. 2 is a flowchart of the process of performing atomic instructions in the multiprocessor system shown in FIG.

메모리 제어부(30)는 스텝 S101에서 중앙처리장치(10)에서 아토믹 데이타 액세스에 대한 요구신호를 입력받으면, 스텝 S102로 진행하여 상기 스텝 S101에서 입력받은 아토믹 액세스에 따른 요구 신호가 읽기 혹은 쓰기인가를 판별한다.When the memory control unit 30 receives the request signal for the atomic data access from the central processing unit 10 in step S101, the memory control unit 30 proceeds to step S102 to determine whether the request signal according to the atomic access received in the step S101 is read or write. Determine.

상기 스텝 S102에서 읽기라고 판단되는 경우 스텝 S103으로 진행하여 메모리 읽기를 수행한다.If it is determined in step S102 that the read is made, the flow advances to step S103 to perform a memory read.

이때, 어드레스가 메인 메모리(200)의 영역이면 시스템 버스(SB)를 액세스하기 위하여 버스 정합부(20)에 제어신호를 입력하고, 그에따라 상기 버스 정합부(20)에서는 버스 액세스가 끝나면 상기 메모리 제어부(30)에 제어신호를 입력하여 상기 중앙처리장치(10)의 제어버스(CB)를 통하여 메인 메모리(200)의 액세스동작이 완료되었음을 알리게 된다. 이후, 상기 스텝 S103에서 메인 메모리를 억세스함에 따라 읽은 데이타를 중앙처리장치(10)로 공급하기 위하여 데이타 버스(DB)를 구동한다.In this case, if the address is an area of the main memory 200, a control signal is input to the bus matching unit 20 to access the system bus SB. Accordingly, the bus matching unit 20 receives the memory when the bus access is completed. The control signal is input to the controller 30 to notify that the access operation of the main memory 200 is completed through the control bus CB of the CPU 10. Thereafter, as the main memory is accessed in step S103, the data bus DB is driven to supply the read data to the CPU 10. FIG.

이때, 상기 메모리 제어부(30)는 스텝 S104에서 레지스터(41)의 입력제어신호를 '참'으로 구동시켜, 상기 데이타 버스(DB)를 통하여 상기 중앙처리장치(10)에 입력되는 데이타를 상기 레지스터(41)에 저장시킨다.At this time, the memory control unit 30 drives the input control signal of the register 41 to 'true' in step S104, and the data input to the CPU 10 via the data bus DB is stored in the register. Store in (41).

이후, 상기 중앙처리장치(10)에 데이타의 입력이 완료되면, 스텝 S105로 진행하여 읽기 사이클을 끝내며, 상기 시스템 버스(SB)를 포기한다.Thereafter, when data input to the central processing unit 10 is completed, the flow proceeds to step S105 to end the read cycle and abandon the system bus SB.

만약, 상기 스텝 S102 단계에서 쓰기 사이클이라고 판단되면 스텝 S106으로 진행하는데, 상기 스텝 S106에서는 읽기 사이클 동작중 레지스터(41)에 저장되었던 데이타와 상기 중앙처리장치(10)에서 출력되는 데이타를 비교하기 위하여 비교기(42)를 사용하며, 상기 비교기(42)의 출력을 검사한다.If it is determined in step S102 that it is a write cycle, the process proceeds to step S106, in which step S106 is used to compare the data stored in the register 41 with the data output from the central processing unit 10 during the read cycle operation. Comparator 42 is used and the output of comparator 42 is checked.

상기 스텝 S106에서 검사되어진 비교기(42)의 출력신호를 스텝 S107에서는 동일한 것인지 아니면 다른 것인가를 판단한다. 이때, 스텝 S107에서 비교신호값이 참(같음)이라고 판단되면 스텝 S109 단계로 진행하여, 쓰기 사이클이 종료된다.In step S107, it is determined whether the output signal of the comparator 42 examined in step S106 is the same or different. At this time, if it is determined in step S107 that the comparison signal value is true (equal), the flow advances to step S109 to end the write cycle.

만약, 스텝 S107에서 비교신호값이 거짓(다름)이면 스텝 S108로 진행된다.If the comparison signal value is false (different) in step S107, the flow advances to step S108.

상기 스텝 S108에서는 메모리 쓰기를 수행하며 어드레스가 메인 메모리 영역이면 시스템 버스를 통하여 메모리에 쓰기 액세스한다.In step S108, memory write is performed, and if the address is a main memory area, write access to the memory is performed through the system bus.

상기와 같은 동작을 간략히 부연 설명하면, 프로세서가 아토믹 데이타를 액세스하므로써 버스 사용률을 증가시키는 것을 막기 위하여 프로세서와 버스 사이에 데이타 버퍼를 두고 아토믹 데이타를 저장한 후 비교하여 불필요한 동작의 수행을 방지하기 위한 것으로서, 아토믹 명령어를 수행하면 프로세서는 주어진 어드레스에 대하여 읽기와 쓰기를 연속으로 수행한다.Briefly describing the above operation, in order to prevent the processor from increasing the bus utilization rate by accessing the atomic data, a data buffer is stored between the processor and the bus, and then the atomic data is stored and compared to prevent unnecessary performance. As an atomic instruction, the processor continuously reads and writes to a given address.

이때, 아토믹 데이타의 읽기 사이클에서 메모리로부터 읽혀진 데이타는 데이타 버퍼에 저장된다.At this time, the data read from the memory in the read cycle of the atomic data is stored in the data buffer.

아토믹 데이타의 쓰기 사이클에서 프로세서에서 출력되는 데이타는 버퍼의 내용과 비교된다.In the write cycle of atomic data, the data output from the processor is compared with the contents of the buffer.

비교 결과 내용이 서로 같으면 쓰기 사이클은 버스와 메인 메모리를 액세스하지 않고 종료된다.If the comparison shows the same content, the write cycle ends without accessing the bus and main memory.

반면에 비교 결과 내용이 서로 같지 않으면 쓰기 사이클은 버스를 통하여 메인 메모리로 보낸다.On the other hand, if the comparisons are not the same, write cycles are sent to the main memory via the bus.

즉, 본 발명의 데이타 버퍼를 사용하면 불필요한 데이타 쓰기가 버스와 메모리를 액세스하는 것을 방지할 수 있다.That is, the data buffer of the present invention can be used to prevent unnecessary data writes from accessing the bus and memory.

상기와 같이 동작하는 본 발명에 따른 다중 프로세서 시스템에서 아토믹 명령어 수행시 데이타 버퍼를 사용한 메인 메모리 액세스 장치를 제공하여 프로세서와 버스 사이에 데이타 버퍼를 두고 아토믹 데이타를 저장한 후 비교하여 불필요한 동작의 수행을 방지할 수 있으며, 더욱이 본 발명은 프로세서를 하나만 사용한 컴퓨터 시스템에서도 사용할 수 있고, 프로세서로서 인텔 펜티움을 사용하지 않더라도 사용할 수 있고, 프로세서와 버스 사이에 캐쉬 메모리를 사용하거나 혹은 사용하지 않는 것에 무관하게 적용할 수 있다.In the multiprocessor system operating as described above, a main memory access device using a data buffer is provided when performing an atomic instruction to store the data buffer between the processor and the bus, and then compare and store the atomic data to perform unnecessary operations. In addition, the present invention can be used in a computer system using only one processor, can be used even without using Intel Pentium as a processor, and can be applied with or without cache memory between the processor and the bus. can do.

좀더 정확하게 말해서 프로세서 외부에서 아토믹 데이타 액세스를 구별할 수 있으며 아토믹 데이타에 읽기와 쓰기를 연속하여 수행하는 프로세서를 사용한 임의의 컴퓨터 시스템에 적용할 수 있다.To be more precise, it is possible to distinguish atomic data access from outside the processor and to apply it to any computer system using a processor that continuously reads and writes atomic data.

Claims (3)

시스템 버스에 연결되어 있는 메인 메모리와의 데이타 통신을 위하여 다수개의 프로세서 보드가 상기 시스템 버스에 연결되어 상기 메인 메모리를 액세스할 수 있도록 구성되어 있는 다중 프로세서 시스템에 있어서, 각각의 프로세서 보드마다 독특한 기능을 수행하기 위한 중앙처리장치와; 어드레스 버스와 데이타 버스 및 제어 버스로 상기 중앙처리장치와 연결되어 상기 시스템 버스를 통하여 메인 메모리 액세스 동작을 수행하는 버스 정합부와; 상기 제어버스와 어드레스 버스에 연결되고 입력되는 어드레스와 제어 정보를 해독하여 메모리 액세스 사이클을 제어하는 소정갯수의 제어신호를 발생시키는 메모리 제어부와; 상기 데이타 버스를 통하여 상기 중앙처리장치와 연결되어 상기 메모리 제어부의 제어신호에 따라 데이타를 저장 또는 출력하는 레지스터; 및 상기 레지스터에 저장되어 있는 데이타와 상기 데이타 버스를 통하여 입력되는 데이타를 비교하여 상기 메모리 제어부에 입력하는 비교기를 포함하는 것을 특징으로 하는 다중 프로세서 시스템에서 아토믹 명령어 수행시 데이타 버퍼를 사용한 메인 메모리 액세스 장치.In a multiprocessor system in which a plurality of processor boards are connected to the system bus to access the main memory for data communication with main memory connected to a system bus, each processor board has a unique function. A central processing unit for performing; A bus matching unit connected to the CPU through an address bus, a data bus, and a control bus to perform a main memory access operation through the system bus; A memory control unit connected to the control bus and the address bus and generating a predetermined number of control signals for decrypting an input address and control information to control a memory access cycle; A register connected to the central processing unit through the data bus to store or output data according to a control signal of the memory controller; And a comparator for comparing the data stored in the register with the data input through the data bus and inputting the data to the memory control unit. . 제1항에 있어서, 상기 메모리 제어부는 아토믹 데이타의 읽기 사이클에서 상기 레지스터에 입력제어신호를 전달하여 상기 데이타 버스의 값이 상기 레지스터에 입력 저장되도록 하고, 아토믹 데이타의 쓰기 사이클에서 출력제어신호를 전달하여 상기 레지스터(41)에 저장되어 있는 내용이 출력되도록 하는 것을 특징으로 하는 다중 프로세서 시스템에서 아토믹 명령어 수행시 데이타 버퍼를 사용한 메인 메모리 액세스 장치.The method of claim 1, wherein the memory controller transfers an input control signal to the register in a read cycle of atomic data so that a value of the data bus is input to and stored in the register, and transmits an output control signal in a write cycle of atomic data. Main memory access device using a data buffer when performing an atomic instruction in a multiprocessor system, characterized in that the contents stored in the register (41) to be output. 제1항 또는 제2항에 있어서, 상기 메모리 제어부는 상기 비교기의 출력신호를 검사하여 아토믹 데이타의 쓰기 사이클에 상기 중앙처리장치로부터 출력되는 데이타와 아토믹 데이타의 읽기 사이클에 상기 레지스터에 저장되었던 데이타가 동일한 경우 상기 중앙처리장치로부터 요구되어진 쓰기 동작을 중단하도록 하는 것을 특징으로 하는 다중 프로세서 시스템에서 아토믹 명령어 수행시 데이타 버퍼를 사용한 메인 메모리 액세스 장치.The memory controller of claim 1, wherein the memory controller examines an output signal of the comparator and stores data output from the CPU in a write cycle of atomic data and data stored in the register in a read cycle of atomic data. In the same case, the main memory access device using a data buffer when performing an atomic instruction in a multiprocessor system, characterized in that for stopping the write operation requested from the central processing unit.
KR1019940030614A 1994-11-21 1994-11-21 Access apparatus of main memory for multiprocessor system KR0135927B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019940030614A KR0135927B1 (en) 1994-11-21 1994-11-21 Access apparatus of main memory for multiprocessor system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019940030614A KR0135927B1 (en) 1994-11-21 1994-11-21 Access apparatus of main memory for multiprocessor system

Publications (2)

Publication Number Publication Date
KR960018958A KR960018958A (en) 1996-06-17
KR0135927B1 true KR0135927B1 (en) 1998-06-15

Family

ID=19398499

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019940030614A KR0135927B1 (en) 1994-11-21 1994-11-21 Access apparatus of main memory for multiprocessor system

Country Status (1)

Country Link
KR (1) KR0135927B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7114042B2 (en) 2003-05-22 2006-09-26 International Business Machines Corporation Method to provide atomic update primitives in an asymmetric heterogeneous multiprocessor environment
KR100934227B1 (en) * 2007-09-21 2009-12-29 한국전자통신연구원 Memory switching control device using open serial matching, its operation method and data storage device applied thereto

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100312337B1 (en) * 1997-10-04 2001-12-28 구자홍 Method and device for controlling address of multi processor system

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7114042B2 (en) 2003-05-22 2006-09-26 International Business Machines Corporation Method to provide atomic update primitives in an asymmetric heterogeneous multiprocessor environment
KR100641988B1 (en) * 2003-05-22 2006-11-06 인터내셔널 비지네스 머신즈 코포레이션 Method to provide atomic update primitives in an asymmetric heterogeneous multiprocessor environment
US7814281B2 (en) 2003-05-22 2010-10-12 International Business Machines Corporation Method to provide atomic update primitives in an asymmetric heterogeneous multiprocessor environment
KR100934227B1 (en) * 2007-09-21 2009-12-29 한국전자통신연구원 Memory switching control device using open serial matching, its operation method and data storage device applied thereto
US8612713B2 (en) 2007-09-21 2013-12-17 Electronics & Telecommunications Research Institute Memory switching control apparatus using open serial interface, operating method thereof, and data storage device therefor

Also Published As

Publication number Publication date
KR960018958A (en) 1996-06-17

Similar Documents

Publication Publication Date Title
US5860158A (en) Cache control unit with a cache request transaction-oriented protocol
US5293500A (en) Parallel processing method and apparatus
US5408629A (en) Apparatus and method for controlling exclusive access to portions of addressable memory in a multiprocessor system
US5664117A (en) Apparatus and method for prefetching data to load buffers in a bridge between two buses in a computer
US5317747A (en) Multiprocessor system and interruption control device for controlling interruption requests between processors and peripheral devices in the multiprocessor system
US5598550A (en) Cache controller for processing simultaneous cache accesses
US4888689A (en) Apparatus and method for improving cache access throughput in pipelined processors
WO1994003860A1 (en) Massively parallel computer including auxiliary vector processor
JP2002140289A (en) Micro-controller dma operation with adjustable word size transfer and address array/increase
JPH0219945A (en) Main memory controller
JP2001092772A (en) Data bus to use synchronizing fixed latency loop
US5535363A (en) Method and apparatus for skipping a snoop phase in sequential accesses by a processor in a shared multiprocessor memory system
US5765195A (en) Method for distributing interprocessor interrupt requests via cache memory coherency mechanisms
JP3304444B2 (en) Vector processing equipment
KR0135927B1 (en) Access apparatus of main memory for multiprocessor system
US20030196072A1 (en) Digital signal processor architecture for high computation speed
JP4144990B2 (en) Data processing system and initialization method
JP3061106B2 (en) Bus bridge and computer system having the same
JPH07295947A (en) Equipment and method for data transfer management
JP2003029967A (en) Microprocessor
EP0318702A2 (en) Data processor with direct data transfer between coprocessor and memory
JP3077807B2 (en) Microcomputer system
KR950012510B1 (en) Method for accessing a system bus between multi processors
JPH04340145A (en) Cache memory device
JPH01261748A (en) Buffer storage control device

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: 20080103

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee