← 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. 이 소문제에 필요한 핵심 개념

유효 dynamic 순서는 line21→42→43→44입니다. 강의의 IF→ID→EX 진행 순서로는 네 번째 유효 instruction line44가 IF에 있을 때 line43이 ID, line42가 EX에 있어야 합니다. 공식 p39는 동일한 세 instruction을 첫 세 상자에 42→43→44 순으로 적어 stage 진행과 반대로 보이므로 공식 그림의 공간 배치와 독립 cycle trace를 구분해야 합니다.

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

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

  1. line 21을 첫 instruction으로 놓습니다.
  2. jump target을 따라 유효 dynamic instruction 1–4를 적습니다.
  3. 첫 jump 때문에 생긴 두 flush bubble을 표시합니다.
  4. 표준 IF→ID→EX 순서와 공식 p39 상자 배치를 각각 대조합니다.

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

공식 p39의 첫 세 상자를 표준 IF→ID→EX로 읽으면 어떤 시간 순서 모순이 생기나요?

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

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

문제가 요구하는 것

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

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

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

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

두 번째 jump 이후 유효 dynamic 순서는 line22→23→24입니다. 표준 IF→ID→EX 진행에서는 일곱 번째 유효 instruction line24가 IF, line23이 ID, line22가 EX입니다. 공식 p39 하단도 같은 세 instruction을 사용하지만 첫 세 상자에는 22→23→24 순으로 적어 stage 진행과 반대로 보입니다.

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

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

  1. line44의 second jump target line22를 표시합니다.
  2. 유효 dynamic instruction 5–7을 line22,23,24로 적습니다.
  3. 두 번째 jump의 두 flush bubble을 표시합니다.
  4. 표준 IF→ID→EX 순서와 공식 p39 상자 배치를 각각 대조합니다.

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

공식 p39의 첫 세 상자를 표준 IF→ID→EX로 읽으면 어떤 시간 순서 모순이 생기나요?

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

7b세 processor의 총 cycle

문제가 요구하는 것

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

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

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

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

실제 dynamic 순서는 20→21→42→43→44→22→23→24→25→26으로 총 10 instruction이며 jump는 두 번입니다. Pipeline은 fill/drain 4 cycle과 jump당 2 flush를 더합니다.

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

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

  1. jump target을 따라 20→21→42→43→44→22→23→24→25→26을 적어 N=10과 jump=2를 확인합니다.
  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와 그 순간의 pipeline 배치를 찾으세요.

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

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

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

첫 실제 dependency는 `sub`가 만드는 t2를 바로 다음 `bne`가 읽는 RAW입니다. 공식 p40의 네 상자는 pipeline register 기준 IF/ID→MEM/WB 순서이며, 각각 bne, sub, li, addi x0,x0,10을 담습니다. 따라서 stage 의미로는 ID=bne, EX=sub, MEM=li, WB=addi이고, 동시에 다음 `slli`가 IF에 있을 수 있습니다.

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

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

  1. producer의 rd=t2와 consumer의 rs1=t2를 표시합니다.
  2. 공식 p40 네 상자를 IF/ID, ID/EX, EX/MEM, MEM/WB에 대응시킵니다.
  3. 표준 stage 이름으로 ID/EX/MEM/WB와 현재 IF를 따로 적습니다.
  4. 강의의 EX-stage branch 비교에서는 다음 cycle의 M→E forwarding으로 data stall 0임을 표시합니다.
  5. branch의 Control Hazard와 RAW Data Hazard를 분리합니다.

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

producer와 consumer 사이에 독립 instruction 하나가 끼면 forwarding/stall 조건이 어떻게 달라지는지 설명해 보세요.

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