왜 이 소문제를 따로 배우는가
정적 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개입니다.
- Eintakt cycle을 계산합니다.
instruction 하나가 한 cycle에 완료됩니다.
종이 산출물: 6×1=6
- Mehrtakt cycle을 계산합니다.
주어진 경로의 instruction마다 4 cycle입니다.
종이 산출물: 6×4=24
- 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 수를 사용해 재구성하세요.
1, 4, N+4+2J입니다.
제출 후 모델 답 보기
이 경로에서 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 수를 구하세요.
Pipeline은 12+4+3×2입니다.
제출 후 모델 답 보기
Eintakt 12 cycle, Mehrtakt 48 cycle, Pipeline 22 cycle.
3. 오류 진단
학생이 Pipeline을 10+5+2=17 cycle로 계산했습니다. 두 잘못된 항을 교정하세요.
stage 수 자체가 아니라 stage-1, jump 수가 아니라 flush 수를 더합니다.
제출 후 모델 답 보기
5-stage fill/drain은 5가 아니라 4이고, jump 두 번은 각각 2 flush이므로 penalty가 2가 아니라 4입니다. 따라서 10+4+4=18 cycle입니다.
이 소문제를 끝냈다고 말할 수 있는 기준
이 소문제의 정확한 공식 페이지와 대조하기
왼쪽은 문제를 읽을 때, 오른쪽은 자신의 풀이를 끝낸 뒤에 확인하세요. 해설 이미지를 먼저 보면 중간 과정을 스스로 만드는 연습이 사라집니다.
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 표.

