멀티코어와 동기화

메모리 일관성 모델(memory consistency model)이 규정하는 것은?

  1. A캐시 라인의 크기와 세트의 수
  2. B주기억장치 DRAM에 사용하는 트랜지스터의 종류
  3. C어떤 코어가 수행한 여러 주소에 대한 읽기·쓰기가 다른 코어에서 어떤 순서로 보일 수 있는가
정답과 해설 보기

정답: C. 어떤 코어가 수행한 여러 주소에 대한 읽기·쓰기가 다른 코어에서 어떤 순서로 보일 수 있는가

CPU는 성능을 위해 쓰기를 스토어 버퍼에 모아 두거나 읽기를 먼저 수행하는 등, 메모리 동작의 순서를 바꾸는 경우가 있습니다. 하나의 코어 안에서는 결과가 달라지지 않도록 만들어져 있지만, 다른 코어에서는 순서가 바뀌어 보일 수 있습니다. 메모리 일관성 모델은 어떤 순서 변경이 일어날 수 있는지를 규정하며, 프로그래머가 올바른 동기화를 작성하기 위한 약속이 됩니다.

  • A. 그것은 캐시의 구성입니다.
  • B. 회로의 구성 방식과는 관계없습니다.
  • C. 맞습니다. 하드웨어와 프로그래머 사이의 약속입니다.
이 분야 연습하기 분야로 돌아가기

멀티코어와 동기화의 다른 문제

  1. 순차 일관성(sequential consistency)에 대한 설명으로 올바른 것은?
  2. 위의 두 스레드를 서로 다른 코어에서 동시에 실행한다(컴파일러에 의한 재배치는 없다고 가정). 순차 일관성에서는 일어나지 않지만 x86 등의 실제 CPU에서는 일어날 수 있는 결과는?
  3. x86의 메모리 일관성 모델(TSO, Total Store Order)의 특징으로 올바른 것은?
  4. ARM이나 RISC-V(RVWMO)와 같은 약한 메모리 일관성 모델에 대해 올바른 것은?
  5. 메모리 배리어(펜스) 명령의 역할로 올바른 것은?

이 분야의 비교