Company
교육 철학

하드웨어와 컴파일

컴퓨터를 구성하는 주변장치들은 각각의 역할이 있습니다.
모니터는 컴퓨터가 처리한 결과를 화면으로 보여주는 영상 출력 장치입니다. 우리가 작성한 코드의 실행 결과나 프로그램의 인터페이스를 눈으로 확인할 수 있게 해줍니다.
스피커는 소리를 출력하는 장치로, 게임이나 멀티미디어 프로그램에서 음악, 효과음 등을 재생할 때 사용됩니다.
키보드는 문자와 명령을 입력하는 장치입니다. 프로그래밍을 할 때 코드를 작성하거나, 프로그램 실행 중 데이터를 입력할 때 사용합니다.
마우스는 그래픽 사용자 인터페이스(GUI)에서 포인터를 움직이고 클릭하여 명령을 내리는 입력 장치입니다.
[컴퓨터 본체]

[CPU]

CPU는 Central Processing Unit의 약자로, 우리말로는 '중앙 처리 장치'라고 부릅니다.
CPU는 컴퓨터의 두뇌와 같은 역할을 합니다. 컴퓨터에서 일어나는 모든 연산과 제어를 담당하는 핵심 부품입니다. 화면에 무언가를 출력하는 것부터 키보드와 마우스의 입력을 처리하고, 사운드를 재생하며, 간단한 사칙연산부터 복잡한 수학 계산까지 모든 작업을 CPU가 처리합니다.
컴퓨터 본체 내부의 여러 부품 중에서 CPU는 가장 빠른 처리 속도를 자랑합니다. 그만큼 컴퓨터의 성능을 결정하는 가장 중요한 부품이라고 할 수 있습니다.
CPU의 성능을 판단할 때는 여러 요소를 살펴봐야 합니다. 제조공정(nm 단위로 표시되며 작을수록 효율적), 코어 개수, 쓰레드 수, 동작 클럭(GHz 단위) 등이 대표적인 성능 지표입니다.
특히 코어(Core)는 실제로 연산을 수행하는 처리 장치입니다. 과거에는 CPU 하나에 코어가 하나만 있었지만, 현대의 CPU는 여러 개의 코어를 가지고 있습니다. 이를 쉽게 비유하자면, CPU라는 회사에 일꾼(코어)을 여러 명 고용하는 것과 같습니다.
코어가 2개면 듀얼코어, 4개면 쿼드코어, 8개면 옥타코어라고 부릅니다. 코어가 많을수록 여러 작업을 동시에 처리할 수 있어서 멀티태스킹 성능이 향상됩니다. 예를 들어, 게임을 하면서 동시에 음악을 듣고 인터넷을 할 때 각 작업을 서로 다른 코어에서 처리할 수 있습니다.
따라서 코어의 개수가 많을수록 CPU의 성능이 향상되는 경향이 있습니다. 실제로 고성능 CPU일수록 더 많은 코어를 탑재하고 있습니다. 다만 프로그램이 멀티코어를 제대로 활용하도록 설계되어야 그 성능을 온전히 발휘할 수 있다는 점도 알아두면 좋습니다.

[메인보드]

메인보드는 컴퓨터의 심장부라고 할 수 있습니다.
메인보드는 컴퓨터 본체 내부에서 모든 부품들을 하나로 연결해주는 기판입니다. CPU, 메모리(RAM), 그래픽카드, 저장장치 등 모든 주요 부품들이 메인보드에 연결되어 서로 데이터를 주고받을 수 있게 됩니다.
메인보드 위에는 각 부품을 꽂을 수 있는 슬롯과 소켓이 있으며, 부품들 간의 데이터 전송을 위한 회로가 새겨져 있습니다. 컴퓨터의 뼈대이자 신경망이라고 할 수 있습니다.

[램(메모리)]

컴퓨터에서 영구적으로 데이터를 저장하는 부품은 저장장치(SSD, HDD)입니다. 그렇다면 램(RAM)은 왜 필요할까요?
그 이유는 속도 차이 때문입니다. CPU는 매우 빠른 속도로 작동하지만, 저장장치는 상대적으로 느립니다. 만약 CPU가 필요한 데이터를 저장장치에서 직접 가져온다면, 느린 저장장치 때문에 빠른 CPU가 계속 기다려야 하는 상황이 발생합니다.
이 문제를 해결하기 위해 중간에 램(RAM, Random Access Memory)이라는 고속 메모리를 배치합니다. 램은 CPU와 거의 비슷한 속도로 데이터를 주고받을 수 있어서, CPU가 작업할 데이터를 미리 램에 올려두면 훨씬 빠르게 처리할 수 있습니다.
프로그램을 실행하면 그 프로그램의 코드와 데이터가 저장장치에서 램으로 복사되고, CPU는 램에 있는 데이터를 빠르게 읽고 쓰면서 작업을 수행합니다.
다만 램에는 한 가지 중요한 특징이 있습니다. 바로 휘발성 메모리라는 점입니다. 컴퓨터의 전원이 꺼지면 램에 저장되어 있던 모든 데이터가 사라집니다. 그래서 작업한 내용을 영구적으로 보관하려면 반드시 저장장치(SSD, HDD)에 저장해야 합니다.
정리하면, 램은 프로그램을 빠르게 실행하기 위한 임시 작업 공간이고, 저장장치는 데이터를 영구적으로 보관하는 공간입니다.

[HDD, SSD]

컴퓨터를 사용하면서 만드는 모든 파일과 데이터는 저장장치에 보관됩니다. 저장장치는 크게 HDD(Hard Disk Drive)와 SSD(Solid State Drive) 두 가지 종류가 있습니다.
HDD는 내부에 자기 디스크가 회전하면서 데이터를 읽고 쓰는 방식입니다. 용량 대비 가격이 저렴하지만, 물리적으로 회전하는 부품이 있어서 속도가 상대적으로 느리고 충격에 약합니다.
SSD는 반도체 칩에 전기적으로 데이터를 저장하는 방식입니다. 기계적인 부품이 없어서 매우 빠르고 조용하며 충격에도 강합니다. 다만 HDD에 비해 용량 대비 가격이 비쌉니다.
최근에는 SSD가 가격이 많이 내려가면서 운영체제와 프로그램은 SSD에 설치하고, 대용량 파일 보관용으로 HDD를 함께 사용하는 경우가 많습니다.

[그래픽 카드]

그래픽카드(GPU, Graphics Processing Unit)는 화면에 표시되는 이미지를 처리하는 부품입니다.
화면은 수많은 작은 점(픽셀)들로 이루어져 있습니다. 예를 들어 풀HD 해상도는 1920x1080, 즉 약 200만 개의 픽셀로 구성됩니다. 그래픽카드는 이 모든 픽셀의 색상을 계산하고 처리하는 역할을 합니다.
특히 게임이나 3D 그래픽 작업을 할 때는 초당 60번 이상 화면 전체를 다시 그려야 하므로 엄청난 양의 연산이 필요합니다. 이런 작업을 전문적으로 처리하는 것이 그래픽카드입니다.
모든 컴퓨터에 별도의 그래픽카드가 필요한 것은 아닙니다. CPU에 내장된 내장그래픽만으로도 일반적인 작업이나 가벼운 게임은 충분히 가능합니다. 하지만 고사양 게임이나 3D 모델링, 영상 편집 등의 작업을 한다면 별도의 고성능 그래픽카드가 필요합니다.
GPU의 가장 큰 특징은 병렬 처리 능력입니다. CPU가 복잡한 연산을 순차적으로 빠르게 처리하는 것에 특화되어 있다면, GPU는 단순하지만 수많은 연산을 동시에 처리하는 것에 특화되어 있습니다.
이런 특성 때문에 최근에는 그래픽 처리뿐만 아니라 인공지능 학습, 암호화폐 채굴, 과학 계산 등 대량의 병렬 연산이 필요한 분야에서도 GPU가 활발히 사용되고 있습니다.