21. 컴퓨터 성능 개선을 위한 메모리 관리
캐시 메모리 전송을 위한 매핑 기법
캐시 메모리 매핑 프로세스
이전 시간에 3가지 종류의 매핑 방법이 있음을 알았고 다음과 같이 설정을 해본다.
- 주 기억장치 : 12 bit 32K 워드 저장
- 캐시 메모리 : 512 word / 제한 시간
- CPU는 main/cache memory 모두 통신 가능
- 15 bit 주소를 캐시로 보내 hit 발생 시 캐시로부터 12 bit 데이터 받음
- miss 발생 시 주 기억장치로부터 워드를 읽고 이를 cache로 이동, 저장
Associative mapping
- 가장 빠르고 융통성 있는 캐시 구조
- CPU의 15 bit 주소는 인자 레지스터에 놓여지며 associative memory 내 주소와 같은 12 bit 데이터를 읽어 CPU로 보냄
- Miss 인 경우 CPU는 주 기억 장치에서 해당 자료를 찾아 캐시로 옮김
- 만약 캐시에 여유 공간이 있다면 그 공간에 주소와 데이터를 저장
- 캐시가 꽉 차 있을 경우 기존 캐시의 주소와 데이터 쌍 중 주어진 알고리즘에 의해 해당 주소 데이터 쌍이 새로운 쌍으로 대체 됨
Direct mapping
- RAM에 구현한 캐시 메모리
- 15 bit(CPU addres) = 6 bit(Tag field) + 9 bit(Index field)
- Index field-cache 색인 주소로 활용
- Tag field-cache 동일 index로 충돌이 발생 시 활용
ex) 다이렉트 매핑을 통한 캐시 상태 변화
Set-asociative mapping
- 캐시의 각 워드는 같지만 동일 인덱스 주소 아래 두 개 이상의 메모리 워드를 저장 할 수 있게 함으로 다이렉트 매핑의 단점을 보완
- 캐시 메모리의 크기 = 512 x (2 x (6 + 12))
- 큰 규모의 캐시는 히트율을 높일 수 있으나 좀 더 정교한 논리 회로 필요