현대 x86 하드웨어는 단일 바이트를 메모리에 저장할 수 없습니까?
Stroustrup의 저서에서 언급한 내용은 가상 하드웨어의 잠재적인 동작을 언급합니다. 잘 정의된 메모리 모델 그는 이러한 하드웨어가 비원자 업데이트로 바이트 저장소를 구현하여 잠재적으로 이웃 바이트에 영향을 미칠 수 있다고 제안합니다.
실제 최신 하드웨어 동작
그러나 x86을 포함한 최신 하드웨어는 Stroustrup이 설명하는 방식으로 작동하지 않습니다.
역사적 맥락
Stroustrup의 진술은 초기에 바이트 로드/저장 명령을 지원하지 않았던 초기 Alpha AXP 프로세서의 동작을 기반으로 했을 수 있습니다. . 그러나 이후 버전의 Alpha와 모든 최신 CPU는 안전하고 효율적인 바이트 저장소를 지원합니다.
하드웨어 구현
최신 CPU는 일반적으로 메모리 세그먼트를 저장하는 캐시를 사용합니다. 캐시된 시스템에서:
예외
최신 CPU는 원자 바이트 저장소를 제공하지만 특정 상황에서는 예외가 있을 수 있습니다.
결론
실제로 최신 하드웨어는 원자 바이트 저장소를 지원하므로 잠재적인 하드웨어 동작에 대한 Stroustrup의 설명이 실제 시스템과 덜 관련됩니다. C 컴파일러가 제공하는 메모리 모델 보장은 스레드 안전성을 보장하기 위해 최신 하드웨어의 안정적인 동작에 의존합니다.
위 내용은 최신 x86 CPU는 실제로 단일 바이트를 메모리에 원자적으로 저장할 수 없습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!