Neden 256 bit veya 512 bit mikroişlemciler yok?


95

8 bitlik bir mikroişlemcideki veri yolu 8 veri hattından oluşur. 16 bitlik bir mikroişlemcideki veri yolu 16 veri hattından ve benzerlerinden oluşur.

Neden 256 bitlik bir mikroişlemci ya da 512 bitlik bir mikroişlemci yok? Neden sadece veri hatlarının sayısını artırmıyorlar ve 256-bit bir mikroişlemci veya 512-bit bir mikroişlemci yaratmıyorlar?

256 bitlik bir mikroişlemci veya 512 bitlik bir mikroişlemci oluşturmayı engelleyen engel nedir?


20
Pazarlama bile sonsuza dek bir sayıyı arttırmaya devam edemez.
Olin Lathrop,

82
Neden henüz 256 bıçaklı tıraş bıçağı yok?
Rocketmagnet

11
@OlinLathrop 5 bıçak ve bir batarya ile Gillete Fusion Power'ı inceleyin !
Brendan Long,

6
Bu sorunun cevabının cevabı aynıdır: 1 & 2 & 3 & 4 & 5 & 6 & 8 & 12 & 16 silindirli arabalara sahibiz. Neden 32 ve 64 ve 128 silindirli araçlara sahip değiliz?
Russell McMahon,

13
@Russell: Çünkü o zaman küresel bir silindir sıkıntısı yaşanacaktı.
Olin Lathrop,

Yanıtlar:


110

Bunu düşün. Tam olarak bir "256 bit" işlemcinin ne olduğunu düşünüyorsunuz? Bir işlemcinin keskinliğini ilk etapta yapan nedir?

Başka bir yeterlilik yapılmazsa, bir işlemcinin bitliği ALU genişliğini belirtir. Bu, tek bir işlemde doğal olarak kullanabileceği ikili sayının genişliğidir. Dolayısıyla bir "32 bit" işlemci doğrudan tek komutlarda 32 bit genişliğe kadar olan değerlerde çalışabilir. Bu nedenle 256 bit işlemciniz, tek işlemlerde 256 bit sayı ekleme, çıkarma, ORing, ANDing, vb. Toplama yeteneğine sahip çok büyük bir ALU içerir. Bunu neden istiyorsun? Hangi sorun büyük ve pahalı ALU'yu, işlemcinin sadece bir döngü ve benzerinin 100 tekrarını saydığı durumlarda bile, sahip olmaya ve parasını ödemeye değer yapar?

Mesele şu ki, geniş bir ALU için, daha sonra çok mu yoksa sadece yeteneklerinin küçük bir kısmını kullanıp kullanmadığınızı ödemek zorundasınız. Bir 256 bit ALU'yu doğrulamak için, tek bir komutta 256 bit kelimeleri değiştirmekten gerçekten faydalanabilecek yeterince önemli bir problem bulmanız gerekir. Muhtemelen birkaç örnek verebilmenize rağmen, üreticilerin böyle bir çip üretmek için gereken önemli yatırımın bir geri dönüş alacağını düşünmelerini sağlayacak kadar fazla sorun bulunmuyor. Eğer geniş bir ALU'dan gerçekten faydalanabilecek niş ancak önemli (iyi finanse edilen) problemler varsa, o zaman bu uygulama için çok pahalı, yüksek hedefli işlemciler görürüz. Ancak fiyatları, tasarlandığı dar uygulama dışında geniş kullanımı önleyecektir. Örneğin, eğer 256 bit askeriye için bazı şifreleme uygulamalarını mümkün kılmışsa, her biri 100 ila 1000 dolara mal olan özel 256 bit işlemciler ortaya çıkacaktı. Bunlardan birini ekmek kızartma makinesine, güç kaynağına, hatta arabaya koymuyorsunuz.

Ayrıca geniş ALU’nun sadece ALU’yu daha pahalı hale getirmediği, çipin diğer kısımlarının da yapıldığından emin olmalıyım. 256 bit genişliğinde bir ALU da 256 bit genişliğinde veri yolu olması gerektiği anlamına gelir. Bu tek başına çok fazla silikon alan alacaktır. Bu verinin bir yerden gelmesi ve bir yere gitmesi gerekiyor, bu nedenle geniş ALU’nun etkili bir şekilde kullanılması için kayıtlar, önbellek, diğer bellekler vb.

Başka bir nokta, herhangi bir genişlik işlemcisinde herhangi bir genişlik aritmetiğini yapabileceğinizdir. PIC 18'de 8 komuttaki 32 bit hafıza kelimesine 32 bit hafıza kelimesi ekleyebilirsiniz, oysa sadece 2 komutta 32 bit'e ölçeklendirilmiş aynı mimaride yapabilirsiniz. Mesele şu ki dar bir ALU sizi geniş hesaplamalar yapmaktan alıkoymuyor, sadece geniş hesaplamalar daha uzun sürecek. Bu nedenle, bir yetenek meselesi değil, bir hız sorunudur. Belirli genişlik sayılarını kullanmanız gereken uygulamaların spektrumuna bakarsanız, çok az sayıda 256 bit kelime gerektiren göreceksiniz. Sadece diğerlerine yardım etmeyecek donanıma sahip birkaç uygulamayı hızlandırma maliyeti buna değmez ve ürün geliştirme için iyi bir yatırım yapmaz.


9
Söylemekten nefret ediyorum ama burada aynı fikirde değilim. Bir örnek vereyim: Video oyunları için grafik oluşturma. 10 milyarlarca dolar değerinde bir şey duymuş olabileceğiniz küçük bir pazar.
Rocketmagnet

39
@Rocket: İlk önce, OP bir grafik işlemcisi değil, bir mikroişlemci sordu . İkincisi, grafik oluşturma özellikle geniş kelimeler gerektirmez. Çok sayıda küçük işlem paralel olarak yapılabilir, ancak her biri 32 bit veri üzerinde çalışan "256 bit" bir işlemciye paralel olarak 8 CPU çekirdeği demezdim. Dört çekirdekli PC'nize "256 bit" bir işlemci diyor musunuz, çünkü her çekirdeğin yerel olarak 64 bit verilerde çalışabilmesi mümkün mü? Bence bu bir terimin kötüye kullanımı ve hatta Intel pazarlaması bile bu şekilde birden fazla çekirdek kullanmıyor gibi görünüyor.
Olin Lathrop,

30
@Rocket: SIMD farklı bir paralellik türüdür, ancak ben yine de geniş bir ALU demedim, sadece bir demet küçük ALU paralel olarak sıkıca çalışıyor. Örneğin, böyle bir SIMD işlemcideki tüm taşıyıcılarla birlikte 256 bitlik bir ek yapamazsınız. Paralellik, daha geniş bir ALU ile aynı değildir. Aksine olma yolundan çıkıyor gibi görünüyorsun. Belki paralel olana neyin daha geniş olduğu ile ilgili ifadelerden bahsedebilirsiniz, ancak sıra dışı tanımlamalar kullanmak ve ardından diğer yorumların şaşırtıcı derecede yanlış olduğunu iddia etmek sadece bir öfke yarışmasına katılmaktır.
Olin Lathrop,

15
@Rocket: Sadece CPU'nun aynı anda 256 bit üzerinde çalışabilmesi, paralel olarak birkaç işlem yaparak onu "256 bit" CPU yapmaz. Bu aslında doğrudan 256 bit genişliğindeki sayılar üzerinde çalışabileceği anlamına geliyor. Kendin dediğin gibi, paralel ALU üniteleri arasında taşıma yoktur, bu 256 bitlik bir ALU değildir. Bir işlemcinin bitliğinin ne anlama geldiğinin olağandışı bir tanımına sahip gibisiniz. Aynı anda işleyebileceği bit sayısı değil, bir bütün olarak işleyebildiği bir kelimenin genişliği.
Olin Lathrop,

19
Okuldayken, yazılım insanlarına “mantıksal” komut seti genişliği açısından bitliği ölçtüğü, donanım elemanlarına da bitliği otobüs genişliği açısından ölçtüğü öğretildi. Bu yüzden, 8088 yazılım insanlarına 16-bit bir işlemciydi ve donanım insanlarına 8-bit bir işlemciydi. 8086 herkese 16 bit oldu. Tabii ki pazarlama çalışanları bulabilecekleri en yüksek sayıyı alırlar, bu yüzden bu yorum dizisini okumadıklarını ve 512-bit işlemcileri pazarlamaya başlamadıklarını umalım! :-)
Mark Harrison,

34

256 ya da 512 bit bilmiyorum ama 1024 bit işlemci hakkında bir şey duydum (şu anda bulamıyorum). Kelime VLIW için, çok uzun buyruk kelimesi . Demek veri yolu genişliği değil talimat veriyolu. Avantajları, Öğretim Düzeyi Paralelliği'ni (ILP) büyük ölçüde uygulayabilmenizdir .

ILP ile ilk karşılaşmam 20 yıl önce, veriyi hafızaya ve hafızaya taşırken bir MAC (Multiply ve ACcumulate) yapmak için talimatlar içeren Motorola DSP'lerde olmalıydı; veri taşımak için iki MAC arasındaki süre.
Bugün bu seçeneği sunan genel amaçlı kontrolörler de var. VLIW bunu daha yüksek bir ölçekte uygular.

20

Daha fazla okuma
VLIW Architecture


çoğu finansal hesaplamalar :( şimdi bu soruna rastlamak
im çok karışık

X86'nın bir VLIW işlemci olduğunu sanıyordum. ;-)
Macke

1
@MarcusLindblom Yalnızca VLIW tarafından Değişken Uzunluklu Talimat Kelimelerini kastediyorsanız. ;-)
12'de CVn

3
@ AK4749 Bu durumda, öngörülerinizin "gerçek" muhasebe kurallarını kullanarak işlemlerinizi yapan bankalar tarafından atılma olasılığı yüksektir. Yani, bu kurallara dayanarak bir plan uygularsanız, beklenen sonuçları vermeyecektir, çünkü gerçek bankalar nano-yüzde hassasiyetinde değil, gerçek muhasebe kurallarını kullanacaktır. Ve elbette pazarlar belirsiz çünkü. Yani başlangıçta 1 sentlik hata çıktıda 1 trilyon dolar verirse, bu 1 trilyon dolar sadece simülasyon etkisidir, müşterilerinizin plan yapmak için kullanmaları gereken bir şey değildir.
Foton

1
Tabii ki, hiçbir zaman on yıl süren tahminleri mevcut kararlar için bir temel olarak kullanmayacaklar, hatta ben bir programcı olarak bile bu kadar aptallık olmaz. Ancak, (ve açık olmak gerekirse, farklı hata problemini çözdük, bu yüzden de olmadı), en büyük müşteriler aslında, satıcılarına ifşa etmemeyi seçtikleri her türlü kötü amaç için bu tür yetenekleri gerektirir. Buna ek olarak, bir kaç yıldır mali alanda çalışmış olanların, ben finans şirketlerinin aslında daha yüksek hassas hesaplamalar (1/2) kullanan DO söyleyebilirim
çok karışık im

28

Bir mikroişlemcinin "bitness" genellikle genel amaçlı kayıtların boyutu olarak tanımlanır. Boyut, bir işlemcinin yerel olarak ne kadar büyük sayı ile işleyebileceğini ve ne kadar belleğe erişebileceğini belirler. 64bit sayılar hemen hemen tüm algoritmalar için yeterli ve adreslenebilir hafıza miktarı (16 milyon terabayt) bir süre için yeterli. Genel amaçlı kayıtların boyutunu arttırmanın hiçbir avantajı yoktur. Kapak tarafında, kayıtlar üzerinde işlem yapmak için kullanılan aritmetik mantık birimlerinin (ALU) alanı, bitlerin karesi ile ölçeklenir. Bir 256bit ALU 16x daha büyük ve önemli ölçüde daha yavaş olacaktır.

Öte yandan, aynı anda birçok küçük işlem yapmayı mümkün kılmak için işlemciyi genişletmenin bir anlamı var. Aslında, Intel'in Sandy Köprüsü ve Ivy Bridge işlemcileri bunu yapıyorlar, 256bit SIMD kaydına sahipler ve iki aritmetik işlem ve döngü başına bir hafıza işlemi yapabiliyorlar. Bu nedenle, biri düzenli olarak kullanılan terimleri bükmek isteyen gizli bir pazarlamacı olsaydı, bunlara 256bit, hatta 768bit işlemciler demeyi haklı çıkarabilirdi.


Bu etkileyici bir mimari.
Trygve Laugstøl

6
"Sinsi pazarlamacı düzenli olarak kullanılan terimleri bükmek isteyen" için +1.
Dan Neely,

14

Birincisi, bir işlemcinin bit büyüklüğü genellikle veri yolunun büyüklüğü gibi uygulama detaylarıyla değil, makine dili programcısının görebileceği soyut mimari tarafından belirlenir.

Örneğin, Motorola 68000 bir 32 bit işlemcidir. 32 bit veri kaydına ve 32 bit adres kaydına sahiptir. Şimdi, bu mimari ailenin ilk versiyonu sadece 24 bit adres satırı ortaya koyuyor. Ayrıca, sadece 8 bitlik bir veri yoluna sahip varyantlar mevcuttur (bu nedenle işlemci tarafından 32 bit bellek işlemleri çoklu erişim döngüleri olarak gerçekleştirilir).

Şimdi soru hakkında, neden 256 ve 512'ye gitmiyoruz. İşlemciler çeşitli türlerde veri türlerini "doğal olarak" değiştiriyorlar; bu nedenle, bu veri türlerinin her biri için ayrı ayrı 256 veya 512 bit'in ne anlama geldiğine bakmak yararlı olacaktır. Tam sayılarımız, işaretçilerimiz ve kayan nokta tiplerimiz var.

  1. Tamsayıcılar: Programlar, 32 ve 64 bit tam sayılardan çok fazla kilometre alır. 64 bit bir sınırlama ise, bunun için düzeltme yazılım tarafından uygulanan bignum tam sayılarına sahip olmaktır. Yüksek seviyeli diller, işlemlerin "fixnums" ve "bignums" arasında sorunsuzca kayması için tamsayı türleri uygulayabilir. Elbette bignumlarla bir performans elde edersiniz, ancak büyük resimde şunu göz önünde bulundurmalısınız: Bir programdaki işlemlerin kaç tanesi bignum işlemidir. 256 veya 512 bit sayılar bignumlara olan ihtiyacı ortadan kaldırmaz, sadece bignumlara geçmeden önce tavan boşluğunu arttırırlar. Eğer 2048 bitlik ortak anahtarları değiştirmek istiyorsanız, 512 bitlik tamsayılar yapmaz (ama 512 bitlik bir rakam olan bir hızlı hızlı olabilir).

  2. İşaretçiler: Daha geniş işaretçiler iki şeye izin verir: daha geniş adres alanları ve bir işaretçide depolanan ek meta veriler. Adres alanları bugünlerde sanaldır ve bu nedenle anılar büyümese bile büyüyebilir. 128 bit işaretleyiciniz varsa, adres alanının o kadar geniş olduğu, işletim sisteminin ve çekirdeğin tüm kullanıcı alanı işlemlerini tek bir korunmasız alanda rasgele yerlere koyabileceğiniz ve olası olmadıkları önerilmiştir. çarpışmak. Daha geniş bir adres alanı oluşturmak yerine, daha keskin işaretçiler, referans nesnesi hakkında bilgi (tür, boyut ve diğer bilgiler) veya güvenlikle ilgili bilgiler gibi adres bitleri olmayan bitleri taşımak için kullanılabilir. Muhtemelen bu tür bir şey için bazı "optimal şişmanlık" vardır ve eğer tahmin edersem, hala 128 bitte alacağım. Öyle değil 256 bitlik işaretçilere gitmek mantıklı gelmiyor, boşver 512. Babaların işaretçilerinin bir dezavantajı var: işaretçiler içeren tüm veri yapılarını şişiriyorlar. Ve genel olarak, işaretçilerin aynı boyutta olmasını istersiniz, aksi halde komut seti mimarisinde (bellek bölümleri gibi) komplikasyonlara ihtiyacınız olur; bu durumda tam işaretçilere (segment tanımlayıcı ve ofset) veya sadece yerel işaretçilere (bazı anlaşılan segmentler içinde ofset) sahip olursunuz .

  3. Kayan nokta tipleri: Kayan nokta sayılarında daha fazla bit, daha fazla hassasiyet demektir. Kayan nokta tiplerinin daha geniş bir gösterimle en fazla yarar sağladığını söyleyebilirim. 256 veya 512 bitlik bir yüzer tür, sayısal kodun dengesini ve birçok yineleme gerektiren bilimsel hesaplamaların kalitesini iyileştirir ve yol boyunca hataları biriktirir. Kayan noktadaki hassasiyet, tamsayılardaki hassasiyetle aynı değildir: kayan nokta tipini, sabitnelere karşı bijonlar gibi aralıklara ayıramayız. Kayan noktadaki daha hassaslık, sıfıra yakın olmaları ya da büyüklüklerine sahip olmaları durumunda tüm hatalı sayıların kalitesini etkiler. Kayan nokta üstlerindeki daha fazla bit, kayan nokta sayısının aralığını büyük ölçüde genişletebilir ve bignum bir tam sayıya bit eklemekten çok daha hızlı olabilir.

Bu nedenlerden ötürü, baskın gelecek eğilimin donanım kayan nokta sayıları genişliğinde artacağını, bunun zorunlu olarak işaretçilerin ve tam sayıların genişliklerinde artma olacağını düşünüyorum.

Kayan nokta sayılarının geçmişte diğer türlerden çoktan geçtiğini unutmayın. Örneğin, bir süredir 64 bit IEEE çift yüzdürmeyi destekleyen 32 bit işlemcilere sahip olduk. Bunun nedeni, 32 bit işaretçi ve tamsayılarla çok şey yapabilmenize rağmen, 32 bit yüzer herhangi bir ciddi sayısal iş için çok sınırlı.

Kayan nokta gösterimlerinde ortaya çıkması hoş olacak çok, çok kullanışlı bir özellik, bir tür etiketi için birkaç yedek bit olacaktır. Kayan nokta türlerini dinamik, üst düzey dillerde (nesnelerin türü olan ancak depolama konumlarının herhangi bir türün değerini aldığı) uygulamak, zordur çünkü işaretçilerde ve tamsayı benzeri nesnelerde yedek parçalar bulunabilir. tür etiketi tanımlanırken, kayan noktalı sayılarla yapılması zordur. Öyleyse, çoğunlukla biten şey, kayan nokta sayısının öbek tahsis edilmesidir. Bazı programlar mantisanın bitlerini çalar, bu nedenle o dilde kayan nokta türleri aynı makinedeki diğer dillerdeki yüzdelere kıyasla hassasiyetini kaybeder.


Güzel açıklama. Bu arada, ortak x86 işlemciler, doğru hatırlıyorsam, onlar için ilk donanım kayan nokta ünitesinden beri uzun süre 80 bit kayan noktaya sahipti. 80 bit, FPU’ya dahilidir, daha sonra genellikle 32 veya 64 bit verilir.
Olin Lathrop,

Teknik olarak, zaten yapıldı. Google "nan boks" veya "rahibe boks". Daha umut verici olan şey 64-bit ARM'lerde donanım türü etiketleridir, ancak bu ne yazık ki yakında olmayacak.
whitequark,

3
80 versiyona doğrudan erişmek mümkündü. 90'lı yıllarda TurboPascal'da programlamayı öğrendiğimde 80 bitlik bir şamandıra tipi vardı.
Dan Neely,

@DanNeely: Bazen işlemcilerin üçlü 80 bitlik bir sayıyı 256-bitlik bir parçaya ya da üç adet 42-bitlik sayıyı bir 128-bitlik parçaya ya da üçe birleştirerek 3d-koordinatlı kayan nokta türlerinden faydalanabileceğini düşündüm. 64 bitlik bir yığın halinde 21 bitlik sayılar. Böyle bir şeyin uygulanmasının ne kadar zor olacağını ve ne kadar yararlı olacağını merak ediyorum?
supercat,

@supercat GPGU Wikipedia: [NVidia] GPU'daki çoğu işlem vectorized olarak çalışır: bir işlem aynı anda dört değerde gerçekleştirilebilir. Örneğin, eğer bir renk <R1, G1, B1> başka bir <R2, G2, B2> rengiyle modüle edilecekse, GPU sonuçta elde edilen rengi <R1 * R2, G1 * G2, B1 * B2> olarak üretebilir operasyon.
Kaz

9

Aslında faydalı bir şey yapmanıza yardımcı olmaz. 64 bit sayılar, neredeyse tüm amaçlar için size yeterli hassasiyet sunar (Intel sistemleri 80 bit kayan noktaya sahiptir), ancak ekstra hatlar, saat hızı üzerinde küçük bir olumsuz etkiye sahipken maliyeti ve güç tüketimini artırır.

Tarihsel olarak CPU'lar amaçlananları için pratik açıdan anlamlı olan minimum bit sayısını kullanır. Teknolojideki ilerlemeler ile daha geniş otobüsler ve ALU'lar mümkün hale geldi, dolayısıyla daha geniş uygulanabilirliğe hizmet etmek için otobüs boyutundaki artış:

  • 4 bit: bir basamak için yeterli, bu nedenle (BCD stili) hesap makineleri, yazar kasalar, vb. İçin pratiktir (oldukça sınırlı bir alandır)
  • 8 bit: metin işleme sistemlerinde (çok geniş bir alan) pratik, aynı zamanda düşük kaliteli ses için de bir (ASCII) karakter için yeterli
  • 16 bit: 16 bit popüler olduğunda 2 ^ 16 bellek adresleri makul bir tutardı (en az 2 ^ 8 veya 2 ^ 32'den daha makul). 16 bit, oldukça kabul edilebilir bir ses kalitesi sağlar ve çoğu A / D dönüştürücüsü, 16 bitten daha az sonuç verir, bu nedenle 16 bit gibi bu değerlerle hesaplamak mantıklıdır.
  • 32 bit: 32 bit, çoğu (ancak tümü değil) insan tarafından ölçülen miktarların doğruluğuna uyar ve büyük veritabanlarıyla ilgilenmiyorsanız 2 ^ 32 adresleri çoğu pratik amaç için yeterliydi.
  • 64 bit:> 2 ^ 32 bayt belleğe sahip olmak artık pratiktir.
  • 128 bit: şu anda kriptografi hariç 32'den az avantaj. Bir sabit diskte 2 ^ 64 bayttan daha fazlasını ne zaman bekliyoruz? Muhtemelen yakında değil.

1
“640K herkes için yeterli olmalı.” -Bill Gates (1981)
jippie

6
@jippie - Gates asla öyle demedi.
Rocketmagnet

1
Aslında 8 bitlik işlemcilerin çoğu 2 ^ 16 bayt belleğe hitap edebildi ve 16 bit 2 ^ 32, 80386 (32 bit) teoride ayrıca 2 ^ 64 bayt (4GB) belleğe de oldukça yararsızdı. Yine de o günlerde ...
Axel

1
20 bayt hafızayı ve yeterli olmadığını öğrendiklerinde genişletilmiş ve genişletilmiş hafıza yöneticileri gibi korkunç şeyler bulmak zorunda kalıyorlardı.
stevenvh

3
@Michael - tüm zamanlar boyunca ve tüm kariyerim boyunca gördüm: dışarıda çok az vizyoner ürün yöneticisi var. Fıkra: 1970'lerin başında, Robert Noyce'in mikroişlemcilerin geleceği hakkında yaptığı bir konuşmada, şu anki minyatürleşmeyi öngörüyor ve izleyicilerden biri: "Kahretsin, zemindeki bir bilgisayarı bütünüyle kaybetmek istemem" diyor. Hangi Noyce 'e kederli bir şekilde cevap verdi: "Hiç anlamıyorsun. Kaybettiğini umursamıyorsun; binlerce tane daha olacak." Bu 1970'lerin başındaydı. Robert Noyce bir vizyonerdi.
stevenvh

9

Aslında, bu tür işlemciler, bitliği nasıl tanımladığınıza bağlı olarak bulunur ve yaygındır. Neredeyse kesinlikle bir tane kullanıyorsun. Olin'in açıkladığı gibi, 256-bit sayılar için çok fazla kullanım yok, ama 4 x 32-bit sayılar? ALU aynı anda 4 çift 32-bit sayı ekleyebilirse ne olur? Bu tür ALU'lar (bildiğim) ilk olarak 1970'lerde vektör süper bilgisayarlara uygulandı. Böyle bir bilgisayara ilk defa sahipken, MMX'li Intel Pentium'lardan birine sahiptim.

Intel MMX adamı

Bu adamları hatırladın mı?

MMX yongaları, 1 × 64 bit çifti, 2 x 32 bit çifti, 4 x 16 bit çifti veya 8 x 8 bit çifti eklemenizi sağlayan Tek Yönerge - Çoklu Veri komut seti ( SIMD ) içeriyordu .

Ama bu hiçbir şey. Modern bir grafik kartında (Grafik İşlem Birimi'nde kullanılan, ancak şimdi Genel İşlem Birimi anlamına gelen) bir GPU var . Bunlar genellikle bir seferde 128 veya 256 bitte dallanma, yükleme ve depolama kapasitesine sahip geniş SIMD uygulamalarıdır. Intel'in Larrabee prototip mikro mimarisi, çekirdeklerinin her birinde iki adet 512 bitlik SIMD kaydı içerir.

GPU SIMD

Lütfen SIMD'nin çok çekirdekli ile karıştırılmaması gerektiğini unutmayın. Bir CPU'nun her çekirdeği, bir dizi tamsayı ekleyebilen kendi geniş ALU'suna sahip olacaktır.


1
"1 × 16-bit çifti, 2 × 32-bit çifti, 4 × 16-bit çifti veya 8 × 8-bit çifti"
12'de CVn

4
Üzerinde Intel logosu bulunan bir Kraft Single gibi görünen ilk bakışta
Chris Laplante 5:12

4
4x32 bit değişkenler hala sadece 32 bit. Bitlik , ALU'nun çalışabileceği maksimum bireysel tamsayıdır. Paralel olarak birçok kez yapmak, bit genişliğini artırmaz. -1
Connor Wolf

3

Çünkü henüz ihtiyacımız yok.

Normalde, bitlik (bir kayıt defterindeki bitlerin sayısı olarak tanımlarım), az ya da çok, doğrudan adreslenebilir hafıza miktarına çevrilir. Bu, elbette basitleştirilmiştir, çünkü işlemciye bağlı olarak, kayıtların bitlik süresinin 2 katı olabilir veya bu bellek sınırlamalarını aşmak için teknikler olabilir (dışarıdaki herhangi biri 16-bit pencerelerde programlama yapmayı hatırlayan biri var mı?).


3

"Neden sadece veri satırlarının sayısını artırmıyorlar ve 256 bit oluşturmuyorlar"

Aslında, LGA-2011 Soketine uyan tüm Intel işlemcileri, anakartta DRAM'a yönlendiren 256 veri hattına bağlanan 256 veri pimine sahiptir. Eğer en son kullanılan dizüstü ya da masaüstü makine eğer biraz şaşıracaksın vermedi en az 256 veri hatları var. Bu yanlış fikre nereden ulaştığını sorabilir miyim, "veri satırlarının sayısını artırmadıklarını".

LGA-2011 Soket veri sayfası , bölüm 6.1, bu CPU'lar 256 veri işaretçilerine ve 76 adres işaretçilerine (banka adresi + bellek adresi) sahip olduğunu gösterir.


-1

çünkü bir kerede 128'den fazla bit kullanarak verileri temsil etmek isteyen ya da olanakları olan hiçbir uygulama yoktur.

ve multimedya işlemcileri ve grafik kartları, cpu's anakartlarından önce oraya ulaşacaklar; tıpkı fotoğraf / video ile, aynı anda işlenecek bu kadar büyük veri uzunluklarının kullanılması mantıklı geliyor.


-4

Bir bilgisayar sistemi anlamında bazı girişler gerektiren ve bazı çıkışlar veren bir bilgisayar makinesidir. Bilgisayarı bu hatlarda tatmin etmeliyiz, bu nedenle geliştiriciler Adres Veri Yolu, Veri Veri Yolu ve Kontrol Veri Yolu olmak üzere 3 Veri Yolu ile kıyaslama yapıyorlar. 1) Adres Veriyolu, Okuma / Yazma İşlemleri için Hafızada belirli bir Adres getirir / seçer. 2) Veri Yolu sonra Veriyi İşlemci / Depolama Amaçları için İşlemciye / Belleğe / Veriden Sunar. 3) Kontrol Veriyolu bir Arayüz Kontrol Protokolü oluşturun ve Sistemden Ona Saygı İsteğini ister.

Bunların bir Kullanıcı / Sunucu / İstemci için bazı yararlı Hesaplamalar yapmaları gerekir. Genel olarak Performans (Görev Tamamlama Hızı, Daha Az Hata, vb.) Sistemdeki Şişe Bağlarının Temizlenmesine bağlıdır. örn. CPU, Sabit Disk Sürücüsünden Transfer Hızından Çok Daha Yüksek Bir Hızda İşlem Yapabiliyorsa, şişe boynu HDD'de gerçekleşir. Benzer şekilde, belirli bir Veri Hızları ve Kod Genişliği için doğru bir İşlem Hızına sahip olmamız gerekir.

Başlangıçtan itibaren, H / W Karmaşıklığı, Maliyet, Gereksinim, Etkili Algoritmalar gibi çeşitli nedenlerden ve Piyasa Sebepinin ana nedenlerinden dolayı, Soru Sunucusu tarafından belirtildiği gibi, Yüksek Veri Veriyolu Genişliği üretiminde ana engeller, 256 bit veya 512 bit. Bunlar mümkün! Ancak gereklilik henüz mevcut değil, piyasa kapsamı bugün ihtiyaçlar ve Yazılım Desteği'ne iltifat olmamasıyla henüz görünmüyor.

256 bit işlemci, belirli bir işlemcinin işleyebileceği veya ALU'nun tek bir yürütmede işleyebileceği Veri Yolu genişliğini belirtir. 4 bit, sonra 8,16,32 ve şu anda 64 ve hatta 128 Pazar bitini mevcut Piyasa Kapsamı Ürünleri olarak oluşturduk.

Dolayısıyla, bu Soruları Sormadan Önce, Pazar Tarafı Talebini ve Kapsamını her zaman görmelisiniz, Tarihte, Yaşamın yollarını anlamanın tek Düz İleri yoludur. Ödeyemezseniz, nasıl satın alabilirsiniz? ve Satın alamazsanız, üretici nasıl üretebilir? ve eğer üretemezse, o zaman bu ürünün varlığı yoktur!


6
Büyük harfle yazılmış isimler bunu okumayı zorlaştırır.
pjc50

hmm, evet bunu yapmaya başlamalıyım.
Sri Krishna

@ pjc50 Belki Almanya'dandır? Bekleyin, "Sormak" ve "Satın Al" aynı zamanda büyük harfle yazılabilir, belki de ...
Alex
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.