• Tidak ada hasil yang ditemukan

ARITHMATIC LOGIC UNIT ( alu ) half - full adder, ripple carry adder

N/A
N/A
Protected

Academic year: 2021

Membagikan "ARITHMATIC LOGIC UNIT ( alu ) half - full adder, ripple carry adder"

Copied!
15
0
0

Teks penuh

(1)

Teknik Mikroprosessor Arithmatic Logic Unit

7

ARITHMATIC LOGIC UNIT ( alu )

half - full adder , ripple carry adder

Tujuan : Setelah mempelajari half-full adder, ripple carry adder diharapkan dapat,

1. Memahami aturan-aturan Penjumlahan bilangan biner 2. Memahami aturan-aturan Pengurang bilangan biner 3. Memahami prinsip kerja penjumlah setengah (Half Adder) 4. Mampu melakukan operasi penjumlah setengah (half Adder) 5. Memahami prinsip kerja penjumlah penuh (Full Adder)

6. Mampu melakukan operasi penjumlah penuh (Full Adder)

7. Mampu membedakan prinsip dasar antara penjumlah setengah (Half Adder) dan Penjumlah penuh (Full Adder).

8. Memahami prinsip kerja Rangkaian Penjumlah dan Pengurang (Ripple Carry Adder)

9. Mampu melakukan operasi Penjumlah dan Pengurang (Ripple Carry Adder)

Prasyarat : Untuk mempelajari Pembelajaran 7 diperlukan kegiatan dan kemampuan

seperti di bawah ini ,

1. Telah mengerjakan latihan-latihan pada Pembelajaran 6. 2. Semua latihan pada Pembelajaran 6 dijawab dengan Benar.

7. 1. Rangkaian Penjumlah

Penjumlahan bilangan biner telah dibahas pada pembelajaran 3, sedangkan pada pem belajaran inti kita akan membahas rangkaian penjumlah yang dibangun dari aturan - aturan penjumlahan bilangan biner. Pada sebuah mikrocomputer dan juga komputer, hanya memproses bilangan biner. Di bawah ini adalah hasil penjumlahan dua buah bilangan biner yang masing-masing terdiri dari 1 ( satu ) bit.

A + B Hasil Carry 0 + 0 0 + 1 1 + 0 1 + 0 0 1 1 0 0 0 0 1

(2)

Suatu rangkaian digital yang mampu melaksanakan operasi penjumlahan seperti pada tabel di balik disebut Half Adder ( HA ).

HA

Carry U Hasil A B B A U 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1

Gambar Blok Half Adder Tabel Fungsi Half Adder

Dari tabel di atas, perhatikanlah sinyal " 1 " pada Hasil Σ dan Carry U dapat dikembangkan persamaan fungsi seperti di bawah ini.

Hasil Σ = ( A Λ B ) v ( A Λ B ) = A v B ( Ex - OR )

Carry U = A Λ B ( AND )

Dari kedua persamaan di atas dapat dikembangkan rangkaian Half Adder seperti di bawah ini. A B A B B A ( A B ) U = A B V ( A B ) ( A B )

Rangkaian Half Adder

(3)

Contoh

Dilakukan penjumlahan antara dua bilangan A + B

H H

Teknik Mikroprosessor Arithmatic Logic Unit

A B ( A B ) H H H L H H L L L L U = A B = H V ( A B ) ( A B ) = L

Perhitungan : 1 ⇒ A ( Variabel Input ) + 1 ⇒ B ( Variabel Input ) 1 ⇒ U ( Carry )

0 ⇒ ∑ ( Hasil )

Half Adder tidak dapat digunakan untuk melakukan proses penjumlahan dua buah bilangan yang masing-masing terdiri dari beberapa digit ( multi digit ). Penjumlahan yang terdiri dari beberapa bit harus menyertakan carry pada digit yang lebih tinggi berikutnya dan solusi penjumlah yang demikian disebut Full Adder ( FA ), dimana disamping input A dan B disertakan juga Carry sebagai bagian dari input.

FA

Carry Out Hasil A B Carry In C B A U 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 1 0 1 0 1 1 1 0 0 1 1 1 1 1 1

(4)

∑ = ( A Λ B Λ C ) v ( A Λ B Λ C ) v ( A Λ B Λ C ) v ( A Λ B Λ C ) Sesuai Hukum Distributive pada Aljabar Boole, persamaan fungsi di atas menjadi,

∑ = [ ( A Λ B ) v ( A Λ B ) ] Λ C v [ ( A Λ B ) v ( A Λ B ) ] Λ C = [ ( A Λ B ) v ( A Λ B ) ] Λ C v ( 1 Λ C )

= [ ( A Λ B ) v ( A Λ B ) ] Λ ( C v C ) ∑ = ( A V B ) V C = A V B V C

Setelah melalui penyederhanaan, rangkaian ∑ dapat dinyatakan seperti pada gambar di bawah. A B C A V B A V B V C

Disamping persamaan Hasil juga terdapat persamaan untuk Carry seperti di bawah ini, U = ( A Λ B Λ C ) v ( A Λ B Λ C ) v ( A Λ B Λ C ) v ( A Λ B Λ C )

Persamaan ini dapat disederhanakan menjadi, U = ( A Λ B ) v ( B Λ C ) v ( A Λ C )

Dari kedua persamaan di atas dapat dikembangkan menjadi rangkaian digital Full Adder . A B A C A B B C A V B A V B V C A C A B B C V ( A B ) ( B C ) V ( A C ) U = C

Rangkaian Full Adder Contoh

Teknik Mikroprosesso 118 Logic Unit

Dilakukan penjumlahan antara dua bilangan A + B dengan memper - r Arithmatic

(5)

hatikan Input Carry C H H H A B A V B A V B V C = L A C A B B C V ( A B ) ( B C ) V ( A C ) U = C H L H L H H H H H L L H H L H H U = H L

Perhitungan : 1 ⇒ A ( Variabel Input ) + 0 ⇒ B ( Variabel Input ) + 1 ⇒ C ( Input Carry ) 1 ⇒ U ( Output Carry )

0 ⇒ ∑ ( Hasil )

Penjumlah dua buah bilangan biner yang terdiri dari N bit, sehingga memerlukan N bit Full Adder seperti pada contoh di bawah.

23 22 21 20 Tempat Bilangan A2 A1 A0 Variabel A ( 3 Bit ) 1 0 1 B2 B1 B0 Variabel B ( 3 Bit ) 1 1 1 C3 C2 C1 C0 Carry U ( C ) 1 1 1 0 1 1 0 0 Hasil

Teknik Mikroprosessor Arithmatic Logic Unit Pada tempat 20 tidak terjadi Carry ( 0 ), sehingga pada tempat ini ( bit ini ) memerlukam rangkaian Half Adder. Sedangkan pada tempat 21 dan 22 masing-masing diperlukan Full Adder. Jika pada tempat 20 digunakan FA, maka Carry inputnya harus di berikan logik " L " .

(6)

FA1

H A0 B0 H 20 H 0 L

FA2

H A1 B1 H 21 H 1 L

FA3

H A2 B2 H 22 H 2 H H C3 C2 C1 C0 23 U0 U1 U2 L

Gambar Full Adder 3 Bit

Gambar di bawah adalah rangkaian penjumlah 8 Bit yang dibangun dari 4 buah gerbang TTL 7482 ( 2 Bit FA ) atau 2 buah gerbang TTL 7483 ( 4 Bit FA ).

A2 B2 A3 B3 3 U4 U4 FA A4 B4 A5 B5 5 U6 U6 FA A6 B6 A7 B7 7 U8 FA 2 4 6 U0 A0 B0 A1 B1 0 1 U2 U2 FA FA FA FA FA UB 2 - Bit FA 7482 1 A1 B1 2 A2 B2 Un Un+2

Full Adder 8 Bit

7. 2. Ripple Carry Adder

Jika pada rangkaian penjumlah n Bit, input Carry C0 diberikan sinyal " 1 " maka hasil

penjumlahan bilangan A dan B akan kelebihan 1 ( satu ), sehingga pada masukan C0

ini disebut Incremant ( INC ). Suatu rangkaian penjumlah yang mempunyai incremant input disebut Ripple Carry Adder.

(7)

FA U0 C0 FA Un-1 Cn-1 FA U1 C1 0 1 n-1 FA Un Cn n INC Output Carry Un An An-1 A1 A0 Bn Bn-1 B1 B0

Logik Diagram Ripple Carry Adder

n - Bit

FA

Carry Out Un 0 1 n-1 n INC An An-1 A1 A0 Bn Bn-1 B1 B0

Blok Diagram Ripple Carry Adder

7. 3. Rangkaian Penjumlah - Pengurang

Dengan mengembangkan rangkaian Ripple Carry Adder yaitu dengan jalan menambahkan beberapa gerbang AND dan EX-OR didepannya sehingga memungkinkan rangkaian tersebut digunakan untuk operasi penjumlahan dan pengurangan, maka rangkaian tersebut disebut Rangkaian Penjumlah - Pengurang.

(8)

Un INC B0 =1 =1 =1 =1 =1 =1 =1 =1 B1 B2 B3 A0 A1 A2 S4 S3 S2 S1 S0 A3 Input Pengontrol

Logik Diagram Penjumlah - Pengurang

Gambar rangkaian penjumlah - pengurang di atas digunakan untuk operasi penjumlahan dan pengurangan bilangan A dan Bilangan B yang masing-masing terdiri dari 4 Bit dan mempunyai 5 ( lima ) input pengontrol yaitu S0, S1, S2, S3 dan S4.

Tergantung dari kombinasi input pengontrol ini, maka ada 32 macam kombinasi seperti diperlihatkan pada tabel fungsi dari penjumlah - pengurang dibalik ini.

24 23 22 21 20

Des. S4 S3 S2 S1 S0 Fungsi Output

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

(9)

4 0 0 1 0 0 -1 5 0 0 1 0 1 0 6 0 0 1 1 0 -2 7 0 0 1 1 1 -1 8 0 1 0 0 0 B 9 0 1 0 0 1 B + 1 10 0 1 0 1 0 - B - 1 = B 11 0 1 0 1 1 - B 12 0 1 1 0 0 B -1 13 0 1 1 0 1 B 14 0 1 1 1 0 - B - 2 15 0 1 1 1 1 - B - 1 = B 16 1 0 0 0 0 A 17 1 0 0 0 1 A + 1 18 1 0 0 1 0 A - 1 19 1 0 0 1 1 A 20 1 0 1 0 0 - A - 1 = A 21 1 0 1 0 1 - A 22 1 0 1 1 0 - A - 2 23 1 0 1 1 1 - A - 1 = A 24 1 1 0 0 0 A + B 25 1 1 0 0 1 A + B + 1 26 1 1 0 1 0 A - B - 1 27 1 1 0 1 1 A - B 28 1 1 1 0 0 B - A - 1 29 1 1 1 0 1 B - A 30 1 1 1 1 0 - A - B - 2 31 1 1 1 1 1 - A - B - 1

Teknik Mikroprosessor Arithmatic Logic Unit

Tabel Fungsi Penjumlah - Pengurang Contoh

Fungsi Output A + B ⇒ Input A = 0 0 0 0 Input B = + 1 1 1 1 Input INC = + 0

(10)

Un INC B0 =1 =1 =1 =1 =1 =1 =1 =1 B1 B2 B3 A0 A1 A2 S4 S3 S2 S1 S0 A3 H H H H H H H H L L L L L L L L H H H H L L L L L L L L H H H H H H L L L L H H H H L L L L H H H H

Sesuai dengan tabel fungsi, input pengontrol untuk fungsi output A + B adalah kombinasi S4 S3 S2 S1 S0 Dengan keadaan sinyal pada S4 S3

H H L L L H H

informasi yang ada pada input A dan input B akan dilalukan menuju input gerbang EX-OR ( A Λ 1 = A ) . Dengan keadaan sinyal pada S2 S1 informasi yang ada

L L

Teknik Mikroprosessor Arithmatic Logic Unit124 pada gerbang EX-OR akan dilalukan ke input Ripple Carry Adder, tanpa mengalami perubahan ( A V 0 = A ). Didalam Ripple Carry Adder terjadi proses penjumlahan informasi yang ada pada inputnya. Dengan keadaan sinyal pada S0 maka hasil

L

penjumlahan bilangan tidak ditambah dengan 1 ( satu ), sehingga pada output Ripple Carry Adder adalah hasil A + B.

(11)

Contoh

Fungsi Output A - B ⇒ Input A = 1 1 1 1 = 15 1 1 1 1 Input B = 0 0 1 1 = 3 + 1 1 0 0 Input INC = 1 = 1 + 1 Output = 1 1 1 0 0 = 12 Un INC B0 =1 =1 =1 =1 =1 =1 =1 =1 B1 B2 B3 A0 A1 A2 S4 S3 S2 S1 S0 A3 H H H H H H H H L L L L H H H H H H L H H H H H L L H H H H H H H H L L H H L L H H H H L L H H H H

Sesuai dengan tabel fungsi, input pengontrol untuk fungsi output A - B adalah kombinasi S4 S3 S2 S1 S0 Dengan keadaan sinyal pada S4 S3

H H L H H H H

informasi yang ada pada input A dan input B akan dilalukan menuju input gerbang EX-OR ( A Λ 1 = A ) . Dengan keadaan sinyal pada S2 informasi yang ada

L

(12)

pada gerbang EX-OR yang berasal dari input A akan dilalukan ke input Ripple Carry Adder, tanpa mengalami perubahan ( A V 0 = A ). Dengan keadaan sinyal pada S1 informasi yang ada pada input B akan dikomplement menjadi B dan L berada pada input Ripple Carry Adder . Dengan keadaan sinyal pada

S0 maka diperoleh harga komplemen dua dari input B ( B + 1 = - B ), sehingga

L proses penjumlahan yang terjadi pada Ripple Carry Adder menjadi A + (-B )

= A - B

7. 4. Arithmatic Logic Unit ( ALU )

Untuk semua microprosessor tidak hanya mampu melaksanakan operasi-operasi arithmatik saja, tetapi juga harus mampu melaksanakan operasi-operasi logik. Kedua operasi ini dilaksanakan di dalam Aritmatic Logic Unit ( ALU ) yang terdapat pada seluruh microprosessor. Ada tiga dasar operasi logik yaitu,

A Λ B ( Operasi AND ) A V B ( Operasi OR ) A V B ( Operasi EX-OR )

keluaran dari ALU diatur oleh kombinasi Input pengontrol tambahan S5 dan S6 seperti

tabel dibawah ini,

Input Pengontrol Output Fungsi

S6 S5 Yn

0 0 X0n Operasi Arithmatik 0 1 X1n Operasi AND 1 0 X2n Operasi OR 1 1 X3n Operasi EX-OR

(13)

=1 1 X0n X1n X2n X3n Yn Output ( n - Bit ) ( n - Bit ) ( n - Bit ) Input A Input B S4 S3 S2 S1 S0 S6 S5 U

Blok Diagram Arithmatic Logic Unit ( ALU )

Untuk percobaan dapat digunakan komponen TTL ALU 74181 4 Bit, sedangkan untuk 8 Bit dapat digunakan dua buah ALU 74181 seperti gambar dibawah.

UB 1 2 3 4 5 6 7 8 9 10 11 12 14 13 15 16 17 19 20 18 2 1 23 24 22 A L U 74 181 74S 181 A1 B1 A2 B2 A3 B3 G P F3 B0 A0 S3 S2 S1 S0 Cn M F0 F1 F2 Kaki - kaki IC ALU 74181

A0 - A3 4 Bit Data input ( Operand A ) B0 - B3 4 Bit Data input ( Operand B ) S0 - S3 Pemilih Fungsi

M Mode Control ( 1, Op. Logik ) Cn,Cn+4 Carry

A = B Komparator Output ( 1, A=B ) F0 - F2 Output hasil operasi di ALU

(14)

Perhatikan gambar Blok Diagram Arithmatic Logic Unit ( ALU ) di depan, jika pengontrol S5 = S6 = 0 maka rangkaian Penjumlah - Pengurang dihubungkan dengan

Output demikian juga untuk operasi logik yang lain tergantung dari kombinasi input pengontrol S5 dan S6 . Input pengontrol S0 sampai dengan S4 tidak mempengaruhi

proses operasi logik. Secara matematis bahwa jika ada 7 ( tujuh ) input pengontrol S0

sampai dengan S6 menghasilkan 27 = 128 kombinasi, tetapi pada rangkaian ini hanya

diambil kombinasi-kombinasi fungsi yang mempunyai arti untuk pemrosesan data di dalam ALU. Seperti halnya pada tabel fungsi penjumlah pengurang terdapat hasil 0 sampai 3 kali atau juga hasil yang tidak mempunyai arti di dalam aplikasi praktik ( mis. : -A -B -2 ). Selanjutnya diantara fungsi-fungsi yang ada pada operasi arithmatik diambil 10 ditambah 3 fungsi untuk opersi logik, sehingga hanya berjumlah 13 fungsi. Ke-13 fungsi yang dihasilkan dari 7 buah input pengontrol ( S6 - S0 ) disimpan di dalam ROM

sedangkan data outputnya digunakan untuk mengontrol ALU. Dengan 4 penghantar alamat ROM dapat menyimpan 24 = 16 kombinasi fungsi.

Input Alamat ( Input ROM )

Sinyal Pengontrol

( Output ROM ) Fungsi

U3 U2 U1 U0 S6 S5 S4 S3 S2 S1 S0 Yn 0 0 0 0 0 0 1 0 0 0 0 A 0 0 0 1 0 0 0 0 0 0 1 1 0 0 1 0 0 0 1 0 1 0 0 A 0 0 1 1 0 0 0 1 0 0 0 B 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0 0 1 A + 1 0 1 1 0 0 0 1 0 0 1 0 A - 1 0 1 1 1 0 0 1 1 0 0 0 A + B 1 0 0 0 0 0 1 1 0 1 1 A - B 1 0 0 1 0 1 x x x x x A Λ B 1 0 1 0 1 0 x x x x x A V B 1 0 1 1 1 1 x x x x x A V B 1 1 0 0 0 0 0 0 0 1 0 - 1 1 1 0 1

1 1 1 0 untuk langkah berikutnya 1 1 1 1

(15)

S6 S5 S4 S3 S2 S1 S0

U3 U2 U1 U0

Konversi Sinyal Pengontrol di ROM

Contoh Pembahasan,

Fungsi Yn = A + 1 ⇒ Informasi pada input A akan di increment,

=1 ( n - Bit ) Input A ( n - Bit ) Input B U X0n X1n X2n X3n

R O M

S4 S3 S2 S1 S0 S6 S5 U3 U2 U1 U0 L H L H H L L L H L L Yn = A + 1 Output ( n - Bit ) 1

Gambar

Gambar di bawah adalah rangkaian penjumlah 8 Bit yang dibangun dari 4 buah  gerbang TTL 7482 ( 2 Bit  FA ) atau 2 buah gerbang TTL 7483 ( 4 Bit FA )
Gambar rangkaian penjumlah - pengurang di atas digunakan untuk operasi  penjumlahan dan pengurangan bilangan A dan Bilangan B yang masing-masing terdiri  dari 4 Bit dan mempunyai 5 ( lima ) input pengontrol yaitu S 0 , S 1 , S 2 , S 3  dan S 4
Tabel  Fungsi  Penjumlah - Pengurang  Contoh

Referensi

Dokumen terkait