Altifigence Academy

5 / 24 · Konsep

Bit dan satuan titik tetap

Kalikan 0.5 dan −1.25 pada F=4, lalu tambahkan bias 0.25 pada F=8. Berapa kode akumulator dan nilai riilnya?

Kaitkan satuan dengan bilangan bulat

Titik tetap merepresentasikan nilai riil menggunakan kode bilangan bulat dan skala tetap. Kita menetapkan delapan bit total, penyimpanan bertanda komplemen dua, dan empat bit pecahan, F=4. Kode q mewakili q×2⁻⁴. Konvensi penamaan format Q dapat berbeda mengenai apakah tanda dihitung sebagai bit bilangan bulat, jadi tuliskan lebar total, sifat bertanda, dan F secara eksplisit. Kode −128 hingga 127 mewakili −8 hingga 7.9375.

Pola bit yang sama berubah makna bersama skalanya. Kode 24 mewakili 1.5 pada F=4 tetapi tiga pada F=3. Menjumlahkan kode dengan satuan berbeda salah bahkan dengan penjumlah lebar. Selaraskan skala dahulu dan definisikan pembulatan serta overflow yang diperkenalkan penyelarasan itu.

Contoh perhitungan

Kodekan 1.5 sebagai 24 dan −0.75 sebagai −12. Hasil perkalian bilangan bulatnya −288. Lebar pecahan dijumlahkan, sehingga hasil perkalian memiliki F=8 dan mewakili −288/256=−1.125. Dua operand delapan bit bertanda memuat hasil perkalian penuh dalam enam belas bit, tetapi jumlah banyak hasil perkalian membutuhkan perhitungan lebar akumulator terpisah. Membulatkan setiap hasil perkalian kembali ke F=4 memperkenalkan kesalahan pada setiap suku. Kontrak kita mempertahankan skala hasil perkalian sepanjang akumulasi dan membulatkan sekali pada keluaran.

Bias riil 0.5 menjadi kode 128 pada F=8. Penambahannya menghasilkan −160, yang mewakili −0.625. Menambahkan kode delapan, yaitu bias pada F=4, akan menggunakan satuan yang salah. Dokumentasikan skala bias bersama kode tersimpannya.

Saat memperlebar kode komplemen dua negatif, ulangi bit tanda. Representasi delapan bit −12 adalah 11110100; perluasan enam belas bitnya 1111111111110100. Perluasan dengan nol mengubahnya menjadi positif 244. Deklarasikan operand dan hasil antara RTL sebagai bertanda, serta tetapkan lebarnya secara eksplisit alih-alih mengasumsikan tujuan sempit memperbaiki ukuran ekspresi.

Skala pangkat dua membuat hubungan pergeseran mudah diperiksa. Kuantisasi afin umum menggunakan skala positif lain dan titik nol. Simpan kode, skala, dan nilai yang direpresentasikan bersama dalam catatan desain agar perkalian, akumulasi, dan konversi akhir tetap dapat dipahami.

Coba sendiri

Kalikan 0.5 dan −1.25 pada F=4, lalu tambahkan bias 0.25 pada F=8. Berapa kode akumulator dan nilai riilnya?

Baca penjelasan

Kodenya delapan dan −20, menghasilkan perkalian −160. Kode bias adalah 64. Akumulator −96 pada F=8 mewakili −0.375.

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