본문 바로가기
~ 2024.03/컴퓨터 구조 + 운영체제

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

by Monett 2024. 1. 4.
반응형

혼자 공부하는 컴퓨터 구조 + 운영체제(강민철 저, 한빛미디어)를 공부하며 내용을 정리한 글 입니다.
현재 블럭의 내용은 작성자의 의견 혹은 생각이며, 틀린 내용이 있을 수 있습니다. 지적 감사드립니다.

 

RAM의 특징

RAM은 전원을 끄면 저장된 명령어와 데이터가 모두 날아간다. 이를 휘발성 저장 장치라고 한다.

비휘발성 저장 장치로는 하드 디스크나 SSD 등의 보조기억장치가 있다.

 

CPU는 보조기억장치에 직접 접근하지 못하기에 일반적으로 비휘발성 저장 장치에는 보관할 대상을 저장하고, 휘발성 저장 장치인 RAM에는 실행할 대상을 저장한다.

RAM의 용량과 성능

CPU가 실행하고자 하는 프로그램이 보조기억장치에 있다면 이를 RAM으로 가져와야 한다.

만약 RAM의 용량이 적다면 프로그램을 가져오는 일이 잦아 실행 시간이 길어지게 된다.

 

단, RAM의 용량이 필요이상으로 커졌을 때 속도가 그에 비례하여 증가하지는 않는다.

RAM의 종류

  • DRAM : Dynamic RAM의 준말이며, 시간이 지나면 저장된 데이터가 사라져 일정 주기로 재활성화가 필요하다. 가격이 저렴하여 일반적으로 많이 사용된다.
  • SRAM : Static RAM의 준말이며, 저장된 데이터가 소실되지 않는다. 일반적으로 DRAM보다 빠르며 가격이 비싸 많이 사용하지 못한다. 일반적으로 캐시 메모리 등에서 사용된다.
  • SDRAM : Synchronous Dynamic RAM의 준말이며, 클럭 신호와 동기화된 RAM이다.
  • DDR SDRAM : Double Data Rate SDRAM의 준말이다. 대역폭이 넓은 SDRAM이며 최근에는 대역폭이 16배 넓은 DDR4 SDRAM을 사용한다. 대역폭이 넓다는 것은 데이터를 운반할 수 있는 도로가 넓어 한 클럭당 여러개의 데이터를 운반할 수 있음을 의미한다.

메모리의 주소 공간

  • 물리 주소 : 메모리 하드웨어가 사용하는 주소
  • 논리 주소 : CPU와 프로그램이 사용하는 주소

CPU와 프로그램은 메모리 몇 번지에 무엇이 저장되었는지 알지 못한다.

각각의 프로그램은 0번지부터 시작하는 자신만을 위한 논리 주소를 가진다.

 

다만 CPU가 메모리와 상호작용하려면 논리주소와 물리주소간 변환이 필요하다.

이는 CPU와 주소버스 사이의 메모리 관리 장치(MMU)에 의해 수행된다.

MMU는 논리주소에 베이스 레지스터 값을 더해 변환시킨다.

베이스 레지스터값은 프로그램의 첫 주소를 가진다.

 

메모리 보호 기법

다른 프로그램의 메모리 영역을 침범할 수 있는 명령어는 위험하다.

이를 보호하기 위해 한계 레지스터가 논리주소의 최대 크기를 저장한다.

프로그램의 물리 주소 범위는 베이스레지스터 ≤ 프로그램 < 베이스 레지스터 + 한계 레지스터이다.

CPU가 한계 레지스터보다 높은 논리 주소에 접근하려고 하면 인터럽트가 발생한다.


캐시 메모리

CPU의 연산속도는 메모리 접근 속도보다 빠르기 때문에, 이를 극복하기 위해 캐시메모리를 사용한다.

캐시 메모리는 CPU와 메모리 사이에 위치하고, 레지스터보다 용량이 크고 메모리보다 빠른 SRAM 기반의 저장 장치이다.

 

코어와 가장 가까운 캐시메모리를 L1, 그 다음은 L2, L3라고 하며, L1과 L2는 코어 내부에 위치한다.

 

캐시 메모리는 CPU가 사용할 법한 대상을 예측하여 저장한다.

실제로 예측이 들어맞는 경우를 캐시 히트라고 하며, 아닌 경우 캐시 미스라고 한다.

캐시가 히트되는 비율을 캐시 적중률이라고 하며, 아래 식으로 구할 수 있다.

캐시 히트 / (캐시 히트 + 캐시 미스)

 

캐시 적중률이 높으면 CPU의 메모리 접근 횟수를 줄일 수 있으며, 일반적으로 우리가 사용하는 컴퓨터의 캐시 적중률은 85% ~ 95% 이상이다.

 

캐시 메모리는 참조 지역성의 원리에 따라 메모리로부터 가져올 데이터를 결정한다.

  • 시간 지역성 : CPU는 최근 접근한 메모리 공간에 다시 접근하려는 경향이 있다.
  • 공간 지역성 : CPU는 접근한 메모리 공간 근처를 접근하려는 경향이 있다.

저장장치 계층 구조

저장장치의 일반적인 명제는 아래와 같다.

  • CPU와 가까운 저장장치는 빠르고, 멀면 느리다.
  • 속도가 빠른 저장장치는 용량이 작고 비싸다.

컴퓨터가 사용하는 저장 장치들은 CPU에 얼마나 가까운가를 기준으로 계층적으로 나타낼 수 있는데, 이를 저장장치 계층 구조라고 한다.

 

반응형