7 Tujuan
ARITHMATIC LOGIC UNIT ( alu ) half - full adder , ripple carry adder : Setelah mempelajari mempelajari half-full half-full adder, ripple carry carry adder diharapkan dapat, 1. Memahami aturan-aturan Penjumlahan bilangan biner 2. Memahami aturan-aturan Pengurang bilangan biner 3. Memahami prinsip prinsip kerja penjumlah setengah (Half Adder) 4. Mampu melakukan operasi penjumlah setengah (half Adder) 5. Memahami prinsip kerja penjumlah penuh (Full (Full Adder) 6. Mampu melakukan operasi penjumlah penuh (Full Adder) 7. Mampu membedakan membedakan prinsip dasar antara penjumlah setengah (Half Adder) dan Penjumlah penuh (Full Adder). 8. Memahami prinsip kerja Rangkaian Penjumlah dan dan Pengurang (Ripple Carry Adder) 9. Mampu melakukan operasi Penjumlah dan Pengurang (Ripple Carry Adder)
Prasyarat : Untuk mempelajari Pembelajaran 7 diperlukan diperlukan kegiatan dan kemampuan kemampuan seperti di bawah ini , 1. Telah mengerjakan mengerjakan latihan-latihan pada Pembelajaran Pembelajaran 6. 2. Semua latihan pada Pembelajaran Pembelajaran 6 dijawab 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 penjumlahan bilangan biner. Pada sebuah sebuah mikrocomputer dan juga komputer, komputer, hanya memproses bilangan biner. Di bawah ini adalah hasil penjumlahan dua buah bilangan biner yang masing-masing terdiri dari 1 ( satu ) bit.
Teknik Mikroprosessor
A +
B
Hasil
Carry
0
+
0
0
0
0
+
1
1
0
1
+
0
1
0
1
+
0
0
1
115
Arithmatic Logic Unit
Suatu rangkaian digital yang mampu melaksanakan operasi penjumlahan seperti pada tabel di balik disebut Half Adder ( HA ).
Carry U
A
HA
B
Hasil
Gambar Blok Half Adder
B
A
U
0
0
0
0
0
1
1
0
1
0
1
0
1
1
0
1
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)
Carry U
= A Λ B
= A v B
( Ex - OR ) ( AND )
Dari kedua persamaan di atas dapat dikembangkan rangkaian Half Adder seperti di bawah ini. U= A
B
A B
A
(A
B)
B A
(A
B)V (A
B)
B
Rangkaian Half Adder
Teknik Mikroprosessor
116
Arithmatic Logic Unit
Contoh Dilakukan penjumlahan antara dua bilangan
A
+
B
H
H
U= A
A B
H
B= H
H
H
H
(A
L
B) L
L (A
L
L
B)V (A
B)=L
H
Perhitungan
: +
1
⇒
A ( Variabel Input )
1
⇒
B ( Variabel Input )
⇒
U ( Carry )
⇒
∑ ( Hasil )
1 0
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.
Carry Out
A
FA
B
Hasil
Carry In
C
B
A
U
0 0 0 0
0 0 1 1
0 1 0 1
0 1 1 0
0 0 0 1
1 1 1 1
0 0 1 1
0 1 0 1
1 0 0 1
0 1 1 1
Untuk hasil penjumlahan berlaku persamaan , Teknik Mikroprosessor
117
Arithmatic Logic Unit
∑
= ( 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 V B
A B
A V B V C
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 . C
A
C
A
B
B
C
A
A
A
U=(A
B)V ( B
C)V (A
C)
B
B
B C
A V B A V B V C
C
Rangkaian Full Adder Contoh Dilakukan penjumlahan antara dua bilangan Teknik Mikroprosessor
118
A
+
B
dengan memper Arithmatic Logic Unit
hatikan Input Carry
C
H
H
H H
A
C
A
B
H H
H
H
A
H
L L
B L
B
H
L
U=(A
B)V ( B
C)V (A
C)
U=H
C
H L
A V B H
H
A V B V C = L
L
H C
Perhitungan
:
1
⇒
A ( Variabel Input )
+
0
⇒
B ( Variabel Input )
+
1
⇒
C ( Input Carry )
⇒
U ( Output Carry )
⇒
∑ ( Hasil )
1 0
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
1
1
1
C3
C2
C1
C0
1
1
1
0
1
1
0
0
Pada tempat 20 tidak
Variabel B ( 3 Bit )
Carry U ( C )
Hasil
terjadi Carry ( 0 ), sehingga pada tempat ini ( bit ini )
memerlukam rangkaian Half
Adder. Sedangkan pada tempat 21 dan 22
masing diperlukan Full Adder. Jika pada tempat 20 digunakan
masing-
FA, maka Carry
inputnya harus di berikan logik " L " . Teknik Mikroprosessor
119
Arithmatic Logic Unit
2
3
2
A2
2
B2
H C3
U2
H
1
B1
H C2
FA3
H
2
A1
U1
H
H
2
H
0
U0
H C0
FA1
H
1
H
B0
H C1
FA2
2
A0
L
0
L
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 ).
A7
A6
B7
A5
B6
A4
B5
A3
B4
U6
FA
FA
7
6
4
1
A2
A1
B2
B1 UB Un
FA
2 - Bit FA 7482
B1
B0 U0
FA
U4 5
A0
U2
FA
U6
A1
B2
U4
FA
U8
B3
A2
FA
FA
1
0
U2 3
2
2
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. Teknik Mikroprosessor
120
Arithmatic Logic Unit
Output Carry Un An Un
An-1
FA
A1
Cn
n
A0 Un-1
FA
n-1
Cn-1
U1
FA
1
C1
U0
FA
0
C0 Bn Bn-1 B1
INC
B0
Logik Diagram Ripple Carry Adder Carry Out Un
An An-1 A1 A0
n n-1
n - Bit FA
Bn Bn-1 B1 B0
1 0
INC
Blok Diagram Ripple Carry Adder
7. 3. Rangkaian Penjumlah - Pengurang Dengan mengembangkan rangkaian Ripple menambahkan
beberapa
gerbang
AND
Carry dan
Adder yaitu dengan jalan
EX-OR
didepannya
sehingga
memungkinkan rangkaian tersebut digunakan untuk operasi penjumlahan dan pengurangan, maka rangkaian tersebut disebut Rangkaian Penjumlah - Pengurang.
Teknik Mikroprosessor
121
Arithmatic Logic Unit
Un A3
=1 A2
=1 A1
=1 A0
=1
B3
=1 B2
=1 B1
=1 B0
=1 INC
S4 S3
S2 S1
S0
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 S 0, 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
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
Teknik Mikroprosessor
122
Fungsi Output
Arithmatic Logic Unit
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
Tabel Fungsi Penjumlah - Pengurang Contoh Fungsi Output A + B
Teknik Mikroprosessor
⇒
Input A
=
0000
Input B
=
+ 1111
Input INC
=
+
Output
=
123
0 1111
Arithmatic Logic Unit
Un L
L
A3
L
=1
H
A2 L
L
L
=1
H
A1 L
=1
H
L
L
L
=1
H
L
H
L
H H
B3 H
H
=1
H H
L
L
L
A0 L
L
B2
=1
H
H
L
H
=1
H
B0 H
H
L
H
B1 H
H
H
L
H
=1
H
H
L
INC
S4 S3 H
S2 S1
H
L
S0
L
L
Sesuai dengan tabel fungsi, input pengontrol untuk kombinasi
S4
S3
S2
S1
S0
H
H
L
L
L
fungsi output
Dengan keadaan sinyal pada
A + B adalah S4
S3
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
L
L
informasi yang ada
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.
Teknik Mikroprosessor
124
Arithmatic Logic Unit
Contoh Fungsi Output A - B ⇒ Input A
= 1 1 1 1 = 15
1111
Input B
= 0011 = 3
+ 1100
Input INC
=
+
Output
=
1 = 1
1
1 1 1 0 0 = 12
Un H
A3
H
H
=1
H H
A2
L
H
=1
H H
A1
=1
H H
H
L
H
=1
H
H
H
L
H L
B3 L
L
=1
H L
H
L
H
A0
H
B2
=1
H
H
H
H
=1
H
B0 H
L
H
L
B1 H
H
L
H
H
=1
H
L
H
INC
S4 S3 H
S2 S1
H
L
S0
H
H
Sesuai dengan tabel fungsi, input pengontrol untuk kombinasi
S4
S3
S2
S1
S0
H
H
L
H
H
fungsi output
A - B adalah
Dengan keadaan sinyal pada
S4
S3
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
Teknik Mikroprosessor
125
Arithmatic Logic Unit
pada gerbang EX-OR yang berasal dari input A akan dilalukan ke input Ripple Carry Adder, tanpa mengalami perubahan pada
(
A
V
0 = A
).
Dengan keadaan sinyal
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
Teknik Mikroprosessor
126
Arithmatic Logic Unit
=1
Input A X3n
( n - Bit )
1 X2n Output Yn
X1n
( n - Bit )
X0n Input B ( n - Bit ) U
S4 S3 S2 S1 S0
S6 S5
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 A1 B1 A2 B2 A3 B3 G 24
23
22
21
20
19
18
17
P 16
15
F3 14
13
ALU 74 181 74S 181 1
2
3
4
5
6
7
8
9
10
11
B0 A0 S3 S2 S1 S0 Cn M F0 F1 F2
Kaki - kaki IC ALU 74 181 Teknik Mikroprosessor
12
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
127
Arithmatic Logic Unit
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 ( S 6 - S 0 ) 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
AVB
1
0
1
1
1
1
x
x
x
x
x
AVB
1
1
0
0
0
0
0
0
0
1
0
-1
1
1
0
1
1
1
1
0
1
1
1
1
Teknik Mikroprosessor
untuk langkah berikutnya
128
Arithmatic Logic Unit
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
Input A X3n
( n - Bit )
1
X2n Output X1n
Yn = A + 1 ( n - Bit )
X0n
Input B ( n - Bit )
U
H
L
L L H
L
S4 S3 S2 S1 S0
L
S6 S5
ROM
U3 U2 L
Teknik Mikroprosessor
U1 U0
H
129
L
H
Arithmatic Logic Unit