UNIT-SPECIFIC ACTIVE LESSON · 8b-9

Direct-mapped Zugriff #9

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

학습 목표: Set 5에서 #7에 의해 밀려난 Tag 0x0333의 재방문을 history로 추적해 Conflict Miss로 판정하고 0x0555를 교체할 수 있다.
공식 근거 범위: Probeklausur.pdf p17 Aufgabe 8b 접근 #9와 공식 해설 p42의 Set 5 conflict return: before 0x0555, Tag 0x0333 seen, Conflict Miss, after 0x0333.

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

이 접근은 `현재 없다`와 `한 번도 본 적 없다`가 다르다는 사실을 다시 검증합니다. seen history를 누적해서 유지하지 않으면 0x0333을 잘못 Compulsory Miss로 분류하게 됩니다.

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

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

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

Evicted-but-Seen
현재 cache line에는 없지만 이전 접근 history에는 존재하는 block 상태입니다.이 소문제에서: 0x0333은 #3에서 seen이고 #7에서 0x0555에 의해 eviction되었습니다.
Conflict Return
같은 set에서 밀려난 block이 돌아와 현재 block을 다시 밀어내는 접근입니다.이 소문제에서: #9의 0x0333이 Set 5의 0x0555를 교체합니다.
Set-local Timeline
전체 trace 중 특정 set을 건드린 접근만 뽑은 상태 변화 기록입니다.이 소문제에서: Set 5 timeline은 #3 0x0333 → #7 0x0555 → #9 0x0333입니다.

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

특정 set의 최근 접근이 current를 결정

Set 5를 마지막으로 바꾼 것은 #7이므로 #9 before는 0x0555입니다.

종이에: 전체 표에서 Set 5 접근 #3, #7, #9만 연결합니다.

Seen block의 mismatch는 Conflict

요청 0x0333이 current 0x0555와 다르지만 #3에서 이미 보았으므로 first visit이 아닙니다.

종이에: `seen at #3 → Conflict Miss`를 mismatch 아래에 적습니다.

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

이 소문제 전용 작은 예제

Set 7에서 X를 보았고 Y가 X를 교체한 뒤 X를 다시 요청합니다.

주어진 것

  • before: Set 7=Y
  • history contains X and Y
  • request=X
  1. Y와 X의 mismatch를 표시합니다.

    현재 line에는 X가 없어 Miss입니다.

    종이 산출물: Y≠X → Miss

  2. history에서 X의 과거 접근을 찾습니다.

    seen이면 Compulsory가 아니라 Conflict입니다.

    종이 산출물: X seen → Conflict Miss

  3. Set 7을 X로 되돌립니다.

    요청 처리 후 X가 current block이 됩니다.

    종이 산출물: after: Set 7=X

예제 답과 독립 검산 보기

Conflict Miss이며 Y가 eviction되고 X가 다시 Set 7에 들어옵니다.

독립 검산: Y를 곧바로 다시 요청하면 같은 대칭 구조로 Conflict Miss인지 확인합니다.

이 접근의 cache 상태 전후

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

접근 전Set 5: 0x0555
주소 분해Tag 0x0333, Set 5
Historyseen
판정Conflict Miss
접근 후Set 5: 0x0333

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

공식 시험이 요구하는 것

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

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

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

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

Set 5의 가장 최근 접근 #7에서 before state를 복원합니다.

왜 하는가
#8은 Set 1만 바꾸었으므로 #7 after가 #9 before입니다.
종이 산출물
before: Set 5=0x0555
완료 조건
Set 5-local timeline에서 0x0555가 마지막 current로 표시됩니다.
막혔을 때 단계 힌트·대표 오류

힌트: #8의 set index는 1입니다.

이 단계의 대표 오류: #3의 오래된 0x0333을 current로 사용해 Hit라고 합니다.

current 0x0555와 요청 0x0333을 비교합니다.

왜 하는가
불일치하므로 cache에 요청 block이 현재 존재하지 않습니다.
종이 산출물
0x0555≠0x0333 → Miss
완료 조건
현재 상태 기반 Miss가 기록되어 있습니다.
막혔을 때 단계 힌트·대표 오류

힌트: history를 보기 전에 current equality부터 검사하세요.

이 단계의 대표 오류: 0x0333이 seen이라는 사실만으로 current match라고 생각합니다.

0x0333의 최초 방문 #3을 history에서 확인합니다.

왜 하는가
현재 없더라도 이전에 본 block이므로 Conflict Miss입니다.
종이 산출물
history: seen at #3 → Conflict Miss
완료 조건
#3이라는 근거와 subtype이 함께 있습니다.
막혔을 때 단계 힌트·대표 오류

힌트: Set 5에 처음 저장된 tag를 찾으세요.

이 단계의 대표 오류: #7에서 eviction될 때 seen history에서도 0x0333을 삭제합니다.

Set 5의 line을 0x0333으로 갱신합니다.

왜 하는가
Miss servicing 후 재방문 block이 현재 line을 차지합니다.
종이 산출물
after: Set 5=0x0333; result=Conflict Miss
완료 조건
0x0555→0x0333 변화와 공식 result가 기록되어 있습니다.
막혔을 때 단계 힌트·대표 오류

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

이 단계의 대표 오류: after를 0x0555로 남겨 다음 Set 5 접근의 기준을 잘못 만듭니다.

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

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

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

공식 결론

Conflict Miss

왜 이 답이 되는가

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

대표 함정

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

새 문제로 전이하기

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

1. 개념 재구성

Set 5만 뽑아 #3, #7, #9의 current tag와 miss subtype을 재구성하세요.

제출 후 모델 답 보기

#3은 0x0333 first visit Compulsory Miss, #7은 0x0555 first visit Compulsory Miss, #9는 seen 0x0333의 Conflict Miss입니다.

2. 변형 문제

8b-9 직후 Set 5에서 0x0555를 요청하면 result와 after state는 무엇인가요?

제출 후 모델 답 보기

current mismatch이고 0x0555가 seen이므로 Conflict Miss이며 after는 Set 5=0x0555입니다.

3. 오류 진단

학생이 `0x0333은 Set 5에 없으므로 first visit`이라고 썼습니다. cache state와 history의 차이를 이용해 반박하세요.

제출 후 모델 답 보기

0x0333은 #3에서 seen이지만 #7의 0x0555에 의해 eviction되었습니다. 따라서 current에는 없어도 first visit이 아니며 Conflict Miss입니다.

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

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

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

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

Source: Probeklausur.pdf / Probeklausur Musterlösung und Hinweise.pdf · 시험 p16–18 · 공식 해설 p41–44 · Probeklausur.pdf p17 Aufgabe 8b 접근 #9와 공식 해설 p42의 Set 5 conflict return: before 0x0555, Tag 0x0333 seen, Conflict Miss, after 0x0333.