Çok Çekirdekli İşlemciler: Daha Fazlası Her Zaman Daha mı İyi?

İçindekiler:

Çok Çekirdekli İşlemciler: Daha Fazlası Her Zaman Daha mı İyi?
Çok Çekirdekli İşlemciler: Daha Fazlası Her Zaman Daha mı İyi?
Anonim

Tek bir işlemciye birkaç çekirdek eklemek, modern işletim sistemlerinin çoklu görev doğası sayesinde önemli avantajlar sunar. Bununla birlikte, bazı amaçlar için, ekleme maliyetine göre kaç tane çekirdeğin iyileştirme sağlayacağı konusunda pratik bir üst sınır vardır.

Çok Çekirdekli Teknolojideki Gelişmeler

Image
Image

Çok çekirdekli işlemciler 2000'lerin başından beri kişisel bilgisayarlarda kullanılmaktadır. Çok çekirdekli tasarımlar, işlemcilerin saat hızları ve ne kadar etkili bir şekilde soğutulabilecekleri ve yine de doğruluğu koruyabilecekleri açısından fiziksel sınırlamalarının tavanına ulaşması sorununu ele aldı. Üreticiler, tek bir işlemci çipinde ekstra çekirdeklere geçerek, CPU tarafından işlenebilecek veri miktarını etkili bir şekilde çoğ altarak saat hızlarıyla ilgili sorunlardan kaçındı.

İlk piyasaya sürüldüklerinde, üreticiler tek bir CPU'da yalnızca iki çekirdek sunuyordu, ancak şimdi dört, altı ve hatta 10 veya daha fazlası için seçenekler var. Çekirdek eklemeye ek olarak, Intel'in Hyper-Threading'i gibi eşzamanlı çoklu kullanım teknolojileri, işletim sisteminin gördüğü sanal çekirdekleri ikiye katlayabilir.

Süreçler ve Konular

Bir işlem, bir program gibi bilgisayarda çalışan belirli bir görevdir. Bir işlem bir veya daha fazla iş parçacığından oluşur.

Bir iş parçacığı, bilgisayardaki işlemciden geçen bir programdan gelen tek bir veri akışıdır. Her uygulama, nasıl çalıştığına bağlı olarak kendi bir veya çok iş parçacığını oluşturur. Çoklu görev olmadan, tek çekirdekli bir işlemci bir seferde yalnızca tek bir iş parçacığını işleyebilir, bu nedenle sistem, verileri görünüşte eşzamanlı bir şekilde işlemek için iş parçacıkları arasında hızla geçiş yapar.

Birden çok çekirdeğe sahip olmanın yararı, sistemin aynı anda birden fazla iş parçacığını işleyebilmesidir. Her çekirdek ayrı bir veri akışını işleyebilir. Bu mimari, eşzamanlı uygulamalar çalıştıran bir sistemin performansını büyük ölçüde artırır. Sunucular belirli bir zamanda birçok eşzamanlı uygulamayı çalıştırma eğiliminde olduğundan, teknoloji başlangıçta kurumsal müşteriler için geliştirildi - ancak kişisel bilgisayarlar daha karmaşık hale geldikçe ve çoklu görevler arttıkça, onlar da fazladan çekirdeğe sahip olmanın avantajlarından yararlandı.

Ancak her işlem, yalnızca tek bir çekirdeği işgal edebilen birincil bir iş parçacığı tarafından yönetilir. Bu nedenle, bir oyun veya video oluşturucu gibi bir programın göreli hızı, birincil iş parçacığının tükettiği çekirdeğin kapasitesiyle kesin olarak sınırlıdır. Birincil iş parçacığı, ikincil iş parçacıklarını kesinlikle diğer çekirdeklere devredebilir - ancak çekirdekleri ikiye katladığınızda bir oyun iki kat daha hızlı olmaz. Bu nedenle, bir oyunun bir çekirdeği (birincil iş parçacığı) tamamen maksimuma çıkarması alışılmadık bir durum değildir, ancak ikincil iş parçacıkları için diğer çekirdeklerin yalnızca kısmi kullanımını görür. Hiçbir çekirdek ikiye katlama, birincil çekirdeğin uygulamanız için bir hız sınırlayıcı olduğu gerçeğini ortadan kaldırmaz ve bu mimariye duyarlı uygulamalar, olmayan uygulamalardan daha iyi performans gösterir.

Yazılım Bağımlılığı

Çok çekirdekli işlemciler konsepti kulağa çekici gelse de, bu teknoloji için önemli bir uyarı var. Birden çok işlemcinin gerçek faydalarından yararlanılabilmesi için bilgisayarda çalışan yazılımın çoklu iş parçacığını destekleyecek şekilde yazılması gerekir. Böyle bir özelliği destekleyen yazılım olmadan, iş parçacıkları öncelikle tek bir çekirdek üzerinden çalıştırılacak ve bu da bilgisayarın genel verimliliğini düşürecektir. Sonuçta, dört çekirdekli bir işlemcide yalnızca tek bir çekirdekte çalışabiliyorsa, daha yüksek temel saat hızlarına sahip çift çekirdekli bir işlemcide çalıştırmak aslında daha hızlı olabilir.

Mevcut başlıca işletim sistemlerinin tümü çoklu iş parçacığı özelliğini destekler. Ancak çoklu kullanım, uygulama yazılımına da yazılmalıdır. Tüketici yazılımında çoklu kullanım desteği yıllar içinde gelişmiştir, ancak birçok basit program için, yazılım yapısının karmaşıklığı nedeniyle çoklu kullanım desteği hala uygulanmamaktadır. Örneğin, bir e-posta programı veya web tarayıcısı, bilgisayarın karmaşık hesaplamaları işlediği bir grafik veya video düzenleme programı kadar çoklu kullanımda büyük faydalar görmeyecektir.

Bu eğilimi açıklamak için iyi bir örnek, tipik bir bilgisayar oyununa bakmaktır. Çoğu oyun, oyunda neler olduğunu görüntülemek için bir tür işleme motoru gerektirir. Ayrıca bir çeşit yapay zeka oyundaki olayları ve karakterleri kontrol ediyor. Tek çekirdekte her iki görev de aralarında geçiş yaparak yürütülür. Bu yaklaşım verimli değildir. Sistem birden fazla işlemci içeriyorsa, oluşturma ve yapay zekanın her biri ayrı bir çekirdek üzerinde çalışabilir; bu, çok çekirdekli bir işlemci için ideal bir durumdur.

8 > 4 > 2 mi?

İki çekirdeğin ötesine geçmek, herhangi bir bilgisayar alıcısı için yanıtın, genellikle kullandığı yazılıma bağlı olduğu göz önüne alındığında, karışık faydalar sunar. Örneğin, birçok klasik oyun hala iki ve dört çekirdek arasında çok az performans farkı sunuyor. Bazılarının sekiz çekirdeğe ihtiyaç duyduğu veya desteklediği iddia edilen modern oyunlar bile, birincil iş parçacığının etkinliğinin çok iş parçacıklı performansın verimliliğini yönettiği göz önüne alındığında, daha yüksek temel saat hızına sahip altı çekirdekli bir makineden daha iyi performans göstermeyebilir.

Öte yandan, videoyu dönüştüren bir video kodlama programı, ayrı kare oluşturma farklı çekirdeklere geçirilebildiği ve ardından yazılım tarafından tek bir akışta harmanlanabildiği için büyük olasılıkla büyük faydalar görecektir. Böylece sekiz çekirdeğe sahip olmak, dört çekirdeğe sahip olmaktan daha da faydalı olacaktır. Özünde, birincil iş parçacığı nispeten zengin kaynaklara ihtiyaç duymaz; bunun yerine, işlemcinin çekirdeklerini maksimuma çıkaran ek iş parçacıkları için sıkı çalışmayı bir araya getirebilir.

Saat Hızları

Image
Image

Genel anlamda, daha yüksek bir saat hızı daha hızlı bir işlemci anlamına gelir. İşlemciler ekstra çekirdekler sayesinde birden çok veri dizisini çalıştırdığından, hızları birden çok çekirdeğe göre düşündüğünüzde saat hızları daha belirsiz hale gelir, ancak bu çekirdeklerin her biri termal kısıtlamalar nedeniyle daha düşük hızlarda çalışır.

Örneğin, çift çekirdekli bir işlemci her işlemci için 3,5 GHz'lik temel saat hızlarını destekleyebilirken, dört çekirdekli bir işlemci yalnızca 3,0 GHz'de çalışabilir. Her birinde tek bir çekirdeğe baktığımızda, çift çekirdekli işlemci, dört çekirdekli işlemciden yüzde 14 daha hızlı. Bu nedenle, yalnızca tek iş parçacıklı bir programınız varsa, çift çekirdekli işlemci aslında daha verimlidir. Sonra tekrar, yazılımınız dört işlemcinin tümünü kullanabiliyorsa, dört çekirdekli işlemci aslında bu çift çekirdekli işlemciden yaklaşık yüzde 70 daha hızlı olacaktır.

Sonuçlar

Çoğunlukla, yazılımınız ve tipik kullanım durumlarınız destekliyorsa, daha yüksek çekirdek sayılı işlemciye sahip olmak genellikle daha iyidir. Çoğunlukla, çift çekirdekli veya dört çekirdekli bir işlemci, basit bir bilgisayar kullanıcısı için fazlasıyla yeterli güç olacaktır. Tüketicilerin çoğu, dört işlemci çekirdeğinin ötesine geçmenin somut bir faydasını görmeyecek çünkü çok az uzman olmayan yazılım bundan yararlanıyor. Yüksek çekirdekli işlemciler için en iyi kullanım durumu, masaüstü video düzenleme, bazı üst düzey oyun türleri veya karmaşık bilim ve matematik programları gibi karmaşık görevleri gerçekleştiren makinelerle ilgilidir.

Ne Kadar Hızlı Bir Bilgisayara İhtiyacım Var? hakkındaki düşüncelerimize göz atın. bilgi işlem gereksinimlerinize en uygun işlemci türü hakkında daha iyi bir fikir edinmek için.

Önerilen: