CPU 코어와 스레드는 무엇이 다를까?

컴퓨터 사양을 살펴보다 보면 ‘6코어 12스레드’, ‘8코어 16스레드’와 같은 표현을 자주 볼 수 있다. 숫자가 클수록 성능이 좋아 보이지만, 코어와…
1 Min Read 0 24

컴퓨터 사양을 살펴보다 보면 ‘6코어 12스레드’, ‘8코어 16스레드’와 같은 표현을 자주 볼 수 있다. 숫자가 클수록 성능이 좋아 보이지만, 코어와 스레드가 정확히 무엇을 뜻하는지 모르면 CPU를 비교하기가 어렵다. 코어와 스레드는 모두 CPU가 일을 처리하는 능력과 관련되어 있지만 같은 개념은 아니다.

CPU는 컴퓨터의 중앙처리장치로, 프로그램의 명령을 읽고 계산하고 처리하는 역할을 한다. 과거에는 하나의 CPU 안에 하나의 코어만 있는 경우가 일반적이었다. 하지만 컴퓨터에서 동시에 처리해야 할 작업이 많아지면서 하나의 CPU 안에 여러 개의 코어를 넣는 멀티코어 구조가 보편화되었다.

코어는 CPU 내부에서 실제로 연산을 수행하는 독립적인 처리 장치라고 이해하면 쉽다. 예를 들어 4코어 CPU라면 CPU 안에 일을 처리할 수 있는 핵심 처리 장치가 4개 있다는 뜻이다. 여러 코어가 있으면 각 코어가 서로 다른 작업을 나누어 처리할 수 있기 때문에 동시에 여러 프로그램을 실행하거나 복잡한 연산을 수행할 때 유리하다.

가령 한 사람이 혼자 여러 가지 일을 차례로 처리하는 상황을 생각해보자. 한 사람이 문서 작성, 계산, 영상 인코딩, 인터넷 검색을 모두 맡으면 작업이 몰릴수록 시간이 오래 걸린다. 반면 네 사람이 각각 하나씩 일을 맡는다면 여러 작업을 동시에 진행할 수 있다. CPU의 코어 수가 늘어나는 것도 이와 비슷하다. 코어가 많을수록 동시에 처리할 수 있는 실제 작업 능력이 커지는 것이다.

그렇다면 스레드는 무엇일까? 스레드는 CPU가 처리하는 작업의 흐름 또는 작업 단위라고 볼 수 있다. 운영체제는 실행해야 할 프로그램의 작업을 여러 스레드로 나누고, CPU는 이 스레드들을 코어에 배분해 처리한다. 즉 코어가 실제 작업을 수행하는 일꾼이라면 스레드는 그 일꾼에게 전달되는 작업 흐름에 가깝다.

CPU 제품 설명에서 말하는 스레드 수는 보통 CPU가 동시에 처리할 수 있는 논리적인 작업 흐름의 수를 의미한다. 일부 CPU는 하나의 물리적 코어가 두 개의 스레드를 동시에 처리할 수 있도록 설계되어 있다. 인텔은 이러한 기술을 하이퍼스레딩이라고 불러 왔고, AMD 역시 SMT라는 동시 멀티스레딩 기술을 사용한다.

예를 들어 6코어 12스레드 CPU가 있다고 하자. 물리적인 코어는 6개지만 운영체제에서는 최대 12개의 논리적 처리 흐름을 사용할 수 있다. 그렇다고 해서 12스레드가 12개의 실제 코어와 완전히 같은 성능을 내는 것은 아니다. 하나의 코어가 두 스레드를 처리할 때는 코어 내부의 자원을 어느 정도 공유하기 때문이다.

이 차이가 매우 중요하다. 4코어 8스레드 CPU가 있다고 해서 8코어 8스레드 CPU와 같은 성능이라고 볼 수 없다. 일반적으로 실제 물리 코어가 많은 CPU가 무거운 병렬 작업에서 더 높은 성능을 낼 가능성이 크다. 스레드는 코어가 쉬는 시간을 줄이고 내부 자원을 더 효율적으로 활용해 처리량을 높이는 기술이라고 보는 것이 정확하다.

하나의 코어는 작업을 처리하는 동안 모든 연산 장치를 항상 100% 활용하지 않는다. 어떤 순간에는 데이터를 기다리거나 특정 연산 장치가 잠시 쉬는 구간이 생긴다. 이때 다른 스레드의 작업을 함께 처리하면 비어 있는 CPU 자원을 활용할 수 있다. 그래서 1코어 2스레드는 1코어 1스레드보다 효율이 좋아질 수 있지만 성능이 정확히 두 배가 되는 것은 아니다.

코어와 스레드가 많을수록 유리한 작업도 있다. 대표적인 예가 영상 편집, 3D 렌더링, 압축, 프로그램 컴파일, 과학 계산, 가상 머신 실행처럼 작업을 여러 부분으로 나누기 쉬운 프로그램이다. 이런 작업은 여러 코어와 스레드를 동시에 활용할 수 있기 때문에 코어 수가 증가할수록 처리 시간이 크게 줄어들 수 있다.

반면 모든 프로그램이 많은 코어를 제대로 활용하는 것은 아니다. 웹서핑이나 간단한 문서 작업처럼 CPU 부하가 크지 않은 작업에서는 16코어 CPU와 8코어 CPU의 차이를 체감하기 어려울 수 있다. 게임 역시 상황에 따라 다르다. 최근 게임들은 여러 코어를 적극적으로 활용하지만 여전히 각 코어의 처리 속도와 CPU 구조, 캐시 메모리, 메모리 성능 등이 중요한 영향을 미친다.

따라서 CPU 성능을 단순히 코어와 스레드 숫자만 보고 판단해서는 안 된다. 같은 8코어 16스레드 CPU라도 제조 세대와 아키텍처가 다르면 실제 성능 차이가 크게 날 수 있다. CPU의 클럭 속도, IPC, 캐시 용량, 전력 제한, 냉각 상태 등 여러 요소가 함께 성능을 결정한다.

코어와 스레드를 가장 간단하게 정리하면 코어는 실제로 계산을 수행하는 물리적인 처리 장치이고, 스레드는 CPU가 동시에 처리할 수 있는 논리적인 작업 흐름이다. 8코어 16스레드라고 표시된 CPU는 실제 코어 8개가 존재하며, 기술적으로 최대 16개의 작업 흐름을 동시에 처리할 수 있다는 의미다.

CPU를 고를 때는 사용 목적을 먼저 생각하는 것이 좋다. 인터넷, 문서 작성, 영상 시청이 중심이라면 지나치게 많은 코어가 필요하지 않을 수 있다. 반대로 영상 편집, 방송 송출, 3D 작업, 개발, 여러 프로그램을 동시에 실행하는 환경이라면 코어와 스레드가 많은 CPU가 훨씬 유리하다.

결국 코어는 CPU의 실제 일꾼 수이고 스레드는 그 일꾼들이 동시에 다룰 수 있는 작업 흐름이라고 이해하면 된다. 코어가 많으면 기본적인 병렬 처리 능력이 커지고, 스레드가 많으면 각 코어의 자원을 보다 효율적으로 활용할 수 있다. 이 차이를 이해하면 CPU 제품명 뒤에 붙은 ‘6코어 12스레드’ 같은 숫자가 단순한 사양 표기가 아니라 실제 사용 환경에서 어떤 성능 차이를 만들 수 있는지 훨씬 쉽게 판단할 수 있다.

ogi080124

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다