[운영체제 스터디] 6. 메모리와 캐시 메모리

0

운영체제

목록 보기
5/6

주기억 장치에는 크게 Ram과 Rom이 있는데, 이번 챕터는 Ram에 대해서 자세히 알아보는것이다.

1. RAM의 특징과 종류

Ram의 특징

Ram은 실행할 프로그램의 명령어와 데이터가 저장된다.
중요한 점은 전원을 끄면 전부 날라가는것인데, 이를 휘발성 저장 장치라고 한다.

그에 비해 ROM이나 하드 디스크, SSD는 대표적인 비휘발성 저장장치이다

CPU는 보조기억 장치(비휘발성 저장장치)에 직접 접근하지 못하기 때문에,

ROM에는 보관할 대상을 , RAM에는 실행할 대상을 저장한다.

RAM의 용량과 성능

CPU가 실행하고 싶은 프로그램이 보조기억 장치에 있다면, RAM 용량이적으면, 가져오는 일이 잦아지게 된다.

하지만 크다면 한번에 많은 프로그램을 등록할 수 있다.

그렇다면 RAM 용량이 무지막지하게 크면 그만큼 비례해서 빨라질까?

용량이 필요 사항으로 커졌을때 속도는 그에 비례해 증가하지 않는다.

RAM의 종류

(1) DRAM

Daynamic RAM의 준말이다.
DRAM은 시간이 지나면 저장된 데이터가 휘발된다.
그렇기에 일정 주기로 데이터를 다시 저장해야한다.

많은 일반적인 메모리는 값이 싸고 집적도가 높은 DRAM이다.

(2) SRAM

Static RAM의 준말이다.
SRAM은 시간이 지나도 사라지지 않고, DRAM보다 일반적으로 속도도 빠르다.
가격도 비싸고, 소비전력이 크기에, 캐시 메모리에서 주로 사용된다.

(3) SDRAM

SDRAM은 클럭 신호화 동기화된, 발전한 DRAM이다.

SDRAM은 클럭에 맞춰 동작하며 클럭마다 CPU와 정보를 주고받을수 있는 DRAM.

(4) DDR SDRAM

가장 흔히 사용되는 RAM으로, 대역폭(데이터를 주고 받는 길의 너비)을 넓혀 만든 SDRAM이다.

예를들어 2DDR SDRAM은 일반적인 SDRAM보다 한클럭에 두배분량의 데이터를 주고받을수 있다.

최근 사용하는 DDR4 SDRAM은 기존의 SDRAM보다 16배나 넓은 대역폭을 가진다.

2. 메모리의 주소 공간

물리 주소는 메모리 하드웨어가 사용하는 주소이다.
논리 주소는 CPU와 실행중인 프로그램이 사용하는 주소이다.

물리주소와 논리 주소

CPU와 실행중인 프로그램은 메모리 몇번지에 무엇이 저장되어있는지 알고 있을까?
정답은 X다.
메모리의 값은 시시각각 변한다. 게다가 실행이 끝나면 삭제된다.

물리 주소는 저장된 하드웨어상의 주소를 의미한다.
하지만 논리 주소는, 실행중인 프로그램 각에게 부여된 0번지부터 시작되는 주소를 의미한다.

예를 들어 메모리에 메모장, 게임 인터넷 프로그램이 적재되어있다.
메모리에 있는 주소는 아까전에 말했던것처럼 변하기에 추적하기가 힘들다.

모든 프로그램에는 자신만을 위한 논리주소가 존재한다.

CPU는 이 논리 주소를 통해 받아들이고, 해석하고, 연산한다.

하지만 CPU가 메모리와 상호작용하려면, 물리 주소와 논리 주소와의 변환이 이루어져야하는데 어떻게 변환이 될까?

이는 MMU라는 메모리 관리 장치에 의해 수행된다.

MMU는 베이스 레지스터값을 더하여 논리주소를 물리주소로 변환시킨다.

메모리 보호 기법

만약 인터넷 브라우저의 주소가 3000~4000 일때, 인터네 브라우저(논리 주소) 1500번지에 100을 저장하라고 하면 과연 안전할까?

논리주소를 벗어나기때문에 안전하지 않다. 이를 보호할 장치가 필요한데, 한계 레지스터라는 레지스터가 담당한다.

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

그래서 접근하고자 하는 논리 주소가 한계 레지스터보다 자은지 항상 검사하고, 이보다 높은곳에 접근하고자 하면 인터럽트를 발생시킨다.

3. 캐시 메모리

캐시메모리가 탄생한 이유는 왜일까? CPU가 아무리 좋아도, 연산보다 메모리 접근시간이 오래 걸리기때문에 아무런 쓸모가없다.

많은 사옹자들은 빠른 저장 장치와 용량이 큰장치를 원하지만 양립하기가 어렵다.

CPU가 메모리에 접근하는 속도는 레지스터에 접근하는 속도보다 느리다. 그러나 CPU는 프로그램을 실행할때 빈번하게 메모리에 가져온다.

캐시 메모리는 메모리 접근속도를 줄이기 위해, CPU와 메모리 사이에 생긴 SRAM 저장장치이다.

캐시는 CPU와 가까운순으로 L1,L2,L3으로 형성된다.ㄸㄸㄷ

참조 지역성 원리

캐시메모리는 메모리보다 용량이 작고, 모든 내용을 저장할 수 없다.
캐시메모리는 무엇을 저장하는걸까?
캐시 메모리는 CPU가 사용할 법한 대상을 예측하여 저장하고, 실제로 들어맞을 경우, 캐시 히트라고 한다.
또한 틀릴경우, 캐시미스라고 불리는데 자주일어나면 캐시메모리에 이점을 활용할수 없다.

캐시적중률을 대략 85~95%를 기록하는데 어떻게 예측을 하는걸까?
캐시메모리는 참조 지역성의 원리를 통해 데이터를 예측한다.

참조 지역성의 원리
CPU가 메모리에 접근할때 주된 경향을 뜻하며, 아래를 확인해보자.

1. CPU는 최근에 접근한 메모리에 다시 접근하는 경향이 있다.
변수를 사용할때, CPU는 변수가 저장된 공간을 언제든 다시 참조할 수 있다.
우리는 이를 시간 지역성이라고 부른다.


2. CPU는 접근한 메모리 근처를 접근하는 경향이 있다.

profile
쉽게 가르칠수 있도록 노력하자

0개의 댓글