IT 기술/CA & OS

파이프라인 해저드

gooooooood 2024. 12. 17. 18:06
반응형

Ⅰ. 파이프라인 지연 현상, 파이프라인 해저드의 개요

가. 파이프라인 해저드의 개념

- 명령어 실행 지속이 불가하여 지정된 클럭에서 수행되는 파이프라인이 지연, 중지되는 현상

 

나. 파이프라인 해저드의 유형

유형 특징 발생 원인
구조적 H/W 자원 충돌 - 자원 충돌로 여러 명령의 동시 수행 시 발생
데이터 선행/후행 명령어 충돌 - 미수행된 명령의 결과값 참조 시도 시 발생
제어 분기 명령 충돌 - 순차적 명령어가 분기에 의해 버려지는 경우 발생

 

Ⅱ. 해저드 유형별 해결 방안

가. 구조적 해저드 해결 방안

구분 설명 비고
하드웨어/리소스 추가 - 리소스 혹은 하드웨어 추가
- 메모리 동시 접근으로 해결
- H/W 병렬 구성
하버드 아키택처 사용 - 데이터와 명령어를 각가의 메모리에 분리하여 메모리 동시 접근 - 데이터, 명령어 메모리 분리
메모리 인터리빙 - 메모리 모듈별로 병렬 접근을 수행하여 메모리 동시 접근 - 인터리빙 통한 H/W 병렬 구성
지연 - NOP 명령어 추가하여 파이프라인 수행 일시정지 - No Operation 명령어

 

나. 데이터 해저드 해결방안

구분 설명 비고
전방 전달 - 레지스터 파일에 반영되기 전에 수행 단계에서 계산된 결과 다음 으로 전달 - H/W 추가 필요
지연 - 컴파일러 수준에서 해저드 발견, NOP 명령어 삽입 - NOP 명령어
비순차 실행 - 접근 중인 데이터와 관련 없는 명령어 삽입 실행 - 컴파일러 수준 코드 실행 변경
프로그래밍 방식 - 변수를 늘리거나 계산이 완료된 후 한번에 실행 - 레지스터 고려 프로그래밍

 

다. 제어 해저드 해결 방안

구분 설명 비고
분기 예측 - 분기 예측하고 지연 발생 예방 - 정적 예측, 동적 예측
브랜치 지연 - 컴파일러가 분기 발견, 프로그램 순서 재배치 - 비순차 실행과 유사
프로그래밍 방식 - 조건 분기 최소화하도록 프로그래밍 - Inline 메소드, Loop unrolling

 

반응형

'IT 기술 > CA & OS' 카테고리의 다른 글

운영체제 인터럽트  (0) 2024.12.17
세마포어, 모니터  (0) 2024.12.17
CPU 주소 지정 방식  (0) 2024.12.17
GPGPU  (0) 2024.12.16
RAID  (0) 2024.12.16