Mengapa menggunakan DDR alih-alih meningkatkan kecepatan clock?

16

Mengapa Anda ingin menggunakan ram DDR dan membaca / menulis di setiap tepi naik dan turun jam, bukan hanya menggandakan kecepatan jam Anda dan membaca / menulis hanya pada salah satu tepi naik atau turun?

Apakah ada pro dan kontra untuk masing-masing?

Ethan
sumber
5
Terkadang Anda tidak dapat menambah frekuensi jam karena integritas sinyal tidak akan bertahan pada frekuensi yang lebih tinggi.
Nick Alexeev

Jawaban:

33

Dengan SDR, ada dua tepi jam per bit, tetapi hanya paling banyak satu tepi pada baris data.

Dengan komunikasi frekuensi tinggi, lebar pita analog membatasi seberapa dekat Anda dapat meletakkan sisi pada kawat yang diberikan. Jika sinyal jam Anda mencapai batas itu, Anda menghabiskan setengah dari bandwidth kabel data.

Oleh karena itu, DDR diciptakan sehingga semua kabel mencapai batas bandwidth pada bit rate yang sama.

Dave Tweed
sumber
3
+1. Jawaban sempurna. DDR memungkinkan untuk menggandakan laju data tanpa meningkatkan laju perubahan tegangan tepi, alias "bandwidth".
Ale..chenski
Jadi DDR masuk akal untuk mendapatkan jalur data Anda dengan kecepatan yang sama dengan garis jam ... tapi lalu bagaimana dengan DDR2, DDR3, DDR4?
user253751
3
@immibis: masih ddr, hanya generasi ke-2, ke-3, ke-4 (bandwidth berbeda, voltase, protokol). Anda mungkin memikirkan QDR yang tidak berlaku di sini.
PlasmaHH
Saya yakin saya ingat membaca sesuatu tentang transfer dua kali lipat per siklus pada setiap generasi. Setelah penelitian lebih lanjut, sepertinya itu mungkin berarti transfer dua kali lebih banyak per siklus jam memori internal , tetapi jam I / O masih berjalan pada setengah tingkat data seperti di DDR.
user253751
19

Masalah sebenarnya adalah bandwidth. Frekuensi tertinggi yang dapat dihasilkan oleh jalur data (well, tidak termasuk laju perubahan tegangan) adalah ketika mengirim pola data 101010, yang terjadi pada setengah dari laju data. Dengan transmisi data rate tunggal (SDR), jam menghasilkan satu siklus lengkap untuk setiap bit data, sehingga berjalan pada frekuensi dua kali lipat dari apa yang mungkin Anda lihat pada garis data dalam kasus terburuk. Kecepatan data ganda menjalankan jam di setengah kecepatan data dengan satu tepi per bit data, maka pola data kasus terburuk menghasilkan frekuensi yang sama dengan jam.

Umumnya kecepatan sebuah antarmuka akan dibatasi oleh bandwidth yang tersedia melalui paket chip, pin, board, konektor, dll. Jika jam membutuhkan dua kali lipat bandwidth sebagai data, maka frekuensi tinggi sinyal clock akan membatasi keseluruhan bandwidth dari tautan. Dengan DDR, bandwidth yang diperlukan sama untuk jam dan data, memungkinkan tautan untuk lebih efisien memanfaatkan bandwidth yang tersedia.

Kelemahan dari menggunakan DDR adalah lebih sulit untuk mendesain. Sandal jepit yang digunakan untuk menangkap bit data di sisi penerima beroperasi pada satu tepi jam, baik tepi naik dari tepi jatuh. Data harus stabil pada input untuk pengaturan waktu sebelum tepi dan waktu penahanan setelah tepi agar dapat dikunci dengan aman. Dengan SDR, jam dapat dengan mudah dibalikkan di suatu tempat untuk memenuhi persyaratan waktu. Namun, dengan DDR, diperlukan pergeseran fasa 90 derajat, yang lebih sulit untuk dihasilkan, membutuhkan PLL atau saluran tunda.

Jadi, untuk meringkas:

SDR

  • Pro: Mudah diimplementasikan
  • Con: Penggunaan bandwidth yang tidak efisien sebagai sinyal clock membutuhkan bandwidth dua kali lipat dari sinyal data

DDR

  • Pro: Penggunaan bandwidth yang efisien karena semua sinyal memerlukan bandwidth yang sama
  • Con: Kompleks untuk diterapkan
alex.forencich
sumber
1
Kadang-kadang Anda akan melihat perangkat yang mengambil jam dua fase secara langsung. Secara efektif DDR dengan pergeseran fasa di sisi penghasil jam.
TLW