WO2022010016A1 - 프로세싱인메모리의 읽고-쓰기-연산 명령어 처리 방법 및 장치 - Google Patents

프로세싱인메모리의 읽고-쓰기-연산 명령어 처리 방법 및 장치 Download PDF

Info

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
Application number
PCT/KR2020/009164
Other languages
English (en)
French (fr)
Inventor
김병수
장영종
김영규
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Korea Electronics Technology Institute
Original Assignee
Korea Electronics Technology Institute
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 Korea Electronics Technology Institute filed Critical Korea Electronics Technology Institute
Priority to US17/136,813 priority Critical patent/US11435942B2/en
Publication of WO2022010016A1 publication Critical patent/WO2022010016A1/ko
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System 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/7821Tightly coupled to memory, e.g. computational memory, smart memory, processor in memory
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data 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)

  1. 컴퓨터 시스템으로부터 명령어패킷을 수신하고 명령어패킷으로부터 해석한 명령어를 처리하는 프로세싱인메모리에서의 명령어 처리 방법으로,
    상기 프로세싱인메모리가 처리하는 명령어는 읽기 동작과 쓰기 동작이 동시에 요구되는 읽고-쓰기-연산(READ-WRITE-OPERATION) 명령어이고,
    상기 프로세싱인메모리는
    상기 읽고-쓰기-연산 명령어를 처리하고,
    상기 명령어의 처리 후에 읽기 응답과 연산 결과를 상기 컴퓨터 시스템에 보내고 동시에, 상기 연산 결과를 상기 프로세싱인메모리의 내부 메모리에 쓰는, 프로세싱인메모리의 읽고-쓰기-연산 명령어 처리 방법.
  2. 제1항에 있어서, 상기 프로세싱인메모리는
    상기 명령어의 처리 후에 읽기 응답과 연산 결과를 상기 컴퓨터 시스템에 보내고 동시에, 상기 연산 결과를 상기 프로세싱인메모리의 내부 메모리에 쓰기 위하여,
    컴퓨터 시스템에 보낼 읽기 응답 및 연산 결과 중 하나를 선택하고,
    상기 선택된 읽기 응답 또는 연산 결과를 응답데이터로서 출력하거나 닫는, 프로세싱인메모리의 읽고-쓰기-연산 명령어 처리 방법.
  3. 제2항에 있어서, 상기 프로세싱인메모리는
    컴퓨터 시스템에 보낼 읽기 응답 및 연산 결과 중 하나를 선택하기 위한 응답 선택 신호를 생성하고,
    상기 선택된 읽기 응답 또는 연산 결과가 응답데이터로서 출력되거나 닫도록 하기 위한 응답 허락 신호를 생성하는, 프로세싱인메모리의 읽고-쓰기-연산 명령어 처리 방법.
  4. 컴퓨터 시스템으로부터 명령어패킷을 수신하고 명령어패킷으로부터 해석한 명령어를 처리하는 프로세싱인메모리에서,
    상기 프로세싱인메모리가 처리하는 명령어는 읽기 동작과 쓰기 동작이 동시에 요구되는 읽고-쓰기-연산(READ-WRITE-OPERATION) 명령어이고,
    상기 프로세싱인메모리는
    상기 읽고-쓰기-연산 명령어를 처리하고, 명령어의 처리 후에 읽기 응답과 연산 결과를 상기 컴퓨터 시스템에 보내고 동시에 상기 연산 결과를 상기 프로세싱인메모리의 내부 메모리에 쓰는 동작을 수행하도록 구성된 명령어 처리기를 포함하는, 프로세싱인메모리의 읽고-쓰기-연산 명령어 처리 장치.
  5. 제4항에 있어서, 상기 명령어 처리기는
    컴퓨터 시스템에 보낼 읽기 응답 및 연산 결과 중 하나를 선택하는 선택기 및 상기 선택기에서 선택된 읽기 응답 또는 연산 결과를 응답데이터로서 출력하거나 닫는 3상 버퍼를 포함하는 응답 데이터 선택기를 포함하는, 프로세싱인메모리의 읽고-쓰기-연산 명령어 처리 장치.
  6. 제5항에 있어서, 상기 명령어 처리기는
    상기 응답 데이터 선택기의 상기 선택기를 제어하여 읽기 응답 및 연산 결과 중 하나가 선택되도록 하는 응답 선택 신호와, 상기 응답 데이터 선택기의 상기 3상 버퍼를 제어하여 상기 선택기에서 선택된 읽기 응답 또는 연산 결과가 응답데이터로서 출력되거나 닫도록 하는 응답 허락 신호를 생성하는 유한상태기계를 추가로 포함하는, 프로세싱인메모리의 읽고-쓰기-연산 명령어 처리 장치.
PCT/KR2020/009164 2020-07-10 2020-07-13 프로세싱인메모리의 읽고-쓰기-연산 명령어 처리 방법 및 장치 Ceased WO2022010016A1 (ko)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 전자부품연구원 상용 메모리 버스를 이용하는 프로세싱 인 메모리 장치

Patent Citations (6)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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