구체적으로 특별히:
1) 각 블록에 8 개의 32 비트 워드가있는 4096 개의 블록 / 라인을 갖는 직접 매핑 된 캐시 . 32 비트 주소를 가정하면 태그 및 색인 필드에 몇 비트가 필요합니까?
2) 1)과 같은 질문이지만 완전히 연관성있는 캐시 ?
내가 틀렸다면 나를 수정하십시오.
태그 비트 = 주소 비트 길이-인덱스 지수-오프셋 지수?
[2 ^ 3 = 8 때문에 오프셋 = 3입니까, 아니면 2 ^ 5 = 32에서 5입니까?]
구체적으로 특별히:
1) 각 블록에 8 개의 32 비트 워드가있는 4096 개의 블록 / 라인을 갖는 직접 매핑 된 캐시 . 32 비트 주소를 가정하면 태그 및 색인 필드에 몇 비트가 필요합니까?
2) 1)과 같은 질문이지만 완전히 연관성있는 캐시 ?
내가 틀렸다면 나를 수정하십시오.
태그 비트 = 주소 비트 길이-인덱스 지수-오프셋 지수?
[2 ^ 3 = 8 때문에 오프셋 = 3입니까, 아니면 2 ^ 5 = 32에서 5입니까?]
답변:
언급 된 질문은 대답 할 수 없습니다. 워드는 32 비트가되도록 정의하고있다. 시스템이 "바이트 주소 지정 가능"(8 비트 데이터 청크에 액세스 할 수 있음) 또는 "단어 주소 지정 가능"(가장 작은 액세스 가능 청크가 32 비트 임) 또는 "반 단어 주소 지정 가능"인지 여부를 알아야합니다. 액세스 할 수있는 가장 작은 데이터 청크는 16 비트입니다.) 주소의 최하위 비트가 알려주는 내용을 알아야합니다.
그런 다음 아래에서 위로 작업합니다. 시스템이 바이트 주소를 지정할 수 있다고 가정 해 봅시다 .
그런 다음 각 캐시 블록 에는 8 워드 * (4 바이트 / 워드) = 32 = 2 5 바이트가 포함되므로 오프셋 은 5 비트입니다.
직접 매핑 된 캐시 의 인덱스 는 캐시의 블록 수입니다 (이 경우 12 비트, 2 12 = 4096 이므로 ).
그런 다음 태그 는 표시된대로 남은 모든 비트입니다.
캐시는 연관성이 높아지지만 크기는 동일하게 유지되므로 인덱스 비트와 태그 비트가 줄어 듭니다.
태그 비트에 대한 공식이 정확합니다.
오프셋이 3 비트인지 5 비트인지는 프로세서가 바이트 (옥텟) 주소 지정 또는 워드 주소 지정을 사용하는지에 따라 다릅니다. DSP 외부에서는 거의 모든 최신 프로세서가 바이트 주소 지정을 사용하므로 바이트 주소 지정 (및 5 개의 오프셋 비트)을 가정하는 것이 안전합니다.
주제 컴퓨터 시스템의 최종 시험을 배우고 있는데 잠시 동안 구글 에서이 질문을 발견했습니다. 그리고 질문의이 부분은 혼동됩니다 : "각 블록에는 8 개의 32 비트 단어가 있습니다". 단어는 4 바이트 (또는 32 비트)이므로 질문은 "... 각 블록에 8 단어가 있습니다"
대답은-각 블록은 32 바이트 (8 워드)이므로 각 블록의 바이트를 결정하기 위해 5 개의 오프셋 비트가 필요합니다-직접 매핑 => 세트 수 = 블록 수 = 4096 => 12 개의 인덱스 비트가 필요합니다 어떤 세트를 결정
=> 태그 비트 = 32-12-5 = 15
완전 연관성을 위해, 세트 수는 1 => 인덱스 비트 없음 => 태그 비트 = 32-0-5 = 27입니다.
전체 연관 맵핑에서 인덱스는 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