답변:
여러 개의 프로세서를 사용하면 한 번에 두 가지 작업을 수행하는 대신 실제로 두 작업을 매우 빠르게 교환하는 대신 컴퓨터에서 문자 그대로 두 가지 작업을 수행 할 수 있습니다.
여러 코어가 동일합니다. 여러 프로세서에 비해 여러 코어의 장점은 CPU의 일부 비트 (예 : 두 번째 수준 캐시)를 공유하여 공유 데이터가있는 경우 더 효율적으로 작동 할 수 있다는 것입니다. 따라서 제조 비용이 훨씬 저렴합니다. 단일 듀얼 코어 CPU는 2 개의 단일 코어 CPU보다 적은 공간을 차지합니다. 요즘 모든 사람들이 랩톱으로 이동하는 데 중요한 요소입니다.
약간의 성능 차이가있을 수 있지만 눈치 채지 못할 것입니다.
Wikipedia에서 멀티 코어 및 멀티 스레드 기사로 시작해야합니다 .
음, 그것은 수직이 아닌 수평으로 확장하는 것입니다. 예전에는 CPU를 더 빠르고 더 빠르게 만들었습니다. 시간이 지남에 따라 CPU 속도는 수 메가 헤르츠에서 최고 3 기가 헤르츠 범위의 초고속으로 증가했습니다. 그러나 3 기가 헤르츠 속도에 도달했을 때 CPU 제조업체는 단일 CPU 코어에서 속도를 얼마나 멀리 떨어 뜨릴 수 있는지에 대한 한계를 발견했습니다.
이러한 속도 경쟁이 진행되는 동안 서버 및 CGI 렌더 팜과 같이 더 많은 전력이 필요한 애플리케이션의 경우 멀티 소켓 CPU 마더 보드가 도입되었습니다. 이를 통해 마더 보드에 둘 이상의 CPU (보통 2 개)를 배치 할 수있었습니다. 한 번에 여러 CPU를 사용할 수있는 운영 체제는이 두 CPU에로드를 분산시켜이 기능을 이용하는 소프트웨어를 실행할 수 있으므로 실행 속도가 향상됩니다.
현재로 빨리 감기. CPU 속도 제한에 어느 정도 도달하고 수직으로 확장하는 대신 (더 빠르게) CPU 제조업체는 단일 칩에 여러 코어를 배치하여 수평으로 확장하기 시작했습니다. 현재 듀얼 코어 칩은 매우 일반적이며 곧 쿼드 코어가 표준이 될 것입니다. 이제 단일 마더 보드에 2 개의 쿼드 코어를 배치했다고 가정하십시오. 이는 운영 체제가 약 3 기가 헤르츠에서 실행되는 8 개의 CPU에 액세스 할 수 있음을 의미합니다.
멀티 코어 CPU 외에 '하이퍼 스레딩'이라는 기술을 사용하는 '가짜'듀얼 코어 CPU도 있습니다. 하이퍼 스레딩을 사용하면 실제로 하나의 실제 코어 만있는 경우 CPU가 두 개의 CPU 존재를 에뮬레이트합니다. CPU는 특정 방식으로 명령을 예약하여 일반적으로 작동 중지 시간을 사용하는 방법을 알고있어 효율성을 높입니다.
소프트웨어 개발 관점에서 보면 차이가 거의 없습니다.
잘못 작성된 다중 스레드 응용 프로그램은 실수로 다중 코어 프로세서에서 작동하지만 다중 프로세서 마더 보드에서는 작동하지 않을 수 있지만 그에 비해 너무 많은 수면을 잃지 않을 것입니다. 서면 소프트웨어.
사용 가능한 동일한 코어 수 (예 : 1x 4 코어 프로세서 대 2x 2 코어 프로세서)에 대한 두 시나리오의 주요 차이점은 다중 프로세서 시나리오의 경우 일반적으로 더 큰 집계 메모리가 있다는 것입니다 대역폭. 즉, 메모리를 많이 사용하는 워크로드에 대해서는 후자를 사용하는 것이 좋습니다. 그러나 잠금 프리미티브는 실제로 하드웨어 구현에 따라 약간 느려질 수 있으므로 많은 동기화를 사용하는 알고리즘은 실제로 더 느리게 수행 될 수 있습니다.
그럼에도 불구하고 나는 그 차이에 대해 너무 걱정하지 않을 것입니다.이 차이가 중요한 영역에서 일하면 이미 그 사실에 대해 알고있을 것입니다 (도메인 특정 지식).