Mengapa sirkuit asinkron sepenuhnya tidak lebih lazim? [Tutup]

19

Dari pemahaman saya, sebagian besar CPU konsumen modern didasarkan pada logika sinkron. Beberapa aplikasi kecepatan tinggi (pemrosesan sinyal, dll.) Menggunakan logika ansync untuk kecepatan yang lebih tinggi.

Namun, di pasar saat ini, kecepatan dalam produk konsumen adalah salah satu nilai jual utama (lihat AMD vs Intel.) Apakah pengembangan litografi yang lebih rumit lebih cepat daripada penerapan logika yang sepenuhnya tidak sinkron? Atau apakah logika ansync terlalu rumit / tidak praktis untuk aplikasi VLSI?

Corsair64
sumber
4
Saya pikir sangat sulit untuk memprogram mereka secara prosedural.
mehmet.ali.anil
16
Arsitektur saat ini adalah hybrid. Blok sinkron saling terhubung dalam cara yang tidak sinkron. Dan ya, logika asinkron jauh lebih rumit.
Eugene Sh.
5
Karena kami belum memiliki alat yang bagus untuk penutupan waktu asinkron.
Oldfart
2
Sistem menjadi semakin tidak sinkron. Pada CPU modern, hal-hal seperti RAM, cache, dan core CPU semuanya berjalan dengan jam independen. Prosesor Intel HEDT yang baru membawa ini selangkah lebih maju dan memungkinkan masing-masing dari banyak core dalam chip berjalan pada jam yang tidak tergantung satu sama lain dan dari RAM, cache, dan bus eksternal, dll.
...
1
Satu hal yang perlu diingat, jam sinkron memperkenalkan detak jantung standar untuk sistem, sedangkan jika Anda menggunakan desain async murni, jika tidak, perbedaan waktu yang sepele seperti penundaan propagasi mungkin harus diakomodasi melalui beberapa cara lain. Juga relatif efisien untuk mengimplementasikan fungsi murni dalam desain async, tetapi fungsi stateful (atau operasi yang lebih keras seperti root kuadrat) dapat menjadi rumit. Sinyal routing juga bisa sulit (tidak ada bus, Anda mungkin terjebak menghubungkan semuanya ke semuanya).
jrh

Jawaban:

45

Saya menghabiskan beberapa tahun di sebuah startup yang mengkomersilkan teknologi desain async, jadi saya akrab dengan alasan:

  • async tidak secara intrinsik lebih cepat. Penundaan jalur terburuk tetap sama. Hanya saja kadang-kadang Anda bisa memanfaatkan jalur eksekusi yang lebih cepat.

  • async juga memiliki overhead deteksi selesai.

  • Alat desain. Ini adalah yang sangat besar: sebenarnya tidak ada "aliran" async penuh dari alat yang tersedia dengan kualitas yang sama dengan desain sinkron.

  • Latihan. Anda harus melatih ulang semua desainer Anda dengan paradigma dan alat baru.

  • Risiko dan konservativisme. Begitu banyak dari industri ini "menghasilkan sesuatu yang mirip dengan yang terakhir, tetapi sedikit berbeda". Ini memiliki peluang kerja yang sangat tinggi. Perusahaan jauh lebih enggan untuk membangun sesuatu yang sama sekali berbeda karena memiliki lebih banyak peluang menjadi total penghapusbukuan dengan biaya puluhan juta dolar.

pjc50
sumber
Secara intrinsik bisa lebih murah tetapi lebih lambat.
Tony Stewart Sunnyskyguy EE75
3
Saya ingat pernah memikirkan hal ini sekali, dan juga menyadari: Sebuah chip yang disinkronkan secara sepele underclock (untuk baterai / temp / etc), sedangkan chip yang tidak sinkron mungkin kurang begitu?
Mooing Duck
Dalam hal alat desain / paradigma, logika sinkron mampu benar-benar mengabaikan gangguan dalam output logika kombinatorial, dan hanya membutuhkan sinyal jam untuk bebas kesalahan. Sirkuit asinkron juga lebih mungkin memerlukan penambahan waktu tunda untuk beberapa sinyal, untuk memastikan sinyal yang siap tidak dapat tiba di blok berikutnya sebelum data tiba, dll. Dalam sirkuit sinkron, penundaan buatan jarang diperlukan. Salah satu dari beberapa kasus yang perlu diingat adalah untuk memenuhi persyaratan waktu tunggu, yang seringkali dapat dipenuhi oleh keterlambatan alami. Juga beberapa situasi domain lintas jam dapat memerlukan penundaan.
Kevin Cathcart
Saya akan berpikir bahwa dalam banyak situasi menggunakan jam dua fase non-tumpang tindih dapat menawarkan banyak keuntungan lebih dari satu jam. Saat menggunakan jam tunggal, pulsa runt apa pun dapat menyebabkan sistem melompati rel, tetapi saat menggunakan jam dua fase yang dihasilkan dengan mengumpankan input jam melalui dua pembanding, runtuh pulsa pada fase jam akan tidak berbahaya jika didahului atau diikuti oleh pulsa clock dengan panjang yang valid tanpa pulsa intervening pada fase clock yang berlawanan.
supercat
3
@ MoingDuck Itu tergantung pada paradigma logika. Saya bekerja pada beberapa Null Convention Logic, dan itu akan berjalan secepat kondisi (proses, tegangan, suhu) akan memungkinkan. Anda tidak perlu melakukan under-clock karena kondisi tersebut, itu akan melakukannya secara otomatis .
W5VO
3

Sangat menggoda untuk merancang sirkuit terpadu asinkron. Jawaban lain sudah mencakup banyak alasan untuk berpikir dua kali sebelum melakukannya. Ini satu lagi:

Pengembangan IC belum selesai dengan desain. Verifikasi dan tes sama pentingnya. Tidak hanya alat desain yang sangat canggih untuk sirkuit sinkron, tetapi juga sama dengan alat simulasi dan alat uji.

Verifikasi

Tidaklah cukup untuk membuat sirkuit bekerja pada kondisi lab. Mereka harus kuat sehubungan dengan rentang tegangan operasi (V), kisaran suhu operasi (T), dan variasi karena proses pembuatan (P). Untuk logika sinkron ini dapat dijamin dengan bantuan analisis waktu statis. Sirkuit dipecah ke semua jalur waktu, dari flip-flop ke flip-flop. Waktu pengaturan dan penahanan diperiksa untuk setiap jalur pengaturan waktu tunggal, dan untuk kombinasi P, T, dan V. berbagai kombinasi PTV inilah yang disebut sebagai sudut simulasi.

Verifikasi serupa dapat dilakukan untuk sirkuit asinkron, tetapi jauh lebih sulit dan jauh lebih sedikit didukung oleh alat desain. Ini juga membatasi perancang untuk konstruksi asinkron yang sebenarnya dapat diverifikasi. Tidak ada verifikasi yang dapat diandalkan untuk sirkuit asinkron yang arbitrer.

Uji

Kesulitan serupa ada ketika datang untuk menguji perangkat keras. Pengujian logika sinkron sepenuhnya didukung oleh pengujian standar dan peralatan. Menguji sirkuit asinkron tidak hanya lebih rumit, tetapi karena kurangnya abstraksi waktu, bahkan tidak cukup untuk membuktikan bahwa rangkaian akan bekerja untuk semua sudut PTV. Sirkuit bisa gagal karena kondisi balapan di beberapa kombinasi PTV, yang tidak tercakup oleh sudut.

Ringkasan

Perancang IC belum melepaskan paradigma asinkron, tetapi logika asinkron hadir dengan kerugian besar selama verifikasi dan validasi. Dalam konteks industri, desain IC asinkron perlu dibatasi untuk konstruksi yang dapat terbukti bekerja pada seluruh ruang parameter variasi proses, serta rentang operasi untuk suhu dan tegangan.

Apa yang disebut "Lokal sinkron secara global asinkron" adalah salah satu cara untuk mendapatkan lebih banyak manfaat dan lebih sedikit kerugian dari kedua paradigma waktu.

Bog
sumber
0

Penghitung biner Async lebih sederhana karena mereka hanya menggunakan 1 sel memori atau T flip flop per bagi dengan dua. Karenanya CD lama dan 74HC4020 dan 4040 menawarkan banyak tahap biner dengan harga murah. Penundaan prop di setiap tahap berarti tidak dapat digunakan tanpa kondisi balapan atau gangguan dengan decoding gerbang alamat biner kecuali jika penundaan prop kurang dari 1/2 siklus input jam menggunakan tepi trailing untuk mengunci hasilnya. Latensi keluaran kemudian dikalikan dengan tahapan N.

Penghitung biner sinkron menggunakan sel memori tambahan ke D FF untuk menunda tetapi meminimalkan nilai penundaan hingga 1 untuk setiap penghitung panjang sehingga menghabiskan lebih banyak area.

Oleh karena itu semua CPU menggunakan jam pelengkap untuk mengoptimalkan latensi yang diharapkan dalam alamat dan memori baca / tulis untuk memaksimalkan thruput tetapi tidak melebihi penundaan prop, pengaturan, dan waktu penahanan.

Memori sekarang menggunakan banyak fase seperti DDR, 3DR, 4DR, 5DR terutama untuk memori grafis tetapi dengan jam CPU berjalan jauh lebih cepat daripada kecepatan RAM siklus tunggal sehingga penundaan alamat baca dan tulis dapat dihitung berdasarkan satu atau beberapa atau setengah jumlah hitungan. superclock (mis. 100MHz xN) yang ditentukan oleh T pecahan atau bilangan bulat dihitung untuk setiap parameter. Penundaan prop ini meningkat seiring temp. Untuk CMOS dan mengurangi dengan tegangan Vram yang lebih tinggi yang jika didinginkan dengan benar dapat mengurangi latensi atau lainnya meningkatkan Pd dan suhu naik dan membuatnya lebih buruk (lebih lambat). Jadi pendinginan, V, f, T semuanya sangat penting untuk latensi optimal, apakah itu digunakan untuk operasi Async atau Sync.

Tony Stewart Sunnyskyguy EE75
sumber
-1

Desain logika awal tidak sinkron. Sering kali mereka dicampur dengan sirkuit analog juga. Namun, seiring berjalannya waktu desain menjadi lebih rumit, sehingga menuntut lebih banyak insinyur untuk mengerjakan satu desain. Diagram waktu async. Logika bisa menjadi rumit ketika ada banyak negara. Sekarang tambahkan tim insinyur yang mencoba untuk menghubungkan blok logika yang berbeda bersama-sama tetapi timing di antara mereka tidak selaras dengan sangat baik. Desain menjadi rapuh terhadap perubahan dengan cara yang tidak terduga.

Masukkan desain logika sinkron. Sekarang semua aliran negara disejajarkan dengan sinyal jam yang memungkinkan antarmuka untuk didefinisikan dengan sangat baik, dan lebih kuat terhadap perubahan desain. Ya, itu mungkin menggunakan lebih banyak gerbang, tetapi (biasanya) stabil dengan desain; sebagai lawan stabil selama tidak ada yang menyentuhnya!

Harun
sumber
1
Ada metodologi desain asinkron juga yang menjamin "benar dengan desain" dan "antarmuka yang terdefinisi dengan baik." Ini hanya berbeda dari asumsi penyederhanaan yang dibuat untuk desain sinkron.
Edgar Brown