1

이 값은 32 비트 워드 크기의 MIPS 프로세서이며 주소는 워드로 정렬됩니다.직접 매핑 된 캐시의 누락 율을 계산하십시오.

는 16 워드의 크기 (용량) 및 4- 단어의 블록 크기와 직접 매핑 캐시 미스 비율을 계산한다

문제는 다음과 같다. 처음에는 캐시가 비어 있다고 가정합니다. 다음과 같이 코드는 다음과 같습니다

lw $s0, 0($0) 
lw $s0, 0x10($0) 
lw $s0, 0x20($0) 
lw $s0, 0x30($0) 
lw $s0, 0x40($0) 

나는이 질문에 대한 답변을해야합니까, 그것은 2/5 = 40 %,하지만 난 그게 100 %로 얻을. 내가 뭘 놓쳤는 지 잘 모르겠다. 누구나 실수율을 계산하는 방법에 대한 설명을 제공 할 수 있습니까?

은 여기 내 추론

이 블록 당 4 개 단어 16 단어를 직접 매핑 캐시입니다. 의미는 4 세트, 16/4 = 4입니다. 주소는 워드로 정렬되고 워드 크기는 4 바이트 (32 비트)이므로 주소의 하위 2 비트는 중요하지 않습니다. 블록 당 4 워드가 있기 때문에 다음 2 비트가 블록 오프셋을 결정하는 데 필요하며 4 세트가 있기 때문에 다음 2 비트가 세트 수를 결정하는 데 필요합니다. 남은 것은 태그에 사용됩니다. 블록 크기는 CPU가 주소 0x0으로, 0x4로, 0x8이,에서 0xc에서 4 개 단어를로드 할 필요가 4 개 단어이기 때문에

    ----------------------------------------------------- 
address   | tag | set number | block offset | byte offset | 
        |-----------|------------|--------------|-------------| 
bit number  | 31  6 | 5  4 | 3   2 | 1   0 | 
        ----------------------------------------------------- 

0x0 주소는 0을 설정하는 매핑합니다.

주소 0x10으로는, CPU는 주소 0x10을,하는 0x14, 0x18에서 4 개 단어를로드해야 1.가 0x1c

같은 주소 0x20에 대한 발생

, 0x30에, 및 0x40을 설정하는 매핑합니다. 내가 뭘 놓치고 있니?

도움을 주시면 감사하겠습니다.

+0

맞아요, 나는 단어 어드레싱을 가정합니다. 대답을 넓혀 주시겠습니까? 나는 분명하지 않다. – flashburn

답변

1

귀하의 분석은 주어진 코드에서 모두 누락 될 것이라는 것을 알고 있지만 미스 비율이 의미하는 바는 캐시 누락에 대한 일반적인 확률이라고 생각합니다. 그렇지 않으면 100 %가이 특정 예 (캐시 컨트롤러에 추가 된 "인텔리전스"와 같이 문제의 내용이 누락되지 않는다고 가정)