ORGANISASI DAN RSITEKTUR KOMPUTER
ALU, singkatan dari Arithmetic And Logic Unit (bahasa Indonesia: unit aritmatika dan logika), adalah salah satu bagian dalam dari sebuah mikroprosesor yang berfungsi untuk melakukan operasi hitungan aritmatika dan logika berdasar instruksi yang ditentukan. ALU inilah yang berkir untuk menalankan perintah yang diberikan kepada prosesor tersebut.
!erhitungan dalam ALU menggunakan kode biner, yang merepresentasikan instruksi yang akan dieksekusi (opcode) dan data yang diolah (operand). ALU biasanya menggunakan sistem bilangan biner t"o#s complement. ALU mendapat data dari register. $emudian data tersebut diproses dan hasilnya akan disimpan dalam register tersendiri yaitu ALU output register, sebelum disimpan dalam memori.
ALU memiliki berbagai komponen elektronika didalamnya, yaitu berupa sekumpulan transistor yang dikenal dengan nama logic gate. Logic gate inilah yang berfungsi untuk melaksanakan operasi aritmatika dan operasi logika. $umpulan susunan dari logic gate dapat melakukan perintah perhitungan matematika yang lebih komplit seperti perintah add untuk menambahkan bilangan atau de%ide atau pembagian dari suatu bilangan. ALU sering di sebut mesin bahasa karena bagian ini ALU terdiri dari dua bagian, yaitu unit arithmatika dan unit logika boolean yang masing&masing memiliki spesikasi tugas tersendiri.
'ugas utama dari ALU (Arithmetic And Logic Unit) adalah melakukan semua perhitungan aritmatika atau matematika yang teradi sesuai dengan instruksi program. ALU melakukan operasi aritmatika yang lainnya. eperti pengurangan, perkalian, dan pembagian dilakukan dengan dasar penumlahan. ehingga sirkuit elektronik di ALU yang digunakan untuk melaksanakan operasi aritmatika ini disebut adder. 'ugas lain dari ALU adalah melakukan keputusan dari operasi logika sesuai dengan instruksi program.
perasi logika (logical operation) meliputi perbandingan dua buah elemen logika dengan menggunakan operator logika, yaitu: a. ama dengan (*) b. 'idak sama dengan (+) c. $urang dari (+) d. $urang atau sama dengan (+*) e. Lebih besar dari () f. Lebih besar atau sama dengan (*)
emua bilangan dapat direprensentasikan dengan hanya menggunakan bilangan - dan Untuk keperluan penyimpanan dan pengolahan komputer, kita tidak perlu menggunakan tanda minus dan titik, hanya bilangan biner yang dapat merepresentasikan bilangan.
Sistem bilangan merupakan tata aturan atau susunan dalam menentukan nilai suatu bilangan, antara lain sistem desimal, biner, hexadesimal, oktal, BCD, Grey Code, Exess-3 dan lainlainnya yang dibagi berdasarkan basis yang digunakan dalam penentuan nilai dari bilangan tersebut.
&/esimal 0erupakan suatu sistem bilangan yang berbasis - (tiap bilangan dalam sistem tersebut dikalikan dengan -1), terdiri dari angka : -, , 2, 3, 4, 5, 6, 7, 8, 9. &iner 0erupakan suatu system bilangan yang berbasiskan 2 (tiap bilangan dalam sistem tersebut dikalikan dengan 21), terdiri dari angka - dan . &;eksadesimal 0erupakan suatu sistem bilangan yang berbasiskan 6 (tiap bilangan dalam sistem tersebut dikalikan dengan 61), terdiri dari - angka yaitu -, , 2, 3, 4, 5, 6, 7, 8, 9 dan 6 huruh yaitu A, , <, /, =, >.
&ktal 0erupakan suatu sistem bilangan yang berbasiskan 8 (tiap bilangan dalam sistem tersebut dikalikan dengan 81), terdiri dari delapan angka yaitu -, , 2, 3, 4, 5, 6, 7. & (inary&
!enggunaan unsigned integer tidak cukup untuk merepresentasikan bilangan integer negatif dan uga bilangan positif integer, karena itu terdapat beberapa kon%ensi lainnya meliputi perlakuan terhadap bit yang paling berarti (paling kiri) di dalam "ord sebagai bit tanda. Apabila bit paling kiri sama dengan nol maka suatu bilangan adalah positif. edangkan bit paling kiri sama dengan , maka bilangan bernilai negati%e.
@epresentasi Integer !ositif, egatif /an ilangan ila sebuah bilangan integer positif dan negatif yang sama direpresentasikan (sign&magnitude), maka harus ada representasi bilangan positif dan negatif yang tidak sama. ila hanya terdapat sebuah representasi bilangan - (komplemen dua), maka harus ada representasi bilangan positif dan negatif yang tidak sama.
0enyatakan suatu bilangan yang sangat besarBsangat kecil dengan menggeser titik desimal secara dinamis ke tempat yang sesuai dan menggunakan eksponen - untuk menaga titik desimal itu. ehingga range bilangan yang sangat besar dan sangat kecil untuk direpresentasikan hanya dengan beberapa digit saa.
entuk ilangan >loating !oint ilangan >loating !oint memiliki bentuk umum : C mDbe , dimana m (di sebut uga dengan mantissa), me"akili bilangan pecahan dan umumnya dikon%ersi ke bilangan binernya, e me"akili bilangan e1ponentnya, sedangkan b me"akili radi1 (basis) dari e1ponent.
;al yang sulit dari penumlahan dua bilangan e1ponent adalah ika bilanganbilangan tersebut memiliki bentuk e1ponensial yang berbeda. Untuk memecahkannya, maka sebelum di tambahkan bilangan e1ponensialnya harus disetarakan terlebih dahulu, atau bilangan dengan nilai e1ponent lebih kecil disamakan dulu ke bilangan e1ponent yang sama dengan bilangan lain.
Langkah langkah yang dilakukan untuk menambahBmengurangkan dua bilangan Eoating point : . andingkan kedua bilangan, dan ubah ke bentuk yang sesuai pada bilangan dengan nilai e1ponensial lebih kecil 2. Lakukan operasi penumlahan B pengurangan 3. Lakukan normalisasi dengan #menggeser# nilai mantissa dan mengatur nilai e1ponensialnya.
!erkalian Algoritma umum untuk perkalian dari bilangan Eoating point terdiri dari tiga langkah: . ;itung hasil e1ponensial dengan menumlahkan nilai e1ponent dari kedua bilangan 2. $alikan kedua bilangan mantissa 3. ormalisasi hasil akhir !embagian
!embagian Algoritma umum untuk pembagian dari bilangan Eoating point terdiri dari tiga langkah : . ;itung hasil e1ponensial dengan mengurangkan nilai e1ponent dari kedua bilangan 2. agi kedua bilangan mantissa 3. ormalisasi hasil akhir
I=== membuat dua bentuk bilangan Eoating point standard. entuk basic dan bentuk e1tended. !ada tiap bentuk tersebut, I=== menentukan dua format, yaitu singleprecision dan double precision format. ingle precision format adalah model 32 bit sedangkan double precision format adalah 64 bit . !ada single e1tended format setidaknya menggunakan 44 bit , sedangkan pada double e1tended format setidaknya menggunakan 8- bit .