PowerPC 어셈블러 머신 및 기타 (Tilera와 같은) 시스템은 메모리 조작이 프로그램 순서 (메모리 순서 문제)로 시스템에 표시 될 수 있다고 보장하지 않는 약한 스토어 주문을 채택합니다. 따라서 이러한 종류의 시스템에서는 명시 적 메모리 배리어 명령어가 동기화 상황에서 필요합니다 ... 이러한 종류의 시스템이 비동기식 (요청 - 응답 구현 없음) 의미를 갖는 저장소 연산을 채택한다면 어떻게 가능합니까?SMP 시스템의 약한 일관성 모델에서 Memory Barrier 명령어는 어떻게 구현됩니까?
0
A
답변
1
일반적으로 Tilera 아키텍처의 저장 작업은 사용자가 설명하는대로 단지 "실행 및 종료"합니다. 그러나 메모리 울타리 명령은 진행하기 전에 캐시가 일관성이 있는지 알아야 할 경우에 제공됩니다. MF 명령은 작성한 캐시 라인을 공유하는 모든 타일로부터 수신 확인을 수신 할 때까지 CPU가 대기하도록합니다. 여기에는 캐시 라인의 홈 타일로 쓰는 타일과 홈 타일에서 해당 캐시 라인을 공유하는 다른 타일로 보내는 요청 및 응답 메시지가 포함됩니다.
단일 스레드 실행에 대한로드 및 저장은 자체에 대해 순서대로 표시됩니다. 멀티 스레딩이 도입되면 동일한 데이터를 사용하는 다른 스레드에서 약한 일관성의 영향을 볼 수 있습니다. – Dko