왜 이 소문제를 따로 배우는가
초기 trace에서 여러 set을 차례로 채우는 과정은 이후 conflict를 판정하기 위한 기준 상태를 만듭니다. Set 5의 0x0333을 정확히 저장해야 8b-7과 8b-9의 교체 history를 판단할 수 있습니다.
이 페이지는 Aufgabe 8의 공통 템플릿이 아니라 8b-3 Direct-mapped Zugriff #3에 필요한 내용만 담습니다. 챕터 전체 배경이 필요하면 Aufgabe 8 개념 수업을 먼저 읽으세요.
이 소문제에서 실제로 쓰는 용어
정의뿐 아니라 이 문제의 어느 판단에 쓰이는지까지 연결합니다.
- Set 5
- 이번 address가 mapping되는 direct-mapped cache line의 index입니다.이 소문제에서: 접근 전 empty이고 접근 후 0x0333을 저장합니다.
- Valid Tag
- line이 실제 block을 보유할 때 비교 가능한 tag 값입니다.이 소문제에서: empty 상태에는 valid tag가 없으므로 0x0333은 Hit할 수 없습니다.
- Seen Set
- 과거에 방문한 (tag,set) 쌍을 기록하는 논리적 history입니다.이 소문제에서: (0x0333,5)를 처음 추가해 이후 #9에서 seen으로 판정할 수 있게 합니다.
이 소문제 전용 규칙과 종이 작업
Cache state와 seen history를 별도 관리
cache state는 지금 들어 있는 tag이고, history는 이전에 한 번이라도 본 block 전체입니다.
종이에: Set 표에는 0x0333을, seen 목록에는 (0x0333,5)를 각각 씁니다.
빈 line의 첫 block은 compulsory
현재 line이 empty이고 history에도 없으므로 처음 가져오는 비용입니다.
종이에: `empty + unseen → Compulsory Miss`라는 근거식을 적습니다.
Aufgabe 전체 흐름은 챕터 흐름도에서 확인할 수 있습니다. 여기서는 현재 판단에 직접 필요한 규칙만 적용합니다.
이 소문제 전용 작은 예제
비어 있는 Set 6에 처음 보는 Tag 0x0ABC가 mapping됩니다. state와 history를 갱신하세요.
주어진 것
- Set 6=empty
- seen 목록에 (0x0ABC,6)가 없음
- Direct-mapped
- 현재 Set 6이 empty인지 확인합니다.
current tag 일치 여부가 Hit 판정을 결정합니다.
종이 산출물: current=empty → Miss
- seen history를 조회합니다.
unseen block의 miss는 compulsory입니다.
종이 산출물: seen before=no
- state와 history를 모두 갱신합니다.
다음 접근에서 current와 past 두 정보를 모두 써야 합니다.
종이 산출물: Set 6=0x0ABC; seen={(0x0ABC,6)}
예제 답과 독립 검산 보기
Compulsory Miss이며 Set 6과 seen 목록에 0x0ABC가 기록됩니다.
독립 검산: cache line을 나중에 교체해도 seen 목록에서는 이 block이 사라지지 않는지 확인합니다.
이 접근의 cache 상태 전후
Hit/Miss 이름만 외우지 않고, 접근 직전과 직후 상태가 어떻게 달라지는지 한 칸씩 확인합니다.
이제 실제 시험 문제를 micro-work로 풀기
공식 시험이 요구하는 것
Set 5에 Tag 0x0333가 접근합니다. Hit/Miss type을 판정하세요.
공식 답을 보기 전, 내 답 먼저 남기기
완성 문장이 아니어도 좋습니다. 중간값·register·cycle·cache state처럼 채점 가능한 흔적을 먼저 적으세요.
각 작업의 중간 산출물을 직접 적고 완료 조건을 만족한 뒤 체크하세요. 단계별 이유·산출물·오류가 현재 소문제에 맞게 따로 작성되어 있습니다.
접근 직전 Set 5의 현재 line을 확인합니다.
- 왜 하는가
- 앞선 접근들은 Set 1과 Set 3만 바꾸었으므로 Set 5의 독립 상태를 확인해야 합니다.
- 종이 산출물
- before: Set 5=empty
- 완료 조건
- Set 5가 아직 untouched라는 주석을 남겼습니다.
막혔을 때 단계 힌트·대표 오류
힌트: #1과 #2의 set index를 확인하세요.
이 단계의 대표 오류: 세 번째 접근이라는 이유로 cache 전체가 가득 찼다고 가정합니다.
empty line과 Tag 0x0333을 비교합니다.
- 왜 하는가
- valid tag가 없어서 현재 state 기준으로는 Miss입니다.
- 종이 산출물
- empty ≠ 0x0333 → Miss
- 완료 조건
- 요청 tag를 쓰기 전 비교 결과가 기록되어 있습니다.
막혔을 때 단계 힌트·대표 오류
힌트: empty line은 tag equality 검사를 통과할 수 없습니다.
이 단계의 대표 오류: 0x0333의 반복 숫자 모양을 보고 기존 tag라고 착각합니다.
(0x0333, Set 5)가 seen history에 있는지 조사합니다.
- 왜 하는가
- Miss가 처음 방문인지 교체 후 재방문인지 구분해야 합니다.
- 종이 산출물
- history: first visit → Compulsory Miss
- 완료 조건
- 앞선 두 요청과 tag/set이 모두 다름을 확인했습니다.
막혔을 때 단계 힌트·대표 오류
힌트: 이전 tag는 0x0111과 0x0222뿐입니다.
이 단계의 대표 오류: Set 번호가 5라는 이유로 다섯 번째 방문이라고 해석합니다.
Set 5와 seen history를 0x0333으로 갱신합니다.
- 왜 하는가
- 이 state가 #7의 교체 전 값과 #9의 과거 방문 증거가 됩니다.
- 종이 산출물
- after: Set 5=0x0333; result=Compulsory Miss
- 완료 조건
- 공식 result와 after state가 함께 남았습니다.
막혔을 때 단계 힌트·대표 오류
힌트: Direct-mapped line 하나에 요청 tag를 저장하세요.
이 단계의 대표 오류: Set 3과 혼동해 0x0333을 잘못된 행에 기록합니다.
공식 답을 열기 전 마지막 회상
이 접근 직후 해당 set에는 어떤 tag가 남나요?
내 풀이 후 공식 결론·이유·대표 함정 확인
공식 결론
Compulsory Miss
왜 이 답이 되는가
Direct-mapped cache는 set마다 tag 하나만 보관합니다. 현재 tag가 같으면 Hit, 처음 보는 block이면 Compulsory Miss, 전에 봤지만 같은 set의 다른 tag에 밀렸다면 Conflict Miss입니다.
대표 함정
Miss를 판정한 뒤 cache state를 갱신하지 않으면 다음 접근이 연쇄적으로 틀립니다.
새 문제로 전이하기
세 문항은 앞 문장의 반복이 아닙니다. 직접 답을 입력하면 rubric의 필수 기준을 하나씩 검사하고, 첫 누락 기준을 알려 줍니다.
1. 개념 재구성
current cache table과 seen history가 각각 어떤 질문에 답하는지 Set 5 예로 설명하세요.
지금 있는가와 과거에 본 적 있는가는 다른 질문입니다.
제출 후 모델 답 보기
cache table은 지금 Set 5에 어떤 tag가 있는지 보여 Hit를 판정하고, seen history는 (0x0333,5)를 과거에 본 적 있는지 보여 miss subtype을 판정합니다.
2. 변형 문제
8b-3 직후 Set 5에 Tag 0x0333을 다시 접근하면 state와 result는 무엇인가요?
current tag equality를 먼저 보세요.
제출 후 모델 답 보기
현재 Set 5=0x0333이므로 Hit이며 after state도 Set 5=0x0333으로 그대로 유지됩니다.
3. 오류 진단
학생이 `Set 번호가 5이므로 이미 다섯 번 사용된 set이고 Conflict Miss다`라고 했습니다. 개념 오류를 고치세요.
set index는 방문 횟수가 아닙니다.
제출 후 모델 답 보기
Set 5는 위치 번호일 뿐 방문 횟수가 아닙니다. before가 empty이고 (0x0333,5)가 first visit이므로 Compulsory Miss입니다.
이 소문제를 끝냈다고 말할 수 있는 기준
이 소문제의 정확한 공식 페이지와 대조하기
왼쪽은 문제를 읽을 때, 오른쪽은 자신의 풀이를 끝낸 뒤에 확인하세요. 해설 이미지를 먼저 보면 중간 과정을 스스로 만드는 연습이 사라집니다.
Source: Probeklausur.pdf / Probeklausur Musterlösung und Hinweise.pdf · 시험 p16–18 · 공식 해설 p41–44 · Probeklausur.pdf p17 Aufgabe 8b 접근 #3과 공식 해설 p42의 Set 5 첫 접근: Tag 0x0333, Compulsory Miss, after Set 5=0x0333.

