1. CPU를 빠르게 만들기
클럭을 빠르게 돌리면 되지 않을까? >> 일반적으로 클럭주기가 짧으면 빠르게 실행이 가능, BUT 발열이 심해진다
클럭 속도는 CPU가 어느정도 유기적으로 변화하면서 수행도 가능하다
- 코어수를 늘리는 방법
- 스레드를 늘리는 방법
2. 코어와 멀티 코어
![](https://velog.velcdn.com/images/taemin-steve/post/10618b31-6758-4f90-87fc-cc5d5b687ca8/image.png)
- 코어란? : 최근에는 CPU 안에 명령어를 실행하는 부품이 여러개가 존재한다.
- 멀티코어 : CPU 안에 여러개의 코어가 존재하는 형태.
- 하지만 꼭 코어 수에 비례해서 속도가 증가하지는 않는다 >> 적절하게 잘 명령어를 분배해 주어야 함
3. 스레드와 멀티 스레드
![](https://velog.velcdn.com/images/taemin-steve/post/1a3a6708-4677-4bee-aebb-213b86fe40de/image.png)
- 하드웨어적 스레드 : 하나의 코어가 동시에 처리하는 명령어의 단위
![](https://velog.velcdn.com/images/taemin-steve/post/0fb66471-ff95-4e53-a860-1a8f1dc52a1b/image.png)
명령어 실행을 위해 필수적인 레지스터 세트를 여러개 가지고 있다면 스레드를 만들 수 있음
![](https://velog.velcdn.com/images/taemin-steve/post/5f8506d2-c40c-4f14-9409-69f2511d626e/image.png)
프로그램은 스레드를 알 수 없고, 그렇기에 논리 프로세서 라고 부르기도 한다.