Yazan : Şadi Evren ŞEKER
Bilgisayar mimarisi konusunda kullanılan bir teknolojidir. İşlemcinin alt çekirdeklerinin oluşturulması ve yükün bu çekirdekler üzerine dağıtılarak, aynı anda işlenmesini ve böylece işlem gücü elde edilmesini hedefler.
Çok çekirdekli işlemci mimarisinin anlaşılabilmesi için öncelikle çekirdek (core) kavramını anlamalıyız. Çekirdek, temel olarak bir işlemcinin okuma ve çalıştırma yapan kısmıdır. (read and execute)
Klasik bütün işlemciler tek çekirdeklidir. Bunun anlamı, klasik bir işlemcide, tek bir okumadan ve çalıştırmadan sorumlu parça bulunur. Dolayısıyla klasik bir işlemci, aynı anda tek bir işlem çalıştırabilir.
Çok çekirdekli mimarilerde, birden fazla çekirdek (genelde 2 4 veya 6 gibi 2’nin katları şeklinde) çekirdek, entegre devre olarak bulunur. Bu entegre devre yaklaşımından dolayı, literatürde, CMP (chip multi processor) tabiri de, çok çekirdekli işlemciler için kullanılmaktadır.
Çok çekirdekli işlemciler, oldukça geniş alanlarda kullanılabilir. Örneğin resim işleme, bilimsel verilerin işlenmesi veya dijital sinyal işleme gibi alanlarda kullanılabilirler. Problemlerin paralelleştirilebilmesi, işlemcideki hız artışı ile doğru orantılıdır. Örneğin, çok çekirdekli bir işlemci, paralel hale getirilemeyen bir problem için bir hız avantajı sağlamayabilir.
Dikkat edilmesi gereken bir nokta, çok çekirdekli mimariler ile, çok işlemcili mimariler arasında fark olduğudur. Çok çekirdek ile kast edilen bir işlemcinin içerisinde birden fazla çekirdek bulunmasıdır.
Yukarıdaki şekilde görüldüğü üzere, Tek bir veriyoluna bağlı çok sayıda çekirdek ve her çekirdeğin kendi içerisinde 1. seviye önbellek (level 1 cache, L1 cache) bulunmakta, 2. seviye önbellek ise, veri yolu üzerinde durmaktadır.
Bu sayede önbellek açısından (cache), her çekirdek kendi belleğini kullanırken, aynı zamanda, veri yolu üzerinde paylaşılmış bir önbellek kullanımı da mümkündür.