KR940009105B1 - Method and apparatus for memory access on multiprocessor system - Google Patents

Method and apparatus for memory access on multiprocessor system Download PDF

Info

Publication number
KR940009105B1
KR940009105B1 KR1019910025278A KR910025278A KR940009105B1 KR 940009105 B1 KR940009105 B1 KR 940009105B1 KR 1019910025278 A KR1019910025278 A KR 1019910025278A KR 910025278 A KR910025278 A KR 910025278A KR 940009105 B1 KR940009105 B1 KR 940009105B1
Authority
KR
South Korea
Prior art keywords
memory
processor
access
global
control
Prior art date
Application number
KR1019910025278A
Other languages
Korean (ko)
Other versions
KR930014000A (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 KR1019910025278A priority Critical patent/KR940009105B1/en
Priority to JP4348902A priority patent/JPH0683700A/en
Publication of KR930014000A publication Critical patent/KR930014000A/en
Application granted granted Critical
Publication of KR940009105B1 publication Critical patent/KR940009105B1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Memory System (AREA)

Abstract

The device uses an access arbitration logic (20) for time-sharing access and parallel access of global memories (14,15). The local memories (12-2,13-2) for each processor are each composed of DRAM. The device contains a DRAM control module (6,7) for an access and a refresh control of the local memories (12-2,13-2) and the global memories (14,15), a H/P control module (2) and a P/P control module (5) for communication between processors to conduct a memory access based on a predefined protocol.

Description

다중 프로세서 시스템의 메모리 액세스 제어장치와 방법Memory Access Control Devices and Methods in Multiprocessor Systems

제1도는 종래의 다중 프로세서 시스템의 메모리 액세스 제어장치 블록구성도.1 is a block diagram of a memory access controller of a conventional multiprocessor system.

제2도는 본 발명의 다중 프로세서 시스템의 메모리 액세스 제어장치 블록구성도.2 is a block diagram of a memory access controller of a multiprocessor system of the present invention.

제3도는 본 발명 장치에서 메모리 중재수단에 의해 버퍼 제어로직 도표.3 is a buffer control logic diagram by memory arbitration means in the apparatus of the present invention.

제4도는 본 발명의 액세스 제어방법을 나타낸 플로우챠트.4 is a flowchart showing an access control method of the present invention.

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

1 : 호우스트 컴퓨터 3,4 : 프로세서1: host computer 3, 4: processor

6,7 : DRAM제어기 14,15 : 글로벌 메모리6,7: DRAM controller 14,15: Global memory

20 : 액세스 중재부20: access arbitration

본 발명은 2개의 프로세서가 글로벌 메모리(Global Memory)를 동시에 액세스하거나 또는 시분할(Time Sharing)액세스가 가능하도록한 다중 프로세서 시스템의 메모리 액세스 장치에 관한 것이다.The present invention relates to a memory access device of a multiprocessor system in which two processors are capable of simultaneously accessing global memory or time sharing access.

종래의 다중 프로세서 메로리 액세스 장치는 제1도에 도시된 바와같이, 호우스트 컴퓨터(100)와의 통신을 수행하면서 전용 프로그램을 갖는 데이타 처리를 수행하는 프로세서(101, 102)와, 각 프로세서(101, 102)의 전용 메모리인 로울컬 메모리(103, 104) 및 공유 메모리인 글로벌 메모리부(109)로 구성되고, 각 프로세서의 로우컬 메모리(103, 104)는 부팅 프로그램이 저장된 EPROM(105, 107)과 실행 프로그램과 데이타가 저장되는 SRAM(106, 108)으로 구성되며, 글로벌 메모리부(109)는 2개의 독립된 글로벌 메모리로서의 DRAM(110, 111)과, 프로세서(101, 102)에서 DRAM(110, 111)을 액세스할때 이를 중재하는 액세스 중재부(112)(Arbitration Logic)로 구성되며 이의 동작은 다음과 같다.As shown in FIG. 1, a conventional multiprocessor memory access device includes a processor (101, 102) for performing data processing with a dedicated program while performing communication with the host computer (100), and each processor (101). The local memory 103, 104, which is a dedicated memory of the 102, and the global memory unit 109, which is a shared memory, are composed of an EPROM 105, 107 in which a boot program is stored. And SRAMs 106 and 108 in which executable programs and data are stored, and the global memory unit 109 includes two independent global memories (DRAM 110 and 111) and a processor (101, 102). 111 is composed of an access arbitration unit 112 (Arbitration Logic) to arbitrate when accessing the operation thereof is as follows.

프로세서(101, 102)에서 수행할 프로그램은 호우스트 컴퓨터(100)로부터 SRAM(106, 108)으로 EPROM(105, 107)의 부팅 프로그램에 의해 다운 로딩되고, 프로세서(101, 102)는 각각의 전용 프로그램을 갖고 작업을 수행하게 되는데 먼저 프로세서(101)에서 SRAM(106)의 실행 프로그램으로 첫번째 모듈의 작업이 완료되면 그 결과를 프로세서(102)에 전송하고 다음작업을 진행하며, 프로세서(102)는 프로세서(101)의 작업이 종료되면 전송받는 정보를 갖고 SRAM(108)의 실행 프로그램으로 다음 작업을 수행하여 그 결과를 호우스트 컴퓨터(100)에 전송한다. 이때 프로세서(102)는 프로세서(101)의 작업이 종료되기를 기다렸다가 작업이 종료되면 그 정보를 받아서 다음 작업을 진행하게 된다.The program to be executed in the processor 101, 102 is downloaded from the host computer 100 to the SRAM 106, 108 by the boot program of the EPROM 105, 107, and the processor 101, 102 is each dedicated. The program is performed with a program. First, when the task of the first module is completed from the processor 101 to the execution program of the SRAM 106, the result is transmitted to the processor 102 and the next task is performed. When the task of the processor 101 is finished, the next task is executed by the execution program of the SRAM 108 with the received information, and the result is transmitted to the host computer 100. At this time, the processor 102 waits for the operation of the processor 101 to end, and when the operation is completed, receives the information and proceeds to the next operation.

한편 상기와 같은 프로세서(101, 102)의 작업간에 작업수행에 필요한 데이타가 글로벌 메모리부(109)의 DRAM(110, 111)에 저장되며 각각의 DRAM(110)(111)에는 작업수행에 필요한 데이타가 각각 반대편의 DRAM으로 입력되고, 이때 메모리(110, 111)의 액세스는 액세스 중재부(12)에서 각 프로세서(101, 102)에 대한 DRAM(110, 111)의 액세스 중재를 담당하는 데이타 충돌을 배제시키고 있다.On the other hand, the data necessary to perform the work between the tasks of the processor 101, 102 as described above is stored in the DRAMs 110 and 111 of the global memory unit 109, and the data necessary to perform the work in each of the DRAMs 110 and 111. Are respectively input to the opposite DRAMs, whereby access of the memory 110, 111 causes a data collision in the access arbitration unit 12 responsible for arbitrating access of the DRAM 110, 111 to each processor 101, 102. Excluded.

그러나 이와같은 종래의 다중 프로세서 시스템의 메모리 액세스 장치는 각각의 프로세서가 독립적인 작업을 수행함에 있어 글로벌 메로리를 동시에 시분할로 액세스할수 없으므로 처리할 작업량이 어느 한쪽의 프로세서에 편중되어 있으면 다른 프로세서가 대기하는 시간이 길어지게되어 비효율적으로, 데이타 처리속도가 감소되며, 글로벌 메모리를 DRAM으로 구성하고 로우컬 메모리를 SRAM으로 구성하므로 시스템 운용에 수반되는 비용이 높아지는 문제점이 있었다.However, the memory access device of such a conventional multiprocessor system cannot access global memory in time-sharing at the same time as each processor performs independent tasks. The longer the time, the more inefficient, the data processing speed is reduced, the global memory is composed of DRAM and the local memory is composed of SRAM, there is a problem that the cost associated with operating the system increases.

본 발명은 글로벌 메모리를 각 프로세서에서 시분할로 동시에 액세스 가능하게 액세스 중재로직을 구성하고 각 프로세서당 1개의 DRAM제어기를 사용하여 로우컬 메모리의 워킹 메모리(Working Memory)를 DRAM으로 구성하여 미리 정의된 통신규약(Protocol)에 준한 메모리 액세스를 수행토록하므로서, 시분할과 병렬데이타 처리가 가능하도록 하고, 이에 따른 데이타 처리능률 및 그 속도의 향상이 가능하며, 로우컬 메모리 및 글로벌 메모리의 워킹 메모리를 DRAM으로 구성하여 시스템 운용비용의 절감을 도모할 수 있도록한 메모리 액세스 제어장치와 그 제어방법을 제공함을 목적으로 하며, 이하 제2도를 참조하여 본 발명장치의 구성부터 설명하면 다음과 같다.According to the present invention, access arbitration logic is configured to simultaneously access global memory in each processor in a time-division manner, and a working memory of a local memory is configured as DRAM using one DRAM controller per processor. By performing the memory access according to protocol, time division and parallel data processing are possible, and the data processing efficiency and speed can be improved accordingly, and the working memory of local memory and global memory is composed of DRAM. It is an object of the present invention to provide a memory access control apparatus and a control method thereof that can reduce the system operating cost, and will be described below with reference to the configuration of the present invention with reference to FIG.

즉, 본 발명의 다중 프로세서 시스템의 메모리 액세스 제어장치는, 호우스트 컴퓨터(1)와, 각 프로세서(3, 4)사이의 통신제어를 담당하는 H/P제어부(2)와, 각 프로세서(3, 4)사이의 통신제어를 담당하는 P/P제어부(5)와, 로우컬 DRAM(12-2, 13-2)과 글로벌 메모리(14, 15)를 액세스 및 리프레시 제어하는 DRAM제어기(6, 7)와, 프로세서(3, 4)의 어드레스를 로우컬 EPROM(12-3, 13-3) 및 SRAM(12-4, 13-4)에 공급하는 어드레스 구동부(8, 9)와, 액세스 중재부(20)의 제어에 따라 프로세서(3, 4)의 DRAM 제어신호중 하나의 신호를 글로벌 메모리(14, 15)에 공급하는 트라이 스테이트 멀티플렉서(10, 11)와, 각 프로세서(3, 4)의 전용 프로그램 처리를 위한 데이타가 저장/해독되는 로우컬 메모리(12, 13)와, DRAM으로 구성된 글로벌 메모리(14, 15)와, 각 프로세서(3, 4)가 원하는 글로벌 메모리(14, 15)를 액세스할수 있게 스위칭되는 쌍방향 버퍼(16, 17, 18, 19)와, 각 프로세서(3, 4)에 의해 글로벌 메모리(14, 15)를 동시에 액세스하거나 시분할로 액세스가 가능하도록 중재하는 액세스 중재부(20)로 구성된다.That is, the memory access control apparatus of the multiprocessor system of the present invention includes a host computer 1, an H / P control unit 2 that is in charge of communication control between the processors 3, 4, and each processor 3; 4) and a DRAM controller 6 for access and refresh control of the local DRAMs 12-2 and 13-2 and the global memories 14 and 15; 7), address drivers 8 and 9 for supplying the addresses of the processors 3 and 4 to the local EPROMs 12-3 and 13-3 and the SRAMs 12-4 and 13-4, and access arbitration. The tri-state multiplexers 10 and 11 supplying one of the DRAM control signals of the processors 3 and 4 to the global memories 14 and 15 according to the control of the unit 20, and each of the processors 3 and 4, respectively. Local memory (12, 13) in which data for dedicated program processing is stored / decoded, global memory (14, 15) consisting of DRAM, and global memory (14, 15) desired by each processor (3, 4). Access Two-way buffers 16, 17, 18, and 19 that are capable of switching, and an access arbitration unit 20 that arbitrates access to time-divisionally or global memory 14, 15 by each processor 3, 4; It consists of

한편, 상기 H/P제어부(2)는 통신할 데이타의 일시 저장 및 이를 제어하기 위한 듀얼 포트메모리(2-1)(DPRAM)와, 각 프로세서의 상태를 제어하는 스테이터스 제어부(2-2)와, DPRAM(2-1)의 액세스에 필요한 제어신호를 발생하는 DPRAM제어부(2-3)와, 호우스트-프로세서간의 어드레스 경로제어를 위한 단방향 버퍼(2-4, 2-5) 및 데이타 경로제어를 위한 쌍방향 버퍼(2-6)로 구성된다. P/P제어부(5)는 프로세서 상호간의 데이타가 저장/해독되는 듀얼 포트메모리(5-2) 및 데이타 통신제어의 상태를 제어하는 스테이터스 제어부(5-1)로 구성된다.On the other hand, the H / P controller 2 is a dual port memory (2-1) (DPRAM) for temporarily storing and controlling the data to communicate, and the status controller (2-2) for controlling the state of each processor and , The DPRAM controller 2-3 for generating a control signal for accessing the DPRAM 2-1, the unidirectional buffers 2-4 and 2-5 for address path control between the host and the processor, and data path control. It consists of a two-way buffer (2-6) for. The P / P controller 5 comprises a dual port memory 5-2 in which data between processors is stored / decoded, and a status controller 5-1 for controlling the state of data communication control.

프로세서(3)의 로우컬 메모리(12)는 DRAM제어신호의 구동을 위한 단방향 버퍼(12-1)와, 프로세서(3)의 전용 워킹 메모리인 DRAM(12-2)과, 시스템의 초기부팅시 각 모듈의 초기화 및 수행할 프로그램을 다운 로딩받아 SRAM(12-4)에 저장하거나 인터럽트시 서비스 루틴으로의 점프가 가능하도록 하는 프로그램이 저장하는 EPROM(12-3)과, 초기에 호우스트 컴퓨터로부터 프로그램을 받아 필요한 작업이 수행되도록 프로그램이 저장하는 SRAM(12-4)과, DRAM(12-2)과 EPROM(12-3)의 데이타 구동을 위한 쌍방향 버퍼(12-5)로 구성된다.The local memory 12 of the processor 3 includes a unidirectional buffer 12-1 for driving the DRAM control signal, a DRAM 12-2 which is a dedicated working memory of the processor 3, and an initial booting of the system. EPROM 12-3, which downloads and stores programs to be initialized and executed in each module, and stores them in the SRAM 12-4 or jumps to service routines when interrupted, and initially from the host computer. An SRAM 12-4 which stores a program to receive a program and performs a necessary task, and a bidirectional buffer 12-5 for driving data of the DRAM 12-2 and the EPROM 12-3.

프로세서(4)의 로우컬 메모리((13)는 DRAM제어신호의 구동을 위한 단방향 버퍼(13-1)와, 프로세서(4)의 전용 워킹메모리인 DRAM(13-2)과, 시스템의 초기부팅시 각 모듈의 초기화 및 수행할 프로그램을 다운 로딩받아 SRAM(13-4)에 저장하거나 인터럽트 서비스 루틴으로서 점프가 가능하도록 하는 프로그램이 저장되는 EPROM(13-3)과, 초기에 호우스트 컴퓨터로부터 프로그램을 받아 필요한 작업 수행되도록 프로그램이 저장되는 SRAM(13-4)과, DRAM(13-2)과 EPROM(13-3)의 데이타 구동을 위한 쌍방향 버퍼(13-5)로 구성된다.The local memory 13 of the processor 4 includes a unidirectional buffer 13-1 for driving the DRAM control signal, a DRAM 13-2 which is a dedicated working memory of the processor 4, and an initial booting of the system. EPROM 13-3, in which a program for downloading and storing a program to be initialized and executed at each time is downloaded and stored in the SRAM 13-4, or jumpable as an interrupt service routine, and a program from a host computer initially. And an SRAM 13-4 in which a program is stored so as to perform a necessary task, and a bidirectional buffer 13-5 for driving data of the DRAM 13-2 and the EPROM 13-3.

이와같이 구성된 본 발명 장치에 의한 메모리 액세스 동작을 제2도 내지 제4도를 참조하여 첫째, 각 프로세서(3, 4)와 로우컬 메모리(12, 13)와의 데이타 처리동작, 둘째, 각 프로세서(3, 4)와 글로벌 메모리(4, 5)와의 데이타 처리동작, 셋째, 호우스트 컴퓨터(1)와 각 프로세서(3, 4)와의 통신동작, 넷째, 프로세서(3, 4) 사이의 통신동작으로 구분하여 다음과 같다.The memory access operation by the apparatus of the present invention configured as described above is described with reference to FIGS. 2 to 4. First, data processing operations of each of the processors 3 and 4 and the local memory 12 and 13, and second, each processor 3. 4) data processing operation between the global memory (4, 5), third, communication operation between the host computer 1 and each processor (3, 4), fourth, communication operation between the processor (3, 4) By:

먼저, 각 프로세서(3, 4)와 로우컬 메모리(12, 13)와의 데이타 처리동작을 설명하면, 부팅 프로그램은 EPROM(12-3, 13-3)에 존재하며 시스템의 전원이 온되면 부팅프로그램이 실행되어 각 프로세싱 모듈을 초기화하고, 호우스트 컴퓨터(1)로부터 실행프로그램을 다운 로딩받아서 SRAM(12-4, 12-5)에 저장한다.First, the data processing operation between the processors 3 and 4 and the local memory 12 and 13 will be described. The boot program exists in the EPROMs 12-3 and 13-3. This operation is executed to initialize each processing module, and downloads an execution program from the host computer 1 and stores it in the SRAMs 12-4 and 12-5.

또한 EPROM(12-3, 13-3)에는 인터럽트가 발생될 경우 이를 처리하기 위한 인터럽트 서비스 루틴을 갖고 있으며, 프로그램이 실행될 경우 SRAM(12-4, 13-4)의 실행될 프로그램 영역으로 점프하도록 구성되어 있다.In addition, EPROMs 12-3 and 13-3 have interrupt service routines for handling interrupts when they occur, and are configured to jump to the program areas to be executed in SRAMs 12-4 and 13-4 when programs are executed. It is.

SRAM(12-4, 13-4)에는 실행프로그램이 저장되어 있고 이 프로그램은 호우스트 컴퓨터(1)로부터 전송받아 각 프로세서(3, 4)가 원하는 작업을 수행하게 되며 고속 메모리를 채용하여 실행속도를 확보한다.Execution programs are stored in the SRAMs 12-4 and 13-4. These programs are received from the host computer 1 and each processor 3 and 4 performs a desired task. To secure.

DRAM(12-2, 13-2)은 실행프로그램의 워킹 메모리로 사용되며 이 프로세서(3, 4)의 제어를 받는 DRAM제어기(6, 7)에 의하여 데이타 리드/라이트와 리프레시 제어를 받고 고속 액세스 방법을 사용하여 빠른 실행이 가능하다.The DRAMs 12-2 and 13-2 are used as working memories of an execution program and are subjected to data read / write and refresh control by the DRAM controllers 6 and 7 which are controlled by the processors 3 and 4, and have high-speed access. The method can be used to run quickly.

한편, 어드레스 구동부(8, 9)(단방향 버퍼)는 항상 인에이블 상태이며 프로세서(3, 4)에서 출력되는 어드레스(PE1(A), PE2(A))를 드라이브하여 EPROM(12-3, 13-3) 및 SRAM(12-4, 13-4)의 어드레스(버퍼링된 어드레스)(PE1(BA), PE2(BA))를 공급한다.On the other hand, the address driver 8, 9 (unidirectional buffer) is always in an enabled state, and drives the addresses PE1 (A) and PE2 (A) output from the processors 3 and 4 to drive the EPROMs 12-3 and 13. -3) and addresses (buffered addresses) (PE1 (BA), PE2 (BA)) of the SRAMs 12-4 and 13-4.

단방향 버퍼(12-1, 13-1)는 프로세서(3, 4)가 로우컬 DRAM(12-2, 13-2)을 액세스할때만 인에이블되어 DRAM(12-2, 13-2)의 스트로브 신호와 어드레스를 드라이브하여 구동신호(PE(LMA), PE2(LMA))로서 DRAM(12-2, 13-2)에 공급한다.Unidirectional buffers 12-1 and 13-1 are enabled only when processor 3 and 4 accesses local DRAMs 12-2 and 13-2 to strobe the DRAMs 12-2 and 13-2. The signals and addresses are driven and supplied to the DRAMs 12-2 and 13-2 as drive signals PE (LMA) and PE2 (LMA).

또한 DRAM(12-2, 13-2)의 리프레시시에는 글로벌 DRAM(14, 15)의 스트로브 신호 및 어드레스(GM0(A), GM1(A))를 드라이브하기 위한 버퍼(10, 11)와 동시에 인에이블되어 각 프로세서(3, 4)의 DRAM제어기(6, 7)에 의해 동시 리프레시가 이루어지도록 한다.When refreshing the DRAMs 12-2 and 13-2 simultaneously with the buffers 10 and 11 for driving the strobe signals and the addresses GM0 (A) and GM1 (A) of the global DRAMs 14 and 15. Enabled to allow simultaneous refreshing by the DRAM controllers 6 and 7 of each processor 3 and 4.

쌍방향 버퍼(12-5, 13-5)는 EPROM(12-3, 13-3)이나 DRAM(12-2, 13-2)을 액세스할때만 인에이블되며 프로세서(3, 4)의 리드/라이트 상태에 따라 방향이 결정되어 데이타(PE1(LD), PE2(LD))를 전송하고 다른 데이타 버스와의 충돌을 방지한다.The interactive buffers 12-5 and 13-5 are only enabled when accessing the EPROMs 12-3 and 13-3 or DRAMs 12-2 and 13-2 and read / write of the processors 3 and 4. Depending on the state, the direction is determined to transfer data (PE1 (LD), PE2 (LD)) and avoid collisions with other data buses.

이와같이 하여 각 프로세서(3, 4)에서 데이타(PE1(D), PE2(D))와 어드레스(PE1(A), PE2(A))를 통한 로우컬 메모리(12, 13)의 액세스가 이루어진다.In this way, each of the processors 3 and 4 accesses the local memory 12 and 13 through the data PE1 (D) and PE2 (D) and the addresses PE1 (A) and PE2 (A).

다음은 글로벌 메모리(14, 15)와 각 프로세서(3, 4)사이의 데이타 처리동작을 설명한다.The following describes data processing operations between the global memories 14 and 15 and the processors 3 and 4.

먼저, 각 프로세서(3, 4)는 글로벌 메모리 스테이터스 제어 레지스터를 DPRAM(5-2)에 정의해두고 있어 이 레지스터의 셋팅된 상태를 각각의 프로세서(3, 4)가 해독하므로서 글로벌 메모리(14, 15)의 액세스 방법을 결정한다.First, each processor 3, 4 defines a global memory status control register in DPRAM 5-2 so that each processor 3, 4 decodes the set state of the register so that the global memory 14, 15) determine the access method.

하나의 프로세서(3, 4)가 하나의 글로벌 메모리(14, 15)를 액세스하는 경우 액세스할 글로벌 메모리를 선택하여 메모리 플래그에 셋팅시키고, 액세스를 시작할때 시작플래그를 셋팅(ON)시켜 액세스를 진행하고, 액세스가 완료되면 시작플래그를 리세트(OFF)시켜 각 프로세서(3, 4)가 글로벌 메모리(14, 15)를 동시에 혹은 시분할로 액세스하게 된다.When one processor (3, 4) accesses one global memory (14, 15), select the global memory to access and set it in the memory flag, and access is set by setting the start flag (ON) at the start of access. When the access is completed, the start flag is reset (OFF) so that each of the processors 3 and 4 accesses the global memories 14 and 15 simultaneously or in time division.

즉, 제4도의 액세스 제어방법에 나타낸 과정을 글로벌 메모리(14, 15)를 액세스하는 것으로 각 프로세서(3, 4)가 다른 프로세서의 스테이터스 레지스터중 메모리 플래그를 참조하여 그 프로세서가 액세스하고 있는 글로벌 메모리를 검색하고, 검색결과 현재 액세스하고자 하는 글로벌 메모리와 상대방 프로세서가 액세스하고 있는 글로벌 메모리가 상이하면 메모리 플래그와 시작플래그를 셋팅한후 글로벌 메모리를 리드/라이트하여 병렬처리(Parallel Processing)가 가능하고, 액세스하고자 하는 글로벌 메모리가 동일하면 재차 시작플래그를 참조하여 이 값이 온이면 오프될때까지 기다린후 메모리 플래그와 시작플래그를 셋팅시킨 다음 글로벌 메모리 액세스를 수행하므로서 시분할 액세스가 이루어지게 되는 것이다.That is, the process shown in the access control method of FIG. 4 is performed by accessing the global memories 14 and 15 so that each processor 3 and 4 refers to the memory flag in the status registers of the other processors to which the processor is accessing. If the global memory to be accessed and the global memory being accessed by the other processor are different from each other, the parallel processing is possible by setting the memory flag and start flag and then reading / writing the global memory. If the global memory to be accessed is the same, time slot access is performed by setting the memory flag and the start flag after performing the global memory access after waiting until it is turned off by referring to the start flag again.

한편, 액세스 중재부(20)는 DPRAM(5-2)의 글로벌 메모리 스테이터스 제어 레지스터값에 따라 각 프로세서(3, 4)가 글로벌 메모리(14, 15)를 정상적으로 액세스할 수 있도록 트라이 스테이트 멀티플렉서(10, 11), 쌍방향 버퍼(12-5, 13-5), (16, 17, 18, 19), 단방향 버퍼(12-1, 13-1)를 제어한다.On the other hand, the access arbitration unit 20 is a tri-state multiplexer 10 so that each processor (3, 4) can normally access the global memory (14, 15) in accordance with the global memory status control register value of the DPRAM (5-2). 11, bidirectional buffers 12-5, 13-5, (16, 17, 18, 19), and unidirectional buffers 12-1, 13-1.

제어로직은 제3도에 나타낸 바와같이, 각 DRAM(14, 15)에 입력될 스트로브 신호와 어드레스신호를 드라이브하기 위한 트라이 스테이트 멀티플렉서(10, 11)의 출력은 프로세서(3, 4)의 DRAM제어기(6, 7)로부터 발생된 신호중 한쪽의 신호만을 선택하여 출력되도록 트라이 스테이트 멀티플렉서(10, 11)를 제어하고, 데이타 드라이브를 위한 쌍방향 버퍼(16, 17, 18, 19)중 액세스 대상이 되는 메모리와의 데이타 버스가 온되도록 원하는 버퍼만을 인에이블 제어하고, 리프레시시에 로우컬 DRAM(12-2, 13-2)과 글로벌 메모리(14, 15)를 동시에 액세스(리프레시)되도록 제어하며 이에 필요한 스트로브 신호들의 입력을 가능하게 단방향 버퍼(12-1, 13-1) 및 멀티플렉서(10, 11)를 인에이블시킨다. 그리고 이때 DRAM제어기(6, 7)는 로우컬 DRAM(12-2, 13-2) 또는 글로벌 메모리(14, 15)를 액세스할때 필요한 제어및 스트로브 신호와 어드레스를 발생시키며 리프레시 시에는 DRAM(12-2, 13-2, 14, 15)이 리프레시 모드로 동작하도록 리프레시 제어신호들을 발생시킨다.As shown in Fig. 3, the control logic outputs of the tri-state multiplexers 10 and 11 for driving the strobe signals and the address signals to be input to the respective DRAMs 14 and 15 are the DRAM controllers of the processors 3 and 4, respectively. The tri-state multiplexers 10 and 11 are controlled to select and output only one of the signals generated from (6, 7), and the memory to be accessed among the two-way buffers 16, 17, 18, and 19 for the data drive. Enable only the desired buffers to turn on the data bus with the controller, and control the local DRAMs 12-2 and 13-2 and the global memories 14 and 15 to be simultaneously accessed (refreshed) at the time of refresh Enables input of signals to enable unidirectional buffers 12-1 and 13-1 and multiplexers 10 and 11. In this case, the DRAM controllers 6 and 7 generate control and strobe signals and addresses necessary for accessing the local DRAMs 12-2 and 13-2 or the global memories 14 and 15. -2, 13-2, 14, 15 generate the refresh control signals to operate in the refresh mode.

호우스트 컴퓨터(1)와 프로세서(3), 호우스트 컴퓨터(1)와, 프로세서(2), 각 프로세서(3, 4)간의 통신은 미리 정의된 통신규약에 따라 DPRAM을 이용하여 통신이 이루어진다.Communication between the host computer 1 and the processor 3, the host computer 1, the processor 2, and each of the processors 3 and 4 is performed using DPRAM according to a predefined communication protocol.

즉, DPRAM(2-1)은 각 프로세서의 로우컬 메모리(12, 13)에 어드레스 맵핑(Mapping)되어 이 부분을 액세스하므로서 통신이 가능한 것으로 통신규약은 호우스트 명령어중 하위 4비트의 값에 의하며, 하위 4비트값이 “1”인 경우는 호우스트 컴퓨터(1)의 프로그램 또는 데이타를 각 프로세서(3, 4)로 전송, “2”인 경우는 각 프로세서(3, 4)의 프로그램 또는 데이타를 호우스트 컴퓨터(1)에서 수신, “3”인 경우는 각 프로세서(3, 4)를 초기화, “4”인 경우는 각 프로세서(3, 4)의 프로그램을 실행시킴, “5”인 경우는 각 프로세서(3, 4)의 스택 포인터를 호우스트 컴퓨터(1)가 수신, “6”인 경우는 호우스트 컴퓨터(1)가 각 프로세서(3, 4)에 스택 포인터를 전송, “7”인 경우는 각 프로세서(3, 4)의 레지스터값을 스택에 저장, “8”인 경우는 각 프로세서(3, 4)의 메모리를 진단, “9”인 경우는 각 프로세서(3, 4)의 제어 레지스터를 처리하는 것으로 규약짓고 이 값을 DPRAM(2-1)에서 리드/라이트하여 해당 명령어를 해독한 결과에 준하여 호우스트 컴퓨터(1)와 각 프로세서(3, 4)간의 통신을 수행한다.That is, the DPRAM 2-1 is address-mapped to the local memory 12 and 13 of each processor to communicate by accessing this part. The communication protocol is based on the lower 4 bits of the host instruction. If the lower 4 bit value is "1", the program or data of the host computer 1 is transmitted to each processor (3, 4). If "2", the program or data of each processor (3, 4) is transmitted. Received by the host computer 1, if "3", initialize each processor (3, 4), if "4", execute the program of each processor (3, 4), "5" The host computer 1 receives the stack pointer of each of the processors 3 and 4, and the host computer 1 transmits the stack pointer to each of the processors 3 and 4, if it is “6”. Is stored in the stack of each processor (3, 4). If "8", the memory of each processor (3, 4) is diagnosed. , If "9", the control register of each processor (3, 4) is processed to read and write this value in the DPRAM (2-1), the host computer (1) ) And communication between the processors 3 and 4.

또한 명령어중 하위 4비트로 프로세서간의 통신을 수행하며 상기와 같은 방법으로 “1X”인 경우에는 호우스트 컴퓨터(1)와 프로세서(3)와의 통신, “2X”인 경우는 호우스트 컴퓨터(1)와 프로세서(4)와의 통신, “3X”인 경우에는 프로세서(3, 4)간의 통신으로 규약 짓는다.In addition, the processor performs communication between the processors with the lower 4 bits of the instruction. In the case of “1X”, the host computer 1 communicates with the processor 3, and in the case of “2X”, the host computer 1 communicates with the processor. Communication with the processor 4, in the case of “3X”, is established by communication between the processors 3 and 4.

상기 통신규약에 준한 호우스트 컴퓨터(1)와 각 프로세서(3, 4) 및 프로세서(3, 4)간의 통신제어는 상기한 바와같이 DPRAM(2-1)의 어드레스 맵핑에 의존하며 호우스트 컴퓨터(1)로부터 또는 프로세서(3, 4)로부터의 어드레스에 대응하여 제어명령 데이타를 기록하고 이를 해독하므로서 통신이 이루어진다.Communication control between the host computer 1 and each of the processors 3 and 4 and the processors 3 and 4 in accordance with the communication protocol depends on the address mapping of the DPRAM 2-1 as described above. Communication is performed by recording and decrypting control command data from 1) or in response to addresses from the processors 3 and 4.

이는 버퍼(2-6)를 통한 데이타의 드라이브, 버퍼(2-4, 2-5)를 통한 어드레스의 드라이브, 스테이터스 제어부(2-2)에 의한 제어상태의 제어, DPRAM제어부(2-3)에 의한 DPRAM(2-1)의 인에이블 제어를 통해 수행된다.It drives the data through the buffer 2-6, drives the addresses through the buffers 2-4 and 2-5, controls the control state by the status control unit 2-2, and the DPRAM control unit 2-3. Is performed through enable control of the DPRAM 2-1.

이상에서 설명한 바와같이 본 발명에 의하면 다수의 프로세서가 공유 메모리를 액세스하여 작업을 수행함에 있어 작업량이 특정프로세서에 편중된 경우 작업량을 효율적으로 분배하여 수행할 수 있고, 로우컬 메모리와 글로벌 메모리를 DRAM으로 구성하여 각 프로세서의 DRAM제어기가 이를 제어토록 하므로서 DRAM제어에 편리와 능률을 기할수 있으며 저렴한 가격으로 시스템의 메모리를 확정할수 있는 효과가 있다.As described above, according to the present invention, when a plurality of processors access a shared memory to perform a task, when the workload is concentrated on a specific processor, the workload can be efficiently distributed, and the local memory and the global memory are DRAM. By configuring the controller to control the DRAM of each processor, it is possible to control the DRAM conveniently and efficiently, and it is effective to determine the memory of the system at a low price.

Claims (3)

호우스트 컴퓨터(1)와, 각 프로세서(3, 4)사이의 통신제어를 담당하는 H/P제어부(2)와, 각 프로세서(3, 4)사이의 통신제어를 담당하는 P/P제어부(5)와, 로우컬 DRAM(12-2, 13-2)과 글로벌 메모리(14, 15)를 액세스 및 리프레시 제어하는 DRAM제어기(6, 7)와, 프로세서(3, 4)의 어드레스를 로우컬 EPROM(12-3, 13-3) 및 SRAM(12-4, 13-4)에 공급하는 어드레스 구동부(8, 9)와, 액세스 중재부(20)의 제어에 따라 프로세서(3, 4)의 DRAM 제어신호중 한쪽의 신호를 글로벌 메모리(14, 15)에 공급하는 트라이 스테이트 멀티플렉서(10, 11)와, 각 프로세서(3, 4)의 전용 프로그램 처리를 위한 데이타가 저장/해독되는 로우컬 메모리(12, 13)와, DRAM으로 구성된 글로벌 메모리(14, 15)와, 각 프로세서(3, 4)가 원하는 글로벌 메모리(14, 15)를 액세스할수 있게 스위칭되는 쌍방향 버퍼(16, 17, 18, 19)와, 각 프로세서(3, 4)에 의해 글로벌 메모리(14, 15)를 동시에 액세스하거나 시분할로 액세스가 가능하도록 중재하는 액세스 중재부(20)로 구성된 다중 프로세서 시스템의 메모리 액세스 제어장치.H / P control unit 2 in charge of the communication control between the host computer 1 and each processor (3, 4), and P / P control unit in charge of the communication control between each processor (3, 4) 5) and the address of the processor 3, 4 and the DRAM controllers 6 and 7 for accessing and refreshing the local DRAMs 12-2 and 13-2 and the global memories 14 and 15. The address drivers 8 and 9 supplied to the EPROMs 12-3 and 13-3 and the SRAMs 12-4 and 13-4 and the processors 3 and 4 under the control of the access arbitration unit 20. A tri-state multiplexer 10, 11 for supplying one of the DRAM control signals to the global memories 14, 15, and a local memory in which data for dedicated program processing of each processor 3, 4 is stored / decoded ( 12, 13, global memory 14, 15 consisting of DRAM, and bidirectional buffers 16, 17, 18, 19 that are switched so that each processor 3, 4 can access the desired global memory 14, 15. ) And each processor (3, 4 A memory access control apparatus of a multiprocessor system, comprising an access arbitration unit (20) for arbitrarily accessing or time-division accessing the global memory (14, 15). 제1항에 있어서, 로우컬 메모리(12, 13)는 각 프로세서의 워킹 메모리로서 DRAM(12-2, 13-2)을 포함하는 다중 프로세서 시스템의 메모리 액세스 제어장치.2. The apparatus of claim 1, wherein the local memory (12, 13) comprises DRAMs (12-2, 13-2) as working memory of each processor. 각 프로세서(3, 4)가 다른 프로세서의 스테이터스 레지스터중 메모리 플래그를 참조하여 그 프로세서가 액세스하고 글로벌 메모리를 검색하고, 검색결과 현재 액세스하고자 하는 글로벌 메모리와 상대방 프로세서가 액세스하고 있는 글로벌 메모리가 상이하면 메모리 플래그와 시작플래그를 셋팅한후 글로벌 메모리를 리드/라이트하고, 액세스하고자 하는 글로벌 메모리가 동일하면 재차 시작플래그를 참조하여 이 값이 온이면 오프될때까지 기다린후 메모리 플래그와 시작플래그를 셋팅시킨 다음 글로벌 메모리 액섹스를 수행함을 특징으로 하는 다중 프로세서 시스템의 메모리 액세스 제어방법.If each processor (3, 4) refers to the memory flag in the status register of another processor, the processor accesses and searches the global memory, and if the search results indicate that the global memory currently being accessed and the other processor are accessing the memory different from each other, After setting the memory flag and the start flag, read / write the global memory. If the global memory to be accessed is the same, refer to the start flag again and wait until this value is turned off. Then, set the memory flag and the start flag. A method of controlling memory access in a multiprocessor system, characterized by performing global memory access.
KR1019910025278A 1991-12-30 1991-12-30 Method and apparatus for memory access on multiprocessor system KR940009105B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1019910025278A KR940009105B1 (en) 1991-12-30 1991-12-30 Method and apparatus for memory access on multiprocessor system
JP4348902A JPH0683700A (en) 1991-12-30 1992-12-28 Apparatus and method for controlling memory access of multiprocessor system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019910025278A KR940009105B1 (en) 1991-12-30 1991-12-30 Method and apparatus for memory access on multiprocessor system

Publications (2)

Publication Number Publication Date
KR930014000A KR930014000A (en) 1993-07-22
KR940009105B1 true KR940009105B1 (en) 1994-09-29

Family

ID=19326799

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019910025278A KR940009105B1 (en) 1991-12-30 1991-12-30 Method and apparatus for memory access on multiprocessor system

Country Status (2)

Country Link
JP (1) JPH0683700A (en)
KR (1) KR940009105B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9287370B2 (en) 2012-03-02 2016-03-15 Semiconductor Energy Laboratory Co., Ltd. Memory device comprising a transistor including an oxide semiconductor and semiconductor device including the same
CN116662228B (en) * 2023-06-16 2024-01-30 深圳市东方聚成科技有限公司 Access method for time-division multiplexing local memory

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5469923A (en) * 1977-11-15 1979-06-05 Mitsubishi Electric Corp Memory shared device
JPS5999566A (en) * 1982-11-30 1984-06-08 Toshiba Corp Exclusive controller of composite computer
JPS61183770A (en) * 1985-02-08 1986-08-16 Yaskawa Electric Mfg Co Ltd Multiprocessor system
JPH0644731B2 (en) * 1985-02-20 1994-06-08 国際電気株式会社 Diversity transmission / reception method in broadcasting format data communication
JPS63142455A (en) * 1986-12-05 1988-06-14 Hitachi Ltd Semiconductor storage device
JPS63205757A (en) * 1987-02-23 1988-08-25 Fuji Electric Co Ltd Information transfer system
JPS63217444A (en) * 1987-03-06 1988-09-09 Nec Corp Multiple port memory
JPH0289142A (en) * 1988-09-26 1990-03-29 Nippon Board Computer Kk Dual port ram access circuit
JPH02184958A (en) * 1989-01-12 1990-07-19 Fujitsu Ltd Processor system

Also Published As

Publication number Publication date
JPH0683700A (en) 1994-03-25
KR930014000A (en) 1993-07-22

Similar Documents

Publication Publication Date Title
US4987529A (en) Shared memory bus system for arbitrating access control among contending memory refresh circuits, peripheral controllers, and bus masters
US5386532A (en) Method and apparatus for transferring data between a memory and a plurality of peripheral units through a plurality of data channels
DK169492B1 (en) Data processing apparatus with selective advance retrieval of instructions and methods of operation of such data processing apparatus
JP2761506B2 (en) Main memory controller
JP3749732B2 (en) Fast access to shared resources on the computer bus
US4415970A (en) Cache/disk subsystem with load equalization
JPH10187359A (en) System for storing data and method for transferring data applied to the same system
US4729091A (en) Directing storage requests prior to address comparator initialization with a reference address range
US20020174284A1 (en) Device for spatially and temporally reordering for data between a processor, memory and peripherals
KR940009105B1 (en) Method and apparatus for memory access on multiprocessor system
JPH0689269A (en) Processor control device, processor pausing device and method thereof
US5471672A (en) Method for implementing a high speed computer graphics bus
JP2618223B2 (en) Single chip microcomputer
US5483645A (en) Cache access system for multiple requestors providing independent access to the cache arrays
JP4983133B2 (en) INPUT / OUTPUT CONTROL DEVICE, ITS CONTROL METHOD, AND PROGRAM
EP0487901A2 (en) Disk controller using a video ram
KR0137841Y1 (en) Data transfer control device in multiprocessor system
JP2625288B2 (en) Buffer memory access system
JPS63155254A (en) Information processor
JP2504528B2 (en) Bus control system between main memory controllers
JPH06214939A (en) Dma controller
JPS63133257A (en) Multi-processor system
JPH06324940A (en) Method and device for controlling memory
JPH03250488A (en) Method for controlling memory bus
JPS63178320A (en) Multiwindow display device

Legal Events

Date Code Title Description
A201 Request for examination
G160 Decision to publish patent application
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 19981221

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee