전공/컴퓨터구조

[컴퓨터구조] #8 파이프라이닝 - 추가 사설 문제

Campus Coder 2023. 4. 25. 18:33
728x90
반응형

문제

  1. 파이프라이닝이란 무엇인가요?
  2. 파이프라인 데이터패스 및 제어에서 5단계의 파이프라인으로 구성되는데 각 단계의 이름과 역할은 무엇인가요?
  3. 해저드(Hazzard)란 무엇인가요?
  4. 해저드의 유형은 무엇인가요?
  5. 데이터 해저드를 해결하는 방법은 무엇인가요?

 


정답

  1. 파이프라이닝은 클럭스피드가 일정한 상태에서 처리성능을 개선하는 기술입니다. 전체 작업을 여러 개의 단계로 나눠 분산처리하여 병렬성 증가를 통해 성능 개선합니다. 이전 명령이 실행완료되기 전에 다음 명령어 실행 시작합니다. RISC 프로세서를 전제로 설계됩니다.
  2. 파이프라인 데이터패스 및 제어에서 5단계의 파이프라인으로 구성되며 각 단계의 이름과 역할은 다음과 같습니다: IF(Instruction Fetch) - 명령어 인출, ID(Instruction Decode & Read RegisterFile) - 명령어 디코딩 및 레지스터 파일 읽기, Ex(Execute & Address Calculation) - 실행 및 주소 계산, MEM(Data Memory Access) - 데이터 메모리 접근, WB(Write Back) - 레지스터 파일에 쓰기.
  3. 해저드(Hazzard)란 명령어가 파이프라인에서 정상적으로 실행되지 않는 상황을 말합니다. 실행불가(stall 발생) - 파이프라인 버블(bubble)이 발생합니다.
  4. 해저드의 유형으로는 구조적 해저드(같은 클럭사이클에서 동시에 실행하도록 원하는 명령어의 조합을 지원하지 않음), 데이터 해저드(명령어를 실행하기 위한 데이터가 준비가 되지 않아 생기는 지연 -> 전방전달/우회전달), 제어 해저드(조건에 따른 실행(if)일 경우 어떤 상황이냐에 따라 밀어 넣은 명령어가 의미 없어지는 경우)가 있습니다.
  5. 데이터 해저드를 해결하는 방법으로는 Forwaring/Bypassig(전방전달/우회전달), 코드 스케줄링(코드 재배치(Code reordering)) 등이 있습니다.

 

2023.04.23 - [컴퓨터구조] - [컴퓨터구조] #8 파이프라이닝

728x90
반응형