메모리란?
- 데이터의 상태, 명령어를 기록하는 장치
- CPU(일꾼)가 계산을 담당하고, 메모리(작업장)은 기억을 담당
메모리의 계층
- RAM : 하드디스크로 부터 일정량의 데이터를 복사하여 임시저장하고, 이를 필요시마다 CPU에 빠르게 전달하는 역할
- 차수별 저장장치
(1) 1차 저장장치 : 휘발성 저장장치(레지스터, 캐시, 메인메모리)
(2) 2차 저장장치 : 보조기억장치
(3) 3차 저장장치 : 백업 사본을 저장하기위해 다른 장치에 저장하는것(cd-rom, blue-ray)
캐시
1. 정의
- 데이터를 미리 복사해놓은 임시저장소. 빠른장치와 느린 장치의 속도차이에 따른 병목현상을 줄이기 위한 메모리
- 레지스터는 CPU와 램사이에 있는 캐시계층이고 램은 캐시메모리와 보조기억장치 사이에 있는 캐시계층이다
2. 캐시 설정을 위한 두가지 원리
- 시간지역성 : 최근 사용한 데이터를 다시 사용하는 것
- 공간지역성 : 최근 접근한 데이터를 이루고 있는 공간이나 그 가까운 공간에 접근하는 특성
3. 캐시히트와 캐시미스
- 캐시에 원하는 데이터를 찾으면 캐시히트, 해당 데이터가 캐시에 없어서 주 메모리에 가서 데이터를 가져오는 것이 캐시 미스
- 캐시매핑 : 캐시가 히트되기 위해 매핑하는 방법
* 직접매핑(direct mapping) : 메모리에 1~100, 캐시에 1~10 있으면, 1:1~10, 2:1~20 으로 매핑. 처리가 빠르지만 충돌이 잦음
* 연관매핑(associated mapping) : 순서를 일치시키지 않고 관련있는 캐시와 메모리를 매핑. 충돌이 적지만 모든 블록을 탐색해야해서 속도 낮음
* 집합연관매핑(set associated mapping) : 직접매핑+연관매핑