Anda di halaman 1dari 15

Tabel 4.7.

Tabel fungsi untuk unit aritmatika dan logika 4-bit

Ketika ALU beroperasi sebagai pengurang (atau dengan kode pilih S 3 S 2 S 1 S 0 =


0110), level logika dari pelaksanaan, C i + 4 , juga dapat digunakan untuk membuat
perbandingan
antara data masukan. Hasil yang mungkin diberikan pada Tabel 4.9.

Bit bendera status, yang diasosiasikan dengan ALU, memberikan informasi pada
sifat hasil yang terkait dengan manipulasi data dengan panjang kata yang terbatas.
Gambar 4.21 menggambarkan ALU 4-bit dengan bit flag status. Input dan output bisa
didefinisikan sebagai berikut:
- masukan:

A dan B adalah dua angka 4-bit (A = A 3 A 2 A 1 A 0 dan B = B 3 B 2 B 1 B 0 ),


S adalah kode pilih 4-bit (S = S 3 S 2 S 1 S 0 ),
M adalah bit kontrol,
C i ∈ {0, 1}

- keluaran:
F adalah angka 4-bit (F = F 3 F 2 F 1 F 0 ),
Bit N =
{
1 jika F <0
0 sebaliknya
Bit Z =
{
1 jika F = 0
0 sebaliknya
Bit V =
{
1 jika terjadi luapan (−8 ≤ R ≤ 7)
0 sebaliknya
Tabel 4.8. Tabel fungsi unit aritmatika dan logika 4-bit

ALU menggunakan dua representasi:


- bit tanda ditentukan berdasarkan bit yang paling signifikan di hasil F:
F ≥ 0 jika F 3 = 0
F <0 jika F 3 = 1
- bit overflow V diperoleh menggunakan hubungan:
V=C4⊕C3

Dalam praktiknya, kita juga dapat membandingkan dua bilangan unsigned, A dan B, dengan
menjalankan
pengurangan diikuti dengan perbandingan perbedaan A - B terhadap 0. Kami
dengan demikian memiliki:
- untuk A - B = 0, C = 1 dan Z = 1, maka A = B;
- untuk A - B> 0, C = 1 dan Z = 0, maka A> B;
- untuk A - B <0, C = 0 dan Z = 0, maka A <B.
ALU dapat dirancang untuk melakukan operasi apa pun. Semakin kompleks
operasi, semakin besar ukuran yang dibutuhkan unit dan konsumsi daya. Dalam prakteknya, a
tradeoff dibuat untuk mengimplementasikan ALU yang ukurannya tetap moderat agar tidak
sangat mempengaruhi konsumsi daya dan kecepatan pengoperasian. Akibatnya, lebih banyak
operasi kompleks dapat dilakukan dengan cara berulang-ulang atau menggunakan keahlian
khusus
satuan
4.5. Pengali
Pengganda digital seluler adalah rangkaian kombinasional yang menghitung dan
menjumlahkan
produk parsial yang menyusun produk dari dua bilangan, X dan Y. Produk dari
dua bilangan n-bit, X dan Y, adalah bilangan 2n bit, P = X × Y.
4.5.1. Pengganda dari bilangan unsigned 2-bit
Mempertimbangkan X = X 1 X 0 dan Y = Y 1 Y 0 sebagai dua bilangan biner unsigned 2-bit,
perkalian dilakukan seperti yang ditunjukkan pada Gambar 4.22. Rangkaian logika dari 2 ×
2-bit
pengali diberikan pada Gambar 4.23, di mana produk parsial dihasilkan oleh keempatnya
Gerbang logika AND dan bit produk, dengan pengecualian bit yang paling tidak signifikan,
dipasok oleh dua HA yang berperan untuk menggabungkan produk parsial

4.5. Pengali
Pengganda digital seluler adalah rangkaian kombinasional yang menghitung dan
menjumlahkan
produk parsial yang menyusun produk dari dua bilangan, X dan Y. Produk dari
dua bilangan n-bit, X dan Y, adalah bilangan 2n bit, P = X × Y.
4.5.1. Pengganda dari bilangan unsigned 2-bit
Mempertimbangkan X = X 1 X 0 dan Y = Y 1 Y 0 sebagai dua bilangan biner unsigned 2-bit,
perkalian dilakukan seperti yang ditunjukkan pada Gambar 4.22. Rangkaian logika dari 2 ×
2-bit
pengali diberikan pada Gambar 4.23, di mana produk parsial dihasilkan oleh keempatnya
Gerbang logika AND dan bit produk, dengan pengecualian bit yang paling tidak signifikan,
dipasok oleh dua HA yang berperan untuk menggabungkan produk parsial

4.5.2. Pengganda angka 4-bit unsigned


Pengganda seluler sederhana didasarkan pada algoritma shift and add. Perkalian
dari dua bilangan biner 4-bit unsigned, X = X 3 X 2 X 1 X 0 dan Y = Y 3 Y 2 Y 1 Y 0 ,
adalah
dilakukan seperti yang diilustrasikan pada Gambar 4.24

Rangkaian logika untuk pengali seluler 4 × 4-bit diberikan pada Gambar 4.25. Dan
gerbang logika digunakan untuk menghitung produk parsial Y i X j , di mana i, j ∈ {0, 1, 2,
3}

Secara umum, pengganda seluler n × n membutuhkan n 2 gerbang AND, n HAs dan n 2 −2n
FA. Penundaan propagasi pengali disebabkan oleh propagasi pembawa
antara penambah. Ada beberapa jalur kritis dengan panjang identik yang dilewati
melalui gerbang AND dan 3n - 4 penambah; ini karena struktur matriks
pengganda. Dengan asumsi bahwa τ jumlah ≥ τ membawa , dimana τ membawa dan τ jumlah
mewakili

penundaan propagasi antara input penambah dan setiap output C i + 1 dan S, masing-masing,
dan bahwa τ AND menunjukkan penundaan propagasi gerbang AND, penundaan propagasi
pengganda dapat dinyatakan sebagai berikut:
τ = (2n - 3) τ membawa + (n - 1) τ jumlah + τ AND [4,34]
Menggunakan arsitektur adder lain yang lebih cepat akan mengurangi penundaan propagasi
dan meningkatkan kecepatan operasi pengali.
Pendekatan lain yang digunakan untuk mengimplementasikan pengali diberikan pada
Gambar 4.26, di mana
semua sel pengali identik. Ini didasarkan pada penggunaan jaringan sistolik yang
menawarkan
keuntungan dari modularitas dan cocok untuk implementasi sirkuit terintegrasi

4.5.3. Pengganda untuk nomor yang ditandatangani


Perkalian bilangan bertanda cukup sederhana dalam satu besaran tanda
perwakilan. Ini dilakukan seperti yang ditunjukkan sebelumnya untuk bit yang mewakili
besaran,
sedangkan bit tanda diterapkan ke input gerbang logika XOR untuk menentukan
tanda produk. Namun, dalam representasi komplemen dua, perkalian dilakukan
keluar menggunakan algoritma lain

Pertimbangkan bilangan bertanda X dan Y, yang dapat diekspresikan dalam n-bit dua
representasi pelengkap, sebagai berikut

dimana bit-tanda diwakili oleh X n − 1 dan Y n − 1 . Produk P diberikan oleh


persamaan berikut

Perkalian dua bilangan bertanda 4-bit dapat dilakukan seperti pada gambar
Gambar 4.27. Terlihat bahwa perlu adanya penambahan ekstensi tanda pada setiap baris
produk parsial. Selain itu, untuk mendapatkan nilai produk yang tepat dilakukan penambahan
baris pertama dari hasil perkalian parsial harus diikuti dengan pengurangan dari baris terakhir
dari produk parsial. Dalam hal ini, pendekatan langsung untuk mengimplementasikan
pengganda
menghasilkan peningkatan biaya perangkat keras.
Jumlah dari suatu bilangan, A, dan komplemennya, A, adalah bilangan yang n bitnya
semuanya disetel ke 1, atau 2
n - 1. Dengan kata lain, kami memiliki
Perkalian dua bilangan bertanda 4-bit diilustrasikan pada Gambar 4.28. Itu
produk parsial diubah dan ditata ulang sehingga implementasi multiplier
sekarang hanya dapat membutuhkan satu operasi aritmatika (penambahan)
Sirkuit logika untuk pengali yang sesuai (Baugh – Wooley) diwakili
pada Gambar 4.29, dimana MC dan MC

sel didasarkan pada gerbang AND dan NAND
gerbang, masing-masing.

Dalam perkalian, hasil kali diperoleh sebagai jumlah dari produk parsial, yaitu
bertambah jumlahnya seiring panjang kata dari pengali dan pengali menjadi
besar. Dimungkinkan untuk mengurangi jumlah produk parsial menggunakan algoritma
Booth
untuk menyandikan bit perkalian. Pengkodean ini memiliki keuntungan menghasilkan
implementasi multiplier dengan biaya perangkat keras yang berkurang dan beroperasi dengan
kecepatan tinggi.
Dalam representasi komplemen dua, perkalian dan dapat dinyatakan sebagai
berikut:
Oleh karena itu, tiga bit secara bersamaan terlibat dalam pengkodean yang digunakan untuk
mendapatkan masing-masing bit
produk parsial, PP j , yang dapat ditambahkan atau dikurangkan dari hasil. Nilai dari
ekspresi dalam tanda kurung adalah 0, atau ± 1, atau ± 2. Produk parsial dihasilkan
adalah kelipatan dari perkalian, yaitu −2X, −X, 0, X dan 2X, dan bilangannya,
jika dibandingkan dengan perkalian biasa, praktis dibelah dua. Pengkodean
dari perkalian bit berdasarkan algoritma Booth disajikan pada Tabel 4.10. Itu harus
Perlu dicatat bahwa operasi shift kiri dapat digunakan untuk mendapatkan produk parsial dari
bentuk
2X, atau untuk melaksanakan perkalian dengan faktor 2, dan bentuk negatif dari a
produk parsial diperoleh dengan terlebih dahulu membentuk komplemen satu dan kemudian
menambahkan 1 ke
hasil
Penerapan encoding Booth membantu mengurangi jumlah parsial
lini produk, seperti yang diilustrasikan dalam contoh perkalian bilangan bertanda
disajikan pada Gambar 4.30. AY −1 bit, yang selalu sama dengan 0, ditambahkan ke
urutan biner dari perkalian. Selain itu, lini produk parsial selesai
dengan ekstensi tanda setiap kali nilai bit paling kiri sama dengan 1

4.6. Pembagi
Pembagian bilangan m-bit atau pembilang, A, dengan bilangan n-bit (n ≤ m), atau
pembagi D, umumnya menghasilkan hasil bagi Q dan sisa R. Jadi, A = Q × D + R,
dimana D = 0, R <D, dan R memiliki tanda yang sama dengan A
Dengan pembagi A sebesar 2n bit dan pembagi D dari n bit, pembagian dengan restorasi
dapat dijalankan sesuai dengan algoritma 4.1.
Algoritma 4.1. Divisi dengan restorasi
Hasil: hasil bagi Q = Q n − 1 · \\ Q 2 Q 1 Q 0 dan sisa R (0)
[1] Awalnya, tetapkan nilai dividen ke sisa parsial, R (0) = A, dan set
bit paling signifikan dari hasil bagi ke 1 (Q n − 1 = 1);
[2] Untuk i = 0, 1, 2, ·roulette, n - 1:
hitung sisa parsial:
R (i +1) = 2R (i) - Q n− (i + 1) × D
dimana 0 ≤ R (i) <D dan D adalah pembagi;
jika R (i + 1) ≥ 0, maka
Q n− (i + 1) = 1;
lain
Q n− (i + 1) = 0, dan sisa nilai sebelumnya harus dikembalikan
sebagian;
Setelah iterasi terakhir, hasil bagi Q = Q n − 1 · <br/> <br/> Q 2 Q 1 Q 0 dan R (0) mewakili
sisa terakhir

Rangkaian logika pembagi seluler berdasarkan algoritma untuk pembagian dengan


restorasi diilustrasikan pada Gambar 4.31, dalam kasus di mana n = 4. Terdiri dari
kontrol-pengurangan (CS) sel, terdiri dari pengurang penuh dan pengali 2: 1,
ATAU gerbang logika dan inverter.
Pada awalnya, sisa sebagian diasumsikan identik dengan dividen. Itu
perkalian dengan 2 dilakukan dengan menggeser bit paling signifikan dari parsial
sisa satu posisi ke kiri sehubungan dengan pembagi. Setelah masing-masing
empat pengurangan, sisa parsial mengambil nilai selisih yang diperoleh jika
pinjaman keluaran dari baris sel S diatur ke 0, jika tidak nilai sebelumnya dari
sebagian sisanya dipulihkan. Bit yang sesuai dalam hasil bagi diperoleh sebagai
ATAU fungsi logika dari output meminjam komplemen dan bit yang paling signifikan
sisanya sebagian.
Secara umum, melakukan pembagian dengan pembagi 2n bit dan pembagi n bit
membutuhkan n 2 sel CS dan n OR gerbang dan inverter.
Gambar 4.32 memberikan dua contoh eksekusi operasi divisi. Setiap waktu
bahwa hasil pengurangan adalah negatif, sisa parsial dikembalikan ke tempatnya
nilai sebelumnya

Pendekatan lain yang dapat diadopsi untuk melakukan divisi seluler didasarkan pada
algoritma untuk pembagian tanpa restorasi. Dibandingkan dengan pembagian denganmetode
restorasi, ini menawarkan keuntungan mengurangi jumlah operasi
(penambahan / pengurangan) diperlukan, terutama dalam kasus di mana hasil bagi berisi
beberapa angka nol. Namun, memiliki kelemahan membutuhkan tahap tambahan
koreksi dari sisa akhir.
Gambar 4.32. Contoh pembagian dengan restorasi: a) 173 ÷ 14 (Q = 12,
R = 5); b) 100 ÷ 9 (Q = 11, R = 1). Untuk versi warna gambar,
lihat www.iste.co.uk/ndjountche/electronics2.zip

Gambar 4.33. Pembagian sel berdasarkan algoritma untuk pembagian


tanpa pemulihan dividen

Awalnya, sisa parsial diharapkan untuk mengambil nilai dividen.


Dengan asumsi D> 0 dan | R (i + 1) | <D, sisa parsial R (i + 1)
(i = 0, 1, 2, · E5E5E5, n - 1) bisa positif atau negatif.
Operasi yang akan dilakukan pada setiap iterasi dapat berupa pengurangan atau penjumlahan,
tergantung pada nilai sisa parsial yang ekspresinya diberikan oleh:
R (i + 1) = { 2R (i) - D jika 2R (i)> 0
2R (i) + D jika 2R (i) <0 [4,52]
Bit hasil bagi yang sesuai ditentukan sebagai berikut:
Q n− (i + 1) ={ 1 jika 0 <2R (i) <D
−1 jika- D <2R (i) <0 [4,53

Hasil bagi diwakili oleh urutan angka bertanda 2 , yang nilainya mungkin
baik 1 atau −1 tetapi bukan 0, dan kemudian harus dikonversi menjadi komplemen dua.
Untuk pembagian tanpa restorasi sisa parsial negatif ketika 2R (i) <D,
tetapi, alih-alih dikembalikan ke nilai sebelumnya (yaitu, 2R (i), agar menjadi
ditransformasikan sesuai dengan hubungan 2 [2R (i)] - D = 4R (i) - D, seperti dalam kasus
pembagian dengan restorasi) itu tetap tidak berubah dan hanya diperbaiki di berikutnya
pengulangan. Sehingga menjadi 2 [2R (i) - D] + D = 4R (i) - D.Hasil kedua jenis
pembagian, oleh karena itu, identik. Namun, koreksi dari nilai sisa akhir
diperlukan dalam kasus pembagian tanpa restorasi ketika sisa parsial terakhir
negatif. Ini sesuai dengan penambahan pembagi ke sisa, yang
nilai yang benar kemudian dapat diperoleh sebagai berikut:
R = R n + D = 2R n – 1 [4,5]

Algoritme untuk pembagian tanpa restorasi dapat diubah menjadi versi


yang dapat langsung menghasilkan hasil bagi dan sisa n + 1 bit, keduanya diwakili
dalam komplemen dua, dari pembagi 2n bit dan pembagi n bit. Ini berbeda
langkah-langkah ditentukan oleh algoritma 4.2.

Algoritma 4.2. Divisi tanpa restorasi

[1] Jika pembilang dan pembagi bernilai positif, langkah pertama terdiri dari pengurangan
pembagi dari pembilang dengan kedua bit paling signifikan sejajar. Jika diperoleh parsial
sisa dengan demikian positif, satu bit dari hasil bagi diatur ke 1 dan operasi selanjutnya
adalah
pengurangan; Sebaliknya, jika sisa parsial yang diperoleh bernilai negatif, satu bit
dari hasil bagi diatur ke 0 dan operasi selanjutnya adalah penambahan.

[2] Untuk setiap langkah berikut, eksekusi operasi yang ditentukan sebelumnya
dilakukan setelah bit paling signifikan dari sisa parsial dipindahkan ke
kiri sehubungan dengan pembagi. Jika sisa parsial yang diperoleh adalah positif, maka
bit yang sesuai dalam hasil bagi diatur ke 1 dan operasi selanjutnya adalah pengurangan;
jika tidak, bit yang sesuai dari hasil bagi ditetapkan ke 1 dan operasi berikutnya adalah
tambahan.
Versi algoritme yang disebutkan sebelumnya untuk pembagian tanpa pemulihan
paling cocok untuk implementasi pembagi seluler. Rangkaian logika untuk 8 × 4
2 Langkah-langkah berikut dapat digunakan untuk mengubah urutan biner dari n digit
bertanda (1 atau −1) menjadi
pelengkap dua:
- transformasikan tiap −1 menjadi 0 sehingga membentuk kode P = p n − 1 p n − 2 · lu p 2 p
1 p 0 , di mana nilai dari
setiap bit, p k (k = 0, 1, 2, ·roulette, n - 1), bisa 0 atau 1;
- dapatkan representasi komplemen dua dengan menggeser posisi bit satu ke kiri
dan dengan memasukkan 1 ke dalam posisi bit yang paling tidak signifikan, yaitu Q = p n − 2
· ¯¯ p 2 p 1 p 0 1

pembatas seluler direpresentasikan pada Gambar 4.33. Bagian reguler, terdiri dari CAS
(penambah / pengurangan terkontrol), digunakan untuk menghasilkan sisa parsial dan
Tahap yang terdiri dari gerbang logika FA dan AND digunakan untuk koreksi final
sisa.
Gambar 4.34. Contoh pembagian tanpa restorasi: a) 100 ÷ 9
(Q = 11, R = 1); b) 87 ÷ 6 (Q = 14, R = 3). Untuk versi warna file
gambar, lihat www.iste.co.uk/ndjountche/electronics2.zip

Setiap baris sel CAS, yang masing-masing terdiri dari gerbang logika FA dan XOR,
melakukan pengurangan atau penjumlahan berdasarkan keadaan, 1 atau 0, diterapkan pada
satu
dari dua input gerbang logika XOR. Pengurangan dilakukan dalam dua
melengkapi representasi dengan menambahkan setiap sisa parsial ke satu
melengkapi pembagi dan dengan mengatur input carry dari sel CAS paling kanan
ke 1. Setiap bit hasil bagi sesuai dengan pelaksanaan yang dihasilkan oleh paling kiri
CAS sel, dan yang mewakili komplemen dari bit-tanda yang sesuai
sisa parsial.

Jika bit terakhir dari hasil bagi adalah 0, sisa parsial terakhir adalah negatif dan a
koreksi berdasarkan penambahan bersyarat diperlukan untuk mendapatkan nilai yang benar
sisa terakhir.

Untuk membagi bilangan 2-bit, A, dengan bilangan n-bit, D, dan untuk mendapatkan hasil
bagi Q
dan sisa R dari n-bit, (n + 1) 2 sel CAS dan n + 1 FAs dan gerbang logika AND

Anda mungkin juga menyukai