메모리 계층 구조

캐시를 명령용(I 캐시)과 데이터용(D 캐시)으로 나눈 L1 캐시의 주된 이점은 무엇입니까?

  1. A명령과 데이터가 같은 주소에 놓여도 충돌하지 않게 되어 용량이 2배로 보이기 때문
  2. B명령 인출과 데이터 읽기·쓰기를 같은 클록에 병행하여 수행할 수 있기 때문
  3. C명령은 갱신되지 않으므로 D 캐시를 불필요하게 만들 수 있기 때문
정답과 해설 보기

정답: B. 명령 인출과 데이터 읽기·쓰기를 같은 클록에 병행하여 수행할 수 있기 때문

파이프라인에서는 매 클록 명령을 인출하면서 다른 명령이 데이터를 읽고 씁니다. L1을 명령용과 데이터용으로 나누면 두 접근이 하나의 캐시 포트를 두고 다투지 않고 병행하여 수행할 수 있으며, 각각의 성질에 맞는 구성을 선택할 수도 있습니다. 용량이 2배가 되는 것은 아니며 합계 용량을 나누어 사용합니다. 데이터의 읽기·쓰기는 항상 필요하므로 D 캐시를 불필요하게 만들 수는 없습니다. L2 이후는 명령과 데이터를 공용으로 하는 것이 일반적입니다.

  • A. 합계 용량을 나눌 뿐이며 용량이 2배가 되는 것은 아닙니다.
  • B. 올바릅니다. 명령 인출과 데이터 접근을 병행하여 수행할 수 있습니다.
  • C. 데이터의 읽기·쓰기는 필요하므로 D 캐시가 불필요해지지는 않습니다.
이 분야 연습하기 분야로 돌아가기

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

  1. 페이지 크기 4 KB, 라인 크기 64바이트인 시스템에서 L1 캐시를 가상 인덱스·물리 태그(VIPT) 방식으로 하고, 인덱스와 오프셋을 페이지 내의 비트만으로 구성하고자 합니다. 8-way 세트 연관이라면 캐시 용량은 최대 얼마까지 할 수 있습니까?
  2. L1 캐시에 가상 인덱스·물리 태그(VIPT) 방식이 자주 사용되는 주된 이유는 무엇입니까?
  3. 캐시의 히트 시간이 2사이클, 미스율이 4%, 미스 페널티가 150사이클일 때, 평균 메모리 접근 시간은 몇 사이클입니까?
  4. 캐시가 이상적이라면 평균 CPI가 1.0인 프로세서에서, 명령 하나당 평균 1.3회의 메모리 접근이 있고 그 미스율이 2%, 미스 페널티가 100사이클일 때, 실제 평균 CPI는 얼마입니까?
  5. 논블로킹 캐시(non-blocking cache, 미스를 처리하는 중에도 다른 접근을 받아들이는 캐시)의 주된 이점은 무엇입니까?

이 분야의 비교