[CS320] 7. 가비지 컬렉션

Reference Counting, Mark & Sweep, Two-Space Collection 세 가지 가비지 컬렉션 알고리즘의 원리와 장단점을 비교합니다.

June 13, 2023 · 6 min · Hojoon Kim

[CS320] 6. 지연 평가와 Continuation

지연 평가(Lazy Evaluation)를 지원하는 LFAE와 Continuation Passing Style(CPS)의 개념을 통해 프로그래밍 언어의 제어 흐름을 이해합니다.

June 11, 2023 · 7 min · Hojoon Kim

[CS320] 5. 가변 상태 — BFAE와 MFAE

Box를 통한 힙 메모리 모델(BFAE)과 가변 변수(MFAE)를 도입하며, Store를 이용한 상태 관리 인터프리터를 구현합니다.

June 9, 2023 · 10 min · Hojoon Kim

[CS311] 8. GPU 아키텍처와 CUDA 프로그래밍

CPU/GPU 용어 정리, Hardware Multi-Threading(SMT)부터 GPU 아키텍처(SP, SM), CUDA 프로그래밍과 Tiled Matrix Multiplication까지 정리합니다.

June 8, 2023 · 12 min · Hojoon Kim

[CS311] 7. 명령어 수준 병렬성과 멀티프로세서

VLIW와 Superscalar를 통한 명령어 수준 병렬성(ILP)부터 멀티프로세서의 캐시 일관성, 동기화 메커니즘까지 정리합니다.

June 7, 2023 · 9 min · Hojoon Kim

[CS320] 4. 재귀와 조건 분기 — RFAE

조건 분기(if0)와 재귀 함수(Rec)를 지원하는 RFAE 언어를 설계하고, mkRec 패턴과 var 키워드를 이용한 재귀 구현 기법을 살펴봅니다.

June 7, 2023 · 6 min · Hojoon Kim

[CS311] 6. 메모리 계층구조: 캐시와 가상 메모리

캐시 메모리의 구조(Direct Mapped, Set Associative)와 성능 분석, 그리고 가상 메모리의 주소 변환, 페이지 테이블, TLB를 정리합니다.

June 6, 2023 · 11 min · Hojoon Kim

[CS311] 5. 파이프라인 프로세서와 해저드

5단계 파이프라인 설계, SC vs Pipeline 비교, 그리고 구조적/데이터/제어 해저드와 그 해결책(포워딩, 스톨, 분기 예측)을 정리합니다.

June 5, 2023 · 11 min · Hojoon Kim

[CS320] 3. 함수의 세계 — F1VAE에서 FAE까지

일급이 아닌 함수(F1VAE)에서 일급 함수와 클로저(FVAE, FAE)까지 발전하는 과정과 Static/Dynamic Scope의 차이를 살펴봅니다.

June 5, 2023 · 9 min · Hojoon Kim

[CS311] 4. 단일 사이클 프로세서 설계

MIPS 단일 사이클 프로세서의 데이터패스 요소, 제어 유닛, ALU 제어 유닛 설계와 전체 프로세서 회로를 정리합니다.

June 4, 2023 · 9 min · Hojoon Kim