본문 바로가기
IT/Internals

[Cache] memory와 cache 관계

by 물통꿀꿀이 2018. 12. 20.

https://www.programcreek.com/2012/10/how-is-an-array-stored-in-memory-and-brought-to-cache/

Cache에 관한 괜찮은 글을 있어서 소개하려 한다.



그림 1. Diagrams for memory and cache


그림 1을 보면 메모리의 8x8 배열이 있다. 

여기서 CPU가 A[0][7]에 해당 하는 값이 필요하면, A[0][7]을 포함하는 block이 cache로 이동한다. 

(그런데 cache가 block당 8개의 값을 가지므로 A[0]의 row값 전체가 cache로 이동된다.)


그림 2. CPU Request


그림 2는 CPU가 메모리로부터 어떻게 byte 값을 가져오는지 보여준다. 

위 그림을 통해 CPU 요청에 의해 메모리가 어떻게 cache 가져가게 되는지 확인 할 수 있다. 

(moduler 연산을 통해 cache 값이 overwrite 될 수 있는 것도 확인 할수 있다.)


그림 3. Cache View


그림 3을 통해 cache가 왜 block 배열로 메모리를 인식하는지 보여준다. 각 메모리의 block 크기는 cache block에 의해 결정된다.

댓글