UNIT-SPECIFIC ACTIVE LESSON · 8b-5

Direct-mapped Zugriff #5

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

학습 목표: Set 3의 현재 tag가 요청 Tag 0x0222와 같을 때 history subtype 분류로 넘어가기 전에 Hit를 확정하고 상태를 유지할 수 있다.
공식 근거 범위: Probeklausur.pdf p17 Aufgabe 8b 접근 #5와 공식 해설 p42의 Set 3 재접근: before 0x0222, seen, Hit, after 0x0222.

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

Miss subtype을 많이 연습하다 보면 모든 접근을 Compulsory/Conflict로 분류하려는 실수가 생깁니다. current tag가 일치하면 이미 data가 있으므로 history를 이용한 miss 분류가 필요 없습니다.

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

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

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

Tag Match
선택된 valid line의 current tag와 요청 tag가 같은 상태입니다.이 소문제에서: Set 3의 0x0222와 요청 0x0222가 일치합니다.
Hit
요청 block이 현재 cache에 있어 다음 계층에서 가져올 필요가 없는 접근입니다.이 소문제에서: 8b-5의 공식 result이며 Set 3은 변하지 않습니다.
State Preservation
Hit 후 같은 block이 계속 line에 남아 before와 after가 같은 상태입니다.이 소문제에서: Set 3=0x0222가 접근 전후 동일합니다.

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

Hit 판정을 먼저 종료

current tag가 요청 tag와 같으면 Miss가 아니므로 Compulsory/Conflict history 검사는 subtype 판정에 사용하지 않습니다.

종이에: `0x0222=0x0222 → Hit`를 먼저 쓰고 miss 분류 칸에 대시를 표시합니다.

Hit는 replacement를 만들지 않음

이미 원하는 block이 line에 있으므로 다른 tag를 밀어내거나 새 tag를 쓸 이유가 없습니다.

종이에: before와 after 양쪽에 0x0222를 적습니다.

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

이 소문제 전용 작은 예제

Direct-mapped Set 4의 current tag가 0x00CC일 때 같은 Tag 0x00CC를 요청합니다.

주어진 것

  • before: Set 4=0x00CC
  • valid line
  • request: Tag 0x00CC
  1. Set 4의 current tag를 읽습니다.

    Hit 비교는 접근 전 line에서 수행합니다.

    종이 산출물: current=0x00CC

  2. 요청 tag와 equality를 확인합니다.

    같은 valid tag이면 원하는 block이 cache에 있습니다.

    종이 산출물: 0x00CC=0x00CC → Hit

  3. 상태를 그대로 다음 행으로 복사합니다.

    Hit는 line replacement가 필요 없습니다.

    종이 산출물: after: Set 4=0x00CC

예제 답과 독립 검산 보기

Hit이며 Set 4는 0x00CC로 유지됩니다.

독립 검산: miss history를 사용하지 않아도 판정이 완전한지 확인합니다.

이 접근의 cache 상태 전후

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

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

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

공식 시험이 요구하는 것

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

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

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

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

8b-2 이후 유지된 Set 3의 current tag를 확인합니다.

왜 하는가
#3과 #4는 Set 5와 Set 1만 바꾸었으므로 Set 3의 0x0222가 남아 있습니다.
종이 산출물
before: Set 3=0x0222
완료 조건
#2의 after와 #5의 before를 선으로 연결했습니다.
막혔을 때 단계 힌트·대표 오류

힌트: 각 중간 접근의 set index를 확인하세요.

이 단계의 대표 오류: 시간이 지났다는 이유만으로 cache line이 자동으로 empty가 된다고 생각합니다.

현재 0x0222와 요청 0x0222를 비교합니다.

왜 하는가
valid한 tag equality가 direct-mapped Hit의 충분조건입니다.
종이 산출물
0x0222=0x0222 → Hit
완료 조건
equality와 Hit가 같은 줄에 적혀 있습니다.
막혔을 때 단계 힌트·대표 오류

힌트: 16진수 네 자리 모두 동일합니다.

이 단계의 대표 오류: 이전 방문이라는 이유만 보고 Conflict Miss라고 합니다.

history가 seen임을 확인하되 Miss subtype을 적용하지 않습니다.

왜 하는가
seen 정보는 맞지만 현재 result가 Hit이므로 Compulsory/Conflict 선택은 불필요합니다.
종이 산출물
history: seen; subtype: N/A
완료 조건
seen과 Hit가 모순되지 않는다고 설명할 수 있습니다.
막혔을 때 단계 힌트·대표 오류

힌트: History는 과거, current tag는 현재 존재 여부를 말합니다.

이 단계의 대표 오류: seen이면 무조건 Conflict라고 외워 Hit를 덮어씁니다.

Set 3 상태를 변경 없이 유지합니다.

왜 하는가
요청 block이 이미 line에 있으므로 replacement가 없습니다.
종이 산출물
after: Set 3=0x0222; result=Hit
완료 조건
before와 after가 같고 공식 result Hit가 기록되어 있습니다.
막혔을 때 단계 힌트·대표 오류

힌트: 새로 가져올 tag가 없습니다.

이 단계의 대표 오류: Hit 뒤 line을 empty로 지우거나 다른 set을 갱신합니다.

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

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

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

공식 결론

Hit

왜 이 답이 되는가

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

대표 함정

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

새 문제로 전이하기

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

1. 개념 재구성

Direct-mapped lookup에서 history를 읽기 전에 Hit를 확정할 수 있는 조건을 설명하세요.

제출 후 모델 답 보기

주소가 선택한 set의 line이 valid하고 current tag가 요청 tag와 같으면 즉시 Hit이며 miss subtype history는 필요하지 않습니다.

2. 변형 문제

8b-5 직후 처음 보는 Tag 0x0777을 Set 3에 요청하면 판정과 after state는 무엇인가요?

제출 후 모델 답 보기

0x0222와 달라 Miss이고 0x0777은 first visit이므로 Compulsory Miss입니다. after는 Set 3=0x0777입니다.

3. 오류 진단

학생이 `0x0222는 전에 본 tag라서 Conflict Miss`라고 썼습니다. 최초 판단 오류를 고치세요.

제출 후 모델 답 보기

현재 Set 3 tag가 요청 0x0222와 같다는 비교를 건너뛴 것이 오류입니다. 따라서 result는 Hit이고 state는 그대로입니다.

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

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

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

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

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