CPU가 메모리에 접근하는 시간은 CPU 연산 속도보다 현저하게 느리다. 이것을 어떻게 해결할 수 있을까?
저장 장치 계층 구조
- CPU와 가까운 저장 장치는 빠르고, 멀리 있는 저장 장치는 느리다.
- 속도가 빠른 저장 장치는 저장 용량이 작고, 가격이 비싸다.
저장 장치들은 'CPU에 얼마나 가까운가'를 기준으로 계층적으로 나타낼 수 있다.
캐시 메모리
- CPU와 메모리 사이에 위치한, 레지스터보다 용량이 크고 메모리보다 빠른 SRAM 기반의 저장 장치
- CPU의 연산 속도와 메모리 접근 속도의 차이를 조금이나마 줄이기 위해 탄생한 저장 장치이다.
- CPU가 매번 메모리에 왔다 갔다 하는 건 시간이 오래 걸리기 때문에, 메모리에서 CPU가 사용할 일부 데이터를 미리 캐시 메모리로 가지고 와서 사용한다.
계층적 캐시 메모리(L1-L2-L3 캐시)
멀티코어 프로세서의 캐시 메모리
코어마다 따로 캐시를 가질 수 있고, 공유하는 캐시 메모리를 갖는다.
분리형 캐시
조금 더 속도를 빠르게 하기 위해 L1 캐시를 분리한 캐시이다. ex) L1D -> 데이터만 저장, L1l -> 명령어만 저장
참조 지역성의 원리
캐시 메모리는 메모리보다 용량이 작다. 당연하게도 메모리의 모든 내용을 저장할 수 없다.
그렇다면 무엇을 저장해야 할까?
CPU가 자주 사용할 법한 내용을 예측하여 저장한다.
예측이 들어맞을 경우 (CPU가 캐시 메모리에 저장된 값을 활용한 경우) = 캐시 히트 라고 한다.
예측이 틀렸을 경우 (CPU가 메모리에 접근해야 하는 경우) = 캐시 미스 라고 한다.
캐시 적중률
캐시 적중률이 높아야 한다.
참조 지역성의 원리는 CPU가 메모리에 접근할 때의 주된 경향을 바탕으로 만들어진 원리이다.
- CPU는 최근에 접근했던 메모리 공간에 다시 접근하려는 경향이 있다.
- CPU는 접근한 메모리 공간 근처를 접근하려는 경향이 있다.
'컴퓨터구조와 운영체제' 카테고리의 다른 글
RAID 정의와 종류 (0) | 2024.08.08 |
---|---|
보조기억장치 (0) | 2024.07.20 |
메모리의 주소 공간 (0) | 2024.07.07 |
RAM의 특성과 종류 (1) | 2024.07.03 |
명령어 집합 구조 (0) | 2024.07.02 |