10
Unit Aritmetik – Logika Unit aritmetik dan logika (arithmetic-logic units,disingkat ALU) merupakan bagian pengolah bilangan dari sebuah computer.ini berarti bagian tersebut bukan hanya melakukan operasi-operasi aritmetik,tetapi juga melaksanakan operasi logika (OR,AND,NOT,dan sebagainya).pada bab ini akan kita pelajari bagaiman ALU melakukan operasi penjumlahan dan pengurangan pada bilangan-bilangan biner.operasi- operasi logika akan dibahas dalam bab berikutnya. 6-1 PENJUMLAHAN BINER ALU tidak memprosesbilangan desimal,melainkan bilangan biner.sebelum pembaca dapat memahami rangkaian-rangkaian didalam sebuah ALU,anda harus mempelajari bagaimana penjumlahan bilangan biner itu dilaksanakan.ada lima kasus dasar yang harus dimengerti sebelum kita melangkah lebih lanjut. Kasus 1 Bila nol buah batu-kerikil ditambah dengan nol buah batu kerikil,hasil penjumlahannya adalah nol buah batu kerikil.dalam bentuk persamaan kata ini ditulis sebagai berikut Kosong + kosong = kosong Degan bilangan biner,persamaan ini menjadi 0 + 0 = 0 kasus 2 jika nol buah batu kerikil ditambah dengan sebuah batu kerikil, jumlah totalnya menjadi sebuah batu kerikil: kosong + 0 = 0 Dalam bilangan biner, 0 + 1 = 1 kasus 3 Penjumlahan bersifat komutatif.artinya kita dapat mengubah urutan bilangan yang jumlahnya dari kasus 2 dengan hasil 0 + kosong = 0 atau 1 + 0 = 1 kasus 4 selanjutnya, sebuah batu kerikil menghasilkan dua buah batu kerikil : 0 + 0 = 00 dalam bentuk persamaan biner 1 + 1 = 10 untuk menghindari kekacauan dengan bilangan desimal,cara membaca persamaan tersebut adalah

Unit Aritmetik

Embed Size (px)

DESCRIPTION

Pengantar Hardware (1)

Citation preview

Page 1: Unit Aritmetik

Unit Aritmetik – Logika

Unit aritmetik dan logika (arithmetic-logic units,disingkat ALU) merupakan bagian pengolah bilangan dari sebuah computer.ini berarti bagian tersebut bukan hanya melakukan operasi-operasi aritmetik,tetapi juga melaksanakan operasi logika (OR,AND,NOT,dan sebagainya).pada bab ini akan kita pelajari bagaiman ALU melakukan operasi penjumlahan dan pengurangan pada bilangan-bilangan biner.operasi-operasi logika akan dibahas dalam bab berikutnya.

6-1 PENJUMLAHAN BINER

ALU tidak memprosesbilangan desimal,melainkan bilangan biner.sebelum pembaca dapat memahami rangkaian-rangkaian didalam sebuah ALU,anda harus mempelajari bagaimana penjumlahan bilangan biner itu dilaksanakan.ada lima kasus dasar yang harus dimengerti sebelum kita melangkah lebih lanjut.

Kasus 1

Bila nol buah batu-kerikil ditambah dengan nol buah batu kerikil,hasil penjumlahannya adalah nol buah batu kerikil.dalam bentuk persamaan kata ini ditulis sebagai berikut

Kosong + kosong = kosong

Degan bilangan biner,persamaan ini menjadi

0 + 0 = 0

kasus 2

jika nol buah batu kerikil ditambah dengan sebuah batu kerikil, jumlah totalnya menjadi sebuah batu kerikil:

kosong + 0 = 0

Dalam bilangan biner,0 + 1 = 1

kasus 3

Penjumlahan bersifat komutatif.artinya kita dapat mengubah urutan bilangan yang jumlahnya dari kasus 2 dengan hasil

0 + kosong = 0

atau

1 + 0 = 1

kasus 4

selanjutnya, sebuah batu kerikil menghasilkan dua buah batu kerikil :

0 + 0 = 00

dalam bentuk persamaan biner

1 + 1 = 10untuk menghindari kekacauan dengan bilangan desimal,cara membaca persamaan tersebut adalah sebagai berikut: “ satu ditambah satu sama dengan satu-nol”.dapat pula dibaca seperti ini : “ satu ditambah satu sama dengan nol,menyimpan (carry) satu”.

Kasus 5

Sebuah batu kerikil ditambah dengan sebuah batu kerikil ditambah dengan sebuah batu kerikil memberikan jumlah sebanyak tiga buah batu kerikil:

0 + 0 + 0 = 000

persamaan binernya berbentuk

1 + 1 + 1 = 11

persamaan ini dibaca “ satu plus satu plus satu sama dengan satu, pindah satu.”

Page 2: Unit Aritmetik

Aturan yang harus diingat

Kasus-kasus yang telah dibahas merupakan seluruh landasan yang perlu diketahui untuk melakukan semua penjumlahan biner yang lebih kompleks.oleh sebab itu, ingatlah selalu lima aturan penumlahan berikut ini:

0 + 0 = 0 (6-1)0 + 1 = 1 (6-2)1 + 0 = 1 (6-3)1 + 1 = 10 (6-4)

1 +1 + 1 = 11 (6-5)

bilangan biner yang lebih besar

sebagaimana halnya dalam bilangan desimal,penjumlahan bilangan biner juga dilaksanakan kolom-demi-kolom.sebagai contoh,andaikan anda menghadapi masalah penjumlahan bilangan biner sebagai berikut;

11100 +11010

?

kita mulai dari kolom yang paling tak penting ( least significant column),yang menghasilkan 0 pada kolom sama:

11100+11010 0

disini,0 + 0 menghasilkan 0.

Berikutnya,jumlahkan bit-bit kolom kedua sebagai berikut:

11100+11010 10

pada tahap ini, 1 + 0 memberikan hasil 1 kolom ketiga memberikan hasil

11100+11010 110

dalam hal ini, 1 + 0 sama dengan 1 kolom keempat menghasilkan :

11100 + 11010

0110

seperti kita lihat, 1 + 1 sama dengan 0 dengan pindahan 1. Akhirnya, kolom kelima memberikan:

11100 + 11010

disini, 1 + 1 + 1 ( carry ) menghasilkan 11,ditulis sebagai 1 dengan sebuah pindahan pada kolom berikutnya.

6-2 PENGURANGAN BINER

untuk mengurangkan bilangan-bilangan biner,diperlukan pemahaman empat kasus berikut:

kasus 1 : 0 - 0 = 0kasus 2 : 1 + 0 = 1kasus 3 : 1 - 1 = 0kasus 4 : 10 - 1 = 1

kasus terakhir mengungkapkan persamaan :

00 – 0 = 0

yang mudah dimengerti.Pengurangan bilangan-bilangan

biner yang lebih besar,dapat dilaksanakan kolom-demi-kolom dan dengan meminjam bit dari kolom lebih berarti bilamana perlu.misalnya, dalam pengurangan 101 terhadap 111, prosesnya adalah sebagai berikut:

7 111- 5 - 101 2 010

dari kolom paling kanan, 1 – 1 memberikan 0, kemudian 1 – 0 menghasilkan 1; dan akhirnya, 1 – 1 sama dengan 0.Contoh lain,kurangkan 1010 dari 1101

13 1101- 10 - 1010 3 0011

Page 3: Unit Aritmetik

Dalam kolom paling tak penting (paling kanan)1 – 0 sama dengan 1.pada kolom kedua,kita harus “meminjam”dari kolom berikutnya yang lebih berarti,lalu 10 – 1 menghasilkan 1.pada kolom ketiga, 0 ( setelah “dipinjam”) – 0 sama dengan 0.dan pada kolom keempat, 1 – 1 = 0

Pengerangan langsung seperti pada contoh diatas telah ditetapkan dalam operasi computer; namun pengurangan dapat pula dilakukan dengan cara yang berbeda.pasal selanjutnya dari bab ini akan membahas cara tersebut.

6-3 PENJUMLAH PARUH

Gambar 6-1 memperlihatkan sebuah penjumlah-paruh( half-adder),sebuah rangkaian logika yang menjumlahkan 2 bit perhatikan keluaran-keluarannya: SUM (jumlah)

dan carry (pindahan).persamaan –persamaan boole untuk keluaran ini adalah

SUM = A + B (6-6) CARRY = AB (6-7)

Keluaran SUM adalah A XOR B; dan keluaran CARRY adalah A AND B.Dengan ini,SUM = 1 jika A dan B berbeda; CARRY=1 jika A dan B masing-masing sama dengan 1.

Operasi ini dirangkumkan dalam tabel 6-1.bila A dan B 0,SUM = 0dan CARRY = 0.bila A = 0dan B = 1,SUM = 1 dan CARRY = 0.bila A = 1 dan B = 0, maka SUM = 1 dengan CARRY = 1

Rangkaian logika dari gambar 6-1 melaksanakan secara elektronik proses penjumlahan 2 bit tersebut.penjumlah –paruh ini mempunyai aplikasi

Yang terbatas.apa yang kita butuhkan adalah rangkaian yang dapat menjumlahkan 3 bit sekaligus.

TABEL 6-1.PENJUMLAH – BINERA B CARRY SUM0 0 0 00 1 0 11 0 0 11 1 1 0

6-4 PENJUMLAH – BINER

Gambar 6-2 melukiskan sebuah penjumlah –penuh (full – adder),yaitu rangkaian logika yang dapat menjumlahkan 3 bit.pada rangkaian ini juga terdapat duakeluaran,SUM dan CARRY.persamaan boole masing-masing berbentuk.

SUM = A + B + C (6-8) CARRY = AB + AC + BC (6-9)

Page 4: Unit Aritmetik

Dalam hal ini,SUM sama dengan A XOR B XOR C;dan keluaran CARRY sama dengan AB OR AC OR BC.jadi keluaran SUM akan menjadi jika masukan angka 1 berjumlah ganjil; keluaran CARRY = 1 jika dua atau lebih dari dua masukannyabernilai 1Operasi rangkaian dirinci pada tabel 6-2.A,B,dan C adalah bit-bit yang dijumlahkan.jika anda memeriksa setiap langkah fungsi logika dari rangkaian ini,anda akan mendapatkan bahwa rangkaian ini menjumlahkan 3 bit sekaligus dengan hasil yang benar.

TABEL 6-2 PENJUMLAH – PENUHA B C CARRY SUM0 0 0 0 00 0 1 0 10 1 0 0 10 1 1 1 01 0 0 0 11 0 1 1 01 1 0 1 01 1 1 1 1

Hal yang pokok di bagian ini adalah bahwa rangkaian Gambar 6-2 melaksanakan secara elektronis, penjumlahan 3 bit yang dilakukan dalam kepala kita.penjumlah – penuh dapat digabungkan dalam suatu kaskade untuk menjumlahkan bilangan biner yang lebih besar. Pasal berikutnya akan menjelaskan hal ini.

6-5 PENJUMLAH BINER

Pada Gambar 6-3 dapat kita saksikan sebuah penjumlah-biner (binary adder),yaitu rangkaian logika yang dapat menjumlahkan dua bilangan biner.kotak sebelah kanan (bertanda HA) mewakili sebuah penjumlah paruh.bagian ini memiliki masukan A0 dan B0,dan keluaran S0 (SUM) dan C1(CARRY).kotak-kotak yang lain merupakan penjumlah – penuh (disingkat FA).setiap penjumlah penuh dilengkapi dengan tiga masukan (An,Bn,dan Cn)dan dua keluaran.

Rangkaian ini menjumlahkan dua bilangan biner sebagai berikut :

A3A2A1A0

+ B 3 B 2 B 1 B 0 C4S3S2S1S0

Sebagai contoh,misalkan A = 1100 dan B=1001. soal yang harus kita jawab adalah :

1100+ 1001 ?

Gambar 6-4 memperlihatkan penjumlah biner dengan masukan sama seperti contoh diatas,1100 dan 1001.penjumlah paruh menghasilkan jumlahan 1 dan pindahan 0,penjumlah penuh pertama mmberikan hasil 0 dan pindahan 0,penjumlah penuh kedua memberi hasil 1 dan pindahan 0,penjumlah penuh ketiga menghasilkan jumlah 0 dan pindahan 1.keluaran keseluruhan adalah 10101;jawaban yang sama akan diperoleh dengan menggunakan pensil dan kertas.

penjumlahan biner bagi bilangan yang seberapapun panjangnya dapat dibangun dengan menggunakan penjumlah –penuh yang lebih banyak.misalnya,untuk menjumlahkan bilangan 16 bit dibutuhkan 15 buah penjumlahan-penuh.mulai saat ini,penjumlah biner bagi bilangan yang berapapun panjangnya akan diberi lambang(symbol)seperti gambar 6-5.perhatiaan bahwa tanda panah besar menyatakan cara baku untuk menunjukkan kata-kata dalam proses gerak(perpindahan).dalam gambar 6-5.kata-kata A dan B dijumlahkan untuk menghasilkan jumlah S dan sebuah CARRY akhir

Page 5: Unit Aritmetik

6-6 BILANGAN BINER BERTANDA

Bilangan-bilangan desimal negative adalah angka-angka – 1, – 2, – 3,dan sebagainya.suatu cara untuk menyatakan bilangan semacam itu sebagai bilangan biner adalah dengan mengubah magnitudo (1,2,3,…)nya kedalam biner yangekivalen dan menuliskan tandanya didepan bilangan yang bersangkutan.atas dasar pendekatan ini,bilangan desimal – 1 – 2 – 3 menjadi bilangan biner – 001 – 010 dan – 011.biasanya,angka 0 dipakai untuk menggantikan tanda + dan angka 1 sebagai pengganti tanda – .jadi– 001–010 dan – 011 dapat dituliskan kembali sebagai 1001,1010,dan 1011.Bilangan-bilangan di atas memiliki bit tanda yang diikuti oleh bit-bit magnitudonya.bilangan dalam bentuk demikian disebut bilangan biner bertanda atau bilangan tanda-magnitudo.bagi bilangan desimal yang lebih besar tentunya diperlukan lebih dari 4 bit biner.akan tetapi gagasan pokoknya masih tetap sama;yaitu bit permulaan menyatakan tanda dan bit-bit sisanya mengungkapkan magnitudonya.

6-7 KOMPLEMEN – 2

Bilangan biner bertanda memang mudah dimengerti,akan tetapi bentuk bilangan ini memerlukan perangkat keras yang terlampau banyak untuk operasi penjumlahan dan pengurangannya.kekurangan ini telah mendorong pemakaian komplemen secara luas dalam ilmu hitung biner.

Defenisi

Marilah segarkan kembali ingatan kita bahwa sinyal masukan INVERT yang

tinggi dari sebuah inverter terkendali akan menghasilkan komplemen angka 1 Misalnya,jika:

A = 0111 ( 6- 10a)

Komplemen -1 dari keadaan ini adalah

A = 1000 ( 6- 10b)

Komplemen -2 didefenisikan sebagai kata baru yang diperoleh dengan menambahkan 1 kepada komplemen -1 :

A’ = A + 1 ( 6-11)

Dimana A’ = komplemen-2 dan A=komplemen-1 berikut ini adalah bberapa contoh penentuan kompleme-2.misalnya,komplemen-1 nya adalah

A = 1000

Dan komplemen-2 adalah

A = 1001

Dalam odometer biner,komplemen-2 merupakan hasil pembacaan berikutnya setelah komplemen-1 Sebagai contoh lain,misalkan

A = 0000 1000

Maka,

A = 1111 01111

Dan

A’ = 1111 1000

Komplemen ganda

Jika kita melakukan komplemen-2 Dari suatu bilangan secara berturut-turut sebanyak dua kali,maka kita akan peroleh kembali bilangan semula.misalkan,jika

A = 0111

Komplemen-2 yang bersangkutan

A’ = 1001

Page 6: Unit Aritmetik

Jika kita mencari komplemen-2 dari A’,didapat :

A” = 0111

Yang sama dengan kata semula.Secara umum,ini berakhir :

A” = A

Persamaan ini menyatakan bahwa “ komplemen ganda dari A sama dengan A”.karena sifat ini,komplemen-2 dari bilangan biner adalah ekivalen dengan angka negatif dalam bilangan desimal dasar pemikiran ini akan diterangkan dalam pembahasan berikut.

Kembali Kepada Odometer

Dalam Bab 1 Telah digunakan sebuah odometer dalam memperkenalkan pengertian bilangan biner.pembahasan itu hanyalah menyangkut bilangan-bilangan positif.akan tetapi,pembacaan odometer dapat pula menunjukkan bilangan-bilangan negatif.betikut ini merupakan penjelasan akan hal tersebut.

Bila sebuah mobil dilengkapi dengan sebuah odometer biner,seluruh bit-bit yang ada pada akhirnya akan mengalami reset ke 0.beberapa penunjukan bilangan sebelumnya dan sesudah suatu reset lengkap dari odometer akan tampak sebagai berikut:

1101111011110000 (RESET)000100100011

1101 adalah penunjukan odometer 3 mil sebelum reset,penunjukan 1110 terjadi 2 mil sebelum reset,dan 1111menunjukkan jarak 1mil sebelum reset.kemudian,0001 adalah sajian odometer pada jarak 1 mil sesudah reset,penunjukan 0010 terjadi pada 2 mil sesudah reset,dan 0011 menunjukkan jarak 3 mil sesudah reset.

“sebelum”dan “sesudah”dalam kasus ini sama artinya dengan “negative”dan “positif”.gambar 6-6 menjelaskan gagasan ini dalam bentuk

garis bilangan seperti yang dipelajari dalam ilmu aljabar dasar.tempat berangka 0 pada garis bilangan menandai titik pangkal; bilangan desimal positif diwakili oleh titik-titik disebelah kanan,dan bilangan desimal negative diwakili oleh titik-titik disebelah kiri dati titik pangkal itu.bilangan yang ditunjukkan oleh odometer merupakan bilangan biner yang ekivalen dengan bilangan desimal positif dan negative.bilangan-bilangan 1101,1110,1111,0000,0001,0010,dan 0011 masing-masing ekivalen dengan–3,–2,–1,0,+1,+2,dan +3.

1101 1110 1111 0000 0001 0010 0011

- 3 - 2 - 1 - 0 +1 +2 +3

penunjukan odometer pada gambar 6-6 memperagakan cara bagaimana bilangan positif dan negative disimpan dalam mikrokomputer yang standar.bilangan desimal positif diungkapkan dalm bentuk tanda-magnitudo,akan tetapi bilangan desimal negative dinyatakan sebagai komplemen-2 sebagaimana telah disebutkan,bilangan positif memiliki bit tanda berharga 0,sedangkan bit tanda dari bilangan negative adalah 1.

Komplemen-2 Sama Dengan Perubahan tanda desimal

Penentuan komplemen-2 dari suatu bilangan biner adalah sama dengan perubahan tanda pada bilangan desimal yang ekivalen. Sebagai contoh,jika:

A = 0001 ( + 1 dalam gambar 6-6 )

Maka operasi komplemen-2 memberikan

A’ = 1111 ( - 1 dalam gambar 6-6 )

Dengan cara serupa,untuk :

A = 0010 ( + 2 dalam gambar 6-6 )

Komplemen-2 nya adalah

A’ = 1110 ( - 2 dalam gambar 6-6 )

Sekali lagi bila

Page 7: Unit Aritmetik

A = 0011 ( + 3 dalam gambar 6-6 )

Komplemen-2 yang bersangkutan adalah

A = 1101 ( - 3 dalam gambar 6-6 )

Prinsip yang sama dapat diterapkan pada bilangan biner yang berapapun panjangnya.pokoknya,pengambilan komplemen-2 dari bilangan biner sama dengan perubahan tanda pada bilangan desimal yang ekivalen.akan ditunjuk pada bagian selanjutnya bahwa sifat ini memungkinkan penggunaan sebuah penjumlah biner baik untuk operasi penjumlahan maupun untuk pengurangan.

Ikhtisar

Hal-hal pokok yang perlu diingat tentang representasi komplemen-2 adalah:

1. Bit terdepan merupakan bit tanda; dengan 0 untuk plus,dan 1 untuk minus.2. bilangan desimal positif dinyatakan dalam bentuk tanda-magnitudo3. bilangan desimal negative diungkapkan dalam representasi komplemen-2

6-8 PENJUMLAHAN PENGURANGAN KOMPLEMEN-2

Komputer-komputer terdahulu menggunakan bilangan biner bertanda baik untuk bilangan positif maupun bilangan negative.representasi ini menghasilkan rangkaian aritmetik yang rumit.kemudian para ahli rekayasa ( insinyur ) menemukan bahwa representasi komplemen-2 sangat berhasil dalam menyederhanakan perangkat-keras aritmetik tersebut.oleh sebab itu,penjumlah-pengurang komplemen-2 kini digunakan secara luas sebagai rangkaian aritmetik.

Penjumlahan

Gambar 6-7 memperlihatkan sebuah penjumlah-pengurang komplemen-2; yaitu rangkaian logika yang dapat menjumlahkan atau mengurangkan bilangan-bilangan biner,cara kerja rangkaian adalah sebagai berikut.ketika SUB rendah bit-bit B akan melewati inverter terkendali tanpa mengalami inversi.dalam keadaan ini,penjumlah penuh menghasilkan keluaran:

S = A + B (6-13)

Gambar 6-7 menunjukkan bahwa keluaran CARRY akhir tidak dipakai.dalam hal ini,S3 merupakan bit tanda dan S2 sampai S0 adalahbit-bit numeriknya.karena itu CARRY akhir tidak berfungsi.

Pengurang

Bila SUB tinggi,inverter terkendali menghasilkan komplemen-1.selanjutnya,keadaan SUB yang tinggi akan menambahkan angka 1 kepada penjumlah penuh pertama.penjumlahan 1 dengan komplemen-1 menghasilkan komplemen-2 dari B.dengan kata lain,inverter terkendali menghasilkan B,dan menambahkan 1 akan mengubahnya menjadi B’.Dengan ini keluaran penjumlah-penuh adalah :

S = A + B’ ( 6-14 )

Yang ekivalen dengan :

S = A – B ( 6-15 )

Page 8: Unit Aritmetik

Karena komplemen-2 ekivalen dengan suatu perubahan tanda.