UNIT-SPECIFIC ACTIVE LESSON · 8b-7

Direct-mapped Zugriff #7

Set 5에 Tag 0x0555가 접근합니다. Hit/Miss type을 판정하세요.

학습 목표: Set 5가 이미 0x0333을 보유한 상태에서 처음 보는 0x0555의 mismatch를 first-visit Compulsory Miss로 분류하고 replacement를 수행할 수 있다.
공식 근거 범위: Probeklausur.pdf p17 Aufgabe 8b 접근 #7과 공식 해설 p42의 Set 5 first-visit replacement: before 0x0333, Tag 0x0555, Compulsory Miss, after 0x0555.

왜 이 소문제를 따로 배우는가

8b-7은 8b-4와 같은 유형을 다른 set에서 다시 검증합니다. 현재 line이 차 있다는 사실과 요청 block의 과거 방문 여부를 독립적으로 판단해야 규칙을 일반화할 수 있습니다.

이 페이지는 Aufgabe 8의 공통 템플릿이 아니라 8b-7 Direct-mapped Zugriff #7에 필요한 내용만 담습니다. 챕터 전체 배경이 필요하면 Aufgabe 8 개념 수업을 먼저 읽으세요.

이 소문제에서 실제로 쓰는 용어

정의뿐 아니라 이 문제의 어느 판단에 쓰이는지까지 연결합니다.

Occupied Set
valid한 기존 tag가 들어 있는 cache set입니다.이 소문제에서: Set 5에는 #3에서 들어온 0x0333이 있습니다.
Unseen Tag 0x0555
전체 trace에서 아직 요청되지 않은 새 block 식별자입니다.이 소문제에서: current mismatch 후 subtype을 Compulsory로 만듭니다.
Replacement State
Miss 처리 후 기존 tag를 요청 tag로 바꾼 cache 상태입니다.이 소문제에서: Set 5는 0x0333에서 0x0555로 바뀝니다.

이 소문제 전용 규칙과 종이 작업

Occupied는 Conflict의 충분조건이 아님

line이 차 있어 replacement가 발생해도 요청 block이 unseen이면 Compulsory Miss입니다.

종이에: `occupied+mismatch=Miss`, `unseen=Compulsory`를 분리해 씁니다.

Seen 목록에는 새 block을 추가

0x0555는 이번 접근 후 current state와 history 모두에 기록됩니다.

종이에: after Set 5=0x0555와 seen+=(0x0555,5)를 함께 표시합니다.

Aufgabe 전체 흐름은 챕터 흐름도에서 확인할 수 있습니다. 여기서는 현재 판단에 직접 필요한 규칙만 적용합니다.

이 소문제 전용 작은 예제

Set 6에 0x0123이 있고 처음 보는 0x0456이 같은 Set 6으로 접근합니다.

주어진 것

  • before: Set 6=0x0123
  • 0x0456은 unseen
  • Direct-mapped
  1. 두 tag의 mismatch를 확인합니다.

    현재 line에 요청 block이 없으므로 Miss입니다.

    종이 산출물: 0x0123≠0x0456

  2. 0x0456이 unseen인지 확인합니다.

    처음 보는 block이면 compulsory로 분류합니다.

    종이 산출물: first visit → Compulsory Miss

  3. Set 6과 seen history를 갱신합니다.

    후속 접근의 current/history 기준을 만듭니다.

    종이 산출물: after Set 6=0x0456; seen add 0x0456

예제 답과 독립 검산 보기

Compulsory Miss이고 0x0123이 eviction되어 0x0456이 남습니다.

독립 검산: 이후 0x0123을 요청하면 seen이므로 Conflict Miss가 되는지 확인합니다.

이 접근의 cache 상태 전후

Hit/Miss 이름만 외우지 않고, 접근 직전과 직후 상태가 어떻게 달라지는지 한 칸씩 확인합니다.

접근 전Set 5: 0x0333
주소 분해Tag 0x0555, Set 5
Historyfirst visit
판정Compulsory Miss
접근 후Set 5: 0x0555

이제 실제 시험 문제를 micro-work로 풀기

공식 시험이 요구하는 것

Set 5에 Tag 0x0555가 접근합니다. Hit/Miss type을 판정하세요.

공식 답을 보기 전, 내 답 먼저 남기기

완성 문장이 아니어도 좋습니다. 중간값·register·cycle·cache state처럼 채점 가능한 흔적을 먼저 적으세요.

각 작업의 중간 산출물을 직접 적고 완료 조건을 만족한 뒤 체크하세요. 단계별 이유·산출물·오류가 현재 소문제에 맞게 따로 작성되어 있습니다.

Set 5의 접근 전 tag를 #3의 결과에서 복원합니다.

왜 하는가
#4~#6은 Set 1과 Set 3만 다뤘으므로 Set 5는 0x0333을 유지합니다.
종이 산출물
before: Set 5=0x0333
완료 조건
#3 이후 Set 5가 바뀐 적 없음을 trace에서 확인했습니다.
막혔을 때 단계 힌트·대표 오류

힌트: 중간 접근들의 set index를 하나씩 지우세요.

이 단계의 대표 오류: #6의 after 0x0111을 모든 set의 상태로 복사합니다.

0x0333과 요청 0x0555를 비교합니다.

왜 하는가
불일치하므로 현재 Set 5에서 요청 block을 찾을 수 없습니다.
종이 산출물
0x0333≠0x0555 → Miss
완료 조건
현재 비교와 Miss 결과가 적혀 있습니다.
막혔을 때 단계 힌트·대표 오류

힌트: 두 tag의 가운데 숫자도 다릅니다.

이 단계의 대표 오류: 둘 다 반복 숫자 형태라 같은 tag로 잘못 봅니다.

(0x0555, Set 5)의 history를 확인합니다.

왜 하는가
0x0555가 처음 등장하므로 replacement여도 compulsory입니다.
종이 산출물
history: first visit → Compulsory Miss
완료 조건
앞선 seen tag 목록에 0x0555가 없음을 확인했습니다.
막혔을 때 단계 힌트·대표 오류

힌트: Set 5에 앞서 등장한 tag는 0x0333 하나입니다.

이 단계의 대표 오류: 현재 0x0333이 있다는 사실만으로 Conflict Miss라 합니다.

Set 5의 tag를 0x0555로 교체합니다.

왜 하는가
Direct-mapped line은 새 block을 저장하기 위해 기존 0x0333을 eviction합니다.
종이 산출물
after: Set 5=0x0555; result=Compulsory Miss
완료 조건
0x0333→0x0555 변화와 공식 result가 보입니다.
막혔을 때 단계 힌트·대표 오류

힌트: 요청 tag가 after state입니다.

이 단계의 대표 오류: 0x0555를 seen에는 추가하지만 current Set 5는 0x0333으로 둡니다.

공식 답을 열기 전 마지막 회상

이 접근 직후 해당 set에는 어떤 tag가 남나요?

내 풀이 후 공식 결론·이유·대표 함정 확인

공식 결론

Compulsory Miss

왜 이 답이 되는가

Direct-mapped cache는 set마다 tag 하나만 보관합니다. 현재 tag가 같으면 Hit, 처음 보는 block이면 Compulsory Miss, 전에 봤지만 같은 set의 다른 tag에 밀렸다면 Conflict Miss입니다.

대표 함정

Miss를 판정한 뒤 cache state를 갱신하지 않으면 다음 접근이 연쇄적으로 틀립니다.

새 문제로 전이하기

세 문항은 앞 문장의 반복이 아닙니다. 직접 답을 입력하면 rubric의 필수 기준을 하나씩 검사하고, 첫 누락 기준을 알려 줍니다.

1. 개념 재구성

occupied set에서 first-visit block이 들어올 때 current state와 history가 각각 어떻게 변하는지 설명하세요.

제출 후 모델 답 보기

현재 line의 기존 tag는 요청 tag로 교체되고, seen history에는 기존 block과 새 first-visit block이 둘 다 남습니다. 판정은 Compulsory Miss입니다.

2. 변형 문제

8b-7 직후 Tag 0x0333을 Set 5에 요청하면 판정과 after state는 무엇인가요?

제출 후 모델 답 보기

0x0555와 mismatch이고 0x0333은 seen이므로 Conflict Miss입니다. after는 Set 5=0x0333입니다.

3. 오류 진단

학생이 `기존 tag가 밀려나므로 eviction이 있는 miss는 모두 Conflict Miss`라고 했습니다. 반례로 8b-7을 고치세요.

제출 후 모델 답 보기

Eviction은 current state 변화일 뿐 subtype을 정하지 않습니다. 0x0555는 first visit이므로 8b-7은 Compulsory Miss입니다.

이 소문제를 끝냈다고 말할 수 있는 기준

이 소문제의 정확한 공식 페이지와 대조하기

왼쪽은 문제를 읽을 때, 오른쪽은 자신의 풀이를 끝낸 뒤에 확인하세요. 해설 이미지를 먼저 보면 중간 과정을 스스로 만드는 연습이 사라집니다.

8b-7 관련 공식 시험 또는 해설 페이지
exam-p17.png · 클릭해 원본 크기로 확인
8b-7 관련 공식 시험 또는 해설 페이지
solution-p42.png · 클릭해 원본 크기로 확인

Source: Probeklausur.pdf / Probeklausur Musterlösung und Hinweise.pdf · 시험 p16–18 · 공식 해설 p41–44 · Probeklausur.pdf p17 Aufgabe 8b 접근 #7과 공식 해설 p42의 Set 5 first-visit replacement: before 0x0333, Tag 0x0555, Compulsory Miss, after 0x0555.