기본 콘텐츠로 건너뛰기

[ ChatGPT ] DRAM과 HBM의 패키징에 대하여 질문

 

질문 내용

  • DRAM이 CPU와 연결될때 모듈 형태로 구성되어 슬랏으로 마더보드 기판에 연결되는데, HBM은 어떤 모양으로 마더보드 기판에 연결되지?

답변

HBM(High Bandwidth Memory)은 기존 DRAM 모듈과는 다르게 CPU나 GPU와 연결됩니다. HBM은 전통적인 DIMM 슬롯을 사용하지 않으며, 대신 실리콘 인터포저(또는 팬아웃 기판)를 이용하여 CPU/GPU와 직접 연결됩니다. 이로 인해 HBM의 연결 방식은 다음과 같은 특징을 가지고 있습니다.

HBM의 구성 및 연결 방식

  1. 3D 스태킹 구조

    • 여러 개의 DRAM 다이(die)를 수직으로 쌓아 TSV(Through-Silicon Vias)를 통해 서로 연결합니다.
  2. 실리콘 인터포저

    • HBM과 CPU/GPU는 실리콘 인터포저를 통해 연결됩니다. 실리콘 인터포저는 매우 많은 수의 마이크로 범프(micro bumps)를 통해 HBM과 CPU/GPU 사이의 고속 데이터 통로를 제공합니다.
    • 실리콘 인터포저는 전통적인 마더보드 기판과는 달리 매우 정밀하게 제조된 기판으로, 많은 수의 연결을 작은 공간에 집약할 수 있습니다.
  3. 패키징

    • CPU/GPU와 HBM은 동일한 패키지 안에 포함될 수 있습니다. 이를 통해 데이터 전송 거리를 줄이고, 전력 효율성을 높일 수 있습니다.
    • 패키지 자체는 마더보드에 BGA(Ball Grid Array) 방식으로 납땜되어 연결됩니다. 이는 기존 DRAM 모듈의 DIMM 슬롯과는 다른 방식입니다.

시각적 설명

plaintext
+-------------------------+ +-------------------------+ | | | | | CPU/GPU | | HBM Stack | | | | (Multiple DRAM die) | +-------------------------+ +-------------------------+ | | +--------------------------------+ | 실리콘 인터포저 | +--------------------------------------------------+ | 마더보드 | +--------------------------------------------------+

주요 차이점 정리

  1. 연결 방식

    • 기존 DRAM: DIMM 슬롯에 꽂혀 마더보드와 연결됨.
    • HBM: 실리콘 인터포저를 통해 CPU/GPU와 직접 연결됨.
  2. 패키지 통합

    • 기존 DRAM: CPU와 별도의 모듈로 존재.
    • HBM: CPU/GPU와 동일한 패키지 내에 존재하여 통합됨.
  3. 데이터 전송 거리

    • 기존 DRAM: 상대적으로 긴 데이터 전송 거리.
    • HBM: 매우 짧은 데이터 전송 거리로 인한 고속 데이터 전송 가능.

이러한 구조적 차이로 인해 HBM은 기존 DRAM보다 훨씬 높은 대역폭과 효율적인 전력 소비를 제공합니다. HBM의 이러한 특성은 고성능 컴퓨팅 및 그래픽 처리에서 중요한 역할을 합니다.

-------------------------------------------------------------------------------------------------

시사점) 

HBM은 SOC와 동일한 패키지 내로 통합된다고 하는군요. 

HBM과 Processor간의 패키징 기술은 제조사마다 다양한 방식을 취하고 있습니다. 정리를 위해 아래 관련 사이트를 모아봤습니다. 시간이 되면 제조사와 패키지 방식을 정리해봐야겠습니다. 

보다 상세한 기술 자료 사이트 공유 

  • https://news.skhynix.co.kr/post/dgist-series-1
  • https://gigglehd.com/gg/hard/938740
  • https://news.samsung.com/kr/%ED%98%84%EC%A1%B4-%EC%B5%9C%EA%B3%A0-%EC%86%8D%EB%8F%84%EB%B3%B4%EB%8B%A4-%EB%AC%B4%EB%A0%A4-7%EB%B0%B0-%EB%B9%A0%EB%A5%B8-%EB%A9%94%EB%AA%A8%EB%A6%AC-4gb-hbm-d%EB%9E%A8%EC%9D%98-%EB%B9%84%EB%B0%80
  • https://v.daum.net/v/20240423163108331
  • https://www.electimes.com/news/articleView.html?idxno=335795



궁금한 사항을 ChatGPT에 물어보곤 하는데, 새롭게 알게된 내용을 블로그에 기록해 보기로 했습니다. 무궁무진한 AI 산업, AI 산업으로 파생되는 수 많은 사업군들을 만들어볼 수 있을 것 같습니다. 



댓글

이 블로그의 인기 게시물

[QT] 5.15.2 버전 다운로드와 설치하기

1. 버전 5.15.2를 설치하기 위해 QT 다운로드 사이트 에 접속하였으나 실행파일이 존재하지 않는다. 가장 최신의 실행파일은 ver5.14.2 이므로 일단 이것을 다운받아서 설치한다. ( 참고 사이트 - https://sloth-code.tistory.com/6#comment16833678 ) 다운 사이트  - https://bio.nic.funet.fi/pub/mirrors/download.qt-project.org/archive/qt/5.14/5.14.2/  ------------- 버전이 맞지 않으니 재 설치한다. 2.  5.15.2 버전에는 실행파일 exe가 없고 zip과 tar.gz 파일만 존재한다. ( https://bio.nic.funet.fi/pub/mirrors/download.qt-project.org/archive/qt/5.15/5.15.2/ ) OFFLINE_README.txt를 읽어보면 5.15 버전부터는 오픈 소스 오프라인 설치를 이용할 수 없다고 한다. 오프라인 설치를 원할 경우 다음 사이트 참조하라고 한다.  ( 원본:  The Qt Company offering changes, open source offline installers are not available any more since Qt 5.15. Read more about offering changes in the https://www.qt.io/blog/qt-offering-changes-2020 blog. If you need offline installers, please consider our new Qt for Small Business offering: https://www.qt.io/blog/available-now-qt-for-small-businesses ) - https://www.qt.io/blog/available-now-qt-for-small-businesses ...

Windows에서 MongoDB 사용하기 요약

NoSQL에 대한 이해 MongoDB에 대한 이해 MongoDB 메뉴얼 MongoDB 다운받기 - Community GUI를 설치하는 대신에 zip 파일선택하여 Shell Window에서 운영. ( mongdb.com ) MongoDB 서버 사용하기 - Command Interpreter Demon으로 실행하기 : 이 방법( --fork 옵션 )은 윈도우에서 실행되지 않고, 대신에 --install 옵션을 사용하여 윈도우 서비스에 등록하여 백그라운드로 사용한다. 관리자 모드 로 명령 프롬프트를 실행한다. demon을 실행시킨다. ( --install 옵션 추가 )   mongod --dbpath D:\Working\MongoDB\Server_JServer\mongodb_ver4.2.1\data --port 13100 --bind_ip_all --auth --logpath   D:\Working\MongoDB\Server_JServer\mongodb_ver4.2.1\log\mongod.log --install 명령 라인에 다음 명령을 입력한다. net start MongoDB 윈도우 서비스 창을 열어서 아래 내용을 확인한다. 배치 파일로 자동 실행하기 Demon으로 실행하는 방법의 2번과 3번을 한번에 처리하기 위해 생성한 mdbexe.bat 을 사용한다.  방법 mongodb demon을 실행하기 위한 mongod.cfg configuration 파일을 만든다. 배치 파일에 mongod 커멘드와 옵션을 다음과 같이 기술한다. mongod --config filename --install 배치 파일에 MongDB 서비스를 윈도우 서비스에 등록한다. net start MongoDB 만들어진 배치 파일을 관리자모드 로 실행시킨다. C#에서 구현할 때 관리자 모드로 실행하는 방법 조사할 것. ( TODO ) 종...

[ ChatGPT ] 임의의 프로세스에 접근하여 임의의 변수값을 바꾸기 위한 방법

 질문 사항 1번 프로세스와 2번 프로세스가 있어. 1번이 운영중인데, 2번 프로세스에서 1번 프로세스의 임의의 메모리에 접근하여 그 메모리의 값을 바꾸고 싶어. 어떤 절차를 이용해야 하지? 답변 내용 1번 프로세스의 메모리에 2번 프로세스에서 접근하여 값을 변경하는 것은 매우 민감한 작업이며, 운영 체제에서는 일반적으로 이러한 작업을 보안과 안정성 때문에 제한합니다. 그러나 특수한 경우, 특히 시스템 프로그래밍이나 디버깅 목적으로는 특정 API를 사용하여 이러한 작업을 수행할 수 있습니다. 아래는 이러한 작업을 수행하기 위한 일반적인 절차를 설명합니다. 1. 프로세스 권한 확인 및 확보 2번 프로세스가 1번 프로세스의 메모리에 접근하려면 충분한 권한이 있어야 합니다. 일반적으로 이는 관리자 권한이나 루트 권한이 필요합니다. Windows에서는 SeDebugPrivilege 를 활성화해야 할 수 있으며, Linux에서는 루트 권한이 필요할 수 있습니다. 2. 1번 프로세스의 핸들 획득 2번 프로세스가 1번 프로세스의 메모리에 접근하려면 먼저 1번 프로세스의 핸들을 얻어야 합니다. Windows : OpenProcess 함수를 사용하여 1번 프로세스의 핸들을 얻습니다. 이 함수는 1번 프로세스의 프로세스 ID를 기반으로 접근합니다.