캐시가 중요하다

ORCASUIT·2023년 10월 22일
0

프로그램이 동작 할 때 인스트럭션이 로딩되고 메인 메모리에 복사되는 과정에서 오버헤드가 발생함 그래서 시스템 설계자들의 주요 목적은 이러한 복사 과정들을 가능한 빠르게 동작하도록 하는 것임.

물리적으로 큰 저장장치가 작은저장 장치보다 느림 마찬가지로 일반적인 레지스터 파일은 수백 바이트의 정보를 저장하는 반면 메모리의 경우 십억개의 바이트를 저장함. 그러나 프로세서는 레지스터 파일을 읽는데 메모리보다 100배 더 빨리 읽음.

반도체 기술은 메인 메모리를 더 빠르게 동작하도록 하는것보다 프로세서를 빠르게 만드는 것이 비용이 적게 듦

L1 캐시는 대략 수천 바이트의 데이터를 저장할 수 있음.
L2 캐시는 수백 킬로바이트에서 수메가 바이트의 용량을 가짐

프로세서가 L2 캐시를 엑세스 할 때 L1 캐시보다 5배 정도 느리지만 그래도 여전히 메인 메모리에 액세스 할 때보다 5배~10배는 빠름

캐시 시스템의 이면에 깔려있는 아이디어 = 지역성을 활용하여 큰 효과를 얻을 수 있음. 자주 액세스 할 가능성이 높은 데이터를 캐시가 보관하도록 설정하면 빠른 캐시를 이용해서 대부분의 메모리 작업을 수행 할 수 있게 됨. 즉, 캐시 메모리를 이해하는 응용 프로그래머는 캐시를 활용하여 자신의 프로그램 성능을 10배이상 개선할 수 있을 것임.


0개의 댓글