Pengkodean Biner Dari Bilangan Desimal

Tabel kebenaran Masukan Keluaran A B C Σ U 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Diagram blok Gambar 6.08 Full Adder Persamaan fungsi logika untuk keluaran jumlah full adder adalah Penjumlah Σ = C B A C B A C B A C B A ∧ ∧ ∨ ∧ ∧ ∨ ∧ ∧ ∨ ∧ ∧ = A B A ∀ ∀ Output Carry U = C B A C B A C B A C B A ∧ ∧ ∨ ∧ ∧ ∨ ∧ ∧ ∨ ∧ ∧ = C A C B B A ∧ ∨ ∧ ∨ ∧ Gambar 6.09 Rangkaian digital full adder Jika dua n-bit word dijumlahkan diperlukan beberapa full adder yang saling disambungkan, sebagai contoh sederhana penjumlahan 3 bit word diperlihatkan di bawah ini 2 2 2 1 2 A 1 1 B 1 1 1 U 1 1 1 Σ 1 Pada prakteknya penjumlahan 3 bit word memerlukan tiga buah full adder yang disambungkan secara berurutan dan masukan carry C0 diset = 0 seperti tampak pada berikut : Gambar 6.10 Penjumlah biner 3-bit Apabila masukan C0 kita set = 1 maka hasil penjumlahan akan bertambah 1. Dalam praktek penambahan satu ini sangat penting untuk bererapa aplikasi. Masukan carry C0 digunakan untuk masukan increment INC dan suatu rangkaian penjumlah digital yang dilengkapi dengan sebuah masukan incremen disebut ripple-carry adder. Gambar 6.11 Diagram Blok Ripple-Carry Adder Gambar 6.12 Rangkaian Digital Ripple-Carry adder

6.2.2 AdderSubtracter

Rangkaian penjumlah Gambar 3.6. dapat dikembangkan dengan menambahkan gerbang AND dan EXOR pada masukannya sehingga beberapa fungsi rangkaian berkembang tidak hanya sebagai penjumlah melainkan berfungsi pula sebagai rangkaian pengurang, sehingga rangkaian ini disebut addersubstractor. Rangkaian addersubtractor di atas memiliki 5 masukan kontrol S4 samapi S0 yang dipergunakan untuk memilih operasi. Tabel 3.1. memperlihatkan variasi masukan kontrol S4 sampai S0 dan fungsi keluaran. Gambar 6.13 Rangkaian addersubtractor 4-bit Table 6.4 Tabel Fungsi AdderSubtracter S4 S3 S2 S1 S0 Fungsi Keluaran 1 1 1 -1 1 1 1 -1 1 1 1 1 -2 1 1 1 -1 1 B 1 1 B + 1 1 1 - B - 1 = B 1 1 1 - B 1 1 B - 1 1 1 1 B 1 1 1 - B – 2 = B - 1 1 1 1 1 - B - 1 = B 1 A 1 1 A + 1 1 1 A - 1 1 1 1 A 1 1 - A – 1 = A 1 1 1 - A 1 1 1 - A – 2 1 1 1 1 - A – 1 = A 1 1 A + B 1 1 1 A + B + 1 1 1 1 A – B – 1 1 1 1 1 A – B 1 1 1 B – A – 1 1 1 1 1 B – A 1 1 1 1 - A – B –2 1 1 1 1 1 - A – B - 1 Dari tabel di atas terdapat 32 kemungkinan fungsi yang dapat dioperasikan. Kita ambil salah satu contoh dari kemungkinan yang diperlihtakan pada tabel diatas misalnya fungsi kontrol S4 sampai dengan S0 = 1 1 0 0 0 menghasilkan fungsi A + B. Jika S3 dan S4 diset pada 0 maka masukan A dan B akan mati karena setiap gerbang AND tersambung pada setiap masukan A dan B sedangkan amsukan gerbang lainnya tersambung ke saklar masukan kontrol S3 untuk masukan A dan S2 untuk masukan B, sehingga ketika S3 = 0 maka apapun masukan A akan diset = o dana ketika S2 = 0 maka masukan B akan diset = 0. Dengan demikian fungsi kontrol S3 dan S2 adalah untuk meloloskan data masukan ke tahap berikutnya untuk diproses atau tidak oleng blok penjumlah. Setelah keluar dari gerbang AND sebagai pelolos data, setiap keluaran AND tersambung pada gerbang XOR yang mana setiap gerbang XOR tersebut salah satu masukan lainnya tersambung pada saklar masukan kontrol S2 dan S1. S2 dipergunakan untukmengontrol masukan A dan S1 dipergunakan untuk mengontrol masukan B. Jika S2 = 0 maka keluaran gerbang EXOR adalah A XOR 0 = A dan jika S2 = 1 maka keluaran gerbang EXOR adalah A XOR 1 = A. dengan demikian ketika S2 = 1 masukan A akan dibalik komplemen satu. Hal yang sama berlaku juga untuk masukan S1 yang mengontrol masukan B untuk fungsi komplemen satu. Saklar S0 merupakan masukan carry untuk rangkaian penjumlah yang berfungsi sebagai masukan incremen INC. S0 sangat diperlukan pada operasi pengurangan untuk mendapatkan komplemen dua. Untuk fungsi kontrol S4 sampai dengan S0 = 0 0 0 1 0 , S1 =1 dan masukan kontrol yang lainnya adalah 0, ini berarti semua gerbang keluaran pada keempat gerbang XOR bagian atas adalah 0. Sementara 4 gerbang XOR bagian bawah menghasilkan 1 dan pada bagian adder, penjumlahan akan dlakukan seperti yang dibawah ini : A 0 0 0 0 B + 1 1 1 1 Keluaran 1 1 1 1 Hasil tersebut berarti sama dengan –1 pada aritmatika komplemen dua. Ketika fungsi kontrol S4 sampai dengan S0 diset = 11011, fungsi keluaran adalah pengurangan A – B. Penjelasan per scalar kontrol sebagai beikut : S4 = 1 Data masukan A diloloskan S3 = 1 Data masukan B diloloskan S2 = 0 Data masukan A tidak dibalik tidak di komplemen satu S1 = 1 Data masukan B dibalik komplemen satu S0 = 1 Incremen 1 +1 Sehingga fungsi keluaran adalah A + B + 1 = A - B 6.2.3 Arithmetic Logic Unit ALU Agar mikroprosesor tidak hanya dapat melakukan operasi aritmatika tetapi juga dapat juga melakukan operasi fungsi logia, maka kita harus mengembangkan rangkaian addersubtractor dengan menambahkan gerbang logika EXOR, OR dan AND serta sebuah multipekser. Dengan adanya tambahan tiga gerbang logika tersebut sekarang operasi logika XOR, OR dan AND dapat dilakukan misalnya A AND B A OR B A XOR B Masukan kontrol S6 dan S5 adalah kontrol multiplekser yang dipergunakan untuk memilih operasi aritemetika atau logika. Jika S6 = 0 dan S5 = 0 operasi adalah fungsi aritmetika. Pada saat S6 dan S5 pada kondisi yang lain maka operasi adalah fungsi logika dan selama fungsi logika maka kontrol S4 sampai dengan S0 tidak berpengaruh karena kontrol S4 sampai dengan S0 adalah kontrol untuk operasi aritmetika. Pada prinsipnya dengan kontrol sebanyak 7 bit S6 sampai dengan S0 sehaarusnya terdapat 2 7 = 128 variasi fungsi tetapi tidak semua variasi tersebut diperlukan.