KR20070105779A - Memory device having process function and process method thereof - Google Patents
Memory device having process function and process method thereof Download PDFInfo
- Publication number
- KR20070105779A KR20070105779A KR1020060038366A KR20060038366A KR20070105779A KR 20070105779 A KR20070105779 A KR 20070105779A KR 1020060038366 A KR1020060038366 A KR 1020060038366A KR 20060038366 A KR20060038366 A KR 20060038366A KR 20070105779 A KR20070105779 A KR 20070105779A
- Authority
- KR
- South Korea
- Prior art keywords
- information
- command
- recorded
- data
- processor
- Prior art date
- Legal status (The legal status 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 status listed.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1652—Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
- G06F13/1663—Access to shared memory
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
Abstract
프로세스 기능을 갖는 메모리 장치와 그 프로세스 방법이 개시된다. 본 발명의 실시예에 따른 하나 이상의 데이터 및 프로세서에 의한 명령 정보가 기록되는 기억부; 와 기억부에 기록된 임의의 데이터에 대해 상기 명령 정보에 상응하는 프로세스를 수행하는 처리부를 포함한다. 본 발명에 따르면, 처리부를 가진 메모리 장치와 그 명령 처리 방법은 메모리 장치가 프로세서로부터 수신된 명령을 독립적으로 수행할 수 있으며 메모리 장치에 기록된 데이터의 처리를 수행하는 프로세서의 처리 효율을 증진시킬 수 있다.A memory device having a process function and a process method thereof are disclosed. A storage unit for recording one or more data and instruction information by a processor according to an embodiment of the present invention; And a processing unit that performs a process corresponding to the command information with respect to any data recorded in the storage unit. According to the present invention, a memory device having a processing unit and an instruction processing method thereof may independently execute a command received from a processor and enhance processing efficiency of a processor performing processing of data recorded in the memory device. have.
Description
도 1은 본 발명의 바람직한 실시예에 따른 메모리 장치와 주변 장치의 구성을 나타낸 블록 구성도.1 is a block diagram illustrating a configuration of a memory device and a peripheral device according to an exemplary embodiment of the present invention.
도 2는 본 발명의 바람직한 실시예에 따른 명령완료정보를 프로세서가 다시 전달받을 필요가 없는 경우, 명령이 처리되는 과정을 나타낸 흐름도.2 is a flowchart illustrating a process of processing an instruction when the processor does not need to receive the instruction completion information again according to an exemplary embodiment of the present invention.
도 3은 본 발명의 바람직한 실시예에 따른 명령완료정보를 프로세서가 다시 전달받을 필요가 있는 경우, 명령이 처리되는 과정을 나타낸 흐름도.3 is a flowchart illustrating a process of processing an instruction when the processor needs to receive instruction completion information again according to an exemplary embodiment of the present invention.
도 4는 본 발명의 바람직한 실시예에 따른 명령완료정보를 외부 출력 장치로 처리부(120)가 직접 전달하는 경우, 명령이 처리되는 과정을 나타낸 흐름도.4 is a flowchart illustrating a process of processing a command when the
도 5는 본 발명의 바람직한 실시예에 따른 처리부(120)에서 처리될 명령의 일 예를 나타낸 도면.5 is a view showing an example of a command to be processed in the
도 6은 본 발명의 바람직한 실시예에 따른 복수의 프로세서로부터의 명령처리관계를 나타내는 듀얼 포트 메모리 장치를 나타낸 도면.Fig. 6 is a diagram showing a dual port memory device showing an instruction processing relationship from a plurality of processors according to a preferred embodiment of the present invention.
본 발명은 메모리 장치에 관한 것으로, 보다 상세하게는 프로세스 기능을 갖는 메모리 장치와 그 프로세스 방법에 관한 것이다.The present invention relates to a memory device, and more particularly, to a memory device having a process function and a process method thereof.
종래의 메모리 제어방식은 인터럽트(Interrupt)를 이용하는 방식이었다. 이는 프로세서(Processor, 예를 들어 중앙처리장치(Central Processing Unit))가 내부에 구비되거나 결합된 입/출력(In/Output) 제어기에 명령(예를 들어, 수신단으로의 데이터 전송 명령 등)을 보내고, 상기 입/출력 제어기는 수신된 명령을 수행한 후, 인터럽트 신호(예를 들어, 처리 완료 신호)를 프로세서로 전송함으로써 일련의 작업이 완료되는 방식이다. The conventional memory control method uses an interrupt. This sends commands (e.g., data transfer commands to the receiving end, etc.) to an In / Output controller that has a processor (e.g., Central Processing Unit) internally or coupled to it. After the input / output controller executes the received command, a series of tasks are completed by transmitting an interrupt signal (for example, a processing completion signal) to the processor.
종래의 메모리 제어방식의 경우, 독립적으로 구비된 입/출력 제어기인 경우, 입/출력 제어기가 수신된 명령 수행 중에, 프로세서는 다른 작업을 수행할 수 있는 장점은 있었다. 그러나, 프로세서가 메모리 등의 기억장치와 입/출력장치간의 통신에 직접 관여하여야 하는 문제점이 있었다.In the conventional memory control scheme, when the input / output controller is provided independently, the processor may perform other tasks while the input / output controller executes a received command. However, there has been a problem in that the processor must be directly involved in communication between an input / output device and a storage device such as a memory.
이를 개선하기 위하여 종래에 직접 메모리 제어(DMA: Direct Memory Access) 방식이 제시되었다. 이는 메모리간에 또는 메모리와 주변 장치간에 프로세서를 개입시키지 않고 상호간에 데이터를 직접 전송하는 방식이다. 따라서, 직접 메모리 제어 콘트롤러(DMA Controller)는 프로세서를 사용하지 않으므로 입/출력 제어기의 주소, 연산 지정자(예를 들어, 읽기 및/또는 쓰기의 동작 수행을 위한 처리 명령을 해석하기 위한 정보), 메모리 내의 저장 영역의 시작 주소, 전송 데이터 등의 정보 를 알 수 있도록 구성되어야 한다.In order to improve this, a direct memory control (DMA) method has been conventionally proposed. This is a method of directly transferring data between memories or between a memory and a peripheral without intervening a processor. Therefore, the direct memory control controller (DMA Controller) does not use a processor, so the address of the input / output controller, an operation specifier (for example, information for interpreting processing instructions for performing read and / or write operations), memory It should be configured to know the information such as start address, transmission data, etc. of the storage area.
상술한 직접 메모리 제어 방식은 프로세서의 작업 수행의 부담을 감소시키고, 프로세서의 관여를 배제할 수 있다는 장점은 있었다. 그러나, 메모리에 직접 메모리 제어와 같은 기능이 구비되어야 하고, 또한 직접 메모리 제어 콘트롤러가 프로세서 또는 메모리와 통신하기 위해서는 각각 대응되는 인터페이스를 별도로 구비하여야 하는 문제점이 있었다. 또한, 직접 메모리 제어 콘트롤러에 연동 가능하도록 하기 위해 대응되는 인터페이스가 구비되어야 하므로 메모리의 자유로운 교체가 제한되는 문제점도 있었다.The direct memory control scheme described above has the advantage of reducing the burden on the processor to perform tasks and eliminating processor involvement. However, there is a problem in that a function such as direct memory control must be provided in the memory, and a corresponding interface must be separately provided in order for the direct memory control controller to communicate with the processor or the memory. In addition, since a corresponding interface must be provided in order to be directly interlocked with the memory control controller, there is a problem in that free replacement of the memory is limited.
따라서, 상술한 문제점들을 해결하기 위한 본 발명의 목적은 메모리 장치가 프로세서로부터 수신된 명령을 독립적으로 수행할 수 있도록 구현된 프로세스 기능을 가진 메모리 장치와 그 프로세스 방법을 제공하는데 있다. Accordingly, an object of the present invention to solve the above problems is to provide a memory device having a process function and a process method implemented so that the memory device can independently execute instructions received from the processor.
본 발명의 다른 목적은 메모리 장치에 기록된 데이터의 처리를 수행하는 프로세서의 처리 효율이 증진되는 처리부(120)를 가진 메모리 장치와 그 명령 처리 방법을 제공하는데 있다.It is another object of the present invention to provide a memory device having a
본 발명의 또 다른 목적은 메모리 장치에 기록된 데이터를 외부 출력 장치를 통해 디스플레이하는 경우 시스템 처리 효율 및 속도를 개선할 수 있는 프로세스 기능을 가진 메모리 장치와 그 프로세스 방법을 제공하는데 있다.It is still another object of the present invention to provide a memory device having a process function capable of improving system processing efficiency and speed when displaying data recorded in the memory device through an external output device, and a process method thereof.
본 발명의 이외의 목적들은 하기의 실시예에 대한 설명을 통해 쉽게 이해될 수 있을 것이다.Other objects of the present invention will be readily understood through the description of the following examples.
상기 목적을 달성하고 종래기술의 문제점을 해결하기 위하여, 본 발명의 일 측면에 따르면 프로세스 기능을 가진 메모리 장치가 제공된다.In order to achieve the above object and solve the problems of the prior art, according to one aspect of the present invention, a memory device having a process function is provided.
본 발명의 바람직한 일 실시예에 따른 프로세스 기능을 가진 메모리 장치는, 임의의 데이터 및 프로세서에 의한 명령 정보가 기록되는 기억부과; 상기 기억부에 기록된 상기 명령 정보에 상응하는 프로세스를 상기 데이터에 대해 수행하는 처리부를 포함할 수 있다.A memory device having a process function according to an embodiment of the present invention includes a storage unit for recording arbitrary data and instruction information by a processor; And a processing unit that performs a process corresponding to the command information recorded in the storage unit on the data.
상기 메모리 장치에 의해서 처리되는 상기 프로세스는 데이터 복사, 데이터 연산 및 외부 출력 장치를 통한 데이터 출력 등 중 어느 하나일 수 있다.The process processed by the memory device may be any one of data copying, data operation, and data output through an external output device.
이 때, 상기 명령 정보는, 상기 프로세스의 수행 개시를 지시하기 위한 명령개시정보와; 상기 프로세스의 유형과 내용을 지정하기 위한 명령처리정보를 포함할 수 있다.At this time, the command information includes command start information for instructing to start execution of the process; It may include command processing information for specifying the type and content of the process.
또한, 상기 프로세스가 데이터 복사인 경우, 상기 명령처리정보는 상기 프로세스의 유형을 지정하기 위한 유형 정보, 소스 데이터가 기록된 상기 기억부 내의 주소 정보 및 상기 소스 데이터가 복제된 데이터가 기록될 주소 정보를 포함할 수 있다.In addition, when the process is a data copy, the command processing information includes type information for designating a type of the process, address information in the storage unit where source data is recorded, and address information on which the source data is copied. It may include.
또한, 상기 프로세스가 데이터 연산인 경우, 상기 명령처리정보는 상기 프로세스의 유형을 지정하기 위한 유형 정보, 소스 데이터가 기록된 상기 기억부 내의 주소 정보 및 상기 소스 데이터로부터 연산된 데이터가 기록될 상기 기억부내의 주소 정보를 포함할 수 있다.Further, when the process is a data operation, the instruction processing information includes type information for designating a type of the process, address information in the storage unit in which source data is recorded, and the memory in which data calculated from the source data is to be recorded. May contain address information within the department.
또한, 상기 프로세스가 데이터 출력인 경우, 상기 명령처리정보는 상기 프로세스의 유형을 지정하기 위한 유형 정보, 상기 외부 출력 장치를 통하여 출력될 소스 데이터가 기록된 상기 기억부 내의 주소 정보 및 상기 외부 출력 장치에 대한 정보가 기록될 상기 기억부내의 주소 정보를 포함할 수 있다.Further, when the process is a data output, the command processing information includes type information for designating a type of the process, address information in the storage unit in which source data to be output through the external output device is recorded, and the external output device. May include address information in the storage to be recorded.
실시예에 따라, 상기 명령개시정보와 명령처리정보가 구분되어 상기 프로세서로부터 상기 기억부에 기록되는 경우 상기 기억부는, 하나 이상의 데이터가 기록되는 저장영역; 상기 명령개시정보가 기록되는 메일박스 제어 레지스터; 및 상기 명령처리정보가 기록되는 메일박스를 포함할 수 있다. According to an embodiment, when the instruction start information and the instruction processing information are divided and recorded in the storage unit from the processor, the storage unit may include: a storage area in which one or more data is recorded; A mailbox control register in which the command start information is recorded; And a mailbox in which the command processing information is recorded.
또한, 상기 기억부는, 상기 처리부에 의한 상기 프로세스의 수행 결과에 상응하는 명령완료정보가 기록되는 메일아웃박스(Mail Out Box) 등을 더 포함할 수 있다. The storage unit may further include a mail out box in which command completion information corresponding to a result of the process performed by the processing unit is recorded.
나아가, 상기 처리부는 상기 명령개시정보가 기록되었는지 여부를 판단하여, 기록된 경우 명령개시신호를 출력하는 명령 신호 발생부와; 상기 명령개시신호에 상응하여 상기 명령처리정보를 읽어 상응하는 프로세스를 수행하는 명령처리부를 포함할 수 있다. Further, the processing unit may include a command signal generation unit for determining whether the command start information is recorded and outputting the command start signal when recorded; It may include a command processing unit for performing the corresponding process by reading the command processing information corresponding to the command start signal.
또한, 상기 처리부는 상기 명령 정보에 상응하는 프로세스의 수행이 완료되면 상기 프로세서로 인터럽트 신호를 출력할 수 있다. The processor may output an interrupt signal to the processor when execution of a process corresponding to the command information is completed.
또한, 본 발명의 일 실시예에 따른 상기 메모리 장치는 상기 프로세서 및 상 기 외부 출력 장치 사이에 구비될 수 있다.In addition, the memory device according to an embodiment of the present invention may be provided between the processor and the external output device.
본 발명의 일 실시예에 따른 복수의 프로세서에 의해 공유되는 메모리 장치는 임의의 데이터 및 프로세서에 의해 기록되는 명령 정보가 저장되는 기억부와; 상기 기억부에 기록된 임의의 데이터에 대해 상기 명령 정보에 상응하는 프로세스를 수행하는 처리부를 포함하며, 상기 처리부는 결합된 프로세서 각각에 대해 구비될 수 있다.A memory device shared by a plurality of processors according to an embodiment of the present invention includes a storage unit for storing arbitrary data and instruction information recorded by a processor; A processing unit may be configured to perform a process corresponding to the command information on any data recorded in the storage unit, and the processing unit may be provided for each of the coupled processors.
즉, 상기 복수의 프로세서에 의해 공유되는 메모리 장치에 포함되는 상기 기억부는 하나 또는 2 이상 일 수 있다. 다만, 상기 처리부는 상기 복수의 프로세서에 대해서 개별적으로 구비될 수 있다. That is, the memory unit included in the memory device shared by the plurality of processors may be one or two or more. However, the processing unit may be provided separately for the plurality of processors.
특히, 상기 기억부가 복수인 경우, 상기 기억부는 각 프로세서에 개별적으로 할당되어 상기 복수의 처리부와 한 쌍씩 구비될 수 있다.In particular, when there are a plurality of storage units, the storage units may be individually allocated to each processor and provided in pairs with the plurality of processing units.
또한, 상기 기억부가 하나 또는 둘 이상인 경우, 상기 기억부 중 어느 하나는 상기 결합된 프로세서의 수에 부합하도록 상기 기억부 내에 논리적인 분할된 복수의 분할 영역으로 구성되고, 각 분할 영역은 각 프로세서에 개별적으로 할당되어 상기 복수의 처리부와 한 쌍씩 구비될 수도 있다. In addition, when the storage unit is one or more than one, any one of the storage unit is composed of a plurality of partitions logically divided in the storage unit to match the number of the combined processor, each partition area is assigned to each processor Individually allocated may be provided in pairs with the plurality of processing units.
또한, 상기 기억부 중 어느 하나가 복수의 프로세서의 수에 관계없이 상기 복수의 프로세서에 각각으로 결합된 처리부에 공동으로 할당되어 데이터가 저장되는 경우, 상기 처리부는 결합된 프로세서에 의한 명령 정보에만 상응하여 개별적으로 프로세스를 수행할 수도 있다.In addition, when any one of the storage units is jointly allocated to a processing unit coupled to each of the plurality of processors regardless of the number of the plurality of processors, and the data is stored, the processing unit corresponds only to instruction information by the coupled processor. You can also run the process individually.
다시 설명하면, 기억부는 물리적으로 상기 복수의 처리부와 한 쌍씩 구비될 수도 있으며 논리적인 분할 영역을 이용하여 상기 복수의 처리부와 한 쌍씩 구비될 수도 있다. 또한, 상기 기억부에 할당된 동일 영역을 상기 복수의 처리부가 상기 프로세서에서 전달된 명령 정보가 기록되는 영역을 공유할 수도 있다. 다만, 이 경우, 각 프로세서는 결합된 각각의 처리부가 상기 프로세서의 명령에 상응하는 명령을 처리할 수 있도록 상기 프로세서에 연결된 상기 처리부가 명령을 처리하라는 정보를 상기 동일 영역에 기록할 수 있음은 물론이다.In other words, the storage unit may be physically provided in pairs with the plurality of processing units, or may be provided in pairs with the plurality of processing units using a logical partition area. Further, the same area allocated to the storage unit may share an area in which the plurality of processing units record the instruction information transmitted from the processor. However, in this case, each processor may record information in the same region that the processor connected to the processor processes the instruction so that each processor coupled to the processor may process an instruction corresponding to the instruction of the processor. to be.
또한, 복수의 프로세서에 의해 공유되는 메모리 장치에서 처리되는 상기 프로세스는 데이터 복사, 데이터 연산, 외부 출력 장치를 통한 데이터 출력 중 어느 하나인 것을 특징으로 할 수 있다.In addition, the process processed in a memory device shared by a plurality of processors may be any one of data copying, data operation, and data output through an external output device.
특히, 복수의 프로세서에 의해서 공유되는 메모리 장치에 대하여, 상기 프로세스는 데이터 복사, 데이터 연산, 외부 출력 장치를 통한 데이터 출력 등이 될 수 있다. 이에 대한 각 프로세스에 대한 상세한 설명은 상술한 바와 같다. In particular, for a memory device shared by a plurality of processors, the process may be data copying, data operation, data output through an external output device, or the like. Detailed description of each process for this is as described above.
또한, 상기 명령 정보는, 상기 프로세스의 수행 개시를 지시하기 위한 명령개시정보와; 상기 프로세스의 유형과 내용을 지정하기 위한 명령처리정보를 더 포함할 수 있다.The instruction information may include instruction start information for instructing to start execution of the process; Command processing information for specifying the type and content of the process may be further included.
이 때, 상기 명령개시정보와 명령처리정보가 구분되어 상기 프로세서로부터 상기 기억부에 기록되는 경우 상기 기억부는, 하나 이상의 데이터가 기록되는 저장 영역과; 상기 명령개시정보가 기록되는 메일박스 제어 레지스터와; 상기 명령처리정보가 기록되는 메일박스를 포함할 수 있다.In this case, when the instruction start information and the instruction processing information are divided and recorded in the storage unit from the processor, the storage unit includes: a storage area in which one or more data is recorded; A mailbox control register in which the instruction start information is recorded; It may include a mailbox in which the command processing information is recorded.
또한, 상기 기억부는, 상기 처리부에 의한 상기 프로세스의 수행 결과에 상 응하는 명령완료정보가 기록되는 메일아웃박스(Mail Out Box)를 더 포함할 수 있다. The storage unit may further include a mail out box in which command completion information corresponding to a result of performing the process by the processing unit is recorded.
또한, 상기 처리부는, 상기 명령개시정보가 기록되었는지 여부를 판단하여, 기록된 경우 명령개시신호를 출력하는 명령개시신호발생부와; 상기 명령개시신호에 상응하여 상기 명령처리정보를 읽어 상응하는 프로세스를 수행하는 명령처리부를 포함할 수 있다.The processing unit may further include: a command start signal generation unit that determines whether the command start information is recorded and outputs a command start signal when the command start information is recorded; It may include a command processing unit for performing the corresponding process by reading the command processing information corresponding to the command start signal.
나아가, 상기 처리부는 상기 명령 정보에 상응하는 프로세스의 수행이 완료되면 상기 프로세서로 인터럽트 신호를 할 수 있다.In addition, the processor may provide an interrupt signal to the processor when execution of a process corresponding to the command information is completed.
상기 목적을 달성하기 위하여, 본 발명의 일 예에 따른 프로세스 기능을 가진 메모리 장치의 그 프로세스 수행 방법은, 임의의 프로세서에 의해 명령개시정보가 기록되었는지 여부를 판단하는 단계와; 상기 명령개시정보가 기록된 경우, 상기 명령개시정보에 상응하여 기록된 명령처리정보를 독출하는 단계와; 상기 독출된 명령처리정보에 상응하도록 미리 지정된 프로세스를 수행하는 단계를 포함하는 메모리 장치의 프로세스 수행 방법을 포함할 수 있다.In order to achieve the above object, a method of performing a process of a memory device having a process function according to an embodiment of the present invention comprises the steps of: determining whether instruction start information has been recorded by an arbitrary processor; Reading the command processing information recorded corresponding to the command start information when the command start information is recorded; The method may include performing a process specified in advance to correspond to the read command processing information.
또한, 상기 프로세스의 수행이 완료되면, 프로세스 수행에 상응하는 결과값인 명령완료정보를 기록하는 단계를 더 포함할 수 있다. In addition, when the execution of the process is completed, the method may further include recording command completion information that is a result value corresponding to the execution of the process.
더 나아가, 상기 프로세스 수행 방법은, 상기 프로세스의 수행이 완료되면 프로세스 수행에 상응하는 결과값인 명령완료정보를 외부 출력 장치로 출력하는 단계를 더 포함할 수 있다.Furthermore, the process execution method may further include outputting command completion information, which is a result value corresponding to the process execution, to the external output device when the execution of the process is completed.
또한, 상기 프로세스의 수행이 완료되면 상기 프로세서로 인터럽트 신호를 출력하는 단계를 더 포함할 수있다..The method may further include outputting an interrupt signal to the processor when the process is completed.
본 발명의 일 예에 따른 프로세스 수행 방법을 수행하기 위해 메모리 장치에서 실행될 수 있는 명령어들의 프로그램이 유형적으로 구현되어 있으며, 상기 메모리 장치에 의해 판독될 수 있는 프로그램이 기록된 기록 매체는,In order to perform the process performing method according to an embodiment of the present invention, a program of instructions that can be executed in a memory device is tangibly implemented, and a recording medium in which a program that can be read by the memory device is recorded,
임의의 프로세서에 의해 명령개시정보가 기록되었는지 여부를 판단하는 단계와; 상기 명령개시정보가 기록된 경우, 상기 명령개시정보에 상응하여 기록된 명령처리정보를 독출하는 단계와; 상기 독출된 명령처리정보에 상응하도록 미리 지정된 프로세스를 수행하는 단계를 실행하는 프로그램이 기록된 기록매체일 수 있다. Determining whether instruction start information has been recorded by an arbitrary processor; Reading the command processing information recorded corresponding to the command start information when the command start information is recorded; A program for executing a process of performing a predetermined process corresponding to the read command processing information may be a recording medium.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다. As the invention allows for various changes and numerous embodiments, particular embodiments will be illustrated in the drawings and described in detail in the written description. However, this is not intended to limit the present invention to specific embodiments, it should be understood to include all modifications, equivalents, and substitutes included in the spirit and scope of the present invention. In describing the drawings, similar reference numerals are used for similar elements.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다. Terms such as first, second, A, and B may be used to describe various components, but the components should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, the first component may be referred to as the second component, and similarly, the second component may also be referred to as the first component. The term and / or includes a combination of a plurality of related items or any item of a plurality of related items.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. When a component is referred to as being "connected" or "connected" to another component, it may be directly connected to or connected to that other component, but it may be understood that other components may be present in between. Should be. On the other hand, when a component is said to be "directly connected" or "directly connected" to another component, it should be understood that there is no other component in between.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used herein is for the purpose of describing particular example embodiments only and is not intended to be limiting of the present invention. Singular expressions include plural expressions unless the context clearly indicates otherwise. In this application, the terms "comprise" or "have" are intended to indicate that there is a feature, number, step, operation, component, part, or combination thereof described in the specification, and one or more other features. It is to be understood that the present invention does not exclude the possibility of the presence or the addition of numbers, steps, operations, components, components, or a combination thereof.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art. Terms such as those defined in the commonly used dictionaries should be construed as having meanings consistent with the meanings in the context of the related art and shall not be construed in ideal or excessively formal meanings unless expressly defined in this application. Do not.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 이하, 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다. 또한, 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.Hereinafter, with reference to the accompanying drawings, it will be described in detail a preferred embodiment of the present invention. Hereinafter, the same reference numerals are used for the same components in the drawings, and duplicate descriptions of the same components are omitted. In addition, in describing the present invention, when it is determined that the detailed description of the related known technology may unnecessarily obscure the gist of the present invention, the detailed description thereof will be omitted.
도 1은 본 발명의 바람직한 일 실시예에 따른 메모리 장치와 주변 장치의 구성을 나타낸 블록 구성도이다. 1 is a block diagram illustrating a configuration of a memory device and a peripheral device according to an exemplary embodiment of the present invention.
도 1을 참조하면, 본 발명의 일 실시예에 따른 메모리 장치(100)는 기억부(110) 및 처리부(120)을 포함한다.Referring to FIG. 1, a
기억부(110)는 메일박스 제어 레지스터(112), 메일박스(114), 메일 아웃박스(116), 저장영역(118)을 포함할 수 있다. 기억부(110)는 예를 들어 SDRAM일 수 있다.The
메일박스 제어 레지스터(112)는 프로세서(130)에 의해 명령개시정보가 기록되는 영역이다. 명령개시정보는 프로세서(130)가 메일박스(114)에 기록한 명령처리정보의 개시를 표시하기 위한 정보이다.The
프로세서(130)는 메일박스 제어 레지스터(112)에 억세스하여 명령개시정보(예를 들어, '1' 또는 '0'일 수 있으며, 이하 '1'로 가정함)를 기록할 수 있다. 메일박스 제어 레지스터(112)는 예를 들어 수십 바이트(Byte)의 크기를 가지도록 지정된 임의의 저장 영역일 수 있으며, 프로세서(130)는 해당 영역에 기록된 값을 읽거나(Read) 임의의 값을 기록(Write)할 수 있다.The
구체적으로 설명하면, 처리부(120)는 메일박스 제어 레지스터(112)에 '0'이 기록된 상태에서는 메일박스(114)에 임의의 명령처리정보가 기록되었을지라도 아무런 처리 동작을 수행하지 않을 수 있다. 이후, 메일박스 제어 레지스터(112)에 '1'이 기록되면 메일박스(114)에 기록된 명령처리정보에 상응하는 처리 동작(예를 들어, 데이터 복사, 그래픽(graphic) 데이터 처리, 임의의 데이터를 외부 출력 장치(140)로 출력 등)을 수행할 수 있다. 물론, 명령개시정보는 n(임의의 자연수)비트의 값으로 기록될 수도 있으며, 어떤 값이 기록된 경우 명령개시정보로 인식할 것인지 여부는 다양하게 설정될 수 있음은 자명하다.Specifically, the
메일 박스(114)는 프로세서(130)에 의해 명령처리정보가 기록되는 영역이다. 명령처리정보는 처리부(120)가 처리해야 할 명령의 내용을 나타내는 정보이다.The
명령처리정보의 유형은 처리부(120)에서 인식 가능하도록 미리 지정될 수 있다. 일 예로, 명령처리정보는 저장 영역(118)의 임의의 주소(address)에 각각 기록된 값을 서로 연산(예를 들면, 가감승제)하여 새로운 주소에 기록하라는 연산 명령(Operational Command)일 수 있다. 또한 상기 연산 명령은 상기 임의의 주소에 기록된 값 하나를 이용하여 연산(예를 들면, 로그값, 지수값등의 함수 처리)하는 경우도 포함될 수 있다.The type of command processing information may be specified in advance so as to be recognized by the
메일 아웃박스(Mail Out Box, 116)는 명령처리정보에 상응하여 처리부(120)에 의해 처리된 처리 결과값인 명령완료정보가 기록되는 영역이다. 이 경우 상기 명령처리정보의 유형에 따라, 처리부(120)가 명령완료정보를 메일 아웃박스(116)에 기록할지 여부를 결정할 수 있다. 이에 대해서는 이후 도 2 내지 도 4를 참조하여 각각 상세히 설명하기로 한다. 물론, 처리 결과값이 기록될 주소가 해당 프로세서(130)에 의해 지정되므로, 저장영역(118)의 임의의 주소를 처리 결과값이 기록될 주소로 미리 지정한다면 메일 아웃박스(116)는 생략될 수도 있을 것이다. 다만, 본 명세서에서는 프로세서(130)가 처리 결과값을 제공받을 수 있도록 메일 아웃박스(116)가 별도로 할당된 경우를 가정하여 설명하기로 한다.The mail out
저장영역(118)은 처리부(120)에 의해 처리되거나 각 프로세서(130)에 의해 이용될 데이터들이 기록되는 영역이다. 상술한 메일박스 제어 레지스터(112), 메일박스(114) 및 메일 아웃박스(116)는 저장영역(118)의 일 영역들이 미리 지정된 용도를 위해 각각 할당된 영역일 수 있다.The
처리부(120)는 명령 신호 발생부(122) 및 명령 처리부(124)를 포함할 수 있다. 도 1에는 설명 및 이해의 편의를 위해 명령 신호 발생부(122) 및 명령 처리부(124)가 각각 독립적인 구성요소로 도시하였으나, 하기에서 설명될 명령 신호 발생부(122)의 기능을 명령 처리부(122)가 함께 수행하는 경우 양자는 통합되어 구현될 수도 있음은 자명하다. 처리부(120)는 소프트웨어 프로그램(또는 프로그램 코드들의 조합)으로 구현될 수도 있음은 자명하다.The
명령 신호 발생부(122)는 메일박스 제어 레지스터(112)에 명령개시정보가 기록되었음이 인식되면, 명령 처리부(122)가 메일 박스(114)에 기록된 명령처리정보에 상응하는 처리 동작을 수행할 수 있도록 명령 처리부(122)로 명령개시신호를 제공한다. 명령 신호 발생부(122)는 메일박스 제어 레지스터(112)를 지속적으로 또는 주기적으로 감시함으로써 명령개시정보의 기록 여부를 감지할 수 있을 것이다.When the
명령 신호 발생부(122)의 처리 동작을 간략히 설명하면 다음과 같다. The processing operation of the
만약, 메일박스 제어 레지스터(112)에 명령개시정보로서 예를 들어 "1"이 기록되면, 명령 신호 발생부(122)는 토글(Toggle) 신호와 각 토글 신호가 지연되어 순차적으로 출력되도록 하기 위한 각각의 지연(delay) 신호를 이용하여 미리 지정된 형태의 명령개시신호를 생성할 수 있다. If, for example, " 1 " is recorded in the mailbox control register 112 as the command start information, the
명령 처리부(124)는 명령 신호 발생부(122)로부터 명령개시신호가 입력되면, 메일박스(114)에 기록된 명령처리정보를 읽고, 해당 명령처리정보에 상응하도록 미리 지정된 처리 동작을 수행(즉, 해당 명령을 처리)한다. 이 경우, 명령 처리부(122)는 당해 명령처리정보의 유형에 따라 그 결과값인 명령완료정보를 메일아웃박스(116)에 기록하거나, 외부 출력 장치(140)에 출력될 데이터를 전달할 수 있다.When the command start signal is input from the
또한, 처리부(120)는 프로세서(130)에 의해 기록된 명령처리정보에 상응하는 처리 동작이 완료된 경우, 명령처리정보의 수행이 완료되었음을 나타내기 위한 인터럽트 신호를 상응하는 프로세서(130)로 출력한다.In addition, when the processing operation corresponding to the command processing information recorded by the
상술한 바와 같이, 프로세서(130)에 의해 기록되는 명령처리정보는 저장영역(118)의 임의의 주소에 기록된 값(Data)을 읽어(Read) 다른 주소에 기록(Write)하도록 하거나(예를 들어, 복사명령(Copy Command) 등), 독출(read)된 값들을 연산(예를 들어, 사칙연산 중 하나 이상 또는 로그, 지수 등)하여 그 결과값을 다른 주소에 기록하도록 하거나(예를 들어, 연산 명령(Operation Command) 등), 독출된 데이터를 외부 출력 장치(140)를 통해 출력 가능한 형태로 변환하여 외부 출력 장치(140)로 제공하는 것(예를 들어, 출력명령(Output Command) 등) 등일 수 있다. 물론, 상기 프로세서(130)가 외부 출력 장치(140)와 직접 연결되어 별도의 프로세스(예를 들어, 그래픽 데이터를 프로세서가 처리한 후 직접적으로 상기 외부 출력 장치를 통하여 출력)를 수행하는 경우, 메모리 장치와는 관계없이 상기 외부 출력 장치를 제어할 수 있으며, 상기 프로세서, 상기 메모리 장치 및 외부 출력 장치 상호간의 데이터처리 및 데이터들의 입/출력관계는 다양하게 설정될 수 있음은 자명하다.As described above, the command processing information recorded by the
또한, 상술한 인터럽트 신호는, 처리부(120)가 지시된 명령처리정보에 상응하는 처리가 완료되었음을 알리기 위하여 프로세서(130)로 전달하는 신호이다. 인터럽트 신호는 예를 들어 신호 천이(예를 들어, Low to High, High to Low) 또는 엣지 신호(예를 들어, Rising Edge, Falling Edge 등) 등의 형태로 미리 지정될 수 있다.In addition, the interrupt signal described above is a signal that the
도 2는 본 발명의 바람직한 일 실시예에 따른 처리부(120)에서 처리된 명령처리정보에 대한 결과값인 명령완료정보를 프로세서가 다시 전달받을 필요가 없는 경우, 명령이 처리되는 과정을 나타낸 흐름도이다. 프로세서(130)가 명령처리정보에 상응하는 명령완료정보를 제공받을 필요가 없는 경우로서 예를 들어, 당해 명령처리정보는 복사명령(Copy Command)일 수 있다. 2 is a flowchart illustrating a process in which an instruction is processed when the processor does not need to receive instruction completion information, which is a result value of the instruction processing information processed by the
단계 S200에서, 프로세서(130)는 처리부(120)에 의해 처리될 명령처리정보와 명령 처리의 개시를 지시하기 위한 명령개시정보를 기억부(110)에 기록한다. 상술한 바와 같이, 명령처리정보와 명령개시정보가 기록되는 영역은 각각 상이할 수 있 다. 이 경우, 프로세서(130)는 명령개시정보의 기록을 완료한 후 명령처리정보를 기록할 수 있을 것이다. In step S200, the
단계 S210에서, 처리부(120)는 기억부(110)에 명령개시정보가 기록되었음을 감지한다. 명령개시정보의 기록 여부는 명령 신호 발생부(122) 또는 명령 처리부(124)에 의해 감지될 수 있음은 전술한 바와 같다. In step S210, the
명령개시정보가 기록되었음을 감지한 명령 신호 발생부(122)는 명령처리정보에 상응하는 처리의 개시를 지시하기 위한 명령개시신호를 생성하여 명령 처리부(124)로 출력한다(단계 S220). 상술한 바와 같이, 명령 신호 발생부(122)와 명령 처리부(122)가 통합적으로 구현되는 경우 단계 S220은 생략될 수 있을 것이다.The
처리부(120)는 단계 S230에서 기억부(110)에 기록된 명령처리정보를 읽고(Read), 단계 S240으로 진행하여 상응하는 처리 동작으로 수행한다. 명령처리정보에 의해 처리부(120)가 수행할 명령의 종류와 처리 방법은 미리 지정될 수 있으며, 상응하는 동작의 수행이 가능하도록 처리부(120)가 구현됨은 자명하다. The
따라서, 독출(read)한 명령처리정보에 따라, 처리부(120)의 수행 과정 및 처리 결과가 달라질 것은 자명하다. 상술한 바와 같이, 명령처리정보가 저장영역(118)의 제1 주소에 기록된 데이터를 저장영역(118)의 제2 주소에 복사하도록 하는 복사명령인 경우, 처리부(120)는 제1 주소에 기록된 데이터를 독출하여 제2 주소에 복사할 것이다.Therefore, it is obvious that the execution process and the processing result of the
단계 S250에서 처리부(120)은 명령처리정보에 대한 처리가 완료되었음을 알리는 신호인 인터럽트 신호를 명령처리정보를 기록한 프로세서(130)로 출력한다.In operation S250, the
도 3은 본 발명의 바람직한 다른 실시예에 따른 명령완료정보를 프로세서(130)가 다시 전달받을 필요가 있는 경우, 명령이 처리되는 과정을 나타낸 흐름도이다.3 is a flowchart illustrating a process of processing an instruction when the
다만, 이미 도 2에 대해서, 상세히 설명된 내용과 중복되는 설명은 생략하기로 한다. 단계 S300 내지 단계 S340까지는 도 2에서 설명된 명령처리 방법과 동일하므로 이에 대한 설명은 생략한다. However, with respect to FIG. 2, descriptions overlapping with those described in detail will be omitted. Steps S300 to S340 are the same as the command processing method described with reference to FIG. 2, and thus description thereof will be omitted.
단계 S350에서, 처리부(120)는, 명령처리정보에 따른 명령을 처리한 후, 상기 명령처리정보에 상응하는 명령처리 결과값인 명령완료정보를 기억부(110)의 특정영역에 기록하게 된다. 물론, 프로세서(130)에 의하여 지정된 영역이며, 이 영역이 메일 아웃 박스일 수 있다. 이 경우, 상기 명령완료정보는 프로세서(130)에서 상기 명령완료정보를 되돌려 받을 필요가 있다. 상기 명령처리정보의 일 예로, 상기 기억부(110)내의 저장영역(118)의 특정영역 C에 기록되어 있는 정보와 다른 특정영역 D에 기록되어 있는 정보를 연산 처리(예들 들어, 사칙연산을 이용하여 새로운 결과값을 생성 또는 로그 연산, 지수 연산을 이용하여 결과값을 생성)하여 또 다른 특정영역 E에 기록하라는 연산명령(Operational)이 그 예가 될 수 있다.In step S350, the
단계 S360은 단계 S260과 동일하므로 이에 대한 설명은 생략한다.Since step S360 is the same as step S260, description thereof will be omitted.
단계 S370에서, 상기 처리부(120)에 의하여 명령이 처리된 경우, 상기 인터럽트 신호를 처리부(120)가 생성하여 상기 프로세서(130)에 출력하며, 상기 프로세서(130)는 상기 명령완료정보가 기록되어 있는 상기 특정영역 E로부터 상기 명령완 료정보를 읽게 된다. 물론, 상기 프로세서(130)는 상기 명령완료정보를 읽지 않을 수 있다. 예를 들어, 잘못된 연산명령에 상응하는 프로세스가 상기 처리부에 의해서 수행된 경우, 프로세서는 상기 명령완료정보가 기록되어 있는 싱기 명령완료정보를 읽지 않고 삭제할 수 있다.In step S370, when the command is processed by the
도 4는 본 발명의 바람직한 또 다른 실시예에 따른 명령완료정보를 외부 출력 장치로 처리부(120)가 직접 출력하는 경우, 명령이 처리되는 과정을 나타낸 흐름도이다. 물론, 상술한 바와 같이 프로세서(130)이 직접적으로 외부 출력 장치(140)와 데이터를 출력할 수 있음은 물론이다.4 is a flowchart illustrating a process in which a command is processed when the
다만, 이미 설명된 내용과 중복되는 설명은 생략하기로 한다. 단계 S400 내지 S440까지는 도 2에서 설명된 명령 처리 방법과 동일하므로 이에 대한 설명은 생략한다.However, descriptions overlapping with the already described contents will be omitted. Steps S400 to S440 are the same as the command processing method described in FIG. 2, and thus description thereof will be omitted.
단계 S450에서, 처리부(120)는, 명령처리정보에 따른 명령을 처리한 후, 그 결과값인 명령완료정보를 상기 외부 출력 장치(140)에 전달하게 된다. 상기 명령처리정보의 일 예로, 상기 기억부(110)내 저장영역(118)의 특정영역 F에 기록되어 있는 정보와 다른 특정영역 G에 기록되어 있는 정보를 처리하여 그 결과값인 명령완료정보를 외부 출력 장치(140)에 출력하는 출력명령(Operational)이 그 예가 될 수 있다.In operation S450, the
단계 S460은 단계 S260과 동일하므로 이에 대한 설명은 생략한다.Since step S460 is the same as step S260, description thereof will be omitted.
도 5는 본 발명의 바람직한 일 실시예에 따른 명령처리정보 중 하나인 복사명령(Copy Command)의 구성을 예시한 도면이다. 5 is a diagram illustrating a configuration of a copy command which is one of command processing information according to an exemplary embodiment of the present invention.
도 5를 참조하면, 복사명령에 상응하는 명령처리장치는 해당 명령의 유형을 지정하는 제1행, 소스 데이터(source data)의 기록 주소를 나타내는 제2행, 복사된 데이터가 기록될 주소(destination address)를 나타내는 제3행 및 기록될 데이터의 크기를 나타내는 제4행을 포함할 수 있다.Referring to FIG. 5, a command processing apparatus corresponding to a copy command includes a first line specifying a type of a corresponding command, a second line indicating a recording address of source data, and an address to which copied data is to be recorded. a third row indicating an address) and a fourth row indicating a size of data to be recorded.
이를 구체적으로 설명하면, 메일박스(114)의 주소 '0xfff80'(510-1)에는 해당 명령의 유형을 나타내는 '0x0001'(530-1, 즉 복사명령)이 기록되고, 메일박스(114)의 주소 '0xfff84'(510-2)에는 소스 데이터가 기록된 저장영역(118)내의 주소(530-2)가 기록된다. 도 5에는 해당 주소(530-2)가 Notfixed라고 기재되었으나, 실제적으로 해당 필드에 관련 주소가 기록될 수 있음은 자명하다.Specifically, '0x0001' (530-1, that is, a copy command) indicating the type of the command is recorded in the address '0xfff80' 510-1 of the
마찬가지로, 메일박스(114)의 주소 '0xfff88'(510-3)에는 복사된 데이터가 기록될 주소(530-3)가 기록되며, 메일박스(114)의 주소 '0xfff8c'(510-4)에는 복사될 데이터의 크기(530-4)가 기록된다. Similarly, the address 530-3 to which the copied data is to be recorded is recorded at the address '0xfff88' 510-3 of the
물론, 예시된 명령처리정보의 구성은 해당 명령의 유형에 따라 상이할 수 있음은 자명하다. 예를 들어, 연산 명령인 경우, 연산의 대상이되는 소스 데이터 주소가 복수로 포함되고, 연산된 결과값이 기록된 주소가 포함될 수 있다. 또한, 출력명령인 경우 결과값이 기록될 주소는 생략될 수 있으며, 외부 출력 장치(140)가 복수인 경우 어떤 외부 출력 장치(140)를 통해 출력될 것인지를 특정하는 정보가 더 포함될 수 있다.Of course, the configuration of the illustrated command processing information may be different according to the type of the command. For example, in the case of an operation instruction, a plurality of source data addresses that are subject to an operation may be included, and an address in which an operation result value is recorded may be included. In addition, in the case of an output command, an address to which a result value is to be recorded may be omitted, and when there are a plurality of
도 6은 본 발명의 또 다른 실시예에 따른 복수의 프로세서로부터의 명령처리관계를 나타내는 듀얼 포트 메모리 장치를 예시한 도면이다. FIG. 6 is a diagram illustrating a dual port memory device indicating an instruction processing relationship from a plurality of processors according to another embodiment of the present invention.
본 발명의 기술적 사상은 멀티포트 메모리 장치에도 제한없이 적용될 수 있다. 이를 상세히 설명하면 다음과 같다. 다만, 이하에서는 메모리 장치가 2개의 프로세서에 의해 공유되는 듀얼포트 메모리 장치인 경우를 가정하여 설명한다.The technical spirit of the present invention can be applied without limitation to a multiport memory device. This will be described in detail as follows. In the following description, it is assumed that the memory device is a dual port memory device shared by two processors.
복수의 프로세서(640, 650)가 하나의 메모리 장치(600)을 공유하는 경우, 메모리 장치(600)는 각 프로세서에 대응하는 기억부(612, 614) 및 처리부(620, 630)를 구비할 수 있다.When the plurality of
즉, 제1 프로세서(640)는 명령처리정보 및 명령개시정보를 제1 기억부(612)의 지정된 영역에 기록할 것이고, 제2 프로세서(650)는 명령처리정보 및 명령개시정보를 제2 기억부(614)의 지정된 영역에 기록할 것이다.That is, the
제1 처리부(620)는 제1 기억부(612)에 기록된 명령처리정보 및 명령개시정보를 이용하여 상응하는 처리를 수행한 후 인터럽트 신호를 제1 프로세서(640)로 출력하고, 제2 처리부(630)는 제2 기억부(614)에 기록된 명령처리정보 및 명령개시정보를 이용하여 상응하는 처리를 수행한 후 인터럽트 신호를 제2 프로세서(650)로 출력할 것이다.The
제1 및 제2 기억부(612, 614)의 구성은 앞서 도 1을 참조하여 설명한 기억부(110)와 동일하거나 유사할 수 있다. 즉, 각 프로세서에 대해 억세스 가능한 저장영역이 논리적으로 분할되어 설정된 경우 도 1의 기억부(110)와 동일한 구성이 될 수 있다. 그러나, 저장영역은 공통으로 억세스 가능하도록 설정하되, 메일박스(114) 등은 각각 독립적으로 할당한 경우 제1 및 제2 기억부(612, 614)의 구성은 도 1의 기억부(110)와 약간 상이해질 것이다.Configurations of the first and
다만, 후자의 경우 각 프로세서로부터 지시된 처리에 의한 결과값이 기록될 주소가 일치하는 경우 정상적인 처리 완료가 불가능할 수 있다. 이를 방지하기 위해, 처리된 결과값을 기록하기 위한 주소를 각 프로세서별로 달리 설정하거나, 결과값의 기록 이전에 각 처리부(620, 630)간(또는 프로세서간)에 명령처리정보를 상호 확인하도록 하는 단계가 수행되도록 할 수도 있을 것이다.In the latter case, however, normal processing may not be completed if the address to which the result value of the processing indicated by each processor matches the address to be recorded. In order to prevent this, an address for recording the processed result value may be set differently for each processor, or the instruction processing information may be mutually checked between the processing
다시 설명하면, 기억부는 물리적으로 상기 복수의 처리부와 한 쌍씩 구비될 수도 있으며 논리적인 분할 영역을 이용하여 상기 복수의 처리부와 한 쌍씩 구비될 수도 있다. 또한, 상기 기억부에 할당된 동일 영역을 상기 복수의 처리부가 상기 프로세서에서 전달된 명령 정보가 기록되는 영역을 공유할 수도 있다. 다만, 이 경우, 각 프로세서는 결합된 각각의 처리부가 상기 프로세서의 명령에 상응하는 명령을 처리할 수 있도록 상기 프로세서에 연결된 상기 처리부가 명령을 처리하라는 정보를 상기 동일 영역에 기록할 수 있음은 물론이다. In other words, the storage unit may be physically provided in pairs with the plurality of processing units, or may be provided in pairs with the plurality of processing units using a logical partition area. Further, the same area allocated to the storage unit may share an area in which the plurality of processing units record the instruction information transmitted from the processor. However, in this case, each processor may record information in the same region that the processor connected to the processor processes the instruction so that each processor coupled to the processor may process an instruction corresponding to the instruction of the processor. to be.
또한, 본 발명의 일 실시예에 따른 상기 복수의 프로세서에 연결된 듀얼 포트 메모리 장치는 상기 복수의 프로세서와 상기 외부 출력 장치 사이에 구비될 수 있다. 또한, 상기 외부 출력 장치는 상기 복수의 프로세서의 상응하여 한 쌍씩 구비될 수 있다. 또한, 외부 출력 장치는 상기 복수의 프로세서에 대해 공동으로 구비될 수도 있다.In addition, a dual port memory device connected to the plurality of processors according to an embodiment of the present invention may be provided between the plurality of processors and the external output device. In addition, the external output devices may be provided in pairs corresponding to the plurality of processors. In addition, the external output device may be provided jointly for the plurality of processors.
즉, 복수의 처리부는 상기 복수의 프로세서에 상응토록 한 쌍씩 구비되며 상기 외부 출력 장치에 대해서도 한 쌍씩 구비되어 연결될 수 있다. 또한, 상기 복수의 처리부는 상기 복수의 프로세서에 상응토록 한 쌍씩 구비되나 상기 외부 출력 장치에 대해서는 상기 외부 출력 장치에 공동으로 연결되어 상기 프로세서에 의해 기록된 상기 명령 처리 정보에 상응하는 프로세스(예를 들면 외부 출력 명령)를 수행할 수도 있음은 물론이다.That is, the plurality of processing units may be provided in pairs to correspond to the plurality of processors and may be provided in pairs for the external output device. In addition, the plurality of processing units are provided in pairs to correspond to the plurality of processors, but for the external output device, a process corresponding to the command processing information recorded by the processor is jointly connected to the external output device (for example, For example, an external output command may be performed.
본 발명은 상기 실시예에 한정되지 않으며, 많은 변형이 본 발명의 사상 내에서 당 분야에서 통상의 지식을 가진 자에 의하여 가능함은 물론이다.The present invention is not limited to the above embodiments, and many variations are possible by those skilled in the art within the spirit of the present invention.
상술한 바와 같이 본 발명에 따른 처리부(120)를 가진 메모리 장치와 그 명령 처리 방법은 메모리 장치가 프로세서로부터 수신된 명령을 독립적으로 수행할 수 있는 효과가 있다.As described above, the memory device having the
또한, 본 발명은 메모리 장치에 기록된 데이터의 처리를 수행하는 프로세서의 처리 효율이 증진되는 효과도 있다.In addition, the present invention also has an effect of improving the processing efficiency of the processor for processing the data recorded in the memory device.
또한, 본 발명은 메모리 장치에 기록된 데이터를 외부 출력 장치를 통해 디스플레이하는 경우 시스템 처리 효율 및 속도를 개선할 수 있는 효과도 있다.In addition, the present invention also has the effect of improving the system processing efficiency and speed when displaying the data recorded in the memory device via the external output device.
또한, 본 발명은 직접 메모리 제어 방식 적용을 위하여 별도의 인터페이스를 구비할 필요가 없어 메모리 장치의 교체가 용이한 효과도 있다.In addition, the present invention does not need to provide a separate interface for the direct memory control method, it is also an effect that the replacement of the memory device is easy.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야에서 통상의 지식을 가진 자라면 하기의 특허 청구 범위에 기재된 본 발명 및 그 균등물의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.Although the above has been described with reference to a preferred embodiment of the present invention, those skilled in the art to which the present invention pertains without departing from the spirit and scope of the present invention and equivalents thereof described in the claims below. It will be understood that various modifications and changes can be made.
Claims (30)
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020060038366A KR20070105779A (en) | 2006-04-27 | 2006-04-27 | Memory device having process function and process method thereof |
| PCT/KR2007/002101 WO2007126274A1 (en) | 2006-04-27 | 2007-04-27 | Memory device and method for processing instruction |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020060038366A KR20070105779A (en) | 2006-04-27 | 2006-04-27 | Memory device having process function and process method thereof |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| KR20070105779A true KR20070105779A (en) | 2007-10-31 |
Family
ID=38655743
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020060038366A Ceased KR20070105779A (en) | 2006-04-27 | 2006-04-27 | Memory device having process function and process method thereof |
Country Status (2)
| Country | Link |
|---|---|
| KR (1) | KR20070105779A (en) |
| WO (1) | WO2007126274A1 (en) |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4849875A (en) * | 1987-03-03 | 1989-07-18 | Tandon Corporation | Computer address modification system with optional DMA paging |
| US6725316B1 (en) * | 2000-08-18 | 2004-04-20 | Micron Technology, Inc. | Method and apparatus for combining architectures with logic option |
| US7073026B2 (en) * | 2002-11-26 | 2006-07-04 | Advanced Micro Devices, Inc. | Microprocessor including cache memory supporting multiple accesses per cycle |
| US7644239B2 (en) * | 2004-05-03 | 2010-01-05 | Microsoft Corporation | Non-volatile memory cache performance improvement |
-
2006
- 2006-04-27 KR KR1020060038366A patent/KR20070105779A/en not_active Ceased
-
2007
- 2007-04-27 WO PCT/KR2007/002101 patent/WO2007126274A1/en not_active Ceased
Also Published As
| Publication number | Publication date |
|---|---|
| WO2007126274A1 (en) | 2007-11-08 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4942519A (en) | Coprocessor having a slave processor capable of checking address mapping | |
| KR20200129843A (en) | Memory device including computing circuit, memory controller controlling the memory device and memory system including the memory device | |
| KR20010031430A (en) | Buffering data that flows between buses operating at different frequencies | |
| WO2008007931A1 (en) | Memory device having data processing function | |
| JPS62115571A (en) | Vector access control system | |
| KR20150095139A (en) | Direct Memory Access controller and system for accessing to channel buffer directly | |
| KR20070105779A (en) | Memory device having process function and process method thereof | |
| GB1179613A (en) | Data Transfer System | |
| CN116860185B (en) | Data access apparatus, system, method, device, chip and medium for SRAM array | |
| US4814977A (en) | Apparatus and method for direct memory to peripheral and peripheral to memory data transfers | |
| CN113033789A (en) | Bus system for order preservation, integrated circuit device, board card and order preservation method | |
| JPS59114677A (en) | vector processing device | |
| US20050223129A1 (en) | Arbitration of data transfer requests | |
| JP2011081695A (en) | Control circuit of data operation unit and data operation unit | |
| KR100308113B1 (en) | Data processing system | |
| US11435928B2 (en) | Calculation processing apparatus and information processing system | |
| JP2564624B2 (en) | Stack method | |
| KR102816234B1 (en) | Method for partitioning tasks to cpu-pim | |
| US9886276B2 (en) | System register access | |
| JPS6086654A (en) | System for remote loading of system from another cpu | |
| JP2585852B2 (en) | Buffer control method | |
| EP1193606B1 (en) | Apparatus and method for a host port interface unit in a digital signal processing unit | |
| JP3293144B2 (en) | Peripheral control device | |
| JPS58106642A (en) | Parallel operating device | |
| JP2006293636A (en) | Data processing device |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20060427 |
|
| PG1501 | Laying open of application | ||
| A201 | Request for examination | ||
| PA0201 | Request for examination |
Patent event code: PA02012R01D Patent event date: 20110106 Comment text: Request for Examination of Application Patent event code: PA02011R01I Patent event date: 20060427 Comment text: Patent Application |
|
| PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20111122 Patent event code: PE09021S01D |
|
| E601 | Decision to refuse application | ||
| PE0601 | Decision on rejection of patent |
Patent event date: 20120427 Comment text: Decision to Refuse Application Patent event code: PE06012S01D Patent event date: 20111122 Comment text: Notification of reason for refusal Patent event code: PE06011S01I |