Cute Running Puppy

cs/[OS] 혼자 공부하는 컴퓨터 구조 + 운영체제

[혼공컴운] chatper 06. 메모리와 캐시 메모리

R.silver 2024. 1. 21. 18:01
반응형

06-1. RAM의 특징과 종류

 

DRAM

 

dynamic RAM
저장된 데이터가 동적으로 변하는(사라지는) RAM
데이터의 소멸을 막기 위해 일정 주기로 데이터를 재활성화(다시 저장) 해야 한다
소비전력이 비교적 낮고, 저렴하고, 집적도가 높기에 일반적으로 사용하는 메모리

 

SRAM

 

static RAM
저장된 데이터가 변하지 않는 RAM
시간이 지나도 데이터가 사라지지 않음 (데이터를 재활성 할 필요 없음)
DRAM 보다 일반적으로 속도가 빠름
SRAM도 전원이 공급되지 않으면 저장된 내용이 날아간다

 

SDRAM

 

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

 

DDR SDRAM

 

최근 가장 흔히 사용되는 램
대역폭을 넓혀 속도를 빠르게 만든 SDRAM
한 클럭당 하나씩 데이터를 주고받을 수 있는 SDRAM을 SDSDRAM이라 부름

 

06-2. 메모리의 주소 공간

 

물리 주소와 논리 주소 

 

메모리에 저장된 정보는 시시각각 변하기에 CPU와 실행 중인 프로그램은 현재 메모리 몇 번지에 무엇이 저장되어 있는지 다 알지 못한다

 

물리 주소

 

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

 

논리 주소

 

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

메모리 관리 장치 (MMU): 논리 주소와 물리 주소 간의 변환, CPU와 주소 버스 사이에 위치
베이스 레지스터: 프로그램의 가장 작은 물리주소 (프로그램의 첫 물리 주소)를 저장하는 곳
논리 주소: 프로그램의 시작점으로부터 떨어진 거리

 

메모리 보호 기법

 

한계 레제스터: 다른 프로그램 영역을 침범할 수 있는 명령어는 위험 -> 논리 주소 범위를 벗어나는 명령어 실행을 방지하고 실행 중인 프로그램이 다른 프로그램에 영향을 받지 않도록 보호할 방법
베이스 레지스터: 실행중인 프로그램의 가장 작은 물리 주소 저장
한계 레지스터: 논리 주소의 최대 크기 저장
프로그램의 물리 주소 범위 : 베이스 레지스터 값 <= 물리 주소 범위 < 베이스 레지스터 값 + 한계 레지스터 값
CPU가 접근하려는 논리 주소는 한계 레지스터가 저장한 값 보다 커서는 안된다

 

06-3. 캐시 메모리

 

캐시 메모리

 

CPU와 메모리 사이에 위치하여 CPU 연산속도와 메모리 접근 속도 차이를 줄이기 위해 사용
L1 캐시: 코어와 가장 가까운 캐시 메모리 (L1(코어 내부) -> L2(코어 내부) -> L3(코어 외부))

 

참조 지역성의 원리

 

캐시 히트: 자주 사용될 것으로 예측한 데이터가 실제로 맞아 캐시 메모리 내 데이터가 CPU에 활용될 경우
캐시 미스: 자주 사용될 것으로 예측하여 캐시 메모리에 저장했지만 예측이 틀려 필요 데이터를 직접 가져와야 하는 경우
캐시 적중률 = 캐시 히트 횟수 / (캐시 히트 횟수 + 캐시 미스 횟수)
평균적인 적중률: 85% ~ 95% 이상
참조 지역성 원리: CPU가 사용할 법한 데이터 (CPU가 메모리에 접근한느 주된 경향을 바탕으로 만들어진 원리)
1. CPU는 최근에 접근했던 메모리 공간에 다시 접근하려는 경향이 있다
2. CPU는 접근한 메모리 공간 근처를 접근하려는 경향이 있다

반응형