티스토리 뷰

cs

[CS-컴퓨터구조] 캐시 메모리

da_devel 2022. 8. 14. 00:50
반응형

🤔 캐시 메모리란?

CPU와 주기억장치 사이에 위치하는 고속 버퍼 메모리

 

🤔 왜 필요한가?

CPU와 디스크 간의 속도 차이를 극복하기 위해서!

상대적으로 속도가 빠른  CPU와

상대적으로 속도가 느린 디스크 간의 속도 차이를 극복하기 위해서

캐시 메모리 사용

 

 

hit rate(적중률)이 캐시의 성능을 좌우!!

hit ratio 설명

 

🤔 캐시의 지역성 원리

캐시 메모리는 속도가 빠른 장치와 느린 장치간의 속도차에 따른 병목 현상을 줄이기 위한 범용 메모리인데

쉽게 말해 자주 사용하는? 정보들을 메모리에 적재시켜 메모리보다 속도가 더 느린 하드 디스크에서

데이터를 가져오지 않아도 메모리에서 바로 CPU로 빠르게 데이터를 전송할 수 있도록 해주는 것인데

이 캐시가 CPU가 원하는 데이터를 예측하는 정도를 적중률(Hit rate)라고 하고

적중률이 높으면 좋은 캐시 메모리이다!

 

자, 그럼 이제 적중률(hit rate)

캐시가 어떻게 CPU가 원하는 데이터를 예측할까?

적중률(hit rate)을 극대화 시키기 위해서 데이터 지역성(locality)의 원리를 사용한다.

 

지역성의 전제조건으로

프로그램은 모든 코드나 데이터를 균등하게 access 하지 않는다는 특성을 기본으로 한다.

 

 

Locality

기억 장치 내의 정보를 균일하게 access하는 것이 아닌

어느 한 순간에 특정 부분을 집중적으로 참조하는 특성

 

 

 

🤔 시간 지역성(Temporal Locality)

✔ 최근에 참조된 주소의 내용은 곧 다시 참조되는 특성

 

 

🤔 공간 지역성(Spatial Locality)

✔ 대부분의 실제 프로그램이 참조된 주소와 인접한 주소의 내용이 다시 참조되는 특성

 

🤔 순차(Sequential) 지역성

✔ 데이터가 순차적으로 액세스되는 경향

예시 : 프로그램 내의 명령어가 순차적으로 구성되어 있는 것

공간 지역성에 편입되어 설명되기도 함.

 

 

 


출처

https://osy0907.tistory.com/80(캐시의 지역성)

https://jwprogramming.tistory.com/18(캐시의 지역성)

 

반응형

'cs' 카테고리의 다른 글

[CS-운영체제] 운영체제의 종류  (0) 2022.08.16
[CS-알고리즘] BigO 표기법  (0) 2022.08.09