컴퓨터를 새로 맞추려고 견적을 찾아보면 CPU, 메인보드, 메모리, 칩셋 같은 용어가 쏟아집니다. 전공자조자 헷갈리는 구성 요소들이 많죠. 핵심만 정리하면 이렇습니다. 컴퓨터 하드웨어는 중앙처리장치(CPU), 기억장치(메모리), 입출력장치(I/O) 세 가지로 나뉩니다. 이 세 요소가 시스템 버스와 칩셋을 통해 서로 연결되어 데이터를 주고받으며 동작합니다. 각 부품이 어떤 역할을 하고, 어떻게 연결되는지만 이해해도 견적을 볼 때 훨씬 수월해집니다.
CPU와 메모리 사이에서 벌어지는 일
CPU는 모든 명령어를 해석하고 실행하는 컴퓨터의 두뇌입니다. 그런데 CPU가 아무리 빨라도 메모리가 따라오지 못하면 의미가 없습니다. CPU는 메모리에서 데이터를 읽어오거나 써넣는 과정에서 메모리 주소를 생성합니다. 이 주소를 통해 CPU는 정확히 어느 위치의 데이터가 필요한지 지정합니다.
- CPU가 메모리에 데이터를 요청하면 메모리는 해당 주소의 데이터를 찾아 CPU에 전달합니다.
- 이 과정에서 CPU와 메모리 간 속도 차이가 발생하는데, 캐시 메모리가 이 차이를 줄여줍니다.
- 캐시는 CPU 내부에 있어 데이터 접근 속도가 훨씬 빠릅니다.
메모리는 용도에 따라 캐시, 메인 메모리(RAM), 보조기억장치(SSD·HDD), 고정기억장치(ROM)로 나뉩니다. 여기서 '메모리'라고 하면 보통 메인 메모리를 가리킵니다. 디스크 드라이브는 하드웨어적으로 I/O 주소를 할당받기 때문에 입출력장치로 분류됩니다.
메인보드, 모든 부품을 연결하는 접착제
메인보드는 CPU, 메모리, 저장장치, 확장카드를 모두 연결해주는 주기판입니다. 조립 컴퓨터를 맞출 때 가장 먼저 고려해야 하는 부품이기도 합니다. 메인보드에는 시스템 버스와 I/O 버스가 배선되어 있고, 칩셋과 ROM이 장착되어 있습니다.
칩셋이 하는 일
칩셋은 CPU를 도와 메모리나 입출력장치를 제어하는 컨트롤러 칩들의 모임입니다. 전통적으로는 노스브리지와 사우스브리지로 나뉘었는데, 인텔은 이를 MCH(Memory Controller Hub)와 ICH(I/O Controller Hub)로 부릅니다. 최신 CPU에는 노스브리지의 기능이 대부분 CPU에 내장되어, 남은 기능을 PCH(Platform Controller Hub)라는 하나의 칩으로 통합했습니다.
- 칩셋도 운영체제와 호환을 위해 드라이버가 필요합니다.
- CPU 제조사와 칩셋 제조사가 달라도 메인보드 설계에 따라 사용 가능합니다.
- 단, 다른 제조사의 칩셋끼리는 보통 1:1 호환이 되지 않습니다.
메인보드 규격과 확장성
메인보드의 물리적 크기를 폼팩터라고 합니다. 이 규격이 컴퓨터 본체의 크기와 사용 가능한 CPU, 메모리 종류를 결정합니다. 메인보드에는 CPU 소켓, 메모리 소켓, I/O 확장 슬롯, 각종 포트가 달려 있습니다.
요즘은 랜카드, 비디오카드, 사운드카드 같은 기본 확장 기능이 CPU나 칩셋에 내장되는 추세입니다. 과거에 흔했던 구 버전의 I/O 슬롯과 포트는 점차 사라지고 있습니다.
시스템 버스, 데이터가 오가는 고속도로
버스는 CPU와 하드웨어 요소를 연결하는 신호선들의 집합입니다. 실제로는 64가닥의 가느다란 전선이 신호의 연결통로 역할을 합니다. 버스는 기능에 따라 세 가지로 나뉩니다.
- 주소 버스: CPU가 외부로 내보내는 주소 신호를 전송
- 데이터 버스: 실제 데이터를 주고받음
- 제어 버스: 각종 장치를 동작시키는 제어 신호를 전송
시스템 버스는 CPU와 메인메모리, 칩셋을 연결합니다. I/O 버스는 입출력장치와 I/O 컨트롤러 사이를 연결하는데, 입출력장치는 결국 I/O 컨트롤러를 통해 시스템 버스에 연결됩니다.
입출력장치, 인터럽트로 효율을 높이다
키보드, 마우스, 모니터, 프린터, 네트워크 어댑터 등 모든 입출력장치는 상대적으로 느립니다. CPU가 I/O 요청이 끝날 때까지 기다리면 처리 속도가 크게 떨어집니다. 이 문제를 해결하기 위해 인터럽트 방식을 사용합니다.
- 입출력장치가 작업을 완료하면 CPU에 인터럽트 신호를 보냅니다.
- CPU는 그동안 다른 작업을 처리하다가 인터럽트가 오면 해당 I/O 작업을 처리합니다.
- 이 방식으로 CPU가 유휴 상태로 기다리는 시간을 최소화합니다.
컴퓨터가 켜지는 순간, 부트스트랩 과정
컴퓨터 전원을 누르면 롬 바이오스(ROM BIOS) 가 가장 먼저 실행됩니다. 바이오스는 메인보드의 ROM(보통 플래시 메모리)에 내장된 시스템 소프트웨어입니다. 주로 어셈블리 언어로 작성되어 하드웨어를 직접 제어합니다.
- 바이오스는 CMOS SRAM에 저장된 시스템 설정 값을 읽어옵니다.
- 하드디스크 타입, 메모리 크기, 부팅 드라이브 우선순위 등을 확인합니다.
- 운영체제는 바이오스 정보를 바탕으로 하드웨어 상태를 파악하고 제어합니다.
부트스트랩(bootstrap)은 원래 가죽 신발의 고리 끈을 가리키는 말로, 작은 힘으로 큰 일을 한다는 의미에서 유래했습니다. 컴퓨터에서는 전원을 켰을 때 운영체제를 메모리에 적재(load)하는 과정을 부트스트랩이라고 합니다.
Q. CPU와 칩셋 제조사가 달라도 괜찮나요?
A. 가능합니다. 메인보드 설계에 따라 다른 제조사의 칩셋으로도 해당 CPU를 사용할 수 있습니다. 단, 제조사가 다른 칩셋끼리는 보통 1:1 호환되지 않으므로 메인보드 사양을 꼭 확인해야 합니다.
Q. 메모리와 저장장치(SSD)는 같은 개념인가요?
A. 아닙니다. 메모리는 CPU가 직접 데이터를 읽고 쓰는 반도체 메모리(RAM)를 가리킵니다. SSD나 HDD는 보조기억장치로, 하드웨어적으로 I/O 주소를 할당받기 때문에 입출력장치로 분류됩니다.
Q. CMOS 설정은 왜 필요한가요?
A. CMOS에는 부팅 드라이브 우선순위, 메모리 크기, 전원 관리 옵션, 부팅 패스워드 등 시스템 기본 환경이 저장됩니다. 하드웨어가 변경되면 이 설정을 수동으로 바꿔야 정상 동작할 수 있습니다.