직접 매핑된 캐시: 주소 분해를 결정하는 방법

직접 매핑된 캐시: 주소 분해를 결정하는 방법

32비트 주소 지정 가능 메모리와 4kib 직접 매핑 캐시가 있다고 가정해 보겠습니다. 캐시의 모든 항목(라인)이 고유한 단어(32비트)로 구성되어 있다고 가정해 보겠습니다.

4*2^10바이트 / 4 = 2^10 단어 = 2^10줄이므로 인덱스 크기는 10비트라고 추론할 수 있습니다.

이제 한 줄에 하나의 단어만 있으므로 오프셋 필드가 필요하지 않다고 가정합니다. 따라서 캐시의 주소는 다음과 같이 분해됩니다.

  • 비트 0 ~ 9: 인덱스
  • 비트 10~31: 레이블

내 논리가 어떻게 든 잘못 되었나요?

답변1

32비트 값은 4바이트이고 각 바이트는 개별적으로 액세스될 수 있으므로 오프셋에 2비트가 필요합니다. 따라서 오프셋은 0,1,2 또는 3이 될 수 있습니다.

따라서 주소는 직접 매핑된 캐시에 의해 다음과 같이 분해됩니다.

  • 비트 0~1: 오프셋
  • 비트 2~11: 인덱스
  • 비트 12~31: 라벨

답변2

캐시 라인은 일반적으로 64바이트이며 오프셋 비트 0-6은 라인에서 바이트를 선택합니다.

관련 정보