728x90
가시성
-
파이프라인과 멀티스레드C++/C++ 기타 2022. 10. 25. 22:25
오늘은 파이프라인의 개념에 대해서 간단히 알아보겠습니다. 컴퓨터구조에서 파이프라인 개념의 핵심은 코드의 실행순서가 임의로 바뀔 수 있다는 것입니다. CPU에서는 Fetch Decode Excute Write-Back 의 순서로 명령이 실행 됩니다. 그런데, 실행순서가 바뀌어도 서로 연관이 없는 명령들이라면 순서를 바꿈으로써 속도가 더 빨라질 수 있다면 CPU는 임의로 실행순서를 바꾸기도 합니다. 예를 들어서 int x=5; y=y+1; 과같은 코드는 두 순서를 바꾸어도 아무런 문제가 없습니다. 그래서 필요하다면 순서가 바뀌기도 하는거구요. 이게 싱글스레드 상황에서는 아무런 문제가 발생하지 않습니다. 그런데 멀티스레드 상황이라면 이야기가 달라집니다. int x = 0; int y = 0; int r1 = ..