왜 이 소문제를 따로 배우는가
이 문제는 틀린 선 하나마다 감점될 수 있어 많이 그리는 전략이 불리합니다. 각 선이 네 instruction 모두에 필요한지 증명한 뒤 그리는 보수적 절차가 핵심입니다.
이 페이지는 Aufgabe 5의 공통 템플릿이 아니라 5-2 공통 path 교집합에 필요한 내용만 담습니다. 챕터 전체 배경이 필요하면 Aufgabe 5 개념 수업을 먼저 읽으세요.
이 소문제에서 실제로 쓰는 용어
정의뿐 아니라 이 문제의 어느 판단에 쓰이는지까지 연결합니다.
- intersection
- 여러 집합 모두에 동시에 들어 있는 요소만 남기는 교집합입니다.이 소문제에서: Path(slli) ∩ Path(sw) ∩ Path(lw) ∩ Path(beq)를 계산할 때 사용합니다.
- common path
- 문제의 모든 instruction이 조건부 사용까지 포함해 공통으로 지나는 연결입니다.이 소문제에서: 공식 해설 p25에 그릴 최종 blue path를 결정할 때 사용합니다.
- conditional path
- 특정 조건에서 선택될 수 있는 경로이며 문제 지시에 따라 사용 가능성이 있으면 포함합니다.이 소문제에서: beq의 조건부 PC 선택을 처리할 때 문제의 Hinweis를 적용하는 데 사용합니다.
- false positive wire
- 한두 instruction만 쓰지만 공통이라고 잘못 그린 선입니다.이 소문제에서: 잘못 그린 path당 감점되는 문제에서 제거해야 할 대상입니다.
이 소문제 전용 규칙과 종이 작업
선마다 네 개의 체크가 필요하다
한 선이 공통이려면 slli, sw, lw, beq 네 칸이 모두 사용으로 표시되어야 합니다.
종이에: 후보 wire를 행으로, 네 instruction을 열로 둔 Boolean 교집합 표를 만듭니다.
Control Unit path는 문제 지시대로 제외한다
공식 문제는 Control Unit 자체의 연결을 그리지 말라고 명시하므로 data path 교집합과 분리해야 합니다.
종이에: Control signal wire는 별도 X 표시하고 최종 overlay 후보에서 제거합니다.
그림은 마지막에 그린다
표에서 공통성을 증명하기 전에 diagram에 선을 추가하면 합집합 흔적을 지우기 어렵습니다.
종이에: 표의 네 칸이 모두 체크된 후보에만 번호를 매기고 그 번호 순서로 그림에 옮깁니다.
Aufgabe 전체 흐름은 챕터 흐름도에서 확인할 수 있습니다. 여기서는 현재 판단에 직접 필요한 규칙만 적용합니다.
이 소문제 전용 작은 예제
세 instruction의 path 집합이 X={fetch,PC+4,RFread,ALU,RFwrite}, Y={fetch,PC+4,RFread,ALU,DMwrite}, Z={fetch,PC+4,RFread,ALU,DMread,RFwrite}일 때 공통 path를 구하세요.
주어진 것
- 공통 path는 세 집합의 교집합입니다.
- read/write 방향이 다른 memory 항목은 같은 요소가 아닙니다.
- 한 집합에 없는 요소는 최종 답에서 제외합니다.
- fetch와 PC+4가 세 집합 모두에 있는지 확인합니다.
후보별로 전 집합 membership을 검사해야 합니다.
종이 산출물: fetch ✓✓✓, PC+4 ✓✓✓
- RFread와 ALU를 같은 방식으로 검사합니다.
세 instruction 모두 operand를 읽고 해당 예에서 ALU를 사용합니다.
종이 산출물: RFread ✓✓✓, ALU ✓✓✓
- RFwrite와 Data Memory 항목을 검사해 하나라도 X가 있으면 제외합니다.
교집합은 다수결이 아니라 전원 일치입니다.
종이 산출물: RFwrite ✓×✓ → 제외; DMread ××✓ → 제외; DMwrite ×✓× → 제외
예제 답과 독립 검산 보기
공통 집합은 {fetch, PC+4, RFread, ALU}입니다.
독립 검산: 최종 항목 각각을 세 원집합에서 다시 찾아 모두 존재하는지 역검산합니다.
이제 실제 시험 문제를 micro-work로 풀기
공식 시험이 요구하는 것
네 instruction 모두가 쓰는 선만 남기세요.
공식 답을 보기 전, 내 답 먼저 남기기
완성 문장이 아니어도 좋습니다. 중간값·register·cycle·cache state처럼 채점 가능한 흔적을 먼저 적으세요.
각 작업의 중간 산출물을 직접 적고 완료 조건을 만족한 뒤 체크하세요. 단계별 이유·산출물·오류가 현재 소문제에 맞게 따로 작성되어 있습니다.
네 개별 그림을 투명 종이처럼 겹친다고 생각합니다.
- 왜 하는가
- 공통 path는 각 instruction overlay의 시각적 교집합이므로 개별 경로를 동시에 비교해야 합니다.
- 종이 산출물
- 5-1 표의 각 wire 행에 slli/sw/lw/beq 네 열을 준비합니다.
- 완료 조건
- 최종 그림을 그리기 전 모든 후보 wire 목록이 표에 있습니다.
막혔을 때 단계 힌트·대표 오류
힌트: 먼저 5-1에서 완성한 네 개별 경로를 옆에 펼치세요.
이 단계의 대표 오류: 기억에 의존해 흔히 쓰는 datapath 선을 모두 후보로 넣습니다.
네 그림 모두 표시된 선만 체크합니다.
- 왜 하는가
- 한 instruction이라도 쓰지 않는 선은 수학적으로 교집합에 속하지 않습니다.
- 종이 산출물
- 각 후보 wire에 ✓/× 네 개와 최종 AND 결과를 적습니다.
- 완료 조건
- 최종 후보마다 ✓✓✓✓가 확인됩니다.
막혔을 때 단계 힌트·대표 오류
힌트: 세 개가 맞고 하나가 틀리면 여전히 제외입니다.
이 단계의 대표 오류: 네 instruction 중 다수가 쓰면 공통이라고 판정합니다.
conditional path는 문제 지시대로 사용 가능성이 있으면 포함합니다.
- 왜 하는가
- 공식 Hinweis가 조건부 사용 경로를 포함하도록 요구하므로 실제 branch outcome 하나만 보고 지우면 안 됩니다.
- 종이 산출물
- 조건부 후보 옆에 '가능한 경우 포함' 근거와 어떤 condition인지 적습니다.
- 완료 조건
- beq taken/not-taken 가능성을 문제 지시와 함께 설명합니다.
막혔을 때 단계 힌트·대표 오류
힌트: 시험 p10의 Hinweis 세 번째 bullet을 다시 읽으세요.
이 단계의 대표 오류: 현재 branch가 not-taken이라고 가정해 조건부 경로를 모두 지웁니다.
Control Unit 자체의 path는 제외합니다.
- 왜 하는가
- 문제가 명시적으로 Control Unit path를 그리지 말라고 했으므로 data path와 섞으면 불필요한 감점선이 됩니다.
- 종이 산출물
- Control Unit에서 나오는 후보를 별도 X로 표시합니다.
- 완료 조건
- 최종 overlay에 Control signal 연결이 남아 있지 않습니다.
막혔을 때 단계 힌트·대표 오류
힌트: component 자체가 아니라 문제에서 'keine Pfade von Control Unit' 문장을 적용하세요.
이 단계의 대표 오류: control signal도 네 instruction에 필요하다는 일반 지식으로 함께 그립니다.
공식 Musterlösung p25와 선 단위로 대조합니다.
- 왜 하는가
- course-specific diagram의 port와 wire 위치는 공식 그림이 최종 기준이며 텍스트 이름만으로 위치를 추측하면 어긋날 수 있습니다.
- 종이 산출물
- 자신의 선마다 번호를 붙이고 p25의 대응 선에 같은 번호를 적습니다.
- 완료 조건
- 누락선과 과잉선 수가 모두 0이고 각 선의 공통 근거를 말할 수 있습니다.
막혔을 때 단계 힌트·대표 오류
힌트: 선의 시작 component, 끝 component, port 이름을 하나씩 비교하세요.
이 단계의 대표 오류: 그림이 비슷해 보인다는 이유로 세부 port 연결을 확인하지 않습니다.
공식 답을 열기 전 마지막 회상
공통 path를 고를 때 instruction별 표를 먼저 만드는 것이 왜 안전한가요?
내 풀이 후 공식 결론·이유·대표 함정 확인
공식 결론
정확한 최종 overlay는 공식 해설 p25 이미지가 기준입니다. 허브의 ‘공식 그림’에서 공통 blue path를 직접 따라가세요.
왜 이 답이 되는가
모든 instruction은 instruction fetch와 정상적인 다음 PC 후보 PC+4가 필요하고, instruction bits가 register-file address/Immediate/Control 해석으로 전달됩니다. 다만 exact diagram의 선 위치는 그림에서 직접 확인해야 합니다.
대표 함정
beq 때문에 branch 관련 path를 전부 공통이라고 넣으면 안 됩니다. slli/sw/lw도 그 선을 쓰는지 반드시 확인합니다.
새 문제로 전이하기
세 문항은 앞 문장의 반복이 아닙니다. 직접 답을 입력하면 rubric의 필수 기준을 하나씩 검사하고, 첫 누락 기준을 알려 줍니다.
1. 개념 재구성
공통 datapath를 안전하게 구하는 절차를 표 작성부터 공식 overlay 검산까지 기억에서 재구성하세요.
개별 path → Boolean AND → 문제 예외 → 그림 → 대조 순서입니다.
제출 후 모델 답 보기
개별 path를 완성하고 wire별 네 instruction 사용표를 만든 뒤 모두 ✓인 선만 남깁니다. conditional-path Hinweis와 Control Unit 제외 조건을 적용하고, 마지막에 p25와 port 단위로 대조합니다.
2. 변형 문제
A={F,P,R,A,W}, B={F,P,R,A,Mw}, C={F,P,R,A,Mr,W}, D={F,P,R,A,C}일 때 네 집합의 교집합을 구하세요.
각 기호가 네 집합 모두에 등장하는지만 보세요.
제출 후 모델 답 보기
{F,P,R,A}입니다.
3. 오류 진단
학생이 lw와 sw가 둘 다 Data Memory를 쓰므로 Data Memory read와 write 선을 모두 공통 overlay에 넣었습니다. 오류를 고치세요.
같은 component 사용과 같은 방향의 wire 사용은 다릅니다.
제출 후 모델 답 보기
lw는 Data Memory read와 ReadData 경로를, sw는 WriteData와 memory write 경로를 사용합니다. slli와 beq는 Data Memory를 쓰지 않으므로 어느 memory 선도 네 instruction 공통이 아닙니다.
이 소문제를 끝냈다고 말할 수 있는 기준
이 소문제의 정확한 공식 페이지와 대조하기
왼쪽은 문제를 읽을 때, 오른쪽은 자신의 풀이를 끝낸 뒤에 확인하세요. 해설 이미지를 먼저 보면 중간 과정을 스스로 만드는 연습이 사라집니다.
Source: Probeklausur.pdf / Probeklausur Musterlösung und Hinweise.pdf · 시험 p10–11 · 공식 해설 p23–36 · Probeklausur.pdf 시험 p10의 교집합 지시와 conditional/Control Unit Hinweise, Probeklausur Musterlösung und Hinweise.pdf 공식 해설 p23–25의 개별 및 최종 공통 path.

