KR20230082352A - Apparatus and method for sharing data among multiple processors - Google Patents

Apparatus and method for sharing data among multiple processors Download PDF

Info

Publication number
KR20230082352A
KR20230082352A KR1020210170187A KR20210170187A KR20230082352A KR 20230082352 A KR20230082352 A KR 20230082352A KR 1020210170187 A KR1020210170187 A KR 1020210170187A KR 20210170187 A KR20210170187 A KR 20210170187A KR 20230082352 A KR20230082352 A KR 20230082352A
Authority
KR
South Korea
Prior art keywords
memory
processor
data
selection mode
present disclosure
Prior art date
Application number
KR1020210170187A
Other languages
Korean (ko)
Inventor
한승오
Original Assignee
한화에어로스페이스 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한화에어로스페이스 주식회사 filed Critical 한화에어로스페이스 주식회사
Priority to KR1020210170187A priority Critical patent/KR20230082352A/en
Publication of KR20230082352A publication Critical patent/KR20230082352A/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/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
    • G06F13/1663Access to shared memory
    • 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
    • G06F13/1657Access to multiple memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/167Interprocessor communication using a common memory, e.g. mailbox

Landscapes

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

Abstract

본 개시에 따르면, 멀티 프로세서 장치는 복수의 메모리들, 상기 복수의 메모리들에 저장된 데이터 기반하여 프로세스를 수행하는 복수의 프로세서들, 상기 복수의 메모리들에 대응되는 제1 포트들과 상기 복수의 프로세서들에 대응되는 제2 포트들을 포함하고, 메모리 선택 모드에 기반하여 상기 제1 포트들 중 하나의 포트와 상기 제2 포트들 중 하나의 포트를 연결하는 메모리 선택부를 포함한다.According to the present disclosure, a multi-processor device includes a plurality of memories, a plurality of processors that perform a process based on data stored in the plurality of memories, first ports corresponding to the plurality of memories, and the plurality of processors. and a memory selector configured to connect one of the first ports and one of the second ports based on a memory selection mode.

Figure P1020210170187
Figure P1020210170187

Description

복수의 프로세서들 사이에서 데이터를 공유하기 위한 장치 및 방법{APPARATUS AND METHOD FOR SHARING DATA AMONG MULTIPLE PROCESSORS}Apparatus and method for sharing data between a plurality of processors

본 개시(disclosure)는 일반적으로 복수의 프로세서들 사이에서 데이터를 공유하는 방법에 관한 것으로, 보다 구체적으로 복수의 프로세서들과 복수의 메모리들 사이의 연결 구조에 관한 연결 선택 모드를 조정하여, 복수의 프로세서들 사이에서 데이터를 공유하기 위한 장치 및 방법에 관한 것이다.The present disclosure generally relates to a method for sharing data between a plurality of processors, and more specifically, by adjusting a connection selection mode related to a connection structure between a plurality of processors and a plurality of memories, It relates to an apparatus and method for sharing data between processors.

멀티 프로세서 장치는 복수의 프로세서들을 이용하여 복수의 메모리들에 저장된 데이터를 처리하는 장치를 지시한다. 이를 위하여, 멀티 프로세서 장치에서 프로세서는 제어 라인이나 버스를 통해 메모리와 통신을 수행하고, 메모리에 저장된 데이터를 독출(read)하여 프로세스를 수행하거나, 메모리에 새로운 데이터를 기입(write)할 수 있다. 또한, 프로세서는 메모리 명령, 데이터 또는 명령의 판독 위치, 데이터나 명령들이 기록되어야 할 위치를 지정하는 어드레스에 관한 메모리 요청을 발행할 수 있다. 데이터는 명령이나 어드레스에 응답하여, 메모리와 프로세서 사이에서 전달될 수 있다. A multi-processor device refers to a device that processes data stored in a plurality of memories by using a plurality of processors. To this end, in a multi-processor device, a processor may communicate with a memory through a control line or a bus, read data stored in the memory to perform a process, or write new data to the memory. Additionally, the processor may issue a memory request for an address specifying a memory command, a location to read data or instructions, or a location to which data or instructions are to be written. Data may be transferred between the memory and the processor in response to commands or addresses.

멀티 프로세서 장치에 포함된 프로세서들은 상호 간에 데이터를 공유할 수 있다. 데이터 공유를 위하여, 종래에 따르면, 하나의 프로세서는 통신 칩을 이용하여 메모리에 저장된 데이터를 다른 프로세서에 송신함으로써 데이터를 공유하였다. 통신 칩을 이용한 공유 방식은 통신 칩 구성 추가에 따라 회로 구현이 복잡하였으며, 통신 칩의 데이터 송신에 지연에 따라 데이터 공유 효율이 낮은 문제가 있었다. 이에 대응하여, 최근 멀티 프로세서 장치에서 프로세서들 사이에서 데이터 공유의 효율을 증가시키기 위한 기술 개발이 요구되고 있다.Processors included in the multi-processor device may share data with each other. For data sharing, according to the related art, one processor shares data by transmitting data stored in a memory to another processor using a communication chip. In the sharing method using a communication chip, circuit implementation was complicated according to the addition of a communication chip configuration, and data sharing efficiency was low due to delay in data transmission of the communication chip. Correspondingly, in a multi-processor device, there is a demand for technology development for increasing the efficiency of data sharing between processors.

전술한 기술은 발명자가 본 발명의 도출을 위해 보유하고 있었거나, 본 발명의 도출 과정에서 습득한 기술 정보로서, 반드시 본 발명의 출원 전에 일반 공중에게 공개된 공지 기술을 지시하지 않는다.The foregoing technology is technical information that the inventor possessed for derivation of the present invention or acquired during the derivation process of the present invention, and does not necessarily indicate a known technology disclosed to the general public prior to filing the present invention.

상술한 바와 같은 논의를 바탕으로, 본 개시(disclosure)는 복수의 프로세서들 사이에서 데이터를 공유하기 위한 장치 및 방법을 제공한다.Based on the above discussion, the present disclosure provides an apparatus and method for sharing data among a plurality of processors.

또한, 본 개시는 복수의 프로세서들과 복수의 메모리들 사이의 연결 구조에 관한 연결 선택 모드를 이용하여, 복수의 프로세서들 사이에서 데이터를 공유하기 위한 장치 및 방법을 제공한다.In addition, the present disclosure provides an apparatus and method for sharing data between a plurality of processors by using a connection selection mode related to a connection structure between a plurality of processors and a plurality of memories.

또한, 본 개시는 복수의 프로세서들 각각이 복수의 메모리들에 동시에 액세스하여, 프로세스들을 독립적으로 수행하기 위한 장치 및 방법을 제공한다.In addition, the present disclosure provides an apparatus and method for independently performing processes by simultaneously accessing a plurality of memories by each of a plurality of processors.

본 개시의 다양한 실시 예들에 따르면, 멀티 프로세서 장치는 복수의 메모리들, 상기 복수의 메모리들에 저장된 데이터 기반하여 프로세스를 수행하는 복수의 프로세서들, 상기 복수의 메모리들에 대응되는 제1 포트들과 상기 복수의 프로세서들에 대응되는 제2 포트들을 포함하고, 메모리 선택 모드에 기반하여 상기 제1 포트들 중 하나의 포트와 상기 제2 포트들 중 하나의 포트를 연결하는 메모리 선택부를 포함할 수 있다.According to various embodiments of the present disclosure, a multi-processor device includes a plurality of memories, a plurality of processors that perform a process based on data stored in the plurality of memories, first ports corresponding to the plurality of memories, and It may include second ports corresponding to the plurality of processors, and a memory selection unit configured to connect one of the first ports and one of the second ports based on a memory selection mode. .

다른 일 실시 예에 따르면, 상기 복수의 프로세서들은 제1 프로세서와 제2 프로세서를 포함하고, 상기 복수의 메모리들은 제1 메모리와 제2 메모리를 포함하고, 상기 메모리 선택 모드는 제1 프로세서와 제1 메모리가 연결되고 제2 프로세서와 제2 메모리가 연결되는 제1 선택 모드, 제1 프로세서와 제2 메모리가 연결되고 제2 프로세서와 제1 메모리가 연결되는 제2 선택 모드 중 하나를 포함할 수 있다.According to another embodiment, the plurality of processors include a first processor and a second processor, the plurality of memories include a first memory and a second memory, and the memory selection mode includes the first processor and the first memory. It may include one of a first selection mode in which a memory is connected and the second processor and the second memory are connected, and a second selection mode in which the first processor and the second memory are connected and the second processor and the first memory are connected. .

다른 일 실시 예에 따르면, 상기 제1 프로세서는 상기 제1 선택 모드에서, 상기 제1 메모리에 저장된 제1 데이터를 독출하여 제1 프로세스를 수행하고, 상기 제1 메모리에 제2 데이터를 기입하고, 상기 메모리 선택 모드를 변경하기 위한 제어 신호를 상기 메모리 선택부로 전달하고, 상기 제2 선택 모드에서, 상기 제2 메모리에 저장된 제3 데이터를 독출하여 제2 프로세스를 수행할 수 있다.According to another embodiment, the first processor performs a first process by reading first data stored in the first memory in the first selection mode, writes second data in the first memory, A control signal for changing the memory selection mode may be transferred to the memory selection unit, and third data stored in the second memory may be read in the second selection mode to perform a second process.

다른 일 실시 예에 따르면, 상기 제2 프로세서는 상기 제2 선택 모드에서, 상기 제1 메모리에 저장된 제2 데이터를 독출하여 제3 프로세스를 수행하고, 상기 제1 메모리에 제3 데이터를 기입하고, 상기 메모리 선택 모드의 변경 여부를 식별하고, 상기 제1 선택 모드에서, 상기 제2 메모리에 저장된 상기 제2 데이터를 독출하여 상기 제3 프로세스를 수행하고, 상기 제2 메모리에 제3 데이터를 기입할 수 있다.According to another embodiment, the second processor performs a third process by reading the second data stored in the first memory in the second selection mode, and writes the third data in the first memory; It is to identify whether the memory selection mode is changed, to perform the third process by reading the second data stored in the second memory in the first selection mode, and to write the third data to the second memory. can

다른 일 실시 예에 따르면, 상기 제1 프로세서가 상기 제1 메모리를 이용하여 프로세스를 수행하는 중에, 상기 제2 프로세서는 상기 제2 메모리를 이용하여 프로세스를 수행할 수 있다.According to another embodiment, while the first processor performs a process using the first memory, the second processor may perform a process using the second memory.

다른 일 실시 예에 따르면, 상기 제1 프로세서와 상기 제2 프로세서 사이를 연결하는 추가 컨트롤 라인을 더 포함하고, 상기 제1 프로세서는 상기 추가 컨트롤 라인을 통해 상기 제2 프로세서의 프로세스 처리 상태를 확인하고, 상기 프로세스 처리 상태에 기반하여 상기 제1 프로세서의 처리 속도를 변경할 수 있다.According to another embodiment, an additional control line connecting between the first processor and the second processor is further included, wherein the first processor checks a process processing state of the second processor through the additional control line, and , The processing speed of the first processor may be changed based on the process processing state.

본 발명의 다양한 각각의 측면들 및 특징들은 첨부된 청구항들에서 정의된다. 종속 청구항들의 특징들의 조합들(combinations)은, 단지 청구항들에서 명시적으로 제시되는 것뿐만 아니라, 적절하게 독립항들의 특징들과 조합될 수 있다.Each of the various aspects and features of the invention are defined in the appended claims. Combinations of features of the dependent claims may be combined with features of the independent claims as appropriate, not just those explicitly set forth in the claims.

또한, 본 개시에 기술된 임의의 하나의 실시 예(any one embodiment) 중 선택된 하나 이상의 특징들은 본 개시에 기술된 임의의 다른 실시 예 중 선택된 하나 이상의 특징들과 조합될 수 있으며, 이러한 특징들의 대안적인 조합이 본 개시에 논의된 하나 이상의 기술적 문제를 적어도 부분적으로 경감시키거나, 본 개시로부터 통상의 기술자에 의해 식별될 수 있는(discernable) 기술적 문제를 적어도 부분적으로 경감시키고, 나아가 실시 예의 특징들(embodiment features)의 이렇게 형성된 특정한 조합(combination) 또는 순열(permutation)이 통상의 기술자에 의해 양립 불가능한(incompatible) 것으로 이해되지만 않는다면, 그 조합은 가능하다.In addition, one or more selected features of any one embodiment described in this disclosure may be combined with one or more selected features of any other embodiment described in this disclosure, and alternatives of such features The combination of the present disclosure at least partially alleviates one or more technical problems discussed in the present disclosure, or at least partially alleviates the technical problems discernable by a person skilled in the art from the present disclosure, and further features of the embodiments ( A particular combination or permutation so formed of embodiment features is possible, provided that it is not understood by a person skilled in the art to be incompatible.

본 개시에 기술된 임의의 예시 구현(any described example implementation)에 있어서 둘 이상의 물리적으로 별개의 구성 요소들은 대안적으로, 그 통합이 가능하다면 단일 구성 요소로 통합될 수도 있으며, 그렇게 형성된 단일한 구성 요소에 의해 동일한 기능이 수행된다면, 그 통합은 가능하다. 반대로, 본 개시에 기술된 임의의 실시 예(any embodiment)의 단일한 구성 요소는 대안적으로, 적절한 경우, 동일한 기능을 달성하는 둘 이상의 별개의 구성 요소들로 구현될 수도 있다.In any described example implementation, two or more physically separate components may alternatively be integrated into a single component, where such integration is possible, and a single component so formed If the same function is performed by , the integration is possible. Conversely, a single component in any embodiment described in this disclosure may alternatively be implemented as two or more separate components that achieve the same function, where appropriate.

본 발명의 특정 실시 예들(certain embodiments)의 목적은 종래 기술과 관련된 문제점 및/또는 단점들 중 적어도 하나를, 적어도 부분적으로, 해결, 완화 또는 제거하는 것에 있다. 특정 실시 예들(certain embodiments)은 후술하는 장점들 중 적어도 하나를 제공하는 것을 목적으로 한다.It is an object of certain embodiments of the present invention to address, mitigate, or eliminate, at least in part, at least one of the problems and/or disadvantages associated with the prior art. Certain embodiments aim to provide at least one of the advantages described below.

본 개시의 다양한 실시 예들에 따른 장치 및 방법은 복수의 프로세서들과 복수의 메모리들 사이의 연결 구조에 관한 연결 선택 모드를 이용함으로써, 복수의 프로세서들 사이에서 데이터를 공유할 수 있게 한다.An apparatus and method according to various embodiments of the present disclosure enable data to be shared between a plurality of processors by using a connection selection mode related to a connection structure between a plurality of processors and a plurality of memories.

또한, 본 개시의 다양한 실시 예들에 따른 장치 및 방법은 복수의 프로세서들 각각이 복수의 메모리들에 동시에 액세스함으로써, 복수의 프로세스들을 독립적으로 수행할 수 있게 한다.Also, the apparatus and method according to various embodiments of the present disclosure enable each of a plurality of processors to independently perform a plurality of processes by simultaneously accessing a plurality of memories.

또한, 본 개시의 다양한 실시 예들에 따른 장치 및 방법은 복수의 프로세서들과 복수의 메모리들 사이의 연결 구조에 관한 연결 선택 모드를 이용함으로써, 프로세서에 가해지는 부하를 감소시킬 수 있게 한다.Also, an apparatus and method according to various embodiments of the present disclosure may reduce a load applied to a processor by using a connection selection mode related to a connection structure between a plurality of processors and a plurality of memories.

또한, 본 개시의 다양한 실시 예들에 따른 장치 및 방법은 복수의 프로세서들이 독립적으로 프로세스를 수행함으로써, 멀티 프로세서 장치의 데이터 공유 속도 및 공유 효율을 증가시킬 수 있게 한다.In addition, the apparatus and method according to various embodiments of the present disclosure enable a plurality of processors to independently perform a process, thereby increasing data sharing speed and sharing efficiency of a multi-processor device.

본 개시에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.Effects obtainable in the present disclosure are not limited to the effects mentioned above, and other effects not mentioned may be clearly understood by those skilled in the art from the description below. will be.

도 1은 종래에 따른 멀티 프로세서 장치의 일 예를 도시한다.
도 2는 본 개시의 다양한 실시 예들에 따른 멀티 프로세서 장치의 구성을 도시한다.
도 3은 본 개시의 다양한 실시 예들에 따른 멀티 프로세서 장치의 구성을 도시한다.
도 4는 본 개시의 다양한 실시 예들에 따른 멀티 프로세서 장치의 동작 방법에 관한 모식도를 도시한다.
도 5는 본 개시의 다양한 실시 예들에 따른 멀티 프로세서 장치의 다른 일 예를 도시한다.
도 6은 본 개시의 다양한 실시 예들에 따른 멀티 프로세서 장치에서, 제1 프로세서의 동작 방법에 관한 흐름도를 도시한다.
도 7은 본 개시의 다양한 실시 예들에 따른 멀티 프로세서 장치에서, 제2 프로세서의 동작 방법에 관한 흐름도를 도시한다.
1 shows an example of a conventional multi-processor device.
2 illustrates a configuration of a multi-processor device according to various embodiments of the present disclosure.
3 illustrates a configuration of a multi-processor device according to various embodiments of the present disclosure.
4 illustrates a schematic diagram of a method of operating a multi-processor device according to various embodiments of the present disclosure.
5 illustrates another example of a multi-processor device according to various embodiments of the present disclosure.
6 is a flowchart illustrating a method of operating a first processor in a multi-processor device according to various embodiments of the present disclosure.
7 is a flowchart illustrating a method of operating a second processor in a multi-processor device according to various embodiments of the present disclosure.

본 개시에서 사용되는 용어들은 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 다른 실시 예의 범위를 한정하려는 의도가 아닐 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 용어들은 본 개시에 기재된 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가질 수 있다. 본 개시에 사용된 용어들 중 일반적인 사전에 정의된 용어들은, 관련 기술의 문맥상 가지는 의미와 동일 또는 유사한 의미로 해석될 수 있으며, 본 개시에서 명백하게 정의되지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다. 경우에 따라서, 본 개시에서 정의된 용어일지라도 본 개시의 실시 예들을 배제하도록 해석될 수 없다.Terms used in the present disclosure are only used to describe a specific embodiment, and may not be intended to limit the scope of other embodiments. Singular expressions may include plural expressions unless the context clearly dictates otherwise. Terms used herein, including technical or scientific terms, may have the same meaning as commonly understood by one of ordinary skill in the art described in this disclosure. Among the terms used in the present disclosure, terms defined in a general dictionary may be interpreted as having the same or similar meaning as the meaning in the context of the related art, and unless explicitly defined in the present disclosure, an ideal or excessively formal meaning. not be interpreted as In some cases, even terms defined in the present disclosure cannot be interpreted to exclude embodiments of the present disclosure.

이하에서 설명되는 본 개시의 다양한 실시 예들에서는 하드웨어적인 접근 방법을 예시로서 설명한다. 하지만, 본 개시의 다양한 실시 예들에서는 하드웨어와 소프트웨어를 모두 사용하는 기술을 포함하고 있으므로, 본 개시의 다양한 실시 예들이 소프트웨어 기반의 접근 방법을 제외하는 것은 아니다.In various embodiments of the present disclosure described below, a hardware access method is described as an example. However, since various embodiments of the present disclosure include technology using both hardware and software, various embodiments of the present disclosure do not exclude software-based access methods.

이하 본 개시는 복수의 프로세서(processor)들 사이에서 데이터를 공유하기 위한 장치 및 방법에 관한 것이다. 구체적으로, 본 개시는 복수의 프로세서들과 복수의 메모리들 사이의 연결 구조에 관한 연결 선택 모드를 이용하여, 복수의 프로세서들 사이에서 데이터를 공유하기 위한 기술을 설명한다.Hereinafter, the present disclosure relates to an apparatus and method for sharing data between a plurality of processors. Specifically, the present disclosure describes a technique for sharing data between a plurality of processors using a connection selection mode related to a connection structure between a plurality of processors and a plurality of memories.

아래에서는 첨부한 도면을 참조하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 다양한 실시예들을 상세히 설명한다. 그러나 본 개시의 기술적 사상은 다양한 형태로 변형되어 구현될 수 있으므로 본 명세서에서 설명하는 실시예들로 제한되지 않는다. 본 명세서에 개시된 실시예들을 설명함에 있어서 관련된 공지 기술을 구체적으로 설명하는 것이 본 개시의 기술적 사상의 요지를 흐릴 수 있다고 판단되는 경우 그 공지 기술에 대한 구체적인 설명을 생략한다. 동일하거나 유사한 구성요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.Hereinafter, various embodiments will be described in detail so that those skilled in the art can easily implement the present disclosure with reference to the accompanying drawings. However, since the technical spirit of the present disclosure may be implemented in various forms, it is not limited to the embodiments described herein. In describing the embodiments disclosed in this specification, if it is determined that a detailed description of a related known technology may obscure the gist of the technical idea of the present disclosure, a detailed description of the known technology will be omitted. The same or similar components are assigned the same reference numerals, and duplicate descriptions thereof will be omitted.

본 명세서에서 어떤 요소가 다른 요소와 "연결"되어 있다고 기술될 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라 그 중간에 다른 요소를 사이에 두고 "간접적으로 연결"되어 있는 경우도 포함한다. 어떤 요소가 다른 요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 요소 외에 또 다른 요소를 배제하는 것이 아니라 또 다른 요소를 더 포함할 수 있는 것을 의미한다.In this specification, when an element is described as being “connected” to another element, this includes not only the case of being “directly connected” but also the case of being “indirectly connected” with another element intervening therebetween. When an element "includes" another element, this means that it may further include another element without excluding another element in addition to the other element unless otherwise stated.

일부 실시예들은 기능적인 블록 구성들 및 다양한 처리 단계들로 설명될 수 있다. 이러한 기능 블록들의 일부 또는 전부는 특정 기능을 실행하는 다양한 개수의 하드웨어 및/또는 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 본 개시의 기능 블록들은 하나 이상의 마이크로프로세서들에 의해 구현되거나, 소정의 기능을 위한 회로 구성들에 의해 구현될 수 있다. 본 개시의 기능 블록들은 다양한 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 본 개시의 기능 블록들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 본 개시의 기능 블록이 수행하는 기능은 복수의 기능 블록에 의해 수행되거나, 본 개시에서 복수의 기능 블록이 수행하는 기능들은 하나의 기능 블록에 의해 수행될 수도 있다. 또한, 본 개시는 전자적인 환경 설정, 신호 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다.Some embodiments may be described as functional block structures and various processing steps. Some or all of these functional blocks may be implemented with any number of hardware and/or software components that perform a particular function. For example, functional blocks of the present disclosure may be implemented by one or more microprocessors or circuit configurations for a predetermined function. The functional blocks of this disclosure may be implemented in a variety of programming or scripting languages. The functional blocks of this disclosure may be implemented as an algorithm running on one or more processors. The functions performed by the function blocks of the present disclosure may be performed by a plurality of function blocks, or the functions performed by the plurality of function blocks in the present disclosure may be performed by one function block. In addition, the present disclosure may employ prior art for electronic environment setting, signal processing, and/or data processing.

또한, 본 개시에서, 특정 조건의 만족(satisfied), 충족(fulfilled) 여부를 판단하기 위해, 초과 또는 미만의 표현이 사용되었으나, 이는 일 예를 표현하기 위한 기재일 뿐 이상 또는 이하의 기재를 배제하는 것이 아니다. '이상'으로 기재된 조건은 '초과', '이하'로 기재된 조건은 '미만', '이상 및 미만'으로 기재된 조건은 '초과 및 이하'로 대체될 수 있다. 이하 사용되는 '…부', '…기' 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어, 또는, 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. In addition, in the present disclosure, the expression of more than or less than is used to determine whether a specific condition is satisfied or fulfilled, but this is only a description to express an example and excludes more or less description. It's not about doing it. Conditions described as 'above' may be replaced with 'exceeds', conditions described as 'below' may be replaced with 'below', and conditions described as 'above and below' may be replaced with 'above and below'. '...' is used below. wealth', '… A term such as 'group' refers to a unit that processes at least one function or operation, and may be implemented as hardware, software, or a combination of hardware and software.

도 1은 종래에 따른 멀티 프로세서 장치(100)의 일 예를 도시한다. 1 shows an example of a multi-processor device 100 according to the prior art.

컴퓨팅 장치 내에 기판(board)은 프로세서, 메모리, 및 프로세서와 메모리를 연결시키는 접속 라인을 포함하는 프로세싱부로 구현될 수 있다. 프로세싱부 내의 프로세서는 접속 라인을 통하여 메모리에 저장된 데이터를 독출(read)하여 프로세스(process)를 수행하거나, 메모리에 새로운 데이터를 기입(write)할 수 있다. 또한, 프로세서는 통신 칩을 이용하여 데이터를 외부로 송신하거나 외부로부터 데이터를 수신할 수 있다.A board in a computing device may be implemented as a processing unit including a processor, a memory, and a connection line connecting the processor and the memory. A processor in the processing unit may read data stored in the memory through a connection line to perform a process or write new data to the memory. Also, the processor may transmit data to the outside or receive data from the outside using the communication chip.

멀티 프로세서 장치(100)는 기판에 복수의 프로세서들이 구비되는 컴퓨팅 장치를 지시한다. 멀티 프로세서 장치(100)는 복수의 프로세싱부들을 포함할 수 있고, 복수의 프로세싱부들은 서로 다른 프로세스를 수행할 수 있다. 도 1을 참고하면, 멀티 프로세서 장치(100)의 제1 프로세싱부는 제1 프로세서(111), 제1 메모리(113), 및 제1 통신 칩(115)을 포함할 수 있고, 제2 프로세싱부는 제2 프로세서(161), 제2 메모리(163), 및 제2 통신 칩(165)을 포함할 수 있다. 제1 프로세서(111)는 데이터나 명령들이 기록되어야 할 위치를 지정하는 어드레스에 정보를 공유하는 어드레스 버스, 데이터들이 공유되는 데이터 버스, 및 프로세싱부의 전반적인 동작을 제어하기 위한 컨트롤 라인을 통해 제1 메모리(113)와 제1 통신 칩(115)과 연결될 수 있다. 마찬가지로, 제2 프로세서(161)는 어드레스 버스, 데이터 버스, 및 컨트롤 라인을 통해 제2 메모리(163)와 제2 통신 칩(165)과 연결될 수 있다.The multi-processor device 100 refers to a computing device in which a plurality of processors are provided on a board. The multi-processor device 100 may include a plurality of processing units, and the plurality of processing units may perform different processes. Referring to FIG. 1 , the first processing unit of the multi-processor device 100 may include a first processor 111, a first memory 113, and a first communication chip 115, and the second processing unit It may include 2 processors 161, a second memory 163, and a second communication chip 165. The first processor 111 is a first memory through an address bus for sharing information at an address designating a location where data or instructions are to be written, a data bus for sharing data, and a control line for controlling the overall operation of the processing unit. (113) and the first communication chip (115) may be connected. Similarly, the second processor 161 may be connected to the second memory 163 and the second communication chip 165 through an address bus, a data bus, and a control line.

복수의 프로세서들이 대용량 데이터의 실시간으로 병렬 처리를 수행함에 있어, 멀티 프로세서 장치(100)는 복수의 프로세서들 사이에서 대용량 데이터를 공유할 수 있다. 이를 위하여, 멀티 프로세서 장치(100) 내의 프로세서 각각은 복수의 메모리들에 액세스하고, 메모리에 저장된 데이터를 이용하여 프로세스를 수행할 수 있다. When a plurality of processors perform parallel processing of large amounts of data in real time, the multi-processor device 100 may share large amounts of data among the plurality of processors. To this end, each processor in the multi-processor device 100 may access a plurality of memories and perform a process using data stored in the memories.

도 1을 참고하면, 제1 프로세서(111)는 어드레스 버스, 데이터 버스 및 컨트롤 라인을 이용하여 제1 메모리(113)에 액세스할 수 있다. 그러나, 제1 프로세서(111)는 제2 메모리(163)와 버스나 라인을 통하여 연결되어 있지 않기 때문에, 제1 프로세서(111)가 제2 메모리(163)에 액세스 하기 위하여는 제1 통신 칩(115)을 이용하여 데이터를 수신하여야 한다. 즉, 제1 프로세서(111)와 제2 프로세서(161)가 데이터를 공유하기 위하여, 제2 메모리(163)에 저장된 데이터는 제2 프로세서(161)의 제어에 따라 제2 통신 칩(165)으로 전달되고, 이더넷, 시리얼, CAN(controller area network)와 같은 데이터 통신에 따라 제1 통신 칩(115)으로 수신된다. 제1 통신 칩(115)으로 전달된 데이터는 제1 프로세서(111)의 제어에 따라 제1 메모리(113)로 전달될 수 있다. Referring to FIG. 1 , the first processor 111 may access the first memory 113 using an address bus, a data bus, and a control line. However, since the first processor 111 is not connected to the second memory 163 through a bus or line, in order for the first processor 111 to access the second memory 163, the first communication chip ( 115) to receive data. That is, in order for the first processor 111 and the second processor 161 to share data, the data stored in the second memory 163 is transferred to the second communication chip 165 under the control of the second processor 161. It is transmitted and received by the first communication chip 115 according to data communication such as Ethernet, serial, and CAN (controller area network). Data transferred to the first communication chip 115 may be transferred to the first memory 113 under the control of the first processor 111 .

종래와 같이 프로세서들 사이에 서 데이터를 공유하는 과정에서 프로세서 각각에 대응되는 통신 칩을 이용하는 경우, 데이터 전송을 위해 통신 효율이 감소하는 문제가 있었다. 즉, 통신 칩이 데이터를 처리하는 과정에서 통신 시간이 길어지고, 데이터 통신에 프로세서가 관여함에 따라 프로세서에 가해지는 부하가 높아 데이터를 처리할 프로세서의 연산 속도가 감소하여, 데이터 공유 효율이 낮았다.In the case of using a communication chip corresponding to each processor in the process of sharing data between processors as in the prior art, there is a problem in that communication efficiency decreases for data transmission. That is, while the communication chip processes data, the communication time increases, and as the processor participates in data communication, the load applied to the processor increases, reducing the calculation speed of the processor to process the data, resulting in low data sharing efficiency.

이 외의 데이터 공유 방법으로, 접속 라인에 DMA(direct memory access)가 추가로 연결되고, 프로세서 대신 DMA가 데이터를 공유하도록 제어하는 방법이 있다. 이 경우, 프로세서에 가해지는 부하가 감소되지만, 여전히 통신 칩을 이용하는 점에서 데이터 처리 지연이 발생하는 문제가 있었다. As another data sharing method, there is a method in which a direct memory access (DMA) is additionally connected to a connection line and the DMA is controlled to share data instead of a processor. In this case, although the load applied to the processor is reduced, there is a problem in that data processing delay occurs in that the communication chip is still used.

또한, 복수의 접속 라인들에 공통으로 연결되는 듀얼 포트 SRAM(static random access memory)을 추가하는 방법이 있었으나, 듀얼 포트 SRAM 소자가 소용량으로 대용량을 구현되면 다수의 메모리들이 필요하고, 그에 따라 회로가 복잡하여 비용이 증가하는 문제가 있었다.In addition, there has been a method of adding a dual-port SRAM (static random access memory) commonly connected to a plurality of connection lines, but when a dual-port SRAM device is implemented with a small capacity and a large capacity, a plurality of memories are required, and accordingly, the circuit There was a problem of complexity and increased cost.

또한, 프로세싱부들의 접속 라인을 통합하는 방법으로서, 하나의 공통 접속 라인에 복수의 프로세서들과 복수의 메모리들이 연결되는 방법의 경우, 제1 프로세서가 공통 접속 라인을 점유하는 경우 제2 프로세서가 공통 접속 라인에 접속할 수 없어, 복수의 프로세서들의 연산 처리 효율이 감소되는 문제가 있었다.In addition, as a method of integrating connection lines of processing units, in the case of a method in which a plurality of processors and a plurality of memories are connected to one common connection line, when the first processor occupies the common connection line, the second processor Since the connection line cannot be connected, there is a problem in that arithmetic processing efficiency of a plurality of processors is reduced.

도 2는 본 개시의 다양한 실시 예들에 따른 멀티 프로세서 장치(290)의 구성(200)을 도시한다. 구체적으로, 도 2는 본 개시에 따른 멀티 프로세서 장치(290)의 메모리 선택 모드의 일 예를 도시한다.2 illustrates a configuration 200 of a multi-processor device 290 according to various embodiments of the present disclosure. Specifically, FIG. 2 illustrates an example of a memory selection mode of the multi-processor device 290 according to the present disclosure.

도 2를 참고하면, 멀티 프로세서 장치(290)는 복수의 프로세서들이 복수의 메모리들에 액세스하여 프로세스를 수행하는 장치를 지시한다. 도 2를 참고하면, 멀티 프로세서 장치(290)에서 복수의 프로세서들과 복수의 메모리들은 접속 라인에 연결될 수 있다. 본 개시의 일 실시 예에 따르면, 접속 라인은 어드레스 버스, 데이터 버스, 컨트롤 라인 중 적어도 하나를 포함할 수 있다. 복수의 프로세서들 중 하나의 프로세서는 접속 라인을 통하여, 복수의 메모리들 중 하나의 메모리와 연결될 수 있고, 메모리에 저장된 데이터에 기반하여 프로세스를 수행할 수 있다. 여기서, 멀티 프로세서 장치(290)는 메모리 선택 핀을 이용하여 복수의 프로세서들과 메모리들의 연결 관계를 조정할 수 있다. 도 2를 참고하면, 멀티 프로세서 장치(290)는 제1 프로세서 내지 제2 프로세서(211 내지 212), 제1 메모리 내지 제2 메모리(231 내지 232), 메모리 선택부(251)를 포함할 수 있다. 도 2는 프로세서의 개수와 메모리의 개수가 각각 두 개인 경우를 예시하지만, 프로세서의 개수와 메모리의 개수는 사용자의 설계에 따라 변경될 수 있다.Referring to FIG. 2 , a multi-processor device 290 refers to a device in which a plurality of processors access a plurality of memories to perform processes. Referring to FIG. 2 , in the multi-processor device 290, a plurality of processors and a plurality of memories may be connected to a connection line. According to an embodiment of the present disclosure, the connection line may include at least one of an address bus, a data bus, and a control line. One of the plurality of processors may be connected to one of the plurality of memories through a connection line, and may perform a process based on data stored in the memory. Here, the multi-processor device 290 may adjust a connection relationship between a plurality of processors and memories using a memory selection pin. Referring to FIG. 2 , the multi-processor device 290 may include first and second processors 211 to 212, first and second memories 231 to 232, and a memory selector 251. . 2 illustrates a case in which the number of processors and the number of memories are two, respectively, the number of processors and the number of memories may be changed according to a user's design.

제1 프로세서(211)와 제2 프로세서(212)는 데이터를 공유하는 주체를 지시한다. 제1 프로세서(211)와 제2 프로세서(212) 각각은 멀티 프로세서 장치(290)에 배치된 메모리에 액세스 하여 프로세스를 수행하는 기능을 수행할 수 있다. 본 개시의 일 실시 예에 따르면, 제1 프로세서(211)와 제2 프로세서(212) 각각은 접속 라인을 통해 제1 메모리(231) 또는 제2 메모리(232)에 연결되어 데이터를 처리할 수 있다. 또한, 제1 프로세서(211)와 제2 프로세서(212)는 제1 메모리(231) 또는 제2 메모리(232)를 이용하여 데이터를 서로 공유할 수 있다.The first processor 211 and the second processor 212 indicate a subject sharing data. Each of the first processor 211 and the second processor 212 may perform a function of accessing a memory disposed in the multi-processor device 290 and performing a process. According to an embodiment of the present disclosure, each of the first processor 211 and the second processor 212 may be connected to the first memory 231 or the second memory 232 through a connection line to process data. . Also, the first processor 211 and the second processor 212 may share data with each other using the first memory 231 or the second memory 232 .

제1 메모리(231)와 제2 메모리(232)는 데이터를 저장하는 기능을 수행한다. 제1 메모리(231)와 제2 메모리(232)는 접속 라인을 통해 제1 프로세서(211)나 제2 프로세서(212)에 연결되어 데이터를 제공할 수 있다. The first memory 231 and the second memory 232 perform a function of storing data. The first memory 231 and the second memory 232 may be connected to the first processor 211 or the second processor 212 through a connection line to provide data.

메모리 선택부(251)는 프로세서들과 메모리들 사이의 연결 관계를 조정하는 기능을 수행한다. 메모리 선택부(251)는 FPGA(field programmable gate array), 멀티플렉서(multiplexer)로 구현될 수 있고, 복수의 프로세서들과 메모리들 사이의 연결 관계를 조정할 수 있다. 또한, 메모리 선택부(251)는 메모리 선택 신호를 송수신하기 위한 메모리 선택 라인을 통해 프로세서들과 연결될 수 있다. 프로세서들은 메모리 선택 라인을 통해 메모리 선택부(251)에 메모리 선택 신호를 송수신 하고, 메모리 선택부(251)는 수신 신호에 대응하여 메모리 선택 모드를 결정할 수 있다. 이후, 메모리 선택부(251)는 메모리 선택 핀을 이용하여 프로세서와 메모리 사이의 연결 관계를 조정할 수 있다.The memory selection unit 251 performs a function of adjusting a connection relationship between processors and memories. The memory selector 251 may be implemented as a field programmable gate array (FPGA) or multiplexer, and may adjust a connection relationship between a plurality of processors and memories. Also, the memory selector 251 may be connected to the processors through a memory select line for transmitting and receiving a memory select signal. Processors may transmit and receive memory selection signals to and from the memory selection unit 251 through memory selection lines, and the memory selection unit 251 may determine a memory selection mode in response to the received signal. After that, the memory selector 251 may adjust a connection relationship between the processor and the memory using the memory select pin.

본 개시의 일 실시 예에 따르면, 메모리 선택부(251)는 복수의 메모리들 각각에 연결되는 제1 포트들(262, 264)과 복수의 프로세서들 각각에 연결되는 제2 포트들(261, 263), 및 메모리 선택 핀(미도시)을 포함할 수 있다. 메모리 선택부(251)는 메모리 선택 라인을 통해 수신한 제어 신호에 기반하여, 메모리 선택 모드를 결정할 수 있다. According to an embodiment of the present disclosure, the memory selector 251 includes first ports 262 and 264 connected to each of a plurality of memories and second ports 261 and 263 connected to each of a plurality of processors. ), and a memory selection pin (not shown). The memory selection unit 251 may determine a memory selection mode based on a control signal received through a memory selection line.

본 개시의 일 실시 예에 따르면, 제1 프로세서(211)는 제2 프로세서(212)에 데이터를 공유할 수 있다. 이에 따라, 제1 프로세서(211)는 메모리 선택 모드를 변경하기 위한 제어 신호를 생성할 수 있고, 제2 프로세서(212)는 메모리 선택 모드의 변경 여부를 검출할 수 있다. 여기서, 메모리 선택 모드는 제1 프로세서(211)와 제1 메모리(231)가 연결되고 제2 프로세서(212)와 제2 메모리(232)가 연결되는 제1 선택 모드, 제1 프로세서(211)와 제2 메모리(232)가 연결되고 제2 프로세서(212)와 제1 메모리(231)가 연결되는 제2 선택 모드를 포함할 수 있다. 도 2는 메모리 선택 모드가 제1 선택 모드인 경우를 예시한다. According to an embodiment of the present disclosure, the first processor 211 may share data with the second processor 212 . Accordingly, the first processor 211 may generate a control signal for changing the memory selection mode, and the second processor 212 may detect whether the memory selection mode is changed. Here, the memory selection mode is a first selection mode in which the first processor 211 and the first memory 231 are connected and the second processor 212 and the second memory 232 are connected. A second selection mode in which the second memory 232 is connected and the second processor 212 and the first memory 231 are connected may be included. 2 illustrates a case where the memory selection mode is the first selection mode.

본 개시의 일 실시 예에 따르면, 메모리 선택부(251)는 메모리 선택 핀의 상태가 로우(low)인 경우, 메모리 선택 모드를 제1 선택 모드로 결정할 수 있다. 이 때 로우 신호는 보다 구체적으로 0[V](논리적 0)일 수 있다. 메모리 선택부(251)는 포트 A(262)와 포트 C(261)를 연결하고, 포트 B(264)와 포트 D(263)을 연결할 수 있다. 이에 따라, 제1 프로세서(211)는 제1 메모리(231)에 연결되어, 제1 메모리(231)에 저장된 데이터에 기반하여 프로세스를 수행할 수 있다. 제2 프로세서(212)는 제2 메모리(232)에 연결되어, 제2 메모리(232)에 저장된 데이터에 기반하여 프로세스를 수행할 수 있다. 여기서, 제1 프로세서(211)의 제1 메모리(231)에 관한 액세스와 제2 프로세서(212)의 제2 메모리(232)에 관한 액세스는 독립적으로 수행될 수 있고, 동시에 수행될 수 있다.According to an embodiment of the present disclosure, the memory selection unit 251 may determine the memory selection mode as the first selection mode when the state of the memory selection pin is low. At this time, the low signal may be more specifically 0 [V] (logical 0). The memory selector 251 may connect port A 262 and port C 261 and connect port B 264 and port D 263 . Accordingly, the first processor 211 may be connected to the first memory 231 and perform a process based on data stored in the first memory 231 . The second processor 212 may be connected to the second memory 232 and perform a process based on data stored in the second memory 232 . Here, the access to the first memory 231 of the first processor 211 and the access to the second memory 232 of the second processor 212 may be performed independently or concurrently.

도 3은 본 개시의 다양한 실시 예들에 따른 멀티 프로세서 장치(290)의 구성(300)을 도시한다. 구체적으로, 도 3은 본 개시에 따른 멀티 프로세서 장치(290)의 메모리 선택 모드의 다른 일 예를 도시한다.3 illustrates a configuration 300 of a multi-processor device 290 according to various embodiments of the present disclosure. Specifically, FIG. 3 illustrates another example of a memory selection mode of the multi-processor device 290 according to the present disclosure.

도 3을 참고하면, 멀티 프로세서 장치(290)에서 복수의 프로세서들과 복수의 메모리들은 접속 라인에 연결될 수 있다. 복수의 프로세서들 중 하나의 프로세서는 접속 라인을 통하여 복수의 메모리들 중 하나의 메모리와 연결될 수 있고, 메모리에 저장된 데이터에 기반하여 프로세스를 수행할 수 있다.Referring to FIG. 3 , in the multi-processor device 290, a plurality of processors and a plurality of memories may be connected to a connection line. One of the plurality of processors may be connected to one of the plurality of memories through a connection line, and may perform a process based on data stored in the memory.

제1 프로세서(211)와 제2 프로세서(212)는 데이터를 공유하는 주체로서, 멀티 프로세서 장치(290)에 배치된 메모리에 액세스 하여 프로세스를 수행하는 기능을 수행할 수 있다. 제1 메모리(231)와 제2 메모리(232)는 접속 라인을 통해 제1 프로세서(211)나 제2 프로세서(212)에 연결되어 데이터를 제공할 수 있다. The first processor 211 and the second processor 212 are entities that share data, and may perform a function of accessing a memory disposed in the multi-processor device 290 and performing a process. The first memory 231 and the second memory 232 may be connected to the first processor 211 or the second processor 212 through a connection line to provide data.

메모리 선택부(251)는 복수의 프로세서들과 메모리들 사이의 연결 관계를 조정할 수 있다. 메모리 선택부(251)는 메모리 선택 라인을 통해 프로세서들과 연결될 수 있고, 메모리 선택 신호에 대응하여 메모리 선택 모드를 결정할 수 있다. 이후, 메모리 선택부(251)는 메모리 선택 핀을 이용하여 프로세서와 메모리 사이의 연결 관계를 조정할 수 있다.The memory selector 251 may adjust a connection relationship between a plurality of processors and memories. The memory selection unit 251 may be connected to processors through a memory selection line, and may determine a memory selection mode in response to a memory selection signal. After that, the memory selector 251 may adjust a connection relationship between the processor and the memory using the memory select pin.

본 개시의 일 실시 예에 따르면, 메모리 선택 모드는 제1 프로세서(211)와 제1 메모리(231)가 연결되고 제2 프로세서(212)와 제2 메모리(232)가 연결되는 제1 선택 모드, 제1 프로세서(211)와 제2 메모리(232)가 연결되고 제2 프로세서(212)와 제1 메모리(231)가 연결되는 제2 선택 모드를 포함할 수 있다. 도 3은 메모리 선택 모드가 제2 선택 모드인 경우를 예시한다. According to an embodiment of the present disclosure, the memory selection mode is a first selection mode in which the first processor 211 and the first memory 231 are connected and the second processor 212 and the second memory 232 are connected; A second selection mode in which the first processor 211 and the second memory 232 are connected and the second processor 212 and the first memory 231 are connected may be included. 3 illustrates a case where the memory selection mode is the second selection mode.

본 개시의 일 실시 예에 따르면, 메모리 선택부(251)는 메모리 선택 핀의 상태가 하이(high)인 경우, 메모리 선택 모드를 제2 선택 모드로 결정할 수 있다. 이 때 하이 신호는 보다 구체적으로 5[V](논리적 1)일 수 있다. 메모리 선택부(251)는 포트 A(262)와 포트 D(263)를 연결하고, 포트 B(264)와 포트 C(261)를 연결할 수 있다. 이에 따라, 제1 프로세서(211)는 제2 메모리(232)에 연결되어, 제2 메모리(232)에 저장된 데이터에 기반하여 프로세스를 수행할 수 있다. 제2 프로세서(212)는 제1 메모리(231)에 연결되어, 제1 메모리(231)에 저장된 데이터에 기반하여 프로세스를 수행할 수 있다. 여기서, 제1 프로세서(211)의 제2 메모리(232)에 관한 액세스와 제2 프로세서(212)의 제1 메모리(231)에 관한 액세스는 독립적으로 수행될 수 있고, 동시에 수행될 수 있다.According to an embodiment of the present disclosure, the memory selection unit 251 may determine the memory selection mode as the second selection mode when the state of the memory selection pin is high. At this time, the high signal may be more specifically 5 [V] (logical 1). The memory selector 251 may connect port A 262 and port D 263 and connect port B 264 and port C 261 . Accordingly, the first processor 211 may be connected to the second memory 232 and perform a process based on data stored in the second memory 232 . The second processor 212 may be connected to the first memory 231 and perform a process based on data stored in the first memory 231 . Here, the access to the second memory 232 of the first processor 211 and the access to the first memory 231 of the second processor 212 may be performed independently or concurrently.

도 4는 본 개시의 다양한 실시 예들에 따른 멀티 프로세서 장치(290)의 동작 방법에 관한 모식도(400)를 도시한다.4 illustrates a schematic diagram 400 of a method of operating a multi-processor device 290 according to various embodiments of the present disclosure.

도 4를 참고하면, 멀티 프로세서 장치(290)는 미리 설정된 주기로 프로세스를 수행한다. 즉, 멀티 프로세서 장치(290)는 미리 설정된 주기마다 인터럽트를 발생시키고, 인터럽트에 맞추어 데이터를 처리할 수 있다. 본 개시의 일 실시 예에 따르면, 제1 프로세서(211)는 제1 주기(411)와 제2 주기(413)에서 제1 데이터를 수신하고, 제1 프로세스를 수행할 수 있다. 본 개시의 일 실시 예에 따르면, 인터럽트 신호는 100ms의 주기로 발생할 수 있다.Referring to FIG. 4 , the multi-processor device 290 performs a process at preset cycles. That is, the multi-processor device 290 may generate an interrupt at each preset period and process data according to the interrupt. According to an embodiment of the present disclosure, the first processor 211 may receive first data in the first cycle 411 and the second cycle 413 and perform a first process. According to an embodiment of the present disclosure, the interrupt signal may be generated with a cycle of 100 ms.

또한, 메모리 선택 핀의 상태에 기반하여 프로세서들과 메모리들 사이의 연결이 변경될 수 있다. 본 개시의 일 실시 예에 따르면, 제1 프로세서(211)는 제1 시각(421)에서, 메모리 선택 모드를 제1 선택 모드로 변경하기 위한 제어 신호를 메모리 선택부(251)로 송신할 수 있다. 그에 따라, 제1 시각(421)에서 메모리 선택 핀의 상태가 0으로 전환되고, 제2 시각(422)에서 제2 프로세서(212)는 메모리 선택 모드의 변경을 검출할 수 있다. 동일한 방법으로, 제1 프로세서(211)는 제3 시각(423)에서, 메모리 선택 모드를 제2 선택 모드로 변경하기 위한 제어 신호를 메모리 선택부(251)로 송신할 수 있다. 그에 따라, 제3 시각(423)에서 메모리 선택 핀의 상태가 1로 전환되고, 제4 시각(424)에서 제2 프로세서(212)는 메모리 선택 모드의 변경을 검출할 수 있다. 동일한 방법으로, 제1 프로세서(211)는 제5 시각(425)에서, 메모리 선택 모드를 제1 선택 모드로 변경하기 위한 제어 신호를 메모리 선택부(251)로 송신할 수 있다. 그에 따라, 제5 시각(425)에서 메모리 선택 핀의 상태가 0으로 전환되고, 제6 시각(426)에서 제2 프로세서(212)는 메모리 선택 모드의 변경을 검출할 수 있다. 결과적으로, 메모리 선택 모드는 제1 시각부터 제3 시각 사이 간격(430)에서 제1 선택 모드로 결정되고, 제3 시각부터 제5 시각 사이 간격(450)에서 제2 선택 모드로 결정될 수 있다.Also, a connection between processors and memories may be changed based on a state of a memory select pin. According to an embodiment of the present disclosure, the first processor 211 may transmit a control signal for changing the memory selection mode to the first selection mode to the memory selection unit 251 at a first time point 421 . . Accordingly, the state of the memory selection pin is converted to 0 at a first time point 421 , and the second processor 212 may detect a change in the memory selection mode at a second time point 422 . In the same way, the first processor 211 may transmit a control signal for changing the memory selection mode to the second selection mode to the memory selection unit 251 at the third time point 423 . Accordingly, the state of the memory selection pin is converted to 1 at a third time point 423 , and the second processor 212 may detect a change in memory selection mode at a fourth time point 424 . In the same way, the first processor 211 may transmit a control signal for changing the memory selection mode to the first selection mode to the memory selection unit 251 at a fifth time point 425 . Accordingly, the state of the memory selection pin is converted to 0 at a fifth time point 425 , and the second processor 212 may detect a change in the memory selection mode at a sixth time point 426 . As a result, the memory selection mode may be determined as the first selection mode in the interval 430 between the first time and the third time, and may be determined as the second selection mode in the interval 450 between the third and fifth time.

제1 프로세서(211)는 인터럽트에 기반하여 프로세스를 수행할 수 있다. 본 개시의 일 실시 예에 따르면, 제1 주기(411)에서 제1 프로세서(211)는 제1 메모리에 연결되어 데이터 처리를 시작할 수 있다. 제1 프로세서(211)는 제1 데이터를 수신하거나, 제1 메모리에 저장된 제1 데이터를 독출하여 제1 프로세스를 수행할 수 있다. 이후, 제1 프로세서(211)는 제1 메모리에 제2 데이터를 기입할 수 있다. 제3 시각에서, 제1 프로세서(211)는 메모리 선택 모드를 변경하기 위한 제어 신호를 메모리 선택부(251)로 송신한다. 그에 따라, 제1 프로세서(211)는 제2 메모리와 연결되어 데이터 처리를 시작할 수 있다. 제1 프로세서(211)는 제2 메모리에 저장된 제3 데이터를 독출하여 제2 프로세스를 수행할 수 있다. 이후 제1 프로세서(211)는 생성된 제4 데이터를 송신하거나 제2 메모리에 제4 데이터를 기입할 수 있다.The first processor 211 may perform a process based on an interrupt. According to an embodiment of the present disclosure, in the first period 411, the first processor 211 may be connected to the first memory and start processing data. The first processor 211 may perform a first process by receiving first data or reading first data stored in the first memory. Thereafter, the first processor 211 may write second data into the first memory. At a third time, the first processor 211 transmits a control signal for changing the memory selection mode to the memory selection unit 251 . Accordingly, the first processor 211 may be connected to the second memory and start data processing. The first processor 211 may perform a second process by reading third data stored in the second memory. Then, the first processor 211 may transmit the generated fourth data or write the fourth data into the second memory.

제2 프로세서(212)는 메모리 선택 모드의 변경을 검출하여 프로세스를 수행할 수 있다. 본 개시의 일 실시 예에 따르면, 제4 시각(424)에서 제2 프로세서(212)는 제1 메모리(231)에 연결된다. 이때, 제1 메모리(231)는 제1 프로세서(211)가 기입한 제2 데이터를 저장하고 있으며, 제2 프로세서(212)는 제1 프로세서(211)가 저장한 제2 데이터를 독출하여 제3 프로세스를 수행할 수 있다. 이후, 제2 프로세서(212)는 제1 메모리에 제3 데이터를 기입할 수 있다. The second processor 212 may detect a change in the memory selection mode and perform a process. According to one embodiment of the present disclosure, the second processor 212 is connected to the first memory 231 at a fourth time point 424 . At this time, the first memory 231 stores the second data written by the first processor 211, and the second processor 212 reads the second data stored by the first processor 211 to generate third data. process can be performed. Then, the second processor 212 may write third data into the first memory.

이에 대응하여, 제1 프로세서(211)는 제5 시각(425)에서 제1 메모리(231)에 연결되어 제2 프로세서(212)가 저장한 제3 데이터를 독출함으로써, 데이터를 공유할 수 있다.Correspondingly, the first processor 211 may share data by reading third data stored in the second processor 212 connected to the first memory 231 at a fifth time point 425 .

도 4를 참고하면, 제1 프로세서(211)가 제1 메모리(231)의 데이터를 처리하는 중에 제2 프로세서(212)는 제2 메모리(232)의 데이터를 처리한다. 이후, 제1 프로세서(211)는 제2 프로세서(212)에 공유하기 위한 데이터를 제1 메모리(231)에 저장하고, 제2 프로세서(212)는 제1 프로세서(211)에 공유하기 위한 데이터를 제2 메모리(232)에 저장한다. 제1 프로세서(211)와 제2 프로세서(212)는 연결된 메모리들에 공유 데이터를 저장한 이후, 메모리 선택부(251)는 선택 모드 변경 신호에 따라 상호 간의 연결을 변경시킴으로써, 제1 프로세서(211)와 제2 프로세서(212)의 데이터가 공유되도록 제어할 수 있다. 멀티 프로세서 장치(290)는 메모리 선택 모드의 변환 과정을 반복함으로써, 제1 프로세서(211)와 제2 프로세서(212) 사이에서 데이터가 공유되도록 제어할 수 있다.Referring to FIG. 4 , while the first processor 211 processes data of the first memory 231 , the second processor 212 processes data of the second memory 232 . Thereafter, the first processor 211 stores data to be shared with the second processor 212 in the first memory 231, and the second processor 212 stores data to be shared with the first processor 211. stored in the second memory 232. After the first processor 211 and the second processor 212 store shared data in the connected memories, the memory selection unit 251 changes the connection between them according to the selection mode change signal, so that the first processor 211 ) and the data of the second processor 212 can be controlled to be shared. The multi-processor device 290 may control data to be shared between the first processor 211 and the second processor 212 by repeating the conversion process of the memory selection mode.

도 5는 본 개시의 다양한 실시 예들에 따른 멀티 프로세서 장치(290)의 다른 일 예(500)를 도시한다. 5 illustrates another example 500 of a multi-processor device 290 according to various embodiments of the present disclosure.

도 5를 참고하면, 멀티 프로세서 장치(290)에서 복수의 프로세서들과 복수의 메모리들은 접속 라인에 연결될 수 있다. 복수의 프로세서들 중 하나의 프로세서는 접속 라인을 통하여 복수의 메모리들 중 하나의 메모리와 연결될 수 있고, 메모리에 저장된 데이터에 기반하여 프로세스를 수행할 수 있다. 여기서, 멀티 프로세서 장치(290)는 복수의 프로세서들 사이에서 추가로 연결되는 추가 컨트롤 라인(510)을 더 포함할 수 있다. 복수의 프로세서들은 추가 컨트롤 라인(510)을 이용하여 각각의 데이터 처리 상태에 관한 정보 송수신할 수 있다.Referring to FIG. 5 , in the multi-processor device 290, a plurality of processors and a plurality of memories may be connected to a connection line. One of the plurality of processors may be connected to one of the plurality of memories through a connection line, and may perform a process based on data stored in the memory. Here, the multi-processor device 290 may further include an additional control line 510 additionally connected between a plurality of processors. The plurality of processors may transmit/receive information about each data processing state using the additional control line 510 .

본 개시의 일 실시 예에 따르면, 제1 프로세서(211)는 제2 프로세서(212)의 데이터 처리 상황을 확인하기 위하여, 추가 컨트롤 라인(510)을 통해 처리 상태 확인 요청 신호를 송신할 수 있다. 제2 프로세서(212)는 처리 상태 요청 신호에 응답하여, 처리 상태 신호를 추가 컨트롤 라인(510)을 통해 송신할 수 있다. 제1 프로세서(211)는 제2 프로세서(212)의 데이터 처리 속도가 균일하지 않아 처리 지연이 발생하는 경우, 처리 지연에 따른 실시간 데이터 처리 실패를 방지할 수 있다.According to an embodiment of the present disclosure, the first processor 211 may transmit a processing state check request signal through the additional control line 510 in order to check the data processing state of the second processor 212 . The second processor 212 may transmit a processing status signal through the additional control line 510 in response to the processing status request signal. The first processor 211 can prevent real-time data processing failure due to processing delay when processing delay occurs because the data processing speed of the second processor 212 is not uniform.

또한, 멀티 프로세서 장치(290)의 메모리 선택부(251)는 복수의 프로세서들 또는 복수의 메모리들 각각에 연결되는 포트의 수를 증가시킬 수 있다. 그에 대응하여, 멀티 프로세서 장치(290)는 메모리의 개수를 늘려서 복수의 메모리들이 순서대로 돌아가며 링 버퍼(ring buffer)처럼 사용할 수 있다. Also, the memory selection unit 251 of the multi-processor device 290 may increase the number of ports connected to each of the plurality of processors or the plurality of memories. Correspondingly, the multi-processor device 290 increases the number of memories so that the plurality of memories can be sequentially rotated and used like a ring buffer.

도 6은 본 개시의 다양한 실시 예들에 따른 멀티 프로세서 장치(290)에서, 제1 프로세서(211)의 동작 방법에 관한 흐름도(600)를 도시한다.6 is a flowchart 600 of a method of operating the first processor 211 in the multi-processor device 290 according to various embodiments of the present disclosure.

도 6을 참고하면 단계(601)에서, 제1 프로세서(211)는 제1 선택 모드에서, 제1 메모리에 저장된 제1 데이터를 독출하여 제1 프로세스를 수행한다. 본 개시의 일 실시 예에 따르면, 제1 프로세서(211)는 제1 메모리(231)와 연결되어 있으며, 제1 메모리에 저장된 데이터를 독출하여 프로세스를 수행할 수 있다.Referring to FIG. 6 , in step 601, the first processor 211 reads the first data stored in the first memory and performs the first process in the first selection mode. According to an embodiment of the present disclosure, the first processor 211 is connected to the first memory 231 and may read data stored in the first memory to perform a process.

단계(603)에서, 제1 프로세서(211)는 제1 선택 모드에서, 제1 메모리에 제2 데이터를 기입한다. 본 개시의 일 실시 예에 따르면, 제1 프로세서(211)는 제1 메모리(231)와 연결되어 있으며, 제1 프로세스를 수행 완료한 이후에 제2 프로세서(212)에 공유하기 위한 제2 데이터를 제1 메모리(231)에 기입할 수 있다.In step 603, the first processor 211 writes second data into the first memory in the first selection mode. According to an embodiment of the present disclosure, the first processor 211 is connected to the first memory 231 and, after completing the first process, provides second data to be shared with the second processor 212. It is possible to write to the first memory 231 .

단계(605)에서, 제1 프로세서(211)는 메모리 선택 모드를 변경하기 위한 제어 신호를 메모리 선택부로 전달한다. 본 개시의 일 실시 예에 따르면, 제1 프로세서(211)는 제2 데이터를 제1 메모리(231)에 저장한 이후에, 메모리 선택 핀의 상태를 변경하기 위한 제어 신호를 생성할 수 있다. 이후, 제1 프로세서(211)는 생성된 제어 신호를 추가 컨트롤 라인을 통해 메모리 선택부(251)로 송신할 수 있다. 이에 대응하여, 메모리 선택부(251)는 메모리 선택 모드를 변경할 수 있다.In step 605, the first processor 211 transmits a control signal for changing the memory selection mode to the memory selection unit. According to an embodiment of the present disclosure, the first processor 211 may generate a control signal for changing a state of a memory selection pin after storing the second data in the first memory 231 . Then, the first processor 211 may transmit the generated control signal to the memory selector 251 through an additional control line. Correspondingly, the memory selection unit 251 may change the memory selection mode.

단계(607)에서, 제1 프로세서(211)는 제2 선택 모드에서, 제2 메모리에 저장된 제3 데이터를 독출하여 제2 프로세스를 수행한다. 본 개시의 일 실시 예에 따르면, 제1 프로세서(211)는 제2 메모리(232)와 연결되어 있으며, 제2 메모리에 저장된 데이터를 독출하여 프로세스를 수행할 수 있다. 이후, 제1 프로세서(211)는 데이터 처리에 따라 생성된 제4 데이터를 송신할 수 있다.In step 607, the first processor 211 reads the third data stored in the second memory and performs a second process in the second selection mode. According to an embodiment of the present disclosure, the first processor 211 is connected to the second memory 232 and may read data stored in the second memory to perform a process. Thereafter, the first processor 211 may transmit fourth data generated according to data processing.

단계(609)에서, 제1 프로세서(211)는 인터럽트 발생 여부를 식별한다. 제1 프로세서(211)는 인터럽트가 발생하지 않은 것으로 식별한 경우, 인터럽트 발생을 대기할 수 있다. 제1 프로세서(211)는 인터럽트가 발생한 것으로 식별한 경우, 이후 프로세스 절차를 수행할 수 있다. 본 개시의 일 실시 예에 따르면, 제1 프로세서(211)는 인터럽트가 발생한 것으로 식별한 경우, 제2 메모리(232)에 연결되어 제1 데이터를 수신하고 제1 프로세스를 수행할 수 있다. 이후, 제1 프로세서(211)는 제2 프로세서(212)에 공유하기 위한 제2 데이터를 제2 메모리(232)에 기입할 수 있다.In step 609, the first processor 211 identifies whether an interrupt has occurred. When identifying that no interrupt has occurred, the first processor 211 may wait for an interrupt to occur. When the first processor 211 identifies that an interrupt has occurred, it may perform a subsequent process procedure. According to an embodiment of the present disclosure, when it is identified that an interrupt has occurred, the first processor 211 may be connected to the second memory 232 to receive first data and perform a first process. Then, the first processor 211 may write second data to be shared with the second processor 212 in the second memory 232 .

도 7은 본 개시의 다양한 실시 예들에 따른 멀티 프로세서 장치(290)에서, 제2 프로세서(212)의 동작 방법에 관한 흐름도(700)를 도시한다. 도 7은 도 6의 단계(605)에서 제1 프로세서(211)가 메모리 선택 모드 변경을 위한 제어 신호를 메모리 선택부(251)로 송신한 이후 제2 프로세서(212)의 동작 과정을 예시한다.7 is a flowchart 700 of a method of operating the second processor 212 in the multi-processor device 290 according to various embodiments of the present disclosure. FIG. 7 illustrates an operation process of the second processor 212 after the first processor 211 transmits a control signal for changing the memory selection mode to the memory selector 251 in step 605 of FIG. 6 .

도 7을 참고하면 단계(701)에서, 제2 프로세서(212)는 제2 선택 모드에서, 제1 메모리에 저장된 제2 데이터를 독출하여 제3 프로세스를 수행한다. 본 개시의 일 실시 예에 따르면, 제2 프로세서(212)는 제1 메모리(231)와 연결되어 있으며, 제1 메모리에 저장된 데이터를 독출하여 프로세스를 수행할 수 있다.Referring to FIG. 7 , in step 701, the second processor 212 reads the second data stored in the first memory and performs a third process in the second selection mode. According to an embodiment of the present disclosure, the second processor 212 is connected to the first memory 231 and may read data stored in the first memory to perform a process.

단계(703)에서, 제2 프로세서(212)는 제2 선택 모드에서, 제1 메모리에 제3 데이터를 기입한다. 본 개시의 일 실시 예에 따르면, 제2 프로세서(212)는 제1 메모리(231)와 연결되어 있으며, 제3 프로세스를 수행 완료한 이후에 제1 프로세서(211)에 공유하기 위한 제3 데이터를 제1 메모리(231)에 기입할 수 있다.In step 703, the second processor 212 writes third data into the first memory in the second selection mode. According to an embodiment of the present disclosure, the second processor 212 is connected to the first memory 231 and, after completing the third process, provides third data to be shared with the first processor 211. It is possible to write to the first memory 231 .

단계(705)에서, 제2 프로세서(212)는 메모리 선택 모드의 변경을 식별한다. 제2 프로세서(212)는 추가 컨트롤 라인을 통해 메모리 선택 모드가 변경되었는지 여부를 식별할 수 있다. 본 개시의 일 실시 예에 따르면, 제2 프로세서(212)는 메모리 선택부(251)로부터 메모리 선택 모드의 변경을 지시하는 신호를 수신할 수 있다. 제2 프로세서(212)는 메모리 선택 모드가 변경되지 않은 것으로 식별된 경우, 메모리 선택 모드의 변경이 검출될 때까지 대기할 수 있다. 제2 프로세서(212)는 메모리 선택 모드가 변경된 것으로 식별된 경우, 단계(707)로 진행한다.At step 705, the second processor 212 identifies a change in memory selection mode. The second processor 212 may identify whether the memory selection mode is changed through an additional control line. According to an embodiment of the present disclosure, the second processor 212 may receive a signal instructing a change of a memory selection mode from the memory selection unit 251 . When it is identified that the memory selection mode is not changed, the second processor 212 may wait until a change in the memory selection mode is detected. If the second processor 212 identifies that the memory selection mode has changed, it proceeds to step 707 .

단계(707)에서, 제2 프로세서(212)는 제1 선택 모드에서, 제2 메모리에 저장된 제2 데이터를 독출하여 제3 프로세스를 수행한다. 본 개시의 일 실시 예에 따르면, 제2 프로세서(212)는 제2 메모리(232)와 연결되어 있으며, 제2 메모리에 저장된 데이터를 독출하여 프로세스를 수행할 수 있다.In step 707, the second processor 212 reads the second data stored in the second memory and performs a third process in the first selection mode. According to an embodiment of the present disclosure, the second processor 212 is connected to the second memory 232 and may read data stored in the second memory to perform a process.

단계(709)에서, 제2 프로세서(212)는 제1 선택 모드에서, 제2 메모리에 제3 데이터를 기입한다. 본 개시의 일 실시 예에 따르면, 제2 프로세서(212)는 제2 메모리(232)와 연결되어 있으며, 제3 프로세스를 수행 완료한 이후에 제1 프로세서(211)에 공유하기 위한 제3 데이터를 제2 메모리(232)에 기입할 수 있다.In step 709, the second processor 212 writes third data into the second memory in the first selection mode. According to an embodiment of the present disclosure, the second processor 212 is connected to the second memory 232, and after completing the third process, third data for sharing with the first processor 211 is provided. It is possible to write to the second memory 232 .

본 개시에 따르면, 멀티 프로세서 장치(290)는 통신 칩을 이용하지 않고 데이터를 공유함으로써, 데이터 공유시 발생하는 데이터 전송 시간을 감소시킬 수 있다. 또한, 메모리 핀의 상태만 변경하면 데이터가 공유되므로, 복수의 프로세서들에 가해지는 부하가 증가하지 않으며, 다양한 방식의 메모리를 사용할 수 있음에 따라 비용이 절감될 수 있다. 또한, 제1 프로세서(211)와 제2 프로세서(212)는 메모리 액세스를 독립적으로 동시에 수행 할 수 있으므로, 메모리 액세스에 관한 소모 시간을 감소시킬 수 있다. 따라서, 본 개시에 따른 멀티 프로세서 장치(290)는 대용량 데이터를 효율적이고 고속으로 공유할 수 있어 대용량 데이터를 실시간 병렬 처리해야 하는 멀티 프로세서 간 대용량 데이터 공유에 적합하다.According to the present disclosure, the multi-processor device 290 can reduce the data transmission time that occurs when sharing data by sharing data without using a communication chip. In addition, since data is shared by changing only the state of a memory pin, a load applied to a plurality of processors does not increase, and costs can be reduced by using various types of memories. In addition, since the first processor 211 and the second processor 212 can independently and simultaneously perform memory access, the time required for memory access can be reduced. Accordingly, the multi-processor device 290 according to the present disclosure can share large amounts of data efficiently and at high speed, and thus is suitable for sharing large amounts of data between multi-processors that need to process large amounts of data in parallel in real time.

본 개시의 청구항 또는 명세서에 기재된 실시 예들에 따른 방법들은 하드웨어, 소프트웨어, 또는 하드웨어와 소프트웨어의 조합의 형태로 구현될(implemented) 수 있다. Methods according to the embodiments described in the claims or specification of the present disclosure may be implemented in the form of hardware, software, or a combination of hardware and software.

소프트웨어로 구현하는 경우, 하나 이상의 프로그램(소프트웨어 모듈)을 저장하는 컴퓨터 판독 가능 저장 매체가 제공될 수 있다. 컴퓨터 판독 가능 저장 매체에 저장되는 하나 이상의 프로그램은, 전자 장치(device) 내의 하나 이상의 프로세서에 의해 실행 가능하도록 구성된다(configured for execution). 하나 이상의 프로그램은, 전자 장치로 하여금 본 개시의 청구항 또는 명세서에 기재된 실시 예들에 따른 방법들을 실행하게 하는 명령어(instructions)를 포함한다. When implemented in software, a computer readable storage medium storing one or more programs (software modules) may be provided. One or more programs stored in a computer-readable storage medium are configured for execution by one or more processors in an electronic device. The one or more programs include instructions that cause the electronic device to execute methods according to embodiments described in the claims or specification of the present disclosure.

이러한 프로그램(소프트웨어 모듈, 소프트웨어)은 랜덤 액세스 메모리 (random access memory), 플래시(flash) 메모리를 포함하는 불휘발성(non-volatile) 메모리, 롬(read only memory, ROM), 전기적 삭제가능 프로그램가능 롬(electrically erasable programmable read only memory, EEPROM), 자기 디스크 저장 장치(magnetic disc storage device), 컴팩트 디스크 롬(compact disc-ROM, CD-ROM), 디지털 다목적 디스크(digital versatile discs, DVDs) 또는 다른 형태의 광학 저장 장치, 마그네틱 카세트(magnetic cassette)에 저장될 수 있다. 또는, 이들의 일부 또는 전부의 조합으로 구성된 메모리에 저장될 수 있다. 또한, 각각의 구성 메모리는 다수 개 포함될 수도 있다. Such programs (software modules, software) may include random access memory, non-volatile memory including flash memory, read only memory (ROM), and electrically erasable programmable ROM. (electrically erasable programmable read only memory (EEPROM), magnetic disc storage device, compact disc-ROM (CD-ROM), digital versatile discs (DVDs), or other It can be stored on optical storage devices, magnetic cassettes. Alternatively, it may be stored in a memory composed of a combination of some or all of these. In addition, each configuration memory may be included in multiple numbers.

또한, 프로그램은 인터넷(Internet), 인트라넷(Intranet), LAN(local area network), WAN(wide area network), 또는 SAN(storage area network)과 같은 통신 네트워크, 또는 이들의 조합으로 구성된 통신 네트워크를 통하여 접근(access)할 수 있는 부착 가능한(attachable) 저장 장치(storage device)에 저장될 수 있다. 이러한 저장 장치는 외부 포트를 통하여 본 개시의 실시 예를 수행하는 장치에 접속할 수 있다. 또한, 통신 네트워크상의 별도의 저장장치가 본 개시의 실시 예를 수행하는 장치에 접속할 수도 있다.In addition, the program is provided through a communication network such as the Internet, an intranet, a local area network (LAN), a wide area network (WAN), or a storage area network (SAN), or a communication network consisting of a combination thereof. It can be stored on an attachable storage device that can be accessed. Such a storage device may be connected to a device performing an embodiment of the present disclosure through an external port. In addition, a separate storage device on a communication network may be connected to a device performing an embodiment of the present disclosure.

상술한 본 개시의 구체적인 실시 예들에서, 개시에 포함되는 구성 요소는 제시된 구체적인 실시 예에 따라 단수 또는 복수로 표현되었다. 그러나, 단수 또는 복수의 표현은 설명의 편의를 위해 제시한 상황에 적합하게 선택된 것으로서, 본 개시가 단수 또는 복수의 구성 요소에 제한되는 것은 아니며, 복수로 표현된 구성 요소라 하더라도 단수로 구성되거나, 단수로 표현된 구성 요소라 하더라도 복수로 구성될 수 있다.In the specific embodiments of the present disclosure described above, components included in the disclosure are expressed in singular or plural numbers according to the specific embodiments presented. However, the singular or plural expressions are selected appropriately for the presented situation for convenience of explanation, and the present disclosure is not limited to singular or plural components, and even components expressed in plural are composed of the singular number or singular. Even the expressed components may be composed of a plurality.

한편 본 개시의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 개시의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 개시의 범위는 설명된 실시 예에 국한되어 정해져서는 아니 되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.Meanwhile, in the detailed description of the present disclosure, specific embodiments have been described, but various modifications are possible without departing from the scope of the present disclosure. Therefore, the scope of the present disclosure should not be limited to the described embodiments and should not be defined by the scope of the claims described below as well as those equivalent to the scope of these claims.

111,211 제1 프로세서 113, 231 제1 메모리
161, 212 제2 프로세서 163, 232 제2 메모리
115 제1 통신 칩 165 제2 통신 칩
251 메모리 선택부 262 포트 A
264 포트 B 261 포트 C
263 포트 D 411, 413 제1 주기, 제2 주기
421 내지 426 제1 시각 내지 제6 시각 510 추가 컨트롤 라인
111,211 first processor 113, 231 first memory
161, 212 second processor 163, 232 second memory
115 first communication chip 165 second communication chip
251 memory selector 262 port A
264 port B 261 port C
263 Port D 411, 413 1st cycle, 2nd cycle
421 to 426 1st time to 6th time 510 Additional control line

Claims (6)

멀티 프로세서 장치에 있어서,
복수의 메모리들;
상기 복수의 메모리들에 저장된 데이터 기반하여 프로세스를 수행하는 복수의 프로세서들;
상기 복수의 메모리들에 대응되는 제1 포트들과 상기 복수의 프로세서들에 대응되는 제2 포트들을 포함하고, 메모리 선택 모드에 기반하여 상기 제1 포트들 중 하나의 포트와 상기 제2 포트들 중 하나의 포트를 연결하는 메모리 선택부를 포함하는 멀티 프로세서 장치.
In a multiprocessor device,
a plurality of memories;
a plurality of processors performing processes based on data stored in the plurality of memories;
It includes first ports corresponding to the plurality of memories and second ports corresponding to the plurality of processors, wherein one of the first ports and one of the second ports are selected based on a memory selection mode. A multi-processor device including a memory selector connecting one port.
청구항 1에 있어서,
상기 복수의 프로세서들은 제1 프로세서와 제2 프로세서를 포함하고,
상기 복수의 메모리들은 제1 메모리와 제2 메모리를 포함하고,
상기 메모리 선택 모드는,
제1 프로세서와 제1 메모리가 연결되고 제2 프로세서와 제2 메모리가 연결되는 제1 선택 모드, 제1 프로세서와 제2 메모리가 연결되고 제2 프로세서와 제1 메모리가 연결되는 제2 선택 모드 중 하나를 포함하는 멀티 프로세서 장치.
The method of claim 1,
The plurality of processors include a first processor and a second processor,
The plurality of memories include a first memory and a second memory,
The memory selection mode,
A first selection mode in which the first processor and the first memory are connected and the second processor and the second memory are connected, and the second selection mode in which the first processor and the second memory are connected and the second processor and the first memory are connected A multi-processor device containing one.
청구항 2에 있어서,
상기 제1 프로세서는,
상기 제1 선택 모드에서, 상기 제1 메모리에 저장된 제1 데이터를 독출하여 제1 프로세스를 수행하고, 상기 제1 메모리에 제2 데이터를 기입하고,
상기 메모리 선택 모드를 변경하기 위한 제어 신호를 상기 메모리 선택부로 전달하고,
상기 제2 선택 모드에서, 상기 제2 메모리에 저장된 제3 데이터를 독출하여 제2 프로세스를 수행하는 멀티 프로세서 장치.
The method of claim 2,
The first processor,
In the first selection mode, first data stored in the first memory is read to perform a first process, and second data is written to the first memory;
Transferring a control signal for changing the memory selection mode to the memory selection unit;
In the second selection mode, the multi-processor device performs a second process by reading third data stored in the second memory.
청구항 2에 있어서,
상기 제2 프로세서는
상기 제2 선택 모드에서, 상기 제1 메모리에 저장된 제2 데이터를 독출하여 제3 프로세스를 수행하고, 상기 제1 메모리에 제3 데이터를 기입하고,
상기 메모리 선택 모드의 변경 여부를 식별하고,
상기 제1 선택 모드에서, 상기 제2 메모리에 저장된 상기 제2 데이터를 독출하여 상기 제3 프로세스를 수행하고, 상기 제2 메모리에 제3 데이터를 기입하는 멀티 프로세서 장치.
The method of claim 2,
The second processor
In the second selection mode, second data stored in the first memory is read to perform a third process, and third data is written to the first memory;
Identify whether the memory selection mode is changed;
In the first selection mode, the multi-processor device reads the second data stored in the second memory, performs the third process, and writes third data to the second memory.
청구항 2에 있어서,
상기 제1 프로세서가 상기 제1 메모리를 이용하여 프로세스를 수행하는 중에, 상기 제2 프로세서는 상기 제2 메모리를 이용하여 프로세스를 수행하는 멀티 프로세서 장치.
The method of claim 2,
While the first processor performs a process using the first memory, the second processor performs a process using the second memory.
청구항 2에 있어서,
상기 제1 프로세서와 상기 제2 프로세서 사이를 연결하는 추가 컨트롤 라인을 더 포함하고,
상기 제1 프로세서는,
상기 추가 컨트롤 라인을 통해 상기 제2 프로세서의 프로세스 처리 상태를 확인하고,
상기 프로세스 처리 상태에 기반하여 상기 제1 프로세서의 처리 속도를 변경하는 멀티 프로세서 장치.
The method of claim 2,
Further comprising an additional control line connecting between the first processor and the second processor,
The first processor,
Checking the process processing state of the second processor through the additional control line;
A multi-processor device for changing a processing speed of the first processor based on the processing state of the process.
KR1020210170187A 2021-12-01 2021-12-01 Apparatus and method for sharing data among multiple processors KR20230082352A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210170187A KR20230082352A (en) 2021-12-01 2021-12-01 Apparatus and method for sharing data among multiple processors

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210170187A KR20230082352A (en) 2021-12-01 2021-12-01 Apparatus and method for sharing data among multiple processors

Publications (1)

Publication Number Publication Date
KR20230082352A true KR20230082352A (en) 2023-06-08

Family

ID=86765912

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210170187A KR20230082352A (en) 2021-12-01 2021-12-01 Apparatus and method for sharing data among multiple processors

Country Status (1)

Country Link
KR (1) KR20230082352A (en)

Similar Documents

Publication Publication Date Title
JP4677630B2 (en) Memory hub with internal cache and / or memory access prediction
US9052835B1 (en) Abort function for storage devices by using a poison bit flag wherein a command for indicating which command should be aborted
JP2021530813A (en) Integrated address space for multiple hardware accelerators with dedicated low latency links
US11681553B2 (en) Storage devices including heterogeneous processors which share memory and methods of operating the same
KR20180010131A (en) Dual-ported pci express-based storage cartridge including single-ported storage controllers
US11741034B2 (en) Memory device including direct memory access engine, system including the memory device, and method of operating the memory device
KR20160087224A (en) Memory controller and memory system including the same
US10540303B2 (en) Module based data transfer
CN115495389B (en) Memory controller, calculation memory device, and operation method of calculation memory device
US10585822B2 (en) Operation method of host system including storage device and operation method of storage device controller
KR102442682B1 (en) System and method for avoiding serialized key value access in machine learning system
US20170177496A1 (en) Apparatus and method to support a storage mode over a cache-line memory interface to a non-volatile memory dual in line memory module
CN105408875A (en) Distributed procedure execution and file systems on a memory interface
CN111679783A (en) Memory controller
US9442658B2 (en) Apparatuses and methods including selectively providing a single or separate chip select signals
KR20200081045A (en) A three-dimensional stacked memory device and operating method for the same
KR20220054633A (en) operation mode register
KR20230082352A (en) Apparatus and method for sharing data among multiple processors
US20220342835A1 (en) Method and apparatus for disaggregation of computing resources
US11610624B2 (en) Memory device skipping refresh operation and operation method thereof
US20220156146A1 (en) Memory controller performing selective and parallel error correction, system including the same and operating method of memory device
US8131893B2 (en) Memory device that mediates mutual communication among a pluraliity of CPUs
US10860520B2 (en) Integration of a virtualized input/output device in a computer system
KR20210134048A (en) extended memory operation
EP4086774A1 (en) Coherent memory system