MultiCore ve MultiProcessor arasındaki fark nedir? [çift]


Yanıtlar:


28

Bir CPU veya Merkezi İşlem Birimi, genellikle işlemci olarak adlandırılan şeydir. Bir işlemci içinde talimatlar ve veriler için bir veya daha fazla bellek önbelleği, talimat kod çözücüler ve aritmetik veya mantıksal işlemleri gerçekleştirmek için çeşitli çalıştırma birimleri gibi birçok ayrık parça içerir.

Çok işlemcili bir sistem, paralel çalışmalarına izin veren birden fazla CPU içerir. Buna SMP veya Simetrik Çoklu İşleme adı verilir.

Çok çekirdekli bir işlemcinin bir işlemcide birden fazla yürütme çekirdeği vardır. Şimdi, bu, tam mimariye bağlı olarak farklı şeyler anlamına gelebilir, ancak temel olarak CPU bileşenlerinin belirli bir alt kümesinin çoğaltıldığı anlamına gelir, böylece birden fazla "çekirdek", ayrı işlemlerde paralel olarak çalışabilir. Buna CMP, Talaş Seviyesi Çok İşleme adı verilir.

Örneğin, çok çekirdekli bir işlemci, her bir çekirdek için ayrı bir L1 önbellek ve yürütme birimine sahip olabilirken, tüm işlemci için paylaşılan bir L2 önbelleğe sahip olabilir. Bu, işlemcinin bir büyük yavaş önbellek havuzuna sahip olmasına rağmen, birkaç çekirdeğin her biri için ayrı hızlı bellek ve artitmetik / mantık birimlerinin bulunduğu anlamına gelir. Bu, her bir çekirdeğin diğerleriyle aynı anda işlem yapmasına izin verir.

SMT , Eşzamanlı Multithreading adı verilen daha ileri bir bölüm var . İşlemcinin veya çekirdeğinin bileşenlerinin daha küçük bir alt kümesinin kopyalandığı yerdir. Örneğin, bir SMT çekirdeği yinelenen iş parçacığı zamanlama kaynaklarına sahip olabilir; böylece çekirdek, yalnızca bir yürütme birimi kümesine sahip olsa bile, işletim sistemine iki ayrı "işlemci" gibi görünür. Bunun yaygın bir uygulaması, Intel'in Hyperthreading'idir.

Böylece, çok işlemcili, çok çekirdekli, çok iş parçacıklı bir sisteme sahip olabilirsiniz. Dört çekirdekli, hiper iş parçacıklı iki işlemci gibi bir şey size işletim sistemi açısından 2x4x2 = 16 mantıksal işlemciyi verecektir.

Farklı iş yükleri farklı kurulumlardan faydalanır. Çoğunlukla tek amaçlı bir makinede yapılan tek dişli iş yükü, çok hızlı, tek çekirdekli / işlemci sisteminden yararlanır. SMP / CMP / SMT kurulumları gibi yüksek düzeyde paralelleştirilmiş sistemlerden yararlanan iş yükleri, aynı anda üzerinde çalışılabilecek çok sayıda küçük parçaya sahip olanları veya aynı anda kullanılan bir masaüstü bilgisayar gibi bir çok şey için kullanılan sistemleri içerir. İnternette gezinmek, Flash oyun oynamak ve aynı anda bir video izlemek. Genel olarak, donanım günümüzde, çoğu tekli işlemci / çekirdek ham hızları çoğu modelde ortak iş yükleri için "yeterince hızlı" olduğundan, son derece paralel mimarilere doğru giderek daha fazla eğilim göstermektedir.


Peki ya ısı, hangi kurulum? Çok fazla işlemciyi bir CPU yuvasına sıkıştırırsanız, ısı yalnızca bir noktaya yoğunlaşır ve daha iyi soğutma tesisleri gerektirir, değil mi? Eğer bu doğruysa, neden üreticiler bu tasarımla kalıyor, sadece maliyet için? Veya ayrılmış çekirdek kullanırken üstesinden gelinmesi gereken başka sorunlar var mı?
Codebeat

18

Herkes yeterince açıklama yaptı. Hala anlamıyorsan. Şuna bir bakın:

alt metin


Koyduğunuz resmi iki sorgu atar 1) APIC nedir 2) Çok Hücreli ve Çok İşlemcili için son hücre sırasındaki diyagram (kılavuzun son sırasının birinci ve üçüncü sütunlarındaki 2 diyagram) Aynısı, ALU’yu çevreleyen kesik / düz çizgiler / kare sınırlar dışında. Ne demek istiyorlar?
goldenmean

2
@goldenmean: 1. APIC en.wikipedia.org/wiki/… 'dir , diğer cihazlardan gelen kesintileri alır ve davranır. Eğer İŞLETİM 2) Eh, ilk iki satırda gösterilen gibi farklı fiş / kalıplar ve her ikisi de, tek bir çip ya da kalıbın üzerinde kesikli çizgi Şekil olduğu düz çizgi aracının iç işleyişini bazı bilgi varsa daha açıklayabilir
pençeleri

Bu, "Herkesin yeterince açıklamasını yaptığını anlamadıysanız, yine de bu resme bakın" olarak belirtilmelidir
Teoman shipahi

2

çok çekirdekli bir işlemci bir fiziksel pakette iki veya daha fazla çekirdek içeriyor.

mutli işlemci sistemi, birden fazla fiziksel işlemci içeren bir sistemdir. bu işlemcilerden her biri birden fazla çekirdek içerebilir (WoodE'nin yanıtladığı gibi).

Nasıl karşılaştırıldıklarına gelince:
Çok çekirdekli işlemcilerde her bir çekirdek hızlı bir tek çekirdekli işlemciden daha yavaştır (ham hızda). Ayrıca, bu işlemcideki tüm çekirdekler aynı sistem veriyolunu ve ana belleği paylaşır. Bununla birlikte, çoğu günlük görev için bu göze çarpan bir sorun değildir ve çoğu kullanıcı için sistem bir kerede daha basit işler yapabildiğinden daha hızlı hissedecektir.

Çok işlemcili bir sistemde, çok sayıda yüksek yoğunluklu görev yapılması durumunda performans artacaktır. anakarta bağlı olarak, bu, her işlemcinin, bu görevler için her birinin tam yeteneklerini kullanmasına olanak tanıyan kendi özel veri yolu ve / veya ana hafızasına sahip olabileceği olabilir.

çok işlemcili bir çok çekirdekli sistem, her birinin artılarının ve eksilerinin bir karışımı olacaktır.

Ayrıca, mutli iş parçacıklı programlar (işlemciye aynı anda birden fazla iş üzerinde çalışmasını söyleyebilen bir program) geliştirildikçe, çok çekirdekli işlemcinin avantajları azalır.


2

Masaüstü / dizüstü bilgisayar açısından bakıldığında, çok işlemcili bir makinede iki ayrı CPU'ya sahip.

Çok çekirdekli, aynı yonga üzerinde birden fazla işlem çekirdeğine, temel olarak bir bit silikonda birden fazla CPU'ya sahip. Çok çekirdekli olarak kabul edilmek için her bir çekirdeğin esas olarak tam bir CPU olması gerekir - en eski Pentium yongaların bile birden fazla tamsayılı hesaplama birimi olması (daha verimli boru hatlarına izin vermek) sayılmaz.

Elbette, aynı makinede birden fazla çok çekirdekli işlemciye sahip, çok işlemcili çok çekirdekli düzenlemeye sahip olabilirsiniz.

Pro ve eksiler, dikkate alınması gereken birçok değişken olduğu için karmaşık olabilir, ancak dikkate değer farklılıklar şunlardır:

  • soğutma: iki çekirdekli bir işlemci genellikle aynı spesifikasyondaki iki ayrı tek çekirdekli üniteden daha az atık ısı üretecek ve genellikle daha ucuz olacak olan yalnızca bir soğutucu ve fana ihtiyaç duyacak (tüm ısı tek bir yerde olmasına rağmen yayılmayacak) iki, bu daha yüksek teknolojili soğutma çözümleri gerektirebilir)
  • önbellek konumundan dolayı hız: aynı yonga üzerinde olmak, çekirdeklerin harici bellek veri yolu üzerinde daha uzun bir mesafe boyunca koordine etmesi gerekmediğinden L2 (veya L3) önbellek tutarlılığını / paylaşımını daha verimli hale getirme fırsatları vardır
  • Sadelik nedeniyle maliyet farkları: Çok çekirdekli çözüm anakart üzerinde çoklu prizler gerektirmez

1

Temel olarak, çok çekirdekli bir işlemci, çok çekirdekli bir işlemcinin anakart üzerinde birden fazla işlemci içerdiği (bunun sonucunda da çok çekirdekli olabilir) olduğu birden fazla çekirdekli (dört çekirdekli, örneğin 4 çekirdekli) tek bir işlemcidir.

Her birinin artıları ve eksileri söz konusu olduğunda biraz daha karmaşık hale geliyor.

Düzenleme: yazım denetimi.



1

Bildiğim kadarıyla, bir çekirdek bir işlemcinin içindedir, bu yüzden çok çekirdekli, tek bir güçlü işlemciye, çok işlemcili bir anakartta birden fazla işlemciye karşılık gelir (ısıtma sorunlarını düşürmeyi düşünürüm, belki de paylaşılan bir yük daha iyi performans anlamına gelir). emin değilim, ama okuduklarımdan doğru olduğunu düşündüm

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.