Kamis, 31 Oktober 2013

arsitektur komputer (assembler)

KOMPLEMEN, FULL ADDER, dan HALF ADDER

Komplemen 1 dan 2 Dan Binary

Dalam komputer terdapat dua buah cara merepresentasikan nilai negatif, yaitu komplemen satu (ones complement) dan komplemen dua (twos complement).

Komplemen satu merupakan suatu sistem penomoran yang diterapkan dalam beberapa jenis komputer untuk merepresentasikan nilai-nilai negatif. Pada cara ini terdapat aturan bahwa nilai 0 (nol) akan direpresentasikan dengan dua buah nilai, yaitu +0 (positif nol) dan -0 (negatif nol).

000…00011 = +3
000…00010 = +2
000…00001 = +1
000…00000 = +0
111…11111 = -0
111…11110  = -1
111…11101 = -2
111…11100 = -3

Dapat kita lihat dari aturan diatas, nilai +0 akan berpasangan dengan -0, +1 dengan -1, dan seterusnya. Ini menunjukkan bahwa negasi dari 0 adalah -0, negasi dari 1 adalah -1, dan seterusnya.
Terdapat kelemahan dalam aturan ini, yaitu ada nilai yang kurang benar sehingga diciptakannya aturan ke dua yaitu komplemen dua.

Komplemen dua mirip dengan komplemen satu, hanya saja dalam proses negasinya semua bit juga akan dibalik, sehingga tidak ada lagi rasa “bingung” merepresentasikan nilai +0 dan -0, karena hanya ada satu nilai 0 (nol), seperti berikut:

000…00011 = +3
000…00010 = +2
000…00001 = +1
000…00000 = 0
111…11111 = -1
111…11110 = -2
111…11101 = -3
111…11100 = -4

dari aturan di atas dapat kita lihat bahwa nilai 0 akan berpasangan dengan nilai -1, nilai +1 akan berpasangan dengan -2, dan seterusnya. Hal ini menunjukkan bahwa negasi dari 0 adalah -1, negasi dari +1 adalah -2, dan begitu seterusnya.


Sistem bilangan binari menggunakan basis (radix) 2 dan menggunakan dua macam simbol yaitu : 0 dan 1. Contoh bilangan binari yaitu : 1001 dapat diartikan dalam sistem bilangan desimal yaitu :


Position value sistem bilangan binari merupakan perpangkatan dari nilai basis yaitu perpangkatan nilai 2, seperti pada tabel berikut :

Atau dengan rumus :
Contoh :


Pertambahan Bilangan Binari

Pertambahan bilangan binari dilakukan dengan cara yang sama dengan pertambahan bilangan desimal. Dasar pertambahan untuk masing-masing digit bilangan binari adalah :

Contoh pertambahan bilangan binari :

Pengurangan Bilangan Binari

Pengurangan pada sistem bilangan binari dilakukan dengan cara yang sama pada sistem bilangan desimal. Dasar pengurangan untuk masing-masing digit bilangan adalah :

Contoh pengurangan pada sistem bilangan binari :

Pengurangan Dengan Komplemen (Complement)
Komplemen basis minus 1 (radix-minus-one complement)
Komplemen basis (radix complement)
Pada sistem bilangan desimal :
Kompelemen 9 (9s complement)
Komplemen 10 (10s complement)
Pada sistem bilangan binari :
Komplemen 1 (1s complement)
Komplemen 2 (2s complement)
Contoh pengurangan dengan komplemen 9 :

Komplemen 9 dari suatu sistem bilangan desimal dilakukan dengan mengurangkan angka 9 untuk masing-masing digit dalam bilangan pengurangan. Perhatikan, pada komplemen 9, digit paling ujung kiri dipindahkan untuk ditambahkan pada digit paling kanan.
Contoh pengurangan dengan komplemen 10 :

Komplemen 10 dari bilangan desimal adalah hasil komplemen 9 ditambah 1, misalnya komplemen 10 dari nilai 321 adalah 679 (atau dengan cara 1000-321 = 679). Pada komplemen 10, hasil digit paling ujung kiri dibuang (tidak dipergunakan).
Cara yang sama dapat dilakukn pada sistem bilangan binari.
Contoh pengurangan dengan komplemen 1 :


Komplemen 1 di sistem bilangan binari dilakukan dengan mengurangkan setiap bit dari nilai 1, atau dengan cara mengubah setiap bit 0 menjadi 1 dan bit 1 menjadi 0. Dengan komplemen 1, hasil digit paling kiri dipindahkan untuk ditambahkan pada bit paling kanan.
Contoh pengurangan dengan komplemen 2 :

Komplemen 2 adalah hasil dari komplemen 1 ditambah 1, misalnya komplemen 2 dari bilangan binari 10110 adalah 01010 (dari komplemen 1 yaitu 01001 ditambah 1). Dengan komplemen 2, hasil digit paling kiri dibuang (tidak digunakan).
Perkalian Bilangan Binari
Perkalian bilangan binari dilakukan dengan cara yang sama dengan perkalian pada sistem bilangan desimal. Dasar perkalian untuk masing-masing digit bilangan binari adalah :

Contoh perkalian bilangan binari :

Perhatikan, ada 2 keadaan dalam perkalian bilangan biner, jika pengali adalah bilangan 1, maka cukup disalin saja, jika pengali adalah bilangan 0, maka hasilnya semuanya 0.
Pembagian Bilangan Binari
Pembagian pada bilangan binari dilakukan dengan cara yang sama dengan pembagian bilangan desimal. Pembagian dengan 0 tidak mempunyai arti, sehingga dasar pembagian digit binari adalah :

Contoh pembagian bilangan binari :


Half Adder

Dengan bantuan dari setengah adder, kita dapat merancang sirkuit yang mampu melakukan penambahan sederhana dengan bantuan gerbang logika.
Mari kita melihat penambahan bit tunggal.
0 +0 = 0
0 +1 = 1
1 +0 = 1
1 +1 = 10
Ini adalah paling mungkin kombinasi single-bit. Tapi hasil untuk 1 +1 adalah 10. Meskipun masalah ini dapat diselesaikan dengan bantuan sebuah gerbang EXOR, jika Anda peduli tentang output, hasil penjumlahan harus ditulis ulang sebagai output 2-bit.
Dengan demikian persamaan di atas dapat ditulis sebagai
0 +0 = 00
0 +1 = 01
1 +0 = 01
1 +1 = 10
Berikut output '1 'dari '10' menjadi membawa-out. Hasilnya akan ditampilkan dalam kebenaran-tabel di bawah ini. 'SUM' adalah output normal dan 'BAWA' adalah membawa keluar.
INPUT OUTPUT
Sebuah SUM B BAWA
0 0 0 0
0 1 1 0
1 0 1 0
1 1 0 1
Dari persamaan itu jelas bahwa ini adder 1-bit dapat dengan mudah diimplementasikan dengan bantuan EXOR gerbang untuk output 'SUM' dan DAN gerbang untuk carry. Lihatlah implementasi di bawah ini.
Half Adder Circuit
Half Adder Circuit
Untuk Selain itu kompleks, mungkin ada kasus ketika Anda harus menambahkan dua byte 8-bit bersama-sama. Hal ini dapat dilakukan hanya dengan bantuan logika penuh penambah.

Full Adder

Jenis penambah adalah sedikit lebih sulit untuk diterapkan daripada setengah-penambah. Perbedaan utama antara setengah-penambah dan penuh Adder adalah bahwa penuh Adder memiliki tiga input dan dua output.Pertama kedua input A dan B dan masukan ketiga adalah input membawa ditunjuk sebagai CIN. Ketika logika adder penuh dirancang kita akan mampu ke string delapan dari mereka bersama-sama untuk menciptakan penambah byte-lebar dan kaskade bit carry dari satu penambah ke yang berikutnya.
Output membawa ditunjuk sebagai COUT dan output normal ditetapkan sebagai S. Lihatlah kebenaran-tabel.
INPUT OUTPUT
A B CIN COUT S
0 0 0 0 0
0 0 1 0 1
0 1 0 0 1
0 1 1 1 0
1 0 0 0 1
1 0 1 1 0
1 1 0 1 0
1 1 1 1 1
Dari atas kebenaran tabel, logika penambah penuh dapat diimplementasikan. Kita bisa melihat bahwa output S adalah EXOR antara input A dan SUM keluaran setengah-penambah dengan B CIN input. Kita juga harus mencatat bahwa COUT hanya akan benar jika salah satu dari dua input dari tiga yang TINGGI.
Dengan demikian, kita dapat menerapkan sirkuit adder penuh dengan bantuan dua setengah sirkuit adder.Yang pertama akan setengah adder akan digunakan untuk menambah A dan B untuk menghasilkan Sum parsial. Babak kedua logika adder dapat digunakan untuk menambah CIN ke Sum dihasilkan oleh setengah adder pertama untuk mendapatkan output S akhir. Jika salah satu setengah logika adder menghasilkan sebuah carry, akan ada output carry. Dengan demikian, COUT akan menjadi fungsi OR dari output Carry half-adder. Lihatlah pelaksanaan rangkaian adder penuh ditunjukkan di bawah ini.
Full Adder Circuit
Penuh Adder Circuit
Meskipun pelaksanaan diagram logika yang lebih besar dimungkinkan dengan logika penambah penuh atas simbol sederhana banyak digunakan untuk mewakili operasi. Diberikan di bawah ini adalah representasi skematis sederhana penuh adder satu-bit.
Single-bit Full Adder
Single-bit Adder Penuh
Dengan jenis simbol, kita dapat menambahkan dua bit bersama-sama mengambil carry dari selanjutnya agar lebih rendah besarnya, dan mengirim membawa kepada tatanan yang lebih tinggi berikutnya besarnya.Dalam komputer, untuk operasi multi-bit, setiap bit harus diwakili oleh penambah penuh dan harus ditambahkan secara bersamaan. Dengan demikian, untuk menambahkan dua angka 8-bit, Anda akan membutuhkan 8 penambah penuh yang dapat dibentuk dengan cascading dua blok 4-bit. Penambahan dua angka 4-bit ditunjukkan di bawah ini.
Multi-Bit Addition using Full Adder
Penambahan Multi-Bit menggunakan Full Adder

Tidak ada komentar:

Posting Komentar