2000년대 초반까지 CPU의 성능 향상은 주로 clock speed의 개선을 통해 이루어 졌으나
이후 이러한 방식은 발열과 전력손실이라는 기술적 한계가 있었다.
속도 개선에 한계를 느낀 CPU 제조사들은 하나의 CPU에 2개 이상의 코어를 탑제하는 멀티 코어 기술로 전환 하였다.
이를 칩 레벨 멀티프로세서(CMP)라고도 한다.
유사한 멀티쓰레딩( = 하이퍼쓰레딩) 기술이 있다. 동시 멀티스레딩(Simultaneous multithreading, SMT
하나의 CPU를 외부로부터 2개처럼 보이게 한다는 점에서는 같지만, 실제로 존재하는 코어는 싱글 코어라는 점에서 멀티 코어 기술과 근본적으로 다르다
이 2개의 기술은 기존의 멀티 쓰레딩 기술에 부가적인 병렬 처리가 가능하도록 함으로써 CPU 성능 향상에 큰 기여를 하였다.
예를 들어
CPU report
Total number of CPUs: 1
Total number of (virtual) cores: 12
CPU ID 0
CPU model: Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GHz
CPU cores: 6
You have a server with "Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GHz" CPU.
This processor has 6 physical cores.
If hyper-threading enabled for the processor, you getting 12 virtual cores
<참조>
.