왜 이 소문제를 따로 배우는가
첫 접근은 이후 11개 cache 상태의 출발점입니다. 여기서 Set 1을 갱신하지 않으면 뒤의 8b-4, 8b-6, 8b-8, 8b-12 판정이 연쇄적으로 틀립니다.
이 페이지는 Aufgabe 8의 공통 템플릿이 아니라 8b-1 Direct-mapped Zugriff #1에 필요한 내용만 담습니다. 챕터 전체 배경이 필요하면 Aufgabe 8 개념 수업을 먼저 읽으세요.
이 소문제에서 실제로 쓰는 용어
정의뿐 아니라 이 문제의 어느 판단에 쓰이는지까지 연결합니다.
- Direct-mapped Cache
- 각 set에 tag를 저장할 수 있는 위치가 정확히 하나인 cache입니다.이 소문제에서: Set 1이 비어 있으므로 Tag 0x0111은 그 한 칸에 들어갑니다.
- Cold State
- 아직 어떤 block도 들어오지 않아 해당 set의 tag 칸이 empty인 상태입니다.이 소문제에서: 8b-1 직전 Set 1은 empty입니다.
- Compulsory Miss
- 전체 접근 history에서 해당 block을 처음 요청해 발생하는 miss입니다.이 소문제에서: (Tag 0x0111, Set 1)은 first visit이므로 이 유형입니다.
이 소문제 전용 규칙과 종이 작업
판정은 접근 전 상태로 수행
요청 tag를 cache에 먼저 써 버리면 모든 접근이 스스로와 같아 보여 Hit가 됩니다.
종이에: `before: Set 1=empty`를 먼저 적고 비교합니다.
Miss 판정 뒤에는 반드시 갱신
Direct-mapped set의 기존 한 칸은 요청한 tag로 채워져 다음 접근의 before state가 됩니다.
종이에: `after: Set 1=0x0111`을 별도 열에 기록합니다.
Aufgabe 전체 흐름은 챕터 흐름도에서 확인할 수 있습니다. 여기서는 현재 판단에 직접 필요한 규칙만 적용합니다.
이 소문제 전용 작은 예제
처음 비어 있는 Set 2에 Tag 0x00AA를 접근하면 어떤 판정과 상태 변화가 생기나요?
주어진 것
- Direct-mapped Cache
- Set 2 before=empty
- (0x00AA, Set 2)는 처음 방문
- Set 2의 현재 tag가 없음을 확인합니다.
Hit는 현재 칸의 tag가 요청 tag와 같을 때만 가능합니다.
종이 산출물: before: Set 2=empty
- history에서 처음 방문임을 확인합니다.
Miss subtype은 현재 상태뿐 아니라 과거 방문 여부로 정합니다.
종이 산출물: seen before=no
- Compulsory Miss로 판정하고 tag를 넣습니다.
처음 본 block이며 direct-mapped의 유일한 칸을 차지합니다.
종이 산출물: Compulsory Miss; after: Set 2=0x00AA
예제 답과 독립 검산 보기
Compulsory Miss이고 접근 후 Set 2에는 0x00AA가 남습니다.
독립 검산: 같은 tag를 즉시 다시 요청하면 current tag가 같아 Hit가 되는지 확인합니다.
이 접근의 cache 상태 전후
Hit/Miss 이름만 외우지 않고, 접근 직전과 직후 상태가 어떻게 달라지는지 한 칸씩 확인합니다.
이제 실제 시험 문제를 micro-work로 풀기
공식 시험이 요구하는 것
Set 1에 Tag 0x0111가 접근합니다. Hit/Miss type을 판정하세요.
공식 답을 보기 전, 내 답 먼저 남기기
완성 문장이 아니어도 좋습니다. 중간값·register·cycle·cache state처럼 채점 가능한 흔적을 먼저 적으세요.
각 작업의 중간 산출물을 직접 적고 완료 조건을 만족한 뒤 체크하세요. 단계별 이유·산출물·오류가 현재 소문제에 맞게 따로 작성되어 있습니다.
접근 직전 Set 1의 tag 칸을 읽습니다.
- 왜 하는가
- 이 접근이 Hit인지 확인하려면 갱신 전 상태가 필요합니다.
- 종이 산출물
- before: Set 1=empty
- 완료 조건
- Set 1과 empty를 같은 상태 행에 적었습니다.
막혔을 때 단계 힌트·대표 오류
힌트: 이 trace의 첫 접근이므로 이전 cache line이 없습니다.
이 단계의 대표 오류: Tag 0x0111을 먼저 써 놓고 같은 tag라서 Hit라고 판정합니다.
현재 tag와 요청 Tag 0x0111을 비교합니다.
- 왜 하는가
- Direct-mapped Hit 조건은 valid한 현재 tag와 요청 tag의 일치입니다.
- 종이 산출물
- empty ≠ 0x0111 → Miss
- 완료 조건
- Hit가 불가능하다는 비교 결과를 화살표로 남겼습니다.
막혔을 때 단계 힌트·대표 오류
힌트: empty는 어떤 실제 tag와도 같지 않습니다.
이 단계의 대표 오류: Set 번호가 같다는 이유만으로 Hit라고 합니다.
(0x0111, Set 1)의 과거 방문 여부를 확인합니다.
- 왜 하는가
- 처음 본 miss와 이전에 밀려난 block의 miss를 구분해야 합니다.
- 종이 산출물
- history: first visit → Compulsory Miss
- 완료 조건
- first visit과 Compulsory Miss가 연결되어 있습니다.
막혔을 때 단계 힌트·대표 오류
힌트: trace의 첫 항목에 이전 방문이 있을 수 있는지 생각하세요.
이 단계의 대표 오류: 빈 set에서 난 miss를 Conflict Miss라고 부릅니다.
판정 후 Set 1의 유일한 tag 칸을 갱신합니다.
- 왜 하는가
- 다음 Set 1 접근은 이 결과를 before state로 사용합니다.
- 종이 산출물
- after: Set 1=0x0111; result=Compulsory Miss
- 완료 조건
- 공식 result와 접근 후 tag가 둘 다 기록되어 있습니다.
막혔을 때 단계 힌트·대표 오류
힌트: Miss로 가져온 block이 어느 set에 배치되는지 문제에 이미 주어졌습니다.
이 단계의 대표 오류: Miss라고만 적고 cache state를 empty로 남겨 둡니다.
공식 답을 열기 전 마지막 회상
이 접근 직후 해당 set에는 어떤 tag가 남나요?
내 풀이 후 공식 결론·이유·대표 함정 확인
공식 결론
Compulsory Miss
왜 이 답이 되는가
Direct-mapped cache는 set마다 tag 하나만 보관합니다. 현재 tag가 같으면 Hit, 처음 보는 block이면 Compulsory Miss, 전에 봤지만 같은 set의 다른 tag에 밀렸다면 Conflict Miss입니다.
대표 함정
Miss를 판정한 뒤 cache state를 갱신하지 않으면 다음 접근이 연쇄적으로 틀립니다.
새 문제로 전이하기
세 문항은 앞 문장의 반복이 아닙니다. 직접 답을 입력하면 rubric의 필수 기준을 하나씩 검사하고, 첫 누락 기준을 알려 줍니다.
1. 개념 재구성
cold direct-mapped set에서 첫 접근을 처리하는 네 단계의 상태 전이를 자신의 말로 복원하세요.
before, compare, history, after 순서입니다.
제출 후 모델 답 보기
갱신 전 set이 empty인지 읽고 요청 tag와 비교해 Miss를 확인한 뒤, history의 first visit으로 Compulsory Miss를 정하고 요청 tag로 set을 갱신합니다.
2. 변형 문제
8b-1 직후 Tag 0x0111을 Set 1에서 한 번 더 요청하면 result와 after state는 무엇인가요?
직전 after state가 새 before state입니다.
제출 후 모델 답 보기
현재 Set 1의 tag가 0x0111과 같으므로 Hit이며, after도 Set 1=0x0111로 그대로입니다.
3. 오류 진단
학생이 `Set 1이 비어 있으니 다른 tag가 사라진 것이고 Conflict Miss다`라고 썼습니다. 오류를 고치세요.
Conflict라는 이름에는 과거에 같은 block을 본 적이 있다는 조건이 필요합니다.
제출 후 모델 답 보기
empty는 eviction의 증거가 아닙니다. (0x0111, Set 1)은 first visit이므로 Compulsory Miss이고 접근 후 0x0111을 저장합니다.
이 소문제를 끝냈다고 말할 수 있는 기준
이 소문제의 정확한 공식 페이지와 대조하기
왼쪽은 문제를 읽을 때, 오른쪽은 자신의 풀이를 끝낸 뒤에 확인하세요. 해설 이미지를 먼저 보면 중간 과정을 스스로 만드는 연습이 사라집니다.
Source: Probeklausur.pdf / Probeklausur Musterlösung und Hinweise.pdf · 시험 p16–18 · 공식 해설 p41–44 · Probeklausur.pdf p17 Aufgabe 8b 접근 #1과 공식 해설 p42의 Set 1 첫 접근: before empty, first visit, Compulsory Miss, after 0x0111.

