UNIT-SPECIFIC ACTIVE LESSON · 8b-11

Direct-mapped Zugriff #11

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

학습 목표: Set 3에서 #10에 밀려난 0x0222의 재접근을 seen history로 찾아 Conflict Miss로 판정하고 원래 tag를 복구할 수 있다.
공식 근거 범위: Probeklausur.pdf p17 Aufgabe 8b 접근 #11과 공식 해설 p42의 Set 3 conflict reload: before 0x0666, Tag 0x0222 seen, Conflict Miss, after 0x0222.

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

한 block은 이전에 Hit까지 했더라도 나중에 eviction될 수 있습니다. Hit 경험이 미래 Hit를 보장하지 않으며 매 접근에서 current state를 다시 읽어야 한다는 점을 보여 줍니다.

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

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

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

Former Hit
과거 접근에서는 current tag가 일치해 Hit였던 block입니다.이 소문제에서: 0x0222는 #5에서 Hit였지만 #10 이후에는 current가 아닙니다.
Eviction at #10
0x0666이 Set 3에 들어오며 0x0222를 제거한 상태 변화입니다.이 소문제에서: #11 before를 0x0666으로 만드는 직접 원인입니다.
Conflict Reload
seen block이 mapping conflict로 밀려난 뒤 다시 cache에 적재되는 과정입니다.이 소문제에서: #11에서 0x0222가 0x0666을 밀어내고 돌아옵니다.

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

과거 Hit보다 최근 after 우선

현재 state는 가장 최근 같은 set 접근 #10의 after=0x0666으로 결정됩니다.

종이에: #5 Hit 기록보다 #10 replacement를 뒤에 써서 current를 갱신합니다.

과거 존재와 현재 부재가 Conflict를 증명

0x0222는 #2와 #5에서 seen이지만 현재 0x0666 때문에 absent이므로 Conflict Miss입니다.

종이에: `current absent + seen #2/#5`를 한 쌍으로 적습니다.

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

이 소문제 전용 작은 예제

Tag P가 Set 1에서 한 번 Hit한 후 Q에 의해 교체되었습니다. 다시 P를 요청합니다.

주어진 것

  • history contains P and Q
  • before: Set 1=Q
  • request=P
  1. 가장 최근 current Q와 P를 비교합니다.

    과거 Hit가 아니라 현재 line이 Hit 여부를 정합니다.

    종이 산출물: Q≠P → Miss

  2. P의 과거 방문을 확인합니다.

    P는 seen이므로 first visit이 아닙니다.

    종이 산출물: P seen → Conflict Miss

  3. P를 다시 설치합니다.

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

    종이 산출물: after: Set 1=P

예제 답과 독립 검산 보기

Conflict Miss이며 P가 다시 Set 1에 들어옵니다.

독립 검산: P의 과거 Hit 사실만으로 현재 Hit라고 결론내리지 않았는지 확인합니다.

이 접근의 cache 상태 전후

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

접근 전Set 3: 0x0666
주소 분해Tag 0x0222, Set 3
Historyseen
판정Conflict Miss
접근 후Set 3: 0x0222

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

공식 시험이 요구하는 것

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

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

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

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

#10의 replacement 결과에서 Set 3의 before state를 가져옵니다.

왜 하는가
#10이 바로 직전 같은 set 접근이라 0x0666이 현재 tag입니다.
종이 산출물
before: Set 3=0x0666
완료 조건
#10 after와 #11 before가 일치합니다.
막혔을 때 단계 힌트·대표 오류

힌트: 가장 최근 Set 3 접근만 찾으세요.

이 단계의 대표 오류: #5의 Hit 상태 0x0222를 current로 사용합니다.

current 0x0666과 요청 0x0222를 비교합니다.

왜 하는가
두 tag가 달라 현재 line에서 요청 block을 찾을 수 없습니다.
종이 산출물
0x0666≠0x0222 → Miss
완료 조건
과거가 아닌 현재 비교로 Miss를 확정했습니다.
막혔을 때 단계 힌트·대표 오류

힌트: #10에서 0x0222가 eviction되었습니다.

이 단계의 대표 오류: 0x0222가 #5에서 Hit였다는 이유로 #11도 Hit라고 합니다.

0x0222의 seen history를 #2와 #5에서 확인합니다.

왜 하는가
요청 block을 이전에 보았으므로 Compulsory가 아닌 Conflict Miss입니다.
종이 산출물
history: seen at #2/#5 → Conflict Miss
완료 조건
최소 하나의 과거 접근 번호와 subtype이 적혀 있습니다.
막혔을 때 단계 힌트·대표 오류

힌트: Set 3의 첫 tag를 찾으세요.

이 단계의 대표 오류: #10에서 eviction될 때 history에서도 0x0222를 삭제합니다.

Set 3을 0x0222로 되돌립니다.

왜 하는가
Conflict Miss를 처리하며 요청 block이 line에 재적재됩니다.
종이 산출물
after: Set 3=0x0222; result=Conflict Miss
완료 조건
0x0666→0x0222 state 변화가 공식 result와 함께 있습니다.
막혔을 때 단계 힌트·대표 오류

힌트: after는 요청 tag입니다.

이 단계의 대표 오류: 0x0666을 유지해 다음 #12와 무관한 Set 3 state까지 잘못 남깁니다.

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

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

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

공식 결론

Conflict Miss

왜 이 답이 되는가

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

대표 함정

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

새 문제로 전이하기

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

1. 개념 재구성

0x0222의 #2, #5, #10, #11 상태를 install, hit, eviction, reload 네 단어로 연결하세요.

제출 후 모델 답 보기

#2에서 0x0222를 install하고 #5에서 Hit한 뒤, #10에서 0x0666에 의해 eviction되고 #11에서 Conflict Miss로 reload됩니다.

2. 변형 문제

8b-11 직후 0x0666을 Set 3에 요청하면 판정과 after를 구하세요.

제출 후 모델 답 보기

current mismatch이고 0x0666이 seen이므로 Conflict Miss이며 after는 Set 3=0x0666입니다.

3. 오류 진단

학생이 `한 번 Hit한 block은 cache에 계속 있으므로 #11도 Hit`라고 주장합니다. 최신 state를 사용해 고치세요.

제출 후 모델 답 보기

#10의 0x0666이 0x0222를 eviction했으므로 #11 before는 0x0666입니다. 0x0222는 seen이지만 current가 아니어서 Conflict Miss입니다.

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

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

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

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

Source: Probeklausur.pdf / Probeklausur Musterlösung und Hinweise.pdf · 시험 p16–18 · 공식 해설 p41–44 · Probeklausur.pdf p17 Aufgabe 8b 접근 #11과 공식 해설 p42의 Set 3 conflict reload: before 0x0666, Tag 0x0222 seen, Conflict Miss, after 0x0222.