메모리 계층 구조

라인 크기 64바이트, 세트 수 64인 캐시에서 주소 0x1234의 데이터가 들어가는 세트 번호는 무엇입니까?

  1. A4
  2. B52
  3. C8
정답과 해설 보기

정답: C. 8

오프셋은 64 = 2⁶ 이므로 하위 6비트이고, 인덱스는 세트 수 64 = 2⁶ 이므로 그 위의 6비트입니다. 0x1234 = 4660을 64로 나누면 4660 ÷ 64 = 72 나머지 52이므로 라인 번호는 72입니다. 세트 번호는 라인 번호를 세트 수로 나눈 나머지이며, 72 mod 64 = 8이 됩니다. 52는 64로 나눈 나머지로, 라인 내 위치(오프셋)를 나타내는 값입니다. 4는 주소의 16진수 마지막 한 자리를 꺼냈을 뿐인 값으로, 세트와는 관계가 없습니다.

  • A. 4는 16진수의 마지막 한 자리이며 세트와는 관계가 없습니다.
  • B. 52는 라인 내 위치(오프셋)입니다.
  • C. 올바릅니다. 라인 번호 72를 64로 나눈 나머지인 8입니다.
이 분야 연습하기 분야로 돌아가기

메모리 계층 구조의 다른 문제

  1. 같은 라인에 여러 번 쓰는 처리에서 라이트 스루 방식보다 라이트 백 방식이 유리한 주된 이유는 무엇입니까?
  2. 가장 오랫동안 사용되지 않은 것을 쫓아내는 LRU에 대해, 앞으로 가장 오랫동안 사용되지 않을 것을 쫓아내는 방식(최적 교체, OPT)에 대한 설명으로 올바른 것은 무엇입니까?
  3. 캐시의 용량을 크게 하면 일반적으로 히트 시간이 어떻게 됩니까? 그 이유와 함께 올바른 것은 무엇입니까?
  4. 위의 연결 리스트를 따라가는 처리가, 같은 수의 요소를 가진 배열을 차례로 읽는 것보다 훨씬 느려지기 쉬운 이유는 무엇입니까?
  5. 한 번의 미스로 64바이트 라인을 읽고 주기억장치의 대기 시간이 100 ns일 때, 동시에 처리할 수 있는 미스가 하나뿐이면 읽기 대역폭은 약 0.64 GB/s에 그칩니다. 동시에 10개의 미스를 처리할 수 있다면 대역폭은 대략 얼마가 됩니까? (다른 제약은 없다고 가정합니다)

이 분야의 비교