컴퓨터 시스템에서 캐시(Cache)의 역할과 작동 원리에 대해 설명해 주세요.
역할:
- 속도 향상: 자주 사용되는 데이터를 캐시에 저장하여 CPU가 직접 빠르게 접근할 수 있도록 합니다.
- 불필요한 대기 시간 감소: 데이터를 메인 메모리에서 직접 불러오는 대신 캐시에서 빠르게 가져와 대기 시간을 줄입니다.
캐시가 저장되는 프로세스:
vs코드를 켜서 print("hi")를 입력했을 때
1. OS가 Python 인터프리터를 RAM으로 복사한다.
2. CPU는 RAM에서 실행할 명령어(예: print("Hello, World!"))를 가져온다.
3. CPU가 연산할 때 필요한 데이터도 L1 캐시에 저장돼.
- 예를 들어, 우리가 x = 5 + 3 같은 연산을 실행하면,
- 5, 3 같은 숫자도 L1 캐시에 저장되고
- 연산 결과인 8도 L1 캐시에 잠깐 저장됐다가 메모리에 저장됨
즉, 명령어는 CPU가 처리하고 print()를 실행하는 과정에서 CPU가 자주 사용하는 연산(예: 문자열 처리, I/O 처리 등), 함수, 데이터가 캐시는 L1/L2/L3 캐시에 저장된다
4. 파이썬 명령어인 print()를 캐시에 저장하는게 아니라 print()를 실행하기 위한 Python 런타임이 미리 로드한 C 코드 함수의 함수 주소, 명령어, 레지스터 값이 캐시에 저장된다. 즉, PyFile_WriteObject 함수가 실행되면, 해당 함수의 명령어 코드와 데이터가 CPU 캐시로 이동할
캐시 종류:
웹캐시 | 웹 브라우저는 웹 페이지에서 사용되는 이미지, CSS 파일, 자바스크립트, HTML 페이지 등을 로컬에 저장해 두고, 다시 해당 페이지를 방문하면 저장된 콘텐츠를 빠르게 불러오게 됩니다. |
L1 |
|
L2 |
|
L3 |
|
캐시미스 | 만약 배열이 너무 크거나, CPU 캐시 크기를 초과하는 데이터라면 L1, L2, L3 캐시에서 찾을 수 없는 캐시 미스가 발생합니다. 이때는 메인 메모리(RAM)에서 데이터를 읽어야 하므로 속도가 느려집니다 |
캐시히트 | 캐시 메모리에서 데이터를 찾을 수 있으면 이를 캐시 히트라고 합니다. 즉, 데이터를 빠르게 읽을 수 있다는 의미입니다. |
작동원리 |
|
CPU와 GPU의 차이점과 각각의 장단점에 대해 설명해 주세요.
구분 | CPU | GPU |
구조 철학 | 범용, 복잡한 연산 | 병렬, 대규모 연산 |
제어 장치 | 강력하고 복잡함 | 단순함 |
캐시 | 깊고 정교함 (L1~L3) | 적거나 없음 |
명령어 처리 | 다양한 분기와 조건 수행 | 동일 연산 반복 최적화 |
메모리 접근 | 빠르지만 제한적 | 대역폭 크고 다량 병렬 접근 가능 |
코어 수 | Intel i9 CPU: 16코어 / 24스레드 | NVIDIA RTX 4090: 16,384개의 CUDA 코어 |
코어 종류 |
|
|
![]() |
'면접 준비' 카테고리의 다른 글
CS공부 ) 컴파일러 (0) | 2025.03.25 |
---|---|
CS공부 ) 데이터베이스 설계 (0) | 2025.03.25 |
CS공부 ) 네트워크 (0) | 2025.03.25 |
CS공부 ) 운영체제 (0) | 2025.03.24 |
CS공부 ) 데이터베이스 (0) | 2025.03.24 |