COMPUTER ARITHMATIC
PENGERTIAN ALU (Arithmetic Logical
Unit)
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. Processor
terdiri dari 4 elemen yang melakukan
sistem operasi terhadap data, 4 elemen itu adalah instruksi, petunjuk
instruksi, beberapa register dan ALU (Arithmetic Logic Unit). Adalah sebuah
petunjuk instruksi akan memberi tahu processor dimana instruksi dari sebuah
aplikasi diletakkan di memori.
Gambar fungsi ALU dalam Stuktur Dasar
Sistem Komputer
Penjelasan Cara processor melakukan
tugas :
Penunjuk instruksi mengarahkan fetch
instruksi ke sebuah spot di memori yang menampung sebuah instruksi. Fetch
kemudian membaca instruksi tersebut dan memberikannya ke dekoder instruksi,
kemudian mengamati instruksi tersebut dan menentukan langkah selanjutnya untuk
melengkapi instruksi tersebut. Kemudian ALU mengerjakan perintah yang diminta
instruksi seperti : menambah data, membagi data, atau memanipulasi data yang
ada. Setelah itu processor akan menerjemahkan dan mengerjakan instruksi, unit
kontrol memberitahukan fetch instruksi untuk menangkap instruksi berikutnya di
memori. Proses akan ini berlangsung terus menerus, dari satu instruksi ke
instruksi berikutnya, dalam suatu langkah yang rumit, untuk menciptakan hasil
yang diingikan dan dapat dilihat di monitor. Untuk meyakinkan semua itu
berjalan dalam satu kesatuan waktu, bagian itu memerlukan suatu clock
generator. Clock generator meregulasi setiap langkah yang dikerjakan processor.
Seperti sebuah metronome, sebuah clock generator mengirim pulsa-pulsa elektrik
untuk menentukan langkah yang harus dikerjakan processor. Pulsa tersebut diukur
dalam jutaan langkah per detik, atau megahertz, yang dikenal sebagai ukuran
kecepatan processor. Semakin banyak pulsa dibuat, semakin cepat kerja
processor.
Untuk meningkatkan kinerja komputer,
pembuat chip processor menempatkan sebuah Arithmetic Logic Unit (ALU) di dalam
processor. Secara teoritis ini berarti pemrosesan dapat dilakukan dua kali
lebih cepat dalam satu langkah. Sebagai tambahan multiple ALU, kemudian diintegrasikan
Floating Point Unit ke dalam processor. FPU ini menangani angka dari yang
paling besar hingga yang paling kecil (yang memiliki banyak angka di belakang
koma). Sementara FPU menangani kalkulasi semacam itu, ALU menjadi bebas untuk
melakukan tugas lain dalam waktu yang bersamaan, untuk meningkatkan kinerja.
Processor menambah kecepatan pemrosesan instruksi dengan melakukan pipelining
instruksi, atau menjalankan instruksi secara paralel satu dengan yang lainnya.
Eksekusi dari sebuah instruksi memerlukan langkah yang terpisah, contoh :
fetching dan dekoding sebuah instruksi. Processor harus menyelesaikan sebuah
instruksi secara keseluruhan sebelum melanjutkan ke instruksi berikutnya.
Sekarang sirkuit yang berbeda menangani langkah yang terpisah tersebut. Begitu
sebuah instruksi telah selesai dalam satu langkah untuk dilanjutkan ke langkah
berikutnya, transistor yang mengerjakan langkah pertama bebas untuk mengerjakan
instruksi berikutnya, sehingga akan mempercepat kerja pemrosesan. Sebagai
tambahan untuk meningkatkan kinerja processor adalah dengan memprediksi
cabang-cabang instruksi, yaitu memperkirakan lompatan yang akan dilakukan
sebuah program dapat dilakukan; eksekusi secara spekulatif, yaitu mengeksekusi
cabang instruksi yang ada di dapat; dan penyelesaian tanpa mengikuti urutan,
yakni kemampuan untuk menyelesaikan sebuah seri instruksi tidak berdasarkan
urutan normal.
INTEGER REPRESENTASI
Semua bilangan dapat direpresentasikan
dengan hanya menggunakan bilangan 0 dan 1 untuk keperluan penyimpanan dan
pengolahan komputer,tidak perlu
menggunakan tanda minus dan titik,hanya bilangan biner yang
dapatmerepresentasikan bilangan
A.Representasi Nilai Tanda
Penggunaan unsigned integer tidak cukup
untuk merepresentasikan bilangan integer negatif dan juga bilangan positif
integer,karenaitu terdapat beberapa konvensi lainnya meliputi perlakuanterhadap
bit yang paling berarti (paling kiri)didalam word sebagai bit tanda.
· Apabila bit paling kiri sama dengan
nol maka suatu bilanganadalah positif.Sedangkan bit paling kiri sama dengan
1,maka bilangan bernilai negatif.
Misalnya:+18=00010010-18=10010010(sign
magnitude/nilai-tanda)
Kekurangan Representasi Nilai Tanda
Penambahan dan pengurangan memerlukan
pertimbangan baik tanda bilangan maupun nilai relatifnya agar dapat berjalan
pada operasi yangdiperlukan.
Terdapat dua representasi bilangan
0:+010=00000000-010=10000000 (sign magnitude)
Hal ini tidak sesuai untuk digunakan,karena
akan menyulitkan pemeriksaan bilangan 0.
INTEGER ARITHMETIC
Bagian ini akan membahas fungsi-fungsi
aritmatik bilangan dalam representasi komplemen dua.
A. Negasi
Pada notasi komplemen dua, pengurangan
sebuah bilangan integer dapat dibentuk dengan mengunakan aturan berikut:
Anggaplah komplemen boolean seluruh bit
bilangan integer (termasuk bittanda). Perlakukan hasilnya sebagai sebuah
unsigned binary integer, tambahkan1. misalnya:18=00010010 (komplemen dua).
B.
Representasi Integer Positif,negatif,dan bilangan 0.
Bila sebuah bilangan integer positif
dan negatif yang sama direpresentasikan (sign – magnitude),maka harus ada
representasi bilangan positif dan negatif yang tidak sama.
Bila hanya terdapat sebuah representasi
bilangan 0 (komplemen dua),maka harus ada representasi bilangan positif dan
negatif yang tidak sama.
Pada kasus komplemen dua,terdapat
representasi bilangan n-bit untuk -2n,tapi tidak terdapat untuk 2n.
REPRESENTASI FLOATING POINT
Untuk menuliskan bilangan floating
point (bilangan pecahan) dilakukan dengan menuliskan dalam bentuk exponensial.
Sehingga bilangan tersebut memiliki bilangan dasar, bilangan pemangkat dan
basis bilangan tersebut.
Penulisan Notasi Ilmiah
Contoh ; pada bil. Desimal
976.000.000.000.000 ditulis 9,76 x 1014
0,00000000000976 ditulis 9,76 x 10-12
±S * B ±E
Tanda : + atau –
Eksponen (E)
Base (B)
Ko-prosesor Aritmatika mendukung tiga
repr floating point :
•
Short (32 bit)/ presisi tunggal dengan bias 7Fh
•
Long (64 bit)/presisi ganda dengan bias 3FFh
Penulisan bilangan floating point dengan cara exponensial dapat
menyebabkan adanya kemungkinan sebuah bilangan ditulis dengan cara yang
bermacam-macam
FLOATING POINT ARITHMETIC
ALU untuk floating point dapat diimplementasikan dengan menggunakan dua
rangkaian aritmatika fixed point yang terpisah yaitu unit exponent dan mantissa
n
Contoh :
Penambahan dan Pengurangan
0,63524 x 103
0,63215 x 103 +
1,26739 x 103 ® 0,126739 x
104
0,1001 x 24 ® 0,1001 x 24
0,11
x 22 ® 0,0011 x 24 -
0,0110 x 24
Perkalian
(0,253 x 102) x (0,124 x 103)
= (0,253) x (0,124) x 102+3
= 0,031 x 105 ® 0,31 x 104
REPRESENTASI FIXED POINT
-
Radiks point/binary point tetap dan diasumsikan akan berada di sebelah
kanan dari digit yang paling kanan.
-
Titik radiks = memisahkan bilangan bulat dan pecahan.
-
Penggunaan titik radiks berkaitan dengan jajaran bilangan yang dapat
ditampung oleh computer.
1. Representasi Sign-Magnitude/Nilai
tanda
-
Untuk merepresentasikan bilangan integer negatif dan positif. Dengan
menggunakan MSB sebagai bit tanda ®0 = positif, 1 = negatif
-
Contoh :Sign-Magnitude +9 dalam 8 bit = 00001001
Sign-Magnitude –4 dalam 4 bit = 1100
-
Magnitude dari bilangan positif dan negatif sama yang membedakan hanya
MSB saja pada sign bitnya
2. Representasi Komplemen-1
Untuk mendapat komplemen-1 maka
bilangan 0 menjadi 1 dan 1 menjadi 0.
3. Representasi Komplemen-2
Langkah-langkah Pengubahan bilangan
desimal bertanda ke bilangan komplemen (8-bit)
-
Tentukan bit tanda/MSB ® 0 = positif, 1 = negatif.
-
Ubah desimal ke biner (7-bit)
-
Ubah ke kompl-1 (setiap 0 diubah ke 1 dan
-
setiap 1 diubah ke 0)
-
Ubah ke komplemen-2 (tambahkan +1
ke komplemen-1 untuk mendapat bil. komplemen-2)
-
Gabung menjadi satu yaitu MSB sebagai tanda bit dan 7-bit sebagai
besarannya
Tidak ada komentar:
Posting Komentar