Penggunaan tristates vs multiplexer dalam RAM


8

Mengapa tristate lebih disukai daripada multiplexer untuk memilih output dari RAM? Penjelasan yang pernah saya dengar adalah bahwa RAM terlalu besar untuk menggunakan multiplexer tetapi saya perlu lebih banyak detail.

Sebuah teori yang kami kemukakan adalah bahwa menggunakan multiplexer akan membutuhkan pohon gerbang OR untuk memilih output yang secara dramatis akan meningkatkan waktu propagasi sinyal ke bus sedangkan dengan tristat, tidak peduli ukuran RAM, penundaan propagasi akan konstan.

Apakah itu benar?

Terima kasih

Jawaban:


6

Ini masalah "kipas angin" atau "kipas angin". Jadi teorimu lebih atau kurang akurat. Namun ada manfaat tambahan dari menggunakan keluaran tristate yang dapat Anda pasang ke bus! Jika Anda menggunakan CMOS Multiplexer, Anda tidak dapat berbagi kabel tempat output dihidupkan, jika Anda menggunakan perangkat Tri-State maka Anda dapat berbagi bus dengan perangkat bussed lainnya (di bawah kendali arbiter misalnya) ... dalam konteks RAM, pikirkan "bus memori."


Apakah ada referensi yang dapat Anda tunjukkan kepada saya yang menjelaskan masalah ini secara terperinci? Terima kasih!
Sid


2
Saya lebih bermaksud untuk referensi mengapa multiplexer tidak digunakan dalam RAM. Meskipun referensi cmu tentu menyiratkannya ketika menyebutkan masalah saat ini dengan fan-in / fan-out yang besar, akan lebih baik jika memiliki referensi yang secara eksplisit menyebutkan ini.
Sid

3

Jika seseorang membangun array memori persegi panjang yang dibaca menggunakan driver tri-state di setiap sel memori, maka satu rangkaian dekoder dapat mengontrol semua sel dalam satu baris. Seseorang akan membutuhkan sirkuit di sekeliling array untuk mengendalikannya, tetapi jumlah sirkuit kontrol akan sebanding dengan sqrt (N) * lg (N). Sebaliknya, jika seseorang mencoba memberi makan semua sel memori ke dalam multiplexer, ia akan membutuhkan lebih banyak sirkuit.

Pendekatan berbasis multiplexer memang memiliki beberapa keunggulan. Jika seseorang membangun memori mega-kata menggunakan multiplexer dua arah, masing-masing bit harus melewati 20 multiplexer, tetapi seseorang dapat mencapai sistem memori pipelined bandwidth yang sangat tinggi jika setiap multiplexer menyertakan kait. Dibutuhkan 20 siklus untuk melakukan operasi baca tertentu, tetapi dalam 100 siklus seseorang dapat memulai 100 pembacaan yang berbeda. Karena sinyal tidak harus berjalan jauh di setiap siklus dan tidak akan mengendarai bus besar, laju siklus bisa sangat tinggi.

Masalah apakah akan menggunakan multiplexer atau bus akhirnya menjadi agak mirip dengan pertanyaan apakah akan menggunakan repeater data saat mengirim informasi jarak jauh. Di satu sisi, repeater data menambah penundaan. Di sisi lain, waktu yang diperlukan untuk transisi sinyal di satu ujung hamparan tembaga untuk menyebabkan transisi di ujung lainnya secara asimtotik sebanding dengan kuadrat panjang (karena menambahkan panjang menambahkan resistensi dan kapasitansi). Menambahkan repeater di tengah-tengah kabel yang panjang mungkin berakhir meningkatkan kecepatan karena jangka panjang akan digantikan oleh dua yang lebih pendek dengan suatu tempat antara seperempat dan setengah dari penundaan yang lebih lama.

Jika seseorang menggandakan lebar dan panjang array memori tanpa meningkatkan 'kekuatan' dari rangkaian driver baris dan kolom, seseorang akan lebih dari dua kali lipat waktu yang diperlukan untuk mengganti baris dan kolom. Sebaliknya, jika seseorang menggunakan empat array memori yang lebih kecil dan multipleks output, satu hanya akan menambah konstanta pada waktu akses. Memori yang lebih cepat dibagi lagi menjadi array yang lebih kecil yang dihubungkan oleh multiplexer; memori yang lebih murah menggunakan multiplexer yang lebih sedikit tetapi tidak secepat itu.


0

Dengan tri-menyatakan ke bus, sistem Anda berskala lebih baik. Anda bisa menambahkan lebih banyak perangkat yang dapat ditembus, tanpa harus mengkonfigurasi ulang perangkat lama dan perangkat baru untuk bekerja sama melalui multiplexer baru dan lebih besar.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.