왜 이 소문제를 따로 배우는가
서로 다른 word address가 같은 cache block에 포함될 수 있다는 spatial locality의 직접 예입니다. Offset만 0에서 4로 바뀌고 Set과 Tag가 유지된다는 점을 보여 줍니다.
이 페이지는 Aufgabe 8의 공통 템플릿이 아니라 8c-2 4-way Cache Zugriff #2에 필요한 내용만 담습니다. 챕터 전체 배경이 필요하면 Aufgabe 8 개념 수업을 먼저 읽으세요.
이 소문제에서 실제로 쓰는 용어
정의뿐 아니라 이 문제의 어느 판단에 쓰이는지까지 연결합니다.
- Spatial Locality
- 한 주소를 사용한 뒤 가까운 주소를 곧 사용할 가능성이 높은 성질입니다.이 소문제에서: 0x0080 miss가 0x0084까지 같은 block으로 가져와 두 번째 접근을 Hit로 만듭니다.
- Byte Offset 4
- 8-byte block base에서 네 번째 byte 위치에 시작하는 두 번째 32-bit word입니다.이 소문제에서: 0x0084 mod 8=4입니다.
- Same-block Hit
- 다른 address지만 block number와 tag가 같아 이미 적재된 block에서 data를 얻는 Hit입니다.이 소문제에서: Set 0의 Tag 0x004가 #1에서 들어와 있습니다.
이 소문제 전용 규칙과 종이 작업
Block base가 같으면 Set과 Tag도 같음
0x0080과 0x0084는 모두 0x0080~0x0087 범위이므로 block number 0x0010을 공유합니다.
종이에: 두 address를 같은 block 괄호로 묶고 Offset만 0/4로 구분합니다.
Hit 후 way 목록 유지
같은 tag가 이미 Set 0에 있으므로 새 way를 추가하거나 replacement하지 않습니다.
종이에: before와 after 모두 `[0x004]`로 적습니다.
Aufgabe 전체 흐름은 챕터 흐름도에서 확인할 수 있습니다. 여기서는 현재 판단에 직접 필요한 규칙만 적용합니다.
이 소문제 전용 작은 예제
Set 0에 Tag 0x005 block이 들어온 직후 주소 0x00A4를 접근합니다.
주어진 것
- Block size=8 Byte
- before: Set 0 ways=[0x005]
- 0x00A0 block은 seen
- 0x00A4의 block base와 offset을 구합니다.
0x00A0~0x00A7이 하나의 block입니다.
종이 산출물: base=0x00A0, Offset=4
- Set과 Tag를 계산합니다.
같은 block number 0x0014를 사용합니다.
종이 산출물: Set=0, Tag=0x005
- Set 0 way의 tag match를 확인합니다.
0x005가 이미 있어 memory access가 필요 없습니다.
종이 산출물: Hit; after=[0x005]
예제 답과 독립 검산 보기
Offset=4, Set=0, Tag=0x005이고 Hit입니다.
독립 검산: 주소 0x00A0과 0x00A4의 block number가 모두 0x0014인지 확인합니다.
이 접근의 cache 상태 전후
Hit/Miss 이름만 외우지 않고, 접근 직전과 직후 상태가 어떻게 달라지는지 한 칸씩 확인합니다.
이제 실제 시험 문제를 micro-work로 풀기
공식 시험이 요구하는 것
주소 0x0084의 Offset/Set/Tag와 Hit/Miss를 구하세요.
공식 답을 보기 전, 내 답 먼저 남기기
완성 문장이 아니어도 좋습니다. 중간값·register·cycle·cache state처럼 채점 가능한 흔적을 먼저 적으세요.
각 작업의 중간 산출물을 직접 적고 완료 조건을 만족한 뒤 체크하세요. 단계별 이유·산출물·오류가 현재 소문제에 맞게 따로 작성되어 있습니다.
0x0084를 8-byte block base로 내림하고 block number를 구합니다.
- 왜 하는가
- 하위 Offset만 제거하면 #1과 같은 block인지 바로 확인할 수 있습니다.
- 종이 산출물
- block base=0x0080; block number=0x0010
- 완료 조건
- 0x0084가 0x0080~0x0087 범위에 표시됩니다.
막혔을 때 단계 힌트·대표 오류
힌트: 하위 3 bit를 0으로 만드세요.
이 단계의 대표 오류: 0x0084 자체를 block base로 써서 #1과 다른 block으로 만듭니다.
block 내부 Offset을 계산합니다.
- 왜 하는가
- 두 번째 4-byte word의 시작 위치를 구분해야 합니다.
- 종이 산출물
- Offset=0x0084 mod 8=4
- 완료 조건
- Offset 4가 byte 단위라고 표시되어 있습니다.
막혔을 때 단계 힌트·대표 오류
힌트: 0x84에서 직전 8의 배수 0x80을 빼세요.
이 단계의 대표 오류: word 번호 1을 Offset으로 적어 공식 Byte Offset 4와 어긋납니다.
block number 0x0010에서 Set을 계산합니다.
- 왜 하는가
- 같은 block이면 #1과 같은 Set 0을 조회해야 합니다.
- 종이 산출물
- Set=0x0010 mod 4=0
- 완료 조건
- Set 0이 #1 state와 연결됩니다.
막혔을 때 단계 힌트·대표 오류
힌트: block number는 #1과 같습니다.
이 단계의 대표 오류: address의 bit 2를 set bit로 중복 사용해 Set 1이라고 합니다.
Tag를 계산하고 #1의 tag와 비교할 준비를 합니다.
- 왜 하는가
- Set 0 내부에서 정확한 block을 식별합니다.
- 종이 산출물
- Tag=0x0084//32=0x004
- 완료 조건
- Tag가 #1의 0x004와 같음을 표시했습니다.
막혔을 때 단계 힌트·대표 오류
힌트: Offset 차이는 Tag에 영향을 주지 않습니다.
이 단계의 대표 오류: Offset 4를 Tag에 더해 0x008이라고 계산합니다.
Set 0의 current ways와 tag를 비교해 Hit를 확정합니다.
- 왜 하는가
- #1 후 Set 0 ways=[0x004]이고 요청 Tag 0x004가 일치합니다.
- 종이 산출물
- before: Set 0 ways=['0x004']; history=seen; Offset=4, Set=0, Tag=0x004, Type=Hit.; after: Set 0 ways=['0x004']
- 완료 조건
- 공식 field/result와 unchanged after state가 모두 있습니다.
막혔을 때 단계 힌트·대표 오류
힌트: 같은 block의 다른 Offset은 별도 cache entry가 아닙니다.
이 단계의 대표 오류: 새 word address라는 이유로 새 way를 추가합니다.
공식 답을 열기 전 마지막 회상
0x0084와 같은 block에 속하는 다른 4-byte word 주소는 무엇인가요?
내 풀이 후 공식 결론·이유·대표 함정 확인
공식 결론
Offset=4, Set=0, Tag=0x004, Type=Hit.
왜 이 답이 되는가
Block size 8 Byte이므로 하위 3 bit가 block offset입니다. 4 sets이므로 다음 2 bit가 set index, 나머지 상위 bit가 tag입니다. 같은 8-byte block의 두 word는 offset 0과 4로 함께 cache에 들어옵니다.
대표 함정
Word 주소가 달라도 같은 8-byte block이면 두 번째 word는 Hit일 수 있습니다.
새 문제로 전이하기
세 문항은 앞 문장의 반복이 아닙니다. 직접 답을 입력하면 rubric의 필수 기준을 하나씩 검사하고, 첫 누락 기준을 알려 줍니다.
1. 개념 재구성
0x0080 miss가 0x0084 Hit를 만드는 과정을 block 범위와 Offset으로 설명하세요.
한 block은 8 Byte입니다.
제출 후 모델 답 보기
0x0080 miss가 0x0080~0x0087 block 전체를 Tag 0x004로 Set 0에 넣습니다. 0x0084는 같은 block의 Offset 4라 Hit입니다.
2. 변형 문제
Set 0에 Tag 0x005가 있을 때 주소 0x00A4의 field와 Type을 구하세요.
0x00A4의 block base는 0x00A0입니다.
제출 후 모델 답 보기
Block=0x0014, Offset=4, Set=0, Tag=0x005, Type=Hit입니다.
3. 오류 진단
학생이 `0x0084는 0x0080과 주소가 다르므로 Compulsory Miss`라고 했습니다. block 관점으로 고치세요.
주소가 아니라 block number를 비교하세요.
제출 후 모델 답 보기
두 주소의 block number는 모두 0x0010입니다. 0x0080 접근이 Tag 0x004 block을 적재했으므로 0x0084는 Offset 4의 Hit입니다.
이 소문제를 끝냈다고 말할 수 있는 기준
이 소문제의 정확한 공식 페이지와 대조하기
왼쪽은 문제를 읽을 때, 오른쪽은 자신의 풀이를 끝낸 뒤에 확인하세요. 해설 이미지를 먼저 보면 중간 과정을 스스로 만드는 연습이 사라집니다.
Source: Probeklausur.pdf / Probeklausur Musterlösung und Hinweise.pdf · 시험 p16–18 · 공식 해설 p41–44 · Probeklausur.pdf p18 Aufgabe 8c 접근 #2와 공식 해설 p43–44: Block 0x0010, Offset 4, Set 0, Tag 0x004, seen Hit, ways [0x004] 유지.


