왜 이 소문제를 따로 배우는가
세 구조는 모두 instruction을 처리하지만 latency와 throughput을 설명하는 축이 다릅니다. 한 문장에 둘 이상의 구조가 해당할 수 있음을 이해해야 6개 Aussage를 기계적으로 하나씩만 고르는 실수를 피할 수 있습니다.
이 페이지는 Aufgabe 1의 공통 템플릿이 아니라 1b Eintakt·Mehrtakt·Pipeline 구분에 필요한 내용만 담습니다. 챕터 전체 배경이 필요하면 Aufgabe 1 개념 수업을 먼저 읽으세요.
이 소문제에서 실제로 쓰는 용어
정의뿐 아니라 이 문제의 어느 판단에 쓰이는지까지 연결합니다.
- 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의 특징을 판별하는 강한 단서입니다.
이 소문제 전용 규칙과 종이 작업
두 질문 분류 규칙
먼저 한 instruction이 여러 cycle을 쓰는지, 다음으로 서로 다른 instruction이 겹치는지를 따로 묻습니다. 첫 질문은 Mehrtakt 여부, 둘째는 Pipeline 여부를 가릅니다.
종이에: 각 Aussage 옆에 `한 instr. 여러 cycle?`, `여러 instr. overlap?` 두 칸을 만듭니다.
복수 표시 규칙
하나의 일반적 속성이 두 architecture에 모두 맞을 수 있으므로 E/M/P 중 정확히 하나만 고른다는 가정은 금지합니다.
종이에: 각 선택지에 E, M, P 체크박스를 모두 그리고 해당하는 모든 글자에 표시합니다.
latency와 throughput 분리
Pipeline의 한 instruction도 여러 stage를 지나지만 장점은 여러 instruction을 겹쳐 단위 시간당 완료 수를 높이는 데 있습니다.
종이에: ‘빠르다’는 문장이 나오면 `latency`인지 `throughput`인지 옆에 적습니다.
Aufgabe 전체 흐름은 챕터 흐름도에서 확인할 수 있습니다. 여기서는 현재 판단에 직접 필요한 규칙만 적용합니다.
이 소문제 전용 작은 예제
다음 세 설명을 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입니다.
- 한 설명에 복수 구조가 해당할 수 있습니다.
- A에서 한 cycle 완료와 worst-case path 단서를 찾습니다.
모든 작업을 한 Takt에 넣는 Eintakt의 clock이 긴 이유를 직접 나타냅니다.
종이 산출물: A → E
- B에서 여러 cycle이지만 overlap이 없음을 분리합니다.
instruction 내부 단계 분할만 있고 instruction 간 중첩은 없으므로 Mehrtakt입니다.
종이 산출물: B → M
- C에서 동시에 진행되는 의존 instruction의 충돌을 찾습니다.
forwarding과 stall은 Pipeline overlap 때문에 필요한 해결책입니다.
종이 산출물: C → P
예제 답과 독립 검산 보기
A=E, B=M, C=P입니다.
독립 검산: 각 답에 대해 ‘instruction 내부 cycle 수’와 ‘instruction 간 overlap’ 중 어느 근거를 썼는지 한 가지씩 말합니다.
이제 실제 시험 문제를 micro-work로 풀기
공식 시험이 요구하는 것
6개 Aussage에 E/M/P를 모두 표시하고 각 행의 근거를 쓰세요.
공식 답을 보기 전, 내 답 먼저 남기기
완성 문장이 아니어도 좋습니다. 중간값·register·cycle·cache state처럼 채점 가능한 흔적을 먼저 적으세요.
각 작업의 중간 산출물을 직접 적고 완료 조건을 만족한 뒤 체크하세요. 단계별 이유·산출물·오류가 현재 소문제에 맞게 따로 작성되어 있습니다.
각 Aussage가 한 instruction을 여러 cycle로 나누는지 판별합니다.
- 왜 하는가
- instruction 내부의 시간 분할은 Mehrtakt를 직접 가리키며 Pipeline overlap과는 별도 축입니다.
- 종이 산출물
- 6개 문장 옆 첫 칸에 `multi-cycle: 예/아니오/언급 없음`을 적습니다.
- 완료 조건
- 모든 문장에 첫 분류 칸이 채워져 있습니다.
막혔을 때 단계 힌트·대표 오류
힌트: stage가 여러 개라는 사실보다 같은 instruction이 cycle을 몇 번 쓰는지 보세요.
이 단계의 대표 오류: 여러 stage라는 단어만 보고 무조건 Pipeline으로 표시하는 것입니다.
서로 다른 instruction의 stage가 동시에 겹치는지 판별합니다.
- 왜 하는가
- instruction 간 overlap이 Pipeline의 정의적 특징이며 throughput 향상의 원인입니다.
- 종이 산출물
- 둘째 칸에 `overlap: 예/아니오/언급 없음`을 적습니다.
- 완료 조건
- Pipeline 근거가 있는 문장마다 overlap 또는 동시 처리 표시가 있습니다.
막혔을 때 단계 힌트·대표 오류
힌트: 같은 순간에 서로 다른 instruction이 datapath의 다른 부분에 있는지 상상하세요.
이 단계의 대표 오류: 한 instruction의 여러 stage를 여러 instruction의 동시 실행과 혼동하는 것입니다.
overlap이 있는 Aussage에 Data Hazard와 Hazard Unit 단서를 연결합니다.
- 왜 하는가
- 의존 instruction이 시간상 겹칠 때 아직 쓰이지 않은 결과를 읽을 수 있어 별도 해결 hardware가 필요합니다.
- 종이 산출물
- 관련 문장 옆에 `P: dependency → forwarding/stall`을 적습니다.
- 완료 조건
- Data Hazard 관련 문장을 Pipeline으로 판정하고 인과를 한 줄로 설명했습니다.
막혔을 때 단계 힌트·대표 오류
힌트: 앞 instruction의 write-back 전에 뒤 instruction이 read하려 하면 어떻게 되는지 보세요.
이 단계의 대표 오류: Data Hazard가 순차 실행에서도 동일한 timing 문제를 만든다고 답하는 것입니다.
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 구조라고 과도하게 일반화하는 것입니다.
여섯 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의 보편 속성으로 설명합니다.
공식 답을 열기 전 마지막 회상
Data Hazard가 Pipeline에서만 문제가 되는 핵심 이유는 무엇인가요?
내 풀이 후 공식 결론·이유·대표 함정 확인
공식 결론
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 전제입니다.
대표 함정
Pipeline의 latency와 throughput을 구분하고, 6번은 이 강의 datapath 전제이지 모든 Mehrtakt processor에 대한 보편 명제가 아님을 적으세요.
시험지 문장별 정답 해설
아래 항목은 시험지 순서를 그대로 유지합니다. 각 문장마다 원문, 번역, 정답, 판단 근거, 실제 답안 문장을 한곳에서 확인하세요.
문장 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를 모두 표시하고 각 행의 근거를 쓰세요.
- 각 Aussage가 한 instruction을 여러 cycle로 나누는지 판별합니다.
판단 이유: instruction 내부의 시간 분할은 Mehrtakt를 직접 가리키며 Pipeline overlap과는 별도 축입니다.
답안지에 남길 중간 결과: 6개 문장 옆 첫 칸에 `multi-cycle: 예/아니오/언급 없음`을 적습니다. - 서로 다른 instruction의 stage가 동시에 겹치는지 판별합니다.
판단 이유: instruction 간 overlap이 Pipeline의 정의적 특징이며 throughput 향상의 원인입니다.
답안지에 남길 중간 결과: 둘째 칸에 `overlap: 예/아니오/언급 없음`을 적습니다. - overlap이 있는 Aussage에 Data Hazard와 Hazard Unit 단서를 연결합니다.
판단 이유: 의존 instruction이 시간상 겹칠 때 아직 쓰이지 않은 결과를 읽을 수 있어 별도 해결 hardware가 필요합니다.
답안지에 남길 중간 결과: 관련 문장 옆에 `P: dependency → forwarding/stall`을 적습니다. - Instruction/Data memory 공유 Aussage를 이 강의의 Mehrtakt datapath에 연결합니다.
판단 이유: 공식 문제는 일반적 ISA 명제가 아니라 강의에서 제시한 Von-Neumann형 Mehrtakt 구현의 자원 재사용 맥락을 묻습니다.
답안지에 남길 중간 결과: 해당 문장에 `M: shared memory, cycle별 재사용` 근거를 남깁니다. - 여섯 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: 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 전제입니다.
이 답에 붙는 주의: Pipeline의 latency와 throughput을 구분하고, 6번은 이 강의 datapath 전제이지 모든 Mehrtakt processor에 대한 보편 명제가 아님을 적으세요.
새 문제로 전이하기
세 문항은 앞 문장의 반복이 아닙니다. 직접 답을 입력하면 rubric의 필수 기준을 하나씩 검사하고, 첫 누락 기준을 알려 줍니다.
1. 개념 재구성
Eintakt, Mehrtakt, Pipeline을 `한 instruction의 cycle 수`, `instruction 간 overlap`, `대표 timing 문제` 세 축으로 표 없이 문장 세 개로 재구성하세요.
Pipeline의 장점은 한 instruction latency보다 throughput 축에서 설명하세요.
제출 후 모델 답 보기
Eintakt는 한 instruction을 한 긴 cycle에 끝내고 instruction 간 overlap이 없습니다. Mehrtakt는 한 instruction을 여러 cycle로 나누지만 서로 다른 instruction은 겹치지 않습니다. Pipeline은 여러 stage를 쓰면서 서로 다른 instruction을 겹쳐 throughput을 높이고 Data Hazard를 해결해야 합니다.
2. 변형 문제
A 구조는 instruction 하나가 IF, EX, MEM의 세 cycle을 순서대로 쓰며 다른 instruction은 그동안 시작하지 않는다. B 구조는 cycle 4에 I1의 MEM과 I2의 EX와 I3의 IF가 동시에 진행된다. A와 B를 분류하고 B에서 RAW 의존성이 생길 때 필요한 조치 하나를 적으세요.
여러 cycle과 여러 instruction의 동시 진행을 분리하세요.
제출 후 모델 답 보기
A는 Mehrtakt, B는 Pipeline입니다. B의 RAW Data Hazard에는 forwarding 또는 필요한 cycle만큼 stall을 사용할 수 있습니다.
3. 오류 진단
학생이 ‘Pipeline은 한 instruction이 여러 cycle을 지나므로 Mehrtakt와 완전히 같은 구조이고, Data Hazard는 생기지 않는다’고 했습니다. 첫 논리 오류와 올바른 구분 기준을 쓰세요.
instruction 하나가 아니라 서로 다른 instruction들의 시간 관계를 보세요.
제출 후 모델 답 보기
첫 오류는 여러 stage/cycle만으로 두 구조를 같다고 한 것입니다. Pipeline은 서로 다른 instruction의 stage를 겹치지만 일반 Mehrtakt는 겹치지 않습니다. 이 overlap 때문에 의존 instruction 사이에 Data Hazard가 생겨 forwarding이나 stall이 필요합니다.
이 소문제를 끝냈다고 말할 수 있는 기준
이 소문제의 정확한 공식 페이지와 대조하기
왼쪽은 문제를 읽을 때, 오른쪽은 자신의 풀이를 끝낸 뒤에 확인하세요. 해설 이미지를 먼저 보면 중간 과정을 스스로 만드는 연습이 사라집니다.
Source: Probeklausur.pdf / Probeklausur Musterlösung und Hinweise.pdf · 시험 p3–5 · 공식 해설 p3–6 · SoSe26 Probeklausur 시험 p3 Aufgabe 1b의 6개 Aussage 및 공식 해설 p3의 E/M/P 복수 매칭 범위.

