Altifigence Academy

6 / 24 · Konsep

Jadwalkan sumber daya bersama dengan FSM

Akumulasikan empat nilai dengan satu penjumlah sambil mendefinisikan transisi keadaan dan penangkapan data.

Keadaan kendali menyatakan jadwal operasi

Sumber daya bersama memerlukan penjadwalan operasi sepanjang waktu. Pertimbangkan penjumlahan x0 hingga x3 dengan satu penjumlah dan akumulator sepuluh bit. Tangkap keempat operand saat permintaan diterima. Perubahan eksternal sesudahnya tidak boleh mengubah permintaan yang belum selesai. Pengendali memilih operand, mengaktifkan akumulasi, dan menentukan kapan hasil menjadi valid.

Gunakan keadaan IDLE, ADD0, ADD1, ADD2, ADD3, dan DONE. Tepi penerimaan pada IDLE menangkap masukan dan mengosongkan acc. Empat tepi berikutnya masing-masing menambahkan satu operand yang tersimpan. Tepat setelah tepi ADD3, jumlah akhir tersimpan dan keadaan menjadi DONE. DONE menahan hasil hingga penerima menerimanya. Versi sederhana ini kembali ke IDLE pada tepi tersebut dan tidak sekaligus menerima permintaan baru.

TepiKeadaan lamaTindakanacc baru
0IDLETangkap 3,5,7,9 dan kosongkan acc0
1ADD0Tambahkan 33
2ADD1Tambahkan 58
3ADD2Tambahkan 715
4ADD3Tambahkan 9, masuk ke DONE24
5DONEPenerima menerima hasil24

Bedakan ketersediaan hasil setelah tepi 4 dari transfer pada tepi 5. Penundaan penerima dapat memperpanjang DONE tanpa batas. Penggunaan ulang sumber daya mengurangi perangkat keras aritmetika, tetapi membatasi laju keluaran dibandingkan pipeline yang menerima setiap siklus. Dukungan penyelesaian dan permintaan baru secara bersamaan memerlukan prioritas eksplisit antara pengiriman hasil lama dan inisialisasi permintaan baru.

Akumulator empat nilai
  1. IDLE: Terima dan tangkap keempat nilai
  2. ADD0..ADD3: Gunakan ulang satu penjumlah pada empat tepi
  3. DONE: Tahan hasil hingga diterima

Turunkan sinyal kendali dari keadaan: enable akumulator pada keadaan ADD, pemilihan operand yang sesuai dengan keadaan, dan valid hasil pada DONE. Berikan nilai bawaan pada keluaran kendali kombinasional. Definisikan penerimaan agar permintaan yang terus aktif tidak terulang secara tidak sengaja. Reset mengembalikan keadaan ke IDLE dan membuang pekerjaan yang belum selesai. Implementasi berbasis penghitung dapat mengurangi pengodean keadaan, tetapi tetap membutuhkan jadwal yang sama pada setiap tepi.

Coba sendiri

Berapa nilai acc setelah ADD0 hingga ADD3 untuk empat masukan sebesar 255? Apa yang harus terjadi ketika ready keluaran bernilai nol pada tepi 5?

Baca penjelasan

Nilainya 255, 510, 765, dan 1020, semuanya muat dalam sepuluh bit. Dengan ready=0, tidak ada pengiriman; pertahankan DONE, acc=1020, dan valid=1.

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