Arithmatic and Logic Unit (ALU), adalah salah satu bagian/komponen dalam sistem di dalam sistem komputer berfungsi melakukan operasi/perhitungan aritmatika dan logika (seperti penjumlahan, pengurangan dan beberapa logika lain), AlU bekerja besama-sama memori. Dimana hasil dari perhitungan di dalam ALU di simpan ke dalam memori.
Perhitungan dalam ALU menggunakan kode biner, yang merepresentasikan instruksi yang akan dieksekusi (opcode) dan data yang diolah (operand). ALU biasanya menggunakan sistem bilangan biner two’s complement.
ALU mendapat data dari register. Kemudian data tersebut diproses dan hasilnya akan disimpan dalam register tersendiri yaitu ALU output register, sebelum disimpan dalam memori.
Pada saat sekarang ini sebuah chip/IC dapat mempunyai beberapa ALU sekaligus yang memungkinkan untuk melakukan kalkulasi secara paralel. Salah satu chip ALU yang sederhana (terdiri dari 1 buah ALU) adalah IC 74LS382/HC382ALU (TTL). IC ini terdiri dari 20 kaki dan beroperasi dengan 4x2 pin data input (pinA dan pinB) dengan 4 pin keluaran (pinF). Operasi logika meliputi perbandingan dua buah elemen logika dengan menggunakan operator logika, yaitu :
• Sama dengan (=)
• Tidak sama dengan ( <> )
• Kurang dari ( < )
• Kurang atau sama dengan dari ( <= )
• Lebih besar dari ( > )
• Lebih besar atau sama dengan dari ( >= )
Cara Pendesinan pada ALU hampir sama dengan mendesain enkoder, multiplexer, dan di Multiplexer. Rangkaian utama yang digunakan untuk melakukan perhitungan ALU adalah Adder.
Rangkaian pada ALU (Arithmetic and Logic Unit) yang digunakan untuk menjumlahkan bilangan dinamakan dengan Adder. Adder digunakan untuk memproses operasi aritmetika, Adder juga disebut rangkaian kombinasional aritmatika.
Ada 3 jenis adder:
1.Rangkaian Adder dengan menjumlahkan dua bit disebut Half Adder.
2.Rangkaian Adder dengan menjumlahkan tiga bit disebut Full Adder.
3.Rangkain Adder dengan menjumlahkan banyak bit disebut Paralel Adder
A. Half Adder
Rangkaian Half Adder merupakan dasar penjumlahan bilangan Biner yang terdiri dari satu bit, oleh karena itu dinamai Penjumlah Tak Lengkap.
1. jika A = 0 dan B = 0 dijumlahkan, hasilnya S ( Sum ) = 0.
2. jika A = 0 dan B = 1 dijumlahkan, hasilnya S ( Sum ) = 1.
3. jika A = 1 dan B = 1 dijumlahkan, hasilnya S ( Sum ) = 0
jika A = 1 dan B =1 dijumlahkan, hasilnya S ( Sum ) = 0. dengan nilai pindahan cy(Carry Out) = 1
Dengan demikian, half adder memiliki 2 masukan ( A dan B ) dan dua keluaran ( S dan Cy ).
Tabel Kebenaran Half adder :
A B S C
0 0 0 0
0 1 1 0
1 0 1 0
1 1 0 1
B. FULL ADDER
Sebuah Full Adder menjumlahkan dua bilangan yang telah dikonversikan menjadi bilangan-bilangan biner. Masing-masing bit pada posisi yang sama saling dijumlahkan. Full Adder sebagai penjumlah pada bit-bit selain yang terendah. Full Adder menjumlahkan dua bit input ditambah dengan nilai Carry-Out dari penjumlahan bit sebelumnya. Output dari Full Adder adalah hasil penjumlahan (Sum) dan bit kelebihannya (carry-out).
C. PARALEL ADDER
Rangkaian Parallel Adder adalah rangkaian penjumlah dari dua bilangan yang telah dikonversikan ke dalam bentuk biner. Anggap ada dua buah register A dan B, masing-masing register terdiri dari 4 bit biner : A3A2A1A0 dan B3B2B1B0.
Rangkaian Parallel Adder terdiri dari Sebuah Half Adder (HA) pada Least Significant Bit (LSB) dari masing-masing input dan beberapa Full Adder pada bit-bit berikutnya. Prinsip kerja dari Parallel Adder adalah sebagai berikut : penjumlahan dilakukan mulai dari LSB-nya. Jika hasil penjumlahan adalah bilangan desimal “2” atau lebih, maka bit kelebihannya disimpan pada Cout, sedangkan bit di bawahnya akan dikeluarkan pada Σ. Begitu seterusnya menuju ke Most Significant Bit (MSB)nya.
Bilangan Ineger
Bilangan integer (bulat) tidak dikenal oleh komputer dengan basis 10. Agar komputer mengenal bilangan integer, maka para ahli komputer mengkonversi basis 10 menjadi basis 2. Seperti kita ketahui, bahwa bilangan berbasis 2 hanya terdiri atas 1 dan 0. Angka 1 dan 0 melambangkan bahwa 1 menyatakan adanya arus listrik dan 0 tidak ada arus listrik. Namun, untuk bilangan negatif, komputer tidak mengenal simbol (-). Komputer hanya mengenal simbol 1 dan 0.
Untuk mengenali bilangan negatif, maka digunakan suatu metode yang disebut dengan Sign Magnitude Representation. Metode ini menggunakan simbol 1 pada bagian paling kiri (most significant) bit. Jika terdapat angka 18 = (00010010)b, maka -18 adalah (10010010)b. Akan tetapi, penggunaan sign-magnitude memiliki 2 kelemahan. Yang pertama adalah terdaptnya -0 pada sign magnitude[0=(00000000)b; -0=(10000000)b]. Seperti kita ketahui, angka 0 tidak memiliki nilai negatif sehingga secara logika, sign-magnitude tidak dapat melakukan perhitungan aritmatika secara matematis. Yang kedua adalah, tidak adanya alat atau software satupun yang dapat mendeteksi suatu bit bernilai satu atau nol karena sangat sulit untuk membuat alat seperti itu. Oleh karena itu, penggunaan sign magnitude pada bilangan negatif tidak digunakan, akan tetapi diganti dengan metode 2′s complement.
Metode 2′s complement adalah metode yang digunakan untuk merepresentasikan bilangan negatif pada komputer. Cara yang digunakan adalah dengan nilai terbesar dari biner dikurangin dengan nilai yang ingin dicari negatifnya. Contohnya ketika ingin mencari nilai -18, maka lakukan cara berikut:
1. Ubah angka 18 menjadi biner (00010010)b
2. Karena biner tersebut terdiri dari 8 bit, maka nilai maksimumnya adalah 11111111
3. Kurangkan nilai maksimum dengan biner 18 -> 11111111 – 00010010 = 11101101
4. Kemudian, dengan sentuhan terakhir, kita tambahkan satu -> 11101101 + 00000001 = 11101110
Dengan metode 2′s complement, kedua masalah pada sign magnitude dapat diselesaikan dan komputer dapat menjalankan. Namun, pada 2′s complement, nilai -128 pada biner 8 bit tidak ditemukan karena akan terjadi irelevansi. Maka untuk rentang 8 bit adalah -2^7 sampai dengan 2^7-1. Penjumlahan dan pengurangan pada bilangan biner sama dengan penjumlahan biasa.
Floating Point
Floating Point atau bilangan berkoma dalam ALU diubah dalam bentuk biner. Penempatan floating point (pada kasus 32 bit adalah lebar alamat) pada memori tersusun atas 1 bit sign of significant (bernilai 0 jika bilangan tersebut positif dan 1 untuk bilangan negatif), 8 bit biased exponent (menunjukkan bilangan exponennya yang ditambah dengan 11111111), dan 23 bit significant. Langkah-langkah pembuatan floating point pada komputer adalah:
1. Ubah menjadi bilangan biner
2. Ubah (misal) 101.001, maka ubah menjadi 1.01001 x 2^3
3. Ubah pangkat tersebut dalam biner sehingga 1.01001 x 2^11
4. Karena bilangan tersebut adalah positif, maka bit sign magnitude berniai 0 [contoh]
5. Untuk biased exponent, nilai 11 ditambah dengan 11111111 sehingga menjadi 00000010 [bit terdepan dibuang karena hanya 8 bit yang diterima]
6. Bit siginificand diis dengan 01001000000000000000000
maka untuk 101.001, pada memori ditulis: 1 00000010 01001000000000000000000. Untuk penjumlahan dan pengurangan, dilakukan lebih rumit dari uraian di atas.
Perhitungan dalam ALU menggunakan kode biner, yang merepresentasikan instruksi yang akan dieksekusi (opcode) dan data yang diolah (operand). ALU biasanya menggunakan sistem bilangan biner two’s complement.
ALU mendapat data dari register. Kemudian data tersebut diproses dan hasilnya akan disimpan dalam register tersendiri yaitu ALU output register, sebelum disimpan dalam memori.
Pada saat sekarang ini sebuah chip/IC dapat mempunyai beberapa ALU sekaligus yang memungkinkan untuk melakukan kalkulasi secara paralel. Salah satu chip ALU yang sederhana (terdiri dari 1 buah ALU) adalah IC 74LS382/HC382ALU (TTL). IC ini terdiri dari 20 kaki dan beroperasi dengan 4x2 pin data input (pinA dan pinB) dengan 4 pin keluaran (pinF). Operasi logika meliputi perbandingan dua buah elemen logika dengan menggunakan operator logika, yaitu :
• Sama dengan (=)
• Tidak sama dengan ( <> )
• Kurang dari ( < )
• Kurang atau sama dengan dari ( <= )
• Lebih besar dari ( > )
• Lebih besar atau sama dengan dari ( >= )
Cara Pendesinan pada ALU hampir sama dengan mendesain enkoder, multiplexer, dan di Multiplexer. Rangkaian utama yang digunakan untuk melakukan perhitungan ALU adalah Adder.
Rangkaian pada ALU (Arithmetic and Logic Unit) yang digunakan untuk menjumlahkan bilangan dinamakan dengan Adder. Adder digunakan untuk memproses operasi aritmetika, Adder juga disebut rangkaian kombinasional aritmatika.
Ada 3 jenis adder:
1.Rangkaian Adder dengan menjumlahkan dua bit disebut Half Adder.
2.Rangkaian Adder dengan menjumlahkan tiga bit disebut Full Adder.
3.Rangkain Adder dengan menjumlahkan banyak bit disebut Paralel Adder
A. Half Adder
Rangkaian Half Adder merupakan dasar penjumlahan bilangan Biner yang terdiri dari satu bit, oleh karena itu dinamai Penjumlah Tak Lengkap.
1. jika A = 0 dan B = 0 dijumlahkan, hasilnya S ( Sum ) = 0.
2. jika A = 0 dan B = 1 dijumlahkan, hasilnya S ( Sum ) = 1.
3. jika A = 1 dan B = 1 dijumlahkan, hasilnya S ( Sum ) = 0
jika A = 1 dan B =1 dijumlahkan, hasilnya S ( Sum ) = 0. dengan nilai pindahan cy(Carry Out) = 1
Dengan demikian, half adder memiliki 2 masukan ( A dan B ) dan dua keluaran ( S dan Cy ).
Tabel Kebenaran Half adder :
A B S C
0 0 0 0
0 1 1 0
1 0 1 0
1 1 0 1
B. FULL ADDER
Sebuah Full Adder menjumlahkan dua bilangan yang telah dikonversikan menjadi bilangan-bilangan biner. Masing-masing bit pada posisi yang sama saling dijumlahkan. Full Adder sebagai penjumlah pada bit-bit selain yang terendah. Full Adder menjumlahkan dua bit input ditambah dengan nilai Carry-Out dari penjumlahan bit sebelumnya. Output dari Full Adder adalah hasil penjumlahan (Sum) dan bit kelebihannya (carry-out).
C. PARALEL ADDER
Rangkaian Parallel Adder adalah rangkaian penjumlah dari dua bilangan yang telah dikonversikan ke dalam bentuk biner. Anggap ada dua buah register A dan B, masing-masing register terdiri dari 4 bit biner : A3A2A1A0 dan B3B2B1B0.
Rangkaian Parallel Adder terdiri dari Sebuah Half Adder (HA) pada Least Significant Bit (LSB) dari masing-masing input dan beberapa Full Adder pada bit-bit berikutnya. Prinsip kerja dari Parallel Adder adalah sebagai berikut : penjumlahan dilakukan mulai dari LSB-nya. Jika hasil penjumlahan adalah bilangan desimal “2” atau lebih, maka bit kelebihannya disimpan pada Cout, sedangkan bit di bawahnya akan dikeluarkan pada Σ. Begitu seterusnya menuju ke Most Significant Bit (MSB)nya.
Bilangan Ineger
Bilangan integer (bulat) tidak dikenal oleh komputer dengan basis 10. Agar komputer mengenal bilangan integer, maka para ahli komputer mengkonversi basis 10 menjadi basis 2. Seperti kita ketahui, bahwa bilangan berbasis 2 hanya terdiri atas 1 dan 0. Angka 1 dan 0 melambangkan bahwa 1 menyatakan adanya arus listrik dan 0 tidak ada arus listrik. Namun, untuk bilangan negatif, komputer tidak mengenal simbol (-). Komputer hanya mengenal simbol 1 dan 0.
Untuk mengenali bilangan negatif, maka digunakan suatu metode yang disebut dengan Sign Magnitude Representation. Metode ini menggunakan simbol 1 pada bagian paling kiri (most significant) bit. Jika terdapat angka 18 = (00010010)b, maka -18 adalah (10010010)b. Akan tetapi, penggunaan sign-magnitude memiliki 2 kelemahan. Yang pertama adalah terdaptnya -0 pada sign magnitude[0=(00000000)b; -0=(10000000)b]. Seperti kita ketahui, angka 0 tidak memiliki nilai negatif sehingga secara logika, sign-magnitude tidak dapat melakukan perhitungan aritmatika secara matematis. Yang kedua adalah, tidak adanya alat atau software satupun yang dapat mendeteksi suatu bit bernilai satu atau nol karena sangat sulit untuk membuat alat seperti itu. Oleh karena itu, penggunaan sign magnitude pada bilangan negatif tidak digunakan, akan tetapi diganti dengan metode 2′s complement.
Metode 2′s complement adalah metode yang digunakan untuk merepresentasikan bilangan negatif pada komputer. Cara yang digunakan adalah dengan nilai terbesar dari biner dikurangin dengan nilai yang ingin dicari negatifnya. Contohnya ketika ingin mencari nilai -18, maka lakukan cara berikut:
1. Ubah angka 18 menjadi biner (00010010)b
2. Karena biner tersebut terdiri dari 8 bit, maka nilai maksimumnya adalah 11111111
3. Kurangkan nilai maksimum dengan biner 18 -> 11111111 – 00010010 = 11101101
4. Kemudian, dengan sentuhan terakhir, kita tambahkan satu -> 11101101 + 00000001 = 11101110
Dengan metode 2′s complement, kedua masalah pada sign magnitude dapat diselesaikan dan komputer dapat menjalankan. Namun, pada 2′s complement, nilai -128 pada biner 8 bit tidak ditemukan karena akan terjadi irelevansi. Maka untuk rentang 8 bit adalah -2^7 sampai dengan 2^7-1. Penjumlahan dan pengurangan pada bilangan biner sama dengan penjumlahan biasa.
Floating Point
Floating Point atau bilangan berkoma dalam ALU diubah dalam bentuk biner. Penempatan floating point (pada kasus 32 bit adalah lebar alamat) pada memori tersusun atas 1 bit sign of significant (bernilai 0 jika bilangan tersebut positif dan 1 untuk bilangan negatif), 8 bit biased exponent (menunjukkan bilangan exponennya yang ditambah dengan 11111111), dan 23 bit significant. Langkah-langkah pembuatan floating point pada komputer adalah:
1. Ubah menjadi bilangan biner
2. Ubah (misal) 101.001, maka ubah menjadi 1.01001 x 2^3
3. Ubah pangkat tersebut dalam biner sehingga 1.01001 x 2^11
4. Karena bilangan tersebut adalah positif, maka bit sign magnitude berniai 0 [contoh]
5. Untuk biased exponent, nilai 11 ditambah dengan 11111111 sehingga menjadi 00000010 [bit terdepan dibuang karena hanya 8 bit yang diterima]
6. Bit siginificand diis dengan 01001000000000000000000
maka untuk 101.001, pada memori ditulis: 1 00000010 01001000000000000000000. Untuk penjumlahan dan pengurangan, dilakukan lebih rumit dari uraian di atas.
21.28 |
Category:
Komputer
|
1 komentar
Comments (1)
ternyata gitu ya full adder
visit balik ya
merangkaitulisan.blogspot.com