GPU Nedir, Ne İşe Yarar?

GPU (Graphics Processing Unit/Grafik İşlem Birimi), Video Oyunları ve etkileşimli 3D uygulamalar gibi uygulamalarda merkezi işlemcinin iş yükünü hafifletmek için özel olarak grafik işlemeye adanmış bir işlemcidir.

GPU Tanımı ve Mimarisi

GPU (Grafik İşlem Birimi) Nedir?

Grafikler çoğunlukla GPU’da işlenir. Bu sırada CPU diğer hesaplamaları yapabilir. GPU, grafik işleme için optimize edilmiş ilkel yöntemleri uygular.

Örneğin, 3D grafiklerde kenar yumuşatma kullanılır. Böylece şekiller daha gerçekçi görünür.

Ayrıca dikdörtgen, üçgen, daire ve yay çizme ilkelleri vardır. GPU’lar günümüzde efektlerde daha gerçekçiliğe sahiptir.

Tarihi

Modern GPU’lar 1970 ve 1980’lerin monolitik grafik yongalarının torunlarıdır. Bu yongalar sprite şeklinde sınırlı BitBLT desteğine sahipti. Ayrıca genellikle grafik ve şekil çizme desteği yoktu.

Bazı GPU’lar görüntüleme listesinde çeşitli işlemler yapabilir. Böylece ana bilgisayar yükünü azaltmak için DMA kullanılır. Bunun ilk örneği Atari 800 ve 5200’dür. Atari ANTIC yardımcı işlemciyi kullanmıştır.

1980’lerin sonu ve 1990’ların başında yüksek hızlı mikroişlemciler popülerdi. Bu mikroişlemciler en gelişmiş GPU’ları çalıştırmak için uygundu.

PC ve iş istasyonları için birçok grafik kartı DSP kullandı. Örneğin Texas Instruments TMS340 serisi hızlı çizim işlevlerini uyguladı. Ayrıca lazer yazıcılar AMD 29000 RISC işlemcide özel GPU kasası içeriyordu.

Yarı iletken teknolojisi geliştikçe çizim ve BitBLT işlevleri aynı çipe taşındı. Örneğin VGA gibi çerçeve tampon denetleyicisi ile aynı panoya entegre edildi.

Bu ince 2D hızlandırıcılar mikroişlemci tabanlı olanlar kadar esnek değildi. Ancak üretimi ve satışı daha kolaydı.

Commodore AMIGA, blitter ünitesi içeren ilk seri üretim bilgisayardı. Ayrıca IBM 8514 grafik sistemi, donanımda 2D ilkelleri uygulayan ilk PC video kartlarından biriydi.

CPU ile GPU Arasındaki Fark Nedir?

CPU‘yu GPU ile değiştirmek mümkün değildir. Ancak, günümüzde GPU’lar çok güçlüdür. Hatta bazı GPU’lar eski CPU’ları bile geçebilir.

GPU gücü iki faktörden gelir. İlk faktör, GPU’nun yüksek uzmanlaşmasıdır. Çünkü tek görev için tasarlanmıştır.

Bu sayede görev daha verimli gerçekleştirilir. Örneğin, GPU’lar 3D grafiklerde kayan nokta hesaplamalarına optimize edilmiştir.

Öte yandan, grafik uygulamaları yüksek paralellik taşır. Çünkü temel hesaplama birimleri tamamen bağımsızdır.

Bu nedenle, GPU’lara daha fazla iş yüklemek stratejiktir. Mevcut GPU’lar yarım düzine köşe işlemcisine sahiptir.

Ayrıca, iki ila üç kat piksel işlemcisi bulunur. Böylece düşük saat frekansı paralel işlemle yüksek güce dönüşür.

CPU ve GPU arasındaki mimari fark büyüktür. CPU Von Neumann mimarisine sahiptir. Ancak GPU Sirkülasyon Modeline dayalıdır.

Bu model paralel işlemeyi kolaylaştırır. Ayrıca GPU’nun görevleri için büyük segmentasyon sağlar.

GPU Mimarisi Nedir?

Bir GPU birçok işlevsel birime ayrılmıştır. Bu birimler köşe ve piksel işleyenlerdir. Böylece tepe noktası ve piksel ana birimler olur.

Buna ek olarak ROP en önemlidir. Hızı yüksektir ve ara sonuçları depolar.

Başlangıçta GPU, CPU’dan köşe bilgisi alır. Bu köşeler tepe gölgeleyicide işlenir. Burada şekil dönüşümleri veya hareketler yapılır. Sonra köşe noktaları kırpılır ve rasterleştirilir. Bu aşamalar GPU’ya fazla yük getirmez.

Ana darboğaz piksel gölgelendiricisindedir. Burada doku ve diğer piksel dönüşümleri uygulanır. Ayrıca antialiasing, blending ve fog gibi efektler eklenir.

ROP, pikselleri hazırlamak ve efekt uygulamak için çalışır. Sonra çıktı çerçeve tamponuna gönderilir.

Artık pikseller dijital monitörde görüntülenebilir. Veya analog monitör için analog sinyal üretilir. İkinci durumda DAC üzerinden geçerek ekranda gösterilir.

Programlama

Başlangıçta GPU programlama BIOS kesme çağrılarıyla yapılırdı. Daha sonra GPU programlaması her modele özgü montaj dilinde gerçekleşti.

Sonra, API’ler geliştirildi ve daha homojen bir dil sağlandı. İlk yaygın API OpenGL idi. Ardından Microsoft DirectX ortaya çıktı.

API geliştirmeden sonra üst düzey bir dil kararlaştırıldı. Böylece programcıya daha yakın, grafikler için bir dil oluşturuldu.

OpenGL ve DirectX bu teklifleri destekledi. OpenGL kütüphanesiyle birlikte üst düzey standart dil GLSL uygulanır.

Kaliforniya şirketi NVIDIA, Cg adında tescilli bir dil yarattı. Cg, GLSL’den daha iyi performans sağladı. Ayrıca Microsoft, HLSL’yi Cg ile uyumlu şekilde geliştirdi.

Add a Comment

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir