[OS] 멀티 프로세싱

귀찮Lee·2023년 4월 5일
0

Operating System

목록 보기
8/14

◎ 병렬 처리 개념

  • 파이프라인 기법 : 하나의 코어에 여러 개의 스레드를 이용하는 방식
  • 슈퍼스칼라 기법 : 듀얼 코어 CPU를 이용해 2개의 작업을 동시에 처리하는 방식

◎ 병렬 처리 고려 사항

  • 상호 의존성이 없어야 병렬 처리가 가능

    • 각 명령이 독립적이고 앞의 결과가 뒤의 명령에 영향을 미치지 않아야 함
  • 각 단계의 시간을 일정하게 맞춰야 병렬 처리가 원만하게 이루어짐

    • 오랜 시간이 걸리는 작업 때문에 전체 작업 시간이 늘어날 수 있다.

  • 전체 작업 시간을 몇 단계로 나눌지 잘 따져야 함

    • 동시에 병렬처리 할 수 있는 수가 많을수록 기본적으로 전체 작업 시간이 줄어듦
    • 하지만 작업을 너무 많이 나누면 각 단계마다 작업을 이동하고 새로운 작업을 불러오는 데 시간이 너무 많이 걸려서 오히려 성능이 떨어짐

◎ 명령어 실행 과정

  1. IF (Instruction Fetch) : 명령어 인출 (다음에 실행할 명령어를 레지스터에 저장함)
  2. ID (Instruction Decode) : 명령어 해독
  3. EXE (Execution) : 실행
  4. MEM (Memory) : 메모리로 이동
  5. WB (Write Back) : 쓰기 및 저장

◎ 병렬 처리 기법

  • 슈퍼 스칼라 기법 (super-scalar)

    - 파이프라인을 처리할 수 있는 코어를 여러개 구성하여 복수의 명령어가 동시에 실행되도록 하는 방식 - 코어를 2개 구성하여 각 단계에서 동시에 실행하는 명령러가 2개임
  • 슈퍼파이프라인 기법 (super-pipeline)

    - 파이프라인의 각 단계를 세분하여 한 클록 내에 여러 명령어를 처리 - 한 클록 내에 여러 명령어를 실행하면 다음 명령어가 빠른 시간 안에 시작될 수 있어 병렬 처리 능력이 높아짐
  • 슈퍼파이프라인 슈퍼스칼라 기법

    - 슈퍼파이프라인 기법을 여러 개의 코어에서 동시에 수행하는 방식
profile
장비를 정지합니다.

0개의 댓글