SORU
25 Mart 2009, ÇARŞAMBA


multi-CPU, çok çekirdekli ve hyper-iş parçacığı

Herkes multi-CPU, çok çekirdekli ve hyper-iş parçacığı arasında bana bazı belgeler farklılıkları göstermek için tavsiye edebilir misiniz? Her zaman farklı senaryolarda her mimarlık eksileri/artıları hakkında bu farklılıklar hakkında ve kafam karıştı.

EDİT: burada online öğrenme ve diğerlerinin yorumlarını; herkes yorum lütfen Gözden misiniz? öğrendikten sonra geçerli bildiğim kadarıyla

  1. Hyper-iş parçacığı bunların arasında en aşağı bir teknoloji, ama ucuz bence. Ana fikri kaydeder içerik anahtarı zaman kazanmak için yinelenen
  2. Çoklu işlemci daha iyidir hyper-dişli, ama beri farklı İşlemciler üzerinde farklı cips, iletişim arasında farklı İşlemciler ise daha uzun bir gecikme daha çok çekirdekli ve kullanarak birden fazla fiş, orada daha fazla harcama ve daha fazla güç tüketimi daha çok çekirdekli;
  3. çok çekirdekli farklı CPU arasındaki iletişim gecikmesi büyük ölçüde çoklu işlemci ile karşılaştırıldığında azalır tek bir çip üzerinde CPU entegre. Tek çip İşlemci içeren kullandığından, daha az güç tüketim ve çoklu işlemcili sistem daha pahalı.

şimdiden teşekkürler, George

CEVAP
25 Mart 2009, ÇARŞAMBA


Multi-CPU ilk sürümü: onları ya da daha fazla İŞLEMCİ çipleri ile bir veya daha fazla anakart var. Asıl sorun burada CPU diğer CPU için kendi iç bazı verileri ortaya çıkarmak için ki, onların bir şekilde almak olmaz bu yüzden.

Bir sonraki adım CPU. Ama anakart üzerinde bir çip aynı anda iki talimatları yürütmek, Bu yüzden bazı parçalar iki kez içten vardı.

Mevcut gelişme çok çekirdekli. Temelde özgün bir fikir (birkaç tam CPU) tek bir çip. Avantajı: Çip tasarımcıları kolayca koymak ek teller için senkronizasyon sinyalleri içine çip (yerine sahip olmak için rota onları bir pın, sonra kalabalık anakart ve içine ikinci bir yonga).

Onlara genellikle 2-4 İşlemciler ve anakartlar bir sürü var, her İŞLEMCİ çok çekirdekli ve her biri kendi RAM var. süper bilgisayarlar bugün multi-cpu, çok çekirdekli:

[DÜZENLE] var oldukça fazla. Sadece bazı küçük noktaları:

  • CPU iç çoğaltırkaynaklarbağlam azaltmak için zaman anahtarı. Kaynakları olabilir: Kaydeder, aritmetik birim (yani yapabileceğiniz birkaç tamsayı veya kayan nokta hesaplamaları bile simultanously; ya da sen-ebilmek yapmak bir ekleme ve çarpma aynı anda değil ama ekleme ve çıkarma), önbellek.

  • Multi-CPU ile ana sorun, onlar üzerinde çalışan kod sonunda RAM erişecek. N İşlemci ama RAM erişim için sadece bir otobüs var. Yani vardır mutlaka donanım hangi olmasını sağlar a) her bir CPU alır adil bir miktar RAM erişim, b) bu kere aynı bölümü RAM yok sorunlar ve c) en önemlisi, o İŞLEMCİ 2 olacak haberdar CPU 1 yazar için bazı bellek adresi olan CPU 2 var, kendi iç önbellek. Eğer böyle değilse, CPU 2 olacak mutlu önbelleğe alınan değer, modası geçmiş olmasından habersiz kullanın

    Listedeki görevleri sadece hayal edin ve tüm kullanılabilir CPU için onları yaymak istiyor. Yani CPU 1 listeden ilk elemanı alıp işaretçileri güncellenir. CPU 2 de aynısını yapacaktır. Verimlilik adına, hem de İşlemci, önbellekte ama bir bütün içine birkaç baytı kopyalar değil "" bu ne olursa olsun). önbellek satırı Varsayım, byte X okuduğunuzda, yakında X 1, çok okuyacaksın.

    Şimdi her iki İşlemci önbelleği bellekte bir kopyası var. CPU 1 Daha sonra listedeki bir sonraki öğeyi almak olacaktır. Önbellek eşitleme olmadan, CPU 2 listesinin değiştiğini fark olmaz, çok, ve CPU 2 olarak aynı madde üzerinde çalışmaya başlayacaktır.

    Bu etkin multi-CPU bu kadar karmaşık hale getiriyor. Bu yan etkiler eğer tüm kodu tek bir CPU üzerinde çalıştırılmışsa da hangisi daha kötü bir performans yol açabilir. Çözüm çok çekirdekli oldu: kolayca önbelleğe eşitlemek için gereken sayıda teller ekleyebilirsiniz; başka bir önbellek verileri kopyalama bile (güncelleniyorparçalarfloş zorunda ve yeniden) olmadan önbellek satır, vb. Ya önbelleği mantık olabilir emin olmak için tüm İşlemciler aynı önbellek satırında ne zaman onlar erişim aynı parçanın gerçek RAM, sadece engelleme CPU 2 için bir kaç nanosaniye kadar CPU 1 var yapılan değişiklikleri.

[EDİT2] ana nedeni çok çekirdekli daha basit daha çok cpu olan bir anakart, sadece can't run tüm teller arasındaki iki fiş olan edersin gerekiyor sync etkili. Artı bir sinyal sadece 30 cm/ns üstleri (ışık hızı; bir tel, genellikle çok az hareket eder. Ve unutmayın, bir çok katmanlı anakart üzerinde, sinyaller birbirini etkilemeye başlar (parazit). 0 "" bir şey -0.5 V 1 -^. bir çizgi bırakırken (overdrive arasında 0V 0 ve 1 5 V ama gerçekte, böyle düşünmek isteriz 0)."1" 0.8 V . yukarıda bir şey var mı 5 V ve

Eğer tek bir çip içinde her şey varsa, sinyalleri çok daha hızlı çalıştırın ve istediğiniz kadar (neredeyse :). Ayrıca, sinyal çapraz kontrol etmek daha kolaydır.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • apenney888

    apenney888

    27 EKİM 2010
  • Phandroid

    Phandroid

    26 Ocak 2009
  • Whizzpopping

    Whizzpopping

    10 Kasım 2005