본문 바로가기
BestSu

[동적교과] C프로그래밍활용과 메모리 이해 10주차 Quiz

by 수짱수짱 2022. 8. 9.

작성날짜: 2021/01/30


- 캐시메모리를 사용할때 생길 수 있는 이득을 논의해보자.

캐시 메모리란 CPU의 처리속도와 주기억장치DRAM의 접근 속도 차이를 줄이기 위해 사용하는 고속 Buffer 메모리이다. DRAM은 CPU와의 성능 차이가 나기 때문에 CPU의 성능을 최대로 발휘하지 못하게 된다. 이를 방지하기 위해 CPU와 DRAM(주기억장치) 사이에 CPU보다는 느리지만 주기억장치보다는 빠른 캐시 메모리를 두고 이러한 현상을 방지한다.


- 캐시메모리에 사용되는 다양한 교체 알고리즘(replacement policy)를 2가지 이상 조사해보자.

LRU(Least Recently Used)

캐시 내에서 가장 오랫동안 참조되지 않은 블록을 교체한다. 구현이 단순하여 가장 널리 사용되는 알고리즘이다.

LFU(Least Frequency Used)

가장 적게 참조되었던 블록을 교체하는 방식이다.

FIFO(Fisrt in First Out) ex)큐. 선입선출

캐시 내에서 가장 오랫동안 있던 블록을 먼저 교체하는 방식이다.

Random

교체 될 *페이지를 임의로 선정하는 방식이다. *오버헤드가 적은 방식이다.

SCR(Second Chance Replacement)

최초 참조 비트 1로 셋팅, 1인 경우 0으로 셋팅. 0인 경우 교체하고 기회를 한 번 더 가진다.

Optimal

향후 가장 참조되지 않을 페이지를 교체하는 방식이다. 실현이 불가능하다.

페이지

주기억 장치의 물리적 용량을 구분하는 단위이다.

주기억 장치와 보조 기억장치 사이의 전송 단위이며 한 페이지는 물리적 기억 장치의 한 블록에 해당한다. 1kb, 2kb, 4kb의 크기를 가진다. 즉, 한 페이지 = 한 블록

오버헤드

운영 체제가 시스템을 관리하는 데에 필요로 하는 CPU타임이나 메모리 용량


 

- 메인메모리로 사용되는 DRAM의 리프레시(refresh)동작은 무엇이며 이 동작은 왜 필요한지 조사해보자.

DRAM은 휘발성 메모리이기 때문에 저장된 데이터를 보존하기 위해 리프레쉬 작업이 필요하다. DRAM은 각 셀마다 구성된 축전기에 전하를 저장하여 데이터를 기록한다. 이것은 시간이 지남에 따라 축전기 안의 전하량이 줄어들며 데이터가 지워지게된다. 전하량을 일정 수준으로 채우고 기억하는 과정을 리프레쉬 과정이라고 한다. 이 과정이 있기 때문에 전원이 켜져있는 상태에서 DRAM은 데이터를 기억할 수 있다.

리프레쉬 작업이란 메모리 칩안에 있는 메모리 셀의 재충전 작업이다. 한 번에 한 열의 메모리 셀이 충전될 수가 있는데 (일반적으로 한번의 리프레쉬 사이클마다 한 열이 충전) "리프레쉬 비율"이라는 말은 전체 DRAM 배열을 리프레쉬를 시키는데에 있어 필요한 메모리 배열의 열 갯수를 말하는 것이다. 여기서 "리프레쉬 사이클"은 한 메모리의 열, 혹은 전체 DRAM 배열을 리프레쉬시키는 데에 걸리는 시간이다.