UNIT-SPECIFIC ACTIVE LESSON · 7b

세 processor의 총 cycle

line20부터 line26까지 실제 control-flow path의 cycle을 계산하세요.

학습 목표: 실제 control-flow path의 10개 instruction과 jump 두 번을 근거로 Eintakt, Mehrtakt, Pipeline 총 cycle을 각각 계산할 수 있다.
공식 근거 범위: Probeklausur.pdf 시험 p15 7b의 line20–26 실행시간 질문과 p14 source listing, Probeklausur Musterlösung und Hinweise.pdf 공식 해설 p40의 10/40/18 Takte 표.

왜 이 소문제를 따로 배우는가

정적 line 수와 실제 실행 instruction 수는 다릅니다. processor별 식을 적용하기 전에 dynamic path를 세지 않으면 세 답이 모두 같은 원인으로 틀립니다.

이 페이지는 Aufgabe 7의 공통 템플릿이 아니라 7b 세 processor의 총 cycle에 필요한 내용만 담습니다. 챕터 전체 배경이 필요하면 Aufgabe 7 개념 수업을 먼저 읽으세요.

이 소문제에서 실제로 쓰는 용어

정의뿐 아니라 이 문제의 어느 판단에 쓰이는지까지 연결합니다.

dynamic instruction count
jump target을 따라 실제로 실행되는 instruction instance의 수입니다.이 소문제에서: 공식 경로의 N=10을 얻을 때 사용합니다.
fill/drain
5-stage pipeline이 첫 결과를 내고 마지막 instruction을 끝내기 위해 필요한 기본 4 cycle overhead입니다.이 소문제에서: ideal pipeline 식 N+(5-1)에 4를 더할 때 사용합니다.
flush penalty
control hazard로 잘못 fetch한 instruction을 버리면서 추가되는 cycle입니다.이 소문제에서: jump 두 번×각 2 flush=4 cycle을 계산할 때 사용합니다.
CPI by FSM path
Mehrtakt에서 해당 dynamic path의 각 instruction이 요구하는 cycle 수입니다.이 소문제에서: 이 문제의 모든 실행 instruction이 4 cycle이라는 주어진 가정으로 10×4를 계산할 때 사용합니다.

이 소문제 전용 규칙과 종이 작업

N은 listing 줄 수가 아니라 dynamic path에서 센다

line20–26만 보면 7줄이지만 jump로 line42–44도 실행되므로 공식 N은 10입니다.

종이에: 실제 실행 line을 순서대로 적고 각 line 옆에 1부터 10까지 번호를 붙입니다.

processor별 식을 섞지 않는다

Eintakt은 N×1, 이 Mehrtakt 경로는 N×4, Pipeline은 N+4+flushes를 사용합니다.

종이에: E/M/P 세 행에 식과 숫자를 별도로 적습니다.

Pipeline penalty를 두 종류로 나눈다

기본 fill/drain 4와 jump flush 4는 원인이 다르므로 따로 적어야 부분점수와 검산이 쉽습니다.

종이에: 10 + 4 + (2 jumps × 2 flushes)로 항을 분리합니다.

Aufgabe 전체 흐름은 챕터 흐름도에서 확인할 수 있습니다. 여기서는 현재 판단에 직접 필요한 규칙만 적용합니다.

이 소문제 전용 작은 예제

실제 실행 instruction N=6, 각 Mehrtakt instruction 4 cycle, 5-stage Pipeline, jump 1개당 2 flush일 때 세 processor의 cycle을 구하세요.

주어진 것

  • Eintakt은 instruction당 1 cycle입니다.
  • Mehrtakt은 이 경로에서 instruction당 4 cycle입니다.
  • Pipeline data stall은 없고 jump는 1개입니다.
  1. Eintakt cycle을 계산합니다.

    instruction 하나가 한 cycle에 완료됩니다.

    종이 산출물: 6×1=6

  2. Mehrtakt cycle을 계산합니다.

    주어진 경로의 instruction마다 4 cycle입니다.

    종이 산출물: 6×4=24

  3. Pipeline의 N, fill/drain, flush를 더합니다.

    겹쳐 실행되지만 pipeline을 채우고 control hazard를 제거하는 overhead가 있습니다.

    종이 산출물: 6+4+1×2=12

예제 답과 독립 검산 보기

Eintakt 6 cycle, Mehrtakt 24 cycle, Pipeline 12 cycle.

독립 검산: Pipeline이 이 작은 예에서 N보다 작아지지 않고 penalty 항이 모두 비음수인지 확인합니다.

이제 실제 시험 문제를 micro-work로 풀기

공식 시험이 요구하는 것

line20부터 line26까지 실제 control-flow path의 cycle을 계산하세요.

공식 답을 보기 전, 내 답 먼저 남기기

완성 문장이 아니어도 좋습니다. 중간값·register·cycle·cache state처럼 채점 가능한 흔적을 먼저 적으세요.

각 작업의 중간 산출물을 직접 적고 완료 조건을 만족한 뒤 체크하세요. 단계별 이유·산출물·오류가 현재 소문제에 맞게 따로 작성되어 있습니다.

실제 실행 instruction을 target을 따라 세어 10을 얻습니다.

왜 하는가
processor별 cycle 식의 공통 입력 N은 static line 수가 아니라 dynamic control-flow count입니다.
종이 산출물
line20부터 jump target을 포함한 10개 instruction 순서표를 적습니다.
완료 조건
N=10과 jump count=2를 별도로 증명할 수 있습니다.
막혔을 때 단계 힌트·대표 오류

힌트: line21→42와 line44→22 두 이동을 포함하세요.

이 단계의 대표 오류: line20–26의 7줄만 세거나 wrong-path instruction을 N에 포함합니다.

Eintakt: 10×1.

왜 하는가
Eintakt processor는 이 문제 가정에서 각 instruction을 한 긴 cycle에 완료합니다.
종이 산출물
Eintakt=10 instructions×1 cycle=10 Takte를 적습니다.
완료 조건
공식 10 Takte와 dynamic count가 연결됩니다.
막혔을 때 단계 힌트·대표 오류

힌트: jump도 Eintakt에서 하나의 instruction cycle입니다.

이 단계의 대표 오류: jump penalty를 Eintakt에 별도로 더합니다.

Mehrtakt: 이 path의 각 instruction이 4 cycle이라는 주어진 FSM 가정으로 10×4.

왜 하는가
공식 해설은 실제 경로의 instruction types가 모두 4 cycle을 필요로 한다고 명시합니다.
종이 산출물
Mehrtakt=10×4=40 Takte와 'path-specific' 근거를 적습니다.
완료 조건
모든 Mehrtakt instruction이 항상 4 cycle이라고 과도하게 일반화하지 않습니다.
막혔을 때 단계 힌트·대표 오류

힌트: 이 program path에 한정된 4-cycle 가정입니다.

이 단계의 대표 오류: Pipeline의 overlap 식 N+4를 Mehrtakt에도 적용합니다.

Pipeline: N+(5-1)+2 jumps×2 flush.

왜 하는가
ideal 5-stage 실행 14 cycle에 두 jump가 각각 두 wrong-path instruction을 flush해 4 cycle을 더합니다.
종이 산출물
10+4+(2×2)=18 Takte를 항별로 적습니다.
완료 조건
공식 18 Takte와 각 4 cycle overhead의 원인을 설명합니다.
막혔을 때 단계 힌트·대표 오류

힌트: fill/drain 4와 jump penalty 4를 따로 표시하세요.

이 단계의 대표 오류: 10+4만 계산해 flush를 누락하거나 jump 두 번을 instruction count에서 빼고 또 penalty로 처리합니다.

공식 답을 열기 전 마지막 회상

Pipeline의 ideal 14 cycle이 18 cycle로 늘어난 정확한 원인은 무엇인가요?

내 풀이 후 공식 결론·이유·대표 함정 확인

공식 결론

Eintakt 10 Takte, Mehrtakt 40 Takte, Pipeline 18 Takte.

왜 이 답이 되는가

공식 해설은 jump 두 번을 포함해 실제로 실행되는 10 instruction을 셉니다. Pipeline은 fill/drain 4 cycle과 jump당 2 flush를 더합니다.

대표 함정

원문 line20–26이 7줄이라고 해서 7 instruction만 세면 jump target으로 실행되는 line40–44를 놓칩니다.

새 문제로 전이하기

세 문항은 앞 문장의 반복이 아닙니다. 직접 답을 입력하면 rubric의 필수 기준을 하나씩 검사하고, 첫 누락 기준을 알려 줍니다.

1. 개념 재구성

공식 문제의 Eintakt, Mehrtakt, Pipeline cycle 식을 N과 jump 수를 사용해 재구성하세요.

제출 후 모델 답 보기

이 경로에서 Eintakt=N, Mehrtakt=4N, Pipeline=N+4+2J입니다. N=10, J=2이면 10, 40, 18입니다.

2. 변형 문제

N=12, jump=3, 각 Mehrtakt instruction=4 cycle인 같은 5-stage 모델에서 세 cycle 수를 구하세요.

제출 후 모델 답 보기

Eintakt 12 cycle, Mehrtakt 48 cycle, Pipeline 22 cycle.

3. 오류 진단

학생이 Pipeline을 10+5+2=17 cycle로 계산했습니다. 두 잘못된 항을 교정하세요.

제출 후 모델 답 보기

5-stage fill/drain은 5가 아니라 4이고, jump 두 번은 각각 2 flush이므로 penalty가 2가 아니라 4입니다. 따라서 10+4+4=18 cycle입니다.

이 소문제를 끝냈다고 말할 수 있는 기준

이 소문제의 정확한 공식 페이지와 대조하기

왼쪽은 문제를 읽을 때, 오른쪽은 자신의 풀이를 끝낸 뒤에 확인하세요. 해설 이미지를 먼저 보면 중간 과정을 스스로 만드는 연습이 사라집니다.

7b 관련 공식 시험 또는 해설 페이지
exam-p15.png · 클릭해 원본 크기로 확인
7b 관련 공식 시험 또는 해설 페이지
solution-p40.png · 클릭해 원본 크기로 확인

Source: Probeklausur.pdf / Probeklausur Musterlösung und Hinweise.pdf · 시험 p14–15 · 공식 해설 p39–40 · Probeklausur.pdf 시험 p15 7b의 line20–26 실행시간 질문과 p14 source listing, Probeklausur Musterlösung und Hinweise.pdf 공식 해설 p40의 10/40/18 Takte 표.