컴파일러

소프트웨어 파이프라이닝에 대한 설명으로 올바른 것은 무엇인가?

  1. ACPU 파이프라인의 단 수를 소프트웨어로 늘리는 기술
  2. B루프를 함수로 나누어 여러 스레드로 병렬 실행하는 기술
  3. C서로 다른 반복의 처리를 겹쳐서 대기 시간을 메우는 기술
정답과 해설 보기

정답: C. 서로 다른 반복의 처리를 겹쳐서 대기 시간을 메우는 기술

소프트웨어 파이프라이닝에서는 루프 한 번의 처리를 "읽기·계산·쓰기" 같은 단계로 나누고, 예를 들어 i번째의 쓰기, i+1번째의 계산, i+2번째의 읽기를 같은 반복 안에서 수행하도록 명령을 배열합니다. 읽기의 대기 시간 동안 다른 반복의 계산을 진행할 수 있으므로 연산기를 놀리지 않아도 됩니다. 루프의 앞뒤에는 준비와 뒷정리 코드가 필요합니다. CPU의 단 수를 바꾸거나 스레드로 병렬화하는 기술이 아닙니다.

  • A. CPU 파이프라인의 단 수는 하드웨어에서 정해져 있습니다.
  • B. 스레드에 의한 병렬화와는 다른 기술입니다.
  • C. 올바릅니다. 서로 다른 반복의 처리를 겹쳐 대기 시간을 메웁니다.
이 분야 연습하기 분야로 돌아가기

컴파일러의 다른 문제

  1. 컴파일러가 부동소수점 수의 덧셈 (a + b) + c를 엄격한 설정에서는 a + (b + c)로 마음대로 재배열하지 않는 이유로 올바른 것은 무엇인가?
  2. 컴파일러의 자동 벡터화에서 사용되는 명령의 종류로 올바른 것은 무엇인가?
  3. 컴파일러 최적화가 지켜야 하는 기본 조건으로 올바른 것은 무엇인가?
  4. 코드 생성 단계의 하나인 명령 선택(인스트럭션 셀렉션)에 대한 설명으로 올바른 것은 무엇인가?
  5. 크로스 컴파일러에 대한 설명으로 올바른 것은 무엇인가?

이 분야의 비교