본문 바로가기

전자공학

Process in memory , Process with memory , Process near memory 란? (PIM)

728x90
반응형

 

 가정 memory (메모리) _flash
요약
 응용

 

파란 박스의 글자를 클릭하시면 가정과 응용으로 넘어 가실 수 있습니다!!

 

CPU와 Memory를 왔다갔다하는 폰 노이만 구조에서는 데이터 량이 많아짐에 따라 성능의 한계가 나타나고있습니다..

여러 회사에서는 이를 극복하는 방법으로 연산에 Memory를 사용하고자 하고 있습니다.

이것을 In-memory process라 하며, 본 포스팅에서는 이 방법에 대해 자세한 알고리즘이 아닌, 전체적인 경향을 간단하게 다루어보겠습니다.

 

폰 노이만 구조는 위 그림과 같이 Processor가 Main memory에는 가끔, Cache는 자주 재사용하며 연산을 했습니다.

Memory wall이라 부르는, Processor와 Memory 성능차이가 너무 나자 전체적인 성능이 너무 감소하기 시작했습니다.

따라서 어느정도 간단한 연산은 메모리에서 하고 Processor로 넘기자는 아이디어가 등장합니다.

다시말해 예전에 CPU에서 모든 연산을 다 했다면, 이제 메모리에서도 데이터 처리를 어느정도 한다는 아이디어로 이를 Process in memory(PIM)이라 부르게 되었습니다.

다시말해 위 그림처럼 메모리 옆에 메모리 연산을 가능하게 하는 PIM logic을 붙이는 개념입니다. 사실 이는 1990년에도 있었던 개념이지만, 당시 DRAM 공정과 이 개념이 잘 맞지 않았고, 사실 필요성도 잘 못느꼈습니다.

 

메모리를 Process에 이용하고자 하는 방법은 크게 세가지로 나뉩니다.

Process with memory, Process in memory, Process near memory로 나뉩니다.

Process with memory는 메모리 셀과 연산기가 한몸으로 있어 memory cell이 processing logic과 같은 역할을 합니다.

Bandwidth를 엄청나게 높이며, data transfer latency를 없앨 수 있습니다. 이렇게 하여 연산에 적합한 형태로 저장하는 방법이나, 기능을 운용하는 방법이 아직 잘 제시되지 않았습니다. 또한 logic 소자와 memory소자의 혼용에 대한 논의도 많이 진행되어 아직 상용화단계에는 가지 못했습니다.

 

Process in memory는 메모리 다이(Memory die)에 processing logic이 있는 형태입니다.

with memory만큼의 성능은 내지 못하지만, 행렬을 이용하므로 좋은 병렬 처리가 가능합니다. 

 

Process near memory는 Memory device와 Process logic이 가까이있는 형태입니다.

기존 CPU에 적용하기 아주 좋고 다양한 디자인제시가 가능하나, CPU와 PIM간의 Memory에 데이터를 쓰고 지우는 타이밍이 충돌이 될 수 있습니다.

With과 In은 byte 접근성이 중요하여 NAND는 사용할 수 없고 현재 DRAM만 사용하고있습니다.

이렇게 한다면, CPU의 문제였던, 적은 Bandwidth(Pin limitation), data delay, cache 사용 포화와 같은 문제가 해결될 수 있습니다.

 

현재 상용화된 기술은 삼성의 HBM-DRAM을 발전시킨 형태입니다.

참고로 HBM은 Buffer die위에 여러가지 DRAM memory를 겹겹이 쌓아서 패키징 기술로 bonding(TSV)하는 기술입니다.

이런 경우 Near process memory를 먼저 생각해볼 수 있는데,

HBM에서 CPU와 memory사이에 data load가 많이 생기게 되어 buffer에 간단한 연산을 수행하여 넘겨줄 수있는 CPU를 삽입합니다.

이에 더하여 memory 자체에 CPU를 삽입하여 메모리 자체에해 데이터 처리를 할 수 있게 만든걸 Process in memory라 상용화하였습니다.

 

마냥 좋아보이는 이 기술도 문제가 있습니다. PIM에서 메모리 반을 덜어내다 보니까 메모리 자체가 줄어들고 DRAM공정과 logic 공정의 패턴 nm 단위가 다르다보니 logic의 성능이 많이 안좋게 됩니다.

반응형