2026 응용정보기술자시험 과목A 007 — CPU·캐시·성능 계산
응용정보기술자시험 과목 A에 필요한 클록 주기와 CPU 실행 시간, 명령 믹스의 가중 평균 CPI, 캐시 히트율과 실효 접근 시간, 이상적 파이프라인의 처리 시간과 해저드를 풀이 예제와 오리지널 연습 문제 5문항으로 익힙니다.
AP 과목 A 제7편 · 2026년도·실라버스 Ver.7.2 기준의 독립 학습 자료입니다. IPA와 제휴하지 않으며 합격을 보장하지 않습니다. 시리즈 허브 보기
- 개정일: 2026-10-20
- 출처 확인일: 2026-10-20
- 대상: 2026년 IPA 응용정보기술자시험(AP) 과목A, 실러버스 Ver.7.2
면책: 시험 형식과 출제 범위는 IPA에 의해 변경될 수 있습니다. 응시 전 반드시 IPA 공식 자료를 확인하세요. 이 글은 독자적인 학습 자료이며 IPA가 검토·보증한 것이 아닙니다. 본문의 문제는 모두 오리지널 문제이며 과거 기출문제가 아닙니다.
0. 학습 목차
- 용어표 (KO/JA/EN)
- CPU 성능 계산: 클록 주기, CPU 사이클 수, 실행 시간
- 가중 평균 CPI (명령 믹스)
- 캐시: 히트율·미스율과 실효 접근 시간 (두 가지 표기 관례)
- 파이프라인: 이상적 k단 모델과 그 한계
- 오리지널 연습문제 5문항 (정답·풀이·오답 해설)
- 퀵 시트
- 흔한 함정
- 최종 셀프 체크
- 1·3·7일 복습 제안
- 출처와 실러버스 매핑
1. 용어표
| KO | JA | EN |
|---|---|---|
| 클록 주파수 | クロック周波数 | clock frequency |
| 클록 주기(사이클 타임) | サイクルタイム(クロック周期) | clock period (cycle time) |
| CPI(명령당 평균 사이클 수) | CPI(1命令当たりの平均クロック数) | CPI (cycles per instruction) |
| 명령 수 | 命令数 | instruction count |
| 명령 믹스 | 命令ミックス | instruction mix |
| CPU 시간(실행 시간) | CPU時間(実行時間) | CPU time (execution time) |
| MIPS | MIPS | MIPS |
| 히트율 / 미스율 | ヒット率 / ミス率 | hit rate / miss rate |
| 히트 시간 | ヒット時間 | hit time |
| 미스 페널티 | ミスペナルティ | miss penalty |
| 실효(평균) 접근 시간 | 実効アクセス時間 | effective (average) access time, AMAT |
| 명령 파이프라인 | 命令パイプライン | instruction pipeline |
| 파이프라인 해저드 | パイプラインハザード | pipeline hazard |
| 데이터/구조/제어 해저드 | データ/構造/制御ハザード | data/structural/control hazard |
| 스톨 / 플러시 | ストール / フラッシュ | stall / flush |
| 지연 시간 / 처리량 | レイテンシ / スループット | latency / throughput |
2. CPU 성능 계산
2.1 전제 (모든 식에 적용)
- CPU 시간 모델: 여기서 구하는 것은 CPU가 명령을 실행하는 데 걸리는 시간뿐입니다. I/O 대기, OS, 다른 프로세스 등을 포함한 시스템 전체의 경과 시간은 이 식으로 추론하지 않습니다.
- CPI는 평균값: 주어진 명령 믹스에 대한 평균 CPI입니다. 믹스가 바뀌면 CPI도 바뀝니다.
- 같은 워크로드: 별도 언급이 없는 한 같은 프로그램·같은 명령 수를 비교합니다.
- 단위: 1 GHz = 10^9 사이클/s, 1 MHz = 10^6 Hz, 1 ns = 10^-9 s, Hz = 1/s.
- 클록만으로 판단 금지: 명령 집합 구조(ISA)가 다르면 명령 수와 CPI가 달라지므로, 클록 주파수만으로 어느 CPU가 우월한지 결론 내릴 수 없습니다.
2.2 식과 단위
| 식 | 단위 |
|---|---|
| 클록 주기 T = 1 / f | s = 1 / (사이클/s) → s/사이클 |
| CPU 사이클 수 = 명령 수 × CPI | 명령 × (사이클/명령) = 사이클 |
| 실행 시간 = 명령 수 × CPI / f = CPU 사이클 수 × T | 사이클 / (사이클/s) = s |
2.3 필수 예제
조건: f = 2.4 GHz, 명령 수 = 1.2×10^9, 평균 CPI = 1.5
- 클록 주기: T = 1 / (2.4×10^9 /s) ≈ 4.167×10^-10 s ≈ 0.417 ns
- CPU 사이클 수: 1.2×10^9 명령 × 1.5 사이클/명령 = 1.8×10^9 사이클 (명령 단위가 소거됨)
- 실행 시간: 1.8×10^9 사이클 / (2.4×10^9 사이클/s) = 0.75 s (사이클 단위가 소거되어 s만 남음)
- 검산: 1.8×10^9 사이클 × (1/2.4×10^9) s/사이클 = 0.75 s
2.4 MIPS에 대한 주의
MIPS = f / (CPI × 10^6) 입니다. 위 예제라면 2.4×10^9 / (1.5 × 10^6) = 1600 MIPS입니다. 그러나 MIPS는 명령 집합과 명령 믹스에 의존합니다. 같은 일을 하는 데 필요한 명령 수가 ISA마다 다르므로, MIPS는 서로 다른 아키텍처 간의 신뢰할 만한 성능 순위 지표가 아닙니다.
3. 가중 평균 CPI
3.1 식
가중 CPI = Σ (명령 종류 i의 비율 × CPI_i), 단 비율의 합 = 1 (단위: 사이클/명령)
3.2 예제
조건: 명령 수 = 2.0×10^9, f = 2.0 GHz
| 명령 종류 | 비율 | CPI | 비율 × CPI |
|---|---|---|---|
| 연산(ALU) | 0.5 | 1 | 0.5 |
| 로드/스토어 | 0.3 | 2 | 0.6 |
| 분기 | 0.2 | 3 | 0.6 |
| 합계 | 1.0 | — | 1.7 |
- 가중 CPI = 1.7 사이클/명령
- CPU 사이클 수 = 2.0×10^9 × 1.7 = 3.4×10^9 사이클
- 실행 시간 = 3.4×10^9 사이클 / (2.0×10^9 사이클/s) = 1.7 s
- 독립 검산(종류별 사이클 합): 1.0×10^9×1 + 0.6×10^9×2 + 0.4×10^9×3 = 1.0×10^9 + 1.2×10^9 + 1.2×10^9 = 3.4×10^9 사이클 ✓
- 주의: CPI의 단순 평균 (1+2+3)/3 = 2.0은 비율을 무시하므로 틀립니다.
4. 캐시: 실효 접근 시간
4.1 정의
- 히트율 h: 접근 중 캐시에서 찾은 비율 (0 ≤ h ≤ 1)
- 미스율 = 1 − h
- 퍼센트 → 확률 변환: 95% = 95/100 = 0.95, 미스율 = 1 − 0.95 = 0.05. 식에는 반드시 0~1 사이 값을 넣습니다.
4.2 두 가지 관례 (섞지 말 것)
관례 A — 히트 시간이 모든 접근에 포함됨
AMAT = 히트 시간 + 미스율 × 미스 페널티
- 미스 페널티 = 미스를 감지한 뒤 추가로 걸리는 시간 (ns)
- 모든 접근은 먼저 캐시를 확인(히트 시간)하고, 미스일 때만 페널티가 더해진다는 모델입니다.
관례 B — 총 지연 시간의 가중 평균
실효 접근 시간 = h × 히트 지연 + (1 − h) × 미스 총 지연
- 미스 총 지연 = 미스일 때 접근 한 번에 걸리는 전체 시간 (ns)
변환: 미스 총 지연 = 히트 시간 + 추가 미스 페널티. 이 변환을 하면 두 관례는 같은 값을 줍니다. 관례 A의 “추가 페널티”를 관례 B의 “총 지연” 자리에 그대로 넣거나, 그 반대로 하면 틀립니다.
4.3 필수 예제
조건: 히트 시간 2 ns, 히트율 95%, 추가 미스 페널티 60 ns
- 확률 변환: h = 0.95, 1 − h = 0.05
- 관례 A: 2 ns + 0.05 × 60 ns = 2 + 3 = 5 ns
- 관례 B로 변환: 미스 총 지연 = 2 + 60 = 62 ns 0.95 × 2 ns + 0.05 × 62 ns = 1.9 + 3.1 = 5 ns
- 두 관례 모두 5 ns로 일치합니다. 단위: (무차원 확률) × ns = ns.
시험 문제에서는 “미스 시 주기억 접근 시간”이 추가분인지 총 시간인지 문장을 읽고 판단해야 합니다. 판단이 안 되면 어느 관례를 가정했는지 명시하세요.
5. 파이프라인
5.1 이상적 k단 파이프라인의 전제
- k개 단계, 모든 단계의 시간이 동일하게 t
- 스톨·플러시 없음, 해저드 없음
- 단계 사이 래치(레지스터) 오버헤드 0
- n개 명령을 연속 실행
5.2 식
| 항목 | 식 | 단위 |
|---|---|---|
| 비파이프라인 시간 | n × k × t | ns |
| 파이프라인 시간 | (k + n − 1) × t | ns |
| 명령 1개의 지연 시간 | k × t (이상 모델에서도 줄지 않음) | ns |
| 정상 상태 처리량 | 1/t 에 근접 | 명령/ns |
(k + n − 1)의 의미: 첫 명령이 k단을 모두 통과하는 데 k×t(채우기, fill), 그 뒤 나머지 n − 1개가 t마다 하나씩 완료됩니다. 마지막 명령이 빠져나가는 비우기(drain) 구간도 이 식에 포함됩니다.
5.3 예제
조건: k = 5, t = 2 ns, n = 100
- 비파이프라인: 100 × 5 × 2 ns = 1000 ns
- 파이프라인: (5 + 100 − 1) × 2 ns = 104 × 2 = 208 ns
- 속도 향상: 1000 / 208 ≈ 4.81배 (k = 5 보다 작음)
- 명령 1개의 지연 시간: 5 × 2 = 10 ns (파이프라인이어도 그대로)
- 정상 상태 처리량: 1/t = 0.5 명령/ns = 5×10^8 명령/s
지연 시간 vs 처리량: 파이프라인은 “단위 시간당 완료되는 명령 수(처리량)“를 높이는 기법이며, 명령 하나가 시작부터 끝까지 걸리는 시간(지연 시간)을 줄이지 않습니다. 이상 모델에서 속도 향상은 n이 커질수록 k에 근접할 뿐, 항상 k와 같지 않습니다.
5.4 현실의 한계
- 채우기/비우기: n이 작으면 (k − 1)t 의 고정 비용 비중이 커집니다.
- 데이터 해저드: 앞 명령의 결과를 뒤 명령이 필요로 할 때 대기가 생깁니다.
- 구조 해저드: 같은 하드웨어 자원(예: 메모리 포트)을 동시에 쓰려 할 때 충돌합니다.
- 제어 해저드: 분기 결과가 확정될 때까지 다음 명령을 확정할 수 없습니다.
- 스톨/플러시: 해저드로 인해 빈 사이클(버블)이 들어가거나, 잘못 가져온 명령을 버립니다.
- 단계 시간 불균등: 클록은 가장 느린 단계에 맞춰야 하므로 t = 최대 단계 시간이 됩니다.
- 래치 오버헤드: 단계 사이 레지스터 시간이 추가되어 단계를 무한정 늘려도 이득이 계속 커지지 않습니다.
6. 오리지널 연습문제 (5문항)
아래 문제는 모두 이 글을 위해 새로 작성한 오리지널 문제이며, IPA 과거 기출문제가 아닙니다.
문제 1 (오리지널) — CPU 시간과 단위
클록 주파수 2.5 GHz인 CPU에서 명령 수 3.0×10^9, 평균 CPI 2.0인 프로그램의 CPU 실행 시간은? (CPU 시간 모델, 같은 워크로드)
- A. 0.6 s
- B. 1.2 s
- C. 2.4 s
- D. 2400 s
정답: C
풀이: 사이클 수 = 3.0×10^9 × 2.0 = 6.0×10^9 사이클. 시간 = 6.0×10^9 사이클 / (2.5×10^9 사이클/s) = 2.4 s.
- A (0.6 s): CPI로 곱하지 않고 나눈 경우 — 3.0×10^9 / (2.0 × 2.5×10^9).
- B (1.2 s): CPI를 무시하고 명령 수 / f 만 계산한 경우.
- D (2400 s): GHz를 MHz(10^6)로 잘못 환산한 경우 — 6.0×10^9 / 2.5×10^6.
문제 2 (오리지널) — 가중 CPI
명령 믹스가 종류 X 60%(CPI 1), 종류 Y 30%(CPI 3), 종류 Z 10%(CPI 5)입니다. 명령 수 1.0×10^9, 클록 1.0 GHz일 때 가중 CPI와 CPU 실행 시간의 조합은?
- A. CPI 3.0, 3.0 s
- B. CPI 2.0, 2.0 s
- C. CPI 2.0, 0.5 s
- D. CPI 1.0, 1.0 s
정답: B
풀이: 비율 합 0.6 + 0.3 + 0.1 = 1.0 확인. 가중 CPI = 0.6×1 + 0.3×3 + 0.1×5 = 0.6 + 0.9 + 0.5 = 2.0. 사이클 수 = 1.0×10^9 × 2.0 = 2.0×10^9. 시간 = 2.0×10^9 / 1.0×10^9 /s = 2.0 s.
- A: CPI를 단순 평균 (1+3+5)/3 = 3.0으로 계산 — 비율을 무시함.
- C: CPI는 맞지만 시간을 명령 수 / (CPI × f) 로 잘못 계산함.
- D: 가장 비율이 큰 종류 X의 CPI만 사용함.
문제 3 (오리지널) — 캐시 관례
히트 시간 1 ns, 히트율 90%이고, 미스일 때 접근 한 번의 총 지연이 51 ns(히트 확인 시간 포함)입니다. 실효 접근 시간은?
- A. 6.0 ns
- B. 5.9 ns
- C. 6.1 ns
- D. 46.0 ns
정답: A
풀이: h = 0.90, 1 − h = 0.10. 관례 B: 0.90 × 1 + 0.10 × 51 = 0.9 + 5.1 = 6.0 ns. 관례 A로 검산: 추가 페널티 = 51 − 1 = 50 ns, 1 + 0.10 × 50 = 6.0 ns.
- B (5.9 ns): 관례 B 식에 총 지연 대신 추가 페널티 50 ns를 넣음 — 0.9 + 5.0. 미스 시 히트 확인 시간이 빠짐.
- C (6.1 ns): 관례 A 식에 총 지연 51 ns를 추가 페널티로 넣음 — 1 + 5.1. 히트 시간을 이중 계산.
- D (46.0 ns): h와 1 − h를 뒤바꿈 — 0.10 × 1 + 0.90 × 51.
문제 4 (오리지널) — 이상적 파이프라인 시간
단계 시간이 모두 5 ns인 이상적 4단 파이프라인(스톨·오버헤드 없음)에서 20개 명령을 실행하는 데 걸리는 시간은?
- A. 100 ns
- B. 115 ns
- C. 120 ns
- D. 400 ns
정답: B
풀이: (k + n − 1) × t = (4 + 20 − 1) × 5 = 23 × 5 = 115 ns.
- A (100 ns): n × t 만 계산 — 채우기 구간 (k − 1)t = 15 ns를 무시.
- C (120 ns): (k + n) × t 로 계산 — 1을 빼지 않음.
- D (400 ns): 비파이프라인 시간 n × k × t.
문제 5 (오리지널) — 전제와 한계
다음 중 옳은 설명은?
- A. 클록 주파수가 더 높은 CPU는 ISA와 관계없이 어떤 프로그램이든 항상 더 빨리 끝낸다.
- B. 이상적 k단 파이프라인에서는 명령 하나의 지연 시간이 k×t 에서 t 로 줄어든다.
- C. MIPS 값은 서로 다른 ISA의 CPU 성능을 그대로 비교할 수 있는 지표이다.
- D. 명령 수와 클록 주파수가 같다면, 평균 CPI가 낮아질수록 CPU 시간은 CPI에 비례하여 줄어든다.
정답: D
풀이: CPU 시간 = 명령 수 × CPI / f 이므로 명령 수와 f가 고정이면 CPU 시간 ∝ CPI.
- A: ISA가 다르면 명령 수·CPI가 달라지므로 클록만으로 판단할 수 없음. 또한 CPU 시간 모델은 시스템 전체 경과 시간을 말하지 않음.
- B: 파이프라인은 처리량을 높일 뿐, 이상 모델에서도 명령 하나의 지연 시간은 k×t 그대로.
- C: MIPS는 명령 집합과 명령 믹스에 의존하므로 다른 ISA 간 비교에 신뢰할 수 없음.
정답표
| 문제 | 1 | 2 | 3 | 4 | 5 |
|---|---|---|---|---|---|
| 정답 | C | B | A | B | D |
7. 퀵 시트
- T = 1/f (s), 2.4 GHz → ≈ 0.417 ns
- 사이클 수 = 명령 수 × CPI
- CPU 시간 = 명령 수 × CPI / f (s)
- 가중 CPI = Σ 비율_i × CPI_i (Σ 비율 = 1)
- MIPS = f / (CPI × 10^6) — ISA·믹스 의존
- 관례 A: AMAT = 히트 시간 + (1 − h) × 추가 미스 페널티
- 관례 B: h × 히트 지연 + (1 − h) × 미스 총 지연, 미스 총 지연 = 히트 시간 + 추가 페널티
- 비파이프라인 n·k·t, 파이프라인 (k + n − 1)·t, 지연 k·t, 처리량 → 1/t
- 필수 예제 답: 1.8×10^9 사이클, 0.75 s / 캐시 5 ns (두 관례 모두)
8. 흔한 함정
- GHz를 MHz로 환산 (10^9 ↔ 10^6 혼동).
- CPI를 곱하지 않고 나누기.
- 가중 CPI를 단순 평균으로 계산.
- 비율 합이 1인지 확인하지 않음.
- 히트율 95%를 95로 대입 (0.95로 변환해야 함).
- 관례 A의 추가 페널티와 관례 B의 총 지연을 섞음.
- 파이프라인 시간에서 (k − 1)t 의 채우기 구간 누락.
- “파이프라인 → 속도 향상은 항상 k배”, “명령 하나도 빨라진다”고 오해.
- 클록이나 MIPS만으로 다른 ISA의 CPU 우열을 판단.
- CPU 시간을 시스템 전체 경과 시간으로 착각.
9. 최종 셀프 체크
- 2.4 GHz, 1.2×10^9 명령, CPI 1.5에서 1.8×10^9 사이클과 0.75 s를 단위 소거와 함께 유도할 수 있다.
- 비율 합이 1인 명령 믹스로 가중 CPI와 실행 시간을 계산하고 종류별 사이클 합으로 검산할 수 있다.
- 관례 A와 B를 구분하고, 히트 2 ns·히트율 95%·추가 페널티 60 ns에서 두 방식 모두 5 ns를 얻을 수 있다.
- (k + n − 1)t 를 채우기/비우기로 설명하고, 지연 시간과 처리량을 구분할 수 있다.
- 세 가지 해저드와 스톨/플러시, 단계 불균등, 래치 오버헤드가 이상 모델을 깨는 이유를 말할 수 있다.
- MIPS·클록만으로 결론을 낼 수 없는 이유를 설명할 수 있다.
10. 복습 제안
- 1일 후: 퀵 시트만 보고 필수 예제 3개(CPU 시간, 가중 CPI, 캐시)를 백지에서 다시 계산.
- 3일 후: 오리지널 문제 5문항을 풀이를 가리고 다시 풀고, 오답 선택지가 어떤 실수에서 나오는지 말로 설명.
- 7일 후: 숫자를 바꿔 직접 문제를 하나씩 만들고(예: 다른 히트율, 다른 k·n), 흔한 함정 10개를 점검.
11. 출처와 실러버스 매핑
- 공식 출처: IPA「応用情報技術者試験(レベル3)シラバス Ver.7.2」 https://www.ipa.go.jp/shiken/syllabus/omgdg50000005kq5-att/syllabus_ap_ver7_2.pdf (확인일 2026-10-20, PDF 14–16쪽)
- 매핑 (실러버스 표제 그대로):
- 大分類2:コンピュータシステム/中分類3:コンピュータ構成要素 › 1. プロセッサ › (8)プロセッサの性能 → 본문 2, 3장, 문제 1·2·5
- 大分類2:コンピュータシステム/中分類3:コンピュータ構成要素 › 1. プロセッサ › (9)プロセッサの高速化技術 → 본문 5장, 문제 4·5
- 大分類2:コンピュータシステム/中分類3:コンピュータ構成要素 › 2. メモリ › (5)メモリの容量と性能 → 본문 4장, 문제 3
- 大分類2:コンピュータシステム/中分類3:コンピュータ構成要素 › 2. メモリ › (3)メモリシステムの構成と記憶階層 → 범위 참고만(캐시 매핑·쓰기 방식은 이후 회차)
- 실러버스는 출제 범위만을 정합니다. 본문의 식·예제·문제는 이 글의 독자적인 설명이며, 외부 자료나 과거 기출문제를 사용하지 않았습니다.