UNIT-SPECIFIC ACTIVE LESSON · 8b-2

Direct-mapped Zugriff #2

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

학습 목표: Set 1의 상태와 독립적으로 비어 있는 Set 3의 첫 접근을 처리하고, Tag 0x0222를 정확한 set에 배치할 수 있다.
공식 근거 범위: Probeklausur.pdf p17 Aufgabe 8b 접근 #2와 공식 해설 p42의 Set 3 첫 접근: before empty, Tag 0x0222, Compulsory Miss, after 0x0222.

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

Direct-mapped cache trace에서는 각 set이 독립적인 상태를 가집니다. 직전 접근이 Set 1을 바꾸었더라도 Set 3은 여전히 empty라는 점을 지켜야 병렬로 존재하는 set 상태를 섞지 않습니다.

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

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

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

Set Independence
한 set의 갱신은 다른 set의 저장 tag를 바꾸지 않는 성질입니다.이 소문제에서: 8b-1이 Set 1을 갱신했어도 8b-2 직전 Set 3은 empty입니다.
Tag 0x0222
이번 접근에서 Set 3의 현재 tag와 비교할 block 식별자입니다.이 소문제에서: first visit 후 Set 3의 유일한 line에 저장됩니다.
First Visit
전체 trace에서 같은 (tag,set) 쌍이 한 번도 요청되지 않은 상태입니다.이 소문제에서: (0x0222, Set 3)은 처음이므로 Miss subtype은 Compulsory입니다.

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

요청한 set의 행만 읽기

Hit/Miss 비교는 address가 선택한 Set 3의 line에서만 수행하며 Set 1의 tag는 무관합니다.

종이에: cache 표에서 Set 3 행만 강조하고 before=empty를 복사합니다.

History key는 tag와 set의 쌍

동일한 숫자 모양이 다른 set에 나타나도 이 trace의 block 정체는 (tag,set)으로 추적합니다.

종이에: seen 목록에 `(0x0222,3)`을 추가합니다.

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

이 소문제 전용 작은 예제

Set 0만 비어 있는 direct-mapped cache에서 처음 보는 Tag 0x0777을 Set 0에 접근합니다.

주어진 것

  • Set 0=empty
  • 다른 set에는 임의의 tag가 있음
  • (0x0777,0)은 first visit
  1. 선택된 Set 0만 조회합니다.

    다른 set의 tag는 이 주소의 mapping 후보가 아닙니다.

    종이 산출물: before: Set 0=empty

  2. empty와 0x0777을 비교하고 history를 봅니다.

    현재 비교로 Miss를, history로 subtype을 정합니다.

    종이 산출물: Miss; first visit

  3. Compulsory Miss 후 Set 0을 갱신합니다.

    처음 가져온 block은 선택된 유일한 line에 저장됩니다.

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

예제 답과 독립 검산 보기

Compulsory Miss이며 Set 0만 0x0777로 바뀝니다.

독립 검산: 다른 set들의 before/after가 동일하다는 불변조건을 확인합니다.

이 접근의 cache 상태 전후

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

접근 전Set 3: empty
주소 분해Tag 0x0222, Set 3
Historyfirst visit
판정Compulsory Miss
접근 후Set 3: 0x0222

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

공식 시험이 요구하는 것

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

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

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

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

접근 직전 Set 3의 상태를 읽고 다른 set의 상태와 분리합니다.

왜 하는가
이번 mapping 대상은 Set 3뿐이라 Set 1의 0x0111은 판정에 참여하지 않습니다.
종이 산출물
before: Set 3=empty
완료 조건
cache 표의 Set 3 행에만 before 값이 적혀 있습니다.
막혔을 때 단계 힌트·대표 오류

힌트: 문제 문장의 Set 번호가 lookup index입니다.

이 단계의 대표 오류: 직전 접근의 Set 1=0x0111을 전체 cache의 현재 tag로 사용합니다.

Set 3의 empty와 요청 Tag 0x0222를 비교합니다.

왜 하는가
현재 line에 같은 tag가 없으므로 Hit 조건이 성립하지 않습니다.
종이 산출물
empty ≠ 0x0222 → Miss
완료 조건
Miss 판정이 현재 state 비교에서 도출되어 있습니다.
막혔을 때 단계 힌트·대표 오류

힌트: valid한 tag가 없는 empty line은 Hit할 수 없습니다.

이 단계의 대표 오류: Set 3이라는 index가 일치하므로 Hit라고 잘못 판단합니다.

(0x0222, Set 3)의 history를 확인합니다.

왜 하는가
첫 등장인 block은 현재 다른 tag가 있었는지와 무관하게 Compulsory Miss입니다.
종이 산출물
history: first visit → Compulsory Miss
완료 조건
seen 목록에 이 쌍이 없었다는 근거를 적었습니다.
막혔을 때 단계 힌트·대표 오류

힌트: 앞선 #1은 tag도 set도 다릅니다.

이 단계의 대표 오류: 앞에 다른 cache access가 한 번 있었다는 이유로 first visit이 아니라고 합니다.

Set 3을 Tag 0x0222로 갱신합니다.

왜 하는가
가져온 block이 이후 #5와 #10의 비교 기준이 됩니다.
종이 산출물
after: Set 3=0x0222; result=Compulsory Miss
완료 조건
result와 after state가 공식 trace와 같습니다.
막혔을 때 단계 힌트·대표 오류

힌트: Direct-mapped에서는 선택지가 한 line뿐입니다.

이 단계의 대표 오류: 새 tag를 Set 1에 쓰거나 Set 3을 empty로 유지합니다.

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

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

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

공식 결론

Compulsory Miss

왜 이 답이 되는가

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

대표 함정

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

새 문제로 전이하기

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

1. 개념 재구성

왜 8b-1의 접근 결과가 8b-2의 Hit/Miss 비교에 직접 영향을 주지 않는지 설명하세요.

제출 후 모델 답 보기

8b-1은 Set 1만 갱신하고 8b-2는 Set 3을 조회합니다. 각 set은 독립적인 line이므로 Set 3은 계속 empty입니다.

2. 변형 문제

8b-2 직후 처음 보는 Tag 0x0888을 Set 3에 접근하면 subtype과 after state는 무엇인가요?

제출 후 모델 답 보기

현재 0x0222와 다르므로 Miss이고 0x0888은 first visit이어서 Compulsory Miss입니다. after는 Set 3=0x0888입니다.

3. 오류 진단

학생이 직전 Set 1의 0x0111과 0x0222를 비교해 Miss라고 썼습니다. 결론과 별개로 풀이가 왜 잘못됐나요?

제출 후 모델 답 보기

Set 3 접근인데 Set 1의 tag를 비교한 것이 최초 오류입니다. 올바른 before는 Set 3=empty이고 first visit이므로 Compulsory Miss입니다.

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

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

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

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

Source: Probeklausur.pdf / Probeklausur Musterlösung und Hinweise.pdf · 시험 p16–18 · 공식 해설 p41–44 · Probeklausur.pdf p17 Aufgabe 8b 접근 #2와 공식 해설 p42의 Set 3 첫 접근: before empty, Tag 0x0222, Compulsory Miss, after 0x0222.