03. [혼공컴운]2주차_ 05. CPU의 성능향샹 기법

hyewoon·2024년 1월 12일
0

2주차 (1/8 ~ 1/14)
chapter. 04 : CPU의 작동 원리
chapter. 05 : CPU 성능 향상 기법

Chapter. 05 CPU의 성능 향상 기법


빠른 CPU를 위한 설계 기법


📌 클럭
클럭 속도가 높이지면 CPU는 명령어 사이클 더 빠르게 반복

📌 코어와 멀티 코어
코어 : CPU내에서 명령어 실행하는 부품
멀티코어프로세스 : 여러개의 코어를 포함하는 CPU

📌 스레드
하드웨어적 스레드: 하나의 코어가 동시에 처리하는 명령어
멀티스레드 프로세서 : 하나의 코어로 여러 개의 명령어를 동시에 실행 할 수 있는 CPU

명령어 병렬 처리 기법


명령어를 동시에 처리하여 CPU 한시도 쉬지 않고 작동시키는 기법

인출 -> 해석 -> 실행-> 결과 저장
하나의 명령어가 처리되는 전체과정을 일정한 시간 단위로(클럭) 나눈 것
파이프라인을 이해하려면 명령어를 일정한 간격으로 나눠야 한다.

📌 명령어 파이프라인 적용하지 않았을 때 처리 과정

📌 명령어 파이프라인 적용

📌 슈퍼스칼라
멀티스레드 프로세서(한번에 여러개의 명령어 처리)는 슈퍼스칼라 구조 이용

📌 파이프라인 위험

  • 데이터 위험 : 데이터간 의존성으로 데이터 처리 순서에 영향

  • 제어 위험 : 프로그램 카운터의 갑작스러운 변화

  • 구조적 위험 : 명령어 겹쳐 실행하는 과정에서 동시에 서로 다른 명령어가 ALU, 레지스터 등 자원 사용하려고 할때

    순차적으로 명령어를 처리하는 명령어 파이프라인, 슈퍼스칼라의 단점인 파이프라인 위험을 보완하기 위해 등장한 것이 비순차적 명령어 처리 기법이다.

📌 비순차적 명령어 처리 기법
파이프라인 중단을 방지하기 위해 명령어를 순차적으로 처리하지 않는 기법

CISC와 RISC


파이프라이닝에 적합한 명령어의 구조

🏅기본미션

p. 155의 확인 문제 4번 풀고 인증하기

코어
2코어 2스레드로 구성된 CPU

🎁선택미션

Ch.05(05-1) 코어와 스레드, 멀티 코어와 멀티 스레드의 개념을 정리하기

코어
지금까지 CPU 정의로 알고 있던 '명령어를 실행하는 부품'이 오늘날 코어
CPU는 '명령어를 실행하는 부품을 여러개 포함하는 부품'으로 정의

멀티코어
코어를 여러개 포함하는 CPU를 멀티코어 또는 멀티코어프로세서라 한다.
CPU내에 명령어를 처리하는 일꾼이 여러명 있는 것과 같다.

스레드

  • 하드웨어적 스레드 : 하나의 코어가 동시에 처리하는 명령어 단위
  • 소프트웨어적 스레드 : 하나의 프로그램에서 독립적으로(동시에, 한번에) 실행되는 단위
    ex) 입력값 화면에 보여주는 기능, 입력값 저장하느 기능 이 두가지 기능을 동시에 수행할 수 있음

멀티스레드(하드웨어 스레드 기준)
하나의 코어로 여러 명령어를 동시에 처리하는 기술
ex) 2코어 4스레드 : 명령어 실행하는 부품 두개이고, 힌 번에 네개의 명령어를 처리할 수 있는 CPU

profile
곰곰

0개의 댓글