Starbucks Caramel Frappuccino
본문 바로가기
  • 그래 그렇게 조금씩
Computer Science/컴퓨터 구조

8. CPU 설계 기법(클럭, 코어, 스레드)

by Toughie 2023. 8. 16.

📱CPU 설계 기법📱

컴퓨터를 빠르게 하려면??

 

1. 컴퓨터 부품들은 '클럭 신호'에 맞춰서 움직이고, CPU는 '명령어 사이클' 흐름에 맞춰 명령어들을 실행한다.

 

-> 클럭 주기를 빠르게 만들어 주면 '일반적으로' CPU를 포함한 부품들이 빠르게 동작한다.

but 클럭 속도를 과도하게 높이면.. '발열' 문제가 생김.

 

클럭 속도: 헤르츠(Hz) 단위 측정_ 1초에 클럭이 반복되는 횟수 (ex. 4.9GHz는 1초에 49억번)

 

2. 코어 수를 늘리기

전통적으로 명령어를 실행하는 부품은 CPU 내부에 하나만 존재했다. 하지만 기술이 발전함에 따라
CPU 내부에 명령어를 실행하는 부품이 여러개 존재하게 되었고, 이제 명령어를 실행하는 부품을 '코어'라 부른다.

코어를 여러개 가지고 있는 CPU를 '멀티코어 프로세서'라고 함. (ex. 듀얼코어, 쿼드코어, 옥사코어 등)

 

그러면 코어를 늘리면 늘릴 수록 연산 속도도 비례해서 빨라질까? 꼭 그렇지는 않다.

사람이 많아진다고 효율과 생산성이 비례해서 증가하지는 않듯이..

명령어를 코어에 적절하게 분배하는 것이 더 중요함.

 

3. 스레드 수를 늘리기.

스레드는 '실행 흐름의 단위' but 하드웨어의 스레드와 소프트웨어의 스레드는 다르다.

스레드(하드웨어적 스레드, 소프트웨어적 스레드)

 

하드웨어 스레드: 하나의 코어가 동시에 처리하는 '명령어 단위'_논리 프로세서라고 부르기도 함

이렇게 여러개의 명령어를 처리할 수 있는 프로세서를 '멀티 스레드 프로세서, 멀티 스레드 CPU'라고 함.

ex. 하이퍼스레딩: 인텔의 멀티스레드 기술을 말함.

 

멀티스레드 프로세서에서 핵심은 '레지스터'

 

vs

 

소프트웨어 스레드: 하나의 프로그램(프로세스)에서 독립적으로 실행되는 단위

보통 앱 안에는 여러 기능이 존재한다. 

메모 앱의 경우.. 유저로부터 입력받은 내용의 맞춤법을 검사하고, 주기적으로 저장하고, 화면에 표시하는 기능이 있을 수 있다.

이 기능을 전부 동시에 실행한다고 가정.

1코어 1스레드 CPU도 여러개의 소프트웨어 스레드를 만들 수 있음! 즉 하드웨어, 소프트웨어 스레드는 다르다는 것

여기서 '동시에' 실행한다는 것은 Concurrency

즉 엄청 빠른 속도로 번갈아며 실행되기 때문에 '동시에' 실행되는 것처럼 보이는 것을 말한다.

(동시에 출발!과 같은 맥락은 '병렬'처리가 더 맞음.)

 

 

 

학습 출처: https://www.youtube.com/watch?v=bls_GjX-4U8&list=PLVsNizTWUw7FCS83JhC1vflK8OcLRG0Hl 

'Computer Science > 컴퓨터 구조' 카테고리의 다른 글

10. 명령어 집합 구조, CISC, RISC  (0) 2023.08.20
9. 명령어 병렬 처리 기법  (0) 2023.08.18
7. 명령어 사이클과 인터럽트  (0) 2023.08.13
6. 레지스터  (0) 2023.08.13
5. ALU와 제어장치  (0) 2023.08.10