CS 공부

[CS] {컴퓨터 구조} 메모리

ogh4554 2025. 4. 10. 18:52

1. RAM의 특징

- 휘발성 저장장치

- CPU의 명령에 의해 보조기억장치에서 데이터를 가져와서 실행

- RAM의 용량이 클수록 많은 프로그램들을 동시에 실행하는 데에 유리

 

2. RAM의 종류

1) DRAM(Dynamic RAM)

- Dynamic = '동적의'

- 저장된 데이터가 동적으로 사라지는 RAM

- 데이터 소멸을 막기 위해 주기적으로 재활성화 해야 함

- 상대적으로 소비전력이 낮고 저렴하며 집적도가 높아 대용량으로 설계하기 용이

-> 일반적으로 메모리로 사용되는 RAM

 

2) SRAM(Static RAM)

- Static = '정적의'

- 저장된 데이터가 사라지지 않는 RAM(전원 끄면 사라짐)

- DRAM보다 일반적으로 더 빠름

- 상대적으로 소비전력이 높고 비싸며 집적도가 낮아 '대용량으로 설계할 필요가 없으나 빨라야하는 장치'에 사용

->일반적으로 캐시 메모리에 사용되는 RAM

더보기

DRAM VS SRAM 차이(상대적)

  DRAM SRAM
재충전 필요함(재활성화) 필요 없음
속도 느림 빠름
가격 저렴함 비쌈
집적도 높음 낮음
소비전력 적음 높음
사용 용도 주기억장치(RAM) 캐시 메모리

3) SDRAM(Synchronous DRAM)

- 발전된 형태의 DRAM

- 클럭신호와 동기화된 DRAM

 

 

4)DDR SDRAM(Double Data Rate SDRAM)

- 발전된 형태의 SDRAM

- 최근 대중적으로 사용하는 RAM

- 대역폭을 두배로 넓혀 속도를 빠르게 만든 SDRAM

* 대역폭 : 데이터를 주고받는 길의 너비

 


3. 메모리의 주소 공간

1) 논리 주소

- CPU와 실행중인 프로그램 입장에서 바라본 주소

- 실행중인 프로그램 각각에게 부여된 0번지부터 시작하는 주소

 

2) 물리 주소

- 메모리 입장에서 바라본 주소

- 말 그대로 정보가 실제로 저장된 하드웨어 상의 주소

3) 물리주소와 논리주소의 변환

 

- MMU(메모리 관리 장치)라는 하드웨어에 의해 변환

- MMU는 '논리주소'와 '베이스 레지스터(프로그램의 기준주소)' 값을 더하여 논리 주소를 물리 주소로 변환

베이스 레지스터 : 프로그램의 가장 작은 물리 주소(프로그램의 첫 물리 주소)를 저장하는 셈

논리 주소 : 프로그램의 시작점으로부터 떨어진 거리인 셈


4) 메모리 보호

* 다른 프로그램의 영역을 침범하는 명령어를 실행하면 안됨!

▶ 한계 레지스터(Limit Register)

- 프로그램의 영역을 침범할 수 있는 명령어의 실행을 막음

- 베이스 레지스터가 실행중인 프로그램의 가장 작은 물리주소를 저장한다면,

  한계 레지스터는 논리 주소의 최대크기를 저장

- 베이스 레지스터 값 <= 프로그램의 물리 주소 범위 < 베이스 레지스터 + 한계 레지스터 값

- CPU가 접근하려는 논리 주소는 한계 레지스터가 저장한 값보다 커서는 안 됨


4. 캐시 메모리

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

- CPU가 메모리에 접근하는 시간은 CPU 연산 속도보다 느림

- CPU의 연산속도와 메모리 접근 속도의 차이름 조금이나마 줄이기 위해 탄생

* 참조 지역성의 원리

- CPU가 메모리에 접근할 때의 주된 경향을 바탕으로 만들어진 원리

(1) CPU는 최근에 접근했던 메모리 공간에 다시 접근하려는 경향이 있다.

(2) CPU는 접근한 메모리 공간 근처를 접근하려는 경향이 있다.(공간 지역성)

 

- 캐시 메모리는 메모리보다 용량이 작기 때문에 모든 내용을 저장할 수 없다

- CPU가 자주 사용할 법한 내용을 예측하여 저장

캐시히트 : 예측이 들어맞을 경우

캐시미스 : 예측이 틀렸을 경우 -> 성능 하락

+ 캐시 적중률 = 캐시 히트 횟수 / (캐시 히트 횟수 + 캐시 미스 횟수)