인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

안농은만나면안농님의 프로필 이미지

작성한 질문수

CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조

캐시 #2. 캐시매핑 : 직접매핑, 연관매핑, 집합 - 연관매핑 ★★★

직접 매핑 교제 설명

해결된 질문

작성

·

64

0

교재 설명

직접 매핑(direct mapping)이란 메모리의 특정 블록은 특정 캐시 라인에만 매핑할 수 있는 것을 말합니다.

예를 들어 메모리가 A개의 페이지, 캐시가 B개의 페이지로 구성된다고 했을 때 메모리의 페이지 수 A를 B개로 나누는 것이죠. 이렇게 되면 메모리의 페이지의 수는 B * 블록의 수가 됩니다. 메모리가 1~100이 있고 캐시가 1~5이 있다면 1:1~20, 2:21~40… 이런 식으로 매핑하는 것을 말합니다.

 

메모리의 페이지 수 A를 B개로 나누는 것이죠.

-> 갑자기 왜 나누는 것인가요?

 

이렇게 되면 메모리의 페이지의 수는 B * 블록의 수가 됩니다.

-> 나누는 것이 메모리의 페이지 수랑 어떤 관련이 있는 건가요?

 

영상에서의 설명은 이해가 되는데, 교재의 설명은 어떤 의미인지 이해가 안 됩니다.

답변 2

0

큰돌님의 프로필 이미지
큰돌
지식공유자

안녕하세요 안농님 ㅎㅎ

 

"메모리의 페이지 수 A를 B개로 나눈다"

->

캐시는 메인 메모리보다 작기 때문에, 메인 메모리의 블록들 중 일부만 캐시에 저장할 수 있습니다. 직접 매핑에서는 메인 메모리의 각 블록이 캐시의 특정 위치(캐시 라인)에만 저장될 수 있도록 제한됩니다.

메모리가 1~100이 있고 캐시가 1~5이 있다면 1:1~20, 2:21~40… 이런 식으로 매핑하려면 -> 먼저 나눠서 어떤 메모리 블록이 어느 캐시 라인에 들어갈지를 결정해야 합니다.

이렇게 되면 메모리의 페이지의 수는 B * 블록의 수가 됩니다.

-> 메모리가 100, 캐시가 5의 크기를 가진다면 메모리의 페이지수는 5 * 20이 되고 여기서 20개의 메모리의 페이지가 5개의 캐시에 각각 매핑된 상태라는 의미입니다.

 

감사합니다.

0

인프런 AI 인턴님의 프로필 이미지

안녕하세요, 인프런 AI 인턴입니다. 안농은만나면안농님의 질문에 대해 유사 질문을 찾아보았습니다. 질문하신 “직접 매핑”에 대한 설명과 유사한 내용을 다루고 있는 질문이 있어, 이에 대한 기존 답변을 참고하시면 도움이 될 것 같습니다.

기존에 다른 수강생도 캐시 매핑, 특히 직접 매핑에 대해 질문한 바 있습니다. 다음의 링크에서 해당 질문과 지식공유자의 답변을 확인할 수 있습니다.

지식공유자가 제공한 답변에서는 직접 매핑의 개념을 설명하며, 검색 속도가 빠른 이유와 특정 데이터의 블록 번호를 어떻게 확인하는지에 대한 설명이 포함되어 있습니다. 직접 매핑은 데이터의 위치를 빠르게 찾을 수 있게 해주는 메커니즘이며, 메모리와 캐시 사이의 데이터 이동을 보다 효과적으로 관리합니다.

그러나 안농은만나면안농님의 질문은 교재의 설명에 대한 구체적인 혼란을 나타내고 있어, 제공된 링크 외에도 추가적인 설명이 필요할 수 있습니다. 직접 매핑에서 메모리의 페이지 수와 캐시의 페이지 수를 나누는 것은 캐시 공간이 제한되어 있기 때문에 메모리의 데이터를 적절히 배치하고, 효율적으로 접근하기 위한 방법입니다. 전체 메모리를 캐시에 저장할 수 없기 때문에, 효과적인 매핑 방법을 통해 필요한 데이터를 캐시에서 빠르게 찾을 수 있도록 합니다.

직접 매핑에서는 메모리 주소를 캐시의 크기로 나누어 캐시 라인에 저장될 위치를 결정합니다. 이렇게 하면 각 메모리 블록이 특정 캐시 라인에만 매핑될 수 있기 때문에, 주소를 기준으로 데이터의 존재 유무를 빠르게 확인할 수 있습니다. 그러나 이 과정에서 생기는 질문과 혼란은 해당 세부 메커니즘과 수학적인 이해를 필요로 합니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.