---
schema_version: 1
exam_id: "sose26-probeklausur"
aufgabe: 5
unit_id: "5-1"
source_group_id: "5"
official_exam: true
official_solution: true
language: "ko"
---

# 5-1 — 네 instruction 개별 경로 분류

> **학습 목표:** slli, sw, lw, beq 각각에 대해 PC 경로, register port, ALU 입력, memory 동작, writeback을 빠짐없이 분리해 표시할 수 있다.
>
> **왜 따로 배우는가:** 공통 path를 바로 그리면 합집합과 교집합을 섞기 쉽습니다. 네 instruction의 개별 경로를 먼저 완성해야 최종 공통선을 안전하게 얻고 감점 위험을 줄일 수 있습니다.
>
> **범위:** Aufgabe 5 · 6점 Aufgabe의 최소 학습 단위 · 시험 p10–11 · 공식 해설 p23–36

## 1. 문제 원문 (Deutsch)

이 unit은 공식 Teilaufgabe 또는 표의 한 행·한 access를 학습 가능한 최소 단위로 다시 나눈 것입니다. 아래 전사는 source group `5`의 공식 독일어 문제 원문이며, 페이지 이미지를 바로 뒤에 함께 두어 코드·표·도식을 대조할 수 있게 했습니다.

~~~text
Aufgabe 5: Pfad in Eintaktprozessor einzeihnen

Wir betrachtet eine Schaltung des Eintaktprozessors. In der Abbildung unten sind alle Datenpfade weggelassen:

[ABBILDUNG DES EINTAKTPROZESSORS – siehe Probeklausur.pdf p10 bzw. exam-p10.png]

Es sind folgende vier Assemblerinstruktionen gegeben:

• slli t2, t0, 2
• sw t1, 0(t2)
• lw t4, 0(t3)
• beq s2, t0, done

a) Zeichnen Sie alle Pfade in die Abbildung ein, die von allen vier Instruktionen benutzt werden.

b) Begründen Sie Ihren Auswahl kurz.

Hinweise:

• Für jeden falsch skizzierten Pfad bekommen Sie ein Punkt Abzug.
• Sie müssen keine Pfade von „Control Unit “skizzieren.
• Bei konditionaler Benutztung einzelner Datenpfade zeichnen sie diese in jedem Fall mit ein.

Für Notizen und Lösung: [separate leere Seite auf PDF-Seite 11]
~~~

![공식 시험 원문 — exam-p10.png](../../assets/exam-p10.png)

*공식 시험 원문: `exam-p10.png` · Probeklausur.pdf · PDF p.10*

### 이 unit에서 풀 항목

`slli`, `sw`, `lw`, `beq`의 path를 각각 추적하세요.

## 2. 쉬운 한국어 해석

문제 5: 단일 사이클 프로세서(Eintaktprozessor)의 경로 그리기

단일 사이클 프로세서의 회로를 살펴본다. 아래 그림에서는 모든 데이터 경로가 생략되어 있다.

[단일 사이클 프로세서 그림 — Probeklausur.pdf 10쪽 또는 exam-p10.png를 직접 확인해야 함]

다음 네 개의 어셈블리 명령이 주어져 있다.

• slli t2, t0, 2
• sw t1, 0(t2)
• lw t4, 0(t3)
• beq s2, t0, done

a) 네 명령 모두가 사용하는 모든 경로를 그림에 그리시오.

b) 선택한 경로를 짧게 설명하시오.

주의사항:

• 잘못 그린 경로 하나마다 1점이 감점된다.
• Control Unit에서 나오는 경로는 그릴 필요가 없다.
• 어떤 데이터 경로가 조건부로 사용되는 경우에도 반드시 그 경로를 포함하시오.

메모 및 답안 공간: [PDF 11쪽에 별도의 빈 페이지가 제공됨]

### 이 unit에 해당하는 최소 작업

`slli`, `sw`, `lw`, `beq`의 path를 각각 추적하세요.

이 문제에서 최종 결과만 맞히는 것보다 중요한 것은 `5-1`에 필요한 중간 판단을 답안지에 남기는 것입니다.

## 3. 무엇을 묻는 문제인가

### 공식 문제의 요구사항

- slli, sw, lw, beq가 각각 사용하는 datapath를 확인한다.
- 네 명령의 경로 중 네 명령 모두가 사용하는 공통 경로, 즉 교집합만 빈 Eintaktprozessor 그림에 그린다.
- 선택한 공통 경로가 왜 네 명령 모두에 필요한지 짧게 설명한다.

### 조건과 제약

- 잘못 추가한 경로마다 1점이 감점되므로 합집합이 아니라 네 명령 모두가 사용하는 경로만 선택해야 한다.
- Control Unit에서 나오는 control-signal 경로는 그리지 않는다.
- 조건에 따라 사용될 수 있는 데이터 경로는 원문 지시에 따라 포함한다.
- 회로의 component 위치, MUX 입력, 포트 이름과 선의 연결은 PDF p10의 실제 그림을 기준으로 해야 한다.

### 원문 오탈자·도식 관련 주의

- 핵심 회로는 그림으로만 주어진다. original_de의 [ABBILDUNG ...] 표시는 원문 대체물이 아니며, 정확한 component 배치와 연결 가능 지점은 exam-p10.png를 시각 확인해야 한다.
- 문제 그림에는 실제 데이터 경로 선이 의도적으로 생략되어 있으므로 텍스트만으로 최종 선의 기하 구조를 재구성하거나 추측할 수 없다.
- 원문 제목의 'einzeihnen', 본문의 'Wir betrachtet', 'Ihren Auswahl', 'ein Punkt Abzug'는 문법·철자상 오류로 보이지만 그대로 보존했다.
- 원문 인용부호에는 '„Control Unit “'처럼 닫는 인용부호 앞 공백이 있으며 마지막 Hinweis의 'sie'가 소문자이다. 의미를 바꾸지 않고 보존했다.
- PDF p11은 'Für Notizen und Lösung:'만 있는 빈 답안 페이지이다.

### 도식 시각 확인 상태

- **도식 의존 여부:** 필수
- **시각 확인 상태:** verified spot-check
- **직접 확인한 asset:** exam-p10.png, solution-p23.png, solution-p24.png
- **확인 기준:** component/box 위치와 공식 해설의 표시를 텍스트 추출이 아닌 2× 원본 raster에서 대조했습니다.

### 이 unit의 학습 목표

- **관찰 가능한 목표:** slli, sw, lw, beq 각각에 대해 PC 경로, register port, ALU 입력, memory 동작, writeback을 빠짐없이 분리해 표시할 수 있다.
- **출제 의도:** 공통 path를 바로 그리면 합집합과 교집합을 섞기 쉽습니다. 네 instruction의 개별 경로를 먼저 완성해야 최종 공통선을 안전하게 얻고 감점 위험을 줄일 수 있습니다.
- **공식 근거 범위:** Probeklausur.pdf 시험 p10의 네 instruction과 빈 Eintakt diagram, Probeklausur Musterlösung und Hinweise.pdf 공식 해설 p23–24의 개별 instruction path.
- **Aufgabe 공통 선수지식:** 각 instruction마다 ① 다음 PC, ② source/destination register, ③ 결과 저장 위치를 표시한 뒤 네 그림의 교집합만 남깁니다. ‘한 instruction이라도 안 쓰는 path’는 답에서 제외됩니다.

## 4. 선수 개념과 핵심 용어

### data path

- **뜻:** instruction 처리 중 값이 component와 wire를 따라 이동하는 경로입니다.
- **이 문제에서:** 네 instruction이 실제로 사용하는 연결을 각각 추적할 때 사용합니다.

### Register File

- **뜻:** source register를 읽고 필요하면 destination register에 결과를 쓰는 저장 component입니다.
- **이 문제에서:** A1/A2 읽기와 A3/WD3 writeback 사용 여부를 instruction별로 판정할 때 사용합니다.

### ALUSrc

- **뜻:** ALU의 둘째 입력이 register 값인지 extended immediate인지 고르는 선택입니다.
- **이 문제에서:** slli, sw, lw와 beq가 ALU 입력을 어떻게 다르게 만드는지 구분할 때 사용합니다.

### writeback

- **뜻:** ALU 결과나 memory read 결과를 destination register에 기록하는 마지막 흐름입니다.
- **이 문제에서:** slli와 lw에는 있지만 sw와 beq에는 없는 register destination 경로를 판정할 때 사용합니다.

### 이 문제에 적용할 풀이 규칙

### 규칙 1. 세 질문으로 instruction 경로를 고정한다

각 instruction마다 다음 PC, 읽는 operand, 최종 destination을 먼저 정하면 필요한 component가 자연스럽게 결정됩니다.

- **시험지에 남길 것:** instruction별로 PC / sources / operation / destination 네 열 표를 작성합니다.

### 규칙 2. assembly operand 위치를 역할로 다시 읽는다

첫 register가 항상 destination은 아니며 sw의 첫 register는 memory에 쓸 data, 괄호 안 register는 주소 base입니다.

- **시험지에 남길 것:** 각 register 위에 rd, rs1, rs2 또는 store-data/base를 직접 적습니다.

### 규칙 3. 개별 경로에서는 아직 지우지 않는다

교집합 판단은 네 개별 경로가 완성된 뒤에 해야 특정 instruction의 전용선을 실수로 공통선으로 남기지 않습니다.

- **시험지에 남길 것:** 네 경로를 서로 다른 색이나 네 행의 Boolean 표로 먼저 보존합니다.

### 공식 문제 전에 푸는 작은 유사 예제

**문제:** addi t0,t1,4와 sw t2,8(s0)의 개별 경로를 register 읽기, ALU, memory, writeback 기준으로 비교하세요.

**주어진 것**

- addi는 I-type ALU instruction입니다.
- sw는 base+offset 주소에 register data를 저장합니다.
- 두 instruction 모두 정상 순차 실행이면 PC+4 후보를 사용합니다.

### 예제 단계 1. 각 instruction의 source와 destination을 적습니다.

- **왜:** Register File의 읽기/쓰기 port 사용을 결정하기 위해서입니다.
- **종이에:** addi: rs1=t1, rd=t0; sw: rs1=s0(base), rs2=t2(data), rd 없음

### 예제 단계 2. ALU 두 입력과 결과 의미를 적습니다.

- **왜:** 둘 다 immediate를 사용하지만 addi 결과는 값이고 sw 결과는 주소입니다.
- **종이에:** addi ALU=t1+4; sw ALU=s0+8=memory address

### 예제 단계 3. 최종 destination과 write enable을 표시합니다.

- **왜:** register writeback과 Data Memory write를 혼동하지 않기 위해서입니다.
- **종이에:** addi RegWrite=1, MemWrite=0; sw RegWrite=0, MemWrite=1

**예제 정답:** addi는 A1→ALU(immediate)→WD3/rd 경로를, sw는 A1/A2→ALU 주소와 WriteData→Data Memory 경로를 사용합니다.

**독립 검산:** sw에 A3/WD3를 표시하지 않았는지, addi에 Data Memory write를 표시하지 않았는지 확인합니다.

## 5. 공식 정답 요약

**공식 결론:** 공식 p23–24의 개별 경로는 다음과 같습니다. 공통으로 먼저 PC→Instruction Memory와 PC→PC+4→PCNext를 사용합니다. `slli`는 t0(A1/RD1)와 shift immediate(Extend)를 ALU에 보내 t2(A3/WD3)로 writeback합니다. `sw`는 t2(A1/RD1)+S-immediate로 주소를 만들고 t1(A2/RD2)을 Data Memory WD에 써 넣습니다. `lw`는 t3(A1/RD1)+I-immediate로 주소를 만들고 ReadData를 t4(A3/WD3)로 writeback합니다. `beq`는 s2와 t0(A1/A2, RD1/RD2)를 ALU에서 비교하고 PC+branch immediate로 BTA를 만든 뒤 조건에 따라 PCNext를 고릅니다.

### 시험지 문장별 정답 해설

아래는 시험지의 항목 순서를 그대로 유지합니다. 각 항목에서 원문 → 한국어 번역 → 정답 → 판단 근거 → 실제로 쓸 답을 바로 이어서 읽으세요.



### 현재 소문제의 요구·판단·답을 한 흐름으로 연결

### `5-1`에서 정확히 답할 대상

- **시험지가 요구하는 답:** `slli`, `sw`, `lw`, `beq`의 path를 각각 추적하세요.
- **이 소문제의 공식 답:** 공식 p23–24의 개별 경로는 다음과 같습니다. 공통으로 먼저 PC→Instruction Memory와 PC→PC+4→PCNext를 사용합니다. `slli`는 t0(A1/RD1)와 shift immediate(Extend)를 ALU에 보내 t2(A3/WD3)로 writeback합니다. `sw`는 t2(A1/RD1)+S-immediate로 주소를 만들고 t1(A2/RD2)을 Data Memory WD에 써 넣습니다. `lw`는 t3(A1/RD1)+I-immediate로 주소를 만들고 ReadData를 t4(A3/WD3)로 writeback합니다. `beq`는 s2와 t0(A1/A2, RD1/RD2)를 ALU에서 비교하고 PC+branch immediate로 BTA를 만든 뒤 조건에 따라 PCNext를 고릅니다.

### 판단 1. PC가 PC+4 또는 branch target 중 무엇인지 표시합니다.

- **왜:** 모든 instruction은 fetch를 하지만 beq만 조건에 따라 branch target을 선택할 수 있어 PC 경로가 달라집니다.
- **이 판단에서 답안지에 남길 것:** slli/sw/lw에는 PC+4, beq에는 PC+4와 조건부 BTA 후보를 적습니다.

### 판단 2. A1/A2/A3/WD3 사용 여부를 표시합니다.

- **왜:** source 수와 register destination 유무가 Register File 주변 연결을 결정합니다.
- **이 판단에서 답안지에 남길 것:** slli A1/A3/WD3, sw A1/A2, lw A1/A3/WD3, beq A1/A2 표를 만듭니다.

### 판단 3. ALU의 두 입력 source를 표시합니다.

- **왜:** ALU가 register 비교를 하는지, base+offset을 하는지, shift immediate를 처리하는지에 따라 MUX 선택이 달라집니다.
- **이 판단에서 답안지에 남길 것:** 각 instruction에 SrcA와 SrcB가 register/immediate 중 무엇인지 적습니다.

### 판단 4. Data Memory read/write를 표시합니다.

- **왜:** lw만 memory read를, sw만 memory write를 수행하고 slli/beq는 Data Memory를 사용하지 않습니다.
- **이 판단에서 답안지에 남길 것:** lw: read, sw: write, slli/beq: none인 표와 memory address/data 방향을 적습니다.

### 판단 5. register writeback 여부를 표시합니다.

- **왜:** slli는 ALUResult를, lw는 ReadData를 rd에 쓰지만 sw와 beq는 일반 register destination이 없습니다.
- **이 판단에서 답안지에 남길 것:** slli WD3=ALUResult, lw WD3=ReadData, sw/beq RegWrite=0을 적습니다.

### 위 판단이 최종 답으로 이어지는 이유

slli는 register→ALU→register, sw는 base/data register→ALU/Data Memory, lw는 base→ALU→Data Memory→register, beq는 두 register 비교와 조건부 PC 선택을 씁니다.

### 답안 작성 시 주의

문제는 합집합이 아니라 모든 네 instruction이 공통으로 쓰는 교집합입니다.

![공식 Musterlösung/Hinweise — solution-p23.png](../../assets/solution-p23.png)

*공식 Musterlösung/Hinweise: `solution-p23.png` · Probeklausur Musterlösung und Hinweise.pdf · PDF p.23*

![공식 Musterlösung/Hinweise — solution-p24.png](../../assets/solution-p24.png)

*공식 Musterlösung/Hinweise: `solution-p24.png` · Probeklausur Musterlösung und Hinweise.pdf · PDF p.24*

## 6. 풀이 전략

1. PC가 PC+4 또는 branch target 중 무엇인지 표시합니다.
2. A1/A2/A3/WD3 사용 여부를 표시합니다.
3. ALU의 두 입력 source를 표시합니다.
4. Data Memory read/write를 표시합니다.
5. register writeback 여부를 표시합니다.

## 7. 단계별 상세 풀이

### 단계 1. PC가 PC+4 또는 branch target 중 무엇인지 표시합니다.

- **이유:** 모든 instruction은 fetch를 하지만 beq만 조건에 따라 branch target을 선택할 수 있어 PC 경로가 달라집니다.
- **종이에 남길 것:** slli/sw/lw에는 PC+4, beq에는 PC+4와 조건부 BTA 후보를 적습니다.
- **완료 기준:** 네 instruction 각각의 next-PC 후보와 조건 여부가 구분됩니다.
- **막힐 때 힌트:** 먼저 jump/branch instruction인지 판정하세요.
- **가장 흔한 첫 오류:** beq가 목록에 있다는 이유로 branch target 경로를 네 instruction 모두의 개별 경로에 넣습니다.

### 단계 2. A1/A2/A3/WD3 사용 여부를 표시합니다.

- **이유:** source 수와 register destination 유무가 Register File 주변 연결을 결정합니다.
- **종이에 남길 것:** slli A1/A3/WD3, sw A1/A2, lw A1/A3/WD3, beq A1/A2 표를 만듭니다.
- **완료 기준:** 각 port에 실제 operand 역할과 register 이름을 붙일 수 있습니다.
- **막힐 때 힌트:** sw의 첫 operand는 rd가 아니라 저장할 data입니다.
- **가장 흔한 첫 오류:** sw t1,0(t2)의 t1을 A3 destination으로 표시합니다.

### 단계 3. ALU의 두 입력 source를 표시합니다.

- **이유:** ALU가 register 비교를 하는지, base+offset을 하는지, shift immediate를 처리하는지에 따라 MUX 선택이 달라집니다.
- **종이에 남길 것:** 각 instruction에 SrcA와 SrcB가 register/immediate 중 무엇인지 적습니다.
- **완료 기준:** 네 instruction 모두의 ALU 계산식을 한 줄씩 쓸 수 있습니다.
- **막힐 때 힌트:** 괄호 밖 숫자나 shift amount가 있으면 immediate 경로를 먼저 의심하세요.
- **가장 흔한 첫 오류:** beq의 둘째 source를 immediate로 표시해 두 register 비교를 놓칩니다.

### 단계 4. Data Memory read/write를 표시합니다.

- **이유:** lw만 memory read를, sw만 memory write를 수행하고 slli/beq는 Data Memory를 사용하지 않습니다.
- **종이에 남길 것:** lw: read, sw: write, slli/beq: none인 표와 memory address/data 방향을 적습니다.
- **완료 기준:** MemWrite와 memory read 결과 경로를 instruction별로 구분합니다.
- **막힐 때 힌트:** load는 memory→CPU, store는 CPU→memory 방향입니다.
- **가장 흔한 첫 오류:** lw와 sw 모두 memory를 쓰므로 둘 다 같은 read/write 방향이라고 표시합니다.

### 단계 5. register writeback 여부를 표시합니다.

- **이유:** slli는 ALUResult를, lw는 ReadData를 rd에 쓰지만 sw와 beq는 일반 register destination이 없습니다.
- **종이에 남길 것:** slli WD3=ALUResult, lw WD3=ReadData, sw/beq RegWrite=0을 적습니다.
- **완료 기준:** ResultSrc와 RegWrite가 필요한 두 instruction을 정확히 가려냅니다.
- **막힐 때 힌트:** assembly 결과가 첫 register에 저장되는 instruction인지 보세요.
- **가장 흔한 첫 오류:** beq의 비교 결과를 일반 register에 writeback한다고 표시합니다.

### 네 instruction을 하나씩 분리한 datapath 해설

- **`slli t2,t0,2`:** PC에서 instruction을 fetch하고 A1=t0를 읽습니다. Extend의 shift immediate와 RD1을 ALU에 보내 shift한 뒤 A3=t2, WD3=ALUResult로 writeback합니다.
- **`sw t1,0(t2)`:** A1=t2가 base, A2=t1이 저장 data입니다. ALU가 base+S-immediate로 주소를 만들고 RD2를 Data Memory WD에 씁니다.
- **`lw t4,0(t3)`:** A1=t3와 I-immediate로 주소를 계산하고 Data Memory ReadData를 A3=t4, WD3로 writeback합니다.
- **`beq s2,t0,done`:** A1=s2와 A2=t0를 ALU에서 비교하고 PC+branch immediate로 BTA를 만든 뒤 조건에 따라 PCNext를 고릅니다.

## 8. 문제와 공식 해설의 비교·검증

- **문제가 요구하는 것:** `slli`, `sw`, `lw`, `beq`의 path를 각각 추적하세요.
- **공식 해설이 제시하는 결론:** 공식 p23–24의 개별 경로는 다음과 같습니다. 공통으로 먼저 PC→Instruction Memory와 PC→PC+4→PCNext를 사용합니다. `slli`는 t0(A1/RD1)와 shift immediate(Extend)를 ALU에 보내 t2(A3/WD3)로 writeback합니다. `sw`는 t2(A1/RD1)+S-immediate로 주소를 만들고 t1(A2/RD2)을 Data Memory WD에 써 넣습니다. `lw`는 t3(A1/RD1)+I-immediate로 주소를 만들고 ReadData를 t4(A3/WD3)로 writeback합니다. `beq`는 s2와 t0(A1/A2, RD1/RD2)를 ALU에서 비교하고 PC+branch immediate로 BTA를 만든 뒤 조건에 따라 PCNext를 고릅니다.
- **결론을 재현하는 핵심 논리:** slli는 register→ALU→register, sw는 base/data register→ALU/Data Memory, lw는 base→ALU→Data Memory→register, beq는 두 register 비교와 조건부 PC 선택을 씁니다.
- **검증 방법:** 위 micro-step의 `종이에 남길 것`을 순서대로 만들고 각 `완료 기준`을 확인합니다. 최종 산출물이 공식 결론과 같은지 대조합니다.
- **전제와 주의 범위:** 문제는 합집합이 아니라 모든 네 instruction이 공통으로 쓰는 교집합입니다.
- **채택할 시험 답:** 이 가이드에서는 공식 Musterlösung의 결론을 시험 답으로 유지하며, 일반 ISA 또는 다른 구현과 달라질 수 있는 부분은 위 전제와 주의 범위에서 분리합니다.

## 9. 시험장에서 쓸 최종 답안

공식 p23–24의 개별 경로는 다음과 같습니다. 공통으로 먼저 PC→Instruction Memory와 PC→PC+4→PCNext를 사용합니다. `slli`는 t0(A1/RD1)와 shift immediate(Extend)를 ALU에 보내 t2(A3/WD3)로 writeback합니다. `sw`는 t2(A1/RD1)+S-immediate로 주소를 만들고 t1(A2/RD2)을 Data Memory WD에 써 넣습니다. `lw`는 t3(A1/RD1)+I-immediate로 주소를 만들고 ReadData를 t4(A3/WD3)로 writeback합니다. `beq`는 s2와 t0(A1/A2, RD1/RD2)를 ALU에서 비교하고 PC+branch immediate로 BTA를 만든 뒤 조건에 따라 PCNext를 고릅니다.

답안지에는 결과만 쓰지 말고, 7절의 중간 산출물 가운데 판정을 증명하는 식·bit field·register 상태·cycle·cache 상태를 함께 남기세요.

## 10. 자주 하는 실수와 검산 체크리스트

### 대표 실수

- 문제는 합집합이 아니라 모든 네 instruction이 공통으로 쓰는 교집합입니다.
- beq가 목록에 있다는 이유로 branch target 경로를 네 instruction 모두의 개별 경로에 넣습니다.
- sw t1,0(t2)의 t1을 A3 destination으로 표시합니다.
- beq의 둘째 source를 immediate로 표시해 두 register 비교를 놓칩니다.
- lw와 sw 모두 memory를 쓰므로 둘 다 같은 read/write 방향이라고 표시합니다.
- beq의 비교 결과를 일반 register에 writeback한다고 표시합니다.

### 빠른 self-check

- **회상 질문:** lw와 sw가 공통으로 쓰지만 slli와 beq는 쓰지 않는 block은 무엇인가요?
- [ ] 공식 diagram 없이 slli, sw, lw, beq의 component 사용 표를 완성할 수 있다.
- [ ] 네 개별 경로를 공식 해설 p23–24 overlay와 선 단위로 대조할 수 있다.

## 11. 짧은 확인 문제와 전이 연습

### 개념 재구성

**문제:** instruction 하나의 Eintakt data path를 추적할 때 쓰는 다섯 확인 항목을 기억에서 재구성하세요.

**힌트:** PC, register, ALU, memory, 마지막 저장 순서입니다.

<details>
<summary>정답과 채점 기준 보기</summary>

**모범 답:** next PC, Register File port, ALU 입력/연산, Data Memory read/write, register writeback을 확인합니다.

**채점 기준**
  - PC
  - Register|A1
  - ALU
  - Memory|Speicher
  - writeback|WD3

</details>

### 변형 문제

**문제:** addi a0,a1,12, sb t0,3(s1), lh t2,2(s2), bne t3,t4,L의 source 수, memory 방향, register write 여부를 표로 만드세요.

**힌트:** addi/lh는 rd가 있고 sb/bne는 rd가 없습니다.

<details>
<summary>정답과 채점 기준 보기</summary>

**모범 답:** addi: source1+imm, memory 없음, register write. sb: base+data source2개, memory write, register write 없음. lh: base+imm, memory read, register write. bne: source2개 비교, memory 없음, register write 없음.

**채점 기준**
  - addi: source1+imm, memory 없음, register write
  - sb: base+data source2개, memory write
  - lh: base+imm, memory read
  - bne: source2개 비교

</details>

### 오답 진단

**문제:** 학생이 sw t1,0(t2)를 'A1=t1, A3=t2, WD3=memory'로 그렸습니다. 첫 오류부터 고치세요.

**힌트:** store syntax에서 괄호 안 register와 첫 register의 역할을 다시 읽으세요.

<details>
<summary>정답과 채점 기준 보기</summary>

**모범 답:** t2가 주소 base이므로 A1=t2이고 t1은 저장 data이므로 A2=t1입니다. sw는 일반 register destination과 WD3 writeback이 없습니다.

**채점 기준**
  - A1=t2|rs1=t2
  - A2=t1|rs2=t1
  - 일반 register destination
  - WD3 writeback이 없습니다

</details>

## 12. 근거 자료

- `[문제 출처] current:Probeklausur.pdf` — 시험 p10–11 · 공식 해설 p23–36
- `[공식 해설] current:Probeklausur Musterlösung und Hinweise.pdf` — 시험 p10–11 · 공식 해설 p23–36
- `[정확한 원문 group] 5` — 시험 p.10, p.11 · 공식 해설 p.23, p.24, p.25, p.26, p.27, p.28, p.29, p.30, p.31, p.32, p.33, p.34, p.35, p.36
- `[소문항 범위] Probeklausur.pdf 시험 p10의 네 instruction과 빈 Eintakt diagram, Probeklausur Musterlösung und Hinweise.pdf 공식 해설 p23–24의 개별 instruction path.`
- `[개념 근거 · file-level] current:Vorlesung/Rechnerorganisation - Teil 2.pdf` — Eintaktprozessor datapath와 control
- `[개념 근거 · file-level] current:Uebung/Lösung 5.pdf` — performance와 Eintakt datapath 기초
- `[개념 근거 · file-level] current:Uebung/Lösung 6.pdf` — Eintakt control signal과 critical path

### 이 파일에서 직접 대조한 공식 이미지

- `exam-p10.png` — Probeklausur.pdf · PDF p.10
- `solution-p23.png` — Probeklausur Musterlösung und Hinweise.pdf · PDF p.23
- `solution-p24.png` — Probeklausur Musterlösung und Hinweise.pdf · PDF p.24

정확한 강의 슬라이드 한 페이지를 확정하지 못한 개념 자료는 `file-level`로 표시했습니다. 페이지 번호를 추측해서 만들지 않았습니다.
