직접 매핑이란 무엇입니까?
직접 매핑은 컴퓨터에서 쉽게 액세스 할 수 있도록 정보를 저장하는 방법입니다. 최근에 사용한 정보는 캐시에 저장되므로 다음에 필요할 때 컴퓨터가 정보를 빠르게 찾을 수 있습니다. 컴퓨터 프로그래밍에서, 캐시는 데이터를 쉽게 검색 할 수 있도록 마련된 RAM (random access memory)의 작은 섹션입니다. 직접 매핑을 사용하면 메모리의 각 데이터 조각에 캐시 공간이 할당되고 다른 데이터 조각과 공유됩니다. 새로운 데이터가 필요함에 따라 캐시 데이터는 지속적으로 덮어 쓰기됩니다.
캐시는 여러 줄로 구성됩니다. 각 라인은 하나의 데이터 블록과 데이터의 출처를 식별 할 수있는 태그를 저장할 수있을 정도로 큽니다. 사용자가 데이터를 요청하면 컴퓨터는 먼저 캐시를 검색하여 정보가 있는지 확인합니다. 그렇다면 정보가 사용자에게 반환됩니다. 이를 캐시 적중이라고하며, 원래 위치에서 데이터를 검색하는 것보다 빠릅니다.
캐시 적중을 초래하는 요청의 백분율을 적중률이라고합니다. 사용자가 요청한 데이터가 캐시에 없으면 컴퓨터는 메모리에서 해당 데이터를 찾습니다. 데이터의 사본은 다음에 사용자가 요청할 때 빠르게 찾을 수 있도록 이론적으로 적중률을 높이기 위해 캐시에 저장됩니다. 이 모든 것이 뒤에서 발생합니다. 사용자는 수신 된 데이터가 캐시 또는 메모리에서 온 것인지 알 수 없습니다.
직접 매핑은 메모리 블록이 캐시에 저장 될 위치를 결정하는 한 가지 방법입니다. 각 메모리 블록에는 캐시의 특정 라인이 할당됩니다. 캐시가 메모리보다 작기 때문에 여러 블록이 캐시에서 한 줄을 공유합니다. 새 블록을 써야 할 때 이미 라인이 가득 찬 경우 기존 블록을 덮어 씁니다.
직접 매핑은 캐시를 디자인하는 매우 간단하고 쉬운 방법이지만 몇 가지 문제가 있습니다. 프로그램이 직접 매핑 캐시에서 동일한 라인을 공유하는 여러 데이터 블록에 지속적으로 액세스하는 경우 해당 라인은 자주 다시 작성됩니다. 컴퓨터에 필요한 데이터가 현재 해당 캐시 라인에있는 데이터가 될 가능성이 적기 때문에 많은 누락이 발생합니다. 따라서 직접 매핑은 다른 캐시 매핑 모델보다 적중률이 낮습니다.