GPU를 직접 설계하며 배우는 인터랙티브 게임 ‘Mvidia’

1 week ago 8
  • 트랜지스터에서 GPU까지의 전체 컴퓨팅 스택을 단계별로 구축하며 학습하는 시뮬레이션형 게임
  • 각 단계는 ACT로 구성되어, 트랜지스터·논리 게이트·ALU·프로세서·GPU·셰이더 순으로 발전
  • ACT 1에서는 NMOS·PMOS를 이용한 기본 논리 게이트를 만들고, ACT 2에서는 이를 확장해 ALU와 프로세서 코어를 완성
  • 이후 단계인 소프트웨어·GPU·셰이더 파트는 현재 COMING SOON 상태로 개발 중
  • 하드웨어 설계와 프로그래밍을 통합적으로 체험할 수 있는 교육용 인터랙티브 프로젝트

Mvidia 게임 개요

  • Mvidia는 사용자가 GPU를 직접 설계하고 구축하는 과정을 단계별로 체험하는 인터랙티브 학습형 게임
  • 게임은 트랜지스터에서 시작해 논리 게이트, ALU, 프로세서, GPU로 발전하는 구조
  • 각 단계는 ‘ACT’로 구분되며, 각 ACT는 여러 학습 및 구현 과제로 구성
  • 진행 상황은 완료율(예: 0/10 COMPLETED) 형태로 표시되어 학습 진척도를 시각적으로 확인 가능

ACT 1: 첫날 (YOUR FIRST DAY)

  • 주제는 Transistors → Logic Gates, 트랜지스터를 이용해 기본 논리 게이트를 구성하는 단계
  • 주요 과제 구성
    • 1.1 The Switch: NMOS를 스위치로 사용
    • 1.2 The Other Switch: PMOS를 스위치로 사용
    • 1.3 Two Halves: NMOS와 PMOS 결합
    • 1.4 NAND It: NAND 게이트 구성
    • 1.5 The Dual: 논리 게이트 쌍 구성
    • 1.6 Truth Tables: 진리표 작성
    • 1.7 AND Gate, 1.8 OR Gate, 1.9 XOR Gate: 기본 게이트 구현
    • 1.10 Choose Wisely: 세 게이트를 조합해 선택 구조 완성
  • ACT 1 완료 시 ACT 2: THE CORE가 해금됨

ACT 2: 코어 (THE CORE)

  • 주제는 Gates → ALU → Processor, 논리 게이트를 이용해 산술논리장치(ALU)와 프로세서를 구성하는 단계
  • 총 34개의 세부 과제로 구성되며, 각 과제는 이전 단계의 결과물을 기반으로 진행
  • 주요 단계
    • 2.1 Half Adder, 2.5 Full Adder: 덧셈 회로 구성
    • 2.3 The Decoder, 2.25 Register File: 데이터 선택 및 저장 구조 설계
    • 2.4 The Capacitor, 2.7 1T1C, 2.12 The Sense Amp, 2.17 The Array: 메모리 셀 및 감지 증폭기 구성
    • 2.10 Adding Bytes, 2.13 Hex Racer, 2.15 Bit Twiddling: 바이트 단위 연산 확장
    • 2.20 Edge Trigger, 2.21 Refresh, 2.31 Refresh Controller: 클록 및 메모리 갱신 제어
    • 2.27 The ALU, 2.30 Fetch, Decode, Execute, 2.32 The Mvidia Core: 프로세서 핵심 구조 완성
    • 2.33 DRAM Memory, 2.34 Mvidia Core v2: DRAM 기반 확장 및 코어 업그레이드
  • ACT 2 완료 시 ACT 3: THE SOFTWARE가 해금됨

ACT 3: 소프트웨어 (THE SOFTWARE)

  • 주제는 Programming the Processor, 완성된 프로세서를 프로그래밍하는 단계
  • 현재 COMING SOON 상태로, 구체적 과제 내용은 미공개

ACT 4: GPU (THE GPU)

  • 주제는 Building a Graphics Processor, 그래픽 처리 장치를 구성하는 단계
  • 현재 COMING SOON 상태로, 향후 GPU 구조 설계 관련 과제가 추가될 예정

ACT 5: 셰이더 (THE SHADER)

  • 주제는 Programming the GPU, GPU를 이용한 셰이더 프로그래밍 단계
  • 현재 COMING SOON, 추후 GPU 프로그래밍 학습 콘텐츠로 확장 예정
Read Entire Article