개인용 컴퓨터가 처음 발명되었을 때 중앙 처리 장치 (CPU)는 단독으로 서서 하나의 프로세서 코어 만있었습니다. 프로세서 자체 가 핵심 이었습니다 . 멀티 코어 프로세서를 사용한다는 아이디어는 아직까지 들어 본 적이 없습니다. 오늘날, 컴퓨터, 전화 및 여러 개의 코어가있는 기타 장치를 보는 것은 드문 일이 아닙니다. 실제로 모든 종류의 상용 컴퓨터에는 여러 개의 코어가 있습니다. 이러한 코어는 동일한 단일, CPU 또는 중앙 처리 장치에 있습니다.
여러 개의 코어를 갖는 것이 큰 장점입니다. 하나의 코어 만 있으면 컴퓨터는 한 번에 하나의 작업 만 수행 할 수 있으며 다른 작업으로 이동하기 전에 작업을 완료해야합니다. 그러나 코어가 많을수록 컴퓨터는 한 번에 여러 작업을 수행 할 수 있으며, 이는 많은 멀티 태스킹을 수행하는 사람에게 특히 유용합니다.
멀티 코어 프로세서의 작동 방식에 대해 자세히 알아보기 전에 프로세싱 기술의 배경에 대해 조금 이야기하는 것이 중요하며, 그 후에 멀티 코어 프로세서의 기능에 대해 논의 할 것입니다.
일부 역사
여러 개의 코어가있는 프로세서를 구축하기 전에 Intel 및 AMD와 같은 사람과 회사는 여러 개의 CPU가있는 컴퓨터를 구축하려고했습니다. 이것은 하나 이상의 CPU 소켓이있는 마더 보드가 필요하다는 것을 의미했습니다. 다른 CPU 소켓에 필요한 물리적 하드웨어로 인해 비용이 더 많이 들었을뿐만 아니라 두 프로세서간에 발생하는 통신 증가로 인해 대기 시간이 늘어났습니다. 마더 보드는 단순히 모든 데이터를 프로세서로 보내는 대신 컴퓨터에서 완전히 분리 된 두 위치로 데이터를 분할해야했습니다. 실제 거리는 실제로 프로세스가 느리다는 것을 의미합니다. 이러한 프로세스를 여러 개의 코어가있는 하나의 칩에 배치하면 이동 거리가 줄어들뿐만 아니라 다른 코어가 특히 무거운 작업을 수행하기 위해 리소스를 공유 할 수 있습니다. 예를 들어 인텔의 펜티엄 II 및 펜티엄 III 칩은 하나의 마더 보드에 두 개의 프로세서가있는 버전으로 구현되었습니다.
얼마 후 프로세서는 더욱 강력해야했기 때문에 컴퓨터 제조업체는 하이퍼 스레딩이라는 개념을 생각해 냈습니다. 이 개념 자체는 인텔에서 나 왔으며 2002 년 회사의 Xeon 서버 프로세서와 Pentium 4 데스크탑 프로세서에서 처음 고안되었습니다. 하이퍼 스레딩은 오늘날 프로세서에서 여전히 사용되고 있으며 인텔의 i5 칩과 i7 칩의 주요 차이점이기도합니다. 기본적으로 프로세서에 종종 사용되지 않는 리소스가 있다는 사실을 이용합니다. 특히 작업에 많은 처리 능력이 필요하지 않은 경우 다른 프로그램에 사용할 수 있습니다. 하이퍼 스레딩을 사용하는 프로세서는 기본적으로 두 개의 코어가있는 것처럼 운영 체제에 나타납니다. 물론, 실제로는 2 개의 코어가 없지만, 이용 가능한 처리 능력의 절반 이하를 사용하는 2 개의 프로그램의 경우, 2 개의 코어가있을 수 있습니다. 프로세서가 제공해야합니다. 그러나 하이퍼 스레딩은 코어를 사용하여 두 프로그램간에 공유 할 처리 성능이 충분하지 않은 경우 코어가 2 개인 프로세서보다 약간 느립니다.
하이퍼 스레딩에 대한 간단하고 자세한 설명을 제공하는 통찰력있는 비디오를 여기에서 찾을 수 있습니다.
멀티 프로세서
많은 실험을 거친 후 여러 개의 코어가있는 CPU를 마침내 구축 할 수있었습니다. 이것은 하나의 단일 프로세서가 기본적으로 하나 이상의 처리 장치를 가졌다는 것을 의미했습니다. 예를 들어, 듀얼 코어 프로세서에는 2 개의 처리 장치가 있고 쿼드 코어에는 4 개가 있습니다.
그렇다면 왜 회사는 여러 개의 코어를 가진 프로세서를 개발 했습니까? 더 빠른 프로세서에 대한 요구가 점점 더 분명해졌지만 단일 코어 프로세서의 개발 속도가 느려졌습니다. 1980 년대부터 2000 년대까지 엔지니어들은 처리 속도를 몇 메가 헤르츠에서 몇 기가 헤르츠로 높일 수있었습니다. Intel 및 AMD와 같은 회사는 트랜지스터의 크기를 줄임으로써 동일한 크기의 공간에서 더 많은 트랜지스터를 허용함으로써 성능을 향상시킴으로써이를 수행했습니다.
프로세서 클럭 속도는 칩에 장착 할 수있는 트랜지스터 수와 매우 관련이 있기 때문에 트랜지스터 축소 기술이 느려지기 시작하면 프로세서 속도의 개발도 느려졌습니다. 기업이 멀티 코어 프로세서에 대해 처음 알았을 때가 아니라 상업적인 목적으로 멀티 코어 프로세서를 실험하기 시작했습니다. 멀티 코어 프로세서는 1980 년대 중반에 처음 개발되었지만 대기업 용으로 설계되었으며 싱글 코어 기술이 느려질 때까지 실제로 다시 방문하지 않았습니다. 첫 번째 멀티 코어 프로세서는 Rockwell International에서 개발했으며 하나의 칩에 두 개의 6502 프로세서가있는 6501 칩 버전입니다 (자세한 내용은 여기 Wikipedia 항목 참조).
멀티 코어 프로세서는 무엇을합니까?
글쎄, 정말 간단합니다. 여러 개의 코어를 사용하면 여러 작업을 한 번에 수행 할 수 있습니다. 예를 들어, 이메일 작업, 인터넷 브라우저 열기, Excel 스프레드 시트 작업 및 iTunes에서 음악 듣기 등을 수행하는 경우 쿼드 코어 프로세서가이 모든 작업을 한 번에 수행 할 수 있습니다. 또는 사용자에게 즉시 완료해야하는 작업이있는 경우 작고 처리하기 쉬운 작업으로 나눌 수 있습니다.
여러 코어를 사용하는 것도 여러 프로그램으로 제한되지 않습니다. 예를 들어, Chrome은 각각의 새 페이지를 다른 프로세스로 렌더링하므로 여러 코어를 한 번에 활용할 수 있습니다. 그러나 일부 프로그램은 단일 스레드라고하며 여러 코어를 사용할 수 있도록 작성되지 않았으므로 그렇게 할 수 없습니다. 하이퍼 스레딩이 다시 작동하여 Chrome이 하나의 실제 코어에서 두 개의 "논리적 코어"로 여러 페이지를 보낼 수 있습니다.
멀티 코어 프로세서 및 하이퍼 스레딩과 손을 잡는 것은 멀티 스레딩이라는 개념입니다. 멀티 스레딩은 본질적으로 운영 체제가 코드를 가장 기본적인 형태 또는 스레드로 분할하고 다른 코어에 동시에 공급함으로써 여러 코어를 활용할 수있는 기능입니다. 물론 이것은 멀티 코어 프로세서뿐만 아니라 멀티 프로세서에서도 중요합니다. 멀티 스레딩은 프로그램이 계속 효율적으로 실행될 수있는 방식으로 운영 체제에서 코드를 올바르게 주문해야하므로 소리보다 복잡합니다.
운영 체제 자체는 자체 프로세스와 유사한 작업을 수행합니다. 응용 프로그램에만 국한되지 않습니다. 운영 체제 프로세스는 사용자가 반드시 알 필요없이 운영 체제가 항상 백그라운드에서 수행하는 작업입니다. 이러한 프로세스가 항상 진행되고 있기 때문에 하이퍼 스레딩 및 / 또는 다중 코어를 사용하면 프로세서가 앱에서 발생하는 것과 같은 다른 작업을 수행 할 수있게되므로 매우 유용 할 수 있습니다.
멀티 코어 프로세서는 어떻게 작동합니까?
먼저, 마더 보드와 운영 체제는 프로세서를 인식하고 여러 코어가 있어야합니다. 오래된 컴퓨터에는 코어가 하나뿐이므로 사용자가 여러 코어가있는 최신 컴퓨터에 설치하려고하면 이전 운영 체제가 제대로 작동하지 않을 수 있습니다. 예를 들어 Windows 95는 하이퍼 스레딩 또는 다중 코어를 지원하지 않습니다. 모든 최신 운영 체제는 Windows 7, 8, 새로 출시 된 10 및 Apple의 OS X 10.10 등 멀티 코어 프로세서를 지원합니다.
기본적으로 운영 체제는 마더 보드에 프로세스를 수행해야한다고 알려줍니다. 그런 다음 마더 보드가 프로세서에 알려줍니다. 멀티 코어 프로세서에서 운영 체제는 프로세서에게 한 번에 여러 작업을 수행하도록 지시 할 수 있습니다. 기본적으로 운영 체제의 방향을 통해 데이터가 하드 드라이브 또는 RAM에서 마더 보드를 통해 프로세서로 이동합니다.
멀티 코어 프로세서
프로세서 내에는 프로세서의 다음 작동을 위해 데이터를 보유하는 여러 레벨의 캐시 메모리가 있습니다. 이러한 수준의 캐시 메모리는 프로세서가 다음 프로세스를 찾기 위해 멀리 보지 않아도되므로 많은 시간을 절약 할 수 있습니다. 캐시 메모리의 첫 번째 레벨은 L1 캐시입니다. 프로세서가 L1 캐시에서 다음 프로세스에 필요한 데이터를 찾을 수 없으면 L2 캐시를 찾습니다. L2 캐시는 메모리가 크지 만 L1 캐시보다 느립니다.
단일 코어 프로세서
프로세서가 L2 캐시에서 찾고있는 것을 찾을 수없는 경우, L3으로 내려 가고 프로세서에 L4 캐시가있는 경우 계속 진행합니다. 그 후에는 주 메모리 또는 컴퓨터의 RAM을 찾습니다.
다른 프로세서가 차이 캐시를 처리하는 다른 방법도 있습니다. 예를 들어, 일부는 L2 캐시의 L1 캐시에있는 데이터를 복제하는데, 이는 기본적으로 프로세서가 원하는 것을 찾을 수 있도록하는 방법입니다. 물론 이것은 L2 캐시에서 더 많은 메모리를 차지합니다.
멀티 코어 프로세서에서는 다른 수준의 캐시도 사용됩니다. 일반적으로 각 코어에는 자체 L1 캐시가 있지만 L2 캐시는 공유합니다. 각 프로세서마다 자체 L1, L2 및 기타 레벨 캐시가 있기 때문에 여러 프로세서가있는 경우와 다릅니다. 여러 개의 단일 코어 프로세서를 사용하면 캐시 공유가 불가능합니다. 하나의 코어가 캐시를 사용하지 않으면 다른 하나는 캐시를 사용할 수 있기 때문에 공유 캐시를 갖는 가장 큰 장점 중 하나는 캐시를 최대한 활용할 수 있다는 것입니다.
멀티 코어 프로세서에서 데이터를 검색 할 때 코어는 고유 한 L1 캐시를 살펴본 후 공유 L2 캐시, RAM 및 결국 하드 드라이브로 분기합니다.
더 많은 코어가 계속 개발 될 것으로 보입니다. 프로세서 클럭 속도는 이전보다 느린 속도로 계속 향상 될 것입니다. 스마트 폰과 같은 제품에서 8 코어 프로세서를 보는 것은 드문 일이 아니지만 곧 수십 개의 코어 프로세서를 볼 수있었습니다.
다음으로 멀티 코어 프로세싱 기술이 어디로 가고 있다고 생각하십니까? 아래 의견이나 커뮤니티 포럼에서 새 스레드를 시작하여 알려주십시오.