본문 바로가기
CS/컴퓨터 구조&운영체제

[컴퓨터 구조 &운영체제] 6.CPU 설계

by supernovaMK 2024. 4. 30.

클럭


컴퓨터는 클럭 신호에 맞추어 작동한다. 클럭 속도가 높아지면 CPU는 명령어 사이클을 더 빠르게 반복하게 될 것이다.

즉 1초에 몇번의 클럭이 발생하는지가 중요한 것이다. 

 

클럭 속도 단위는 헤르츠이다. 1초에 100번의 클럭이 있다면 100헤르츠 인 셈이다.

 

 

이렇다 한들 무작정 클럭을 높히게 되면 과열이 일어나 처리하기 어려워진다.

 

 

 


코어 & 멀티 코어


 

현대적인 CPU의 개념은 조금 바뀌었다. 가령 CPU에는 여러개의 코어가 들어가기 시작했다. 코어란 일을 처리하는 부품이다. 즉 한 CPU에는 일을 처리할 여러 코어들이 들어가게 생기게 되었다.

 

코어도 클럭과 마찬가지로 무작정 많은 것이 좋은 상황이 아니다. 적절한 코어 개수가 적절한 일의 분배를 하였을 때 최상의 효율을 나타낸다.

 

 

 


스레드 & 멀티 스레드


하드웨어적 스레드

하나의 코어가 동시에 처리하는 명령어 단위를 뜻한다.

이를 멀티스레드 프로세서 또는 멀티스레드 CPU라고 한다.

 

소프트웨어적 스레드

 

하나의 프로그램에서 독립적으로 실행되는 단위를 의미한다.

 

 

 

 


 

 

앞서 말한 두 스레드 관점으로 보면 1코어 1스레드 CPU도 스레드를 수십 개 실행 할 수 있다라는 말이 와 닿을 것이다.

비록 하드웨어적 스레드가 1개이더라도 여러 프로그램을 동시에 사용할 수 있다.

 

 

 

하드웨어 스레드가 가능한것은 하나의 코어에 하나의 명령어를 실행시킬 수 있는 레지스터 세트를 여러개 두는 것이다.

 

 

 

ALU와 제어장치가 예로 두개의 레지스터 세트에서의 명령어 처리를 담당할 수 있다면 동시에 두개의 명령어를 실행 할 수 있는 것이다.