Post

CPU의 분기예측


컴퓨터 구조

컴퓨터 구조를 공부하면서 알게된 내용을 요약해서 작성해보자.

파이프라인 기술

  • 자동차 한 대를 조립하는 데 프레임 조립, 엔진 설치, 배터리 설치, 품질 검사 네 단계가 필요하다. 각 과정에서 20분이 소요되고 하나의 팀이 전부 담당할 경우 총 80분이 소요된다.
  • 각 단계를 전담하는 팀이 조립하면 전체 과정은 여전히 80분 이지만, 전체 공장 입장에서는 20분마다 자동차 한 대를 생산할 수 있다.
  • 조립 라인은 전체 자동차 조립 시간을 줄이는 것이 아니라 공장의 처리 능력을 늘리는 것이다.

CPU: 메가팩토리와 파이프라인

  • CPU 자체를 하나의 메가팩토리라 볼 수 있다.
  • 하나의 기계 명령어를 처리하는 과정 역시 대체로 명령어 인출, 명령어 해독, 실행, 다시 쓰기 네 단계로 구분할 수 있다.
  • 실제로 CPU 내부에서는 기계 명령어 하나를 단계 수십 개로 분해하여 실행할 수도 있다.
  • CPU는 기계 명령어를 초당 수십억 개 처리할 수 있는 능력을 갖추고 있으며, 파이프라인 기술은 필수 불가결이다.

CPU 분기가 파이프 라인을 만나면

  • CPU는 분기 점프 명령어가 실행을 완료하기 전에 다음 명령어는 이미 파이프라인에 들어가 있어야 한다.
  • 그렇지 않으면 파이프라인에 빈 공간이 생겨 프로세서의 리소스를 완전하게 사용할 수 없다.

분기 예측

  • CPU는 뒤이어 어디로 분기할 가능성이 있는지 추측한다.
  • CPU의 이런 추측 과정을 분기 예측이라고 한다.
  • 배열이 정렬되어 있으면 결과는 매우 규칙적이다.
  • 정렬되어 있지 않으면 결과는 뒤죽박죽이다.