메모리 계층 구조

 

 

  • 맨 위에있는 계층일 수록 CPU에 가깝고 속도도 빠르며 용량 대비 가격이 비쌉니다.




메모리 계층 구조가 필요한 이유

 

  • 속도가 빠른 저장 장치일수록 저장 공간 대비 가격대가 비싸집니다. 이러한 트레이드 오프 관계에 의해서 컴퓨터는 여러 개의 저장 장치를 활용하여 이를 보완합니다. 프로세스 실행에 필요한 모든 데이터를 한 번에 load하는 것이 아니라 현재 필요한 데이터 일부를 상위 계층으로 올려 CPU가 연산할 수 있도록합니다. 이러한 방식을 통해서 메모리 트레이드 오프 관계를 어느정도 해소할 수 있습니다.




보조 기억 장치( 하드 디스크 )

 

  • 보조 기억 장치는 전원이 꺼져도 보관할 데이터가 사라지지 않는 특성을 가졌기 때문에 실행 파일, 이미지, 문서 파일등을 저장하는 용도로 사용됩니다.




메모리

 

  • 실행중인 프로세스 데이터를 저장하는 장치로서 SDRAM을 주로 사용하며, 전원이 꺼지면 데이터를 현재 저장된 데이터들은 모두 소실됩니다.




캐시

 

  • 메모리는 보조 기억 장치에 비해 비교적 빠르지만 CPU 입장에서는 상당히 느린 저장 장치입니다. 그렇기 때문에 SRAM을 주로 사용하는 캐시 메모리를 사용하여 실행에 필요한 데이터를 캐시 라인 단위로 읽어오고 저장하여 CPU가 되도록이면 실행에 필요한 데이터를 캐시에서 읽어올 수 있도록 합니다.

    프로그램 성능에는 여러가지 요인이 있지만 그 중 하나는 캐시 히트율에 있습니다. 프로그래머가 어떻게 소스 코드를 작성하였느냐에 따라서 템페럴 로컬리티, 스페이셜 로컬리티의 특성에 의해서 성능이 하락되거나 상승할 수 있습니다.




레지스터

 

  • 레지스터 크기는 운영체제가 32bit 환경이면 4byte, 64bit 환경이면 8byte입니다. 주로 CPU가 지금 당장 연산에 필요한 데이터를 저장하는 저장장치로서 CPU와 가장 가깝고 가장 빠른 저장 장치입니다.




'컴퓨터 구조' 카테고리의 다른 글

플래시 메모리와 SLC, MLC, TLC란?  (0) 2022.11.04
RAM의 특징과 종류  (1) 2022.11.01
CISC와 RISC란?  (0) 2022.10.30
CPU의 명령어 병렬 처리 기법  (0) 2022.10.30
하이퍼 쓰레딩( Hyper Threading )이란?  (0) 2022.10.30

+ Recent posts