CPU와 아키텍처

현재 많은 CPU에서 사용하는 캐시 라인(캐시 블록)의 크기로 일반적인 것은?

  1. A1바이트
  2. B64바이트
  3. C64 MB
정답과 해설 보기

정답: B. 64바이트

많은 CPU는 캐시와 주기억장치 사이의 데이터를 64바이트 라인 단위로 주고받습니다. 가까운 주소의 데이터는 연속해서 쓰이는 경우가 많으므로(공간적 지역성) 한꺼번에 가져오면 효율이 좋고, DRAM의 버스트 전송(DDR4에서 8회 × 8바이트 = 64바이트)과도 맞습니다. 멀티스레드 프로그램에서는 서로 다른 변수가 같은 라인에 있으면 경합이 일어나는 「거짓 공유」에 주의해야 합니다.

  • A. 1바이트씩으로는 주기억장치와의 입출력 효율이 나빠집니다.
  • B. 정답입니다. 64바이트가 일반적입니다.
  • C. 64 MB는 캐시 전체 용량의 자릿수이며 라인의 크기가 아닙니다.
이 분야 연습하기 분야로 돌아가기

CPU와 아키텍처의 다른 문제

  1. 파이프라인에서 앞선 명령어의 결과를 다음 명령어가 곧바로 사용할 때(데이터 해저드), 레지스터에 쓰기를 기다리지 않고 연산 결과를 곧바로 다음 명령어에 전달하는 기법은?
  2. 리틀 엔디언의 설명으로 올바른 것은?
  3. 하나의 CPU 코어에서 여러 스레드의 명령어를 동시에 처리하여 코어 내 연산기 등을 효율적으로 사용하는 기술은?
  4. 마이컴 등에서 주변기기의 레지스터를 메모리와 같은 주소 공간에 할당하고 일반적인 메모리 읽기/쓰기 명령어로 조작하는 방식은?
  5. 마이컴에 탑재되는 워치독 타이머의 역할로 올바른 것은?

이 분야의 비교