เลขคณิตสัญญาณอนาล็อกนั้นเร็วกว่าดิจิตอลหรือไม่?


36

ในทางทฤษฎีแล้วมันจะเป็นไปได้หรือไม่ที่จะเพิ่มความเร็วตัวประมวลผลที่ทันสมัยถ้ามีใครจะใช้เลขคณิตสัญญาณอะนาล็อก (ในราคาที่ถูกต้องและแม่นยำ) แทนที่จะเป็นดิจิตอล FPUs (CPU -> DAC -> อนาล็อก FPU -> ADC -> CPU)

การแบ่งสัญญาณอะนาล็อกเป็นไปได้หรือไม่ (เนื่องจากการคูณ FPU มักใช้เวลาหนึ่งรอบ CPU ต่อไป)


มันไม่ได้ตอบคำถามของคุณ แต่นี่เป็นบทความที่น่าสนใจเกี่ยวกับการใช้คอมพิวเตอร์ระบบไฟฟ้าแบบอะนาล็อกในเรือรบarstechnica.com/information-technology/2014/03/…
Doombot

มีข้อเสนอเป็นครั้งคราวในการใช้ตรรกะดิจิทัลแบบหลายรัฐเช่น "flip-flop" ที่มีสี่สถานะแทนที่จะเป็นสองสถานะ สิ่งนี้เกิดขึ้นจริงในชิปหน่วยความจำที่ใช้งานจริงบางตัวเนื่องจากจะช่วยลดปัญหาคอขวดของสายไฟ (ผมไม่ทราบว่าชิปใด ๆ ที่ผลิตในปัจจุบันใช้ตรรกะของรัฐหลายแม้ว่า.)
ร้อน Licks

คำตอบ:


44

พื้นฐานวงจรทั้งหมดเป็นแบบอะนาล็อก ปัญหาเกี่ยวกับการคำนวณด้วยแรงดันไฟฟ้าอะนาล็อกหรือกระแสคือการรวมกันของเสียงรบกวนและการบิดเบือน วงจรอะนาล็อกมีสัญญาณรบกวนและยากมากที่จะทำให้วงจรอะนาล็อกเป็นเส้นตรงตามคำสั่งขนาดใหญ่ แต่ละขั้นตอนของวงจรอะนาล็อกจะเพิ่มเสียงรบกวนและ / หรือการบิดเบือนสัญญาณ สิ่งนี้สามารถควบคุมได้ แต่ไม่สามารถกำจัดได้

วงจรดิจิตอล (คือ CMOS) โดยทั่วไปแล้วดำเนินการด้านนี้โดยใช้เพียงสองระดับเท่านั้นในการแสดงข้อมูลโดยแต่ละขั้นตอนจะสร้างสัญญาณใหม่ ใครสนใจว่าเอาต์พุตจะถูกปิดลง 10% จะต้องมีค่าสูงกว่าหรือต่ำกว่าเกณฑ์ ใครจะสนใจว่าผลลัพธ์นั้นผิดเพี้ยนไป 10% อีกครั้งจะต้องมีค่าสูงกว่าหรือต่ำกว่าเกณฑ์ ในการเปรียบเทียบแต่ละเกณฑ์สัญญาณจะถูกสร้างใหม่โดยทั่วไปและปัญหาด้านเสียง / ความไม่เชิงเส้น / ฯลฯ ถอดออก สิ่งนี้ทำได้โดยการขยายและตัดสัญญาณอินพุต - อินเวอร์เตอร์ CMOS เป็นเพียงเครื่องขยายเสียงที่ง่ายมากที่ทำจากทรานซิสเตอร์สองตัวซึ่งทำงานแบบเปิดลูปเป็นตัวเปรียบเทียบ หากระดับถูกผลักเกินเกณฑ์คุณจะได้รับข้อผิดพลาดเล็กน้อย โปรเซสเซอร์โดยทั่วไปได้รับการออกแบบให้มีอัตราความผิดพลาดบิตในลำดับที่ 10 -20 -20, IIRC ด้วยเหตุนี้ วงจรดิจิตอลนั้นแข็งแกร่งอย่างเหลือเชื่อ - พวกมันสามารถทำงานได้ในช่วงกว้างของสภาพการณ์ต่าง ๆ เพราะโดยทั่วไปแล้วเสียงเชิงเส้นและเสียงจะไม่เป็นปัญหา แทบจะเป็นเรื่องเล็กน้อยที่จะทำงานกับตัวเลข 64 บิตแบบดิจิทัล 64 บิตหมายถึงช่วงไดนามิก 385 เดซิเบล นั่นคือลำดับความสำคัญ 19 ข้อ ไม่มีทางในนรกที่คุณจะไปไหนมาไหนด้วยวงจรอะนาล็อก หากความละเอียดของคุณคือ 1 picovolt (10 ^ -12) (และโดยทั่วไปจะถูกล้นด้วยเสียงความร้อน) คุณต้องรองรับค่าสูงสุด 10 ^ 7 ซึ่งคือ 10 megavolts ไม่มีวิธีใดที่จะทำงานกับช่วงไดนามิกชนิดนั้นในแบบอะนาล็อก - เป็นไปไม่ได้ การแลกเปลี่ยนที่สำคัญอีกอย่างในวงจรอนาล็อกคือแบนด์วิดท์ / ความเร็ว / เวลาตอบสนองและช่วงเสียง / ไดนามิก วงจรแบนด์วิธที่แคบจะทำให้เกิดเสียงรบกวนโดยเฉลี่ยและทำงานได้ดีในช่วงไดนามิกที่กว้าง ข้อเสียคือพวกเขาช้า วงจรแบนด์วิธที่กว้างนั้นเร็ว แต่สัญญาณรบกวนเป็นปัญหาที่ใหญ่กว่าดังนั้นช่วงไดนามิกจึงมี จำกัด ด้วยดิจิตอลคุณสามารถโยนบิตที่ปัญหาเพื่อเพิ่มช่วงไดนามิกหรือเพิ่มความเร็วด้วยการทำสิ่งต่าง ๆ ในแบบคู่ขนานหรือทั้งสองอย่าง

อย่างไรก็ตามสำหรับการดำเนินการบางอย่างอะนาล็อกมีข้อดี - เร็วขึ้นง่ายขึ้นลดการใช้พลังงานและอื่น ๆ ดิจิตอลจะต้องมีปริมาณในระดับและในเวลา อะนาล็อกมีความต่อเนื่องทั้งคู่ ตัวอย่างหนึ่งที่การชนะแบบแอนะล็อกอยู่ในเครื่องรับวิทยุในการ์ด wifi ของคุณ สัญญาณอินพุตเข้ามาที่ 2.4 GHz ตัวรับสัญญาณดิจิตอลเต็มรูปแบบจะต้องใช้ ADC ทำงานอย่างน้อย 5 กิกะบิตต่อวินาที นี้จะใช้พลังงานจำนวนมาก และนั่นไม่ได้พิจารณาถึงการประมวลผลหลังจาก ADC ขณะนี้ ADCs ของความเร็วนั้นใช้สำหรับระบบการสื่อสารเบสแบนด์ที่มีประสิทธิภาพสูงเท่านั้น (เช่นการปรับออพติคอลของสัญญาณที่มีอัตราการเชื่อมต่อสูง) และในอุปกรณ์ทดสอบ อย่างไรก็ตามทรานซิสเตอร์และพาสซีฟจำนวนหนึ่งสามารถใช้เพื่อแปลง 2

บรรทัดล่างคือว่ามีข้อดีและข้อเสียในการคำนวณแบบอะนาล็อกและดิจิตอล หากคุณสามารถทนต่อเสียงรบกวนการบิดเบือนช่วงไดนามิกต่ำและ / หรือความแม่นยำต่ำให้ใช้อะนาล็อก หากคุณไม่สามารถทนต่อเสียงรบกวนหรือการบิดเบือนและ / หรือคุณต้องการช่วงไดนามิกสูงและความแม่นยำสูงให้ใช้ดิจิตอล คุณสามารถเพิ่มบิตให้กับปัญหาเพื่อให้แม่นยำยิ่งขึ้น อย่างไรก็ตามไม่มีสิ่งใดเทียบเท่าแบบอะนาล็อก


สิ่งนี้สมควรได้รับการยกระดับมากขึ้น!
John U

ฉันรู้แล้ว! ฉันไม่สามารถพูดออกมาเป็นคำพูดที่ดีได้ ข้อมูลเพิ่มเติมที่ดีเกี่ยวกับตัวรับสัญญาณไร้สาย
Smithers

2
ตัวอย่างและวงจรค้างไว้? เทปแม่เหล็ก? บันทึกการออกเสียงหรือไม่ ฟิล์มถ่ายภาพ? อุปกรณ์หน่วยความจำแบบอะนาล็อกมีอยู่จริง แต่ก็มีลักษณะที่แตกต่างจากกล้องดิจิตัลเล็กน้อย
alex.forencich

1
ช่วงใดก็ได้ใช่ แต่ช่วงใดที่มีความละเอียดตามอำเภอใจ? ไม่มากนัก.
alex.forencich

1
@ehsan amplification ไม่เพิ่มช่วงไดนามิกของคุณค่าต่ำสุดของคุณ (พื้นเสียงรบกวน) ได้รับการขยายไปทางขวาพร้อมกับค่าสูงสุด
mbrig

20

ฉันได้เข้าร่วมการประชุม IEEE เมื่อเดือนที่แล้วเรื่อง“ กลับสู่อนาคต: การประมวลผลสัญญาณอะนาล็อก ” การสัมมนาครั้งนี้จัดขึ้นโดย IEEE Solid State Circuit Society

เสนอว่าอะนาล็อก MAC (คูณและสะสม) สามารถใช้พลังงานน้อยกว่าดิจิตอล อย่างไรก็ตามประเด็นหนึ่งก็คืออะนาล็อก MAC เป็นเรื่องของสัญญาณรบกวนแบบอะนาล็อก ดังนั้นหากคุณแสดงด้วยอินพุตเดียวกันสองครั้งผลลัพธ์จะไม่เหมือนกันทุกประการ


1
(+1 สำหรับเสียงอนาลอก)
George Herold

บทความเกี่ยวกับการใช้คอมพิวเตอร์เชิงกลในเรือรบarstechnica.com/information-technology/2014/03/..
Doombot

18

สิ่งที่คุณกำลังพูดถึงเรียกว่าคอมพิวเตอร์อะนาล็อกและแพร่หลายในคอมพิวเตอร์ยุคแรก ๆ เมื่อถึงปลายยุค 60 พวกเขาก็หายตัวไป ปัญหาคือไม่เพียง แต่มีความแม่นยำที่เลวร้ายยิ่งกว่าสำหรับดิจิตอล แต่ความแม่นยำก็เช่นกัน และความเร็วในการคำนวณแบบดิจิตอลนั้นเร็วกว่าวงจรอนาล็อกแบบเจียมเนื้อเจียมตัว

ตัวแบ่งแบบอะนาล็อกนั้นเป็นไปได้จริงและอุปกรณ์แบบอะนาล็อกจะสร้างแบบจำลองได้ประมาณ 10 แบบ เหล่านี้เป็นตัวคูณที่แทรกเข้าไปในเส้นทางป้อนกลับของแอมป์สหกรณ์สร้างตัวหาร แต่โฆษณาที่ใช้ในการสร้างตัวแบ่งเฉพาะที่ปรับให้เหมาะสมสำหรับช่วงไดนามิกขนาดใหญ่ (60 เดซิเบลฉันคิดว่า)

โดยทั่วไปการคำนวณแบบอะนาล็อกจะช้าและไม่ถูกต้องเมื่อเทียบกับดิจิตอล ไม่เพียงแค่นั้น แต่การตระหนักถึงการคำนวณแบบอะนาล็อกโดยเฉพาะต้องการการกำหนดค่าใหม่ของฮาร์ดแวร์ ในช่วงท้ายเกมมีการผลิตคอมพิวเตอร์อะนาล็อกไฮบริดที่สามารถทำได้ภายใต้การควบคุมซอฟต์แวร์


6
ฉันชอบคำตอบของคุณ (+1) และคำถาม แต่ฉันจะไม่เห็นด้วยกับส่วนความเร็ว อนาล็อกนั้นเร็วมาก ปัญหาคือความแม่นยำและที่สำคัญที่สุดคือเสียงรบกวน อะนาล็อกมักมีเสียงรบกวนบ้าง ดิจิตอลไม่มีเสียงรบกวนคอมพิวเตอร์ฉลาด
George Herold

ขอบคุณสำหรับคำที่ใจดี แต่. อะนาล็อกอาจเร็วมาก แต่โดยทั่วไปแล้วดิจิตอลจะเร็วกว่า และเสียงรบกวนนั้นง่ายต่อการจำลอง
WhatRoughBeast

4
อะนาล็อกนั้นเร็วหากเป็นเพียงแค่เลขคณิต exp, sqrt เป็นต้น แต่ทันทีที่คุณเพิ่มตัวเก็บประจุหรือตัวเหนี่ยวนำซึ่งจำเป็นสำหรับการแยกและรวมเข้าด้วยกันมันก็ช้า ประวัติศาสตร์คอมพิวเตอร์แอนะล็อกมักจะใช้สำหรับการแก้สมการเชิงอนุพันธ์ - พวกเขา "ช้า" แต่บางคนก็ทำพีชคณิต ดังนั้นฉันจึงเห็นได้ว่าทำไมคนต่างกันถึงมีมุมมองที่ต่างกันเกี่ยวกับความเร็วในการคำนวณแบบอะนาล็อก
DarenW

1
คุณช่วยอธิบายได้ไหมว่าทำไมอะนาล็อกจึงช้า ในคอมพิวเตอร์ดิจิตอลคำแนะนำบางอย่าง "ช้า" เพราะต้องการให้ทำซ้ำสองสามครั้ง แต่ด้วยระบบอะนาล็อกฉันเชื่อว่าการผ่านเพียงครั้งเดียวเพื่อให้ได้ผลลัพธ์
mrpyo

1
@mrpyo - แน่นอนคุณสามารถทำทั้งสองฟังก์ชันได้ หากคุณใช้ตัวคูณและเชื่อมต่ออินพุตทั้งสองเข้าด้วยกันมันจะกลายเป็น "กำลังสอง" ถ้าคุณใช้วงจรโฟตอนที่ใช้ในคำตอบของเขาพร้อมทั้งอินพุตที่เชื่อมโยงกับเอาต์พุตแอมป์สหกรณ์มันจะสร้างรากที่สอง ความสัมพันธ์ของแรงดันไฟฟ้า / กระแสในไดโอดนั้นเป็นเลขชี้กำลังดังนั้นคุณสามารถใช้มันเพื่อสร้างเลขชี้กำลัง และโดยการใส่ไดโอดในเส้นทางป้อนกลับคุณจะได้ลอการิทึม ในทุกกรณีแม้ว่าช่วงไดนามิกสามารถถูก จำกัด โดยแอมพลิฟายเออร์ออฟเซ็ต, ดริฟท์เป็นต้นและสำหรับวงจรไดโอดก็มีแหล่งข้อผิดพลาดอื่น ๆ เช่นกัน
WhatRoughBeast

11

การแบ่งสัญญาณอะนาล็อกเป็นไปได้หรือไม่ (เนื่องจากการคูณ FPU มักใช้เวลาหนึ่งรอบ CPU ต่อไป)

หากคุณมีตัวคูณแบบแอนะล็อกตัวหารแบบอะนาล็อกคือ "ง่าย" ที่จะทำ:

แผนผัง

จำลองวงจรนี้ - แผนผังที่สร้างโดยใช้CircuitLab

สมมติว่า X1 และ X2 เป็นค่าบวกนี่จะแก้ปัญหา Y = X1 / X2

มีตัวคูณอนาลอกอยู่ดังนั้นวงจรนี้จึงเป็นไปได้ในหลักการ น่าเสียดายที่ตัวคูณแบบแอนะล็อกส่วนใหญ่มีช่วงของค่าอินพุตที่อนุญาตค่อนข้าง จำกัด

อีกวิธีคือการใช้เครื่องขยายเสียงบันทึกก่อนเพื่อให้ได้ลอการิทึมของ X1 และ X2, ลบแล้วจึงยกกำลัง

ในทางทฤษฎีแล้วมันจะเป็นไปได้หรือไม่ที่จะเพิ่มความเร็วตัวประมวลผลที่ทันสมัยถ้ามีใครจะใช้เลขคณิตสัญญาณอะนาล็อก (ที่ราคาของความแม่นยำ) แทน FPU แบบดิจิตอล (CPU -> ADC -> อนาล็อก FPU -> DAC -> CPU)

หัวใจสำคัญคือคำถามเกี่ยวกับเทคโนโลยี --- มีการลงทุนด้านการวิจัยและพัฒนาอย่างมากเพื่อให้การดำเนินงานดิจิทัลเร็วขึ้นเทคโนโลยีอะนาล็อกนั้นจะมีหนทางไกลในการติดตามจุดนี้ แต่ไม่มีทางที่จะบอกว่าเป็นไปไม่ได้อย่างแน่นอน

ในทางกลับกันฉันไม่คิดว่าวงจรตัวแบ่งหยาบของฉันด้านบนจะทำงานได้สูงกว่า 10 MHz โดยไม่ต้องทำงานอย่างระมัดระวังและอาจจะทำการวิจัยลึกเพื่อให้มันทำงานได้เร็วขึ้น

นอกจากนี้คุณบอกว่าเราควรละเลยความแม่นยำ แต่วงจรอย่างที่ฉันวาดนั้นอาจจะแม่นยำเพียง 1% หรือมากกว่านั้นโดยไม่ต้องจูนและอาจจะเหลือเพียง 0.1% โดยไม่ต้องคิดค้นเทคโนโลยีใหม่ และช่วงไดนามิกของอินพุตที่สามารถคำนวณได้อย่างเป็นประโยชน์นั้นมี จำกัด เช่นเดียวกัน ดังนั้นไม่เพียง แต่จะช้ากว่าวงจรดิจิตอลที่มีอยู่ 100 ถึง 1,000 เท่าเท่านั้นช่วงไดนามิกของมันน่าจะแย่กว่านี้ประมาณ 10 300เท่า (เทียบกับจุดลอยตัว IEEE 64 บิต)


5
เฮ้ฉันมีตัวคูณโฆษณาเก่าที่มีความเร็ว 10 MHz ฉันพนันได้เลยว่าจะได้อะไรเร็วกว่านี้ เพียงแค่โยนประแจลิงลงในหัวข้อนี้หากการคำนวณควอนตัมเคยกวาดมันจะเป็นแบบอะนาล็อก
George Herold

@ GeorgeHerold นั่นคือเหตุผลที่ดีที่สุดของฉันที่คำนวณควอนตัมเป็นน้ำมันงู
โฟตอน

เคล็ดลับเรียบร้อยมาก ยกเว้นฉันคิดว่าคำนวณ A (x1) / (1 + A (x2)) ซึ่งควรแม่นยำสำหรับการได้รับผลตอบแทนจำนวนมาก A.
Yale จาง

@georgeherold มิกเซอร์เป็นจริงเพียงคูณอนาล็อกได้อย่างรวดเร็วด้วยข้อกำหนดของข้อมูลแปลกเล็กน้อยและผมคิดว่าคนจะได้รับไมโครเวฟเหล่านั้นขึ้นถึง 60 GHz หรือมากขึ้นวันนี้
mbrig

@mbrig ปัญหาคือ op-amp และปิดลูปการตอบกลับ
Photon

7
  1. ไม่ได้เนื่องจากการแปลง DAC และ ADC ใช้เวลามากกว่าการหารแบบดิจิทัลหรือการคูณ

  2. การคูณและการหารแบบอะนาล็อกนั้นไม่ง่ายใช้พลังงานมากขึ้นและไม่คุ้มค่าเมื่อเทียบกับ IC แบบดิจิทัล

  3. การขยายตัวแบบอะนาล็อกอย่างรวดเร็ว (ช่วง GHz) และการหารแบบอะนาล็อกมีความแม่นยำประมาณ 1% นั่นหมายความว่าคุณสามารถหารตัวแบ่งสัญญาณอะนาล็อกที่รวดเร็วได้คือ ... ตัวเลข 8 บิตหรืออะไรทำนองนั้น วงจรรวมระบบดิจิตอลจัดการกับตัวเลขเช่นนี้อย่างรวดเร็ว

  4. 3.410343.41034

ที่นี่คุณสามารถดูตัวหารแบบอะนาล็อกและตัวคูณที่เสนอโดยอุปกรณ์อะนาล็อก ( ลิงก์ )

ป้อนคำอธิบายรูปภาพที่นี่

สิ่งเหล่านี้ไม่ค่อยมีประโยชน์ในการคำนวณทั่วไป สิ่งเหล่านี้ดีกว่ามากในการประมวลผลสัญญาณอะนาล็อก


4. ไม่แน่นอน ตัวเลขจุดลอยตัวจะแสดงในรูปแบบทางวิทยาศาสตร์โดยทั่วไปเป็นตัวเลขสองหลัก - ค่าสัมประสิทธิ์และเลขยกกำลังทั้งสองครอบคลุมช่วงที่ จำกัด มากขึ้น
mrpyo

@mrpyo คุณแน่ใจนะ ฉันคิดว่าช่วงทศนิยม 16 บิตนั้นสูงกว่าตัวเลขที่ฉันเขียนไว้ก่อนการแก้ไข (เช่น 0000000000000.1 และ 10000000000000)
Kamil

en.wikipedia.org/wiki/IEEE_floating_pointสำหรับ C floatมันคือ 23 บิตสำหรับค่าสัมประสิทธิ์, 8 บิตสำหรับเลขชี้กำลังและ 1 บิตสำหรับการลงชื่อ คุณจะต้องเป็นตัวแทนช่วง 3 ช่วงในแบบอะนาล็อก
mrpyo

คุณไม่สามารถลดความถี่ที่ต้องการด้วยการมีหน่วยเป็นชุด ๆ และใช้เพียงทีละหน่วยเท่านั้น
mrpyo

4
อะนาล็อกเทียบเท่าที่แท้จริงของ Floating Point จะเป็นโดเมนลอการิทึมดังนั้นช่วงไดนามิกสูงอย่างไร้เหตุผล (สูงกว่า FP mantissa) จึงไม่จำเป็น มิฉะนั้นจุดที่ดี
Brian Drummond

0

ที่จริงแล้วนักวิจัยกำลังกลับมาเยี่ยมชมเทคนิคการคำนวณแบบอะนาล็อกภายใต้บริบทของ VLSI เนื่องจากการคำนวณแบบอะนาล็อกสามารถให้ประสิทธิภาพการใช้พลังงานที่สูงกว่าแบบดิจิตอลในแอพพลิเคชั่นเฉพาะ ดูกระดาษนี้:

http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=7313881&tag=1

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.