Aufgabe 6 · 14 Punkte · FSM + critical path
Mehrtaktprozessor
State 이름을 되풀이하지 말고 그 cycle에서 ‘어디서 읽어 어디에 저장하는가’를 말합니다. 주파수는 모든 사용 cycle path 중 가장 긴 delay의 역수입니다.
공식 시험지와 공식 Musterlösung을 기준으로 작성했습니다. 그림 문제는 렌더된 원본 페이지도 함께 대조합니다.
BEGINNER CONCEPT LESSON
문제 풀이 전에 개념부터 배우기
용어를 모르는 상태에서 답을 외우지 않도록, 비유·그림·작은 예제·시험용 풀이 알고리즘을 별도 수업으로 만들었습니다.
원본 그림과 공식 해설 그림
diagram 문제는 text만으로 대체하지 말고 아래 원본을 확대해 선·stage·field를 직접 확인하세요.
MICRO WORK UNITS
5개 작업 단위로 학습
각 카드는 요구사항 → zero-base 개념 → 손풀이 단계 → 공식 결론 → 함정 → active recall 순서입니다.
6a-1Fetch 상태
문제가 요구하는 것
Fetch가 구체적으로 하는 일을 최대 3문장으로 쓰세요.
이 카드는 빠른 복습용입니다. 처음 학습한다면 아래 독립 페이지에서 용어·비유·수식·작은 예제부터 읽으세요.
0. 이 소문제에 필요한 핵심 개념
PC가 instruction memory의 주소가 되고 읽은 instruction은 Instruction Register에 저장됩니다. 동시에 다음 순차 instruction을 위해 PC+4를 계산·갱신합니다.
각 state/path를 출발 register → 조합 회로 → 도착 register 한 줄로 적으세요.
가장 긴 delay만 clock을 제한하며, ps와 GHz 변환이 역수 관계인지 확인하세요.
1. 이번 시험 문제에서 실제로 밟는 단계
- source register를 PC로 적습니다.
- memory read 결과의 destination을 IR로 적습니다.
- PC+4 계산과 PC write를 적습니다.
2. 단계가 도착해야 하는 공식 답지 기준 결론
Instruktion wird unter der PC-Adresse aus dem Speicher gelesen und im Instruction-Register gespeichert; gleichzeitig wird PC um 4 erhöht und aktualisiert.
3. 초보자가 자주 빠지는 오답과 이유
‘instruction을 fetch한다’처럼 state 이름을 반복하는 설명은 점수가 약합니다.
4. 정답을 닫고 스스로 설명하기
Fetch 뒤 IR과 PC에는 각각 무엇이 들어 있나요?
Source: Probeklausur.pdf / Probeklausur Musterlösung und Hinweise.pdf · 시험 p12–13 · 공식 해설 p37–38
6a-2MemAdr 상태
문제가 요구하는 것
MemAdr가 어떤 값을 계산하고 어디에 보관하는지 쓰세요.
이 카드는 빠른 복습용입니다. 처음 학습한다면 아래 독립 페이지에서 용어·비유·수식·작은 예제부터 읽으세요.
0. 이 소문제에 필요한 핵심 개념
Load/store의 effective address는 base register + sign-extended offset입니다. ALU 결과는 다음 state가 쓰도록 ALUOut에 저장됩니다.
각 state/path를 출발 register → 조합 회로 → 도착 register 한 줄로 적으세요.
가장 긴 delay만 clock을 제한하며, ps와 GHz 변환이 역수 관계인지 확인하세요.
1. 이번 시험 문제에서 실제로 밟는 단계
- rs1 값을 읽습니다.
- immediate를 extend합니다.
- ALU add를 수행합니다.
- ALUOut에 effective address를 저장합니다.
2. 단계가 도착해야 하는 공식 답지 기준 결론
ALU addiert Basisadresse und erweiterten Offset; die berechnete Speicheradresse wird für späteres lw/sw im ALUOut-Register gespeichert.
3. 초보자가 자주 빠지는 오답과 이유
이 state에서 data memory read/write까지 끝난다고 쓰지 마세요. 주소 계산 단계입니다.
4. 정답을 닫고 스스로 설명하기
`lw t0,12(s1)`의 MemAdr 결과는 어떤 식인가요?
Source: Probeklausur.pdf / Probeklausur Musterlösung und Hinweise.pdf · 시험 p12–13 · 공식 해설 p37–38
6a-3JAL 상태
문제가 요구하는 것
JAL의 두 결과와 이 FSM에서 그 결과가 만들어지는 순서를 설명하세요.
이 카드는 빠른 복습용입니다. 처음 학습한다면 아래 독립 페이지에서 용어·비유·수식·작은 예제부터 읽으세요.
0. 이 소문제에 필요한 핵심 개념
architectural 결과는 rd←OldPC+4와 PC←OldPC+ImmExt입니다. 현재 강의 FSM에서는 Decode가 먼저 ALUOut←OldPC+ImmExt를 만들고, JAL 상태가 PC←ALUOut과 ALUOut←OldPC+4를 수행한 뒤, 다음 ALUWB 상태가 R[rd]←ALUOut을 수행합니다.
각 state/path를 출발 register → 조합 회로 → 도착 register 한 줄로 적으세요.
가장 긴 delay만 clock을 제한하며, ps와 GHz 변환이 역수 관계인지 확인하세요.
1. 이번 시험 문제에서 실제로 밟는 단계
- Decode가 jump target을 ALUOut에 저장했음을 확인합니다.
- JAL 상태에서 기존 ALUOut을 PC에 씁니다.
- 동시에 OldPC+4를 새 ALUOut에 저장합니다.
- 다음 ALUWB가 그 link 값을 rd에 씁니다.
2. 단계가 도착해야 하는 공식 답지 기준 결론
Offizielle Kurzfassung: Die Rücksprungadresse OldPC+4 wird in rd gespeichert und PC erhält OldPC+ImmExt. Im aktuellen FSM berechnet Decode zuerst ALUOut←OldPC+ImmExt; JAL setzt danach PC←ALUOut und berechnet ALUOut←OldPC+4, das der folgende ALUWB-Zustand in rd schreibt.
3. 초보자가 자주 빠지는 오답과 이유
JAL 한 상태에서 rd writeback까지 끝난다고 단정하면 이 FSM의 ALUWB 후속 상태를 놓칩니다.
4. 정답을 닫고 스스로 설명하기
`jal x0,label`에서는 두 architectural 결과 중 무엇이 관찰되지 않나요?
Source: Probeklausur.pdf / Probeklausur Musterlösung und Hinweise.pdf · 시험 p12–13 · 공식 해설 p37–38
6a-4BEQ 상태
문제가 요구하는 것
BEQ의 비교와 PC 선택을 이 FSM의 상태 순서에 맞춰 설명하세요.
이 카드는 빠른 복습용입니다. 처음 학습한다면 아래 독립 페이지에서 용어·비유·수식·작은 예제부터 읽으세요.
0. 이 소문제에 필요한 핵심 개념
Decode가 먼저 ALUOut←OldPC+ImmExt로 branch target을 저장합니다. BEQ 상태는 A-B를 계산하고 Zero이면 PC←ALUOut으로 target을 선택하며, Zero가 아니면 Fetch에서 이미 만든 OldPC+4가 PC에 그대로 유지됩니다.
각 state/path를 출발 register → 조합 회로 → 도착 register 한 줄로 적으세요.
가장 긴 delay만 clock을 제한하며, ps와 GHz 변환이 역수 관계인지 확인하세요.
1. 이번 시험 문제에서 실제로 밟는 단계
- Decode의 ALUOut에 branch target이 있음을 확인합니다.
- BEQ 상태에서 A-B를 계산합니다.
- Zero이면 PC에 ALUOut을 씁니다.
- Zero가 아니면 PC의 순차값 OldPC+4를 유지합니다.
2. 단계가 도착해야 하는 공식 답지 기준 결론
Decode berechnet zuerst ALUOut←OldPC+ImmExt. Im BEQ-Zustand wird A−B verglichen; bei Zero wird PC←ALUOut gesetzt, andernfalls bleibt der bereits in Fetch erzeugte Wert OldPC+4 im PC erhalten.
3. 초보자가 자주 빠지는 오답과 이유
비교 결과를 일반 register에 writeback하거나, not taken일 때 현재 branch 주소에 머문다고 쓰지 마세요.
4. 정답을 닫고 스스로 설명하기
`bne`라면 PC write 조건만 어떻게 바뀌나요?
Source: Probeklausur.pdf / Probeklausur Musterlösung und Hinweise.pdf · 시험 p12–13 · 공식 해설 p37–38
6b-1Cycle별 delay 계산
문제가 요구하는 것
`slli t0,t1,2`의 보이는 path만으로 T1,T2,T3와 최대 Taktfrequenz를 계산하세요.
이 카드는 빠른 복습용입니다. 처음 학습한다면 아래 독립 페이지에서 용어·비유·수식·작은 예제부터 읽으세요.
0. 이 소문제에 필요한 핵심 개념
Mehrtakt은 한 instruction이 여러 cycle을 쓰지만 clock period는 cycle마다 바뀌지 않습니다. 따라서 가장 긴 state path를 모든 cycle이 공유할 수 있게 잡습니다.
각 state/path를 출발 register → 조합 회로 → 도착 register 한 줄로 적으세요.
가장 긴 delay만 clock을 제한하며, ps와 GHz 변환이 역수 관계인지 확인하세요.
1. 이번 시험 문제에서 실제로 밟는 단계
- Fetch: memory read + register setup = 200+50.
- Decode: IR clk-to-Q + RF read + temp-register setup = 40+100+50.
- Execute: temp clk-to-Q + mux + ALU + ALUOut setup = 40+30+120+50.
- 그림에 없는 writeback feedback path는 문제 지시대로 제외합니다.
2. 단계가 도착해야 하는 공식 답지 기준 결론
T1=tmem+tsetup=200+50=250 ps. T2=tpcq+tRFread+tsetup=40+100+50=190 ps. T3=tpcq+tmux+tALU+tsetup=40+30+120+50=240 ps. 따라서 Tclk=max(250,190,240) ps=250 ps이고 fmax=1/(250×10^-12 s)=4.0×10^9 Hz=4.0 GHz입니다.
3. 초보자가 자주 빠지는 오답과 이유
모든 component delay를 무조건 한 줄로 더하지 마세요. register-to-register path와 cycle 경계를 따라야 합니다.
4. 정답을 닫고 스스로 설명하기
Execute path에 Extend 35 ps를 더하지 않는 이유를 그림과 병렬 path 관점에서 설명해 보세요.
Source: Probeklausur.pdf / Probeklausur Musterlösung und Hinweise.pdf · 시험 p12–13 · 공식 해설 p37–38



