멀티코어와 동기화
ARM이나 RISC-V(RVWMO)와 같은 약한 메모리 일관성 모델에 대해 올바른 것은?
- A서로 다른 주소에 대한 읽기·쓰기의 많은 순서 변경을 허용하며, 순서가 필요한 곳에는 프로그램에서 배리어 등을 넣는다
- B순서 변경을 일절 허용하지 않으므로 배리어 명령은 존재하지 않는다
- C같은 주소에 대한 읽기·쓰기의 순서조차 보장하지 않는다
정답과 해설 보기
정답: A. 서로 다른 주소에 대한 읽기·쓰기의 많은 순서 변경을 허용하며, 순서가 필요한 곳에는 프로그램에서 배리어 등을 넣는다
약한 모델에서는 의존 관계가 없는 서로 다른 주소에 대한 읽기·쓰기를 하드웨어가 상당히 자유롭게 바꿀 수 있습니다. 회로를 단순하게 하고 성능과 전력 효율을 높이기 쉬운 반면, 다른 코어와 데이터를 주고받을 때는 fence 명령이나 acquire·release 의미를 가진 읽기·쓰기 명령으로 순서를 명시해야 합니다. 고수준 언어에서는 아토믹 변수를 사용하면 컴파일러가 적절한 명령을 생성해 줍니다.
- A. 맞습니다. 하드웨어의 자유도가 높은 만큼 순서 지정은 명시적으로 수행합니다.
- B. RISC-V에도 fence 명령이 있습니다.
- C. 같은 주소에 대한 순서는 일관성(coherency)에 의해 유지됩니다.