Study/혼자 공부하는 컴퓨터구조+운영체제 정리

6장. 메모리와 캐시 메모리

공부하기 좋은 날 2023. 1. 23. 18:28

6-1) RAM의 특징과 종류

'메모리'라는 용어로 지칭하는 RAM이란 무엇인가?

 

- RAM에는 실행할 프로그램의 데이터와 명령어가 저장

- RAM은 전원을 끄면 저장된 내용이 날아가는 휘발성 저장장치

보조기억장치는 전원을 꺼도 내용이 남아있는 비 휘발성 저장장치

 

CPU는 휘발성 저장장치에 접근하여 프로그램을 실행한다. 그리하여 일반적으로 휘발성 저장장치에는 실행할 대상을 저장하고, 비 휘발성 저장장치에는 보관할 대상을 저장한다.

 

 

그렇다면, RAM의 용량은 컴퓨터 성능에 어떤 영향을 미칠까?

 

- RAM용량이 크면 많은 프로그램을 동시에 빠르게 실행하는데에 유리

보조기억장치까지 가는 시간을 줄여주기 때문.

하지만 RAM용량이 어느정도만 커도 된다. 무지막지하게 커도 처리 속도가 따라가지 못하면 속도는 같기 때문.

처리 속도에 따라 RAM용량을 적절히 크게 하는것이 중요.

 

 

RAM의 종류

1) DRAM (Dynamic RAM) : 저장된 데이터가 동적으로 변함. 시간이 지나면 데이터가 점차 사라짐 - 데이터 소멸을 막기 위해 일정 주기로 데이터를 재활성화 해야 함. 

DRAM은 소비전력이 비교적 낮고, 저렴하고, 집적도가 높기 때문에 대용량 설계가 용이하여 일반적으로 우리가 DRAM을 사용함.

 

2) SRAM (Static RAM) : 저장된 데이터가 변하지 않음. DRAM보다 속도도 더 빠름. 하지만 집적도가 낮고 소비전력이 크며 가격도 비싸서 SRAM은 메모리가 아닌 '대용량으로 만들어질 필요는 없지만 속도가 빨라야하는 저장장치'인 캐시 메모리에서 사용됨

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

 

3) SDRAM (Synchronous Dynamic RAM) : SDRAM은 이름만 보면 SRAM과 DRAM의 합성어같지만 SRAM과는 관계가 없는, 클럭신호와 동기화 된 DRAM이다. 여기서 '클럭신호와 동기화 된'이라는 의미는 클럭 타이밍에 맞춰 CPU와 정보를 주고받을 수 있음을 의미한다. 

(클럭은 컴퓨터의 모든 부품을 일사불란하게 움직일 수 있게 하는 시간 단위)

 

4) DDR SDRAM(Double Data Rate SDRAM) : 최근 가장 흔히 사용되는 RAM

대역폭(데이터를 주고받는 길의 너비)를 넓혀 속도를 빠르게 만든 SDRAM이다.

한 클럭에 한번씩 CPU와 데이터를 주고받을 수 있는 양이 많고(두배의 대역 폭), 전송 속도도 빠름.

 

SDR SDRAM : 대역폭 1배

DDR SDRAM : 대역폭 2배

DDR2 SDRAM : 대역폭 4배

DDR3 SDRAM : 대역폭 8배 

DDR4 SDRAM : 대역폭 16배 ->  최근 흔히 사용하는 메모리임.

 

 

 

----------------------------

확인 문제

 

1. RAM에 대한 설명 중 옳지 않은 것은?

1) RAM은 휘발성 저장장치

2) DRAM은 시간이 지나면 점차 데이터가 사라지는 RAM

3) SRAM은 흔히 주기억장치, 즉 메모리로 사용된다 -> X : 캐시메모리로 사용됨

4) RAM이 크면 많은 프로그램을 동시에 빠르게 실행하는데 유리함

 

2.

1) 대역폭을 두배 넓힌 SDRAM = DDR SDRAM

2) 시간이 지나도 저장된 데이터가 사라지지 않는 RAM = SRAM

3) 데이터의 소멸을 막기 위해 일정 주기로 데이터를 재활성화 해야하는 RAM = DRAM

4) 클럭과 동기화 된 DRAM = SDRAM

 

3. SRAM에 대한 설명과 DRAM 에 대한 설명 고르기

1) 주로 캐시메모리로 활용됩니다 -> SRAM

2) 주로 주기억장치로 활용됩니다 -> DRAM

3) 대용량화 하기 유리합니다 -> DRAM

4) 집적도가 상대적으로 낮습니다 -> SRAM

 

4. 빈칸에 알맞은 말 채우기

DDR3 SDRAM은 DDR2 SDRAM에 비해 대역폭이 (2)배 넓은 RAM입니다.

DDR2 SDRAM 은 DDR SDRAM에 비해 대역폭이 (2)배 넓은 RAM입니다.

 

 

----------------------------------------

 

6-2) 메모리의 주소 공간

물리 주소와 논리 주소

물리 주소 : 메모리 하드웨어 상의 실제 주소

논리 주소: 각 프로그램마다 0번지 부터 갖는 주소

 

논리주소를 물리주소로 변환하는 것은 cpu와 주소버스 사이에 위치한 메모리 관리 장치(Memory Management Unit(MMU))라는 하드웨어에 의해 수행됨

 

cpu가 발생시킨 논리 주소에 베이스 레지스터 값을 더하여 논리주소를 물리주소로 변환함

베이스 레지스터 - 프로그램의 가장 작은 첫 물리 주소를 저장

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

 

메모리 보호 기법

논리주소의 영역이 다른프로그램에 침범하면 문제가 생기므로 보호해야 한다.

어떻게?

한계 레지스터를 통해 메모리 주소가 다른 영역에 침범하지 않도록 보호한다.

한계 레지스터값은 프로그램 논리 주소의 크기이며 프로그램 물리 주소 범위는 베이스 레지스터 값 이상, 베이스레지스터 값+한계 레지스터 값 미만이 된다.

 

CPU는 메모리 접근 전에 접근하고자 하는 논리 주소가 한계레지스터보다 작은지 항상 검사를 하고, 만약 범위 밖의 주소에 접근하려고 하면 인터럽트(트랩)을 발생시켜 실행을 중단하여 보호 함.

 

-----------------------------

확인 문제 

1. 주소와 관련된 설명으로 옳은 것은?

정답: 3 -> 프로그램이 실행될 때마다 다른 주소에 적재될 수 있다

 

2. 논리 주소와 물리 주소에 대한 설명으로 옳지 않은 것은?

정답: 3 -> 물리 주소가 아닌, 논리 주소는 모든 프로그램의 시작 주소를 0번지로 간주 함

 

3. MMU에 대한 설명으로 옳은 것은?

정답: 1->MMU는 논리 주소를 물리 주소로 변환해줌

 

4. 논리 주소가 물리 주소로 변환되는 과정으로 옳은 것은?

정답:  CPU ---논리주소---> 논리 주소가 한계레지스터보다 작은가?  ------YES-----> 베이스 레지스터 + 논리 주소 ----물리주소--> 메모리에 프로그램 적재

 

 

------------------------------------

 

 

6-3) 캐시 메모리

CPU의 연산이 아무리 빨라도 CPU가 메모리에 접근하는 시간이 느리면 CPU의 빠른 연산은 아무 쓸모가 없다.

이러한 문제를 극복하기 위한 것이 바로 캐시 메모리.

 

저장 장치 계층 구조

컴퓨터가 사용하는 저장장치들은 CPU에 얼마나 가까운가를 기준으로 계층적으로 나타낼 수 있다. 이를 '저장 장치 계층 구조'라고 한다.

CPU와 가까운 저장장치는 빠르고, 멀리있는 저장장치는 느리며

속도가 빠른 저장장치는 저장 용량이 작고, 가격이 비싸다.

 

CPU가 메모리에 접근하는 속도는 레지스터에 접근하는 속도보다 느리지만, CPU는 프로그램 실행 과정에서 메모리에 빈번하게 접근해야 한다. 이러한 문제를 해결하기 위해 '캐시 메모리'가 있다. 캐시 메모리는 CPU와 메모리 사이에 위치하고 레지스터보다 용량이 크며 메모리보다 빠른 SRAM기반의 저장장치임.

 

CPU를 집으로, 메모리 접근 행위를 물건 사러가는것으로 비유하면 메모리(=주기억장치=RAM)는 물건이 많지만 집과 멀리 떨어져있어 왕복이 오래 걸리는 대형마트, 캐시메모리는 물건이 많지 않지만 집과 가까운 편의점에 비유할 수 있다.

 

 

컴퓨터 내부에는 여러 캐시 메모리가 있으며 CPU(코어)와 가까운 순서대로 L1(Level1), L2, L3 캐시라고 부른다.

캐시 메모리 또한 CPU와 가까운 순서로 빠르고 비싸짐.

 

참조 지역성 원리

캐시 메모리 내 데이터가 CPU에서 활용될 경우 = 캐시 히트

                               ""                      활용되지 않을 경우 = 캐시 미스

 

캐시가 히트되는 비율 = 캐시 적중률 = 캐시 히트 횟수 / (캐시 히트 횟수 + 캐시 미스 횟수)

 

캐시는 참조 지역성의 원리에 따라 메모리로부터 가져올 데이터를 결정한다.

1) CPU는 최근에 접근했던 메모리 공간에 다시 접근하려는 경향이 있다 = 시간 지역성

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

 

이 두가지의 원리가 참조 지역성의 원리임.

 

-----------------------------------

확인 문제

1. 계층 구조 도식도 채우기

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

 

2. 캐시메모리와 관련된 설명 중 옳지 않은 것

정답:4 -> 캐시 적중률이 높으면 캐시 메모리의 성능이 높다.

'Study > 혼자 공부하는 컴퓨터구조+운영체제 정리' 카테고리의 다른 글

9장. 운영체제 시작하기  (0) 2023.02.05
7장. 보조 기억 장치  (0) 2023.01.23
2주차 미션  (0) 2023.01.15
1주차 미션  (0) 2023.01.04
1장 컴퓨터 구조 시작하기  (0) 2023.01.04