1. 메모리 계층별 역할과 상호작용 관계를 정리해 보자

- 컴퓨터 시스템의 메모리는 피라미드 계층 구조를 갖는다. 피라미드의 제일 아래에는 하드디스크가 존재하고, 가장 위에는 레지스터가 존재한다. 피라미드 구조의 아래쪽으로 내려갈수록 CPU와 거리가 멀어서 속도는 느리되, 용량은 엄청난 크기로 증가한다.


2. 캐쉬 메모리가 성능에 도움을 주는 이유

- 캐쉬 메모리가 성능에 도움을 주는 이유는 프로그램의 일반적인 특성 두 가지 때문이다. 대부분의 프로그램은 실행과정에서 한번 접근이 이뤄진 주소의 메모리 영역에 자주 접근하는 특성이 있다. 이러한 특성을 가리켜 템퍼럴 로컬리티라 한다. 또한 이미 접근이이뤄진 영역의 근처에 접근활 확률이 높다는 특성도 지닌다. 이를 가리켜 스페이셜 로컬리티라 한다. 이 두 가지 특성 때문에 캐쉬는 성능 향상에 많은 도움이 된다.


3. 가상 메모리

- 메인 메모리의 부족함을 가상 메모리라는 메커니즘으로 극복하고 있다. 이는 하드디스크를 메인 메모리로 확장하여 완성 시킨 개념이다. 가상 메모리로 인해 Windows상에서 생성되는 모든 프로세스는 메인 메모리의 크기에 상관없이 약속된 메모리 공간을 할당 받을 수 있다. 


4. 피라미드 구조상에서의 캐쉬 관계

- 가상 메모리의 개념을 이해하면, 전체 메모리의 구조가 피라미드 관계상에서 캐쉬 관계를 형성하고 있음을 알 수 있다. 캐쉬 메모리가 레지스터와 메인 메모리 사이에서 캐쉬 역할을 하고 있는 것처럼, 메인 메모리도 캐쉬 메모리와 하드디스크 사이에어 캐쉬 역할을 하고 있다. 이러한 메모리 계층별 관계를 이해하고 있ㅇ야 한다.


5. MMU(Memory Management Unit)

- 가상 메모리와 실제 물리 메모리 사이에서 주소의 변환을 담당하는 것은 소프트웨어가 아니라 MMU라는 하드웨어 블록이다. 이는 아주 빈번히 일어나는 연산이기 때문에 하드웨어로 구성해야 성능에 영향을 미치지 않는다. 즉 가상 메모리의 구현은 MMU라는 하드웨어 블록의 도움을 받는다.

+ Recent posts