● 캐시 메모리 및 메모리 계층성에 대해 설명해 주세요.
- 속도가 빠른 장치와 느린 장치간의 병목현상을 줄이기 위한 메모리
- 메인 메모리에서 자주 사용하는 프로그램과 데이터를 저장해두어 속도를 빠르게 한다.
- 보조기억장치 - 주기억장치 - 캐시에 이르는 메모리 계층구조에서 속도가 가장 빠르다.
● 캐시 메모리는 어디에 위치해 있나요?
- 개념적으로는 cpu와 메인 메모리 사이에 있으며, 실제로는 L1 캐시는 CPU 칩안에 내장되어 있고, L2 캐시는 CPU 회로판에 별도의 칩으로 내장되어 있고, L3 캐시는 CPU에 있을 수도 있고 메인보드에 있을 수도 있다.
● L1, L2 캐시에 대해 설명해 주세요.
- L1 캐시는 CPU가 데이터 사용/참조에 가장 먼저 사용된다. L1 캐시는 보통 8~64KB 정도의 용량으로 CPU가 가장 빠르게 접근하게 되고, 여기서 데이터를 찾지 못하면 L2 캐시 메모리로 넘어간다. L2 캐시 메모리는 용도와 역할은 L1 캐시와 비슷하지만 속도는 그보다 느리다. 일반적으로 64KB~4MB 정도가 사용된다. L1 캐시는 코어마다 보유하고 있고 L2 캐시는 2개의 코어당 1개씩 공유하고 있다.
● 캐시에 올라오는 데이터는 어떻게 관리되나요?
- 캐시가 아무리 CPU에 가깝게 위치하더라도, 데이터가 캐시 내의 어느 곳에 저장되어 있는지 찾기가 어려워 모든 데이터를 순회해야 한다면 캐시의 장점을 잃기 때문에 쉽게 찾을 수 있는 구조가 필요하다. 그래서 캐시에 저장하는 데이터에는 데이터의 주소 등을 기록해둔 태그를 달아둔다. 이러한 태그들의 묶음을 cache Line이라고 한다. 캐시 라인은 다음과 같은 매핑 방법을 사용한다.
● 캐시 메모리의 Mapping 방식에 대해 설명해 주세요.
- Direct Mapping
- 메인 메모리를 일정한 크기의 블록으로 나누어 각각의 블록을 캐시의 정해진 위치에 매핑하는 방식
- 가장 간단하고 구현도 쉽다.
- 하지만 적중률(Hit rate)이 낮아질 수 있다. 또 동일한 캐시 메모리에 할당된 여러 데이터를 사용할 때 충돌이 발생하게 되는 단점이 있다.
- Full Associative Mapping
- 캐시 메모리의 빈 공간에 마음대로 주소를 저장하는 방식
- 저장하는 것은 매우 간단하지만, 원하는 데이터가 있는지 찾기 위해서는 모든 태그를 병렬적으로 검사해야 하기 때문에 복잡하고 비용이 높다는 단점이 있다.
- Set Associative Mapping
- Direct Mapping과 Full Associative Mapping의 장점을 결합한 방식
- 빈 공간에 마음대로 주소를 저장하되, 미리 정해둔 특정 행에만 저장하는 방식
- Direct에 비해 검색 속도는 느리지만 저장이 빠르고 Full에 비해 저장이 느리지만 검색은 빠르다.
- 주로 사용하는 방식
● 캐시의 지역성에 대해 설명해 주세요.
- 지역성이란, 데이터 접근이 시간적, 혹은 공간적으로 가깝게 일어나는 것을 의미한다. 시간적 지역성은 최근에 사용했던 데이터가 재참조될 가능성이 높은 특성이고, 공간적 지역성은 최근에 사용했던 데이터와 인접한 데이터가 참조될 가능성이 높다는 특성이다.
출처
'운영체제' 카테고리의 다른 글
[OS] 가상메모리, 페이징, 세그멘테이션, page fault 질문답변 (0) | 2023.04.07 |
---|---|
[OS] 파일 시스템, i-node, 파일 디스크립터 (0) | 2023.04.03 |
[OS] 메모리 계층구조, 단편화, First fit, Best fit, Worst fit (0) | 2023.03.30 |
댓글