Analog sinyal aritmetiği dijital olandan daha mı hızlı?


36

Dijital FPU'lar (CPU -> DAC -> analog FPU -> ADC -> CPU) yerine analog sinyal aritmetiği (doğruluk ve hassasiyet pahasına) kullanılırsa, modern işlemcileri hızlandırmak teorik olarak mümkün olabilir mi?

Analog sinyal bölünmesi mümkün mü (FPU çarpımı yine de bir CPU döngüsünü alır)?


Sorunuzu cevaplamıyor, ancak burada savaş gemilerindeki analog elektromekanik bilgisayarların kullanımıyla ilgili ilginç bir makale arstechnica.com/information-technology/2014/03/…
Doombot

Zaman zaman çok durumlu dijital mantığı kullanma önerileri var - örneğin, iki yerine dört durumlu "parmak arası terlik". Bu aslında bazı üretim bellek yongalarında yapılmıştır, çünkü kablolamadaki tıkanıklığı azaltır. (Şu anda üretilen yongaların çok durumlu mantık kullanıp kullanmadığını bilmiyorum.)
Hot Licks

Yanıtlar:


44

Temel olarak, tüm devreler analogdur. Analog gerilimler veya akımlarla hesaplamaların gerçekleştirilmesindeki problem, gürültü ve bozulma birleşimidir. Analog devreler gürültüye maruz kalır ve analog devreleri devasa büyüklük derecelerinde doğrusal yapmak çok zordur. Bir analog devrenin her aşaması, sinyale gürültü ve / veya bozulma ekleyecektir. Bu kontrol edilebilir, ancak ortadan kaldırılamaz.

Dijital devreler (yani CMOS) temel olarak bu sorunu, bilgiyi temsil etmek için sadece iki seviye kullanarak, her aşamada sinyali yenileyerek, yan adım yapar. Çıktının% 10 oranında kapalı kalması kimin umrunda, sadece bir eşiğin altında veya üstünde olması gerekir. Çıktının% 10 oranında bozulup bozulmadığı kimin umrunda, yine sadece eşiğin üstünde veya altında olması gerekir. Her eşik karşılaştırmasında, sinyal temel olarak yenilenir ve gürültü / doğrusallık sorunları / etc. çıkardı. Bu, giriş sinyalini büyütmek ve kırpmak suretiyle yapılır - bir CMOS invertör, iki transistörden oluşan çok basit bir amplifikatördür ve karşılaştırıcı olarak açık döngülüdür. Seviye eşiğin üzerine itilirse, o zaman biraz hata alırsınız. İşlemciler genellikle 10 ^ -20, IIRC siparişte bit hata oranlarına sahip olacak şekilde tasarlanmıştır. Bu nedenle, dijital devreler inanılmaz derecede sağlamdır - doğrusallık ve gürültü temelde sorun olmadığından çok geniş bir koşul aralığında çalışabilirler. Dijital olarak 64 bit sayılarla çalışmak neredeyse önemsiz. 64 bit, 385 dB dinamik aralığı temsil eder. Bu 19 büyüklük sırası. Cehennemde analog devrelerle buna yakın bir yere gitmenin yolu yok. Eğer çözünürlüğünüz 1 picovolt (10 ^ -12) ise (ve bu temel olarak termal gürültüyle ıslatılır), o zaman maksimum 10 ^ 7 değerini desteklemelisiniz. Hangi 10 megavolttur. Analogda bu tür bir dinamik aralık üzerinde işlem yapmanın kesinlikle bir yolu yok - bu imkansız. Analog devrede bir başka önemli denge bant genişliği / hız / tepki süresi ve gürültü / dinamik aralıktır. Dar bant genişliği devreleri, gürültüyü ortadan kaldıracak ve geniş bir dinamik aralıkta iyi performans gösterecektir. Tradeoff, yavaş olmaları. Geniş bant genişliği devreleri hızlıdır, ancak gürültü daha büyük bir sorundur, bu nedenle dinamik aralık sınırlıdır. Dijital ile, dinamik aralığı artırmak veya paralel olarak veya her ikisini birden yaparak hızda bir artış elde etmek için sorunlara bit atabilirsiniz.

Bununla birlikte, bazı işlemler için analogun avantajları vardır - daha hızlı, daha basit, daha az güç tüketimi, vb. Dijital seviye ve zaman içinde ölçülmelidir. Analog her ikisinde de süreklidir. Analogın kazandığı bir örnek, wifi kartınızdaki radyo alıcısında. Giriş sinyali 2,4 GHz'de geliyor. Tamamen dijital bir alıcı, saniyede en az 5 gigasample çalışan bir ADC'ye ihtiyaç duyacaktır. Bu büyük miktarda güç tüketir. Ve bu ADC'den sonraki işlemleri bile düşünmüyor. Şu anda, bu hızın ADC'leri gerçekten sadece çok yüksek performanslı temel bant iletişim sistemleri (örneğin, yüksek sembol oranı uyumlu optik modülasyon) ve test ekipmanlarında kullanılıyor. Ancak, 2 dönüştürmek için bir avuç transistör ve pasif kullanılabilir.

Sonuç olarak analog ve dijital hesaplamanın avantaj ve dezavantajları var. Gürültü, bozulma, düşük dinamik aralık ve / veya düşük hassasiyete tahammül edebiliyorsanız, analog kullanın. Gürültüye veya bozulmaya tahammül edemiyorsanız ve / veya yüksek dinamik aralık ve yüksek hassasiyete ihtiyacınız varsa, dijital kullanın. Daha fazla hassasiyet almak için her zaman soruna daha fazla bit atabilirsiniz. Bununla birlikte, bunun analog eşdeğeri yoktur.


Bu çok daha fazla hak ediyor!
John U,

Biliyordum! Sadece iyi kelimelerle ifade edemedim. Kablosuz alıcılar hakkında ek bilgi.
Smithers,

2
Örnek ve tutma devresi? Manyetik bant? Fonografik kayıt? Fotoğrafik film? Analog bellek cihazları kesinlikle var, ancak dijital olanlardan biraz farklı özelliklere sahipler.
alex.forencich

1
Herhangi bir aralık, evet. Ama herhangi bir keyfi çözüm ile herhangi bir aralık? Çok değil.
alex.forencich

1
@ ehsan amplifikasyonu dinamik aralığınızı arttırmaz, minimum değeriniz (gürültü tabanı) maksimum ile birlikte güçlendirilir.
mbrig

20

Geçen ay “ Geleceğe Dönüş: Analog Sinyal İşleme ” başlıklı bir IEEE konuşmasına katıldım . Konuşma IEEE Solid State Circuit Society tarafından düzenlendi.

Analog bir MAC'in (çoğalarak ve biriktirerek) dijital olandan daha az güç tüketebileceği önerildi. Bununla birlikte, sorunlardan biri, bir analog MAC'nin analog gürültüye maruz kalmasıdır. Dolayısıyla, iki kez aynı girdilerle sunarsanız, sonuçlar tam olarak aynı olmaz.


1
(Analog gürültü için +1.)
George Herold

Aynı şekilde, savaş gemilerinde mekanik bilgisayarların kullanımı hakkında bir makale arstechnica.com/information-technology/2014/03/…
Doombot

18

Bahsettiğiniz konuya Analog Bilgisayar denir ve bilgisayarların ilk günlerinde oldukça yaygındı. 60'ların sonunda yaklaşık olarak onlar ortadan kaybolmuştu. Sorun, hassasiyetin dijital olmaktan çok daha kötü olması değil aynı zamanda doğruluk da olmasıdır. Dijital hesaplama hızı da mütevazı analog devrelerden bile daha hızlı.

Analog bölücüler gerçekten mümkündür ve Analog Devices yaklaşık 10 farklı model yapar. Bunlar aslında bir op ampin geri besleme yoluna giren, bir bölücü üreten çarpanlardır, ancak AD, bölenin büyük (60 dB, sanırım) dinamik aralığı için optimize edilmiş özel bir bölücü üretmek için kullanılır.

Temel olarak, analog hesaplama, dijital ile karşılaştırıldığında yavaş ve yanlış. Sadece bu değil, aynı zamanda belirli bir analog hesaplamanın gerçekleştirilmesi, donanımın yeniden yapılandırılmasını gerektirir. Oyunun sonlarında, yazılım kontrolü altında bunu yapabilen hibrid analog bilgisayarlar üretildi, ancak bunlar hantaldı ve özel kullanımlar dışında asla yakalanmadı.


6
Cevabınızı (+1) ve soruyu beğeniyorum. Ama hız kısmı konusunda aynı fikirde değilim. Analog çok hızlı. Sorun hassas ve belki de en önemlisi gürültüdür. Analog her zaman biraz gürültüye sahiptir. Dijital bilgisayar gürültüsüzdür.
George Herold

Nazik sözleriniz için teşekkürler. Fakat. Analog hızlı "bol" olabilir ancak genel olarak dijital daha hızlıdır. Ve gürültü simüle etmek kolaydır.
WhatRoughBeast

4
Analog, sadece aritmetik, exp, sqrt vb. İse hızlıdır. Ancak farklılaşma ve entegrasyon için gerekli olan bir kondansatör veya indüktör eklediğiniz anda yavaş olur. Tarihin analog bilgisayarları genellikle diferansiyel denklemleri çözmek için kullanılıyordu - "yavaş" idi. Ama bazıları sadece cebir yaptı. Bu yüzden neden farklı kişilerin analog hesaplama hızı hakkında farklı görüşlere sahip olduklarını anlayabiliyorum.
DarenW

1
Analogın neden yavaş olduğunu açıklayabilir misiniz? Dijital bilgisayarda bazı talimatlar "yavaştır", çünkü birkaç yinelemenin tamamlanması gerekir. Ancak analog ile sonuç almak için sadece bir pas geçeceğine inanıyorum.
mrpyo

1
@mrpyo - Kesinlikle, her iki işlevi de yapabilirsiniz. Çarpanı alıp her iki girişi birbirine bağlarsanız, "kare" olur. Devreyi kullanırsanız, cevabında op amp çıkışına bağlı her iki girişle birlikte kullanılan Foton, kare kökler oluşturur. Bir diyottaki voltaj / akım ilişkisi üsteldir, bu yüzden üs üretmek için bunu kullanabilirsiniz. Ve bir diyotu geri besleme yoluna koyarak logaritma elde edersiniz. Yine de, her durumda dinamik aralık, yükselteç ofsetleri, kaymalar vb. İle sınırlandırılabilir. Diyot devreleri için başka hata kaynakları da vardır.
WhatRoughBeast

11

Analog sinyal bölünmesi mümkün mü (FPU çarpımı yine de bir CPU döngüsünü alır)?

Bir analog çarpanınız varsa, bir analog bölücüyü yapmak kolay "kolaydır":

şematik

bu devreyi simüle et - CircuitLab kullanılarak oluşturulan şematik

X1 ve X2'nin pozitif olduğunu varsayarsak, bu, Y = X1 / X2'yi çözer.

Analog çarpanlar vardır, bu nedenle bu devre prensip olarak mümkündür. Ne yazık ki çoğu analog çarpan, oldukça sınırlı sayıda izin verilen giriş değerine sahiptir.

Başka bir yaklaşım, önce X1 ve X2 logaritmasını elde etmek için log yükselticilerini kullanmak, çıkarmak ve sonra üstelleştirmek olacaktır.

Dijital FPU'lar (CPU -> ADC -> analog FPU -> DAC -> CPU) yerine analog sinyal aritmetiği (hassasiyete göre) kullanılırsa modern işlemcileri hızlandırmak teorik olarak mümkün olabilir mi?

Kalbinde bu bir teknoloji meselesi - dijital operasyonları daha hızlı hale getirmek için AR-GE'ye çok fazla yatırım yapıldı, bu analog teknolojinin bu noktada yetişmek için uzun bir yolu olacaktı. Ama kesinlikle imkansız olduğunu söylemenin bir yolu yok.

Öte yandan, yukarıdaki ham bölücü devremin, çok dikkatli bir çalışma yapmak zorunda kalmadan belki de 10 MHz'nin üzerinde çalışmasını beklemiyorum ve belki de daha hızlı gitmek için derin dalış araştırmaları yapıyordum.

Ayrıca, hassasiyeti ihmal etmemiz gerektiğini söylüyorsunuz, ancak çektiğim gibi bir devre muhtemelen ayarlama yapmadan sadece% 1 kadar doğrudur ve yeni teknolojiyi icat etmeden muhtemelen sadece% 0.1 kadardır. Faydalı olarak hesaplanabilen girdilerin dinamik aralığı da benzer şekilde sınırlıdır. Bu yüzden sadece mevcut dijital devrelerden muhtemelen 100 ila 1000 kat daha yavaş değil, dinamik aralığı da muhtemelen yaklaşık 10 300 kat daha kötü (IEEE 64-bit kayan nokta ile karşılaştırıldığında).


5
Hey, 10 MHz'lik eski bir AD çarpanı var. Bahse girerim şimdi daha hızlı bir şeyler bulabilirim. Sadece bu konuya bir İngiliz anahtarı atmak için, kuantum hesaplama herhangi bir şeyi çözerse analog olacaktır.
George Herold

@ GeorgeHerold, kuantum hesaplamanın neden yılan yağı olduğu konusundaki en iyi argümanım bu.
Photon

Çok temiz numara. Bunun dışında A (x1) / (1 + A (x2)) hesapladığını düşünüyorum, bunun büyük bir kazanç için doğru olması gerekir A
Yale Zhang

@georgeherold Bir mikser biraz tuhaf giriş gereksinimlerine sahip gerçekten hızlı bir analog çarpanıdır ve bence mikrodalga şirketleri bugünlerde 60 GHz veya daha fazlasına
ulaşıyor

@ mbrig, zorluk op-amp ve geri besleme döngüsünü kapalı tutmaktır.
Photon

7
  1. Hayır, çünkü DAC ve ADC dönüşümleri dijital bölme veya çarpmadan çok daha fazla zaman alır.

  2. Analog çarpma ve bölme o kadar basit değildir, daha fazla enerji kullanır ve maliyet etkin olmaz (dijital IC ile karşılaştırıldığında).

  3. Hızlı (GHz aralığı) analog çarpma ve bölme IC'leri yaklaşık% 1 hassasiyete sahiptir. Bu, hızlı analog bölücüye ayırabileceğiniz tek şey ... 8-bit sayılar veya bunun gibi bir şey. Dijital IC'ler bu gibi numaralarla çok hızlı bir şekilde ilgileniyorlar.

  4. 3.410343.41034

Burada Analog Devices ( link ) tarafından sunulan analog bölücülere ve çarpanlara bakabilirsiniz.

görüntü tanımını buraya girin

Bunlar genel hesaplamada pek kullanışlı değil. Bunlar analog sinyal işlemede çok daha iyidir.


4. Tam olarak değil. Kayan nokta sayıları, bilimsel gösterimde, temel olarak iki sayı ile ifade edilir - katsayı ve üs, her ikisi de daha sınırlı bir aralığı kapsar.
mrpyo

@mrpyo Emin misiniz? 16 bitlik değişkenlik aralığının düzenlemeden önce yazdığım sayılardan çok daha yüksek olduğunu düşünüyorum (0000000000000.1 ve 10000000000000 gibi bir şey).
Kamil

en.wikipedia.org/wiki/IEEE_floating_point C floatiçin katsayı için 23 bit, üs için 8 bit ve işaret için 1 bit. Bu 3 aralığı analog olarak temsil etmeniz gerekir.
mrpyo

Seri olarak birçok ünite bulundurarak ve aynı anda yalnızca birini kullanarak gerekli frekansı azaltamaz mıydınız?
mrpyo

4
Kayan Nokta'nın gerçek analog eşdeğeri logaritmik alan olacaktır, bu nedenle saçma bir şekilde yüksek dinamik aralık (FP mantisinden daha yüksek) gerekli değildir. Aksi takdirde iyi puanlar.
Brian Drummond

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.