cs study/컴퓨터 구조

1. 컴퓨터 구조 : 메모리 (1) RAM

지그농 2026. 1. 20. 23:46

해당 내용은 이것이 컴퓨터 과학이다 with CS 기술면접을 학습한 기록입니다.

 

 

목차
1. RAM의 개념과 종류
2. 메모리 데이터 저장 방식

 

* 해당 글에서 다루지 않는 내용 

본 글에서는 RAM 개념 이해에 집중하고, 컴퓨터 구조 전반에 대한 내용은 다루지 않는다.

  •  CPU와 메모리 간의 전체적인 작업 흐름
  •  메모리 종류 및 저장 방식과 같은 하드웨어적 세부 사항

관련 내용은 컴퓨터 구조 기본을 정리한 이전 글에서 확인할 수 있다.

 

1. 컴퓨터 구조의 이해 기초

해당 내용은 이것이 컴퓨터 과학이다 with CS 기술면접을 학습한 기록입니다. 목차1. 컴퓨터는 어떻게 개발자가 작성한 소스 코드를 이해하는가?2. 컴퓨터를 구성하는 핵심 부품 1. 컴퓨터는 어떻

jignonne.tistory.com

 

 


 

1. RAM의 개념과 종류

1-1. RAM(Random Access Memory)

임의 접근(random access)란, 메모리 내에서 특정 데이터의 위치와 관계없이

원하는 주소에 즉시 접근할 수 있는 방식을 의미한다.

즉, 필요한 데이터 위치에 바로 접근할 수 있어 직접 접근(direct access) 라고 설명되기도 한다.

 

반대 개념으로는 순차 접근(sequential access)가 있으며,

이는 필요한 데이터로 접근하기 위해 앞선 데이터부터 차례대로 접근해야 하는 방식을 말한다.

 

(좌) 임의 접근 (우) 순차 접근

 

이러한 임의 접근 특성 덕분에, RAM은 CPU가 프로그램을 실행하는 데 필요한

데이터를 빠르게 읽고 쓰는 메인 메모리로 사용된다.

 

 

1-2. RAM의 종류와 특징

 

[1] DRAM (Dynamic RAM)

 

저장 데이터가 동적으로 변하는(사라지는) 특성을 가진 RAM.

데이터의 소멸을 방지하기 위해, 일정 주기로 데이터를 다시 읽고 재저장하는

리프레시 작업이 필요하다.

 

비교적 소비 전력이 낮고, 저렴하며

직접도가 낮아 대용량 메모리 설계하기에 유리하기 때문에

대부분의 시스템에서 메인 메모리로 사용된다.

 

 

[2] SRAM (Static RAM)

 

DRAM과 달리 저장된 데이터가 변하지 않는 특성을 가진 RAM.

다만 RAM이기 때문에, 전원이 공급되지 않으면 저장된 내용은 소실된다.

 

DRAM에 비해 접근 속도가 상대적으로 빠르지만,

소비 전력도 크고 가격이 비싸며 집적도도 낮다는 단점이 있다.

 

이러한 특성으로 인해 대용량 메모리에는 적합하지 않지만,

빠른 속도가 요구되는 캐시 메모리와 같은 용도로 사용된다.

 

 

[3] SDRAM (Synchronous Dynamic RAM)

 

클럭 신호와 동기화된 발전된 형태의 DRAM이며,

클럭 타이밍에 맞춰 CPU와 정보를 주고 받을 수 있어

기존 DRAM 보다 효율적인 데이터 전송이 가능하다.

 

 

[4] DDR SDRAM (Double Data Rate SDRAM)

 

대역폭을 넓혀 속도를 빠르게 만든 SDRAM의 발전 형태로,

DDR2 SDRAM은 DDR SDRAM보다 대역폭이 두배 넓은 SDRAM이다.

 

 

 

 

2. 메모리 데이터 저장 방식

메모리는 데이터를 바이트(Byte) 단위로 저장하고 관리한다.  
즉, 하나의 메모리 주소에는 1바이트의 데이터가 저장된다.

 

CPU는 데이터를 한 번에 처리하기 위해  
일반적으로 4바이트(32비트) 또는 8바이트(64비트) 크기의  
워드 단위로 데이터를 읽고 쓴다.

 

이처럼 여러 바이트로 구성된 데이터를 메모리에 저장할 때는  
각 바이트를 여러 주소에 나누어 저장하게 되며,  
이때 바이트를 배치하는 방식에 따라  
빅 엔디안(Big Endian)과 리틀 엔디안(Little Endian) 방식으로 구분된다.

 

16진수 한 자리는 4비트를 표현하며,  
따라서 16진수 두 자리는 8비트, 즉 1바이트를 나타낸다.

예를 들어, 16진수 값 `0x1A2B3C4D`는  
`1A`, `2B`, `3C`, `4D`의 네 바이트로 나뉘어  
연속된 네 개의 메모리 주소에 저장된다.

 

2-1. 빅 엔디안

빅엔디안 방식이란, 낮은 주소에 상위 바이트부터 저장하는 방식이다.

 

빅 엔디안 방식 (출처 - 이것이 취업을 위한 컴퓨터 과학이다)

 

일상적인 숫자 체계의 읽고 쓰는 방식과 동일하기 때문에

메모리 값을 그대로 해석하기 쉽고  
디버깅 시에도 비교적 직관적으로 값을 확인할 수 있다는 장점이 있다.

 

위의 이미지를 참고하면,

메모리의 낮은 주소부터 1A, 2B, 3C, 4D 순서대로 저장되고

이를 그대로 읽어서 16진수 `0x1A2B3C4D`로 읽는다.

 

 

2-2. 리틀 엔디안

리틀 엔디안 방식이란, 낮은 주소에 하위 바이트부터 저장하는 방식이다.

 

리틀 엔디안 방식 (출처 - 이것이 취업을 위한 컴퓨터 과학이다)

 

메모리에 저장된 값을 사람이 직접 읽고 해석하기에는 다소 불편하지만,  
하위 바이트부터 처리할 수 있어  
수치 계산이나 연산 처리에 유리하다는 장점이 있다.

 

2-3. MSB와 LSB

MSB(Most Significant Bit)란 숫자의 크기에 가장 큰 영향을 미치는 유효 숫자로, 

가장 왼쪽에 있는 비트를 말한다. 

 

이와 반대로 LSB(Least Significant Bit)

숫자의 크기에 가장 적은 영향을 미치는 유효 숫자로,

가장 오른쪽에 위치한 비트를 말한다.

 

예를 들어, 10진수 123에서

가장 왼쪽 자릿수인 1은 MSB에 해당하고,  
가장 오른쪽 자릿수인 3은 LSB에 해당한다.

 

이러한 개념을 바탕으로,

빅 엔디안MSB를 포함한 바이트, 즉 중요하고 큰 데이터부터 저장해가는 방식이다.

 

반대로 리틀 엔디안 LSB를 포함한 바이트,

즉 덜 중요하고 작은 데이터부터 저장해가는 방식이라고 볼 수 있다.