WO2022010016A1 - 프로세싱인메모리의 읽고-쓰기-연산 명령어 처리 방법 및 장치 - Google Patents
프로세싱인메모리의 읽고-쓰기-연산 명령어 처리 방법 및 장치 Download PDFInfo
- Publication number
- WO2022010016A1 WO2022010016A1 PCT/KR2020/009164 KR2020009164W WO2022010016A1 WO 2022010016 A1 WO2022010016 A1 WO 2022010016A1 KR 2020009164 W KR2020009164 W KR 2020009164W WO 2022010016 A1 WO2022010016 A1 WO 2022010016A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- read
- write
- processing
- memory
- response
- 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
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
- G06F15/7821—Tightly coupled to memory, e.g. computational memory, smart memory, processor in memory
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1006—Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1051—Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1078—Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
Definitions
- the present invention relates to a processing in memory (PIM), and more particularly, to a method of returning a result after a PIM instruction, and a PIM performing an arithmetic function, and a hardware structure for the same.
- PIM processing in memory
- processing unit of the processing-in-memory processes the instructions received from the computer processor, it has high hardware complexity and the performance as a memory deteriorates. Therefore, since the performance of the processing-in-memory as a memory should not be significantly degraded, the processing unit is required to have as low hardware complexity as possible, and accordingly, the processing unit is designed to support only relatively simple operations.
- Processing-in-memory can perform a variety of operations in addition to traditional memory functions such as reads and writes. These operations may entail a read request of the memory (read-operation) or may entail a write request (write-operation).
- the present invention provides means for solving the following problems.
- the read-write-operation instruction returns the operation result of the PIM to the computer system and writes it to the destination address at the same time to read and write the operation result of the PIM at the same time.
- an instruction processor within the PIM including a finite state machine and a response data selector to process read-write-operation instructions
- the response data selector of the command processor includes a selector for selecting one of a response data signal and an operation result, and a three-phase buffer for opening or blocking the response data,
- the PIM can simultaneously process these requests, so that the computer system requests the PIM to process the request. Since the number of times can be reduced, the performance of the computer system using the PIM, in particular, the processing speed is improved.
- Figure 2 is a diagram showing the operation of the read-write-operation (READ-WRITE-OPERATION) from the hardware side of the PIM
- FIG. 3 is a structural diagram of an instruction processor inside the PIM for processing a read-write-operation instruction of the present invention
- FIG. 4 is a structural diagram of the response data selector of FIG. 3
- a processing in memory is an intelligent semiconductor in which a memory and a processing unit are integrated and packaged into a single chip.
- PIM the memory bottleneck of a traditional computer can be removed, so the performance of a computer system can be maximized.
- PIM is a memory with computational functions. Therefore, in the instruction set processed by the PIM, in addition to the traditional memory-related commands, the READ and WRITE commands, the operation accompanying the read (ie, read-operation) (READ-OPERATION) command, There is an operation involving a write (ie, a write-operation) (WRITE-OPERATION) instruction.
- FIG. 1 is a diagram illustrating a relationship between a computer system using a PIM and internal units of the PIM.
- the computer processor 10 sends a PIM command packet 11 to the PIM 20 .
- the PIM command packet 11 is received and interpreted by an interface unit 30 inside the PIM.
- the interpreted instruction 31 is processed in the instruction processor 40 .
- the command processor 40 performs read and write operations by requesting access to the internal memory 50 of the PIM during the command processing process (41).
- This read-write-operation instruction instructs to simultaneously perform a read operation for returning an operation result to the processor 10 and an operation for writing the operation result to a destination address of the memory 50 .
- FIG. 2 is a diagram illustrating the operation of the read-write-operation (READ-WRITE-OPERATION) from the hardware side of the PIM (20).
- the command processor 40 of the PIM 20 transmits the operation result to the interface device 30 and the memory control device 45 when the requested read-write-operation is finished.
- the interface device 30 returns an operation result to the computer processor 10 and sends read response data.
- the memory control device 45 writes the operation result to the destination address of the internal memory 50 . Since the interface device 30 and the memory control device 45 are independent devices, the operation of sending the operation result and the read response data to the computer processor 10 and the operation of writing the operation result to the internal memory 50 can be performed simultaneously. .
- FIG. 3 is a diagram showing the structure of the instruction processor 40 for processing the read-write-operation instruction of the present invention.
- the memory controller 430 may be located outside or inside the command processor 40 , but in FIG. 3 , the inside is indicated by a dotted line for convenience of description and conciseness of the drawing.
- the arithmetic unit 440 may be configured as one or more arithmetic units according to the types of instructions that can be processed.
- the command analyzer 410 analyzes the PIM command packet to extract the command 411 and the destination address 412 , and extracts the operand address or direct data according to the type of the command 411 .
- the finite state machine 420 uses direct data as write data and performs a memory write operation. If it is a memory read command, the finite state machine 420 sends a request to the memory controller 430 for data of the destination address to output as read response data 421 . On the other hand, in the case of an arithmetic instruction (I-type instruction) using direct data, the finite state machine 420 requests the operand at the destination address and transmits it to the arithmetic unit 440 together with the direct data, and the operation result 441 is the objective. return it to the address.
- I-type instruction arithmetic instruction
- the finite state machine 420 first requests the operand address from the memory controller 430 and finally requests the data of the destination address. Then, the collected operands are transferred to the arithmetic unit 440 and the arithmetic result 441 is returned to the destination address.
- the read-write-operation instructions of the present invention are processed by the finite state machine 420 and the response data selector 450 .
- 4 is a diagram showing a specific structure of the response data selector 450 shown in FIG.
- the response selection signal 423 coming from the finite state machine 420 controls the MUX to select one of the read response data 421 and the operation result 441 input to the selector MUX of the response data selector 450. it's a signal
- the response permission signal 422 from the finite state machine 420 controls the three-phase buffer (BUF) to prevent the read response data 421 or the operation result 441 selected from the MUX from being output as the response data 451 . or a signal to open it.
- BAF three-phase buffer
- the read response data 421 signal is selected by the finite state machine 420 through the MUX, and the response data 451 is opened in the BUF, and in the case of the 'write' command, the response data through the BUF Close (451) to prevent output.
- the finite state machine 420 operates so that the operation result 441 is selected through the MUX and the response data 451 is opened through the BUF to output the operation result.
- the finite state machine 420 causes the arithmetic unit 440 to send the operation result 441 to the memory controller 430 to write to the internal memory, and at the same time, a response
- the MUX of the response data selector 450 is controlled through the selection signal 423 so that the read response 421 or the operation result 441 is selected, and the BUF of the response data selector 450 through the response permission signal 422 control to open or close the selected one in the MUX to be output as response data 451 . Therefore, the read-write-operation instruction of the present invention causes the operation result 441 to be written to the destination address of the internal memory (50 in FIG. 2 ) and the operation to output the response data 451 at the same time.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
본발명은 PIM의 성능을 극대화하기 위하여 새로운 명령어인 읽고-쓰기-연산 명령어(READ-WRITE-OPERATION instruction)를 명령어세트에 포함시키고 이 읽고-쓰기-연산 명령어를 처리하기 위한 방법 및 PIM 내부 장치를 제안한다. 본발명은 다음과 같은 과제 해결 수단을 제공한다. - 프로세싱인메모리(PIM)의 명령어세트에 읽기, 쓰기, 읽기-연산, 쓰기-연산 명령어 이외에 읽고-쓰기-연산(READ-WRITE-OPERATION) 명령어를 포함시킴, - 읽고-쓰기-연산 명령어는 PIM의 연산 결과를 컴퓨터 시스템에 돌려줌과 동시에 목적 주소에 쓰기를 하여, PIM의 연산 결과에 대한 읽기 및 쓰기를 동시에 수행, - 읽고-쓰기-연산 명령어를 처리하기 위하여 유한상태기계 및 응답 데이터 선택기를 포함하는, PIM 내부의 명령어 처리기, - 상기 명령어 처리기의 응답 데이터 선택기는, 응답 데이터 신호와 연산 결과 중 하나를 선택하는 선택기와, 응답 데이터를 열거나 막는 3상 버퍼를 포함, - 상기 명령어 처리기의 유한상태기계는 상기 응답 데이터 선택기의 선택기와 3상 버퍼를 제어하는 응답 선택 신호와 응답 허락 신호를 출력.
Description
본발명은 프로세싱인메모리(Processing in Memory, PIM)에 관한 것으로, 구체적으로 PIM의 명령어, 그리고 PIM이 연산 기능을 수행 후 결과를 돌려주는 방법과 이를 위한 하드웨어 구조에 관한 것이다.
프로세싱인메모리(processing in memory; PIM)는 메모리와 연산장치(Processing Unit)가 하나의 칩으로 집적된 메모리로, 컴퓨터 프로세서가 연산을 위해 메모리에 접근하는 빈도를 감소시킴으로써 시스템의 성능과 전력효율을 향상시킨다. 컴퓨터 프로세서의 프로세싱인메모리 접근 방식은 전통적인 메모리 접근 방식과 다르게, 주소와 데이터 신호들 외에 연산을 위한 명령어들(instructions for operation)을 함께 사용한다.
프로세싱인메모리의 프로세싱유닛은 컴퓨터 프로세서로부터 전달받은 명령어를 처리하기 때문에 높은 하드웨어 복잡도를 갖게 되며 메모리로서의 성능이 저하된다. 따라서, 프로세싱인메모리의 메모리로서의 성능을 크게 저하시키지 않아야 하기 때문에 프로세싱유닛에는 가능한 낮은 하드웨어 복잡도가 요구되며, 이에 따라 프로세싱유닛은 비교적 간단한 연산(operation)만을 지원하도록 설계된다. 프로세싱인메모리는 읽기 및 쓰기와 같은 전통적인 메모리 기능 외에 다양한 연산을 수행할 수 있다. 이러한 연산은 메모리의 읽기 요청에 수반할 수도 있고(읽기-연산), 쓰기 요청에 수반할 수도 있다(쓰기-연산).
하지만 PIM을 사용하는 응용프로그램의 상황에 따라 연산의 결과에 대해 쓰기와 읽기가 모두 요구되는 경우가 있다. 이러한 경우에 기존의 PIM은 연산 결과의 읽기 및 쓰기를 각각 수행해야 하므로 이로 인한 성능 손실이 발생한다.
본발명은 PIM의 성능을 극대화하기 위하여 새로운 명령어인 읽고-쓰기-연산 명령어(READ-WRITE-OPERATION instruction)를 명령어세트에 포함시키고 이 읽고-쓰기-연산 명령어를 처리하기 위한 방법 및 PIM 내부 장치를 제안한다.
본발명은 다음과 같은 과제 해결 수단을 제공한다.
- 프로세싱인메모리(PIM)의 명령어세트에 읽기, 쓰기, 읽기-연산, 쓰기-연산 명령어 이외에 읽고-쓰기-연산(READ-WRITE-OPERATION) 명령어를 포함시킴,
- 읽고-쓰기-연산 명령어는 PIM의 연산 결과를 컴퓨터 시스템에 돌려줌과 동시에 목적 주소에 쓰기를 하여, PIM의 연산 결과에 대한 읽기 및 쓰기를 동시에 수행,
- 읽고-쓰기-연산 명령어를 처리하기 위하여 유한상태기계 및 응답 데이터 선택기를 포함하는, PIM 내부의 명령어 처리기,
- 상기 명령어 처리기의 응답 데이터 선택기는, 응답 데이터 신호와 연산 결과 중 하나를 선택하는 선택기와, 응답 데이터를 열거나 막는 3상 버퍼를 포함,
- 상기 명령어 처리기의 유한상태기계는 상기 응답 데이터 선택기의 선택기와 3상 버퍼를 제어하는 응답 선택 신호와 응답 허락 신호를 출력.
본발명의 구성 및 작용은 이후에 도면과 함께 설명하는 구체적인 실시예를 통하여 더욱 명확해질 것이다.
본발명은 프로세싱인메모리(PIM)를 사용하는 컴퓨터 시스템이 이 PIM의 연산 결과에 대해 읽기와 쓰기 모두를 요구하는 경우에 PIM이 이 요구를 동시에 처리할 수 있기 때문에 컴퓨터 시스템이 PIM에 처리 요청하는 횟수를 줄일 수 있어, PIM을 사용하는 컴퓨터 시스템의 성능, 특히, 처리속도를 향상시킨다.
도 1은 PIM을 사용하는 컴퓨터 시스템과 PIM의 관계도
도 2는 읽고-쓰기-연산(READ-WRITE-OPERATION)의 동작을 PIM의 하드웨어 측면에서 도시한 그림
도 3은 본발명의 읽고-쓰기-연산 명령어의 처리를 위한 PIM 내부의 명령어 처리기의 구조도
도 4는 도 3의 응답 데이터 선택기의 구조도
본발명의 이점 및 특징, 그리고 이들을 달성하는 방법은 이하 첨부된 도면과 함께 상세하게 기술된 바람직한 실시예를 참조하면 명확해질 것이다. 그러나 본발명은 이하에 기술된 실시예에 한정되는 것이 아니라 다양한 다른 형태로 구현될 수 있다. 실시예는 단지 본발명을 완전하게 개시하며 본발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것일 뿐, 본발명은 청구항의 기재 내용에 의해 정의되는 것이다.
또한, 본 명세서에서 사용된 용어는 실시예를 설명하기 위한 것이며 본발명을 제한하고자 하는 것이 아니다. 본 명세서에서, 단수형은 특별히 언급하지 않는 한 복수형도 포함한다. 또한 명세서에 사용된 '포함한다(comprise, comprising 등)'라는 용어는 언급된 구성요소, 단계, 동작, 및/또는 소자 이외의 하나 이상의 다른 구성요소, 단계, 동작, 및/또는 소자의 존재 또는 추가를 배제하지 않는 의미로 사용된 것이다.
이하, 본발명의 바람직한 실시예를 첨부 도면을 참조하여 상세히 설명한다. 실시예의 설명에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본발명의 요지를 흐릴 수 있는 경우에는 그 상세한 설명을 생략한다.
프로세싱인메모리(processing in memory; PIM)는 메모리와 연산 장치(processing unit)를 집적하여 하나의 칩으로 패키징한 지능형 반도체이다. PIM을 사용하면 전통적인 컴퓨터의 메모리 병목현상을 해소할 수 있기 때문에 컴퓨터 시스템의 성능을 극대화할 수 있다. 단적으로 말해, PIM은 연산 기능이 있는 메모리이다. 따라서 PIM이 처리하는 명령어세트(instruction set)에는 전통적인 메모리 관련 명령어인 읽기(READ) 명령어 및 쓰기(WRITE) 명령어 외에, 읽기에 수반된 연산(즉, 읽기-연산)(READ-OPERATION) 명령어와, 쓰기에 수반된 연산(즉, 쓰기-연산)(WRITE-OPERATION) 명령어가 있다.
도 1은 PIM을 사용하는 컴퓨터 시스템과 PIM의 내부 장치(unit)들과의 관계를 도시한 그림이다. 도 1에서 컴퓨터 프로세서(10)는 PIM(20)에게 PIM 명령어패킷(11)을 보낸다. PIM 명령어패킷(11)은 PIM 내부의 인터페이스 장치(unit)(30)에서 수신되고 해석된다. 해석된 명령어(31)는 명령어 처리기(40)에서 처리된다. 명령어 처리기(40)는 명령어 처리 과정에서, PIM의 내부 메모리(50)에 접근 요청하여 읽기 및 쓰기 동작을 수행한다(41). 한편, 연산(operation)의 경우에, 명령어 처리기(40)가 읽기-연산(READ-OPERARION) 명령어를 처리할 때에는 인터페이스 장치(30)를 통하여 프로세서(10)에 연산결과를 응답(12)하고, 쓰기-연산(WRITE-OPERARION) 명령어를 처리할 때에는 내부 메모리(50)의 목적 주소에 연산 결과를 쓴다(42). 하지만 읽기 동작과 쓰기 동작이 동시에 요구되는 경우에는 읽기-연산 후에 프로세서(10)가 다시 쓰기 요청을 PIM(20)에 보내거나 쓰기-연산 후에 프로세서(10)가 별도의 읽기 요청을 PIM(20)에 보내야 한다.
이러한 불편함을 해소하기 위해 본 발명자는 '읽고-쓰기-연산 명령어'(READ-WRITE-OPERATION instruction)를 창출한 것이다. 이 읽고-쓰기-연산 명령어는 연산 결과를 프로세서(10)에게 돌려주는 읽기 동작과 연산 결과를 메모리(50)의 목적 주소에 쓰는 동작을 동시에 수행하도록 명령한다.
도 2는 이러한 읽고-쓰기-연산(READ-WRITE-OPERATION)의 동작을 PIM(20)의 하드웨어 측면에서 도시한 그림이다. PIM(20)의 명령어 처리기(40)는 요청받은 읽고-쓰기-연산의 처리가 끝나면 연산 결과를 인터페이스 장치(30)와 메모리 제어 장치(45)에 전달한다. 인터페이스 장치(30)는 컴퓨터 프로세서(10)에 연산 결과를 돌려주고 읽기 응답 데이터를 보낸다. 또한 메모리 제어 장치(45)는 연산 결과를 내부 메모리(50)의 목적 주소에 쓴다. 인터페이스 장치(30)와 메모리 제어 장치(45)는 독립된 각각의 장치이므로 컴퓨터 프로세서(10)에게 연산 결과와 읽기 응답 데이터를 보내는 동작과 내부 메모리(50)에 연산 결과를 쓰는 동작이 동시에 이루어질 수 있다.
도 3은 본발명의 읽고-쓰기-연산 명령어의 처리를 위한 명령어 처리기(40)의 구조를 도시한 그림이다. 메모리 제어기(430)는 명령어 처리기(40)의 외부 혹은 내부에 있을 수 있지만 도 3에서는 설명의 편의 및 도면의 간결함을 위해 내부에 점선으로 표시하였다.
연산 장치(440)는 처리 가능한 명령어의 종류에 따라 하나 이상의 연산 장치로 구성 가능하다. 명령어 분석기(410)는 PIM 명령어패킷을 분석하여 명령어(411)와 목적 주소(412)를 추출하고, 명령어(411)의 종류에 따라 피연산자주소 혹은 직접데이터를 추출한다.
유한상태기계(420)는, 처리해야 할 명령어가 만약 메모리 쓰기 명령어라면 직접데이터를 쓰기 데이터로 사용하고 메모리 쓰기 동작을 수행한다. 만약 메모리 읽기 명령어라면 유한상태기계(420)는 목적 주소의 데이터를 메모리 제어기(430)에 요청하여 읽기 응답 데이터(421)로 내보내도록 한다. 한편, 직접데이터를 사용하는 연산 명령어(I-type 명령어)의 경우 유한상태기계(420)는 목적 주소에 피연산자를 요청하여 직접데이터와 함께 연산 장치(440)에 전달하고 연산 결과(441)를 목적 주소에 돌려주도록 한다. 반면 피연산자 주소를 사용하는 연산 명령어(R-type 명령어)의 경우 유한상태기계(420)는 피연산자 주소를 메모리 제어기(430)에 우선 요청하고 마지막에 목적주소의 데이터를 요청한다. 그리고 수집된 피연산자들을 연산 장치(440)에 전달하고 연산 결과(441)를 목적주소에 돌려주도록 한다.
본발명의 읽고-쓰기-연산 명령어는 유한상태기계(420)와 응답 데이터 선택기(450)에 의해 처리된다. 도 4는 도 3에 나타낸 응답 데이터 선택기(450)의 구체적인 구조를 도시한 그림이다.
유한상태기계(420)에서 오는 응답 선택 신호(423)는 응답 데이터 선택기(450)의 선택기(MUX)에 입력된 읽기 응답 데이터(421)와 연산 결과(441) 중 하나를 선택하도록 MUX를 제어하는 신호이다. 유한상태기계(420)에서 오는 응답 허락 신호(422)는 3상 버퍼(BUF)를 제어하여, MUX에서 선택된 읽기 응답 데이터(421) 또는 연산 결과(441)가 응답 데이터(451)로서 출력되도록 막거나 열어주기 위한 신호이다.
'읽기' 명령어의 경우 유한상태기계(420)에 의해 읽기 응답 데이터(421) 신호가 MUX를 통해 선택되고 BUF에서 응답 데이터(451)가 열리게 되며, '쓰기' 명령어의 경우는 BUF를 통해 응답 데이터(451)를 닫아서 출력되는 것을 막는다.
'읽기-연산' 명령어의 경우에는 MUX를 통해 연산 결과(441)를 선택하고 BUF를 통해 응답 데이터(451)를 열어서 연산 결과가 출력되도록 유한상태기계(420)가 동작한다.
'읽기-쓰기' 명령어의 경우에는 응답 허락 신호(422)로 BUF를 제어하여 응답 데이터(451)를 막고 도 3에 나타낸 구조와 같이 연산 결과(441)를 메모리 제어기(430)를 통해 메모리(도 2의 50)에 돌려주도록 한다.
본발명에 따른 '읽고-쓰기-연산'의 경우 유한상태기계(420)는 연산 장치(440)로 하여금 연산 결과(441)를 메모리 제어기(430)에 보내어 내부 메모리에 쓰도록 함과 동시에, 응답 선택 신호(423)를 통해 응답 데이터 선택기(450)의 MUX를 제어하여 읽기 응답(421) 또는 연산 결과(441)가 선택되게 하고, 응답 허락 신호(422)를 통해 응답 데이터 선택기(450)의 BUF를 제어하여 MUX에서 선택된 것이 응답 데이터(451)로서 출력되도록 열거나 닫는다. 따라서 본발명의 읽고-쓰기-연산 명령어는 연산 결과(441)를 내부 메모리(도 2의 50)의 목적 주소에 쓰기 동작과 응답 데이터(451)의 출력 동작을 동시에 수행하도록 한다.
지금까지 본발명의 바람직한 실시예를 통하여 본발명을 상세히 설명하였으나, 본발명이 속하는 기술분야의 통상의 지식을 가진 자는 본발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 본 명세서에 개시된 내용과는 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야 한다. 또한 본발명의 보호범위는 상기 상세한 설명보다는 후술한 특허청구범위에 의하여 정해지며, 특허청구의 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태는 본발명의 기술적 범위에 포함되는 것으로 해석되어야 한다.
Claims (6)
- 컴퓨터 시스템으로부터 명령어패킷을 수신하고 명령어패킷으로부터 해석한 명령어를 처리하는 프로세싱인메모리에서의 명령어 처리 방법으로,상기 프로세싱인메모리가 처리하는 명령어는 읽기 동작과 쓰기 동작이 동시에 요구되는 읽고-쓰기-연산(READ-WRITE-OPERATION) 명령어이고,상기 프로세싱인메모리는상기 읽고-쓰기-연산 명령어를 처리하고,상기 명령어의 처리 후에 읽기 응답과 연산 결과를 상기 컴퓨터 시스템에 보내고 동시에, 상기 연산 결과를 상기 프로세싱인메모리의 내부 메모리에 쓰는, 프로세싱인메모리의 읽고-쓰기-연산 명령어 처리 방법.
- 제1항에 있어서, 상기 프로세싱인메모리는상기 명령어의 처리 후에 읽기 응답과 연산 결과를 상기 컴퓨터 시스템에 보내고 동시에, 상기 연산 결과를 상기 프로세싱인메모리의 내부 메모리에 쓰기 위하여,컴퓨터 시스템에 보낼 읽기 응답 및 연산 결과 중 하나를 선택하고,상기 선택된 읽기 응답 또는 연산 결과를 응답데이터로서 출력하거나 닫는, 프로세싱인메모리의 읽고-쓰기-연산 명령어 처리 방법.
- 제2항에 있어서, 상기 프로세싱인메모리는컴퓨터 시스템에 보낼 읽기 응답 및 연산 결과 중 하나를 선택하기 위한 응답 선택 신호를 생성하고,상기 선택된 읽기 응답 또는 연산 결과가 응답데이터로서 출력되거나 닫도록 하기 위한 응답 허락 신호를 생성하는, 프로세싱인메모리의 읽고-쓰기-연산 명령어 처리 방법.
- 컴퓨터 시스템으로부터 명령어패킷을 수신하고 명령어패킷으로부터 해석한 명령어를 처리하는 프로세싱인메모리에서,상기 프로세싱인메모리가 처리하는 명령어는 읽기 동작과 쓰기 동작이 동시에 요구되는 읽고-쓰기-연산(READ-WRITE-OPERATION) 명령어이고,상기 프로세싱인메모리는상기 읽고-쓰기-연산 명령어를 처리하고, 명령어의 처리 후에 읽기 응답과 연산 결과를 상기 컴퓨터 시스템에 보내고 동시에 상기 연산 결과를 상기 프로세싱인메모리의 내부 메모리에 쓰는 동작을 수행하도록 구성된 명령어 처리기를 포함하는, 프로세싱인메모리의 읽고-쓰기-연산 명령어 처리 장치.
- 제4항에 있어서, 상기 명령어 처리기는컴퓨터 시스템에 보낼 읽기 응답 및 연산 결과 중 하나를 선택하는 선택기 및 상기 선택기에서 선택된 읽기 응답 또는 연산 결과를 응답데이터로서 출력하거나 닫는 3상 버퍼를 포함하는 응답 데이터 선택기를 포함하는, 프로세싱인메모리의 읽고-쓰기-연산 명령어 처리 장치.
- 제5항에 있어서, 상기 명령어 처리기는상기 응답 데이터 선택기의 상기 선택기를 제어하여 읽기 응답 및 연산 결과 중 하나가 선택되도록 하는 응답 선택 신호와, 상기 응답 데이터 선택기의 상기 3상 버퍼를 제어하여 상기 선택기에서 선택된 읽기 응답 또는 연산 결과가 응답데이터로서 출력되거나 닫도록 하는 응답 허락 신호를 생성하는 유한상태기계를 추가로 포함하는, 프로세싱인메모리의 읽고-쓰기-연산 명령어 처리 장치.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US17/136,813 US11435942B2 (en) | 2020-07-10 | 2020-12-29 | Method and apparatus for processing read-write-operation instruction in processing-in-memory |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR10-2020-0085574 | 2020-07-10 | ||
| KR1020200085574A KR20220007404A (ko) | 2020-07-10 | 2020-07-10 | 프로세싱인메모리의 읽고-쓰기-연산 명령어 처리 방법 및 장치 |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US17/136,813 Continuation US11435942B2 (en) | 2020-07-10 | 2020-12-29 | Method and apparatus for processing read-write-operation instruction in processing-in-memory |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2022010016A1 true WO2022010016A1 (ko) | 2022-01-13 |
Family
ID=79553265
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/KR2020/009164 Ceased WO2022010016A1 (ko) | 2020-07-10 | 2020-07-13 | 프로세싱인메모리의 읽고-쓰기-연산 명령어 처리 방법 및 장치 |
Country Status (2)
| Country | Link |
|---|---|
| KR (1) | KR20220007404A (ko) |
| WO (1) | WO2022010016A1 (ko) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20230026505A1 (en) * | 2021-07-23 | 2023-01-26 | Samsung Electronics Co., Ltd. | Data processing apparatus and method using direct memory access |
Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20100312998A1 (en) * | 2009-06-04 | 2010-12-09 | Micron Technology, Inc. | Direct communication with a processor internal to a memory device |
| KR20140098253A (ko) * | 2009-10-21 | 2014-08-07 | 마이크론 테크놀로지, 인크. | 내부 프로세서를 구비한 메모리 및 메모리 내의 데이터 통신 방법 |
| KR20170045098A (ko) * | 2015-10-16 | 2017-04-26 | 삼성전자주식회사 | 프로세싱-인-메모리를 이용한 명령어 처리 방법 및 그 장치 |
| US20190065111A1 (en) * | 2017-08-31 | 2019-02-28 | Micron Technology, Inc. | Apparatuses and methods for in-memory operations |
| KR20190029270A (ko) * | 2017-09-12 | 2019-03-20 | 전자부품연구원 | 다중 캐시 메모리를 구비한 지능형 반도체 장치 및 지능형 반도체 장치에서의 메모리 접근 방법 |
| KR20200046270A (ko) * | 2018-10-24 | 2020-05-07 | 전자부품연구원 | 상용 메모리 버스를 이용하는 프로세싱 인 메모리 장치 |
-
2020
- 2020-07-10 KR KR1020200085574A patent/KR20220007404A/ko not_active Withdrawn
- 2020-07-13 WO PCT/KR2020/009164 patent/WO2022010016A1/ko not_active Ceased
Patent Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20100312998A1 (en) * | 2009-06-04 | 2010-12-09 | Micron Technology, Inc. | Direct communication with a processor internal to a memory device |
| KR20140098253A (ko) * | 2009-10-21 | 2014-08-07 | 마이크론 테크놀로지, 인크. | 내부 프로세서를 구비한 메모리 및 메모리 내의 데이터 통신 방법 |
| KR20170045098A (ko) * | 2015-10-16 | 2017-04-26 | 삼성전자주식회사 | 프로세싱-인-메모리를 이용한 명령어 처리 방법 및 그 장치 |
| US20190065111A1 (en) * | 2017-08-31 | 2019-02-28 | Micron Technology, Inc. | Apparatuses and methods for in-memory operations |
| KR20190029270A (ko) * | 2017-09-12 | 2019-03-20 | 전자부품연구원 | 다중 캐시 메모리를 구비한 지능형 반도체 장치 및 지능형 반도체 장치에서의 메모리 접근 방법 |
| KR20200046270A (ko) * | 2018-10-24 | 2020-05-07 | 전자부품연구원 | 상용 메모리 버스를 이용하는 프로세싱 인 메모리 장치 |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20230026505A1 (en) * | 2021-07-23 | 2023-01-26 | Samsung Electronics Co., Ltd. | Data processing apparatus and method using direct memory access |
| US12287987B2 (en) * | 2021-07-23 | 2025-04-29 | Samsung Electronics Co., Ltd. | Data processing apparatus and method using direct memory access |
Also Published As
| Publication number | Publication date |
|---|---|
| KR20220007404A (ko) | 2022-01-18 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR960705283A (ko) | 데이터 흐름 제어 및 다중 처리 유니트를 가진 상 압축 코프로세서(image compression coprocessor with data flow control and multiple processing units) | |
| KR970012145A (ko) | 데이타 프로세서와 그 작동 방법, 그 디버깅 작동 실행 방법 및 그 중단점 값 수정 방법 | |
| EP3082048B1 (en) | Memory configured to provide simultaneous read/write access to multiple banks | |
| US7631132B1 (en) | Method and apparatus for prioritized transaction queuing | |
| US10126966B1 (en) | Rotated memory storage for fast first-bit read access | |
| KR20100088523A (ko) | 디스크립터 전송 장치, i/o 컨트롤러, 및 디스크립터 전송 방법 | |
| US7640375B2 (en) | DMA controller, method, information processing system, and program for transferring information blocks comprising data and descriptors | |
| JPS6153746B2 (ko) | ||
| KR20220007404A (ko) | 프로세싱인메모리의 읽고-쓰기-연산 명령어 처리 방법 및 장치 | |
| US8176218B2 (en) | Apparatus and methods for real-time routing of received commands in a split-path architecture storage controller | |
| JPS6033634A (ja) | デ−タ処理装置 | |
| KR102507219B1 (ko) | 시스템 및 시스템의 동작 방법 | |
| WO2022010015A1 (ko) | 프로세싱인메모리의 메모리 관리 방법 및 장치 | |
| JPH0210450A (ja) | キヤツシユメモリの先行フエツチ制御方式 | |
| KR100214302B1 (ko) | 디. 에스.피용 디.엠.에이의 고속 데이타 처리방법 | |
| JPH0447350A (ja) | 主記憶読み出し応答制御方式 | |
| JPS5810243A (ja) | デ−タ処理装置 | |
| JP2941005B2 (ja) | 記憶制御装置 | |
| WO2020155545A1 (zh) | 一种可编程gpio装置及基于该装置的时序实现方法 | |
| JPH07160655A (ja) | メモリアクセス方式 | |
| CN122064500A (en) | Processing method and device for unaligned memory access and electronic equipment | |
| JP2632859B2 (ja) | メモリアクセス制御回路 | |
| JP2806690B2 (ja) | マイクロプロセッサ | |
| JPH041373B2 (ko) | ||
| JPS6275844A (ja) | 命令プリフェッチ方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 20943896 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 20943896 Country of ref document: EP Kind code of ref document: A1 |