답변:
코어는 일반적으로 CPU의 기본 계산 단위입니다. 단일 프로그램 컨텍스트 (또는 Intel CPU의 하이퍼 스레딩과 같은 하드웨어 스레드를 지원하는 경우 여러 개의 컨텍스트)를 실행하여 올바른 프로그램 상태, 레지스터 및 올바른 실행 순서를 유지할 수 있습니다. ALU를 통해 작업을 수행합니다 . 최적화를 위해 코어는 자주 사용되는 메모리 청크의 복사본으로 온 코어 캐시를 보유 할 수도 있습니다.
CPU는 주어진 시간에 작업을 수행하기 위해 하나 이상의 코어를 가질 수 있습니다. 이러한 작업은 일반적으로 OS가 예약하는 소프트웨어 프로세스 및 스레드입니다. OS에는 많은 스레드가 실행될 수 있지만 CPU는 주어진 시간에 X와 같은 작업 만 실행할 수 있습니다. 여기서 X = 코어 수 * 코어 당 하드웨어 스레드 수입니다. 나머지는 현재 실행중인 작업 또는 다른 수단을 선점하여 OS가 예약 할 때까지 기다려야합니다.
하나 이상의 코어 외에도 CPU에는 코어를 외부 세계에 연결하는 일부 상호 연결 및 일반적으로 큰 "마지막"공유 캐시도 포함됩니다. CPU 작동에 필요한 여러 가지 주요 요소가 있지만 정확한 위치는 디자인에 따라 다를 수 있습니다. 메모리, I / O 컨트롤러 (디스플레이, PCIe, USB 등)와 통신하려면 메모리 컨트롤러가 필요합니다. 과거에는 이러한 요소가 보완적인 "칩셋"에서 CPU 외부에 있었지만 대부분의 최신 디자인은 CPU에 통합되었습니다.
또한 CPU에는 통합 GPU가있을 수 있으며, 설계자가 성능, 전력 및 제조 고려 사항을 위해 가까이 유지하기를 원하는 거의 모든 것이있을 수 있습니다. CPU 설계는 주로 SoC ( system on chip) 라고 불리는 추세입니다 .
이것은 대부분의 최신 범용 장치 (클라이언트 PC, 서버 및 태블릿 및 스마트 폰)에서 사용되는 "클래식"디자인입니다. 계산이 기본 "코어와 같은"단위로 수행되지 않는 아카데미에서보다 정교한 디자인을 찾을 수 있습니다.
/proc/cpuinfo
동안 16 processor:
줄이 표시 model: AMD Ryzen 7 2700X Eight-Core Processor
됩니다. 따라서 적어도이 경우에 8 개의 "코어"각각에는 2 개의 "프로세서"가 있으며 여기에는 다른 답변과 상충됩니다.
이미지는 천 단어 이상을 말할 수 있습니다.
* 최신 다중 프로세서, 다중 코어 시스템의 복잡성을 설명하는 그림.
출처:
Open images in new tab
cltr
+
먼저 CPU가 무엇인지, 그리고 중앙 처리 장치 CPU 인 코어가 여러 개의 코어 장치를 가질 수 있음을 명확히하자. 이러한 코어는 자체적으로 프로세서이며 프로그램을 실행할 수 있지만 동일한 칩에 내장되어 있습니다.
과거에는 하나의 CPU가 상당히 많은 칩에 분배되었지만 무어의 법칙이 진행됨에 따라 90 년대 제조업체가 동일한 다이에 더 많은 코어를 장착하기 시작했기 때문에 그들은 하나의 칩 (다이) 안에 완전한 CPU를 갖도록 만들었습니다. 멀티 코어의 개념.
요즘 같은 CPU (칩 또는 다이) GPU 인 Intel Xeon에 수백 개의 코어를 사용할 수 있습니다. 90 년대에 개발 된 다른 기술은 동시 멀티 스레딩 (multi-threading)이었습니다. 기본적으로 그들은 동일한 단일 코어 CPU에 다른 스레드를 가질 수 있다는 것을 발견했습니다. 대부분의 리소스가 이미 ALU, 다중 레지스터와 같이 복제 되었기 때문입니다.
따라서 기본적으로 CPU에는 각각 하나의 스레드 이상을 동시에 실행할 수있는 여러 개의 코어가있을 수 있지만 향후 더 많은 코어가있을 것으로 예상되지만 효율적으로 프로그래밍하기가 더 어려울 수 있습니다.
CPU는 중앙 처리 장치입니다. 2002 년부터 단일 코어 프로세서 만 있습니다. 즉, 한 번에 하나의 작업 또는 프로그램 만 수행합니다.
한 번에 여러 프로그램을 실행하려면 한 번에 여러 프로세스를 실행하기 위해 여러 프로세서를 사용해야하므로이를 위해 다른 마더 보드가 필요했으며 이는 매우 비쌉니다.
따라서 인텔은 하이퍼 스레딩이라는 개념을 도입했습니다. 즉, 단일 CPU를 두 개의 가상 CPU로 변환합니다. 즉, 작업을위한 두 개의 코어가 있습니다. 이제 CPU는 단일이지만 이중 CPU가 있고 여러 작업을 수행하는 것처럼 가장합니다. 그러나 실제 다중 코어를 사용하는 것보다 사람들이 더 나을 것입니다. 따라서 사람들은 단일 코어에 다중 코어 프로세서, 즉 단일 프로세서에서 다중 프로세서를 만드는 것, 즉 단일 CPU에서 다중 CPU를 잡는 것을 개발합니다. 즉 여러 코어.
초기 90 년대 이전과 마찬가지로 프로세서는 여러 작업을 효율적으로 수행 할 수 없었습니다. 단일 프로세서는 단일 작업 만 처리 할 수있었습니다. 바이러스 백신, Microsoft Word, VLC 등 소프트웨어가 모두 동시에 실행되고 있지만 실제로는 그렇지 않습니다. 프로세서가 한 번에 하나의 프로세스를 처리 할 수 있다고 말했을 때 나는 그것을 의미했습니다. 실제로 하나의 작업을 처리 한 다음 해당 작업을 일시 중지하는 데 사용했습니다 ... 다른 작업을 수행하십시오 ... 짧은 작업을 다시 완료하면 다시 완료하고 대기열에 추가 한 다음 다음 작업을 수행하십시오. 그러나 내가 언급 한이 '일시 중지'는 너무 작아서 (약 1ns) 작업이 일시 중지되었음을 이해하지 못했습니다. 예 : 음악을 듣는 동안 vlc에는 동시에 실행되는 다른 앱이 있지만 한 번에 하나의 프로그램 ...
그러나 이것은 오래된 프로세서에 관한 것입니다 ...
오늘날의 프로세서, 즉 3 세대 PC에는 멀티 코어 프로세서가 있습니다. 이제 '코어'를 단일 또는 단일 프로세서에 내장 된 1 세대 또는 2 세대 프로세서와 비교할 수 있습니다. 이제 코어가 무엇인지 이해했습니다. 즉, 프로세서가되기 위해 결합 된 미니 프로세서입니다. 그리고 각 코어는 한 번에 단일 프로세스 또는 OS 용으로 설계된 다중 스레드를 처리 할 수 있습니다. 그리고 단일 프로세서에 대해 위에서 언급 한 것과 동일한 단계를 따릅니다.
예 : i7 6gen 프로세서는 8 개의 코어, 즉 1 개의 i7에 8 개의 미니 프로세서가 있습니다. 즉, 속도는 이전 프로세서의 8 배입니다. 그리고 이것이 멀티 태스킹을 수행하는 방법입니다.
단일 프로세서 Eg에는 수백 개의 코어가있을 수 있습니다. 인텔 i128.
나는 이것을 잘 설명하기를 바랍니다.
Tortuga의 최고 답변에서 볼 수 있듯이 인텔의 사진이 도움이됩니다. 여기에 캡션이 있습니다.
프로세서 : 1950 년대 -2010 년대 경에 하나의 소켓에 장착 된 하나의 반도체 칩, CPU (중앙 처리 장치). 시간이 지남에 따라 더 많은 기능이 CPU 칩에 포함되었습니다. 1950 년대 단일 칩 프로세서가 출시되기 전에 하나의 프로세서가 여러 칩에 퍼져있을 수 있습니다. 2010 년 중반에 시스템 온 칩 (chip-on-a-chip) 칩은 하나의 프로세서를 하나의 칩으로 동일시하는 것이 약간 더 스케치가되었지만 일반적으로 "이 컴퓨터에는 i7 프로세서가 있습니다"또는 "이 컴퓨터 시스템이 있습니다" 프로세서가 4 개 있습니다. "
코어 : CPU의 한 블록으로 한 번에 하나의 명령을 실행합니다. 사람들은 클럭 사이클 당 하나의 명령을 말하는 것을 볼 수 있지만 일부 CPU는 일부 명령에 대해 여러 클럭 사이클을 사용합니다.