Altifigence Academy

13 / 24 · Konsep

Peristiwa penerimaan dan kestabilan selama penundaan

Tetapkan tanggung jawab sumber dan penerima serta pertahankan muatan yang tertunda.

Transfer membutuhkan kedua sinyal pada suatu tepi

Valid menjanjikan bahwa sumber memiliki muatan untuk ditawarkan. Ready menjanjikan bahwa penerima dapat menerima satu muatan pada tepi saat ini. Tepi naik dengan kedua sinyal tinggi mentransfer tepat satu transaksi. Muatan mencakup setiap bidang pendamping, seperti tag, operasi, atau alamat. Sinyal valid yang terus tinggi dapat berarti satu item tertunda atau rangkaian item yang ditransfer pada tepi siap berturut-turut.

Saat valid tinggi dan ready rendah, pertahankan valid dan seluruh muatan tetap stabil. Kontrak kita hanya mengizinkan reset atau pengosongan eksplisit untuk membatalkan kewajiban itu. Jika sumber menunggu ready sebelum mengaktifkan valid sementara penerima menunggu valid sebelum mengaktifkan ready, keduanya dapat menunggu selamanya. Tawarkan item yang telah siap secara independen dari ready. Prinsip jabat tangan dan kestabilan ini didokumentasikan dalam spesifikasi AMBA AXI dari Arm, bagian A3. Aliran kecil ini bukan implementasi antarmuka AXI lengkap.

TepivalidreadyMuatanTransfer
010tag4,y9Tidak ada
110tag4,y9Tidak ada
211tag4,y9tag4 sekali
311tag5,y12tag5 sekali
401Tidak relevanTidak ada

Tag4 harus tetap tidak berubah selama penundaan. Setelah transfernya pada tepi 2, sumber boleh menyajikan tag5. Ready saja pada tepi 4 tidak menciptakan transaksi. Menghitung valid saja dapat menghilangkan masukan; membaca data saja dapat menggandakan keluaran.

Aturan ini mengasumsikan satu domain clock. Aturan tersebut tidak menyelesaikan perpindahan domain clock atau metastabilitas. Hitung masukan yang diterima dan keluaran yang dikirim berdasarkan jabat tangan masing-masing. Tanpa reset, jumlah yang diterima dikurangi yang dikirim harus sama dengan pekerjaan internal yang belum selesai. Antrekan tag yang diterima dan hapus hanya saat pengiriman. Gabungkan pencatatan itu dengan pemeriksaan muatan tertunda untuk mendeteksi kehilangan, penggandaan, dan perubahan identitas meskipun nilai aritmetika kebetulan sama.

Coba sendiri

Valid tinggi pada empat tepi dalam tabel. Berapa transfer yang terjadi, dan tag mana yang ditransfer? Aturan mana yang dilanggar jika y berubah menjadi 10 pada tepi 1?

Baca penjelasan

Terjadi dua transfer, yaitu tag 4 dan 5 pada tepi 2 dan 3. Perubahan y pada tepi 1 melanggar kestabilan muatan untuk transaksi yang tertunda pada tepi 0.

Pilihan berlaku di peramban ini. Ubah kapan saja di bagian bawah halaman.