Çok Çekirdekli ve Çip Çoklu İşlemciler
Bir çip çoklu işlemcisi, tek bir yonga üzerinde birden fazla işlemci çekirdeğini bir araya getirerek önbellekleri ve bellek arayüzünü paylaşır; böylece performans artışı, daha yüksek saat hızından ziyade iş parçacığı düzeyinde paralellik ile sağlanmaktadır.
Tanım
Çok çekirdekli bir işlemci veya çip çoklu işlemcisi, birden fazla bağımsız işlemci çekirdeği içeren tek bir entegre devredir. Bu çekirdekler, bazı yonga üzerindeki kaynakları ve bir bellek sistemini paylaşarak birden fazla iş parçacığını veya programı eş zamanlı olarak yürütmek üzere tasarlanmıştır.
Kapsam
Bu konu, çok çekirdekli çiplerin organizasyonunu kapsamaktadır: çekirdek sayıları ve heterojenlik, paylaşımlı ve özel önbellek hiyerarşileri, yonga üzerindeki ara bağlantılar ve Amdahl yasası altında performansın çekirdeklerle nasıl ölçeklendiği incelenmektedir. Çok çekirdekli sistemlerin donanım yapısını ele almaktadır. Diğer paylaşımlı bellek konularıyla (shared-memory-and-coherence, cache coherence protocols) paylaşılan tutarlılık ve kararlılık mekanizmalarını ve tek çekirdekli motoru (processor microarchitecture) hariç tutmaktadır.
Temel sorular
- İşlemciler neden tek hızlı çekirdeklerden çoklu çekirdeklere geçiş yapmıştır?
- Çekirdekler, önbellekler ve ara bağlantılar bir çip üzerinde nasıl organize edilmektedir?
- Amdahl yasası, çekirdek eklenmesinden elde edilen hızlanmayı nasıl sınırlamaktadır?
- Heterojen çekirdekler, özdeş çekirdeklere ne zaman tercih edilmektedir?
Anahtar kavramlar
- çip çoklu işlemcisi
- iş parçacığı düzeyinde paralellik
- paylaşımlı ve özel önbellekler
- yonga üzeri ara bağlantı
- çekirdek sayısı ve ölçekleme
- heterojen (big.LITTLE) çekirdekler
- Amdahl yasası
- güç ve termal sınırlar
Temel kuramlar
- Çok çekirdekli ölçekleme için Amdahl yasası
- Bir iş yükünün seri kısmı, çekirdek eklenmesiyle elde edilebilecek hızlanmayı sınırlamaktadır; bu sınır, çekirdek sayısını artırmanın neden azalan getiriler sağladığını açıklamakta ve seri darboğazları azaltma ile heterojen tasarımlar kullanma motivasyonunu ortaya koymaktadır.
Mekanizmalar
Çok çekirdekli bir çip, birden fazla çekirdeği tek bir yonga üzerine yerleştirir; bu genellikle özel birinci seviye önbellekler, paylaşımlı son seviye önbellek ve bunları bellek denetleyicilerine bağlayan yonga üzerinde bir ağ veya halka ile birlikte olmaktadır. İş yükleri, iş parçacıklarını farklı çekirdeklerde çalıştırarak performans kazanmaktadır. Heterojen tasarımlar, büyük yüksek performanslı çekirdekleri küçük verimli çekirdeklerle birleştirerek, hızı ve enerjiyi dengelemek amacıyla işi en uygun çekirdeğe planlamaktadır.
Klinik önem
Çok çekirdekli mimari, güç sınırları nedeniyle frekans ölçeklemesinin durmasıyla birlikte günümüzde telefonlardan sunuculara kadar baskın işlemci tasarımı haline gelmiştir. Bu yükseliş, performans yükünü paralel yazılımlara kaydırmıştır: uygulamaların fayda sağlamak için çok iş parçacıklı olması gerekmektedir, bu da eş zamanlılığı ana akım bir programlama endişesi ve Amdahl yasasını gerçek sistemler üzerinde pratik bir kısıtlama haline getirmektedir.
Tarihçe
Stanford'un 1990'lardaki Hydra gibi araştırma çip çoklu işlemcileri, çok çekirdekli dönemi öngörmüştür. 2004-2005 yılları civarında frekans ölçeklemesinin bozulması, ana akım CPU'ları çift ve ardından çok çekirdekli tasarımlara yöneltmiştir. Performans ve verimlilik çekirdeklerini birleştiren heterojen mimariler, özellikle mobil ve dizüstü bilgisayar işlemcilerinde daha sonra yaygınlaşmıştır.
Tartışmalar
- Daha fazla çekirdek mi, daha güçlü çekirdekler mi?
- Sabit güç ve alan göz önüne alındığında, tasarımcılar çok sayıda daha basit çekirdek mi, daha az sayıda güçlü çekirdek mi, yoksa heterojen bir karışım mı ekleyeceklerini tartışmaktadır; en iyi seçim, hedef iş yüklerinin ne kadar paralel olduğuna bağlıdır ve Amdahl yasası, seri kısımlar önemli olduğunda güçlü çekirdekleri desteklemektedir.
Öne çıkan isimler
- Gene Amdahl
- John L. Hennessy
- David A. Patterson
- Kunle Olukotun
İlgili konular
Temel eserler
- hennessy2019
- amdahl1967
Sıkça sorulan sorular
- Çekirdek sayısını iki katına çıkarmak neden performansı iki katına çıkarmaz?
- Amdahl yasasına göre, bir programın seri olarak çalışması gereken herhangi bir kısmı, eklenen çekirdeklerin faydasını sınırlamaktadır. İletişim, senkronizasyon ve paylaşılan kaynaklar için çekişme ek yükler getirmekte, bu nedenle gerçek hızlanma genellikle ideal doğrusal ölçeklemenin oldukça altında kalmaktadır.
- Heterojen (big.LITTLE) çekirdekler nelerdir?
- Heterojen tasarımlar, aynı çip üzerinde büyük, yüksek performanslı çekirdekleri daha küçük, enerji verimli çekirdeklerle birleştirmektedir. Sistem, yoğun işleri büyük çekirdeklere, hafif veya arka plan işlerini ise küçük çekirdeklere planlayarak, tepe performanstan ödün vermeden enerji verimliliğini artırmaktadır.