UNIT-SPECIFIC ACTIVE LESSON · 8b-8

Direct-mapped Zugriff #8

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

학습 목표: Set 1에서 0x0111과 0x0444가 번갈아 서로를 eviction하는 ping-pong pattern을 인식하고 두 번째 0x0444 접근을 Conflict Miss로 판정할 수 있다.
공식 근거 범위: Probeklausur.pdf p17 Aufgabe 8b 접근 #8과 공식 해설 p42의 Set 1 ping-pong conflict: before 0x0111, Tag 0x0444 seen, Conflict Miss, after 0x0444.

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

Direct-mapped Cache의 대표적인 약점은 충분한 전체 공간이 있어도 같은 set에 mapping된 두 block이 반복해서 충돌하는 것입니다. 이 접근은 단일 순간보다 전체 trace pattern을 읽는 능력을 검사합니다.

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

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

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

Ping-pong Conflict
같은 set을 요구하는 두 block이 번갈아 서로를 eviction해 반복 miss를 만드는 pattern입니다.이 소문제에서: Set 1에서 0x0111과 0x0444가 #4, #6, #8에 교대로 들어옵니다.
Revisited Tag 0x0444
과거 #4에서 접근했지만 현재는 #6의 0x0111에 밀려난 block입니다.이 소문제에서: seen=true이므로 #8의 miss subtype은 Conflict입니다.
Current-vs-Seen Split
현재 line 보유 여부와 과거 방문 여부가 서로 다른 상태를 가질 수 있다는 구분입니다.이 소문제에서: 0x0444는 current=false, seen=true입니다.

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

재등장 tag의 최초 접근 번호 찾기

history에 같은 (tag,set)이 있으면 현재 mismatch의 subtype을 Conflict로 정할 수 있습니다.

종이에: 0x0444 옆에 `seen at #4`를 적습니다.

각 conflict 뒤 current tag 뒤집기

Miss servicing 후 요청 block이 line을 차지하므로 ping-pong trace에서 current가 매번 바뀝니다.

종이에: `#6:0111 → #8:0444` 전이를 표시합니다.

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

이 소문제 전용 작은 예제

Set 0에서 Tag A를 본 뒤 Tag B가 A를 밀어냈고, 다시 A를 요청합니다.

주어진 것

  • history={A,B}
  • before: Set 0=B
  • request=A
  1. B와 A의 mismatch를 확인합니다.

    A가 현재 line에 없으므로 Miss입니다.

    종이 산출물: B≠A → Miss

  2. A가 history에 있음을 찾습니다.

    재방문 block이므로 compulsory가 아닙니다.

    종이 산출물: A seen → Conflict Miss

  3. A로 line을 다시 교체합니다.

    요청 처리 후 A가 current가 됩니다.

    종이 산출물: after: Set 0=A

예제 답과 독립 검산 보기

Conflict Miss이며 A가 B를 밀어내고 Set 0에 다시 들어옵니다.

독립 검산: 다음 B 요청도 같은 이유로 Conflict Miss가 되는 대칭성을 확인합니다.

이 접근의 cache 상태 전후

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

접근 전Set 1: 0x0111
주소 분해Tag 0x0444, Set 1
Historyseen
판정Conflict Miss
접근 후Set 1: 0x0444

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

공식 시험이 요구하는 것

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

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

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

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

#6 이후 Set 1의 current tag를 읽습니다.

왜 하는가
#6의 Conflict Miss가 0x0111을 다시 설치했고 #7은 Set 5만 바꿨습니다.
종이 산출물
before: Set 1=0x0111
완료 조건
#6 after와 #8 before가 일치합니다.
막혔을 때 단계 힌트·대표 오류

힌트: #7의 set index는 5입니다.

이 단계의 대표 오류: #4의 0x0444를 오래된 표에서 그대로 가져와 Hit라고 합니다.

current 0x0111과 요청 0x0444를 비교합니다.

왜 하는가
두 tag가 달라 현재 lookup은 Miss입니다.
종이 산출물
0x0111≠0x0444 → Miss
완료 조건
mismatch가 명시되어 있습니다.
막혔을 때 단계 힌트·대표 오류

힌트: 현재 state는 가장 최근 같은 set 접근 결과를 사용합니다.

이 단계의 대표 오류: 0x0444를 이전에 봤다는 사실을 current 보유와 혼동합니다.

0x0444의 최초 접근 #4를 history에서 찾습니다.

왜 하는가
요청 block이 seen이면 이번 Miss는 Conflict입니다.
종이 산출물
history: seen at #4 → Conflict Miss
완료 조건
재방문 근거가 구체적인 접근 번호와 연결됩니다.
막혔을 때 단계 힌트·대표 오류

힌트: 0x0444가 처음 Set 1에 들어온 행을 찾으세요.

이 단계의 대표 오류: 현재 없으므로 unseen이라고 판단해 Compulsory Miss라 합니다.

Set 1을 0x0444로 다시 갱신합니다.

왜 하는가
Conflict Miss 처리 후 요청 block이 유일한 line을 차지합니다.
종이 산출물
after: Set 1=0x0444; result=Conflict Miss
완료 조건
0x0111 eviction과 0x0444 설치가 기록되어 있습니다.
막혔을 때 단계 힌트·대표 오류

힌트: ping-pong의 다음 상태는 요청 tag입니다.

이 단계의 대표 오류: Conflict라고만 적고 after를 0x0111로 유지합니다.

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

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

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

공식 결론

Conflict Miss

왜 이 답이 되는가

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

대표 함정

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

새 문제로 전이하기

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

1. 개념 재구성

Set 1의 #1, #4, #6, #8 current tag sequence와 각 miss subtype을 시간순으로 복원하세요.

제출 후 모델 답 보기

#1 0111 Compulsory, #4 0444 Compulsory, #6 0111 Conflict, #8 0444 Conflict이며 current는 0111과 0444가 번갈아 0111→0444→0111→0444로 바뀝니다.

2. 변형 문제

8b-8 직후 Set 1에서 0x0111을 다시 요청하면 result와 after를 예측하세요.

제출 후 모델 답 보기

현재 0x0444와 요청 0x0111이 mismatch이고 0x0111이 seen이므로 Conflict Miss이며 after는 Set 1=0x0111입니다.

3. 오류 진단

학생이 `0x0444는 전에 본 적 있으므로 Hit`라고 썼습니다. seen과 current를 구분해 고치세요.

제출 후 모델 답 보기

seen은 miss subtype에만 쓰이며 current Set 1은 0x0111입니다. 0x0444와 mismatch이므로 Conflict Miss입니다.

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

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

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

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

Source: Probeklausur.pdf / Probeklausur Musterlösung und Hinweise.pdf · 시험 p16–18 · 공식 해설 p41–44 · Probeklausur.pdf p17 Aufgabe 8b 접근 #8과 공식 해설 p42의 Set 1 ping-pong conflict: before 0x0111, Tag 0x0444 seen, Conflict Miss, after 0x0444.