혼자 공부하는 컴퓨터 구조 06. 메모리와 캐시 메모리 - swkim0128/PARA GitHub Wiki


type: ComputerArchitecture archive: false

06.1 RAM의 특징과 종류

RAM(Random Access Memory)은 컴퓨터에서 데이터를 저장하고 읽는 데 사용되는 주 기억장치입니다. RAM은 빠른 읽기 및 쓰기 속도를 제공하지만, 전원이 꺼지면 저장된 데이터가 지워지기 때문에 비휘발성 저장 장치와 함께 사용됩니다.

DRAM

DRAM (Dynamic Random Access Memory)은 저장된 데이터가 동적으로 사라지는 RAM을 의미합니다. 즉, 시간이 지남에 따라 저장된 데이터가 점차 사라지는 RAM입니다.

SRAM

SRAM (Static Random Access Memory)은 (보통 트랜지스터로 만든) 논리 게이트를 사용하여 정적 메모리 셀을 만들어 데이터를 저장하는 RAM 유형입니다. 이를 통해 주기적인 새로고침 주기가 필요하지 않고 데이터를 저장할 수 있어 DRAM보다 더 빠르고 절전 효과가 있습니다. 그러나 생산 비용이 더 비싸며 저장 용량이 낮습니다.

SDRAM

SDRAM (동기식 다이내믹 랜덤 액세스 메모리)은 컴퓨터의 시스템 클럭과 동기화되는 RAM 유형입니다. 이를 통해 비동기 DRAM과 비교하여 저장된 데이터에 더 빠른 액세스가 가능합니다. SDRAM은 주로 데스크톱 컴퓨터와 서버에서 사용됩니다.

DDR SDRAM

DDR SDRAM (더블 데이터레이트 동기 다이내믹 랜덤 액세스 메모리)는 전통적인 SDRAM에 비해 데이터 전송 속도를 두 배로 높이는 SDRAM의 일종입니다. 이는 클럭 신호의 상승 및 하강 에지에서 데이터를 전송함으로써 달성됩니다. DDR SDRAM은 현대 컴퓨터에서 보편적으로 사용되며 DDR2, DDR3 및 DDR4와 같이 더 빠르고 효율적인 RAM 유형에 의해 대체되었습니다.

06.2 메모리의 주소 공간

물리 주소(Physical Address)

물리적 주소는 메모리 내 특정 위치를 참조하는 데 사용됩니다. 이러한 주소는 일반적으로 2진 형태로 표시되며, 메모리의 특정 바이트 또는 블록에 액세스하는 데 사용될 수 있습니다.

논리 주소(Logical Address)

논리 주소는 프로그램의 관점에서 메모리 내의 특정 위치를 참조하기 위해 사용됩니다. 이러한 주소는 CPU에 의해 생성되며, 메모리 관리 장치(MMU)에 의해 물리적 주소로 변환됩니다. 논리 주소는 일반적으로 16진수 형식으로 표시되며, 특정 바이트나 메모리 블록에 액세스하기 위해 사용됩니다.

메모리 관리 장치(MMU : Memory Management Unit)

메모리 관리 유닛(MMU)은 논리 주소를 물리 주소로 변환하는 작업을 담당합니다. CPU와 메인 메모리 사이에 위치한 하드웨어 장치로서 주소 변환을 수행합니다. MMU는 가상 메모리와 메모리 매핑을 가능하게 하여 메모리의 효율적인 사용을 허용함으로써 운영 체제와 다른 프로그램이 메모리에 대한 악의적이거나 우발적인 접근으로부터 보호하는 데 도움을 줍니다.

06.3 캐시 메모리

저장장치 계층 구조(Memory hierarchy)

저장장치 계층 구조는 접근 속도, 용량 및 비용이 다른 저장장치의 계층적 구조입니다. 계층 구조는 일반적으로 가장 빠르고 비싼 것에서 가장 느리고 가장 적은 비용으로 구성되며, 각 계층은 그 아래 계층의 캐시 역할을 합니다.

계층 구조의 맨 위에는 CPU 레지스터가 있으며, 이는 가장 빠르지만 가장 작은 유형의 메모리입니다. 그 다음으로 캐시가 있으며, 이는 자주 액세스되는 데이터를 저장하는 소량의 고속 메모리입니다. 캐시 아래에는 주 메모리(RAM) 및 하드 디스크 드라이브와 같은 보조 저장장치가 있습니다. 마지막으로 계층 구조의 맨 아래에는 테이프 드라이브 및 광학 저장장치와 같은 제3 저장장치가 있습니다.

이 계층 구조는 자주 액세스되는 데이터를 고속 캐시에 저장하고, 자주 액세스되지 않는 데이터를 더 느리고 덜 비싼 저장장치에 저장함으로써 효율적인 자원 활용이 가능합니다.

캐시 메모리(Cache Memory)

캐시 메모리는 자주 액세스하는 데이터를 저장하는 작고 빠른 메모리입니다. CPU와 주 메모리 사이에 위치하며, 평균적인 메모리 액세스 시간을 줄이는 데 사용됩니다. CPU가 메모리에 데이터를 읽거나 쓰려는 경우, 먼저 캐시를 확인하여 데이터가 이미 있는지 확인합니다. 데이터가 캐시에 있으면, CPU는 주 메모리에서 읽는 것보다 훨씬 빠르게 액세스할 수 있습니다.

레벨 1(L1) 캐시, 레벨 2(L2) 캐시 및 레벨 3(L3) 캐시 등 여러 유형의 캐시 메모리가 있습니다. L1 캐시는 가장 작고 빠르며, 대개 CPU 자체에 통합됩니다. L2 캐시는 L1 캐시보다 크고 느리며, CPU나 별도의 칩에 위치합니다. L3 캐시는 가장 크고 느리며, 대개 별도의 칩에 위치합니다.

캐시 메모리는 액세스 속도, 용량 및 비용이 다른 저장 장치의 계층 구조인 메모리 계층 구조의 중요한 부분입니다. 메모리 계층 구조는 자주 액세스하는 데이터를 빠른 캐시 메모리에 저장하고, 덜 자주 액세스하는 데이터를 더 느리고 덜 비싼 저장 장치에 저장하여 리소스 사용을 최적화하기 위해 설계되었습니다.

참조 지역성 원리

참조 지역성 원리는 캐시 메모리가 데이터의 지역성을 이용하여 작동한다는 아이디어를 나타냅니다. 이 원리는 한 번에 여러 데이터를 캐시로 가져오는 것이 효율적이라는 것을 보여줍니다. 예를 들어, 프로그램이 메모리의 연속된 부분에 액세스하는 경우, 캐시는 해당 데이터를 미리 가져와 캐시 메모리에 저장합니다. 그러면 CPU가 이러한 데이터에 연속적으로 액세스하면, 더 빠르게 액세스할 수 있습니다.

참조 지역성 원리는 데이터를 캐시로 가져오는 데 있어서 매우 중요합니다. 이 원리는 데이터 캐시의 효율성을 높여주며, 캐시에서 데이터를 검색하는 데 필요한 시간을 줄여줍니다. 이러한 이유로 대부분의 캐시 메모리는 데이터 참조의 지역성을 이용하여 작동합니다.

  1. CPU는 최근에 접근했던 메모리 공간에 다시 접근하려는 경향이 있다.
  2. CPU는 접근한 메모리 공간 근처를 접근하려는 경향이 있다.
⚠️ **GitHub.com Fallback** ⚠️