serversim
학습시뮬레이터템플릿가격
…
…
메뉴 열기
학습↗시뮬레이터↗템플릿↗가격↗
내 Documents문서
전체 목차/4장/4.425 / 40

4.4 · 회로와 CPU

if 문은 CPU 파이프라인을 왜 흔들까?

CPU가 다음 명령을 미리 가져오는데 분기 결과를 아직 모르면 어떻게 할까요?

파이프라인은 여러 명령의 인출·해석·실행을 겹치지만 분기는 다음 주소를 바꿀 수 있습니다.

먼저 생활 비유

갈림길이 있는 공장 컨베이어

제품이 어느 길로 갈지 결정되기 전에 한쪽 라인에 미리 올리면 예측이 틀렸을 때 되돌려야 합니다.

컴퓨터 예제로 바꾸기

로그인 여부 분기

if (loggedIn) showHome(); else showLogin();

CPU는 조건 계산이 끝나기 전에 한 경로의 명령을 가져오고, 틀리면 그 명령들을 버립니다.

직접 움직여 보기1 / 5

지금 일어나는 변화

명령 인출

다음 주소의 명령을 미리 가져옵니다.

신호와 실행 장치명령 인출단계 1해석단계 2분기 예측단계 3예측 확인단계 4유지 또는 비우기단계 5다음 명령현재: 명령 인출

이 그림에서 기억할 한 문장

분기 예측은 if를 없애는 기술이 아니라 파이프라인이 멈추는 시간을 줄이는 추측 기술입니다.

현재 상태

이동하는 것
다음 명령
현재 위치
명령 인출
다음 위치
해석

30초 확인 문제

분기 예측이 틀리면 일반적으로?

처음 보는 용어 두 개

파이프라인
여러 명령의 처리 단계를 겹쳐 처리량을 높이는 구조
분기 예측
조건 결과 전에 다음 실행 경로를 추측하는 기능

이 절을 다 읽었다면

분기 예측은 if를 없애는 기술이 아니라 파이프라인이 멈추는 시간을 줄이는 추측 기술입니다.

← 이전 절

4.3 CPU는 음수를 어떻게 표현할까?

다음 절 →

4.5 CPU 코어 수와 스레드 수는 어떤 관계일까?