>일반적인 문제 >메인 메모리와 캐시 사이의 세 가지 주소 매핑 방법은 무엇입니까?

메인 메모리와 캐시 사이의 세 가지 주소 매핑 방법은 무엇입니까?

青灯夜游
青灯夜游원래의
2021-07-26 13:43:0317288검색

매핑 방법에는 전체 연관 방법, 직접 방법, 그룹 연관 방법의 세 가지가 있습니다. 직접 매핑은 주 메모리 블록을 고유한 캐시 라인에 저장할 수 있으며, 완전 연관 매핑은 주 메모리 블록을 모든 캐시 라인에 저장할 수 있습니다.

메인 메모리와 캐시 사이의 세 가지 주소 매핑 방법은 무엇입니까?

이 튜토리얼의 운영 환경: Windows 10 시스템, Dell G3 컴퓨터.

캐시는 고속 버퍼 레지스터로, CPU와 메인 메모리의 속도 불일치를 해결하는 데 사용되는 중요한 기술입니다.

CPU의 메모리 액세스는 일반적으로 한 번에 한 단어 단위로 읽고 씁니다. CPU가 캐시에 액세스하지 못하면 주 메모리에 저장된 단어 단위를 여러 후속 단어와 함께 캐시로 전송해야 합니다. 이렇게 하는 이유는 후속 메모리 액세스가 캐시에 도달할 수 있도록 하기 위해서입니다.

따라서 메인 메모리와 캐시 사이에서 동시에 교환되는 데이터 단위는 데이터 블록이어야 합니다. 데이터 블록의 크기는 고정되어 있으며 여러 워드로 구성되며, 주 메모리와 캐시의 데이터 블록 크기는 동일합니다.

캐시 메인 메모리 수준에서 달성하는 목표의 관점에서 볼 때, 한편으로는 CPU의 메모리 액세스 속도가 캐시 액세스 속도에 가까워야 하고, 다른 한편으로는 CPU의 메모리 액세스 속도에 제공되는 실행 공간이 사용자 프로그램은 메인 메모리 용량만큼의 저장 공간으로 유지되어야 합니다.

캐시-주 메모리 계층을 사용하는 시스템에서 캐시는 사용자 프로그램에 투명합니다. 즉, 사용자 프로그램은 캐시의 존재를 알 필요가 없습니다. 따라서 CPU가 메모리에 액세스할 때마다 캐시를 ​​사용하지 않는 경우와 마찬가지로 주 메모리 주소를 제공합니다. 그러나 캐시-메인 메모리 계층 구조에서 CPU가 가장 먼저 액세스하는 것은 메인 메모리가 아닌 캐시입니다.

이러한 이유로 CPU의 메인 메모리 액세스 주소를 캐시 액세스 주소로 변환하는 메커니즘이 필요합니다. 메인 메모리 주소와 캐시 주소 간의 변환은 메인 메모리 블록과 캐시 블록 간의 매핑 관계와 밀접한 관련이 있습니다. 즉, 캐시에 대한 CPU 액세스가 누락되면 액세스할 단어가 필요합니다. 블록은 어떤 전략에 따라 캐시로 전송되는데, 이는 메인 메모리 주소와 캐시 주소 간의 대응 관계에 직접적인 영향을 미칩니다. 이는 해결해야 할 메인 메모리와 캐시 간의 주소 매핑 문제입니다. 이 섹션에서.

메인 메모리와 캐시 사이의 주소 매핑 방법에는 전체 연관 방법, 직접 방법, 집합 연관 방법의 세 가지 주소 매핑 방법이 있습니다.

  • 직접 매핑

    메인 메모리 블록을 고유한 캐시 라인에 저장합니다.

  • 완전 연관 매핑

    은 모든 캐시 라인에 메인 메모리 블록을 저장할 수 있습니다.

  • 연관 매핑 설정

    은 고유한 캐시 그룹의 모든 행에 주 메모리 블록을 저장할 수 있습니다.

직접 매핑

다대일 매핑 관계이지만 주 메모리 블록은 캐시의 특정 행 위치에만 복사할 수 있습니다.

캐시 라인 번호 i와 메인 메모리 블록 번호 j는 다음과 같은 기능적 관계를 갖습니다: i=j mod m (m은 캐시의 총 라인 수)

장점: 간단한 하드웨어, 구현 용이

단점 : 적중률이 낮습니다. 캐시의 저장 공간 활용도가 낮습니다

메인 메모리와 캐시 사이의 세 가지 주소 매핑 방법은 무엇입니까?

완전한 연관 매핑

메인 메모리 블록이 캐시의 임의 행에 직접 복사됩니다.

장점: 적중률이 높고, 캐시의 저장 공간 활용도가 높습니다

단점: 라인이 복잡하고 비용이 높으며 속도가 느립니다

메인 메모리와 캐시 사이의 세 가지 주소 매핑 방법은 무엇입니까?

연관 매핑 설정

캐시는 u 그룹으로 나누어지고 각 그룹에는 v 행이 있으며 어떤 그룹이 주 메모리 블록이 저장되는 그룹은 고정되어 있으며 그룹의 어느 행이 유연한지 즉 다음과 같은 기능적 관계가 있습니다. 총 캐시 행 수 m=u×v 그룹 번호 q=j mod u

직접 매핑이 사용됩니다. 그룹 간, 그룹 내에서 완전히 연관됩니다

하드웨어는 상대적으로 간단하고 속도가 빠르며 적중률이 높습니다

메인 메모리와 캐시 사이의 세 가지 주소 매핑 방법은 무엇입니까?

더 많은 관련 지식을 보려면 FAQ 칼럼을 방문하세요!

위 내용은 메인 메모리와 캐시 사이의 세 가지 주소 매핑 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.