[ 출처 ]
혼자 공부하는 컴퓨터 구조 + 운영체제 05강
https://www.youtube.com/watch?v=kFWP6sFKyp0
[ CPU 설계 기법 ]
헤르츠(Hz)
= 1초에 클럭이 반복되는 횟수
= 클럭이 1초에 100번 반복되면 100Hz
코어
= CPU 내에서 명령어를 실행하는 부품
= 여러 개 있을 수 있음 (멀티 코어)
스레드
= 실행 흐름의 단위
= 하드웨어적 스레드 + 소프트웨어적 스레드
하드웨어적 스레드
= 하나의 코어가 동시에 처리하는 명령어 단위
= 여러 개 처리할 수 있음 (멀티 스레드)
= 멀티 스레드 프로세서의 핵심은 레지스터
= 하나의 명령어를 실행하기 위해 꼭 필요한 레지스터 세트들이 스레드 수만큼 있어야 함
2코어 4스레드 CPU
= 2개의 코어가 존재
= 각 코어가 동시에 2개의 명령어 처리
= CPU가 동시에 2 X 2 = 4 개의 명령어 처리
소프트웨어적 스레드
= 하나의 프로그램에서 독립적으로 실행되는 단위
= 하드웨어적 스레드와 무관
= 1코어 1스레드 CPU도 여러 소프트웨어적 스레드 만들 수 있음
[ 명령어 병렬 처리 기법 ]
명령어 처리 과정
1. 명령어 인출
2. 명령어 해석
3. 명령어 실행
4. 결과 저장
명령어 파이프라인
= 같은 단계가 겹치지만 않는다면 CPU는 각 단계를 동시에 실행할 수 있음
= 빠르게 명령어 실행 가능
파이프라인 위험
= 명령어 파이프라인 성능 향상에 실패하는 경우
= 데이터 위험 + 제어 위험 + 구조적 위험
데이터 위험
= 명령어 간의 의존성에 의해 발생
= 이전 명령어를 끝까지 실행해야만 실행 가능한 경우
제어 위험
= 프로그램 카운터의 갑작스러운 변화에 의해 발생
= jump, call, 인터럽트 등등
구조적 위험
= 서로 다른 명령어가 같은 CPU 부품(ALU, 레지스터)를 쓰려고 할 때 발생
슈퍼스칼라
= CPU 내부에 여러 개의 명령어 파이프라인을 포함하는 구조
= 멀티 스레드 프로세서
= 파이프라인 개수에 비례하여 처리 속도 증가 + 파이프라인 위험도의 증가로 인해 처리 속도 감소
비순차적 명령어 처리
= 파이프라인의 중단을 방지하기 위해 명령어를 순차적으로 처리하지 않는 명령어 병렬 처리 기법
[ ISA, CISC & RISC ]
명령어 집합 구조 (ISA)
= CPU가 이해할 수 있는 명령어 모음
= 인텔의 CPU는 일반적으로 x86, x86-64 명령어 집합을 따름
= 애플의 CPU는 일반적으로 ARM 명령어 집합을 따름
CISC (Complex Instruction Set Computer)
= 복잡하고 다양한 수의 가변 길이 명령어 집합을 활용
= 프로그램을 이루는 명령어의 수가 적음
= 명령어 파이프라이닝 어려움
= x86, x86-64
RISC (Reduced Instruction Set Computer)
= 단순하고 적은 수의 고정 길이 명령어 집합을 활용
= 프로그램을 이루는 명령어의 수가 많음
= 명령어 파이프라이닝 쉬움
= ARM
'CS > 컴퓨터 구조' 카테고리의 다른 글
[ 컴퓨터 구조 ] 메모리 종류 (1) | 2025.03.21 |
---|---|
[ 컴퓨터 구조 ] CPU 내부 (0) | 2025.02.03 |
[ 컴퓨터 구조 ] 명령어 (0) | 2025.01.22 |
[ 컴퓨터 구조 ] 전체적인 컴퓨터 구조 (0) | 2025.01.14 |