---
schema_version: 1
exam_id: "sose26-probeklausur"
aufgabe: 1
unit_id: "1b"
source_group_id: "1b"
official_exam: true
official_solution: true
language: "ko"
---

# 1b — Eintakt·Mehrtakt·Pipeline 구분

> **학습 목표:** instruction당 cycle 수와 instruction 간 stage 중첩 여부를 기준으로 Eintakt, Mehrtakt, Pipeline Aussage를 복수 선택까지 정확히 분류한다.
>
> **왜 따로 배우는가:** 세 구조는 모두 instruction을 처리하지만 latency와 throughput을 설명하는 축이 다릅니다. 한 문장에 둘 이상의 구조가 해당할 수 있음을 이해해야 6개 Aussage를 기계적으로 하나씩만 고르는 실수를 피할 수 있습니다.
>
> **범위:** Aufgabe 1 · 15점 Aufgabe의 최소 학습 단위 · 시험 p3–5 · 공식 해설 p3–6

## 1. 문제 원문 (Deutsch)

이 unit은 공식 Teilaufgabe 또는 표의 한 행·한 access를 학습 가능한 최소 단위로 다시 나눈 것입니다. 아래 전사는 source group `1b`의 공식 독일어 문제 원문이며, 페이지 이미지를 바로 뒤에 함께 두어 코드·표·도식을 대조할 수 있게 했습니다.

~~~text
1b) Prozessorarchitekturen

Tragen Sie für jede Aussage die passenden Abkürzungen der Architekturtypen in die rechte Spalte ein: E (Eintakt), M (Mehrtakt) oder P (Pipeline). Mehrfachnennungen sind möglich.

| Aussage | Architektur (E / M / P) |
|---|---|
| 1. Benötigt die meisten Hardwarekomponenten. | |
| 2. Die Ausführung einer einzelnen Instruktion benötigt mehrere Taktzyklen. | |
| 3. Es können keine Data Hazards auftreten. | |
| 4. Besitzt eine spezielle Hazard Unit zur Konfliktauflösung. | |
| 5. Alle Befehle haben die gleiche Ausführungszeit. | |
| 6. Verwendet die Von-Neumann-Architektur. | |
~~~

![공식 시험 원문 — exam-p03.png](../../assets/exam-p03.png)

*공식 시험 원문: `exam-p03.png` · Probeklausur.pdf · PDF p.3*

### 이 unit에서 풀 항목

6개 Aussage에 E/M/P를 모두 표시하고 각 행의 근거를 쓰세요.

## 2. 쉬운 한국어 해석

1b) 프로세서 아키텍처(Prozessorarchitekturen)

각 문장에 해당하는 아키텍처 유형의 약어를 오른쪽 칸에 쓰시오: E(Eintakt, 단일 사이클), M(Mehrtakt, 다중 사이클), P(Pipeline, 파이프라인). 여러 개를 답으로 쓸 수 있다.

| 문장 | 아키텍처(E / M / P) |
|---|---|
| 1. 가장 많은 하드웨어 구성요소가 필요하다. | |
| 2. 하나의 명령어를 실행하는 데 여러 clock cycle이 필요하다. | |
| 3. Data Hazard가 발생할 수 없다. | |
| 4. 충돌을 해결하기 위한 전용 Hazard Unit을 갖는다. | |
| 5. 모든 명령어의 실행 시간이 같다. | |
| 6. Von-Neumann 아키텍처를 사용한다. | |

### 이 unit에 해당하는 최소 작업

6개 Aussage에 E/M/P를 모두 표시하고 각 행의 근거를 쓰세요.

이 문제에서 최종 결과만 맞히는 것보다 중요한 것은 `1b`에 필요한 중간 판단을 답안지에 남기는 것입니다.

## 3. 무엇을 묻는 문제인가

### 공식 문제의 요구사항

- 여섯 문장 각각에 해당하는 E, M, P를 판별해 적는다.

### 조건과 제약

- 한 문장에 복수의 아키텍처 약어를 적을 수 있다.
- E는 Eintakt, M은 Mehrtakt, P는 Pipeline을 뜻한다.
- 일반적인 모든 구현이 아니라 이 강의에서 다룬 세 프로세서 모델을 기준으로 판별해야 한다.

### 원문 오탈자·도식 관련 주의

- 문장 6의 Von-Neumann 분류는 일반적인 ISA의 고유 속성이라기보다 강의에서 제시한 Eintakt/Mehrtakt/Pipeline 데이터패스 및 메모리 구성 전제에 의존한다. 원문에는 그 전제가 별도로 적혀 있지 않다.

### 도식 시각 확인 상태

- **도식 의존 여부:** 이 최소 unit의 핵심 판정은 텍스트·수식·코드로 재현할 수 있습니다.
- **공식 페이지 상태:** exam-p03.png, solution-p03.png가 원문 대조용으로 렌더되어 연결되어 있습니다.

### 이 unit의 학습 목표

- **관찰 가능한 목표:** instruction당 cycle 수와 instruction 간 stage 중첩 여부를 기준으로 Eintakt, Mehrtakt, Pipeline Aussage를 복수 선택까지 정확히 분류한다.
- **출제 의도:** 세 구조는 모두 instruction을 처리하지만 latency와 throughput을 설명하는 축이 다릅니다. 한 문장에 둘 이상의 구조가 해당할 수 있음을 이해해야 6개 Aussage를 기계적으로 하나씩만 고르는 실수를 피할 수 있습니다.
- **공식 근거 범위:** SoSe26 Probeklausur 시험 p3 Aufgabe 1b의 6개 Aussage 및 공식 해설 p3의 E/M/P 복수 매칭 범위.
- **Aufgabe 공통 선수지식:** 용어를 외우기 전에 ‘무엇을 입력받아 무엇을 출력하는가’, ‘CPU 내부가 겹쳐 일하는가’, ‘memory에서 다음 접근이 얼마나 가까운가’를 묻는 습관을 만듭니다.

## 4. 선수 개념과 핵심 용어

### Eintakt

- **뜻:** 한 instruction의 모든 datapath 작업을 하나의 긴 Takt 안에 끝내는 구조입니다.
- **이 문제에서:** 한 instruction이 정확히 한 cycle에 완료된다는 Aussage와 연결합니다.

### Mehrtakt

- **뜻:** 한 instruction을 여러 짧은 cycle의 단계로 나누고 hardware 자원을 cycle별로 재사용하는 구조입니다.
- **이 문제에서:** instruction 하나가 여러 cycle을 쓰거나 이 강의의 공유 Instruction/Data memory 설명과 연결합니다.

### Pipeline

- **뜻:** 서로 다른 instruction의 stage를 시간상 겹쳐 throughput을 높이는 구조입니다.
- **이 문제에서:** 동시에 여러 instruction이 진행되거나 Data Hazard/Hazard Unit이 필요한 Aussage와 연결합니다.

### Data Hazard

- **뜻:** 뒤 instruction이 앞 instruction의 아직 준비되지 않은 결과를 필요로 하는 의존성 문제입니다.
- **이 문제에서:** 동시에 겹쳐 실행되는 Pipeline의 특징을 판별하는 강한 단서입니다.

### 이 문제에 적용할 풀이 규칙

### 규칙 1. 두 질문 분류 규칙

먼저 한 instruction이 여러 cycle을 쓰는지, 다음으로 서로 다른 instruction이 겹치는지를 따로 묻습니다. 첫 질문은 Mehrtakt 여부, 둘째는 Pipeline 여부를 가릅니다.

- **시험지에 남길 것:** 각 Aussage 옆에 `한 instr. 여러 cycle?`, `여러 instr. overlap?` 두 칸을 만듭니다.

### 규칙 2. 복수 표시 규칙

하나의 일반적 속성이 두 architecture에 모두 맞을 수 있으므로 E/M/P 중 정확히 하나만 고른다는 가정은 금지합니다.

- **시험지에 남길 것:** 각 선택지에 E, M, P 체크박스를 모두 그리고 해당하는 모든 글자에 표시합니다.

### 규칙 3. latency와 throughput 분리

Pipeline의 한 instruction도 여러 stage를 지나지만 장점은 여러 instruction을 겹쳐 단위 시간당 완료 수를 높이는 데 있습니다.

- **시험지에 남길 것:** ‘빠르다’는 문장이 나오면 `latency`인지 `throughput`인지 옆에 적습니다.

### 공식 문제 전에 푸는 작은 유사 예제

**문제:** 다음 세 설명을 E/M/P에 모두 연결하세요. A: 한 instruction의 fetch부터 writeback까지 모든 datapath 작업을 한 cycle에 수행하므로 가장 긴 전체 instruction 경로가 clock period를 정한다. B: 한 instruction의 ALU와 memory 단계를 서로 다른 cycle에 수행하되 다음 instruction과 겹치지 않는다. C: 앞 instruction의 결과를 기다리도록 forwarding이나 stall이 필요하다.

**주어진 것**

- E=Eintakt, M=Mehrtakt, P=Pipeline입니다.
- 한 설명에 복수 구조가 해당할 수 있습니다.

### 예제 단계 1. A에서 한 cycle 완료와 worst-case path 단서를 찾습니다.

- **왜:** 모든 작업을 한 Takt에 넣는 Eintakt의 clock이 긴 이유를 직접 나타냅니다.
- **종이에:** A → E

### 예제 단계 2. B에서 여러 cycle이지만 overlap이 없음을 분리합니다.

- **왜:** instruction 내부 단계 분할만 있고 instruction 간 중첩은 없으므로 Mehrtakt입니다.
- **종이에:** B → M

### 예제 단계 3. C에서 동시에 진행되는 의존 instruction의 충돌을 찾습니다.

- **왜:** forwarding과 stall은 Pipeline overlap 때문에 필요한 해결책입니다.
- **종이에:** C → P

**예제 정답:** A=E, B=M, C=P입니다.

**독립 검산:** 각 답에 대해 ‘instruction 내부 cycle 수’와 ‘instruction 간 overlap’ 중 어느 근거를 썼는지 한 가지씩 말합니다.

## 5. 공식 정답 요약

**공식 결론:** 1=P: pipeline register·forwarding/hazard logic까지 필요합니다. 2=P&M: M은 여러 state, P는 한 instruction이 여러 stage/cycle을 지납니다. 3=E&M: 동시에 여러 instruction을 겹치지 않아 inter-instruction Data Hazard가 없습니다. 4=P: Hazard Unit으로 겹친 instruction 충돌을 처리합니다. 5=E: 모든 instruction이 정확히 한 clock cycle을 사용합니다. 6=M: 이 강의의 Mehrtakt는 instruction/data에 shared memory를 쓰는 Von-Neumann 구조입니다.

### 시험지 문장별 정답 해설

아래는 시험지의 항목 순서를 그대로 유지합니다. 각 항목에서 원문 → 한국어 번역 → 정답 → 판단 근거 → 실제로 쓸 답을 바로 이어서 읽으세요.

### 문장 1 · 정답: P

- **시험지 원문:** Benötigt die meisten Hardwarekomponenten.
- **한국어 번역:** 가장 많은 하드웨어 구성요소가 필요하다.
- **왜 이 답인가:** 강의의 Pipeline datapath에는 stage 사이의 pipeline register와 forwarding·hazard 처리 회로가 추가됩니다. 따라서 세 강의 모델 중 hardware component가 가장 많은 것은 Pipeline입니다.
- **답안지에 쓸 문장:** 1. P — pipeline register와 Hazard/Forwarding hardware가 추가됨

### 문장 2 · 정답: P & M

- **시험지 원문:** Die Ausführung einer einzelnen Instruktion benötigt mehrere Taktzyklen.
- **한국어 번역:** 하나의 명령어를 실행하는 데 여러 clock cycle이 필요하다.
- **왜 이 답인가:** Mehrtakt에서는 한 instruction을 여러 state/cycle로 나눕니다. Pipeline에서도 한 instruction은 IF·ID·EX·MEM·WB의 여러 cycle을 지나며, 다른 instruction과 겹쳐지는 것이 추가 특징입니다. 따라서 M과 P를 둘 다 씁니다.
- **답안지에 쓸 문장:** 2. P & M — 한 instruction이 여러 stage/state의 cycle을 지남

### 문장 3 · 정답: E & M

- **시험지 원문:** Es können keine Data Hazards auftreten.
- **한국어 번역:** Data Hazard가 발생할 수 없다.
- **왜 이 답인가:** Data Hazard는 서로 다른 instruction이 겹쳐 진행할 때 뒤 instruction이 아직 준비되지 않은 결과를 읽으려 해서 생깁니다. Eintakt와 강의의 Mehrtakt는 instruction들을 겹쳐 실행하지 않으므로 이 timing hazard가 없고, Pipeline에는 생길 수 있습니다.
- **답안지에 쓸 문장:** 3. E & M — instruction 간 overlap이 없어 Data Hazard가 없음

### 문장 4 · 정답: P

- **시험지 원문:** Besitzt eine spezielle Hazard Unit zur Konfliktauflösung.
- **한국어 번역:** 충돌을 해결하기 위한 전용 Hazard Unit을 갖는다.
- **왜 이 답인가:** 동시에 진행되는 instruction 사이의 dependency와 stall/forwarding 결정을 처리해야 하는 구조가 Pipeline입니다. 따라서 전용 Hazard Unit은 P에 해당합니다.
- **답안지에 쓸 문장:** 4. P — 겹쳐 실행되는 instruction의 충돌을 Hazard Unit이 처리

### 문장 5 · 정답: E

- **시험지 원문:** Alle Befehle haben die gleiche Ausführungszeit.
- **한국어 번역:** 모든 명령어의 실행 시간이 같다.
- **왜 이 답인가:** Eintakt에서는 instruction 종류와 관계없이 하나의 긴 clock cycle 안에 fetch부터 writeback까지 끝냅니다. 따라서 모든 명령이 동일하게 1 cycle을 사용합니다.
- **답안지에 쓸 문장:** 5. E — 모든 명령어가 정확히 한 긴 cycle을 사용

### 문장 6 · 정답: M

- **시험지 원문:** Verwendet die Von-Neumann-Architektur.
- **한국어 번역:** Von-Neumann 아키텍처를 사용한다.
- **왜 이 답인가:** 공식 답은 강의에서 제시한 Mehrtakt datapath가 instruction fetch와 data access에 하나의 shared memory를 cycle별로 재사용한다는 전제를 사용합니다. 이는 모든 Mehrtakt 구현에 대한 보편 명제가 아니라 이 시험의 강의 모델 기준입니다.
- **답안지에 쓸 문장:** 6. M — 강의의 Mehrtakt는 instruction/data shared memory를 재사용

### 현재 소문제의 요구·판단·답을 한 흐름으로 연결

### `1b`에서 정확히 답할 대상

- **시험지가 요구하는 답:** 6개 Aussage에 E/M/P를 모두 표시하고 각 행의 근거를 쓰세요.
- **이 소문제의 공식 답:** 1=P: pipeline register·forwarding/hazard logic까지 필요합니다. 2=P&M: M은 여러 state, P는 한 instruction이 여러 stage/cycle을 지납니다. 3=E&M: 동시에 여러 instruction을 겹치지 않아 inter-instruction Data Hazard가 없습니다. 4=P: Hazard Unit으로 겹친 instruction 충돌을 처리합니다. 5=E: 모든 instruction이 정확히 한 clock cycle을 사용합니다. 6=M: 이 강의의 Mehrtakt는 instruction/data에 shared memory를 쓰는 Von-Neumann 구조입니다.

### 판단 1. 각 Aussage가 한 instruction을 여러 cycle로 나누는지 판별합니다.

- **왜:** instruction 내부의 시간 분할은 Mehrtakt를 직접 가리키며 Pipeline overlap과는 별도 축입니다.
- **이 판단에서 답안지에 남길 것:** 6개 문장 옆 첫 칸에 `multi-cycle: 예/아니오/언급 없음`을 적습니다.

### 판단 2. 서로 다른 instruction의 stage가 동시에 겹치는지 판별합니다.

- **왜:** instruction 간 overlap이 Pipeline의 정의적 특징이며 throughput 향상의 원인입니다.
- **이 판단에서 답안지에 남길 것:** 둘째 칸에 `overlap: 예/아니오/언급 없음`을 적습니다.

### 판단 3. overlap이 있는 Aussage에 Data Hazard와 Hazard Unit 단서를 연결합니다.

- **왜:** 의존 instruction이 시간상 겹칠 때 아직 쓰이지 않은 결과를 읽을 수 있어 별도 해결 hardware가 필요합니다.
- **이 판단에서 답안지에 남길 것:** 관련 문장 옆에 `P: dependency → forwarding/stall`을 적습니다.

### 판단 4. Instruction/Data memory 공유 Aussage를 이 강의의 Mehrtakt datapath에 연결합니다.

- **왜:** 공식 문제는 일반적 ISA 명제가 아니라 강의에서 제시한 Von-Neumann형 Mehrtakt 구현의 자원 재사용 맥락을 묻습니다.
- **이 판단에서 답안지에 남길 것:** 해당 문장에 `M: shared memory, cycle별 재사용` 근거를 남깁니다.

### 판단 5. 여섯 Aussage를 행별로 최종 판정하고 한 줄 근거를 붙입니다.

- **왜:** 같은 약어라도 적용 이유가 다르며, 복수 정답인 2번과 3번을 누락하지 않기 위해서입니다.
- **이 판단에서 답안지에 남길 것:** 1 P—pipeline register/hazard hardware; 2 P&M—여러 stage/state cycle; 3 E&M—동시 instruction overlap 없음; 4 P—Hazard Unit; 5 E—모든 instruction 1 cycle; 6 M—수업의 shared instruction/data memory라고 적습니다.

### 위 판단이 최종 답으로 이어지는 이유

Eintakt는 instruction 하나의 모든 datapath 작업을 한 긴 Takt에 끝냅니다. Mehrtakt는 한 instruction을 여러 짧은 Takt로 나눕니다. Pipeline은 서로 다른 instruction의 stage를 겹쳐 처리하므로 hazard 해결 hardware가 필요합니다. Von-Neumann 판정은 일반적인 모든 설계가 아니라 이 강의의 shared-memory Mehrtakt datapath 전제입니다.

### 답안 작성 시 주의

Pipeline의 latency와 throughput을 구분하고, 6번은 이 강의 datapath 전제이지 모든 Mehrtakt processor에 대한 보편 명제가 아님을 적으세요.

![공식 Musterlösung/Hinweise — solution-p03.png](../../assets/solution-p03.png)

*공식 Musterlösung/Hinweise: `solution-p03.png` · Probeklausur Musterlösung und Hinweise.pdf · PDF p.3*

## 6. 풀이 전략

1. ‘한 instruction이 여러 cycle인가?’를 먼저 봅니다.
2. ‘여러 instruction이 동시에 겹치는가?’를 봅니다.
3. 겹친다면 Data Hazard와 Hazard Unit을 연결합니다.
4. Instruction/Data memory를 공유하는 Von-Neumann 특징은 이 강의의 Mehrtakt datapath와 연결합니다.
5. 여섯 Aussage를 행별로 최종 판정하고 각 행에 한 줄 근거를 붙입니다.

## 7. 단계별 상세 풀이

### 단계 1. 각 Aussage가 한 instruction을 여러 cycle로 나누는지 판별합니다.

- **이유:** instruction 내부의 시간 분할은 Mehrtakt를 직접 가리키며 Pipeline overlap과는 별도 축입니다.
- **종이에 남길 것:** 6개 문장 옆 첫 칸에 `multi-cycle: 예/아니오/언급 없음`을 적습니다.
- **완료 기준:** 모든 문장에 첫 분류 칸이 채워져 있습니다.
- **막힐 때 힌트:** stage가 여러 개라는 사실보다 같은 instruction이 cycle을 몇 번 쓰는지 보세요.
- **가장 흔한 첫 오류:** 여러 stage라는 단어만 보고 무조건 Pipeline으로 표시하는 것입니다.

### 단계 2. 서로 다른 instruction의 stage가 동시에 겹치는지 판별합니다.

- **이유:** instruction 간 overlap이 Pipeline의 정의적 특징이며 throughput 향상의 원인입니다.
- **종이에 남길 것:** 둘째 칸에 `overlap: 예/아니오/언급 없음`을 적습니다.
- **완료 기준:** Pipeline 근거가 있는 문장마다 overlap 또는 동시 처리 표시가 있습니다.
- **막힐 때 힌트:** 같은 순간에 서로 다른 instruction이 datapath의 다른 부분에 있는지 상상하세요.
- **가장 흔한 첫 오류:** 한 instruction의 여러 stage를 여러 instruction의 동시 실행과 혼동하는 것입니다.

### 단계 3. overlap이 있는 Aussage에 Data Hazard와 Hazard Unit 단서를 연결합니다.

- **이유:** 의존 instruction이 시간상 겹칠 때 아직 쓰이지 않은 결과를 읽을 수 있어 별도 해결 hardware가 필요합니다.
- **종이에 남길 것:** 관련 문장 옆에 `P: dependency → forwarding/stall`을 적습니다.
- **완료 기준:** Data Hazard 관련 문장을 Pipeline으로 판정하고 인과를 한 줄로 설명했습니다.
- **막힐 때 힌트:** 앞 instruction의 write-back 전에 뒤 instruction이 read하려 하면 어떻게 되는지 보세요.
- **가장 흔한 첫 오류:** Data Hazard가 순차 실행에서도 동일한 timing 문제를 만든다고 답하는 것입니다.

### 단계 4. Instruction/Data memory 공유 Aussage를 이 강의의 Mehrtakt datapath에 연결합니다.

- **이유:** 공식 문제는 일반적 ISA 명제가 아니라 강의에서 제시한 Von-Neumann형 Mehrtakt 구현의 자원 재사용 맥락을 묻습니다.
- **종이에 남길 것:** 해당 문장에 `M: shared memory, cycle별 재사용` 근거를 남깁니다.
- **완료 기준:** 공유 memory 문장의 M 표시가 강의 datapath 전제와 함께 쓰여 있습니다.
- **막힐 때 힌트:** 한 cycle에는 instruction fetch, 다른 cycle에는 data access를 하면 한 memory를 재사용할 수 있습니다.
- **가장 흔한 첫 오류:** 모든 Mehrtakt processor가 반드시 동일한 memory 구조라고 과도하게 일반화하는 것입니다.

### 단계 5. 여섯 Aussage를 행별로 최종 판정하고 한 줄 근거를 붙입니다.

- **이유:** 같은 약어라도 적용 이유가 다르며, 복수 정답인 2번과 3번을 누락하지 않기 위해서입니다.
- **종이에 남길 것:** 1 P—pipeline register/hazard hardware; 2 P&M—여러 stage/state cycle; 3 E&M—동시 instruction overlap 없음; 4 P—Hazard Unit; 5 E—모든 instruction 1 cycle; 6 M—수업의 shared instruction/data memory라고 적습니다.
- **완료 기준:** 1=P, 2=P&M, 3=E&M, 4=P, 5=E, 6=M 모두에 서로 다른 근거가 있습니다.
- **막힐 때 힌트:** 2번은 latency, 3번은 inter-instruction overlap, 6번은 course-specific datapath 전제입니다.
- **가장 흔한 첫 오류:** 2번을 M만 고르거나 6번을 모든 architecture의 보편 속성으로 설명합니다.

## 8. 문제와 공식 해설의 비교·검증

- **문제가 요구하는 것:** 6개 Aussage에 E/M/P를 모두 표시하고 각 행의 근거를 쓰세요.
- **공식 해설이 제시하는 결론:** 1=P: pipeline register·forwarding/hazard logic까지 필요합니다. 2=P&M: M은 여러 state, P는 한 instruction이 여러 stage/cycle을 지납니다. 3=E&M: 동시에 여러 instruction을 겹치지 않아 inter-instruction Data Hazard가 없습니다. 4=P: Hazard Unit으로 겹친 instruction 충돌을 처리합니다. 5=E: 모든 instruction이 정확히 한 clock cycle을 사용합니다. 6=M: 이 강의의 Mehrtakt는 instruction/data에 shared memory를 쓰는 Von-Neumann 구조입니다.
- **결론을 재현하는 핵심 논리:** Eintakt는 instruction 하나의 모든 datapath 작업을 한 긴 Takt에 끝냅니다. Mehrtakt는 한 instruction을 여러 짧은 Takt로 나눕니다. Pipeline은 서로 다른 instruction의 stage를 겹쳐 처리하므로 hazard 해결 hardware가 필요합니다. Von-Neumann 판정은 일반적인 모든 설계가 아니라 이 강의의 shared-memory Mehrtakt datapath 전제입니다.
- **검증 방법:** 위 micro-step의 `종이에 남길 것`을 순서대로 만들고 각 `완료 기준`을 확인합니다. 최종 산출물이 공식 결론과 같은지 대조합니다.
- **전제와 주의 범위:** Pipeline의 latency와 throughput을 구분하고, 6번은 이 강의 datapath 전제이지 모든 Mehrtakt processor에 대한 보편 명제가 아님을 적으세요.
- **채택할 시험 답:** 이 가이드에서는 공식 Musterlösung의 결론을 시험 답으로 유지하며, 일반 ISA 또는 다른 구현과 달라질 수 있는 부분은 위 전제와 주의 범위에서 분리합니다.

## 9. 시험장에서 쓸 최종 답안

1=P: pipeline register·forwarding/hazard logic까지 필요합니다. 2=P&M: M은 여러 state, P는 한 instruction이 여러 stage/cycle을 지납니다. 3=E&M: 동시에 여러 instruction을 겹치지 않아 inter-instruction Data Hazard가 없습니다. 4=P: Hazard Unit으로 겹친 instruction 충돌을 처리합니다. 5=E: 모든 instruction이 정확히 한 clock cycle을 사용합니다. 6=M: 이 강의의 Mehrtakt는 instruction/data에 shared memory를 쓰는 Von-Neumann 구조입니다.

답안지에는 결과만 쓰지 말고, 7절의 중간 산출물 가운데 판정을 증명하는 식·bit field·register 상태·cycle·cache 상태를 함께 남기세요.

## 10. 자주 하는 실수와 검산 체크리스트

### 대표 실수

- Pipeline의 latency와 throughput을 구분하고, 6번은 이 강의 datapath 전제이지 모든 Mehrtakt processor에 대한 보편 명제가 아님을 적으세요.
- 여러 stage라는 단어만 보고 무조건 Pipeline으로 표시하는 것입니다.
- 한 instruction의 여러 stage를 여러 instruction의 동시 실행과 혼동하는 것입니다.
- Data Hazard가 순차 실행에서도 동일한 timing 문제를 만든다고 답하는 것입니다.
- 모든 Mehrtakt processor가 반드시 동일한 memory 구조라고 과도하게 일반화하는 것입니다.
- 2번을 M만 고르거나 6번을 모든 architecture의 보편 속성으로 설명합니다.

### 빠른 self-check

- **회상 질문:** Data Hazard가 Pipeline에서만 문제가 되는 핵심 이유는 무엇인가요?
- [ ] 처음 보는 Aussage마다 multi-cycle과 overlap 두 축을 표시한 뒤 E/M/P를 복수 선택할 수 있다.
- [ ] Pipeline latency와 throughput을 바꿔 말하지 않고 Data Hazard의 발생 원인을 설명할 수 있다.

## 11. 짧은 확인 문제와 전이 연습

### 개념 재구성

**문제:** Eintakt, Mehrtakt, Pipeline을 `한 instruction의 cycle 수`, `instruction 간 overlap`, `대표 timing 문제` 세 축으로 표 없이 문장 세 개로 재구성하세요.

**힌트:** Pipeline의 장점은 한 instruction latency보다 throughput 축에서 설명하세요.

<details>
<summary>정답과 채점 기준 보기</summary>

**모범 답:** Eintakt는 한 instruction을 한 긴 cycle에 끝내고 instruction 간 overlap이 없습니다. Mehrtakt는 한 instruction을 여러 cycle로 나누지만 서로 다른 instruction은 겹치지 않습니다. Pipeline은 여러 stage를 쓰면서 서로 다른 instruction을 겹쳐 throughput을 높이고 Data Hazard를 해결해야 합니다.

**채점 기준**
  - eintakt
  - 한 긴 cycle|하나의 cycle|1 cycle
  - mehrtakt
  - 여러 cycle|multiple cycle
  - pipeline
  - overlap|겹
  - data hazard|hazard

</details>

### 변형 문제

**문제:** A 구조는 instruction 하나가 IF, EX, MEM의 세 cycle을 순서대로 쓰며 다른 instruction은 그동안 시작하지 않는다. B 구조는 cycle 4에 I1의 MEM과 I2의 EX와 I3의 IF가 동시에 진행된다. A와 B를 분류하고 B에서 RAW 의존성이 생길 때 필요한 조치 하나를 적으세요.

**힌트:** 여러 cycle과 여러 instruction의 동시 진행을 분리하세요.

<details>
<summary>정답과 채점 기준 보기</summary>

**모범 답:** A는 Mehrtakt, B는 Pipeline입니다. B의 RAW Data Hazard에는 forwarding 또는 필요한 cycle만큼 stall을 사용할 수 있습니다.

**채점 기준**
  - a는 mehrtakt|a=mehrtakt
  - b는 pipeline|b=pipeline
  - forwarding|stall

</details>

### 오답 진단

**문제:** 학생이 ‘Pipeline은 한 instruction이 여러 cycle을 지나므로 Mehrtakt와 완전히 같은 구조이고, Data Hazard는 생기지 않는다’고 했습니다. 첫 논리 오류와 올바른 구분 기준을 쓰세요.

**힌트:** instruction 하나가 아니라 서로 다른 instruction들의 시간 관계를 보세요.

<details>
<summary>정답과 채점 기준 보기</summary>

**모범 답:** 첫 오류는 여러 stage/cycle만으로 두 구조를 같다고 한 것입니다. Pipeline은 서로 다른 instruction의 stage를 겹치지만 일반 Mehrtakt는 겹치지 않습니다. 이 overlap 때문에 의존 instruction 사이에 Data Hazard가 생겨 forwarding이나 stall이 필요합니다.

**채점 기준**
  - 서로 다른 instruction|different instruction
  - overlap|겹
  - mehrtakt
  - data hazard
  - forwarding|stall

</details>

## 12. 근거 자료

- `[문제 출처] current:Probeklausur.pdf` — 시험 p3–5 · 공식 해설 p3–6
- `[공식 해설] current:Probeklausur Musterlösung und Hinweise.pdf` — 시험 p3–5 · 공식 해설 p3–6
- `[정확한 원문 group] 1b` — 시험 p.3 · 공식 해설 p.3
- `[소문항 범위] SoSe26 Probeklausur 시험 p3 Aufgabe 1b의 6개 Aussage 및 공식 해설 p3의 E/M/P 복수 매칭 범위.`
- `[개념 근거 · file-level] current:Vorlesung/Rechnerorganisation - Teil 1.pdf` — toolchain, processor architecture, RISC-V
- `[개념 근거 · file-level] current:Vorlesung/Rechnerorganisation - Teil 2.pdf` — Eintakt, Mehrtakt, Pipeline와 고정 datapath timing
- `[개념 근거 · file-level] current:Vorlesung/Rechnerorganisation - Teil 3.pdf` — Speicherhierarchie와 Lokalität
- `[개념 근거 · file-level] current:Uebung/Übung C Musterlösung.pdf` — C memory layout와 row-major array
- `[개념 근거 · file-level] current:Uebung/Übung 0 Musterlösung.pdf` — Zweierkomplement와 수 표현

### 이 파일에서 직접 대조한 공식 이미지

- `exam-p03.png` — Probeklausur.pdf · PDF p.3
- `solution-p03.png` — Probeklausur Musterlösung und Hinweise.pdf · PDF p.3

정확한 강의 슬라이드 한 페이지를 확정하지 못한 개념 자료는 `file-level`로 표시했습니다. 페이지 번호를 추측해서 만들지 않았습니다.
