일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- Javascript
- 프로그래머스
- BFS
- Data Structure
- db
- DP
- Python
- TypeScript
- Redux
- git
- 자바
- VIM
- 동적 계획법
- frontend
- LeetCode
- CS
- 리트코드
- Algorithm
- 알고리즘
- 다이나믹 프로그래밍
- DFS
- Database
- network
- react
- java
- 그레이들
- vscode
- 안드로이드
- 백준
- Graph
- Today
- Total
늘 겸손하게
CS - Computer Structure - 캐시 메모리(Cache Memory) 본문
CS - Computer Structure - 캐시 메모리(Cache Memory)
besforyou999 2022. 11. 23. 20:07캐시 메모리 (Cache Memory)
속도가 빠른 장치와 느린 장치에서 속도 차이에 따른 병목 현상을 줄이기 위한 메모리
ex) CPU 코어와 메모리 사이의 병목 현상 완화
ex) 웹 브라우저 캐시 파일은, 하드디스크와 웹 페이지 사이의 병목 현상을 완화
CPU가 주기억장치에서 저장된 데이터를 읽어올 때, 자주 사용하는 데이터를 캐시 메모리에 저장한 뒤, 다음에 이용할 때 주기억장치가 아닌 캐시 메모리에서 먼저 가져오면서 속도를 향상시킨다.
속도가 빠르다는 장점이 있지만, 비용이 비싸 대용량으로 사용하기 어려운 단점이 존재.
CPU에는 이러한 캐시 메모리가 2~3개 정도 사용된다. (L1, L2, L3 캐시 메모리라고 부른다)
속도와 크기에 따라 분류한 것으로, 일반적으로 L1캐시부터 먼저 사용된다. (CPU에서 가장 빠르게 접근하고, 여기서 데이터를 찾지 못하면 L2로 감)
듀얼 코어 프로세서의 캐시 메모리 : 각 코어마다 독립된 L1 캐시 메모리를 가지고, 두 코어가 공유하는 L2 캐시 메모리가 내장됨
만약 L1 캐시가 128kb면, 64/64로 나누어 64kb에 명령어를 처리하기 직전의 명령어를 임시 저장하고, 나머지 64kb에는 실행 후 명령어를 임시저장한다. (명령어 세트로 구성, I-Cache - D - Cache)
- L1 : CPU 내부에 존재
- L2 : CPU와 RAM 사이에 존재
- L3 : 보통 메인보드에 존재한다고 함
캐시 메모리 크기가 작은 이유는, SRAM 가격이 매우 비쌈.
디스크 캐시 : 주기억장치(RAM)와 보조기억장치(하드디스크) 사이에 존재하는 캐시
캐시 메모리 작동 원리
- 시간 지역성
for나 while 같은 반복문에 사용하는 조건 변수처럼 한번 참조된 데이터는 잠시 후 또 참조될 가능성이 높음
- 공간 지역성
A[0], A[1]과 같은 연속 접근 시, 참조된 데이터 근처에 있는 데이터가 잠시 후 또 참조될 가능성 높음
=> 이처럼 참조 지역성의 원리가 존재한다.
캐시에 데이터를 저장할 때는, 이러한 참조 지역성(공간)을 최대한 활용하기 위해 해당 데이터뿐만 아니라, 옆 주소의 데이터도 같이 가져와 미래에 쓰일 것을 대비한다.
CPU가 요청한 데이터가 캐시에 있으면 'Cache Hit', 없어서 DRAM에서 가져오면 'Cache Miss'
캐시 미스 경우 3 가지
1. Cold miss
해당 메모리 주소를 처음 불러서 나는 미스
2. Conflict miss
캐시 메모리에 A와 B 데이터를 저장해야 하는데, A와 B가 같은 캐시 메모리 주소에 할당되어 있어서 나는 미스 (direct mapped cache에서 많이 발생)
3. Capacity miss
캐시 메모리의 공간이 부족해서 나는 미스
-> Conflict는 주소 할당 문제, Capacity는 공간 문제
출처
'Computer Science > Computer Structure' 카테고리의 다른 글
CS - Computer Structure - 고정 소수점 & 부동 소수점 (0) | 2022.11.23 |
---|---|
CS - Computer Structure - CPU 작동원리 (0) | 2022.11.23 |
CS - Computer Structure - 컴퓨터 구조 기초 (0) | 2022.11.23 |