ORGANISASI & ARSITEKTUR KOMPUTER
PERTEMUAN KE-7
A. Pengertian dan Struktur Arithmatic and Logic Unit (ALU)
Arithmatic and Logic Unit (ALU) adalah salah satu bagian atau komponen dalam system didalamsistem computer yang berfungsi melakukan operasi atau perhitungan aritmatika dan logika, seperti : penjumlahan,pengurangan dan beberapa logika lain.
B. Struktur Arithmatic and Logic Unit (ALU)
ALU merupakan suatu kesatuan alat yang terdiri dari berbagai komponen perangkat elektronika termasuk di dalamnya sekelompok transistor, yang dikenal dengan nama logic gate, dimana logic gate ini berfungsi untuk melaksanakan perintah dasar matematika dan operasi logika. Kumpulan susunan dari logic gate inilah yang dapat melakukan perintah perhitungan matematika yang lebih komplit seperti perintah “add” untuk menambahkan bilangan, atau “devide” atau pembagian dari suatu bilangan.
Operasi logika (logical operation) 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 Kerja ALU
Pada gambar diatas adalah cara kerja ALU yang pertama — tama yaitu ALU akan bekerja setelah mendapat perintah dari Control Unit yang terletak pada processor. Control Unit akan memberi perintah sesuai dengan komando yang tertulis(terdapat) pada register. Jika isi register memberi perintah untuk melakukan proses penjumlahan, maka PC akan menyuruh ALU untuk melakukan proses penjumlahan. Selain perintah, register pun berisikan operand-operand. Setelah proses ALU selesai, hasil yang terbentuk adalah sebuah register yang berisi hasil atau suatu perintah lainnya. Selain register, ALU pun mengeluarkan suatu flag yang berfungsi untuk memberi tahu kepada kita tentang kondisi suatu processor seperti apakah processor mengalami overflow atau tidak.
C. Cara kerja CPU
Pada gambar diatas adalah cara kerja CPU yang pertama — tama yaitu saat sebuah program akan dieksekusi, maka isi program tersebut yang berada di dalam harddisk diambil dan di masukkan ke RAM. Control Unit membedakan instruksi dan data, instruksi ditempatkan ke Program-Storage sedangkan data ditempatkan di Working-Storage. Selanjutnya instruksi dan data tersebut di ambil oleh Control Unit di simpan di Register. Bila instruksi merupakan perhitungan logika atau aritmatika, maka ia dibawa ke ALU untuk diproses. Hasilnya akan ditampung di Accumulator. Control Unit akan mengambilnya dan membawanya kembali ke RAM yang kemudian di tampilkan hasilnya ke alat output.
D. Fungsi Arithmatic and Logic Unit (ALU)
Tugas dari ALU adalah melakukan keputusan dari operasi logika sesuai dengan instruksi program. ALU melakukan operasi aritmatika yang lainnya seperti pengurangan, dan pembagian dilakukan dengan dasar penjumlahan. Sehingga sirkuit elektronik di ALU yang digunakan untuk melaksanakan operasi aritmatika ini disebut adder.
E. Rangkaian Utama Untuk Melakukan Perhitungan ALU
ADDER Adder merupakan rangkain ALU (Arithmetic and Logic Unit) yang digunakan untuk menjumlahkan bilangan. Karena adder digunakan untuk memproses operasi aritmatika, maka adder juga sering disebut rangkaian kombinasional aritmatika. Ada 3 jenis Adder, yaitu:
Ø Rangkaian adder yang hanya menjumlahkan dua bit disebut Half Adder.
Ø Rangkaian adder yang hanya menjumlahkan tiga bit disebut Full Adder.
Ø Rangkaian adder yang menjumlahkan banyak bit disebut Paralel Adder
HALF ADDER
Rangkain half adder merupakan dasar bilangan biner yang masing-masing hanya terdiri dari satu bit, oleh karena itu dinamakan penjumlah tak lengkap.
1. Jika A=0 dan B=0 dijumlahkan, hasilnya S (Sum) = 0.
2. Jika A=1 dan B=0 dijumlahkan, hasilnya S (Sum) = 1.
3. Jika A=1 dan B=1 dijumlahkan, hasilnya S (Sum) = 0. Dengan nilai pindahan Cy (Carry Out) = 1
Dengan demikian, half adder memiliki dua masukan (A dan B), dan dua keluaran (S dan Cy).
Dari tabel diatas, terlihat bahwa nilai logika dari Sum sama dengan nilai logika dari gerbang XOR, sedangkan nilai logika Cy sama dengan gerbang logika AND. Dari tabel diatas, dapat dibuat rangkaian half adder.FULL ADDER
Full adder adalah rangkaian yang bekerja melakukan perhitungan penjumlahan sepenuhnya dari dua buah bilangan binary, yang masing-masing terdiri dari satu bit. Rangkaian ini memiliki tiga input dan dua buah output, salah satu input merupakan nilai dari pindahan penjumlahan, kemudian sama seperti pada half adder salah satu outputnya dipakai sebagai tempat nilai pindahan dan yang lain sebagai hasil dari penjumlahan.
PARALEL ADDER
Paralel Adder adalah rangkaian Full Adder yang disusun secara paralel dan berfungsi untuk menjumlahkan bilangan biner berapa pun bitnya, tergantung jumlah Full Adder yang diparalelkan. Gambar dibawah ini menunjukan Paralel Adder yang terdiri dari 4 buah Full Adder yang disusun paralel sehingga membentuk sebuah penjumlahan 4 bit.
F. Representasi Integer, Representasi Nilai Tanda, Representasi Komplemen Satu,Representasi Komplemen Dua
REPRESENTASI INTEGER
Dalam sistem bilangan biner, semua bilangan dapat direpresentasikan dengan hanya menggunakan digit-digit nol dan satu, tanda minus, dan tanda titik.
Misalnya : -1101.01012 = -11.312510
Namun untuk keperluan penyimpanan dan pengolahan komputer, kita tidak perlu menggunakan tanda minus dan titik.
Hanya bilangan biner (0 dan 1) yang dapat merepresentasikan bilangan.
Bila kita hanya memakai integer non-negatif, maka representasinya akan lebIh mudah.
Sebuah word 8-bit dapat digunakan untuk merepresentasikan bilangan 0 hingga 255. Misalnya :
00000000 = 0
00000001 = 1
00001111 = 15
00111111 = 63
11111111 = 255
Umumnya bila sebuah rangkaian n-bit bilangan biner an–1an-2…a1a0 akan diinterpretasikan sebagai unsigned integer A.
REPRESENTASI NILAI TANDA
Penggunaan unsigned integer tidak cukup untuk merepresentasikan bilangan integer negatif dan juga bilangan positif integer. Karena itu terdapat beberapa konvesi lainnya yang dapat kita gunakan. Konvesi-konvesi lainnya meliputi perlakuan terhadap bit yang paling berarti (paling kiri) di dalam word bit tanda.
Apabila bit paling kiri sama dengan 0 suatu bilangan adalah positif , sedangkan bila bit yang paling kiri sama dengan 1 bilangan bernilai negatif. Bentuk yang paling sederhana representasi yang memakai bit tanda representasi nilai tanda. Pada sebuah word n bit, n — 1 bit yang paling kanan menampung nilai integer. Misalnya:
+ 18 = 00010010
– 18 = 10010010 (sign-magnitude/nilai-tanda)
Terdapat beberapa kekurangan pada representasi nilai-tanda penambahan dan pengurangan memerlukan pertimbangan baik tanda bilangan ataupun nilai relatifnya agar dapat berjalan pada operasi yang diperlukan.
Kekurangannya lainnya terdapat dua representasi bilangan 0:
+ 010 = 00001010
– 010 = 10001010 (sign-magnitude)
REPRESENTASI KOMPLEMEN SATU
Komplemen satu merupakan suatu sistem penomoran yang diterapkan dalam beberapa jenis komputer untuk merepresentasikan nilai-nilai negatif.
Contoh :
- 000…00001 = +1
- 000…00000 = +0
- 111…11111 = -0
- 111…11110 = -1
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.
REPRESENTASI 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…00001 = +1
- 000…00000 = 0
- 111…11111 = -1
- 111…11110 = -2
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.
KONVERSI ANTARA PANJANG BIT YANG BERLAINAN
Kadang-kadang kita perlu mengambil sebuah integer n bit dan menyimpannya di dalam m bit, dengan m > n.
Pada notasi sign-magnitude mudah dilaksanakan: cukup memindahkan bit tanda ke posisi terkiri yang baru dan mengisinya dengan nol. Misalnya:
+18 = 00010010 (sign-magnitude, 8 bit)
+18 = 0000000000010010 (sign-magtitude, 16 bit)
-18 = 10010010 (sign-magnitude, 8 bit)
-18 = 1000000000010010 (sign-magtitude, 16 bit)
Prosedur di atas tidak berlaku bagi integer negatif komplemen dua. Dengan memakai contoh yang sama:
+18 = 00010010 (komplemen dua, 8 bit)
+18 = 0000000000010010 (komplemen dua, 16 bit)
-18 = 10010010 (komplemen dua, 8 bit)
-18 = 1000000000010010 (komplemen dua, 16 bit)
Aturan integer komplemen dua adalah untuk memindahkan bit tanda ke posisi terkiri yang baru dan mengisinya dengan salinan-salinan bit tanda.
Bilangan positif diisi dengan 0 dan bilangan negatif isi dengan 1
-18 = 10010010 (komplemen dua, 8 bit)
-18 = 1111111100010010 (komplemen dua, 16 bit)
G. Integer Aritmatika
NEGASI
Untuk membuat negasi gunakan komplement dua, yaitu
· Untuk bilangan positif, komplemen dua adalah sama dengan sistem yang menunjukkan tanda dan besarnya bilangan, yaitu MSB yang digunakan sebagai penunjuk atau tanda bilangan, dan bit-bit sisanya menunjukkan besarnya.
· Untuk bilangan negatif, komplemen dua dapat diperoleh dengan menghitung terlebih dahulu komplemen satu dari bilangan biner semula (yang bertanda positif), kemudian menambahkan 1 ke LSB-nya.
ATURAN UNTUK MENDETEKSI OVERFLOW
Aturan overflow
Bila dua buah bilangan di tambahkan, dan keduanya positif atau keduanya negatif maka over flow akan terjadi jika dan hanya jika hasilnya memiliki tanda yang berlawanan.
PEMBULATAN
Teknik pembulatan yang sesuai dengan standard IEEE adalah sebagai berikut :
· Pembulatan ke Bilangan Terdekat : Hasil dibulatkan ke bilangan terdekat yang dapat direpresentasi.
· Pembulatan Ke Arah : Hasil dibulatkan ke atas ke arah tak terhingga positif.
· Pembulatan Ke Arah : Hasil dibulatkan ke atas ke arah tak terhingga negatif.
- Pembulatan Ke Arah 0 : Hasil dibulatkan ke arah 0
H. Konversi Bilangan
BILANGAN
- Bilangan biner (Bilangan berbasis dua, bilangannya: 0,1)
- Bilangan octal (Bilangan berbasis delapan bilangannya: 0,1,2,3,4,5,6,7)
· Bilangan desimal (Bilangan berbasis sepuluh, bilangannya: 0,1,2,3,4,5,6,7,8,9)
· Bilangan hexadesimal (Bilangan berbasis enam belas, bilangannya: 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F)
KONVERSI BILANGAN BINER,OCTAL ATAU HEXADESIMAL MENJADI BILANGAN DESIMAL
I. Floating-Point Representaion
Representasi Integer oleh Biner
Dalam sistem bilangan biner ada 4 macam sistem untuk merepresentasikan integer
- representasi unsigned integer
- representasi nilai tanda (sign magnitude)
- representasi bias
- representasi komplemen dua (2’s complement)
J. Unsigned Integer
Untuk keperluan penyimpanan dan pengolahan komputer diperlukan bilangan biner yang terdiri atas 0 dan 1
1 byte (8 bit binary digit) dapat digunakan untuk menyatakan bilangan desimal dari 0–255
Kelemahan Unsigned Integer
- Hanya dapat menyatakan bilangan positif
- Sistem ini tidak bisa digunakan untuk menyatakan bilangan integer negatif
1. Representasi Nilai Tanda (sign magnitude)
Karena kelemahan unsigned integer, Dikembangkan beberapa
konvensi untuk menyatakan bilangan integer negatif
2. Konvensi
Perlakuan bit yang paling kiri (MSB) di dalam byte sebagai tanda
Bila MSB = 0 maka bilangan tersebut positif
Jika MSB = 1 maka bilangan tersebut negatif
3. Kelemahan sign magnitude
Adanya representasi ganda pada bilangan 0
4. Representasi BIAS
Digunakan untuk menyatakan exponen (bilangan pemangkat) pada representasi floating point.
Dapat menyatakan bilangan bertanda, yaitu dengan mengurutkan
dari bilangan negatif terkecil dapat dijangkau sampai bilangan
positif paling besar yang bisa dijangkau.
Mengatasi permasalahan pada sign magnitude yaitu +0 dan -0.
5. Representasi Komplemen 2
Merupakan perbaikan dari representasi nilai bertanda (sign magnitude) yang mempunyai kekurangan pada operasi penjumlahan dan pengurangan serta representasi nilai 0.
Bilangan Negatif Pada 2’s Complement
1. Sistem bilangan dalam 2’s complement menggunakan bit paling kiri (MSB) sebagai bit tanda dan sisanya sebagai bit nilai seperti pada sign magnitude
2. Bilangan negatif dalam 2’s complement dibentuk dari:
· komplemen satu dari bilangan biner semula (nilai positif)
· menambahkan 1 pada LSB
K. Floating-Point Aritmatika
1) Aritmatika floating point penjumlahan/pengurangan
Langkah langkah yang dilakukan untuk menambah/mengurangkan dua bilangan floating point :
a. Bandingkan kedua bilangan, dan ubah ke bentuk yang sesuai pada bilangan dengan nilai exponensial lebih kecil
b. Lakukan operasi penjumlahan / pengurangan
c. Lakukan normalisasi dengan ’menggeser’ nilai mantissa dan mengatur nilai exponensialnya
2) Perkalian
Algoritma umum untuk perkalian dari bilangan floating point terdiri dari tiga langkah:
a. Hitung hasil exponensial dengan menjumlahkan nilai exponent dari kedua bilangan
b. Kalikan kedua bilangan mantissa
c. Normalisasi hasil akhir
3) Pembagi
logaritma umum untuk pembagian dari bilangan floating point terdiri dari tiga langkah :
a. Hitung hasil exponensial dengan mengurangkan nilai exponent dari kedua bilangan
b. Bagi kedua bilangan mantissa
c. Normalisasi hasil akhir
NAMA : M. ANANG MA'RUF
KELAS: T. INFORMATIKA (B)
NIM : 23420003
Tidak ada komentar:
Posting Komentar