[CS] 6. 메모리와 캐시 메모리

eunoia73·2025년 4월 3일
1

TIL

목록 보기
23/32

1. RAM의 특징과 종류

RAM - 실행할 프로그램의 명령어와 데이터가 저장되는 휘발성 저장 장치
cf) 보조기억장치 - 저장될 내용이 유지되는 비휘발성 저장 장치

1) DRAM(Dynamic RAM) - 시간이 지나면 저장된 데이터가 점차 사라지는 RAM. 데이터의 소멸을 막기 위해 일정 주기로 데이터를 재활성화해야 함
소비전력이 비교적 낮고 저렴, 집접도가 높음 → 대용량 설계 용이

2) SRAM(Static RAM) - 시간이 지나도 저장된 데이터가 사라지지 않음(비휘발성이 아니라 전원 공급이 끊기면 저장된 내용이 날라감) DRAM보다 일반적으로 속도 빠름
소비전력 크고 비쌈, 집적도 낮음

3) SDRAM(Synchronous Dynamic RAM) - 클럭에 맞춰 동작하며 클럭마다 CPU와 정보를 주고받을 수 있는 DRAM

4) DDR SDRAM(Double Data Rate SDRAM) - 대역폭을 넓혀 속도를 빠르게 만든 SDRAM

SDR SDRAM(Single Data Rate SDRAM - 한 클럭당 하나씩 데이터를 주고받을 수 있는 SDRAM)보다 대역폭이 2배 넓음
** 대역폭 - 데이터를 주고받는 길의 너비

2. 메모리의 주소 공간

물리 주소 - 메모리 하드웨어가 사용하는 주소. 정보가 실제고 저장된 하드웨어 상의 주소
논리 주소 - CPU와 실행 중인 프로그램이 사용하는 주소. 실행 중인 프로그램 각각에게 부여된 0번지부터 시작되는 주소
** CPU와 메모리가 상호작용하려면 논리 주소와 물리 주소 간 변환이 이루어져야함
MMU(메모리 관리 장치) - 논리 주소와 물리 주소 간의 변환을 하는 하드웨어. CPU와 주소 버스 사이에 위치
CPU가 발생시킨 논리 주소에 베이스 레지스터 값을 더하여 논리 주소를 물리 주소로 변환

베이스 레지스터 - 프로그램의 첫 물리주소
한계 레지스터 - 논리 주소의 최대 크기 저장
논리 주소 - 프로그램의 시작점으로부터 떨어진 거리
프로그램의 물리 주소 - 베이스 레지스터 + 논리 주소

베이스 레지스터 값 <= 프로그램 물리 주소 < (베이스 레지스터 값 + 한계 레지스터 값)
CPU가 한계 레지스터 보다 높은 논리주소에 접근하려고 하면 인터럽트(트랩)를 발생시켜 실행을 중단함

3. 캐시 메모리

1) 저장 장치 계층 구조

: CPU에 얼마나 가까운가를 기준으로 계층적으로 나타낸 것

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

레지스터 / 캐시 메모리 / 메모리 / 보조기억장치

2) 캐시 메모리 용어

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

캐시 히트 - 자주 사용될 것으로 예측한 데이터가 실제로 맞아서 캐시 메모리 내 데이터가 CPU에서 활용될 경우
캐시 미스 - 자주 사용될 것으로 예측하여 캐시 메모리에 저장했지만 예측이 틀려 필요한 데이터를 직접 가져와야 하는 경우
캐시 적중률 = 캐시 히트 횟수 / (캐시 히트 횟수 + 캐시 미스 횟수)

참조 지역성의 원리

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

[혼자 공부하는 컴퓨터구조 + 운영체제] 책을 읽고 정리한 기록입니다.

0개의 댓글