ทำไมวงจรอะซิงโครนัสอย่างไม่สมบูรณ์จึงแพร่หลายมากกว่า? [ปิด]


19

จากความเข้าใจของฉัน CPU ของผู้บริโภคที่ทันสมัยส่วนใหญ่นั้นใช้ตรรกะแบบซิงโครนัส แอปพลิเคชั่นความเร็วสูงบางตัว (การประมวลผลสัญญาณ ฯลฯ ) ใช้ตรรกะ ansync เพื่อความเร็วที่สูงขึ้น

อย่างไรก็ตามในตลาดปัจจุบันความเร็วของผลิตภัณฑ์สำหรับผู้บริโภคเป็นหนึ่งในจุดขายหลัก (ดู AMD และ Intel) การพัฒนาของการพิมพ์หินที่ซับซ้อนมากขึ้นเร็วกว่าการใช้ตรรกะแบบอะซิงโครนัสอย่างเต็มที่หรือไม่? หรือ ansync ลอจิกซับซ้อนเกินไป / ทำไม่ได้สำหรับแอปพลิเคชัน VLSI หรือไม่


4
ฉันคิดว่ามันยากมากที่จะเขียนโปรแกรมพวกเขาในลักษณะขั้นตอน
mehmet.ali.anil

16
สถาปัตยกรรมปัจจุบันเป็นแบบผสมผสาน บล็อกแบบซิงโครนัสเชื่อมต่อกันแบบอะซิงโครนัส และใช่ตรรกะแบบอะซิงโครนัสนั้นซับซ้อนกว่ามาก
ยูจีน Sh.

5
เพราะเราไม่มีเครื่องมือที่ดีสำหรับการปิดเวลาแบบอะซิงโครนัส
Oldfart

2
ระบบเริ่มทวีความรุนแรงมากขึ้น สำหรับซีพียูรุ่นใหม่ ๆ เช่น RAM, แคชและแกนประมวลผลของ CPU ทั้งหมดทำงานด้วยนาฬิกาอิสระ โปรเซสเซอร์ Intel HEDT ใหม่ใช้ขั้นตอนนี้ต่อไปและอนุญาตให้แต่ละคอร์จำนวนมากในชิปทำงานที่นาฬิกาอิสระจากกันและกันและจาก RAM, แคชและบัสภายนอก ฯลฯ
เจ

1
สิ่งหนึ่งที่ต้องจำไว้คือนาฬิกาแบบซิงโครนัสจะแนะนำ heartbeat ที่เป็นมาตรฐานสำหรับระบบในขณะที่ถ้าคุณไปกับการออกแบบ async ที่บริสุทธิ์มิฉะนั้นความแตกต่างของเวลาเล็กน้อยเช่นความล่าช้าในการแพร่กระจาย นอกจากนี้ยังค่อนข้างมีประสิทธิภาพในการใช้งานฟังก์ชั่นบริสุทธิ์ในการออกแบบ async แต่ฟังก์ชั่น stateful (หรือการดำเนินงานที่ยากขึ้นเช่นสแควร์รูท) สามารถซับซ้อน สัญญาณเส้นทางอาจเป็นเรื่องยาก (ไม่มีรถเมล์คุณอาจติดการเชื่อมต่อทุกอย่างกับทุกสิ่ง)
jrh

คำตอบ:


45

ฉันใช้เวลาหลายปีในการเริ่มต้นใช้งานเทคโนโลยีการออกแบบ async เชิงพาณิชย์ดังนั้นฉันคุ้นเคยกับเหตุผล:

  • async ไม่เร็วขึ้นอย่างแท้จริง ความล่าช้าเส้นทางที่เลวร้ายที่สุดยังคงเหมือนเดิม เป็นเพียงแค่บางครั้งคุณก็จะได้รับประโยชน์จากการดำเนินการที่รวดเร็วขึ้น

  • async มีค่าใช้จ่ายในการตรวจจับความสมบูรณ์เช่นกัน

  • เครื่องมือออกแบบ นี่คือจริงๆขนาดใหญ่: มีไม่ได้จริงๆเต็ม async ไหล "" ของเครื่องมือที่มีคุณภาพเช่นเดียวกับการออกแบบซิงโคร

  • การอบรม คุณจะต้องฝึกฝนนักออกแบบของคุณอย่างมีประสิทธิภาพเกี่ยวกับกระบวนทัศน์และเครื่องมือใหม่

  • ความเสี่ยงและการอนุรักษ์ อุตสาหกรรมจำนวนมากคือ "ผลิตสิ่งที่คล้ายกับอุตสาหกรรมชิ้นสุดท้าย แต่แตกต่างกันเล็กน้อย" นี่เป็นโอกาสที่สูงมากในการทำงาน บริษัท ต่าง ๆ ลังเลที่จะสร้างบางสิ่งที่แตกต่างออกไปโดยสิ้นเชิงเนื่องจากมีโอกาสมากขึ้นที่จะได้รับค่าใช้จ่ายในการเขียนหลายสิบล้านดอลลาร์


มันอาจจะถูกกว่า แต่ช้ากว่า
Tony Stewart Sunnyskyguy EE75

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

ในแง่ของเครื่องมือออกแบบ / กระบวนทัศน์ตรรกะแบบซิงโครนัสสามารถเพิกเฉยต่อข้อบกพร่องทั้งหมดในตรรกะ combinatorial และจะต้องใช้สัญญาณนาฬิกาที่ปราศจากความผิดพลาด วงจรแบบอะซิงโครนัสมีแนวโน้มที่จะต้องเพิ่มการหน่วงเวลาเพิ่มเติมสำหรับสัญญาณบางอย่างเพื่อให้แน่ใจว่าสัญญาณที่พร้อมไม่สามารถไปถึงบล็อกถัดไปก่อนที่ข้อมูลจะมาถึง ฯลฯ ในวงจรซิงโครนัส หนึ่งในสองสามกรณีที่ต้องคำนึงถึงคือการตอบสนองความต้องการด้านเวลาไว้ซึ่งมักจะได้รับความพึงพอใจจากความล่าช้าตามธรรมชาติ นอกจากนี้บางสถานการณ์ในโดเมนครอสโอเวอร์อาจต้องล่าช้า
Kevin Cathcart

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

3
@MooingDuck มันขึ้นอยู่กับกระบวนทัศน์ตรรกะ ฉันทำงานกับ Null Convention Logic บางอย่างและมันจะทำงานได้เร็วที่สุดเท่าที่เงื่อนไข (กระบวนการแรงดันอุณหภูมิ) จะอนุญาต คุณจะไม่ต้องอยู่ภายใต้นาฬิกามันเพราะเงื่อนไขเหล่านั้นก็จะทำโดยอัตโนมัติ
W5VO

3

มันดึงดูดมากในการออกแบบวงจรรวมแบบอะซิงโครนัส คำตอบอื่น ๆ ครอบคลุมเหตุผลมากมายที่ต้องคิดสองครั้งก่อนที่จะทำ นี่คืออีกหนึ่ง:

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

การตรวจสอบ

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

การตรวจสอบที่คล้ายกันสามารถทำได้สำหรับวงจรแบบอะซิงโครนัส แต่เครื่องมือและการออกแบบนั้นรองรับได้ยากมากและน้อยกว่ามาก นอกจากนี้ยัง จำกัด ผู้ออกแบบให้สร้างแบบอะซิงโครนัสที่สามารถตรวจสอบได้จริง ไม่มีการตรวจสอบที่เชื่อถือได้สำหรับวงจรอะซิงโครนัสตามอำเภอใจ

ทดสอบ

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

สรุป

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

การออกแบบที่เรียกว่า "Locally Synchronous Global Asynchronous" เป็นวิธีหนึ่งที่จะได้รับประโยชน์มากขึ้นและมีข้อเสียน้อยกว่าทั้งกระบวนทัศน์ระยะเวลา


0

ตัวนับไบนารี Async นั้นง่ายกว่าเพราะใช้เพียง 1 หน่วยความจำเซลล์หรือ T flip flop ต่อการหารด้วยสอง ดังนั้นซีดีเก่าและ 74HC4020 และ 4040 เสนอขั้นตอนไบนารีจำนวนมากอย่างถูก ความล่าช้าของเสาในแต่ละขั้นตอนหมายความว่าไม่สามารถใช้งานได้หากไม่มีสภาพการแข่งขันหรือความบกพร่องที่มีการถอดรหัสเกตของเลขฐานสองเว้นแต่ว่าการหน่วงเวลาเสาน้อยกว่า 1/2 รอบนาฬิกานาฬิกาโดยใช้ขอบต่อท้ายเพื่อสลักผลลัพธ์ เวลาแฝงที่ส่งออกจะถูกคูณด้วยระยะ N

ตัวนับไบนารีแบบซิงโครนัสใช้เซลล์หน่วยความจำเสริมเป็น D Df เพื่อหน่วงเวลา แต่ลดความล่าช้าเป็น 1 ค่าสำหรับความยาวของตัวนับใด ๆ จึงใช้พื้นที่มากขึ้น

ดังนั้น CPU ทั้งหมดจะใช้นาฬิกาเสริมเพื่อเพิ่มประสิทธิภาพความหน่วงแฝงที่คาดหวังในที่อยู่และการอ่าน / เขียนหน่วยความจำเพื่อเพิ่ม Thruput ให้สูงสุด

ขณะนี้หน่วยความจำใช้เฟสจำนวนมากเช่น DDR, 3DR, 4DR, 5DR โดยเฉพาะอย่างยิ่งสำหรับหน่วยความจำกราฟิก แต่ด้วยนาฬิกา CPU จะเร็วกว่าอัตรา RAM รอบเดียวเพื่อให้การอ่านและเขียนความล่าช้าที่อยู่อาจถูกจับเวลาด้วยการนับครั้งเดียวหรือหลายครั้ง superclock (เช่น 100MHz xN) กำหนดโดย T เศษส่วนหรือจำนวนเต็มนับสำหรับแต่ละพารามิเตอร์ ความล่าช้าเหล่านี้เพิ่มขึ้นตามอุณหภูมิ สำหรับ CMOS และลดลงด้วยแรงดันไฟฟ้า Vram ที่สูงขึ้นซึ่งหากระบายความร้อนอย่างเหมาะสมอาจช่วยลดความหน่วงหรือการเพิ่มขึ้นของ Pd และอุณหภูมิเพิ่มขึ้นและทำให้แย่ลง (ช้าลง) ดังนั้นการระบายความร้อน, V, f, T จึงมีความสำคัญต่อความหน่วงแฝงที่เหมาะสมไม่ว่าจะใช้สำหรับการดำเนินการแบบ Async หรือ Sync


-1

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

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


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