다른 캐시의 태그, 인덱스 및 오프셋 비트 수를 계산하는 방법은 무엇입니까?


19

구체적으로 특별히:

1) 각 블록에 8 개의 32 비트 워드가있는 4096 개의 블록 / 라인을 갖는 직접 매핑 된 캐시 . 32 비트 주소를 가정하면 태그 및 색인 필드에 몇 비트가 필요합니까?

2) 1)과 같은 질문이지만 완전히 연관성있는 캐시 ?

내가 틀렸다면 나를 수정하십시오.

태그 비트 = 주소 비트 길이-인덱스 지수-오프셋 지수?

[2 ^ 3 = 8 때문에 오프셋 = 3입니까, 아니면 2 ^ 5 = 32에서 5입니까?]


답변:


20

언급 된 질문은 대답 할 수 없습니다. 워드는 32 비트가되도록 정의하고있다. 시스템이 "바이트 주소 지정 가능"(8 비트 데이터 청크에 액세스 할 수 있음) 또는 "단어 주소 지정 가능"(가장 작은 액세스 가능 청크가 32 비트 임) 또는 "반 단어 주소 지정 가능"인지 여부를 알아야합니다. 액세스 할 수있는 가장 작은 데이터 청크는 16 비트입니다.) 주소의 최하위 비트가 알려주는 내용을 알아야합니다.

그런 다음 아래에서 위로 작업합니다. 시스템이 바이트 주소를 지정할 수 있다고 가정 해 봅시다 .

그런 다음 각 캐시 블록 에는 8 워드 * (4 바이트 / 워드) = 32 = 2 5 바이트가 포함되므로 오프셋 은 5 비트입니다.

직접 매핑 된 캐시 의 인덱스 는 캐시의 블록 수입니다 (이 경우 12 비트, 2 12 = 4096 이므로 ).

그런 다음 태그 는 표시된대로 남은 모든 비트입니다.

캐시는 연관성이 높아지지만 크기는 동일하게 유지되므로 인덱스 비트와 태그 비트가 줄어 듭니다.


yup 그것은 바이트 주소 지정 가능하지만 내가 본 질문은 구체적으로 그것을 언급하지 않았다
compski

3

태그 비트에 대한 공식이 정확합니다.

오프셋이 3 비트인지 5 비트인지는 프로세서가 바이트 (옥텟) 주소 지정 또는 워드 주소 지정을 사용하는지에 따라 다릅니다. DSP 외부에서는 거의 모든 최신 프로세서가 바이트 주소 지정을 사용하므로 바이트 주소 지정 (및 5 개의 오프셋 비트)을 가정하는 것이 안전합니다.


나는 그러한 구별이 있다는 것을 몰랐다. 네, 바이트 어드레싱이다
compski

1
1970 년대 중반 이전에 우리는 "단어"가 가장 작은 주소 지정 가능한 데이터 단위의 크기라고 합리적으로 가정 할 수 있습니다. 단어 위키 백과 페이지 의이 는 재미 있습니다. (당신이 그런 것을 좋아한다면 (내가하는))
방황 논리

1

주제 컴퓨터 시스템의 최종 시험을 배우고 있는데 잠시 동안 구글 에서이 질문을 발견했습니다. 그리고 질문의이 부분은 혼동됩니다 : "각 블록에는 8 개의 32 비트 단어가 있습니다". 단어는 4 바이트 (또는 32 비트)이므로 질문은 "... 각 블록에 8 단어가 있습니다"

대답은-각 블록은 32 바이트 (8 워드)이므로 각 블록의 바이트를 결정하기 위해 5 개의 오프셋 비트가 필요합니다-직접 매핑 => 세트 수 = 블록 수 = 4096 => 12 개의 인덱스 비트가 필요합니다 어떤 세트를 결정

=> 태그 비트 = 32-12-5 = 15

완전 연관성을 위해, 세트 수는 1 => 인덱스 비트 없음 => 태그 비트 = 32-0-5 = 27입니다.


1

완전 연관 캐시에는 인덱스 비트가 없습니다. 인덱스 비트는 블록이 속하는 세트를 고유하게 식별하는 데 사용됩니다. 완전 연관 캐시에서 모든 블록은 기본적으로 동일한 세트의 일부입니다.


-1

전체 연관 맵핑에서 인덱스는 0 = b = s이므로 set = 1이므로 index = log 2에서 1의 로그 = 0 set offset = 바이트 base 2의 블록 크기의 로그이므로 8 = 2 ^ 3 또는 32 = 2 ^ 5 태그 = 32-0-5 = 27 직접 인덱스의 경우 = 2 ^ 12 = 12 오프셋 = 0 비트 태그 = 32-12-0 = 20


나는 이것을 읽는 것이 매우 불가능하다는 것을 안다. 문장 부호를 사용하십시오.
David Richerby
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.