← Probeklausur overview

Aufgabe 7 · 15 Punkte · pipeline trace

Pipelined Prozessor

한 cycle의 stage는 IF→ID→EX→MEM→WB 순서입니다. Jump가 확인되기 전에 뒤의 instruction이 이미 들어오므로 wrong-path instruction이 flush되어 nop이 됩니다. x0에 대한 write는 버려져 dependency를 만들지 않습니다.

공식 시험지와 공식 Musterlösung을 기준으로 작성했습니다. 그림 문제는 렌더된 원본 페이지도 함께 대조합니다.

BEGINNER CONCEPT LESSON

문제 풀이 전에 개념부터 배우기

용어를 모르는 상태에서 답을 외우지 않도록, 비유·그림·작은 예제·시험용 풀이 알고리즘을 별도 수업으로 만들었습니다.

Aufgabe 7 개념 수업 열기 →

원본 그림과 공식 해설 그림

diagram 문제는 text만으로 대체하지 말고 아래 원본을 확대해 선·stage·field를 직접 확인하세요.

MICRO WORK UNITS

5개 작업 단위로 학습

각 카드는 요구사항 → zero-base 개념 → 손풀이 단계 → 공식 결론 → 함정 → active recall 순서입니다.

7a-1네 번째 instruction fetch 시점

문제가 요구하는 것

첫 jump 이후 IF/ID/EX/MEM/WB를 채우세요.

이 카드는 빠른 복습용입니다. 처음 학습한다면 아래 독립 페이지에서 용어·비유·수식·작은 예제부터 읽으세요.

📖 7a-1 독립 개념·풀이 페이지 열기 →

0. 이 소문제에 필요한 핵심 개념

Line 21의 `j 0x2A`가 첫 instruction이며, jump resolution 때문에 sequential line 22·23은 flush됩니다. Target line 42부터 새 instruction이 들어옵니다.

✎ 작은 예로 먼저 손풀기
cycle 표를 그리고 instruction을 매 cycle 오른쪽 stage로 한 칸씩 옮기세요.
✓ 무엇을 확인해야 하나
마지막 WB 위치와 N+4+penalty 계산값을 서로 비교하세요.

1. 이번 시험 문제에서 실제로 밟는 단계

  1. line 21을 첫 instruction으로 놓습니다.
  2. jump 뒤 speculative line을 표시합니다.
  3. jump가 확정된 cycle의 flush 두 칸을 nop으로 바꿉니다.
  4. 네 번째 유효 fetch가 target line 42임을 확인합니다.

4. 정답을 닫고 스스로 설명하기

왜 MEM/WB가 nop인데 IF/ID/EX에는 target block instruction이 있나요?

Source: Probeklausur.pdf / Probeklausur Musterlösung und Hinweise.pdf · 시험 p14–15 · 공식 해설 p39–40

7a-2일곱 번째 instruction fetch 시점

문제가 요구하는 것

두 번째 jump 이후 pipeline을 채우세요.

이 카드는 빠른 복습용입니다. 처음 학습한다면 아래 독립 페이지에서 용어·비유·수식·작은 예제부터 읽으세요.

📖 7a-2 독립 개념·풀이 페이지 열기 →

0. 이 소문제에 필요한 핵심 개념

line44의 jump가 다시 line22 쪽으로 control flow를 바꾸고 두 wrong-path fetch가 flush됩니다.

✎ 작은 예로 먼저 손풀기
cycle 표를 그리고 instruction을 매 cycle 오른쪽 stage로 한 칸씩 옮기세요.
✓ 무엇을 확인해야 하나
마지막 WB 위치와 N+4+penalty 계산값을 서로 비교하세요.

1. 이번 시험 문제에서 실제로 밟는 단계

  1. 첫 target block의 세 instruction을 배치합니다.
  2. line44 jump resolution을 표시합니다.
  3. 두 flush bubble을 넣습니다.
  4. 새 target의 line22부터 순서대로 IF/ID/EX에 놓습니다.

4. 정답을 닫고 스스로 설명하기

두 jump 때문에 total flush penalty가 몇 cycle인지 말해 보세요.

Source: Probeklausur.pdf / Probeklausur Musterlösung und Hinweise.pdf · 시험 p14–15 · 공식 해설 p39–40

7b세 processor의 총 cycle

문제가 요구하는 것

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

이 카드는 빠른 복습용입니다. 처음 학습한다면 아래 독립 페이지에서 용어·비유·수식·작은 예제부터 읽으세요.

📖 7b 독립 개념·풀이 페이지 열기 →

0. 이 소문제에 필요한 핵심 개념

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

✎ 작은 예로 먼저 손풀기
cycle 표를 그리고 instruction을 매 cycle 오른쪽 stage로 한 칸씩 옮기세요.
✓ 무엇을 확인해야 하나
마지막 WB 위치와 N+4+penalty 계산값을 서로 비교하세요.

1. 이번 시험 문제에서 실제로 밟는 단계

  1. 실제 실행 instruction을 target을 따라 세어 10을 얻습니다.
  2. Eintakt: 10×1.
  3. Mehrtakt: 이 path의 각 instruction이 4 cycle이라는 주어진 FSM 가정으로 10×4.
  4. Pipeline: N+(5-1)+2 jumps×2 flush.

4. 정답을 닫고 스스로 설명하기

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

Source: Probeklausur.pdf / Probeklausur Musterlösung und Hinweise.pdf · 시험 p14–15 · 공식 해설 p39–40

7c-1가짜 dependency 제거: x0

문제가 요구하는 것

`addi x0,...` 두 줄이 hazard를 만드는지 판단하세요.

이 카드는 빠른 복습용입니다. 처음 학습한다면 아래 독립 페이지에서 용어·비유·수식·작은 예제부터 읽으세요.

📖 7c-1 독립 개념·풀이 페이지 열기 →

0. 이 소문제에 필요한 핵심 개념

RISC-V x0 write는 버려집니다. 다음 instruction이 x0를 읽어도 값은 항상 0이므로 앞의 addi 결과를 기다릴 이유가 없습니다.

✎ 작은 예로 먼저 손풀기
cycle 표를 그리고 instruction을 매 cycle 오른쪽 stage로 한 칸씩 옮기세요.
✓ 무엇을 확인해야 하나
마지막 WB 위치와 N+4+penalty 계산값을 서로 비교하세요.

1. 이번 시험 문제에서 실제로 밟는 단계

  1. 각 instruction의 실제 destination을 표시합니다.
  2. destination=x0이면 architectural write가 없다고 표시합니다.
  3. 후속 instruction의 source와 대조합니다.

4. 정답을 닫고 스스로 설명하기

`add x0,t1,t2` 뒤 `sub t3,x0,t4`는 왜 RAW hazard가 아닌가요?

Source: Probeklausur.pdf / Probeklausur Musterlösung und Hinweise.pdf · 시험 p14–15 · 공식 해설 p39–40

7c-2첫 실제 hazard: t2→bne

문제가 요구하는 것

`sub t2,t1,x0`와 `bne t2,zero,odd` 사이 hazard를 찾으세요.

이 카드는 빠른 복습용입니다. 처음 학습한다면 아래 독립 페이지에서 용어·비유·수식·작은 예제부터 읽으세요.

📖 7c-2 독립 개념·풀이 페이지 열기 →

0. 이 소문제에 필요한 핵심 개념

bne가 ID/EX에서 t2를 읽을 때 sub의 새 t2가 아직 register file에 writeback되지 않았을 수 있습니다. 이것이 RAW data hazard입니다.

✎ 작은 예로 먼저 손풀기
cycle 표를 그리고 instruction을 매 cycle 오른쪽 stage로 한 칸씩 옮기세요.
✓ 무엇을 확인해야 하나
마지막 WB 위치와 N+4+penalty 계산값을 서로 비교하세요.

1. 이번 시험 문제에서 실제로 밟는 단계

  1. producer의 rd=t2를 표시합니다.
  2. consumer의 rs1=t2를 표시합니다.
  3. pipeline distance를 확인합니다.
  4. forwarding 가능 path가 있으면 forward, 없으면 stall을 선택합니다.
  5. branch가 control hazard도 만들 수 있음을 별도로 적습니다.

4. 정답을 닫고 스스로 설명하기

producer와 consumer 사이에 독립 instruction 하나가 끼면 필요한 stall 수가 어떻게 달라질 수 있나요?

Source: Probeklausur.pdf / Probeklausur Musterlösung und Hinweise.pdf · 시험 p14–15 · 공식 해설 p39–40