왜 이 소문제를 따로 배우는가
세 구조는 모두 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 경로가 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 구조라고 과도하게 일반화하는 것입니다.
공식 답을 열기 전 마지막 회상
Data Hazard가 Pipeline에서만 문제가 되는 핵심 이유는 무엇인가요?
내 풀이 후 공식 결론·이유·대표 함정 확인
공식 결론
1=P, 2=P&M, 3=E&M, 4=P, 5=E, 6=M.
왜 이 답이 되는가
Eintakt는 instruction 하나를 한 긴 Takt에 끝냅니다. Mehrtakt는 한 instruction을 여러 짧은 Takt로 나눕니다. Pipeline은 서로 다른 instruction의 stage를 겹쳐 처리하므로 hazard 해결 hardware가 필요합니다.
대표 함정
Pipeline도 latency 관점에서는 여러 stage/cycle을 지나지만 throughput이 좋아지는 구조입니다.
새 문제로 전이하기
세 문항은 앞 문장의 반복이 아닙니다. 직접 답을 입력하면 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 복수 매칭 범위.

