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
문제 풀이 전에 개념부터 배우기
용어를 모르는 상태에서 답을 외우지 않도록, 비유·그림·작은 예제·시험용 풀이 알고리즘을 별도 수업으로 만들었습니다.
원본 그림과 공식 해설 그림
diagram 문제는 text만으로 대체하지 말고 아래 원본을 확대해 선·stage·field를 직접 확인하세요.
MICRO WORK UNITS
5개 작업 단위로 학습
각 카드는 요구사항 → zero-base 개념 → 손풀이 단계 → 공식 결론 → 함정 → active recall 순서입니다.
7a-1네 번째 instruction fetch 시점
문제가 요구하는 것
첫 jump 이후 IF/ID/EX/MEM/WB를 채우세요.
이 카드는 빠른 복습용입니다. 처음 학습한다면 아래 독립 페이지에서 용어·비유·수식·작은 예제부터 읽으세요.
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. 이번 시험 문제에서 실제로 밟는 단계
- line 21을 첫 instruction으로 놓습니다.
- jump 뒤 speculative line을 표시합니다.
- jump가 확정된 cycle의 flush 두 칸을 nop으로 바꿉니다.
- 네 번째 유효 fetch가 target line 42임을 확인합니다.
2. 단계가 도착해야 하는 공식 답지 기준 결론
공식 p39 상단: IF=`addi x23,x11,2`(line42), ID=`addi x21,x11,-7`(line43), EX=`j 0x16`(line44), MEM=`nop`, WB=`nop`.
3. 초보자가 자주 빠지는 오답과 이유
‘네 번째’는 원문이 정한 counting과 jump target 흐름을 따라야 합니다. 단순히 line 24를 네 번째로 놓지 마세요.
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을 채우세요.
이 카드는 빠른 복습용입니다. 처음 학습한다면 아래 독립 페이지에서 용어·비유·수식·작은 예제부터 읽으세요.
0. 이 소문제에 필요한 핵심 개념
line44의 jump가 다시 line22 쪽으로 control flow를 바꾸고 두 wrong-path fetch가 flush됩니다.
cycle 표를 그리고 instruction을 매 cycle 오른쪽 stage로 한 칸씩 옮기세요.
마지막 WB 위치와 N+4+penalty 계산값을 서로 비교하세요.
1. 이번 시험 문제에서 실제로 밟는 단계
- 첫 target block의 세 instruction을 배치합니다.
- line44 jump resolution을 표시합니다.
- 두 flush bubble을 넣습니다.
- 새 target의 line22부터 순서대로 IF/ID/EX에 놓습니다.
2. 단계가 도착해야 하는 공식 답지 기준 결론
공식 p39 하단: IF=`ori x16,x14,1`, ID=`sub x17,x15,x14`, EX=`sw x10,8(x15)`, MEM=`nop`, WB=`nop`.
3. 초보자가 자주 빠지는 오답과 이유
jump target 주소를 line 번호와 혼동하지 마세요. 문제에서 제공한 mapping을 따라갑니다.
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을 계산하세요.
이 카드는 빠른 복습용입니다. 처음 학습한다면 아래 독립 페이지에서 용어·비유·수식·작은 예제부터 읽으세요.
0. 이 소문제에 필요한 핵심 개념
공식 해설은 jump 두 번을 포함해 실제로 실행되는 10 instruction을 셉니다. Pipeline은 fill/drain 4 cycle과 jump당 2 flush를 더합니다.
cycle 표를 그리고 instruction을 매 cycle 오른쪽 stage로 한 칸씩 옮기세요.
마지막 WB 위치와 N+4+penalty 계산값을 서로 비교하세요.
1. 이번 시험 문제에서 실제로 밟는 단계
- 실제 실행 instruction을 target을 따라 세어 10을 얻습니다.
- Eintakt: 10×1.
- Mehrtakt: 이 path의 각 instruction이 4 cycle이라는 주어진 FSM 가정으로 10×4.
- Pipeline: N+(5-1)+2 jumps×2 flush.
2. 단계가 도착해야 하는 공식 답지 기준 결론
Eintakt 10 Takte, Mehrtakt 40 Takte, Pipeline 18 Takte.
3. 초보자가 자주 빠지는 오답과 이유
원문 line20–26이 7줄이라고 해서 7 instruction만 세면 jump target으로 실행되는 line40–44를 놓칩니다.
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를 만드는지 판단하세요.
이 카드는 빠른 복습용입니다. 처음 학습한다면 아래 독립 페이지에서 용어·비유·수식·작은 예제부터 읽으세요.
0. 이 소문제에 필요한 핵심 개념
RISC-V x0 write는 버려집니다. 다음 instruction이 x0를 읽어도 값은 항상 0이므로 앞의 addi 결과를 기다릴 이유가 없습니다.
cycle 표를 그리고 instruction을 매 cycle 오른쪽 stage로 한 칸씩 옮기세요.
마지막 WB 위치와 N+4+penalty 계산값을 서로 비교하세요.
1. 이번 시험 문제에서 실제로 밟는 단계
- 각 instruction의 실제 destination을 표시합니다.
- destination=x0이면 architectural write가 없다고 표시합니다.
- 후속 instruction의 source와 대조합니다.
2. 단계가 도착해야 하는 공식 답지 기준 결론
`addi x0,a0,5`와 `addi x0,x0,10`은 x0 값을 바꾸지 않으므로 이 write 때문에 Data Hazard가 생기지 않습니다.
3. 초보자가 자주 빠지는 오답과 이유
text상 register 이름이 같다는 이유만으로 dependency를 선언하지 마세요.
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를 찾으세요.
이 카드는 빠른 복습용입니다. 처음 학습한다면 아래 독립 페이지에서 용어·비유·수식·작은 예제부터 읽으세요.
0. 이 소문제에 필요한 핵심 개념
bne가 ID/EX에서 t2를 읽을 때 sub의 새 t2가 아직 register file에 writeback되지 않았을 수 있습니다. 이것이 RAW data hazard입니다.
cycle 표를 그리고 instruction을 매 cycle 오른쪽 stage로 한 칸씩 옮기세요.
마지막 WB 위치와 N+4+penalty 계산값을 서로 비교하세요.
1. 이번 시험 문제에서 실제로 밟는 단계
- producer의 rd=t2를 표시합니다.
- consumer의 rs1=t2를 표시합니다.
- pipeline distance를 확인합니다.
- forwarding 가능 path가 있으면 forward, 없으면 stall을 선택합니다.
- branch가 control hazard도 만들 수 있음을 별도로 적습니다.
2. 단계가 도착해야 하는 공식 답지 기준 결론
첫 실제 Data Hazard는 `sub t2,t1,x0` → 바로 다음 `bne t2,zero,odd`의 RAW dependency입니다. 구현에 따라 forwarding으로 비교 입력에 전달하거나 필요한 stall을 넣습니다.
3. 초보자가 자주 빠지는 오답과 이유
Data Hazard와 branch의 Control Hazard를 한 단어로 뭉개지 마세요.
4. 정답을 닫고 스스로 설명하기
producer와 consumer 사이에 독립 instruction 하나가 끼면 필요한 stall 수가 어떻게 달라질 수 있나요?
Source: Probeklausur.pdf / Probeklausur Musterlösung und Hinweise.pdf · 시험 p14–15 · 공식 해설 p39–40



