본문 바로가기
반응형

CPU2

C++ false sharing이란?(거짓 공유) 1. false sharing 이란?? false sharing은 멀티 쓰레드 환경 + CPU의 멀티 코어에서 발생됩니다. cpu 내부의 코어와 코어간의 메모리 정보가 공유되어 하드웨어 적으로 병목현상이 일어나는 것을 뜻합니다. 설명하기에 앞서 false sharing이 일어난 코드를 보겠습니다.#include #include #include long long num1 = 0;long long num2 = 0;long long num3 = 0;void fun1() { for (long long i = 0; i resultTime = endTime - beginTime; printf("%lld\n", num1 + num2); std::cout  코드는 길어보이지만 간단한 코드 입니다. t.. 2020. 6. 22.
CPU와 메모리 사이의 동작 일반적으로 윈도우에서 프로그램을 실행시키면(.exe) 프로그램은 잘 실행됩니다. 이 프로그램 단위를 컴퓨터 용어로 프로세스(process)라고 합니다. 이 프로그램이 실행되면 주기억장치인 RAM에 올라가는 것이 아니라 가상메모리로 올라가게 됩니다. 이 부분은 여기!에 잘 설명해 놨으니 참고하시길 바랍니다. 그럼 CPU와 RAM 사이에서 데이터를 주고 받으면서 프로그램이 잘 동작하게 됩니다. 여기서 좀 더 자세히 들여다보면 CPU와 RAM 사이를 연결해주는 통로를 버스(BUS)라고 하며, CPU도 ALU, Control Unit, Register Set, Bus interface로 나눌 수 있습니다. 그렇다면!! CPU는 RAM에서 데이터를 가져와 어떻게 처리하는지 살펴보겠습니다. 1. ALU(Arithm.. 2019. 12. 10.
728x90
반응형

스킨편집 -> html 편집에서