Hücre (mikroişlemci) - Cell (microprocessor)

Hücre bir olan çok çekirdekli mikroişlemci mikro mimari birleştirir bir genel amaçlı PowerPC çekirdek aerodinamik ile mütevazı performansın ortak olarak işlenmesi ölçüde hızlandıran unsurların multimedya ve vektör işleme uygulamaları yanı sıra özel hesaplama diğer birçok formları.

"STI" olarak bilinen bir ittifak olan Sony , Toshiba ve IBM tarafından geliştirilmiştir . Mimari tasarım ve ilk uygulama, Mart 2001'den başlayarak dört yıllık bir süre boyunca Austin, Teksas'taki STI Tasarım Merkezi'nde Sony tarafından 400 milyon ABD Dolarına yaklaşan bir bütçeyle gerçekleştirildi . Hücre, Hücre Geniş Bant Motor Mimarisi'nin kısaltmasıdır ve genellikle tam olarak CBEA veya kısmen Hücre BE olarak kısaltılır .

Cell'in ilk büyük ticari uygulaması, 2006'da piyasaya sürülen Sony'nin PlayStation 3 oyun konsolundaydı . Mayıs 2008'de, Cell tabanlı IBM Roadrunner süper bilgisayarı , ilk TOP500 LINPACK sürdürülebilir 1.0 petaflop sistemi oldu. Mercury Bilgisayar Sistemleri ayrıca Hücreye dayalı tasarımlar geliştirdi.

Hücre mimarisi, güç verimliliğini vurgulayan, düşük gecikme süresi yerine bant genişliğine öncelik veren ve program kodunun basitliği yerine en yüksek hesaplama verimini tercih eden bir bellek tutarlılık mimarisi içerir . Bu nedenlerle Cell, yaygın olarak yazılım geliştirme için zorlu bir ortam olarak kabul edilir . IBM, geliştiricilerin Hücre yongaları için program yapmasına yardımcı olmak için Linux tabanlı bir geliştirme platformu sağlar.

Tarih

Anakarttaki PS3'te göründüğü şekliyle BE hücresi
Hücre mikroişlemcisinin baş mimarlarından biri olan Peter Hofstee

2000 yılının ortalarında Sony Computer Entertainment , Toshiba Corporation ve IBM , işlemciyi tasarlamak ve üretmek için "STI" olarak bilinen bir ittifak kurdu.

STI Tasarım Merkezi Mart 2001'de açıldı. Hücre, POWER4 işlemcisi için tasarım araçlarının geliştirilmiş versiyonları kullanılarak dört yıllık bir süre içinde tasarlandı . Üç şirketten 400'den fazla mühendis, IBM'in on bir tasarım merkezinden kritik destek alarak Austin'de birlikte çalıştı. Bu dönemde IBM , Hücre mimarisi, üretim süreci ve yazılım ortamı ile ilgili birçok patent başvurusunda bulundu . Geniş Bant Motorunun erken bir patent versiyonunun, şu anda Güç İşleme Elemanı (PPE) olarak bilinen şeyin patentin açıklaması olan dört "İşleme Elemanı" içeren bir çip paketi olduğu gösterildi . Her İşleme Elemanı , çip üzerinde 8 "Sinerjik İşlem Elemanı" ( SPE'ler ) içerecektir . Bu çip paketinin 4 GHz saat hızında çalışması ve her biri 32 gigaFLOPS (FP8 çeyrek hassasiyet) sağlayan 32 SPE ile çalışması gerekiyordu  , Geniş Bant Motorunun teoride 1 teraFLOPS ham bilgi işlem gücüne sahip olması gerekiyordu.

4 KKD ve 32 SPE'li tasarım hiçbir zaman gerçekleştirilmedi. Bunun yerine Sony ve IBM, yalnızca bir KKD ve 8 SPE içeren bir tasarım üretti. Bu daha küçük tasarım, Hücre Geniş Bant Motoru veya Hücre/BE, 90 nm SOI işlemi kullanılarak üretildi .

Mart 2007'de IBM , Cell/BE'nin 65 nm versiyonunun, Bandai Namco Entertainment'ın Cell/BE işlemcisini kullanarak, East Fishkill, New York'taki fabrikasında (o zamanlar, şimdi GlobalFoundries') üretimde olduğunu duyurdu . 357 arcade board ve sonraki 369.

Şubat 2008'de IBM, 45 nm süreci ile Hücre işlemcileri üretmeye başlayacağını duyurdu .

Mayıs 2008'de IBM, Hücre işlemcisinin yüksek performanslı çift duyarlıklı kayan noktalı sürümü olan PowerXCell 8i'yi 65 nm özellik boyutunda tanıttı .

Mayıs 2008'de, Opteron ve PowerXCell 8i tabanlı bir süper bilgisayar olan IBM Roadrunner sistemi, bir petaFLOPS elde eden dünyanın ilk sistemi oldu ve 2009'un üçüncü çeyreğine kadar dünyanın en hızlı bilgisayarıydı. Dünyanın enerji açısından en verimli üç süper bilgisayarı Green500 listesi tarafından temsil edildiği gibi , benzer şekilde PowerXCell 8i'ye dayanmaktadır.

Ağustos 2009'da 45 nm Hücre işlemcisi Sony'nin PlayStation 3 Slim'i ile uyumlu olarak tanıtıldı .

Kasım 2009'a kadar IBM, 32 APU'lu bir Hücre işlemcisinin geliştirilmesini durdurdu, ancak hala diğer Hücre ürünlerini geliştiriyordu.

ticarileştirme

17 Mayıs 2005'te Sony Computer Entertainment, o sırada piyasaya çıkacak olan PlayStation 3 konsolunda piyasaya sürülecek olan Cell işlemcinin bazı özelliklerini doğruladı . Bu Hücre konfigürasyonunun çekirdek üzerinde bir KKD'si vardır ve silikonda sekiz fiziksel SPE bulunur. PlayStation 3'te, üretim verimini artırmaya yardımcı olan bir uygulama olan test süreci sırasında bir SPE kilitlenir ve bir diğeri işletim sistemi için ayrılır ve oyunların kodu tarafından kullanılmak üzere 6 ücretsiz SPE bırakır. Girişteki hedef saat frekansı 3.2  GHz'dir . Başlangıç ​​tasarımı, IBM'in East Fishkill, New York'taki tesisi için planlanan ilk hacimli üretimle birlikte 90 nm SOI işlemi kullanılarak üretilmiştir .

Çekirdekler ve iş parçacıkları arasındaki ilişki , yaygın bir karışıklık kaynağıdır. KKD çekirdeği çift ​​iş parçacıklıdır ve yazılımda her bir aktif SPE tek bir iş parçacığı olarak ortaya çıkarken, iki bağımsız yürütme iş parçacığı olarak kendini gösterir. Sony tarafından açıklanan PlayStation 3 yapılandırmasında, Hücre işlemcisi dokuz bağımsız yürütme dizisi sağlar.

28 Haziran 2005'te IBM ve Mercury Computer Systems , tıbbi görüntüleme , endüstriyel denetim , havacılık ve savunma , sismik işleme ve telekomünikasyon gibi gömülü uygulamalar için Hücre tabanlı bilgisayar sistemleri kurmak için bir ortaklık anlaşması duyurdu . O zamandan beri Mercury, Blade'leri , geleneksel raf sunucularını ve Hücre işlemcili PCI Express hızlandırıcı kartlarını piyasaya sürdü .

2006 sonbaharında IBM , belirli uygulamalarda muazzam performans için çift Cell BE işlemcileri kullanan QS20 blade modülünü piyasaya sürdü ve modül başına FP8 çeyrek hassasiyetinde 410 gigaFLOPS'luk bir zirveye ulaştı. QS22 PowerXCell 8i işlemci tabanlı için kullanılmıştır IBM Roadrunner süper bilgisayar. Mercury ve IBM, sekiz aktif SPE ile tam olarak kullanılan Hücre işlemcisini kullanır. 8 Nisan 2008'de Fixstars Corporation , PowerXCell 8i işlemciye dayalı bir PCI Express hızlandırıcı kartı yayınladı .

Sony'nin yüksek performanslı medya bilgi işlem sunucusu ZEGO , 3,2 GHz Hücre/BE işlemci kullanır.

genel bakış

Hücre Genişbant Motor veya hücre daha yaygın olarak bilinen, olduğu gibi bir mikro-işlemci (örneğin, geleneksel bir masaüstü işlemcisi melez olarak tasarlanmaktadır Athlon 64 ve Çekirdek 2 gibi türlere) ve daha özel yüksek performanslı işlemci, NVIDIA'ya ve ATI grafik işlemcileri ( GPU'lar ). Daha uzun ad, kullanım amacını, yani mevcut ve gelecekteki çevrimiçi dağıtım sistemlerinde bir bileşen olarak gösterir ; bu nedenle yüksek çözünürlüklü ekranlarda ve kayıt ekipmanlarında olduğu kadar HDTV sistemlerinde de kullanılabilir. Ek olarak işlemci, dijital görüntüleme sistemlerine (tıbbi, bilimsel, vb. ) ve fiziksel simülasyona ( örneğin , bilimsel ve yapısal mühendislik modellemesi) uygun olabilir.

Basit bir analizde, Hücre işlemcisi dört bileşene ayrılabilir: harici giriş ve çıkış yapıları, Güç İşleme Öğesi (PPE) olarak adlandırılan ana işlemci (iki yönlü eşzamanlı çok iş parçacıklı PowerPC 2.02 çekirdeği), sekiz tam işlevli ortak Sinerjistik İşleme Öğeleri veya SPE'ler olarak adlandırılan işlemciler ve KKD'yi, giriş/çıkış öğelerini ve SPE'leri birbirine bağlayan, Eleman Ara Bağlantı Veri Yolu veya EIB olarak adlandırılan özel bir yüksek bant genişliğine sahip dairesel veri yolu .

MPEG akışlarının kodunun çözülmesi/kodlanması , üç boyutlu verilerin oluşturulması veya dönüştürülmesi veya verilerin Fourier analizinin gerçekleştirilmesi gibi matematiksel olarak yoğun görevler için gereken yüksek performansı elde etmek için Hücre işlemcisi, erişim sağlamak için EIB aracılığıyla SPE'leri ve KKD'yi birleştirir. Tutarlı DMA'yı (doğrudan bellek erişimi) hem ana belleğe hem de diğer harici veri depolarına tamamen önbelleğe alır . EIB'den en iyi şekilde yararlanmak ve hesaplama ve veri aktarımını çakıştırmak için, dokuz işlem öğesinin (KKD ve SPE'ler) her biri bir DMA motoruyla donatılmıştır . SPE'nin yükleme/depolama talimatları yalnızca kendi yerel karalama defteri belleğine erişebildiğinden , her bir SPE, ana belleğe ve diğer SPE'lerin yerel belleklerine veri aktarmak için tamamen DMA'lara bağlıdır. Bir DMA işlemi, 16 KB'ye kadar olan tek bir blok alanını veya 2 ila 2048 bloktan oluşan bir listeyi aktarabilir. Hücre mimarisindeki en önemli tasarım kararlarından biri, bir çip içinde veri işlemede maksimum eşzamansızlığa ve eşzamanlılığa olanak sağlamak amacıyla, çip içi veri aktarımının merkezi bir aracı olarak DMA'ların kullanılmasıdır.

Geleneksel bir işletim sistemini çalıştırabilen KKD, SPE'ler üzerinde kontrole sahiptir ve SPE'lerde çalışan süreçleri başlatabilir, durdurabilir, kesebilir ve programlayabilir. Bu amaçla, KKD, SPE'lerin kontrolüne ilişkin ek talimatlara sahiptir. SPE'lerin aksine, KKD, standart yükleme/depolama talimatları yoluyla SPE'lerin ana belleğini ve yerel belleklerini okuyabilir ve yazabilir. Turing'in eksiksiz mimarilerine sahip olmalarına rağmen , SPE'ler tamamen özerk değildir ve herhangi bir yararlı iş yapmadan önce KKD'nin bunları hazırlamasını gerektirir. Sistemin "beygir gücünün" çoğu sinerjik işlem öğelerinden geldiğinden, bir veri aktarımı yöntemi olarak DMA kullanımı ve her bir SPE'nin sınırlı yerel bellek ayak izi, en iyi şekilde yararlanmak isteyen yazılım geliştiriciler için büyük bir zorluk teşkil etmektedir. Bu CPU'dan maksimum performans elde etmek için programların dikkatli bir şekilde elle ayarlanmasını gerektiren bu beygir gücü.

KKD ve veri yolu mimarisi, farklı seviyelerde bellek koruması sağlayan çeşitli çalışma modları içerir ve bu, bellek alanlarının SPE'ler veya KKD üzerinde çalışan belirli işlemler tarafından erişime karşı korunmasına izin verir.

Hem PPE hem de SPE, sabit genişlikte 32 bit talimat formatına sahip RISC mimarileridir. KKD, 64 bit genel amaçlı kayıt seti (GPR), 64 bit kayan nokta kayıt seti (FPR) ve 128 bit Altivec kayıt seti içerir. SPE yalnızca 128 bitlik kayıtlar içerir. Bunlar, 8-bit ile 64-bit arasında değişen skaler veri türleri için veya çeşitli tamsayı ve kayan nokta formatlarında SIMD hesaplamaları için kullanılabilir. Hem PPE hem de SPE için sistem bellek adresleri, 2 64 baytlık (16 eksabayt veya 16.777.216 terabayt) teorik adres aralığı için 64 bit değerler olarak ifade edilir . Pratikte, bu bitlerin tümü donanımda uygulanmaz. SPU (Sinerjistik İşlemci Birimi) işlemcisinin içindeki yerel depo adresleri 32 bit sözcük olarak ifade edilir. Hücre ile ilgili belgelerde bir kelime her zaman 32 bit, bir çift kelime 64 bit ve bir dört kelime 128 bit anlamına gelir.

PowerXCell 8i

2008'de IBM, IBM'in QS22 Blade Sunucularında bulunan PowerXCell 8i adlı Hücrenin gözden geçirilmiş bir varyantını duyurdu . PowerXCell, 65 nm'lik bir işlemde üretilmiştir ve 32 GB'a kadar yuvalı DDR2 bellek desteği ekler ve ayrıca SPE'lerde çift ​​duyarlıklı kayan nokta performansını yaklaşık 12,8  GFLOPS'tan toplamda 102,4 GFLOPS'a yükseltir. tesadüfen, aynı zamanda piyasaya sürülen NEC SX-9 vektör işlemcisiyle aynı en yüksek performansa sahip sekiz SPE . 2008-2009 döneminde dünyanın en hızlısı olan IBM Roadrunner süper bilgisayarı, 12.240 PowerXCell 8i işlemciden ve 6.562 AMD Opteron işlemciden oluşuyordu . PowerXCell 8i destekli süper bilgisayarlar, Green500 listesindeki en iyi 6 "en yeşil" sistemin tümüne de hakim oldu ve dünyadaki en yüksek MFLOPS/Watt oranlı süper bilgisayarlarla. QS22 ve süper bilgisayarların yanı sıra, PowerXCell işlemci bir PCI Express kartında hızlandırıcı olarak da bulunur ve QPACE projesinde çekirdek işlemci olarak kullanılır .

PowerXCell 8i, RAMBUS bellek arabirimini kaldırdığından ve önemli ölçüde daha büyük DDR2 arabirimleri ve geliştirilmiş SPE'ler eklediğinden, yonga düzeninin yeniden işlenmesi gerekti, bu da hem daha büyük yonga kalıbı hem de paketleme ile sonuçlandı.

Mimari

Şema Hücresi.png

Hücre çipi bir dizi farklı konfigürasyona sahip olabilirken, temel konfigürasyon, bir "Güç İşlemcisi Elemanı" ("PPE") (bazen "İşleme Elemanı" veya "PE" olarak adlandırılır) ve birden fazla sayıdan oluşan çok çekirdekli bir çiptir. "Sinerjik İşleme Elemanları" ("SPE"). KKD ve SPE'ler, "Element Interconnect Bus" ("EIB") olarak adlandırılan dahili bir yüksek hızlı veri yolu ile birbirine bağlanır.

Güç İşlemcisi Elemanı (PPE)

KKD (Hücre).png

PPE olan PowerPC göre, çift sayısında değerli iki-yollu eş zamanlı-iş parçacıklı işlemci hesaplama yükünün en başa sekiz SPE'ler, için kontrol olarak görev yapan bir 23 aşamalı boru hattı ile çekirdek. KKD'nin sıra dışı yürütme yetenekleri sınırlıdır; bozuk yükleri gerçekleştirebilir ve gecikmeli yürütme ardışık düzenlerine sahiptir . KKD, diğer 64-bit PowerPC işlemcilere benzerliği nedeniyle geleneksel işletim sistemleriyle çalışacakken, SPE'ler vektörleştirilmiş kayan noktalı kod yürütme için tasarlanmıştır. KKD, 64 KiB seviye 1 önbellek (32 KiB talimat ve 32 KiB veri) ve 512 KiB Seviye 2 önbellek içerir. Önbellek satırının boyutu 128 bayttır. Ek olarak, IBM, tek duyarlıklı kayan nokta (Altivec 1 çift ​​duyarlıklı kayan nokta vektörlerini desteklemez.) için tamamen ardışık düzene bağlanan bir AltiVec (VMX) birimi , 64-bit kayıt dosyasına sahip 32-bit Sabit Nokta Birimi (FXU) eklemiştir. iş parçacığı başına, Yükleme ve Depolama Birimi (LSU) , 64-bit Kayan Nokta Birimi (FPU) , Şube Birimi (BRU) ve Şube Yürütme Birimi (BXU). KKD üç ana birimden oluşur: Komut Birimi (IU), Yürütme Birimi (XU) ve vektör/skaler yürütme birimi (VSU). IU, L1 talimat önbelleğini, dal tahmin donanımını, talimat arabelleklerini ve bağımlılık kontrol mantığını içerir. XU, tamsayı yürütme birimlerini (FXU) ve yük depolama birimini (LSU) içerir. VSU, FPU ve VMX için tüm yürütme kaynaklarını içerir. Her KKD , 3,2 GHz'de 6,4 GFLOPS'a çeviren bir skaler kaynaşmış-çarpma-ekleme talimatı kullanarak saat döngüsü başına iki çift kesinlikli işlemi tamamlayabilir  ; veya 3,2 GHz'de 25.6 GFLOPS'a çeviren vektör birleştirilmiş-çarpma-ekleme talimatı ile saat döngüsü başına sekiz tek duyarlıklı işlem.

Xbox 360'ta Xenon

KKD, özellikle Hücre işlemcisi için tasarlandı, ancak geliştirme sırasında Microsoft , Xbox 360'ı için yüksek performanslı bir işlemci çekirdeği istemek için IBM'e yaklaştı . IBM , eklenen VMX128 uzantıları ile KKD'nin biraz değiştirilmiş bir versiyonuna dayanan üç çekirdekli Xenon işlemciye uydu ve bunu yaptı.

Sinerjik İşleme Elemanları (SPE)

SPE (hücre).png

Her SPE, bir "Sinerjistik İşleme Birimi", SPU ve bir "Bellek Akışı Denetleyicisi", MFC'den ( DMA , MMU ve veri yolu arabiriminden) oluşan ikili bir sıralama işlemcisidir . SPE'lerin herhangi bir dal tahmin donanımı yoktur (dolayısıyla derleyici üzerinde ağır bir yük vardır). Her SPE'nin her bir SPE'de tek ve çift ardışık hatlar arasında bölünmüş 6 yürütme birimi vardır: SPU, tek ve çift kesinlikli talimatlar için 128 bit SIMD organizasyonu ile özel olarak geliştirilmiş bir talimat seti (ISA) çalıştırır . Hücrenin şu anki nesliyle, her SPE, talimat ve veriler için "Yerel Depolama" (Sony'nin VRAM'a atıfta bulunan belgelerinde "Yerel Bellek" ile karıştırılmamalıdır) olarak adlandırılan 256 KiB gömülü bir SRAM içerir  ve bu, KKD ve doğrudan yazılım tarafından ele alınabilir. Her SPE, 4 GiB'a kadar yerel depolama belleğini destekleyebilir. Yerel depo , ne yazılıma karşı şeffaf olmadığından ne de hangi verilerin yükleneceğini tahmin eden donanım yapıları içermediğinden geleneksel bir CPU önbelleği gibi çalışmaz. SPE'ler 128 bit, 128 girişli bir kayıt dosyası içerir ve 90 nm'lik bir işlemde 14,5 mm 2 ölçer . Bir SPE, tek bir saat döngüsünde on altı adet 8 bitlik tam sayı, sekiz adet 16 bitlik tam sayı, dört adet 32 ​​bitlik tam sayı veya dört adet tek duyarlıklı kayan noktalı sayı üzerinde ve ayrıca bir bellek işlemi üzerinde çalışabilir. SPU'nun sistem belleğine doğrudan erişemediğini unutmayın; SPU tarafından oluşturulan 64 bit sanal bellek adresleri, sistem adres alanı içinde bir DMA işlemi kurmak için SPU'dan SPE bellek akış denetleyicisine (MFC) geçirilmelidir.

Tipik bir kullanım senaryosunda, sistem SPE'leri küçük programlarla ( dişlere benzer ) yükleyerek, karmaşık bir işlemdeki her adımı işlemek için SPE'leri birbirine zincirler. Örneğin, bir set üstü kutu DVD okuma, video ve ses kod çözme ve görüntüleme için programlar yükleyebilir ve veriler sonunda TV'de bitene kadar SPE'den SPE'ye aktarılır. Diğer bir olasılık, giriş veri setini bölümlere ayırmak ve aynı tür işlemi paralel olarak gerçekleştiren birkaç SPE'ye sahip olmaktır. 3,2 GHz'de, her bir SPE teorik olarak 25.6 GFLOPS'luk tek duyarlıklı performans sağlar.

Kişisel bilgisayar çağdaşlarıyla karşılaştırıldığında , bir Hücre işlemcisinin nispeten yüksek genel kayan nokta performansı, Pentium 4 ve Athlon 64 gibi CPU'lardaki SIMD biriminin yeteneklerini görünüşte gölgede bırakıyor . Ancak, bir sistemin yalnızca kayan nokta yeteneklerini karşılaştırmak tek boyutlu ve uygulamaya özel bir ölçümdür. Bir Hücre işlemcisinden farklı olarak, bu tür masaüstü CPU'ları, genellikle kişisel bilgisayarlarda çalışan genel amaçlı yazılıma daha uygundur. Intel ve AMD işlemcileri, saat başına birden çok talimat yürütmenin yanı sıra dal tahmincilerine de sahiptir . Hücre, şubeye hazırlık talimatlarının oluşturulduğu derleyici yardımı ile bunu telafi etmek için tasarlanmıştır. Bazen kişisel bilgisayarlarda ve sıklıkla bilimsel hesaplamada kullanıldığı gibi çift duyarlıklı kayan nokta işlemleri için, Hücre performansı bir büyüklük sırasına göre düşer, ancak yine de 20,8 GFLOPS'a (SPE başına 1,8 GFLOPS, KKD başına 6,4 GFLOPS) ulaşır. Çift hassasiyet için özel olarak tasarlanmış PowerXCell 8i varyantı, çift hassasiyetli hesaplamalarda 102.4 GFLOPS'a ulaşıyor.

IBM tarafından yapılan testler, SPE'lerin optimize edilmiş paralel matris çarpımı çalıştırarak teorik en yüksek performanslarının %98'ine ulaşabileceğini göstermektedir.

Toshiba , dört SPE tarafından desteklenen bir ortak işlemci geliştirdi , ancak tüketici elektroniğinde 3D ve film efektlerini hızlandırmak için tasarlanan SpursEngine adlı bir KKD geliştirmedi.

Her SPE'nin 256 KB'lık bir yerel belleği vardır. Toplamda, SPE'lerin 2 MB yerel belleği vardır.

Element Interconnect Bus (EIB)

EIB, çeşitli çip üstü sistem öğelerini birbirine bağlayan Hücre işlemcisine dahili bir iletişim veriyoludur: toplamda PPE işlemcisi, bellek denetleyicisi (MIC), sekiz SPE yardımcı işlemcisi ve iki çip dışı G/Ç arabirimi. PS3'teki 12 katılımcıdan (endüstriyel uygulamalarda SPU sayısı değişebilir). AYB ayrıca bir dizi trafik ışığı olarak işlev gören bir tahkim birimi içerir. Bazı belgelerde IBM, EIB katılımcılarından 'birimler' olarak bahseder.

EIB şu anda çiftler halinde ters yönde dönen 16 bayt genişliğinde dört tek yönlü kanaldan oluşan dairesel bir halka olarak uygulanmaktadır. Trafik kalıpları izin verdiğinde, her kanal aynı anda en fazla üç işlemi iletebilir. EIB sistem saat hızının yarısında çalıştığı için etkin kanal hızı her iki sistem saatinde 16 bayttır. Dört halkanın her birinde üç aktif işlemle maksimum eşzamanlılıkta , anlık EIB bant genişliği saat başına 96 bayttır (12 eşzamanlı işlem × 16 bayt genişlik / aktarım başına 2 sistem saati). Bu rakam genellikle IBM literatüründe alıntılanırken, bu sayıyı işlemci saat hızına göre basitçe ölçeklendirmek gerçekçi değildir. Tahkim birimi ek kısıtlamalar getirir .

EIB baş tasarımcısı IBM Kıdemli Mühendisi David Krolak , eşzamanlılık modelini açıklıyor:

Bir halka her üç döngüde bir yeni bir operasyon başlatabilir. Her transfer her zaman sekiz vuruş alır. Bu yaptığımız basitleştirmelerden biriydi, çok fazla veri akışı için optimize edildi. Küçük operasyonlar yaparsanız, pek de işe yaramaz. Bu rayın etrafında dönen sekiz vagonlu tren düşünürseniz, trenler birbirine çarpmadığı sürece rayda bir arada var olabilirler.

EIB'deki her katılımcının bir adet 16 baytlık okuma bağlantı noktası ve bir adet 16 baytlık yazma bağlantı noktası vardır. Tek bir katılımcı için sınır, EIB saati başına 16 bayt hızında okuma ve yazmadır (basitlik için genellikle sistem saati başına 8 bayt olarak kabul edilir). Her SPU işlemcisi , SPU'nun devam eden hesaplamalarına müdahale etmeden çeşitli uç noktalara uzun işlem dizilerini zamanlayabilen özel bir DMA yönetim kuyruğu içerir ; bu DMA kuyrukları, yerel olarak veya uzaktan da yönetilebilir, bu da kontrol modelinde ek esneklik sağlar.

Veri, halka etrafında adım adım bir EIB kanalında akar. On iki katılımcı olduğu için, başlangıç ​​noktasına geri dönen kanalın etrafındaki toplam adım sayısı on ikidir. Altı adım, herhangi bir katılımcı çifti arasındaki en uzun mesafedir. Bir EIB kanalının altıdan fazla adım gerektiren verileri iletmesine izin verilmez; bu tür veriler, diğer yönde dairenin etrafındaki daha kısa rotayı almalıdır. Paketin gönderilmesinde yer alan adımların sayısının aktarım gecikmesi üzerinde çok az etkisi vardır: adımları yönlendiren saat hızı, diğer hususlara göre çok hızlıdır. Bununla birlikte, daha uzun iletişim mesafeleri , mevcut eşzamanlılığı azalttığı için AYB'nin genel performansı için zararlıdır.

IBM'in EIB'yi daha güçlü bir çapraz çubuk olarak uygulamaya yönelik orijinal arzusuna rağmen, kaynakları yedeklemek için benimsedikleri dairesel yapılandırma, bir bütün olarak Hücre yongasının performansı üzerinde nadiren sınırlayıcı bir faktör teşkil eder. En kötü durumda, programcı, EIB'nin yüksek eşzamanlılık seviyelerinde çalışabileceği iletişim modellerini planlamak için ekstra özen göstermelidir.

David Krolak açıkladı:

Pekala, başlangıçta, geliştirme sürecinin başlarında, birkaç kişi bir bağlantı çubuğu anahtarı için bastırıyordu ve veri yolunun tasarlanma şekli, daha fazla silikon ayırmaya istekli olsaydınız, aslında EIB'yi çıkarabilir ve bir bağlantı çubuğu anahtarı takabilirsiniz. kablolama için çip üzerinde boşluk. Bağlantı ve alan arasında bir denge bulmamız gerekiyordu ve tam bir çapraz çubuk anahtarı koymak için yeterli alan yoktu. Bu yüzden çok ilginç olduğunu düşündüğümüz bu halka yapısını bulduk. Alan kısıtlamalarına uyuyor ve yine de çok etkileyici bant genişliğine sahip.

Bant genişliği değerlendirmesi

3,2 GHz'de her kanal 25,6 GB/s hızında akar. EIB'yi, bağlandığı sistem öğelerinden ayrı olarak görmek, bu akış hızında on iki eşzamanlı işlemin gerçekleştirilmesi, 307.2 GB/s'lik soyut bir EIB bant genişliğine ulaşır. Bu görüşe dayalı olarak birçok IBM yayını, kullanılabilir EIB bant genişliğini "300 GB/sn'den büyük" olarak tanımlar. Bu sayı, işlemci frekansına göre ölçeklenen en yüksek anlık EIB bant genişliğini yansıtır .

Ancak, veriyoluna kabul edilen paketler için tahkim mekanizmasında başka teknik kısıtlamalar söz konusudur. IBM Systems Performance grubu şunları açıkladı:

EIB'deki her birim, her veri yolu döngüsünde eşzamanlı olarak 16 bayt veri gönderip alabilir. Tüm EIB'nin maksimum veri bant genişliği, her veri yolu döngüsü için bir olan sistemdeki tüm birimlerde adreslerin gözetlendiği maksimum hız ile sınırlıdır. Her bir gözetlenen adres talebi potansiyel olarak 128 bayta kadar aktarım yapabildiğinden, EIB'deki 3,2 GHz'deki teorik tepe veri bant genişliği 128Bx1,6 GHz = 204,8 GB/sn'dir.

Bu alıntı, görünüşe göre, IBM'in bu mekanizmayı ve etkisini kamuya açıklamasının tam kapsamını temsil etmektedir. EIB tahkim birimi, gözetleme mekanizması ve segment veya sayfa çeviri hatalarında kesinti oluşturma, henüz IBM tarafından kamuya açıklanmış olan belgelerde tam olarak açıklanmamıştır.

Uygulamada, etkin EIB bant genişliği, ilgili halka katılımcıları tarafından da sınırlandırılabilir. Dokuz işlem çekirdeğinin her biri aynı anda 25,6 GB/sn okuma ve yazmayı sürdürebilirken, bellek arabirim denetleyicisi (MIC), birleştirilmiş okuma ve yazma işlemleri için maksimum 25,6 GB/sn akışa izin veren bir çift XDR bellek kanalına bağlıdır . iki IO denetleyicisi, 25,6 GB/sn'lik bir tepe birleşik giriş hızını ve 35 GB/sn'lik bir tepe birleşik çıkış hızını desteklediği belgelenmiştir.

Karışıklığa daha fazla eklemek için, bazı eski yayınlar, 4 GHz sistem saatini varsayarak EIB bant genişliğinden bahseder. Bu referans çerçevesi, 384 GB/sn'lik anlık bir EIB bant genişliği rakamı ve 256 GB/sn'lik bir tahkim-sınırlı bant genişliği rakamı ile sonuçlanır.

Teorik olarak en sık belirtilen 204.8 GB/sn sayısı olarak kabul edilen her şey, akılda tutulması gereken en iyisidir. IBM Systems Performans bu sayı pratikte üzerinde adil bir yansıması yanı bu yüzden grup 197 GB ulaşmada SPU merkezli veri akışlarının göstermiştir / 3.2 GHz hızında çalışan bir Cell işlemcisi üzerinde bu.

Bellek ve G/Ç denetleyicileri

Hücre, Rambus XDR belleğine arayüz oluşturan çift ​​kanallı bir Rambus XIO makrosu içerir . Bellek arabirim denetleyicisi (MIC), XIO makrosundan ayrıdır ve IBM tarafından tasarlanmıştır. XIO-XDR bağlantısı, pin başına 3,2 Gbit/s'de çalışır. İki adet 32 ​​bit kanal, teorik olarak maksimum 25,6 GB/sn sağlayabilir.

Aynı zamanda bir Rambus tasarımı olan G/Ç arayüzü, FlexIO olarak bilinir . FlexIO arabirimi, her biri tek yönlü 8 bit genişliğinde noktadan noktaya bir yol olan 12 şerit halinde düzenlenmiştir. Beş adet 8 bit genişliğinde noktadan noktaya yol, Hücre'ye gelen şeritlerdir, geri kalan yedi yol ise giden yollardır. Bu, 2,6 GHz'de 62,4 GB/sn (36.4 GB/sn giden, 26 GB/sn gelen) teorik bir tepe bant genişliği sağlar. FlexIO arayüzü bağımsız olarak saatlenebilir, type. 3.2 GHz'de. 4 gelen + 4 giden şerit, bellek tutarlılığını desteklemektedir.

Olası uygulamalar

Video işleme kartı

Leadtek gibi bazı şirketler, H.264 , MPEG-2 ve MPEG-4 videonun "gerçek zamandan daha hızlı" kod dönüştürmesine izin vermek için Hücreye dayalı PCI-E kartlarını piyasaya sürdü .

Yaprak sunucu

29 Ağustos 2007'de IBM, BladeCenter QS21'i duyurdu . Watt başına saniyede 1,05 giga-kayan nokta işlemi (gigaFLOPS) üreten ve yaklaşık 460 GFLOPS'luk en yüksek performansla bugüne kadarki en verimli bilgi işlem platformlarından biridir. Tek bir BladeCenter kasası, standart bir 42U rafta saniyede 6,4 tera-kayan nokta işlemi (teraFLOPS) ve 25,8 teraFLOPS'un üzerine ulaşabilir.

13 Mayıs 2008'de IBM, BladeCenter QS22'yi duyurdu . QS22, QS21'in çift duyarlıklı kayan nokta performansının beş katı ve 32 GB'a kadar Blade DDR2 bellek kapasitesine sahip PowerXCell 8i işlemciyi sunar.

IBM, 12 Ocak 2012'den itibaren Hücre işlemcilerine dayalı Blade sunucu serisini durdurdu.

PCI Express kartı

Birkaç şirket, IBM PowerXCell 8i'yi kullanan PCI-e kartları sağlar. Performans 2,8 GHz'de 179,2 GFlop (SP), 89,6 GFlop (DP) olarak bildiriliyor.

konsol video oyunları

Sony 'nin PlayStation 3 video oyun konsolu 3.2 saat hızında, Hücre işlemcinin ilk üretim uygulaması oldu  GHz ve Sony artmasını sağlayacak sekiz operasyonel SPElere, yedi out içeren verimi işlemci üretimi üzerine. Biri işletim sistemi tarafından rezerve edildiğinden, yedi SPE'den yalnızca altısı geliştiriciler tarafından erişilebilir durumdadır.

Ev Sineması

Toshiba, Cell kullanarak HDTV'ler üretti . 1920×1080 ekranda aynı anda 48 standart tanımlı MPEG-2 akışının kodunu çözmek için bir sistem sundular . Bu, izleyicinin ekranda aynı anda görüntülenen düzinelerce küçük resim videosuna dayalı olarak bir kanal seçmesini sağlayabilir.

süper bilgi işlem

IBM'in süper bilgisayarı IBM Roadrunner , General Purpose x86-64 Opteron ve Cell işlemcilerinin bir meleziydi . Bu sistem , standart LINPACK karşılaştırmasını kullanarak sürekli 1.026 petaFLOPS hızı elde ederek, petaFLOPS hızlarında çalışan ilk süper bilgisayar olarak Haziran 2008 Top 500 listesinde 1. sırayı aldı . IBM Roadrunner, 65 nm teknolojisi ve 128 bit kayıtlarda çift kesinlikli hesaplamaları işleyebilen gelişmiş SPU'lar kullanılarak üretilen Cell işlemcisinin PowerXCell 8i sürümünü kullandı ve çip başına çift kesinlikli 102 GFLOP'a ulaştı.

küme hesaplama

PlayStation 3 konsol kümeleri , Hücre kanatlarına dayalı üst düzey sistemlere çekici bir alternatiftir. Tennessee Üniversitesi Bilgisayar Bilimleri Bölümünde Jack Dongarra liderliğindeki bir grup olan Innovative Computing Laboratory, böyle bir uygulamayı derinlemesine araştırdı. Terrasoft Solutions, Dongarra'nın araştırmasının bir uygulaması olan önceden yüklenmiş Yellow Dog Linux ile 8 düğümlü ve 32 düğümlü PS3 kümeleri satıyor .

İlk olarak Wired tarafından 17 Ekim 2007'de bildirildiği gibi , PlayStation 3'ü küme yapılandırmasında kullanmanın ilginç bir uygulaması , Massachusetts Dartmouth Üniversitesi Fizik bölümünden Astrofizikçi Gaurav Khanna tarafından süper bilgisayarlarda kullanılan zamanı sekiz kişilik bir kümeyle değiştiren tarafından uygulandı. PlayStation 3'ler. Daha sonra, şimdi PlayStation 3 Gravity Grid olarak adlandırılan bu makinenin yeni nesli, 16 makineden oluşan bir ağ kullanır ve pertürbasyon teorisini kullanarak ikili kara delik birleştirmesi olan amaçlanan uygulama için Hücre işlemcisini kullanır . Özellikle, küme, daha küçük kompakt nesneleri yakalayan büyük süper kütleli kara deliklerin astrofiziksel simülasyonlarını gerçekleştirir ve ilgili bilimsel araştırma literatüründe birçok kez yayınlanmış sayısal veriler üretmiştir. PlayStation 3 tarafından kullanılan Cell işlemci sürümü, bir ana CPU'ya ve kullanıcıya sunulan 6 SPE'ye sahiptir ve Gravity Grid makinesine net 16 genel amaçlı işlemci ve 96 vektör işlemci sağlar. Makinenin bir kerelik inşa maliyeti 9.000$'dır ve aksi takdirde geleneksel bir süper bilgisayarda çalıştırma başına 6.000$'a mal olacak kara delik simülasyonları için yeterlidir. Kara delik hesaplamaları bellek yoğun değildir ve oldukça yerelleştirilebilirdir ve dolayısıyla bu mimariye çok uygundur. Khanna, simülasyonlarında kümenin performansının 100'den fazla Intel Xeon çekirdek tabanlı geleneksel Linux kümesinin performansını aştığını iddia ediyor. PS3 Gravity Grid, 2007, 2008, 2009 ve 2010 boyunca önemli medya ilgisini topladı.

En hesaplamalı Biyokimya ve Biyofizik laboratuarı Pompeu Fabra Üniversitesi içinde, Barcelona , 2007 yılında dağıtılan bir BOINC denilen sistem PS3GRID CellMD yazılımı, Cell işlemcisinin için özel olarak tasarlanmış ilk birine dayalı işbirlikçi bilgisayar kullanımı için.

Amerika Birleşik Devletleri Hava Kuvvetleri Araştırma Laboratuvarı , yüksek çözünürlüklü uydu görüntülerini analiz etmek için "Condor Cluster" lakaplı 1700'den fazla birimden oluşan bir PlayStation 3 kümesi yerleştirdi . Hava Kuvvetleri, Condor Kümesinin kapasite açısından dünyanın 33. en büyük süper bilgisayarı olacağını iddia ediyor. Laboratuvar, süper bilgisayarı üniversiteler tarafından araştırma için kullanıma açtı.

Dağıtılmış bilgi işlem

Yarım milyondan fazla PlayStation 3 konsolunun bilgi işlem gücünün yardımıyla, dağıtılmış bilgi işlem projesi Folding@home , Guinness Dünya Rekorları tarafından dünyanın en güçlü dağıtılmış ağı olarak kabul edildi . İlk rekor 16 Eylül 2007'de elde edildi, çünkü proje daha önce dağıtılmış bir bilgi işlem ağı tarafından hiç elde edilmemiş bir petaFLOPS'u aştı . Ek olarak, toplu çabalar, PS3'ün 23 Eylül 2007'de tek başına petaFLOPS işaretine ulaşmasını sağladı. Karşılaştırıldığında, o sırada dünyanın en güçlü ikinci süper bilgisayarı olan IBM'in BlueGene/L'si yaklaşık 478,2 teraFLOPS'ta performans gösterdi, bu da Folding@home'un bilgi işlem anlamına geliyor. güç BlueGene/L'nin yaklaşık iki katıdır (BlueGene/L'deki CPU ara bağlantısı, Folding@home'daki ortalama ağ hızından bir milyon kat daha hızlı olmasına rağmen). 7 Mayıs 2011 itibariyle, Folding@home, yalnızca 26.000 aktif PS3 tarafından oluşturulan 1.6 petaFLOPS ile yaklaşık 9.3 x86 petaFLOPS'ta çalışır. 2008'in sonlarında, sahte bir SSL sertifikası oluşturmak ve şifrelemesini etkin bir şekilde kırmak için 200 PlayStation 3 konsolundan oluşan bir küme kullanıldı .

anabilgisayarlar

IBM, 25 Nisan 2007'de, Hücre Geniş Bant Motor Mimarisi mikroişlemcilerini şirketin ana bilgisayar hattına entegre etmeye başlayacağını duyurdu . Bu bir oyun çerçevesine yol açtı .

Şifre kırma

İşlemcinin mimarisi, onu donanım destekli kriptografik kaba kuvvet saldırı uygulamalarına geleneksel işlemcilerden daha uygun hale getirir .

Yazılım Mühendisliği

Hücrenin esnek yapısı nedeniyle, kaynaklarının kullanımı için yalnızca farklı bilgi işlem paradigmalarıyla sınırlı olmayan çeşitli olasılıklar vardır:

iş kuyruğu

KKD bir iş kuyruğunu tutar, SPE'lerdeki işleri planlar ve ilerlemeyi izler. Her SPE, rolü bir işi almak, onu yürütmek ve KKD ile senkronize etmek olan bir "mini çekirdek" çalıştırır.

SPE'lerin kendi kendine çoklu görevi

Mini çekirdek ve zamanlama, SPE'ler arasında dağıtılır. Görevler, geleneksel bir işletim sisteminde olduğu gibi muteksler veya semaforlar kullanılarak senkronize edilir . Çalıştırılmaya hazır görevler, bir SPE'nin bunları yürütmesi için kuyrukta bekler. SPE'ler, bu konfigürasyondaki tüm görevler için paylaşılan belleği kullanır.

Akış işleme

Her SPE ayrı bir program çalıştırır. Veriler bir girdi akışından gelir ve SPE'lere gönderilir. Bir SPE işlemeyi sonlandırdığında, çıktı verileri bir çıktı akışına gönderilir.

Bu, akış işleme için esnek ve güçlü bir mimari sağlar ve her bir SPE için ayrı ayrı açık programlamaya izin verir. Diğer işlemciler de akış görevlerini gerçekleştirebilir, ancak yüklenen çekirdekle sınırlıdır.

Açık kaynak yazılım geliştirme

2005 yılında, Linux çekirdeğinde Hücre desteğini sağlayan yamalar IBM geliştiricileri tarafından dahil edilmek üzere sunuldu. Arnd Bergmann (yukarıda bahsedilen yamaların geliştiricilerinden biri), LinuxTag 2005'te Linux tabanlı Hücre mimarisini de tanımladı . 2.6.16 sürümünden (20 Mart 2006) itibaren, Linux çekirdeği Hücre işlemcisini resmi olarak desteklemektedir.

Hem KKD hem de SPE'ler, kütüphaneler tarafından sağlanan ortak bir API kullanılarak C/C++'da programlanabilir.

Fixstars Solutions , IBM ve Mercury Cell tabanlı sistemlerin yanı sıra PlayStation 3 için Yellow Dog Linux sağlar . Terra Soft, Cell için bir Linux Board Destek Paketi sağlamak ve diğer çeşitli Cell'de yazılım uygulamalarının desteklenmesi ve geliştirilmesi için Mercury ile stratejik olarak ortaklık kurdu. IBM BladeCenter JS21 ve Cell QS20 dahil olmak üzere platformlar ve Mercury Cell tabanlı çözümler. Terra Soft ayrıca Y-HPC (Yüksek Performanslı Bilgi İşlem) Küme Oluşturma ve Yönetim Paketi ve Y-Bio gen dizileme araçlarını da sürdürmektedir. Y-Bio, paket yönetimi için RPM Linux standardını temel alır ve biyoinformatik araştırmacılarının çalışmalarını daha verimli bir şekilde yürütmelerine yardımcı olan araçlar sunar. IBM, SPE kaynaklarına erişimi ve bu kaynakların kullanımını basitleştiren, Linux tarafından üretilen "Spufs" için bir sözde dosya sistemi geliştirmiştir. IBM, şu anda bir Linux çekirdeği ve GDB bağlantı noktaları sağlarken Sony, GNU araç zincirini ( GCC , binutils ) sürdürmektedir .

Kasım 2005'te IBM, web sitesine bir simülatör ve çeşitli araçlardan oluşan bir "Cell Broadband Engine (CBE) Software Development Kit Version 1.0" yayınladı. Fedora Core 4 için en son çekirdeğin ve araçların geliştirme sürümleri , Barselona Süper Bilgi İşlem Merkezi web sitesinde tutulur .

Ağustos 2007'de Mercury Computer Systems, Yüksek Performanslı Bilgi İşlem için PlayStation 3 için bir Yazılım Geliştirme Kiti yayınladı.

Kasım 2007'de Fixstars Corporation , Cell için birkaç önemli OpenCV API'sini hızlandırmayı amaçlayan yeni "CVCell" modülünü piyasaya sürdü . Bir dizi yazılım hesaplama testinde, 3.2 GHz Hücre işlemcisinde, 2,4 GHz Intel Core 2 Duo'daki aynı yazılıma kıyasla 6 kat ile 27 kat arasında daha hızlı yürütme süreleri kaydettiler.

Galeri

Farklı nesil Cell/BE işlemcilerinin ve PowerXCell 8i'nin çizimleri. Görüntüler ölçekli değildir; Tüm Cell/BE paketleri 42,5×42,5 mm ve PowerXCell 8i 47,5×47,5 mm ölçülerindedir.

Ayrıca bakınız

Referanslar

Dış bağlantılar