Pengantar Organisasi & Arsitektur Komputer
Computer Arithmatic
Arithmatic Logical Unit (ALU),
adalah salah satu bagian/komponen dalam sistem di dalam sistem komputer
yang berfungsi melakukan operasi/perhitungan aritmatika dan
logika (Contoh operasi aritmatika adalah operasi penjumlahan dan pengurangan,
sedangkan contoh operasi logika adalah logika AND dan OR. ALU bekerja
besama-sama memori, di mana 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 4×2 pin data input (pinA dan pinB) dengan 4 pin keluaran
(pinF).
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
1. HALF
ADDER
Rangkaian Half
Adder merupakan dasar penjumlahan bilangan Biner yang terdiri dari satu
bit, oleh karena itu dinamai Penjumlah Tak Lengkap.
a. jika A = 0 dan B = 0 dijumlahkan, hasilnya S
( Sum ) = 0.
b. jika A = 0 dan B = 1 dijumlahkan, hasilnya S
( Sum ) = 1.
c. 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 ).
2. 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).
3. 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.
Integer
Representation
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,
karena itu terdapat beberapa konvensi lainnya meliputi perlakuan
terhadap bit yang paling berarti (paling kiri) di dalam word sebagai
bit tanda. Apabila bit paling kiri sama dengan nol maka suatu bilangan adalah
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
Kekurangan Representasi Nilai- Tanda
Penambahan
dan pengurangan memerlukan pertimbangan baik tanda bilangan maupun nilai
relatifnya agar dapat berjalan pada operasi yang diperlukan
Terdapat
dua representasi bilangan 0 :
+010 = 00000000
-010 = 10000000 (sign-magnitude)
Hal ini tidak sesuai untuk digunakan, karena akan menyulitkan pemeriksaan bilangan 0.
+010 = 00000000
-010 = 10000000 (sign-magnitude)
Hal ini tidak sesuai untuk digunakan, karena akan menyulitkan pemeriksaan bilangan 0.
Integer Arithmatic
Bagian
ini akan membahas fungsi-fungsi aritmatik bilangan dalam representasi komplemen
dua
Negasi
Pada
notasi komplemen dua, pengurangan sebuah bilangan integer dapat dibentuk dengan
menggunakan aturan berikut :
Anggaplah
komplemen Boolean seluruh bit bilangan integer (termasuk bit tanda)
Perlakukan hasilnya sebagai sebuah unsigned binary integer, tambahkan 1.
Misal : 18 = 00010010 (komplemen dua)
Perlakukan hasilnya sebagai sebuah unsigned binary integer, tambahkan 1.
Misal : 18 = 00010010 (komplemen dua)
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 positifdan negatif yang tidak sama.
- Pada kasus komplemen dua, terdapat representasi bilangan n-bit untuk -2n, tapi tidak terdapat untuk 2n.
Aturan Untuk Mendeteksi Overflow
- Aturan Overflow :
2. Aturan Pengurangan :
Untuk mengurangkan sebuah bilangan (subtrahend) dari bilangan lainnya (minuend), anggaplah komplemen dua subtrahend dan tambahkan hasilnya ke
minuend.
Pembulatan
Teknik
pembulatan yang sesuai dengan standard IEEE adalah sebagai berikut :
1. Pembulatan ke Bilangan Terdekat : Hasil
dibulatkan ke bilangan terdekat yang dapat direpresentasi.
2. Pembulatan Ke Arah : Hasil dibulatkan ke atas ke
arah tak terhingga positif.
3. Pembulatan Ke Arah : Hasil dibulatkan ke atas ke
arah tak terhingga negatif.
4. Pembulatan Ke Arah 0 : Hasil dibulatkan ke arah
0
- Floating Point
Floating-point atau bilangan
titik mengambang, adalah sebuah format bilangan yang dapat digunakan untuk
merepresentasikan sebuah nilai yang sangat besar atau sangat kecil. Bilangan ini
direpresentasikan menjadi dua bagian, yakni bagian mantisa dan bagian eksponen (E).
Bagian mantisa menentukan digit dalam angka tersebut,
sementara eksponen menentukan nilai berapa besar pangkat pada bagian mantisa
tersebut (pada posisi titik desimal). Sebagai contoh, bilangan 314600000 dan
bilangan 0.0000451 dapat direpresentasikan dalam bentuk bilangan floating
point: 3146E5 dan 451E-7 (artinya 3146 * 10 pangkat 5, dan 451 * 10
pangkat -7).
Kebanyakan CPU atau mikroprosesor sederhana tidak mendukung secara
langsung operasi terhadap bilangan floating-point ini, karena aslinya mikroprosesor ini hanya memilikiunit aritmetika dan
logika, serta unit kontrol yang
beroperasi berdasarkan pada bilangan bulat (integer) saja.
Perhitungan atau kalkulasi terhadap nilai floating point pada
jenis mikroprosesor sederhana dapat dilakukan dengan menggunakan perangkat
lunak, sehingga operasinya sangat lambat. Untuk itulah, sebuah prosesor
tambahan dibutuhkan untuk melakukan operasi terhadap jenis bilangan ini, yang
disebut dengan unit titik mengambang.
Dalam bahasa pemrograman, khususnya keluarga bahasa pemrograman
C, bilangan titik mengambang direpresentasikan dengan tipe data float.
Kesimpulan : Jadi ALU itu ialah suatu komponen yang dapat mengerjakan suatu perhitungan seperti pertambahan/pengurangan. lalu hasilnya akan tersimpan di memory, Floati Point yaitu untuk menentukan suatu bilangan yang dimana jumlahnya kecil atau besar.
referensi :
Komentar
Posting Komentar