#1 아키텍처

1-1. Background

  흔히 RAM을 메모리라고 지칭하기도 하는데 정확한 범주에서는 RAM의 정의가 임의로 접근 가능한 메모리이기 때문에 메모리, SSD, HDD 등과 같은 보조기억장치도 포함하는 개념이다. 여기서 특징은 메모리는 휘발성 메모리이고, 디스크는 비휘발성 메모리라는 것이다. 이 글에서는 메모리에 대해 주로 다루고자 한다.

  • RAM(Random Access Memory): 임의 접근 메모리
  • VM(Volatile Memory): 휘발성 메모리
  • NVM(Non-Volatile Memory): 비휘발성 메모리

1-2. 세부 컴포넌트

  데이터를 저장하는 DRAM과 이를 연산하는 CPU, 이들 간의 데이터를 전달할 수 있는 인터페이스들까지 우리는 메모리라 일컫는다. DRAM은 메모리 모듈에 구성되어 마더보드와 연결되고, 마더보드는 CPU와 메모리 모듈이 데이터를 주고 받을 수 있도록 하고, 전원을 공급하는 역할을 한다. 각 인터페이스는 다음과 같다.

  • 마더보드: 하드웨어 구성 요소들을 연결하는 플랫폼으로써 전원을 공급하고 시스템 버스를 통해 데이터 및 제어 신호를 전달하여 상호 작용을 가능하도록 한다.
  • 메모리 컨트롤러: CPU 내부에 위치한 하드웨어로 코어의 메모리 엑세스 및 제어를 담당한다.
  • 메모리 버스: 마더 보드에 존재하며 CPU와 메모리 간의 데이터 및 제어 신호를 전송하는 통로이다.
  • 메모리 모듈: 흔히 말하는 DRAM 찹을 탑재하는 모듈로써 메모리 버스에 직접 연결되어 CPU의 메모리 컨트롤러를 통해 데이터를 주고 받는다.

그림 1. Memory overview

#2 메모리 컨트롤러

2-1. 위치 변화

  모놀리식 구조의 컴퓨터 구조에서 메모리 컨트롤러는 FSB를 통해 마더보드 내부의 노스브릿지와 연결되어 CPU가 메모리 컨트롤러로 요청을 보내면 메모리 컨트롤러가 DIMM과의 상호 작용을 통해 데이터를 전송하는 방식의 구조였다. 하지만 마이크로프로세서 구조로 넘어가면서 메모리 레이턴시를 줄이기 위해 CPU 내부로 메모리 컨트롤러의 위치를 옮겨가게 되었다. 이는 성능의 향상을 가져오기도 했지만 반대로 메모리가 CPU 타입에 귀속되는 결과도 가져오게 되었다.

2-2. 채널

  메모리 채널은 메모리 컨트롤러가 메모리 모듈과 연결되는 통로로 하낭의 채널은 하나의 메모리 모듈과 연결된다. 메모리 채널의 대역폭은 메모리 채널의 전송 속도와 비트 수를 곱한 것과 같다. 대역폭을 쉽게 늘리기 위한 수단으로 멀티/코어/옥타 채널도 요즘은 많이 사용한다.

그림 2. Quad channel overview

 

#3 DIMM (Dual In-line Memory Module)

3-1. 구성 요소

  • RCD: 시스템 클럭 신호를 버퍼링하여 CPU와 DIMM 사이의 연산 상호작용을 수행하는 칩
  • DRAM: 동적 임의 접근 메모리
  • Rank: 여러 DRAM 칩을 묶어 한 Rank를 구성
  • Bank: DRAM 칩의 물리적인 한 섹션
  • Row: bank 내의 행
  • Col: bank 내의 열

3-2. 동작

  비트 수에 따라 주소 구성 달라짐 페이징 기법에서 메모리 프레임 번호가 row/col + rank + bank + channel의 조합

 

 

 

참고 자료

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

NUMA (Non-Uniform Memory Access)  (0) 2024.05.16
Memory Mapped I/O (MMIO)  (0) 2024.04.24

+ Recent posts