• GPU: nedir ve neden kullanılır? Bir grafik kartı nasıl çalışır Grafik işlemcisi

    CPU'lar ve GPU'lar birbirine çok benzer, her ikisi de yüz milyonlarca transistörden yapılmıştır ve saniyede binlerce işlemi işleyebilir. Ancak herhangi bir ev bilgisayarının bu iki önemli bileşeni tam olarak nasıl farklıdır?

    Bu yazımızda CPU ve GPU arasındaki farkın ne olduğunu çok basit ve erişilebilir bir şekilde anlatmaya çalışacağız. Ama önce bu iki işlemciyi ayrı ayrı ele almamız gerekiyor.

    CPU (Merkezi İşlem Birimi veya Merkezi İşlem Birimi) genellikle bir bilgisayarın "beyni" olarak adlandırılır. Merkezi işlem biriminde, çeşitli hesaplamaların yapıldığı yaklaşık bir milyon transistör vardır. Ev bilgisayarları tipik olarak yaklaşık 1 GHz ila 4 GHz saat hızlarında 1 ila 4 çekirdeğe sahip işlemcilere sahiptir.

    İşlemci güçlüdür çünkü her şeyi yapabilir. Bir bilgisayar, bir görevi gerçekleştirme yeteneğine sahiptir, çünkü işlemci bu görevi gerçekleştirme yeteneğine sahiptir. Programcılar, modern CPU'larda paylaşılan geniş komut setleri ve devasa işlev listeleri sayesinde bunu başarabilmiştir.

    GPU nedir?

    GPU (Grafik İşleme Birimi veya Grafik İşleme Birimi), çok özel bilgi işlem ve grafik gösterimi için optimize edilmiş özel bir mikroişlemci türüdür. GPU, CPU'dan daha düşük bir saat hızında çalışır, ancak çok daha fazla işlemci çekirdeğine sahiptir.

    GPU'nun belirli bir amaç için yapılmış özel bir CPU olduğunu da söyleyebilirsiniz - video işleme. İşleme sırasında, GPU çok sayıda basit matematiksel hesaplamalar gerçekleştirir. GPU, aynı anda çalışacak binlerce çekirdeğe sahiptir. Her bir GPU çekirdeği, CPU çekirdeğinden daha yavaş olmasına rağmen, grafikleri görüntülemek için gereken basit matematiksel hesaplamaları gerçekleştirmek için yine de daha verimlidir. Bu muazzam paralellik, GPU'yu modern oyunların gerektirdiği karmaşık 3D grafikleri işleme yeteneğine sahip kılan şeydir.

    CPU ve GPU arasındaki fark

    GPU, CPU'nun yapabileceklerinin yalnızca bir alt kümesini yapabilir, ancak bunu inanılmaz bir hızda yapar. GPU, binlerce piksel üzerinde zaman açısından kritik hesaplamalar yapmak ve bu süreçte karmaşık 3D grafikleri işlemek için yüzlerce çekirdek kullanacak. Ancak yüksek hızlara ulaşmak için GPU'nun tekrarlayan işlemler gerçekleştirmesi gerekir.

    Örneğin Nvidia GTX 1080'i ele alalım. Bu ekran kartında 2560 shader çekirdeği var. Bu çekirdekler sayesinde Nvidia GTX 1080, tek bir saat döngüsünde 2560 talimat veya işlemi yürütebilir. Resmi %1 daha parlak hale getirmek istiyorsanız, GPU çok zorlanmadan bunun üstesinden gelebilir. Ancak dört çekirdekli Intel Core i5 CPU, döngü başına yalnızca 4 talimat yürütebilir.

    Ancak, CPU'lar GPU'lardan daha esnektir. Merkezi işlem birimleri daha geniş bir talimat setine sahiptir, bu nedenle daha geniş bir işlev yelpazesini gerçekleştirebilirler. CPU'lar ayrıca daha yüksek maksimum saat hızlarında çalışır ve bilgisayar bileşenlerinin giriş ve çıkışını kontrol etme yeteneğine sahiptir. Örneğin CPU, modern bir işletim sistemini çalıştırmak için gerekli olan sanal bellekle entegre olabilir. Bu tam olarak GPU'nun yapamayacağı şey.

    GPU hesaplama

    GPU'lar işleme için tasarlanmış olsalar da daha fazlasını yapabilirler. Grafik işleme, yalnızca bir tür tekrarlayan paralel hesaplamadır. Bitcoin madenciliği ve parola kırma gibi diğer görevler, aynı türden devasa veri kümelerine ve basit matematiksel hesaplamalara dayanır. Bu nedenle bazı kullanıcılar grafik olmayan işlemler için video kartlarını kullanır. Bu olguya GPU Hesaplama veya GPU hesaplama denir.

    sonuçlar

    Bu yazıda CPU ve GPU'yu karşılaştırdık. GPU ve CPU'nun benzer hedeflere sahip olduğu, ancak farklı hesaplamalar için optimize edildiğinin herkes tarafından anlaşıldığını düşünüyorum. Görüşlerinizi yorumlara yazın, cevaplamaya çalışacağım.

    Modern video kartları, grafiklerle çalışırken ihtiyaç duydukları devasa işlem gücü nedeniyle kendi komutlarıyla donatılmıştır.merkez, başka bir deyişle - grafik işlemci.

    Bu, geniş "uygulama kapsamı" nedeniyle modern gereksinimleri karşılayamayan merkezi işlemciyi "boşaltmak" için yapıldı.oyun endüstrisi.

    Grafik işleme birimleri (GPU'lar), karmaşıklık açısından merkezi işlemcilerden kesinlikle daha düşük değildir, ancak dar uzmanlıkları nedeniyle, grafikleri işleme, bir görüntü oluşturma ve ardından onu bir monitörde görüntüleme göreviyle daha etkin bir şekilde başa çıkabilirler.

    Parametreler hakkında konuşursak, merkezi işlemcili grafik işlemciler için çok benzerler. Bunlar, işlemcinin mikro mimarisi gibi zaten herkes tarafından bilinen parametrelerdir. saat frekansı temel iş, üretim süreci. Ama aynı zamanda oldukça spesifik özelliklere de sahipler. Örneğin, bir GPU'nun önemli bir özelliği, piksel ardışık düzenlerinin sayısıdır. Bu özellik, GPU robotlarının döngü başına işlenen piksel sayısını belirler. Bu boru hatlarının sayısı değişebilir, örneğin Radeon HD 6000 serisi grafik yongalarında sayıları 96'ya kadar çıkabilir.

    Piksel boru hattı, özelliklerini dikkate alarak bir sonraki görüntünün sonraki her pikselini hesaplamakla meşgul. İşleme sürecini hızlandırmak için, aynı görüntünün farklı piksellerini hesaplayan birkaç paralel ardışık düzen kullanılır.

    Ayrıca, piksel ardışık düzenlerinin sayısı önemli bir parametreyi etkiler - video kartını doldurma hızı. Bir video kartının doluluk oranı, çekirdek frekansının ardışık düzen sayısıyla çarpılmasıyla hesaplanabilir.

    Örneğin, AMD Radeon HD 6990 grafik kartı için doluluk oranını hesaplayalım (incir. 2) Bu çipin GPU çekirdek frekansı 830 MHz ve piksel işhattı sayısı 96'dır. Basit matematiksel hesaplamalar (830x96) ile doluluk oranının 57,2 Gpiksel/sn'ye eşit olacağı sonucuna varıyoruz.


    Pirinç. 2

    Piksel ardışık düzenlerine ek olarak, her ardışık düzende doku birimleri de vardır. Daha fazla doku birimi, boru hattının bir geçişinde daha fazla doku uygulanabilir ve bu da tüm video sisteminin genel performansını etkiler. Bahsedilen AMD Radeon HD 6990 yongasında, doku getirme birimlerinin sayısı 32x2'dir.

    GPU'larda, başka bir boru hattı türü ayırt edilebilir - tepe boru hatları, üç boyutlu bir görüntünün geometrik parametrelerini hesaplamaktan sorumludurlar.

    Şimdi adım adım, biraz basitleştirilmiş bir boru hattı hesaplama sürecine ve ardından görüntü oluşumuna bakalım:

    1 - inci aşama.Doku tepe noktası verileri, geometri parametrelerini hesaplayan köşe ardışık düzenlerine beslenir. Bu aşamada T&L (Transform & Lightning) bloğu bağlanır. Bu blok, 3D sahnelerde aydınlatma ve görüntü dönüşümünden sorumludur. Vertex ardışık düzenindeki veri işleme, vertex shader programı (Vertex Shader) pahasına gerçekleşir.

    2 - ey sahneGörüntü oluşumunun ikinci aşamasında, görünmez çokgenleri ve üç boyutlu nesnelerin yüzlerini kesmek için özel bir Z-arabelleği bağlanır. Ardından, doku filtreleme işlemi gerçekleşir, bunun için piksel gölgelendiriciler "savaşa" girer. OpenGL veya Direct3D API'leri, aşağıdakilerle çalışma standartlarını tanımlar: 3D görüntüler. Uygulama belirli bir standart OpenGL veya Direct3D işlevini çağırır ve gölgelendiriciler bu işlevi gerçekleştirir.

    3. aşama.Boru hattı işlemede görüntü oluşturmanın son aşamasında, veriler özel bir çerçeve arabelleğine aktarılır.

    Bu yüzden, grafik işlemcilerin yapısını ve çalışma ilkelerini kısaca gözden geçirdik, bilgilerin anlaşılması elbette "kolay" değil, ancak genel bilgisayar geliştirme için çok faydalı olacağını düşünüyorum :)

    Bir grafik kartının ve bir işlemcinin görevlerinin biraz farklı olduğunu hepimiz biliyoruz, ancak iç yapı olarak birbirlerinden nasıl farklı olduklarını biliyor musunuz? CPU gibi Merkezi işlem birimi) ve GPU (İngilizce - Grafik İşleme Ünitesi) işlemcilerdir ve aralarında pek çok benzerlik vardır, ancak farklı görevleri yerine getirmek için tasarlanmışlardır. Bu makaleden bunun hakkında daha fazla bilgi edineceksiniz.

    İşlemci

    CPU'nun ana görevi, basit bir deyişle, bir talimat zincirinin mümkün olan en kısa sürede yürütülmesidir. CPU, bu zincirlerden birkaçını aynı anda yürütebilecek veya bir talimat akışını birkaç parçaya bölebilecek ve bunları ayrı ayrı yürüttükten sonra, doğru sırada tekrar tek bir zincirde birleştirebilecek şekilde tasarlanmıştır. Bir iş parçacığındaki her talimat, onu takip edenlere bağlıdır, bu nedenle CPU'nun çok az yürütme birimi vardır ve tüm vurgu, yürütme hızı ve önbellek ve bir ardışık düzen kullanılarak elde edilen boşta kalma sürelerinin azaltılması üzerindedir.

    GPU

    GPU'nun ana işlevi, 3B grafikleri ve görsel efektleri oluşturmaktır, bu nedenle, içinde her şey biraz daha basittir: girişte çokgenler alması ve üzerlerinde gerekli matematiksel ve mantıksal işlemleri yaptıktan sonra piksel koordinatlarını vermesi gerekir. çıkışta. Aslında, GPU'nun işi, çok sayıda bağımsız görev üzerinde çalışmaya indirgenmiştir, bu nedenle, büyük miktarda bellek içerir, ancak CPU'daki kadar hızlı değildir ve çok sayıda yürütme birimi içerir: modern GPU'lar 2048 veya daha fazlası, CPU gibiyken sayıları 48'e ulaşabilir, ancak çoğu zaman sayıları 2-8 aralığındadır.

    Ana farklılıklar

    CPU, öncelikle belleğe erişme biçiminde GPU'dan farklıdır. GPU'da bağlantılıdır ve kolayca tahmin edilebilir - bellekten bir doku metni okunursa, bir süre sonra sıra komşu metinlere gelir. Kayıtta durum benzerdir - çerçeve arabelleğine bir piksel yazılır ve birkaç döngüden sonra yanında bulunan piksel kaydedilir. Ayrıca GPU, genel amaçlı işlemcilerin aksine, büyük bir önbelleğe ihtiyaç duymaz ve dokular yalnızca 128-256 kilobayt gerektirir. Ek olarak, video kartlarında daha hızlı bellek kullanılır ve sonuç olarak GPU'nun kullanılabilir bant genişliği çok daha fazladır, bu da büyük veri akışlarıyla çalışan paralel hesaplamalar için çok önemlidir.

    Çoklu okuma desteğinde birçok fark vardır: CPU 1'i çalıştırır. İşlemci çekirdeği başına 2 hesaplama iş parçacığı ve GPU, çoklu işlemci başına birkaç bin iş parçacığını destekleyebilir ve bunlardan bir yongada birkaç tane bulunur! Ve CPU için bir iş parçacığından diğerine geçiş yüzlerce döngüye mal oluyorsa, GPU bir döngüde birkaç iş parçacığını değiştirir.

    CPU'da, çip alanının çoğu talimat arabellekleri, donanım şubesi tahmini ve büyük miktarda önbellek tarafından işgal edilirken, GPU'da alanın çoğu yürütme birimleri tarafından işgal edilir. Yukarıdaki cihaz şematik olarak aşağıda gösterilmiştir:

    Hesaplama hızı farkı

    CPU, programın talimatlarına göre kararlar veren bir tür "patron" ise, GPU da aynı türden büyük miktarda hesaplama yapan bir "işçi" dir. Basit bağımsız matematik problemlerini GPU'ya gönderirseniz, merkezi işlemciden çok daha hızlı başa çıkacağı ortaya çıktı. Bu fark, bitcoin madencileri tarafından başarıyla kullanılmaktadır.

    Bitcoin madenciliği

    Madenciliğin özü, dünyanın farklı yerlerinde bulunan bilgisayarların matematiksel problemleri çözmesi ve bunun sonucunda bitcoinlerin yaratılmasıdır. Zincir boyunca tüm bitcoin transferleri, işi milyonlarca kombinasyon arasından tüm yeni işlemlerle eşleşen tek bir hash ve madenciye bir seferde 25 bitcoin ödül sağlayacak gizli bir anahtar seçmek olan madencilere aktarılır. Hesaplama hızı doğrudan yürütme birimlerinin sayısına bağlı olduğundan, GPU'nun bu tür görevleri gerçekleştirmek için CPU'dan çok daha uygun olduğu ortaya çıktı. Yapılan hesaplamaların sayısı ne kadar fazlaysa, bitcoin alma şansı o kadar yüksek olur. Hatta video kartlarından tüm çiftliklerin inşasına geldi.

    Birçoğu GPU kısaltmasını gördü, ancak herkes bunun ne olduğunu bilmiyor. Bu bileşen dahil olan video kartları. Bazen buna video kartı denir, ancak bu doğru değildir. GPU devrede işlemeüç boyutlu bir görüntü oluşturan komutlar. Bu, gücüne bağlı olan ana unsurdur. verim tüm video sistemi.

    Yemek yemek birkaç tür böyle cipsler ayrık Ve yerleşik. Tabii ilkinin daha iyi olduğunu hemen belirtmekte fayda var. Ayrı modüller üzerine yerleştirilmiştir. Güçlüdür ve iyiyi gerektirir soğutma. İkincisi neredeyse tüm bilgisayarlara kurulur. CPU'nun içine yerleştirilmiştir ve güç tüketimini birkaç kat daha azaltır. Tabii ki, tam teşekküllü ayrık yongalarla karşılaştırılamaz, ancak şu anda oldukça iyi görünüyor. sonuçlar.

    işlemci nasıl çalışır

    GPU devreye girdi işleme 2D ve 3D grafikler. GPU sayesinde bilgisayarın CPU'su daha özgür hale gelir ve daha önemli görevleri yerine getirebilir. GPU'nun temel özelliği, hızı artırmak grafik bilgilerinin hesaplanması. Çip mimarisi daha fazlasını sağlar yeterlik Grafik bilgilerini bir PC'nin merkezi CPU'sundan daha fazla işleyin.

    GPU setleri konumçerçevede üç boyutlu modeller. Nişanlı filtreleme içerdikleri üçgenlerden hangilerinin görünür olduğunu belirler ve diğer nesneler tarafından gizlenenleri keser.

    GPU (Grafik İşleme Birimi), özellikle grafik işleme işlemleri ve kayan nokta hesaplamaları için tasarlanmış bir işlemcidir. Yoğun kaynak kullanan oyunlar veya 3B grafiklere sahip uygulamalar söz konusu olduğunda, öncelikle ana işlemcinin işini kolaylaştırmak için vardır. Bir oyun oynadığınızda, GPU grafik, renk ve doku oluşturmaktan sorumluyken, CPU yapay zeka veya oyun mekaniğini işleyebilir.

    Akıllı telefon seçerken ilk neye bakıyoruz? Maliyeti bir an için bir kenara bırakırsak ilk seçtiğimiz şey elbette ekran boyutu oluyor. Ardından kamera, RAM miktarı, çekirdek sayısı ve işlemcinin frekansı ile ilgileniyoruz. Ve burada her şey basit: sırasıyla ne kadar çok, o kadar iyi ve ne kadar az, o kadar kötü. Bununla birlikte, modern aygıtlar aynı zamanda GPU olarak da bilinen bir grafik işlemci kullanır. Nedir, nasıl çalışır ve bunun hakkında bilmenin neden önemli olduğunu aşağıda açıklayacağız.

    GPU'nun mimarisi CPU'nunkinden çok farklı değildir, ancak verimli grafik çalışması için daha optimize edilmiştir. GPU'yu başka bir hesaplama yapmaya zorlarsanız, en kötü tarafından kendini gösterecektir.

    Ayrı ayrı bağlanan ve yüksek güçte çalışan ekran kartları sadece laptop ve masaüstü bilgisayarlarda bulunur. Cihazlardan bahsediyorsak, entegre grafiklerden ve SoC (System-on-a-Chip) dediğimiz şeyden bahsediyoruz. Örneğin işlemci entegre bir Adreno 430 GPU'ya sahiptir, çalışması için kullandığı bellek sistem belleği iken, masaüstü PC'lerdeki ekran kartlarına yalnızca kendilerine ayrılan bellek ayrılmıştır. Doğru, hibrit çipler var.

    Birden fazla çekirdeğe sahip bir işlemci yüksek hızlarda çalışırken, bir GPU'nun düşük hızlarda çalışan ve yalnızca köşe ve piksel hesaplamaları yapan birçok işlemci çekirdeği vardır. Vertex işleme çoğunlukla koordinat sistemi etrafında döner. GPU, ekranda üç boyutlu bir alan oluşturarak ve nesnelerin içinde hareket etmesine izin vererek geometrik görevleri yerine getirir.

    Piksel işleme, çok fazla bilgi işlem gücü gerektiren daha karmaşık bir işlemdir. Bu noktada, GPU çeşitli katmanları üst üste bindirir, efektler uygular, karmaşık dokular ve gerçekçi grafikler oluşturmak için her şeyi yapar. Her iki işlem de yapıldıktan sonra sonuç akıllı telefonunuzun veya tabletinizin ekranına aktarılır. Tüm bunlar siz oyun oynarken saniyede milyonlarca kez oluyor.

    Tabii ki, GPU'nun çalışmasıyla ilgili bu hikaye çok yüzeysel, ancak doğru genel fikri elde etmek ve yoldaşlarla veya bir elektronik satıcısıyla sohbet edebilmek veya cihazınızın neden bu kadar ısındığını anlamak için yeterli. oyun. Daha sonra, belirli oyun ve görevlerle çalışırken belirli GPU'ların avantajlarını kesinlikle tartışacağız.

    AndroidPit'e göre