Bir çekirdek ve bir işlemci arasındaki fark nedir?
Zaten Google'da aradım, ancak sadece çok çekirdekli ve çok işlemcili bir tanımım var, ancak aradığımla eşleşmiyor.
Bir çekirdek ve bir işlemci arasındaki fark nedir?
Zaten Google'da aradım, ancak sadece çok çekirdekli ve çok işlemcili bir tanımım var, ancak aradığımla eşleşmiyor.
Yanıtlar:
Bir çekirdek genellikle CPU'nun temel hesaplama birimidir - tek bir program bağlamı çalıştırabilir (veya Intel CPU'larda hiper iş parçacığı gibi donanım iş parçacıklarını destekliyorsa), doğru program durumunu, kayıtları ve doğru yürütme sırasını koruyabilir ve operasyonları ALU'lar aracılığıyla gerçekleştirmek . Optimizasyon amacıyla, bir çekirdek ayrıca sık kullanılan bellek parçalarının kopyalarını içeren çekirdek önbellekleri de tutabilir.
Bir CPU'nun belirli bir zamanda görevleri gerçekleştirmek için bir veya daha fazla çekirdeği olabilir. Bu görevler genellikle işletim sisteminin planladığı yazılım işlemleri ve iş parçacıklarıdır. İşletim sisteminin çalıştırılacak çok sayıda iş parçacığı olabileceğini unutmayın, ancak CPU bu tür görevleri yalnızca belirli bir zamanda X çalıştırabilir; burada X = sayı çekirdeği * çekirdek başına donanım iş parçacığı sayısı. Geri kalanlar, işletim sisteminin şu anda çalışan görevleri veya başka herhangi bir yöntemi önleyerek onları planlamasını beklemek zorunda kalacaklar.
Bir veya daha fazla çekirdeğe ek olarak, CPU çekirdeği dış dünyaya bağlayan bir ara bağlantı ve genellikle de büyük bir "son seviye" paylaşılan önbellek içerir. Bir CPU'nun çalışması için gereken diğer birçok anahtar unsur vardır, ancak kesin konumları tasarıma göre değişebilir. Bellek, G / Ç denetleyicileri (ekran, PCIe, USB vb.) İle konuşmak için bir bellek denetleyicisine ihtiyacınız olacaktır. Geçmişte bu elemanlar CPU'nun dışında, tamamlayıcı "yonga setinde" idi, ancak çoğu modern tasarım onları CPU'ya entegre etti.
Buna ek olarak CPU entegre bir GPU'ya ve tasarımcının performans, güç ve üretim hususlarına yakın tutmak istediği hemen hemen her şeye sahip olabilir. CPU tasarımı çoğunlukla çip üzerinde sistem (SoC) olarak adlandırılan sisteme yöneliyor.
Bu, çoğu modern genel amaçlı cihaz (istemci PC, sunucular ve ayrıca tablet ve akıllı telefonlar) tarafından kullanılan "klasik" bir tasarımdır. Genellikle hesaplamaların temel "çekirdek benzeri" birimlerde yapılmadığı akademide daha ayrıntılı tasarımlar bulabilirsiniz.
/proc/cpuinfo
on altı processor:
satır görüyorum model: AMD Ryzen 7 2700X Eight-Core Processor
. Yani, en azından bu durumda, 8 "çekirdeğin" her birinin iki "işlemcisi" vardır, bu da diğer bazı cevaplarla çelişmektedir.
Bir görüntü binden fazla kelime söyleyebilir:
* Modern çok işlemcili, çok çekirdekli bir sistemin karmaşıklığını tanımlayan şekil.
Kaynak:
Open images in new tab
ardından cltr
++
Öncelikle bir CPU nedir ve bir çekirdek nedir, bir merkezi işlem birimi CPU'su, birden fazla çekirdek birimine sahip olabilir, bu çekirdekler kendi başına bir programdır, bir programı yürütebilir ancak aynı çipte bulunur.
Geçmişte bir CPU birkaç çip arasında dağıtıldı, ancak Moore Yasası ilerledikçe, bir çipin (kalıp) içinde tam bir CPU'ya sahip oldular, çünkü 90'lı yıllar üreticinin aynı kalıpta daha fazla çekirdek yerleştirmeye başladığı için çok çekirdekli kavramı.
Bu günlerde, aynı CPU (yonga veya kalıp) GPU'larda yüzlerce çekirdeğe sahip olmak mümkündür, Intel Xeon. 90'larda geliştirilen diğer teknik aynı anda çoklu iş parçacıklıydı, temelde aynı tek çekirdekli CPU'da başka bir iş parçacığına sahip olmanın mümkün olduğunu keşfettiler, çünkü kaynakların çoğu zaten ALU, çoklu kayıtlar gibi çoğaltıldı.
Temelde bir CPU, her biri bir iş parçacığını veya daha fazlasını aynı anda çalıştırabilen birden fazla çekirdeğe sahip olabilir, gelecekte daha fazla çekirdeğe sahip olmayı bekleyebiliriz, ancak verimli bir şekilde programlamak daha zor olur.
CPU merkezi bir işlem birimidir. 2002'den beri sadece tek çekirdekli işlemcimiz var, yani bir seferde sadece tek bir görev veya program gerçekleştireceğiz.
Bir seferde birden fazla program çalıştırmak için, bir seferde çoklu işlemleri yürütmek için çoklu işlemciyi kullanmak zorundayız, bu yüzden bunun için başka bir anakart gerekliydi ve bu çok pahalı.
Böylece, Intel hiper iş parçacığı kavramını tanıttı, yani tek CPU'yu iki sanal CPU'ya dönüştürecektir, yani görevimiz için iki çekirdeğimiz var. Şimdi CPU tek, ancak çift CPU'ya sahip olduğunu ve birden fazla görevi yerine getirdiğini iddia ediyor (maskeli). Ancak gerçek çoklu çekirdeklere sahip olmak bundan daha iyi olacaktır, bu yüzden insanlar çok çekirdekli işlemci, yani tek bir kutuda birden fazla işlemci geliştirir, yani tek bir büyük CPU'da birden fazla CPU kaparlar. Yani birden fazla çekirdek.
İlk günlerde ... 90'lı yıllardan önce olduğu gibi ... işlemciler verimli bir şekilde çoklu görevler yapamadılar ... çünkü tek bir işlemci sadece tek bir görevi halledebilirdi ... antivirüs, microsoft word, vlc, vb. yazılımların hepsi aynı anda çalışıyor ... bu aslında doğru değil. Bir işlemcinin her seferinde tek bir işlemi yapabileceğini söylediğimde ... demek istedim. Aslında tek bir görevi işleyecekti ... o zaman bu görevi duraklatmak için kullanılır ... başka bir görev al ... kısa bir görevse ya da tekrar duraklatır ve kuyruğa eklerse ... tamamla. Ancak bahsettiğim bu 'duraklama' o kadar küçüktü (yaklaşık 1ns), görevin duraklatıldığını anlamadınız. Örneğin. Vlc'de müzik dinlerken aynı anda çalışan başka uygulamalar da var ama söylediğim gibi ... her seferinde bir program ...
Ama bu eski işlemcilerle ilgiliydi ...
Günümüzün işlemcileri, yani 3. nesil parçalar çok çekirdekli işlemcilere sahiptir. Şimdi 'çekirdekler' bir 1. veya 2. nesil işlemcilerle karşılaştırılabilir ... tek bir yonga, tek bir işlemci üzerine gömülü. Şimdi çekirdeklerin ne olduğunu anladık, yani işlemci olmak için bir araya gelen mini işlemciler. Ve her çekirdek bir seferde tek bir işlemi veya işletim sistemi için tasarlanan çoklu iş parçacıklarını işleyebilir. Ve yukarıda tek bir işlemci hakkında bahsettiğim adımları izlerler.
Örneğin. Bir i7 6gen işlemcinin 8 çekirdeği vardır ... yani 1 i7'de 8 mini işlemci ... yani hızı eski işlemcilerin 8 katıdır. Ve çoklu görev bu şekilde yapılabilir.
Tek bir işlemcide yüzlerce çekirdek olabilir. Intel i128.
Umarım bunu iyi açıklamışımdır.
Intel'in resmi, Tortuga'nın en iyi cevabında gösterildiği gibi faydalıdır. İşte bunun için bir resim yazısı.
İşlemci : Bir yarı iletken yonga, CPU (merkezi işlem birimi), 1950'ler-2010'larda bir sokete oturmuş. Zamanla, CPU çipine daha fazla fonksiyon eklendi. 1950'lerin tek yongalı işlemcilerin yayınlanmasından önce, bir işlemci birden fazla yongasına yayılmış olabilir. 2010'ların ortalarında, yongadaki sistem yongaları, bir işlemciyi bir yongaya eşitlemeyi biraz daha kabataslak yaptı, ancak genellikle "bu bilgisayarda bir i7 işlemcisi var" veya "bu bilgisayar sistemi gibi, işlemci tarafından kastedilen bu dört işlemcisine sahip. "
Çekirdek : Bir kerede bir komut yürüten CPU'nun bir bloğu. (İnsanların saat döngüsü başına bir talimat söylediğini görürsünüz, ancak bazı CPU'lar bazı talimatlar için birden fazla saat döngüsü kullanır.)