캐시매핑에 대해 질문드립니다
383
작성한 질문수 49
안녕하세요? 좋은 강의 감사드립니다
꾸준한 업데이트와 친절한 답변에 정말 감사합니다 ㅠㅠ
캐시 매핑부분에 좀 이해되지 않는 부분이 있어 질문 드립니다.
직접 매핑 부분이 조금 헷갈리는데요
대략적인 방식은 알겠는데, 검색속도가 빠르다는 부분에서 의문이 좀 있습니다
말씀해주신 부분에 의하면, 특정 데이터의 블록이 0이라면 캐시에서 블록이 0인 부분을 확인하면 되기 때문에 속도가 빠르다 라고 말씀해주셨습니다
그런데 이 특정 데이터의 블록이 0이라는 것을 어떻게 확인하나요??
제 생각에는 결국 메모리의 영역까지 가서 원하는 데이터를 찾은다음, 그 데이터의 블록을 확인해야만 캐시메모리에 적재되는 블록을 확인할 수 있을 것 같은데 혹시 제가 잘못 이해한 부분이 있을까요??
*추가로, 수강평이벤트를 확인했는데, 혹시 이력서 첨삭(?)이나 한번 보고 어떤느낌인지 평가를 해주실 수도 있으신가요?
감사합니다!
답변 1
0
안녕하세요 김영빈님 ㅎㅎ
특정 데이터의 블록이 0이라면 캐시에서 블록이 0인 부분을 확인하면 되기 때문에 속도가 빠르다 라고 말씀해주셨습니다
그런데 이 특정 데이터의 블록이 0이라는 것을 어떻게 확인하나요??
>> 이 부분이 bd가 00인 라인에 구성천, 주홍철, 김건우 밖에 못들어간다 부분에서 bd가 00인 것을 확인하는 부분을 말씀하시는건가요?
제 생각에는 결국 메모리의 영역까지 가서 원하는 데이터를 찾은다음, 그 데이터의 블록을 확인해야만 캐시메모리에 적재되는 블록을 확인할 수 있을 것 같은데 혹시 제가 잘못 이해한 부분이 있을까요??
>> 데이터를 찾을 때 >> 캐시 >> 메모리 순으로 확인합니다.
추가로, 수강평이벤트를 확인했는데, 혹시 이력서 첨삭(?)이나 한번 보고 어떤느낌인지 평가를 해주실 수도 있으신가요?
>> 네 피드백드립니다.
감사합니다.
0
>> 이 부분이 bd가 00인 라인에 구성천, 주홍철, 김건우 밖에 못들어간다 부분에서 bd가 00인 것을 확인하는 부분을 말씀하시는건가요?
넵 맞습니다. 어떤식으로 bd가 0인것을 확인할 수 있는지가 궁금합니다.
0
bd가 00, 01인 것은 변수를 캐시메모리에 할당할 때 정해집니다.
그리고 캐시메모리에 "매핑"을 해놓는 것입니다. 이 때문에 확인이라는 작업이 필요없습니다.
00 : 구성천
00 : 주홍철
00 : 김건우로요.
그렇게 한 다음 구성천이 나오면 00 부분의 캐시메모리를 쓰고 그 다음 또 주홍철이 나오면 스와핑이 일어나면서 해당 자리에 주홍철이 들어가게 되는 것입니다.
Q. 제 생각에는 결국 메모리의 영역까지 가서 원하는 데이터를 찾은다음, 그 데이터의 블록을 확인해야만 캐시메모리에 적재되는 블록을 확인할 수 있을 것 같은데 혹시 제가 잘못 이해한 부분이 있을까요??
>> 일단 데이터가 아니라 변수로 용어를 바꿀게요. 변수를 메모리에 할당할 때 이미 매핑이 되어있고 해당 변수를 쓸 때 해당 매핑되어있는 블록을 쓰게 되는 것입니다. 따라서 찾는 과정은 일어나지 않습니다.
사실 이 찾는다는 과정이라는 용어가 좀 애매하긴 해요. 자료구조적으로 생각해보면 찾는다는게 맞거든요. 예를 들어 map이란 자료구조에 00 : 홍철 이렇게 key, value 형태로 할당한 뒤 map[00] 을 통해 key를 통해 홍철이라는 값을 추출할 수 있거든요.
이게 O(logN) 정도의 시간복잡도가 걸립니다. 맵은 레드블랙 트리라는 자료구조를 써서 구현이 되어있고 이는 탐색, 삽입, 삭제, 수정에 O(logN)의 시간복잡도가 걸리거든요.
하지만, 운영체제에서 캐시매핑 - 직접매핑을 설명할 때 자료구조를 기반으로 설명하지는 않습니다. 매핑을 해놓고 해당 자리에 맞는 변수를 그저 참조한다는게 올바른 설명인 것같아요. 즉, 주홍철, 구성천이 들어올 때 그 변수에 맞는 자리인 00에 계속해서 들어간다고 생각하시면 될 것같아요.
감사합니다.
안녕하세요 선생님, API 실습 2 강의를 듣다 궁금한 점이 생겨 질문 드립니다.
0
545
2
JSON으로 사이트맵
0
491
1
브라우저 렌더링 부분 교재 관련 질문입니다!
0
464
2
교제를 따로 사야하나요?
0
1965
1
클라우드 아키텍쳐에서 토폴로지 설계
1
707
1
로컬스토리지, 세션 스토리지 용량 초과하면 어떻게 되나요?
0
1545
1
학습 순서가 정해져있는건지 궁금합니다.
0
514
1
TCP/IP 4계층, OSI 7계층에 대해 질문드립니다.
0
959
1
서브넷마스크 할당 퀴즈가 헷갈립니다
1
469
1
Linked List의 시간 복잡도에 대한 질문입니다
0
481
1
HTTP 메서드 #1. 질문있습니다.
0
512
1
jwt 토큰
0
749
1
해당 질문에 대한 답변 예시 중에 제가 본 것 중 제일 고품질이네요
0
432
2
UDP의 고정길이에 대하여 질문이 있습니다.
0
313
1
팩토리 패턴의 의존성 주입과 관련해서 질문이 있습니다!
0
690
1
질문 잇워오
0
384
1
안녕하세요 axios DIP 사례의 화살표가 잘 이해가 되지 않아 질문드립니다
0
309
1
동적배열 질문있어요
0
239
1
책과 강의 교안.. 어떤 것에 비중을 두어야 하나요?
0
491
1
HTTP3 UDP통신
0
974
1
[오탈자 문의]
0
262
1
attribute, field, property의 명확한 차이점이 궁금합니다.
1
1414
1
싱글톤 패턴에서 정적 멤버 방식과 정적 블록 방에서 정적 블록 방식은 final이 없는 이유
0
336
1
Json이 프로그래밍 언어와 플랫폼에 독립적인 이유가 뭔가요?
0
433
1





