Yazan : Şadi Evren ŞEKER

Vektör işlemciler, en kısa tanımıyla, bir işlemcinin (processor), vektör şeklindeki ardışık veriler üzerinde bir adımda işlem yapabildiği işlemcilerdir.

Normalde, bir işlemci, işleyeceği veriyi aldıktan sonra (fetch) bu veri üzerinde gerekli olan işi tamamlar. Buradaki veri genelde basit tipte bir veridir ve işlem atomik yapıdadır.

Vektör işlemcilerde de yapılan iş, normal bir işlemci ile aynıdır. Tek farkı alınan verinin bir diziden oluşmasıdır. Bu sayede yapılacak olan işlem, aynı anda, birden fazla veriye uygulanmış olur.

Örneğin bir sayı alıp, bu sayıyı 1 arttırma işlemini düşünelim. İşlemci tek bir sayı alıp bu sayının değerini arttırmak yerine, aynı anda değeri arttırılacak 10 ayrı sayıyı alıp, tek adımda arttırabilir.

Vektör işlemcileri, tasarım olarak, süper bilgisayarlar için (super computers) geliştirilmiştir. Ancak günümüzde, bu özelliği kullanan süper bilgisayar neredeyse hiç yoktur. Bunun yerine, işlemcilerin çoğunda destek olarak gelmektedir.

Veriyi işleme şekli olarak SIMD (tek işlem çok veri) olarak tasarlanan vektör işlemcilerini günümüzde kullanan en yaygın örnek PlayStation 3 işlemcileridir. Ayrıca Intel Pentium MMX işlemcileri de vektör işlemci örneğidir.

Bu işlemci tasarımında en büyük problemlerden birisi de vektörleme (vectorization) olmaktadır. İşlenecek verinin vektör halinde tutulması ve bu şekilde saklanıp iletilmesi, programın vektörler halinde tasarlanması temel problemlerdir.

Örneğin bir dizi üzerindeki sayıların her birini alıp teker teker işlemek yerine, dizinin tamamının işlenmesi, programlama dillerindeki döngü ihtiyacını önemli ölçüde azaltır. Bu şekilde, döngülerin tek bir işleme düşürülmesi, ve bu yaklaşıma uygun döngü yazılması işlemine döngü vektörlemesi (loop vectorization) ismi verilir.

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir


× 3 = oniki