2주차 (1/8 ~ 1/14)
chapter. 04 : CPU의 작동 원리
chapter. 05 : CPU 성능 향상 기법
📌 클럭
클럭 속도가 높이지면 CPU는 명령어 사이클 더 빠르게 반복
📌 코어와 멀티 코어
코어 : CPU내에서 명령어 실행하는 부품
멀티코어프로세스 : 여러개의 코어를 포함하는 CPU
📌 스레드
하드웨어적 스레드: 하나의 코어가 동시에 처리하는 명령어
멀티스레드 프로세서 : 하나의 코어로 여러 개의 명령어를 동시에 실행 할 수 있는 CPU
명령어를 동시에 처리하여 CPU 한시도 쉬지 않고 작동시키는 기법
인출 -> 해석 -> 실행-> 결과 저장
하나의 명령어가 처리되는 전체과정을 일정한 시간 단위로(클럭) 나눈 것
파이프라인을 이해하려면 명령어를 일정한 간격으로 나눠야 한다.
📌 명령어 파이프라인 적용하지 않았을 때 처리 과정
📌 명령어 파이프라인 적용
📌 슈퍼스칼라
멀티스레드 프로세서(한번에 여러개의 명령어 처리)는 슈퍼스칼라 구조 이용
📌 파이프라인 위험
데이터 위험 : 데이터간 의존성으로 데이터 처리 순서에 영향
제어 위험 : 프로그램 카운터의 갑작스러운 변화
구조적 위험 : 명령어 겹쳐 실행하는 과정에서 동시에 서로 다른 명령어가 ALU, 레지스터 등 자원 사용하려고 할때
순차적으로 명령어를 처리하는 명령어 파이프라인, 슈퍼스칼라의 단점인 파이프라인 위험을 보완하기 위해 등장한 것이 비순차적 명령어 처리 기법이다.
📌 비순차적 명령어 처리 기법
파이프라인 중단을 방지하기 위해 명령어를 순차적으로 처리하지 않는 기법
파이프라이닝에 적합한 명령어의 구조
p. 155의 확인 문제 4번 풀고 인증하기
코어
2코어 2스레드로 구성된 CPU
Ch.05(05-1) 코어와 스레드, 멀티 코어와 멀티 스레드의 개념을 정리하기
✅ 코어
지금까지 CPU 정의로 알고 있던 '명령어를 실행하는 부품'이 오늘날 코어
CPU는 '명령어를 실행하는 부품을 여러개 포함하는 부품'으로 정의
✅ 멀티코어
코어를 여러개 포함하는 CPU
를 멀티코어 또는 멀티코어프로세서라 한다.
CPU내에 명령어를 처리하는 일꾼이 여러명 있는 것과 같다.
✅ 스레드
하나의 코어가 동시에 처리하는 명령어 단위
✅ 멀티스레드(하드웨어 스레드 기준)
하나의 코어로 여러 명령어를 동시에 처리하는 기술
ex) 2코어 4스레드 : 명령어 실행하는 부품 두개이고, 힌 번에 네개의 명령어를 처리할 수 있는 CPU