Computer Science/Operating System

혼자 공부하는 운영체제 - 5. CPU 성능 향상 기법

git-sun 2024. 7. 28. 15:29

혼자 정리한 운영체제

 

 

 

코어

CPU 내 명령어를 실행하는 부품

  • 멀티 코어 프로세서
    • 코어가 여러 개 있는 CPU

 

스레드

  • 하드웨어 스레드
    • 하나의 코어가 동시에 처리하는 명령어 단위
    • 논리 프로세서로도 불린다
    • 멀티 스레드 프로세서
      • 하나의 코어로 여러 개의 명령어를 동시에 처리하는 CPU
  • 소프트웨어 스레드
    • 하나의 프로그램에서 독립적으로 실행되는 단위
    • 일반적으로 스레드라고 불린다

 

 

명령어 병렬 처리 기법

  • ILP, Instruction - Level Parallelism
  • 종류
    • 명령어 파이프라이닝
      • 동시에 여러 개의 명령어를 겹쳐 실행하는 기법
    • 수퍼 스칼라
      • 파이프라인을 여러 개 두어 명령어를 처리하는 기법
    • 비순차적 명령어 처리
      • OoOE, Out-of-Order Execution
      • 비순차적으로 명령어를 처리하는 기법
  • 파이프라인 위험
    • 데이터 위험
      • 명령어 간 데이터 의존성에 의해 발생하는 위험
    • 제어 위험
      • 분기 등으로 인한 프로그램 카운터의 갑작스러운 변화에 의해 발생하는 위험
      • 분기 예측으로 위험 관리 가능 
    • 구조적 위험
      • 서로 다른 명령어가 같은 CPU 부품을 사용하려할 때 발생하는 위험
      • 자원 위험으로도 불린다

 

 

명령어 집합 구조

  • ISA, Instruction Set Architecture
    • 명령어 집합(Instruction Set)으로도 불린다
    • CPU의 언어
    • 하드웨어가 소프트웨어를 어떻게 이해할지에 대한 약속
  • CISC
    • Complex Instruction Set Computer
    • 가변 길이 명령어 사용
    • 프로그램 내 명령어 수 적음
    • 여러 클럭에 걸쳐 명령어 수행
    • 파이프라이닝 어려움
  • RISC
    • Reduced Instruction Set Computer
    • 고정 길이 명령어 사용
    • 프로그램 내 명령어 수 많음
    • 한 클럭 내외로 명령어 수행
    • 파이프라이닝 쉬움

 

 

 

 

 

 

반응형