Elektrik şarjının hızı değişmediyse, bilgisayarlar nasıl daha hızlı hale geldi?


48

Herkes, bilgisayar hızının, icatlarından bu yana ciddi şekilde arttığını biliyor ve devam edecek gibi görünüyor. Fakat bir şey beni şaşırtıyor: bugün bir malzemeden elektrik akımı geçirirseniz, 50 yıl önce aynı malzemeyle yaptığınız gibi aynı hızda hareket eder.

Bunu akılda tutarak, bilgisayarlar nasıl daha hızlı hale geldi? Bu inanılmaz hız artışlarını sağlayan işlemci tasarımının ana alanı nedir?

Belki aşağıdakilerden biri veya daha fazlası olabileceğini düşündüm:

  • Küçük işlemciler (akımın seyahat etmesi için daha az mesafe, ancak bana sadece burada marjinal kazanç sağlayabilecekmiş gibi geliyor).
  • Daha iyi malzemeler

4
Bu güzel bir soru. Tabii ki, malzemenin kendisi o kadar önemli değil - son 100 yılda otomobiller daha hızlı hale geldi, ancak gaz hala aynı gaz (az ya da çok), sadece motor daha verimli hale geldi. İlk cevabı burada bulabilirsiniz , ancak umarım daha fazla detayın cevabı gelir.
Ran G.

Burada büyüklük önemli bir konudur. Fakat afaik, çip tasarımındaki fiziksel bir engele ulaştık (veya çok yakınız). (Ben burada uzman değilim, diğerleri bunun hakkında daha fazla bilgi sahibi olacak). Tabii ki, işlemci boyutu tek parametre değil.
A.Schulz 10:15

CPU dokunma frekansı, kullanılan malzemelerdeki elektronların hızı ile sınırlıdır, ancak diğer faktörler buna egemen olmuştur.
Raphael

Çünkü başlangıçta optimal olarak hızlı değildiler ve hala değiller. Işık hızı, hızı belirleyen adım değildir.
user207421 10:15

Yanıtlar:


54

Bugün bir malzemeden elektrik akımı geçirirseniz, 50 yıl önce aynı malzemeyle yaptığınız gibi aynı hızda hareket eder.

Bunu akılda tutarak, bilgisayarlar nasıl daha hızlı hale geldi? Bu inanılmaz hız artışlarını sağlayan işlemci tasarımının ana alanı nedir?

Hatalı sonuçlar alırsınız, çünkü ilk hipoteziniz yanlıştır: CPU hızının CPU'daki elektronların hızına eşdeğer olduğunu düşünüyorsunuz.

Aslında, CPU bazı senkronize dijital mantıktır. Hızı için sınır, mantıksal bir denklemin çıktısının bir saat içinde sabit olması gerektiğidir. Transistörlerle uygulanan mantıkla, sınır esas olarak transistörlerin değişmesi için gereken zamana bağlıdır. Kanal boyutlarını küçülterek daha hızlı geçiş yapmalarını sağlayabiliriz. Bu, 50 yıl boyunca maksimum CPU sıklığında iyileşmenin ana nedenidir. Bugün, transistörlerin anahtarlama hızlarını arttırmak için şeklini de değiştiriyoruz, ancak bildiğim kadarıyla bugün yalnızca Intel, Global Foundries ve TSMC FinFET'leri yaratabiliyor.

Bununla birlikte, bir CPU'nun maksimum saat hızını arttırmanın başka yolları da vardır: mantıksal denkleminizi daha küçük olanlara bölerseniz, her adımı daha hızlı yapabilir ve daha yüksek bir saat hızına sahip olabilirsiniz. Aynı işlemi gerçekleştirmek için daha fazla saat periyoduna ihtiyacınız vardır, ancak boru hattı tekniklerini kullanarak , saniyedeki komutların hızını saat hızınızı takip edebilirsiniz.

Bugün, elektronların hızı bir sınır haline gelmiştir: 10GHz'de, bir elektrik sinyali 3 cm'den daha fazla yayılamaz. Bu kabaca mevcut işlemcilerin büyüklüğüdür. Bu sorunu önlemek için, çipinizde sinyal yayma üzerindeki kısıtlamaları azaltan birkaç bağımsız senkronize alan olabilir. Ancak bu, transistör anahtarlama hızı, ısı dağılımı, EMC ve muhtemelen diğerleri arasında yalnızca bir sınırlayıcı faktördür (ancak silikon döküm endüstrisinde değilim).


Bu iyi bir bilgi. Daha önce hiç saat hızında bir üst sınır olduğunu düşünmemiştim.
nick

3
10 GHz’deki bu 3 cm iyimser. Tellerdeki elektronlar, bir vakumdaki fotonlardan biraz daha yavaş olma eğilimindedir .
8,

6
@ 8bittree: Elektronların hızı önemli değil, değil mi? Önemli olan, sinyalin hızıdır ve bu çok daha hızlıdır.
Harry Johnston

1
@HarryJohnston Hmm ... Wikipedia'ya göre haklı görünüyorsun . Ancak, sinyallerin kendisi hala ışıktan daha yavaştır. Ve 10 GHz’te 3 cm olan bir vakumdaki ışığa
8bittree

1
Küçük transistörlerin daha hızlı olmalarına ek olarak, bir çip üzerine daha fazla ekleyebilirsiniz. Devreler için bir zaman / alan değişimi olduğu için daha fazla transistör daha hızlı devreler anlamına gelir. yani. Sadece birkaç düzine transistörden 32 bitlik bir toplayıcı oluşturabilirsiniz, ancak tek bir eklentiyi hesaplamak için birçok saat tiklaması gerekir. En yeni Intel CPU'lar tek bir saat tıklamasıyla yapabilir, sanırım 100.000 transistör gerektirir.
BlueRaja - Danny Pflughoeft 12:15

15

Genel CPU hızını etkileyen birçok karmaşık değişken var, ancak bunlardan birincisi 2000'li yılların ortalarına yükselen ve ardından fiziksel kısıtlamalar nedeniyle düzleştirilmiş saat hızı. Talaş başına güç tüketimi aynı zamanda talaş kayıplarını / sızıntılarını telafi etmek için o dönemde artmıştır. İşlemci yongaları çok ısındı ve soğutma teknolojisi daha önemli hale geldi ve daha fazla güç uygulanamadı (kelimenin tam anlamıyla eritmeden!).

Extremetech.com , Moore yasasının esas olarak Dennard ölçeklendirmesi tarafından desteklendiği düşüncesine işaret eden hoş bir anket veriyor . İkincisi 2000'li yılların ortasında çöktü. Önbellek, CPU paralelliği / çok çekirdekli gibi donanım yeteneklerindeki bükülme noktasını maskeleme eğiliminde olan çip "hız" ("hız" genel kod yürütme süresi olarak ölçülür ve yalnızca saat hızı olarak ölçülmez) ile ilgili birçok tasarım faktörü / iyileştirmesi vardır. daha küçük geçit genişlikleri (ve dolayısıyla ek işlevsellik için çip başına çok daha fazla kapı) eklenmiş dal tahmini vb. Geçit genişlikleri de her nesilde bir düşüşü durdurma veya en azından daha az azaltma eğilimindedir.

Bu sınırlayıcı eğilimler neden çok iyi bilinmemektedir? Bu eğilimler hakkında en fazla bilgiye sahip olan varlıklardan bazıları "kaybedecek en çok şeylere sahiptir" ve gerçekte bunları en az duyurma olasılıkları var. Örneğin, milyarlarca dolar değerinde Intel, gelecekteki performansında sınırlamalar veya düşüşler gösteren tescilli dahili verileri yayınlamayacaktır.

Ufukta, fotonik yongalar, çoklu tabakalara yerleştirilen 3 boyutlu yongalar, kuantum hesaplama, nanoteknoloji gibi nanoteknoloji gibi yepyeni trendlere (ancak bazıları tamamen farklı teknoloji / üretim teknikleri içeren) yol açabilecek yeni olanaklar var. transistörler vb.



Uzun zamandır dilediğim bir şey, çekirdek grupları kavramı için işletim sistemi ve dil desteğinin geliştirilmesi, her bir grubun düzenli bir bellek sistemine sahip olması ve tüm çekirdeklerin aynı zamanda ortak bir bellek sistemine erişebilmesiydi. Bir kod parçasının "Her zamankiyle aynı hafızayı tam olarak aynı hafızayı gören bir iş parçacığı oluşturmak istiyorum" demesi ve sistemin aynı hafızayı görmesi gereken tüm iş parçacıklarının çalıştığından emin olmasını sağlaması gerekir. aynı çekirdekler. Bu tür garantiler olduğunda bazı algoritmalar çok daha verimli hale getirilebilir, ancak çoğu sistemde sadece ...
supercat 10:15 '

... Bunu başarmanın yolu, bir uygulamanın bir CPU çekirdeği seçmesini ve iş parçacığı üzerinde çalışmasına izin vermemektir, bu oldukça korkunç bir yaklaşımdır.
supercat

2
Saat hızları son 10 yılda önemli bir artış göstermedi. Çekirdek ekleme, tek bir komutta komut setleri yapma, vb. Başka yerlerdeki darboğazları azaltma, örn. bellek bant genişliği modern cpu 'hız' için önemli katkılar olmuştur.
JamesRyan

5

Ek İşlemciler Heyeti

Diğer bir önemli husus (diğer büyük cevaplara ek olarak), diğer işlemcilere görev devridir. İlk işlem günlerinde yalnızca bir işlemci vardı. Grafikler için, hesaplama aynı CPU'daki diğer hesaplamalarla paylaşıldı. Şimdi, grafik işleme için ayrı işlemcilerimiz var.

Çoklu Çekirdek

Modern işlemcilerin birçoğu aynı silikonda birden fazla çekirdeğe sahiptir. Aynı silikon parçasını paylaştıkları için, talaşın başka bir çekirdeğe / işlemciye yavaşlatılmasından etkilenmezler. Örnek: Grafik İşlemciler.

Bellek ve Adres Genişletme

İlk 8 bit mikroişlemciler bugünün 32 bit ve 64 bit işlemcilerinden daha küçük bir adresleme aralığına sahipti. Modern işlemcilerde artan bir bellek aralığı vardır, bu da harici depolamaya erişmek yerine bellekte daha fazla hesaplama yapılabileceği anlamına gelir.

Bu aynı zamanda çip üzerindeki bellek için de geçerlidir. Daha büyük adres alanı, orta çekirdeğe daha yakın olan daha büyük belleklere izin verirken, silikon dışında da büyük bir adres alanı bırakır.

Boru hatları ve önbellekleri

Belleğin daha ucuz hale gelmesiyle, modern bilgisayarlar şimdi daha gelişmiş veri ve talimat boru hatları ile veri ve talimat önbelleklerini uyguluyorlar. Bu, daha yavaş bellekten (silikon dışında) dahili önbelleğe alma gereksinimini azaltarak yürütmeyi hızlandırır. Bazı işlemciler foröğretim önbelleklerinde döngüler içerme kabiliyetine sahiptir .

özet

Günümüzün bilgisayarları çok daha hızlıdır, sadece transistör ve silikon teknolojilerindeki gelişmelerden değil, aynı zamanda görevleri diğer işlemciler / çekirdeklere devrettiği için de. Bellek daha hızlı ve daha ucuz hale geliyorsa, işlemcilerin CPU'ya yakın miktarda belleği olmasını sağlar. Adresleme aralıkları daha fazla belleğe izin verir; bu da harici depolama birimine daha az veri alınması anlamına gelir. Daha büyük kayıt boyutları, döngü başına daha fazla veri alınmasını sağlar (32 bit sistemde 4 bayt, 8 bit sistemde 1 bayt). Birden fazla çekirdek seri hale getirmek yerine paralelleştirme işlemlerine izin verir.


4

Bilgisayar hızındaki hemen hemen tüm gelişmeler bu alanlardan birinden geliyor:

Küçük transistörler

Transistörleri küçültmek iki şeyden kaynaklanır:

  1. Fiziksel olarak birbirine daha yakın olduklarından elektrik sinyalinin kaynaktan hedefe gitmesi için geçen süre kısalır. Bu nedenle, elektrik sinyalleri 50 yıl öncesinden daha hızlı gitmese de, şimdi sık sık daha kısa mesafeler kat ediyorlar .
  2. Bir çip üzerine daha fazla transistör eklenebilir; bu, aynı anda daha fazla "iş" yapılabileceği anlamına gelir. Ne kadar fazla transistör eklenirse, yapmaları için yararlı bir iş bulmak zorlaşır, ancak birçok akıllı numara kullanılır (aşağıya bakınız).

Her talimat için daha fazla "yararlı iş"

Örneğin, bazı işlemciler tam sayıları çarpma veya bölme talimatlarından yoksundur; bunun yerine bu görev yavaş yazılım rutinleriyle yapılmalıdır. Çarpma ve bölme talimatlarını eklemek işleri önemli ölçüde hızlandırır. Kayan nokta talimatları eklemek , kayan nokta sayıları gerektiren yazılımı hızlandırabilir.

Her talimat için daha fazla "faydalı iş" yapmanın önemli bir yolu, kelime boyutunu artırmaktır . 32 bit sayılarla işlem yapabilen CPU'lar, 16 bit veya 8 bit CPU'larla aynı görevi gerçekleştirmek için genellikle daha az talimat gerektirir.

Bazı işlemciler aynı anda birçok şeyi yapan talimatları, özellikle birden fazla veri öğesinde ( SIMD ) aynı işlemi yapan talimatları destekler .

Döngü başına daha fazla talimat

"Saat döngüsü", işlemcinin şu andaki durumundan bir sonraki durumuna nasıl geçtiğini gösterir. Bir anlamda, işlemcinin bir anda yapabileceği en küçük çalışma birimidir. Bununla birlikte, belirli bir talimatın aldığı saat döngüsü sayısı işlemcinin tasarımına bağlıdır.

Borulu işlemcilerin ortaya çıkmasıyla, ayrı talimatların "üst üste gelmesi" mümkün oldu; yani bir tanesi bir öncekinden önce başlayacaktı. Bununla birlikte, bazı talimatlar bir sonraki talimatın kısmen yerine getirilmesine kadar bilinmeyecek olan bir sonraki talimatı geçersiz kılabilir, böylece işler karmaşıklaşabilir. (Pipelined işlemciler her şeyin yolunda gittiğinden emin olmak için mantık içerir - ancak performans özellikleri daha karmaşıktır.)

Superscalar işlemciler bunu kelimenin tam anlamıyla aynı anda iki komutun uygulanmasına izin veren bir sonraki seviyeye götürür ve sıra dışı çalıştırma , talimatların sıra dışı çalıştırılmasına izin vererek bir adım daha ileri götürür. Bu özellikler, hangi komutların birbiriyle çakışmadığını belirlemek için talimat akışının analizini gerektirir.

Bu tür başka hileler olmasına rağmen (örneğin şube tahmini , spekülatif uygulama ), daha önemli olan genel resimdir:

  • Her komutun tamamlanması için belirli sayıda saat döngüsü gerekir (zorunlu olarak sabit değil)
  • ancak aynı anda birden fazla talimat verilebilir
  • bu nedenle, ileri teknoloji işlemciler için> 1 olan ölçülebilir bir " çevrim başına talimat " vardır.
  • ama iş yüküne çok kuvvetli bir şekilde bağlı

Saniyede daha fazla döngü

Başka bir deyişle, daha yüksek saat hızı . Saat hızını artırmak yalnızca üretilen ısıyı arttırmakla kalmaz, aynı zamanda daha disiplinli bir yonga tasarımı gerektirir, çünkü devrenin stabilizasyonu için daha küçük bir zaman sınırı vardır. Bazı pratik sınırlara ulaştığımızda 2000'lere kadar bundan çok daha fazla kilometre geçtik.

Doğru zamanda doğru yerde bulunan veriler

İşlemci içerisindeki bileşenler küçülen transistörler nedeniyle birbirine yaklaşıyor ve yaklaşıyor olsa da, CPU ve RAM hala 5-10 cm. Bir komut RAM'den bir şeye ihtiyaç duyuyorsa, bu komutun tamamlanması 5 veya 6 döngü almayacaktır, yaklaşık 200 civarında sürecektir. Bu von Neumann darboğazı problemidir.

Buna karşı temel silahımız önbellektir . Son zamanlarda erişilen verilere tekrar erişme olasılığı daha yüksektir, bu nedenle CPU çipinde bulunan özel bellekte (önbellek adı verilen) erişilmesi çok daha hızlı hale getirilir.

Bununla birlikte, diğer teknikler ( boru hattı ve branş tahmini gibi ) verinin gelmesini beklerken işlemcinin yararlı çalışmasına izin vererek ve ayrıca hangi verilere yakında ihtiyaç duyulabileceğini öngörerek yardımcı olur.

Çoklu ve / veya özel işlemciler

Tek bir işlemci için yazılım yazmak birden çok işlemciden çok daha kolaydır. Bununla birlikte, bazen performans / maliyet / güç tüketiminin yararları bunu değerli kılmaktadır.

Ayrıca, bazı işlemciler belirli görevler için özellikle uygundur. Örneğin, GPU'lar 2D ve 3D grafikler ve efektler oluşturmak için gereken hesaplamalar için özel olarak tasarlanmıştır.

Çok çekirdekli işlemciler , temel olarak, tek bir yonga üzerinde bulunan birden çok işlemcidir.


3

Bilgisayarlar zaman birimi başına daha fazla hesaplama yapabiliyorsa, daha hızlı oldukları görülüyor. Her hesaplama eskisinden daha hızlı bir şekilde yapılamayabilir, ancak daha fazla hesaplama yapılmakta. İyi bir benzetme, bir koşucunun attığı adımların sayısıdır. Bir koşucu Moore yasalarına göre davranırsa, koşucu iki yılda iki kez daha fazla adım atabilir. Temel olarak koşucu, koşucunun iki yıl önce yaptığı sürede iki kat mesafeyi kaplardı. Zamana bölünen uzaklık hıza eşittir. 2 X Uzaklığı 2 X Hızına eşittir.


3

Bir bilgisayarın / işlemcinin işlem gücü, elektriğin ne kadar hızlı gittiğini değil, ne kadar hızlı açılabildiğini ya da kapatabildiğini gösterir. Akan ve akmayan olmayanlar arasında ne kadar hızlı geçiş yapabilirseniz, işlemci içinde o kadar fazla bilgi işleyebilir ya da hattı aşağı aktarabilirsiniz.


2

PC'lerde kullanılan tipik işlemciler için, ısı dağılımı PC'lerde hava soğutmalı işlemcilerin yaklaşık 4 ghz ile sınırlı kaldığı on yıldan beri sınırlayıcı bir faktör olmuştur. Su soğutması bunu yaklaşık 5 ghz'ye yükseltir ve saat hızlarını yaklaşık 6 ghz ila 6.5 ghz'ye itmek için azot soğutma kullanılmıştır.

Saat hızı temelde devre mantık boyutuna karşı gerilimin bir fonksiyonudur (durumları değiştirmenin ne kadar uzun sürdüğü). Voltaj ne kadar yüksek olursa veya devre mantığı ne kadar küçükse, hız o kadar hızlıdır, ancak bu, yoğunluklar tipik olarak devre mantık boyutundaki azalma ile birlikte arttıkça bir ısı dağılımı sorunu sunar. Yüksek yoğunlukta, ısı ileten malzemenin ısıyı dağıtması için fazla yer kalmaz. Yoğunluğun azaltılması maliyeti arttırır ve ayrıca devrenin daha uzun olması nedeniyle yayılma gecikmelerini de arttırır.

İşlemcinin son birkaç yılda bu kadar hızlı olmadığı görülüyor, şu anki Intel i7 4790K (4.0 ghz, 4.4 ghz turbo), ikinci nesil Intel i7 2700K (3.5 ghz, 3.9 ghz turbo), diğerlerinden daha hızlı değil saat hızından daha hızlı (yaklaşık% 14,3 daha hızlı). Öte yandan, 3 boyutlu grafikler paralel işlemlerden faydalanabildiğinden, ekran kartları son 4 veya 5 yılda yaklaşık 3 kat artmış, bazıları ise 3,000'den fazla alt çekirdeğe eşdeğerdir.


2

Verilen cevaplar iyi olsa da, hepsi çok karmaşık görünüyor!

Hızlı "TLDR" yanıtı "mantık kapılarının sayısı" ve "bu mantık kapılarının ne kadar çabuk patlayabileceği" şeklindedir. Mantık kapılarını 1s ve 0s gibi düşünün. Bu sadece bir transistör / vakum borusu / açılıp kapatılan her neyse. 1 açık, 0 kapalı.

Elektrik daha hızlı veya daha yavaş hareket etmiyor, ancak çiplerinize daha fazla ve sıfır sıkıştırabilirsiniz çünkü bunlar ve sıfırlar daha küçüktür. Ve zamanla daha hızlı çevirmelerini sağlayabilirsiniz. Bu biraz daha basit bir cevap veriyor mu?


2

Şimdiye kadarki en büyük iki faktör, transistörlerin gülünç derecede küçüldüğü ve dolayısıyla bir milyardan fazla transistöre sahip akıllı telefonlarımız olduğu ve bir transistörü bir durumdan diğerine geçirmenin çok daha hızlı bir hale geldiği gerçeği. Daha hızlı geçiş doğrudan daha fazla hıza dönüşür. Daha yüksek sayıda transistör, dolaylı olarak hızı arttırır, çünkü bu, daha birçok transistörden bahsettiğimiz için, daha birçok transistörümüz olduğundan, önbelleklerimiz var. Daha fazla ve daha büyük kayıtlarımız var çünkü daha fazla transistörümüz var. Vektör talimatlarımız var çünkü daha fazla transistörümüz var. İkili, dört çekirdekli ya da on çekirdekli işlemcilerimiz var çünkü daha fazla transistörümüz var.

Çok daha küçük bir dereceye kadar, daha iyi tasarım nedeniyle hız iyileştirmelerimiz var. Örneğin, bir çarpan daha hızlı değil çünkü daha fazla transistörümüz var, fakat daha iyi yöntemler kullanıyoruz. Şube tahmini, daha fazla transistör bulunmasının ötesinde iyileşmiştir. Ama sonuçta, bu bir milyar transistörün kaba gücüne kıyasla küçük bir etkidir.

(İlk Mac'teki işlemci, 68000 transistöre sahip olduğu için Motorola 68000 işlemci olarak adlandırıldı. Yeni bir iPad yaklaşık 20.000 kat daha fazla).


0

Ben bir makine mühendisiyim, bu yüzden bir işlemcinin hızını ne kadar etkilediğini ya da sınırlayıcı bir faktör olup olmadığına aşina değilim, ama arkasındaki fizik ses. Devrenin endüktansı ve kapasitansı, dijital voltaj sinyallerinin ne kadar hızlı yükselebileceğini ve düşebileceğini ve böylece anahtarlama hızını etkiler. İdeal olarak, anahtarlama sinyalleri güzel kare dalgalar olacaktır. Gerçekte hafifçe deforme olurlar ve kenarlarda eğimlidirler. Sinyaller bir sonraki saat döngüsünden önce okunacak yüksekliğe ve yeterince uzun olmalıdır. Temel olarak, sinyal dalgasının üstte "düz bir noktaya" ihtiyacı vardır. Çok hızlı geçerseniz, daha fazla sivri dalga sinyali alırsınız. Dijital sinyallere daha aşina olanlarınız gerektiğinde netleşebilir, ancak fikir doğru.


2
Hoşgeldiniz! Bildiğim kadarıyla söylediğin her şey doğru. Ancak, bilgisayarların yıllar içinde daha hızlı nasıl elde edilebileceği konusundaki soruya nasıl cevap verdiğini anlamıyorum.
David Richerby
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.