---
schema_version: 1
exam_id: "sose26-probeklausur"
aufgabe: 8
unit_id: "8a-1"
source_group_id: "8a"
official_exam: true
official_solution: true
language: "ko"
---

# 8a-1 — 기존 L1의 AMAT

> **학습 목표:** 2-level Cache의 hit rate를 miss rate로 바꾸고, 조건부로 발생하는 L2 및 memory 비용을 nested AMAT 식으로 계산할 수 있다.
>
> **왜 따로 배우는가:** AMAT 문제의 핵심은 모든 계층의 시간을 한꺼번에 더하는 것이 아니라, 상위 계층에서 miss가 난 경우에만 다음 계층 비용이 발생한다는 조건부 구조를 식에 반영하는 것입니다. 이 구조를 정확히 쓰면 수치가 바뀌어도 같은 절차로 풀 수 있습니다.
>
> **범위:** Aufgabe 8 · 16점 Aufgabe의 최소 학습 단위 · 시험 p16–18 · 공식 해설 p41–44

## 1. 문제 원문 (Deutsch)

이 unit은 공식 Teilaufgabe 또는 표의 한 행·한 access를 학습 가능한 최소 단위로 다시 나눈 것입니다. 아래 전사는 source group `8a`의 공식 독일어 문제 원문이며, 페이지 이미지를 바로 뒤에 함께 두어 코드·표·도식을 대조할 수 있게 했습니다.

~~~text
8a) AMAT

Für die folgenden Teilaufgaben sei ein Prozessor mit zweistufiger Cache-Hierarchie gegeben. In die Tabelle a) sind Daten für ein Programm eingetragen:

| Komponente | Zugriffszeit | Trefferrate |
|---|---:|---:|
| L1-Cache | 2 Zyklen | 80 % |
| L2-Cache | 15 Zyklen | 75 % |
| Hauptspeicher | 200 Zyklen | |

a) Berechnen Sie die AMAT für dieses System.

b) Der L1-Cache wird wie folgt ersetzt: 4 Zyklen Zugriffszeit, 90 % Trefferrate. Verbessert sich die AMAT? Begründen Sie.

Lösung:
~~~

![공식 시험 원문 — exam-p16.png](../../assets/exam-p16.png)

*공식 시험 원문: `exam-p16.png` · Probeklausur.pdf · PDF p.16*

### 이 unit에서 풀 항목

L1 2 cycle/80%, L2 15 cycle/75%, memory 200 cycle의 AMAT를 계산하세요.

## 2. 쉬운 한국어 해석

8a) AMAT

다음 세부 문제에서는 2단계 Cache hierarchy를 가진 프로세서가 주어져 있다. 표에는 한 프로그램에 대한 데이터가 입력되어 있다.

| 구성요소 | 접근 시간 | Hit rate |
|---|---:|---:|
| L1-Cache | 2 Takt | 80% |
| L2-Cache | 15 Takt | 75% |
| Hauptspeicher | 200 Takt | — |

a) 이 시스템의 AMAT를 계산하시오.

b) L1-Cache를 접근 시간 4 Takt, Hit rate 90%인 Cache로 교체한다. AMAT가 개선되는가? 근거를 제시하시오.

풀이:

### 이 unit에 해당하는 최소 작업

L1 2 cycle/80%, L2 15 cycle/75%, memory 200 cycle의 AMAT를 계산하세요.

이 문제에서 최종 결과만 맞히는 것보다 중요한 것은 `8a-1`에 필요한 중간 판단을 답안지에 남기는 것입니다.

## 3. 무엇을 묻는 문제인가

### 공식 문제의 요구사항

- 기존 L1/L2/Hauptspeicher 수치로 2단계 Cache hierarchy의 AMAT를 계산한다.
- 새 L1 접근 시간 4 Takt와 Hit rate 90%를 적용해 AMAT를 다시 계산한다.
- 두 AMAT를 비교해 개선 여부를 판정하고 수치로 근거를 제시한다.

### 조건과 제약

- Cache hierarchy는 L1과 L2의 두 단계이다.
- 기존 L1은 접근 시간 2 Takt, Hit rate 80%이다.
- L2는 접근 시간 15 Takt, Hit rate 75%이다.
- Hauptspeicher 접근 시간은 200 Takt이다.
- Teil b에서는 L2와 Hauptspeicher 수치는 유지되고 L1만 접근 시간 4 Takt, Hit rate 90%로 바뀐다.
- 공식 해설은 L2 Hit rate를 L1 miss가 발생한 뒤의 local/conditional Hit rate로 사용한다.

### 원문 오탈자·도식 관련 주의

- 원문은 L2의 75% Trefferrate가 local hit rate인지 global hit rate인지 명시하지 않는다. 공식 해설 p41은 local/conditional hit rate로 해석한다.
- 원문의 'In die Tabelle a)'는 문법상 어색하지만 의미를 바꾸지 않고 보존했다.
- AMAT에서 주어진 Hauptspeicher 200 Zyklen을 추가 miss penalty로 사용할지 전체 miss service time으로 사용할지는 원문에 정의되지 않으며, 공식 해설은 추가 항으로 사용한다.

### 도식 시각 확인 상태

- **도식 의존 여부:** 이 최소 unit의 핵심 판정은 텍스트·수식·코드로 재현할 수 있습니다.
- **공식 페이지 상태:** exam-p16.png, solution-p41.png가 원문 대조용으로 렌더되어 연결되어 있습니다.

### 이 unit의 학습 목표

- **관찰 가능한 목표:** 2-level Cache의 hit rate를 miss rate로 바꾸고, 조건부로 발생하는 L2 및 memory 비용을 nested AMAT 식으로 계산할 수 있다.
- **출제 의도:** AMAT 문제의 핵심은 모든 계층의 시간을 한꺼번에 더하는 것이 아니라, 상위 계층에서 miss가 난 경우에만 다음 계층 비용이 발생한다는 조건부 구조를 식에 반영하는 것입니다. 이 구조를 정확히 쓰면 수치가 바뀌어도 같은 절차로 풀 수 있습니다.
- **공식 근거 범위:** Probeklausur.pdf p16 Aufgabe 8a와 Probeklausur Musterlösung und Hinweise.pdf p41의 기존 L1 AMAT 계산.
- **Aufgabe 공통 선수지식:** Hit rate를 miss rate로 바꾸고, 여러 cache level의 AMAT를 안쪽부터 계산합니다. Cache simulation에서는 `(set, tag)`와 ‘이 block을 과거에 본 적 있는가’를 매 접근마다 기록합니다.

## 4. 선수 개념과 핵심 용어

### Hit Rate

- **뜻:** 요청한 data가 해당 cache level에서 발견될 확률입니다.
- **이 문제에서:** L1은 0.80, L2는 L1 miss 후 접근했을 때의 조건부 hit rate 0.75로 사용합니다.

### Miss Rate

- **뜻:** 해당 level에서 data를 찾지 못할 확률이며 1-hit rate로 계산합니다.
- **이 문제에서:** MR1=0.20과 MR2=0.25를 각각 바깥 확률과 안쪽 확률로 배치합니다.

### AMAT

- **뜻:** 모든 memory access에 걸리는 평균 시간으로, 빠른 경우와 드문 느린 경우를 확률 가중한 값입니다.
- **이 문제에서:** L1 hit time 2 cycle에 L1 miss 확률만큼 L2 이후 평균 비용을 더합니다.

### 이 문제에 적용할 풀이 규칙

### 규칙 1. 안쪽 계층부터 평균내기

L2에 도달한 뒤에는 항상 L2의 15 cycle을 내고, 그중 MR2=0.25인 경우에만 memory 200 cycle을 추가로 냅니다.

- **시험지에 남길 것:** 먼저 괄호 안에 15+0.25×200을 쓰고 65 cycles라고 계산합니다.

### 규칙 2. 상위 miss 확률은 괄호 전체에 곱하기

L2 이후의 65 cycle은 전체 access가 아니라 L1 miss인 20% access에만 발생합니다.

- **시험지에 남길 것:** AMAT=2+0.20×65라고 쓰고 각 항의 단위를 cycle로 표시합니다.

### 공식 문제 전에 푸는 작은 유사 예제

**문제:** L1 hit time 1 cycle, L1 hit rate 90%, L2 hit time 10 cycles, L2 hit rate 80%, memory penalty 100 cycles일 때 AMAT를 구하세요.

**주어진 것**

- L1: 1 cycle, HR1=0.90
- L2: 10 cycles, HR2=0.80
- Memory penalty: 100 cycles

### 예제 단계 1. 두 miss rate를 계산합니다.

- **왜:** 다음 계층 비용은 hit가 아니라 miss 확률로 가중하기 때문입니다.
- **종이에:** MR1=0.10, MR2=0.20

### 예제 단계 2. L2에 도달한 뒤의 평균 비용을 계산합니다.

- **왜:** L2 access 10 cycle은 항상 들고 memory penalty는 L2 miss 때만 듭니다.
- **종이에:** 10+0.20×100=30 cycles

### 예제 단계 3. L1 miss 확률로 안쪽 비용을 가중합니다.

- **왜:** 30 cycle은 전체 access의 10%만 경험합니다.
- **종이에:** AMAT=1+0.10×30=4 cycles

**예제 정답:** AMAT는 4 cycles입니다.

**독립 검산:** 결과가 L1 hit time 1 cycle보다 크고, 모든 access가 L2까지 가는 31 cycles보다 작은지 확인합니다.

## 5. 공식 정답 요약

**공식 결론:** 15 cycles.

### 시험지 문장별 정답 해설

아래는 시험지의 항목 순서를 그대로 유지합니다. 각 항목에서 원문 → 한국어 번역 → 정답 → 판단 근거 → 실제로 쓸 답을 바로 이어서 읽으세요.



### 현재 소문제의 요구·판단·답을 한 흐름으로 연결

### `8a-1`에서 정확히 답할 대상

- **시험지가 요구하는 답:** L1 2 cycle/80%, L2 15 cycle/75%, memory 200 cycle의 AMAT를 계산하세요.
- **이 소문제의 공식 답:** 15 cycles.

### 판단 1. L1 hit rate 0.80을 L1 miss rate로 바꿉니다.

- **왜:** L2 비용을 지불하는 사건은 L1 hit가 아니라 L1 miss이기 때문입니다.
- **이 판단에서 답안지에 남길 것:** MR1=1-0.80=0.20

### 판단 2. L2 hit rate 0.75를 L2 miss rate로 바꿉니다.

- **왜:** 200-cycle memory penalty는 L2에서도 찾지 못한 경우에만 발생합니다.
- **이 판단에서 답안지에 남길 것:** MR2=1-0.75=0.25

### 판단 3. L2에 도달한 뒤의 평균 추가 비용을 계산합니다.

- **왜:** nested 식을 안쪽부터 정리하면 서로 다른 조건부 확률을 섞지 않을 수 있습니다.
- **이 판단에서 답안지에 남길 것:** L2 이후 비용=15+0.25×200=65 cycles

### 판단 4. L1 hit time과 L1 miss 시의 추가 비용을 합쳐 최종 AMAT를 구합니다.

- **왜:** 모든 access는 먼저 L1의 2 cycle을 지불하고, 20%만 65 cycle을 추가로 지불합니다.
- **이 판단에서 답안지에 남길 것:** AMAT=2+0.20×65=15 cycles

### 위 판단이 최종 답으로 이어지는 이유

L1 miss일 때만 L2 비용을 내고, L2도 miss일 때만 memory 비용을 냅니다. 그래서 식은 바깥 L1부터 확률을 곱해 nested 형태가 됩니다.

### 답안 작성 시 주의

L2 access와 memory access를 모든 접근에 무조건 더하지 마세요.

![공식 Musterlösung/Hinweise — solution-p41.png](../../assets/solution-p41.png)

*공식 Musterlösung/Hinweise: `solution-p41.png` · Probeklausur Musterlösung und Hinweise.pdf · PDF p.41*

## 6. 풀이 전략

1. MR1=1-0.80=0.20.
2. MR2=1-0.75=0.25.
3. L2 이후 평균 비용=15+0.25×200=65.
4. AMAT=2+0.20×65.

## 7. 단계별 상세 풀이

### 단계 1. L1 hit rate 0.80을 L1 miss rate로 바꿉니다.

- **이유:** L2 비용을 지불하는 사건은 L1 hit가 아니라 L1 miss이기 때문입니다.
- **종이에 남길 것:** MR1=1-0.80=0.20
- **완료 기준:** 0.20이 L2 괄호 앞에 곱해질 확률이라고 설명할 수 있습니다.
- **막힐 때 힌트:** Hit와 miss는 서로 배타적이므로 합이 1입니다.
- **가장 흔한 첫 오류:** 0.80을 그대로 L2 비용에 곱해 L1 hit access에도 L2를 방문한 것으로 계산합니다.

### 단계 2. L2 hit rate 0.75를 L2 miss rate로 바꿉니다.

- **이유:** 200-cycle memory penalty는 L2에서도 찾지 못한 경우에만 발생합니다.
- **종이에 남길 것:** MR2=1-0.75=0.25
- **완료 기준:** 0.25가 memory penalty 200에만 곱해진다는 표시가 남아 있습니다.
- **막힐 때 힌트:** L2 hit이면 main memory까지 내려가지 않습니다.
- **가장 흔한 첫 오류:** L2 hit rate 0.75를 memory penalty에 곱해 느린 경우의 확률을 반대로 사용합니다.

### 단계 3. L2에 도달한 뒤의 평균 추가 비용을 계산합니다.

- **이유:** nested 식을 안쪽부터 정리하면 서로 다른 조건부 확률을 섞지 않을 수 있습니다.
- **종이에 남길 것:** L2 이후 비용=15+0.25×200=65 cycles
- **완료 기준:** 15와 50을 더한 65가 L1 miss 한 번당 평균 비용으로 표시됩니다.
- **막힐 때 힌트:** L2 access time 15는 L2에 도달하면 항상 지불합니다.
- **가장 흔한 첫 오류:** 15에도 0.25를 곱해 L2 hit lookup 자체를 일부 access에서만 수행한 것으로 만듭니다.

### 단계 4. L1 hit time과 L1 miss 시의 추가 비용을 합쳐 최종 AMAT를 구합니다.

- **이유:** 모든 access는 먼저 L1의 2 cycle을 지불하고, 20%만 65 cycle을 추가로 지불합니다.
- **종이에 남길 것:** AMAT=2+0.20×65=15 cycles
- **완료 기준:** 최종 결론 15 cycles와 완전한 nested 식을 함께 적었습니다.
- **막힐 때 힌트:** 65를 전체 access에 더하지 말고 MR1을 먼저 곱하세요.
- **가장 흔한 첫 오류:** 2+15+200처럼 모든 계층 시간을 무조건 합쳐 217 cycles라고 답합니다.

## 8. 문제와 공식 해설의 비교·검증

- **문제가 요구하는 것:** L1 2 cycle/80%, L2 15 cycle/75%, memory 200 cycle의 AMAT를 계산하세요.
- **공식 해설이 제시하는 결론:** 15 cycles.
- **결론을 재현하는 핵심 논리:** L1 miss일 때만 L2 비용을 내고, L2도 miss일 때만 memory 비용을 냅니다. 그래서 식은 바깥 L1부터 확률을 곱해 nested 형태가 됩니다.
- **검증 방법:** 위 micro-step의 `종이에 남길 것`을 순서대로 만들고 각 `완료 기준`을 확인합니다. 최종 산출물이 공식 결론과 같은지 대조합니다.
- **전제와 주의 범위:** L2 access와 memory access를 모든 접근에 무조건 더하지 마세요.
- **채택할 시험 답:** 이 가이드에서는 공식 Musterlösung의 결론을 시험 답으로 유지하며, 일반 ISA 또는 다른 구현과 달라질 수 있는 부분은 위 전제와 주의 범위에서 분리합니다.

## 9. 시험장에서 쓸 최종 답안

15 cycles.

답안지에는 결과만 쓰지 말고, 7절의 중간 산출물 가운데 판정을 증명하는 식·bit field·register 상태·cycle·cache 상태를 함께 남기세요.

## 10. 자주 하는 실수와 검산 체크리스트

### 대표 실수

- L2 access와 memory access를 모든 접근에 무조건 더하지 마세요.
- 0.80을 그대로 L2 비용에 곱해 L1 hit access에도 L2를 방문한 것으로 계산합니다.
- L2 hit rate 0.75를 memory penalty에 곱해 느린 경우의 확률을 반대로 사용합니다.
- 15에도 0.25를 곱해 L2 hit lookup 자체를 일부 access에서만 수행한 것으로 만듭니다.
- 2+15+200처럼 모든 계층 시간을 무조건 합쳐 217 cycles라고 답합니다.

### 빠른 self-check

- **회상 질문:** L1 hit인 80% 접근은 총 몇 cycle이 걸리나요?
- [ ] 정답을 가리고 2+0.20×(15+0.25×200)의 각 항이 어떤 사건의 비용인지 설명한다.
- [ ] AMAT가 2 cycles보다 크고 217 cycles보다 작은 이유를 확률 구조로 설명한다.

## 11. 짧은 확인 문제와 전이 연습

### 개념 재구성

**문제:** 2-level Cache의 AMAT 식을 숫자 없이 L1/L2 hit time, 두 miss rate, memory penalty 기호만으로 다시 만드세요.

**힌트:** 가장 안쪽의 L2 miss부터 괄호로 묶습니다.

<details>
<summary>정답과 채점 기준 보기</summary>

**모범 답:** AMAT=T_L1+MR1×(T_L2+MR2×P_mem)입니다.

**채점 기준**
  - t_l1
  - mr1
  - t_l2
  - mr2
  - p_mem|memory penalty

</details>

### 변형 문제

**문제:** L1이 3 cycles/85%, L2가 12 cycles/50%, memory penalty가 120 cycles라면 AMAT를 계산하세요.

**힌트:** MR1=0.15, MR2=0.50부터 계산하세요.

<details>
<summary>정답과 채점 기준 보기</summary>

**모범 답:** 안쪽 비용은 12+0.50×120=72이고, AMAT=3+0.15×72=13.8 cycles입니다.

**채점 기준**
  - 72
  - 13.8
  - cycles|cycle

</details>

### 오답 진단

**문제:** 학생이 `AMAT=2+15+0.25×200=67`이라고 썼습니다. 최초 오류를 찾고 식을 고치세요.

**힌트:** L2는 전체 access가 아니라 어떤 사건 뒤에만 방문합니다.

<details>
<summary>정답과 채점 기준 보기</summary>

**모범 답:** L1 miss rate 0.20을 L2 이후 비용 전체에 곱하지 않은 것이 최초 오류입니다. 올바른 식은 2+0.20×(15+0.25×200)=15 cycles입니다.

**채점 기준**
  - l1 miss|mr1|0.20
  - 2+0.20
  - 15 cycles|15

</details>

## 12. 근거 자료

- `[문제 출처] current:Probeklausur.pdf` — 시험 p16–18 · 공식 해설 p41–44
- `[공식 해설] current:Probeklausur Musterlösung und Hinweise.pdf` — 시험 p16–18 · 공식 해설 p41–44
- `[정확한 원문 group] 8a` — 시험 p.16 · 공식 해설 p.41
- `[소문항 범위] Probeklausur.pdf p16 Aufgabe 8a와 Probeklausur Musterlösung und Hinweise.pdf p41의 기존 L1 AMAT 계산.`
- `[개념 근거 · file-level] current:Vorlesung/Rechnerorganisation - Teil 3.pdf` — Cache, AMAT, memory hierarchy
- `[개념 근거 · file-level] current:Uebung/Lösung 11.pdf` — Cache address field와 AMAT
- `[개념 근거 · file-level] current:Uebung/Lösung 12.pdf` — miss 유형, replacement, set-associative trace

### 이 파일에서 직접 대조한 공식 이미지

- `exam-p16.png` — Probeklausur.pdf · PDF p.16
- `solution-p41.png` — Probeklausur Musterlösung und Hinweise.pdf · PDF p.41

정확한 강의 슬라이드 한 페이지를 확정하지 못한 개념 자료는 `file-level`로 표시했습니다. 페이지 번호를 추측해서 만들지 않았습니다.
