Chapter 18

나만의 컴퓨터 만들기

이제 부품 하나하나가 무슨 일을 하는지 안다. 그렇다면 직접 한 대를 맞춰 보자. 이 장은 읽는 장이 아니라 노는 장이다. 예산 안에서 부품을 고르고, 여러 작업을 돌려 보고, 어디가 느린지 찾아 고친다. 결과마다 관련된 장으로 가는 길을 붙여 두었으니, 막히면 돌아가서 다시 보고 오자.

부품 고르기: 주방 꾸리기

컴퓨터를 맞추는 일은 식당 주방을 꾸리는 일과 닮았다. 요리사(CPU)의 실력, 조리대(RAM)의 넓이, 창고(저장장치)까지의 거리, 보조 요리사 군단(GPU)의 규모를 정해야 한다. 그리고 언제나 예산이 있다. 한 곳에 돈을 몰아 쓰면 다른 곳이 발목을 잡는다.

CPU요리사4·5장 · 코어 수, 클럭 RAM조리대6·9장 · 용량(GB) 저장장치창고7장 · HDD / SSD GPU보조 요리사 군단12·17장 · 성능, VRAM 메인보드 = 주방 바닥과 통로 (버스·PCIe, 15장) 모든 부품을 꽂는 판. 부품 사이의 길이 얼마나 넓은지 정한다. 파워(전원 공급기)는 주방의 전기·가스. 부품이 많이 먹을수록 커야 한다.
그림 18-1. 부품과 주방의 대응. 어느 하나만 좋아서는 빠른 주방이 되지 않는다.
PLAYGROUND

부품을 골라 조립하기

미션 (예산이 정해진다)
CPU
RAM
저장장치
GPU
총 가격 / 예산—
소비 전력 (최대)—
미션 달성—
가격은 메인보드·파워·케이스 25만 원을 포함한 대략적인 값이고, 성능 수치는 원리를 보여 주기 위한 단순한 모델이다. 미션을 고르면 예산과 목표가 바뀐다. 목표는 바로 아래 “작업 돌려 보기”에서 확인하자.

작업 돌려 보기: 병목을 찾아라

같은 컴퓨터라도 어떤 일을 시키느냐에 따라 발목을 잡는 부품이 다르다. 게임은 GPU를, 코드 빌드는 CPU 코어 수를, 브라우저 탭 여러 개는 RAM을, 큰 파일 복사는 저장장치를 탄다. 아래는 위에서 조립한 컴퓨터로 일곱 가지 작업을 돌린 결과다. 부품을 바꿀 때마다 즉시 다시 계산된다.

BENCHMARK

내 컴퓨터로 일곱 가지 작업

막대의 세로선은 미션 목표다. 테두리가 강조된 줄이 이번 미션에서 평가하는 작업이다. 줄마다 “병목”은 그 작업에서 시간을 가장 많이 잡아먹는 부품이고, 옆 링크는 그 원리를 다룬 장이다. 해볼 것: 게이밍 미션에서 GPU만 최고급으로 올리고 CPU는 보급형으로 두면 fps가 어디서 멈추는지 보자.
가장 느린 사람이 속도를 정한다

요리사가 아무리 빨라도 조리대가 좁으면 재료를 내려놓을 곳이 없어 창고를 들락거린다(스와핑, 9장). 보조 요리사가 천 명이어도 요리사가 주문을 늦게 나눠 주면 다들 기다린다(게임의 CPU 병목). 좋은 조립은 비싼 부품을 사는 것이 아니라 하려는 일에 맞춰 균형을 맞추는 것이다.

예측해 보기

고급 GPU(24GB)에 보급형 4코어 CPU를 짝지었다. 게임 fps는 어떻게 될까?

게임 한 장면을 만들려면 CPU가 먼저 “무엇을 그릴지”를 계산해 GPU에 넘겨야 한다(12장). 예측한 뒤 위에서 직접 조합해 보자.

fps는 CPU가 준비할 수 있는 장면 수와 GPU가 그릴 수 있는 장면 수 중 작은 쪽으로 정해진다. 이 조합에서는 GPU가 절반쯤 놀고 있다. 같은 돈이면 GPU를 한 단계 낮추고 CPU를 올리는 편이 낫다.

전원 버튼을 누르면: 부팅

조립을 마치고 전원 버튼을 눌렀다. 화면에 로그인 창이 뜨기까지 몇 초 동안, 컴퓨터 안에서는 이 책의 거의 모든 장이 차례로 등장한다. 전원이 안정되면 CPU는 메인보드의 작은 ROM 칩에 들어 있는 펌웨어(firmware, UEFI)의 첫 명령부터 실행한다. 펌웨어는 부품을 점검하고(POST), 저장장치에서 부트로더(boot loader)를 찾아 넘긴다. 부트로더는 운영체제의 커널을 메모리에 올리고, 커널이 드라이버와 서비스를 차례로 깨운다. 이 전체 과정을 부팅(booting)이라 한다.

SIMULATOR

내 컴퓨터의 부팅 과정

 
비교
지금 단계—
총 부팅 시간—
전원 버튼을 눌러 보자. 위에서 고른 부품에 따라 단계별 시간이 달라진다.
위쪽은 모니터 화면, 아래쪽은 단계별 시간이다. 시간은 위 조립 결과로 계산하며 실제보다 단순하다. 해볼 것: 저장장치를 HDD로 바꾸면 어느 단계가 길어지는지 보자. 작은 파일 수천 개를 여기저기서 읽는 단계일수록 HDD의 탐색 시간(7장)이 크게 드러난다.

내 컴퓨터는 왜 느릴까: 증상으로 원인 찾기

새 부품을 사기 전에, 지금 컴퓨터가 어디서 막히는지부터 보자. 윈도우의 작업 관리자나 맥의 활동 모니터를 열면 CPU, 메모리, 디스크, GPU가 각각 얼마나 바쁜지 보인다. 느릴 때 100% 가까이 찬 칸이 병목이다.

컴퓨터가 느리다 메모리가 꽉 참디스크도 덩달아 바쁨탭 전환이 버벅임 디스크 100%부팅·앱 실행이 느림메모리는 여유 CPU 100%빌드·압축·인코딩이오래 걸림 GPU 100%게임 fps가 낮음CPU는 여유 RAM 늘리기스와핑 해소 · 9장 SSD로 바꾸기탐색 시간 제거 · 7장 CPU 올리기코어·클럭 · 5장 GPU 올리기또는 화질 낮추기 · 12장
그림 18-2. 증상에서 업그레이드까지. 어느 칸도 차 있지 않은데 느리다면 인터넷(10장)이나 프로그램 자체의 문제일 수 있다.

오래된 노트북을 되살리는 가장 효과적인 방법이 대개 “HDD를 SSD로, RAM을 한 단계 더”인 이유도 여기에 있다. 대부분의 일상 작업은 CPU 계산보다 기다림(저장장치)과 자리 부족(메모리) 때문에 느려진다. 반대로 게임이나 영상 작업처럼 계산이 많은 일은 CPU와 GPU의 균형을 봐야 한다.

증상먼저 의심할 곳관련 장
탭을 많이 열면 전환할 때 멈칫한다RAM 부족 → 스와핑9장
켜는 데 1분 넘게 걸리고 디스크 표시등이 계속 깜빡인다HDD의 탐색 시간7장
여름에 오래 쓰면 점점 느려진다발열로 클럭을 낮춤(쓰로틀링)5장
게임 화면 위아래가 어긋나 보인다V-Sync 꺼짐 → 화면 찢김15장
인터넷 페이지만 유독 늦게 뜬다네트워크 지연, DNS11장
모르는 프로그램이 CPU를 계속 쓴다악성 코드 가능성16장

핵심 정리

  1. 작업마다 속도를 좌우하는 부품이 다르다. 게임은 GPU와 CPU, 빌드·인코딩은 CPU 코어, 여러 앱은 RAM, 파일과 부팅은 저장장치다.
  2. 전체 속도는 가장 느린 부품, 즉 병목이 정한다. 좋은 조립은 하려는 일에 맞춘 균형이다.
  3. RAM이 모자라면 저장장치로 옮겨 쓰는 스와핑이 일어나 갑자기 수십 배 느려진다.
  4. 부팅은 펌웨어 → POST → 부트로더 → 커널 → 드라이버 → 로그인 순서로 진행된다.
  5. 업그레이드 전에 작업 관리자로 어느 칸이 100%인지 확인하자.

확인 퀴즈

RAM 8 GB 노트북에서 브라우저 탭 30개를 열자 갑자기 매우 느려졌다. 가장 그럴듯한 원인은?

필요한 메모리가 RAM보다 크면 운영체제가 덜 쓰는 페이지를 저장장치로 내보낸다. 저장장치는 RAM보다 수천 배 느리다.

대용량 동영상 파일을 다른 폴더로 복사하는 시간을 줄이려면 무엇을 바꿔야 할까?

복사는 저장장치에서 읽고 쓰는 일이다. 다른 부품은 거의 놀고 있다.

전원 버튼을 누른 뒤 CPU가 가장 먼저 실행하는 것은?

전원이 켜진 직후 메모리는 비어 있다. CPU는 정해진 주소의 ROM에 있는 펌웨어부터 실행하고, 펌웨어가 부트로더를 찾아 넘긴다.

코드 빌드가 느려 작업 관리자를 봤더니 CPU 사용률이 100%, 메모리와 디스크는 여유가 있다. 효과가 가장 클 업그레이드는?

빌드는 파일 여러 개를 동시에 컴파일할 수 있어 코어 수에 비례해 빨라진다(5장 멀티코어).

8B AI 모델(8비트, 약 8 GB)을 빠르게 돌리고 싶다. 가장 중요한 조건은?

토큰마다 가중치 전체를 읽으므로, 대역폭이 넓은 VRAM에 모델이 들어가야 빠르다(17장). 들어가지 않으면 훨씬 느린 RAM과 CPU로 돌아간다.