Headlines News :
Home » » Computer Arithmetic

Computer Arithmetic

Written By Unknown on Rabu, 05 November 2014 | 17.25

ARITHMETIC LOGIC UNIT
ALU, singkatan dari Arithmetic And Logic Unit adalah salah satu bagian dalam dari sebuah mikroprosesor yang berfungsi untuk melakukan operasi hitungan aritmatika dan logika. Contoh operasi aritmatika adalah operasi penjumlahan dan pengurangan, sedangkan contoh operasi logika adalah logika AND dan OR.
Tugas utama dari ALU (Arithmetic And Logic Unit) adalah melakukan semua perhitungan aritmatika atau matematika yang terjadi sesuai dengan instruksi program. ALU melakukan operasi arithmatika dengan dasar pertambahan, sedang operasi arithmatika yang lainnya, seperti pengurangan, perkalian, dan pembagian dilakukan dengan dasar penjumlahan. sehingga sirkuit elektronik di ALU yang digunakan untuk melaksanakan operasi arithmatika ini disebut adder.
Tugas lain dari ALU adalah melakukan keputusan dari operasi logika sesuai dengan instruksi program. Operasi logika (logical operation) meliputi perbandingan dua buah elemen logika dengan menggunakan operator logika, yaitu:
a. sama dengan (=)
b. tidak sama dengan (<>)
c. kurang dari (<)
d. kurang atau sama dengan dari (<=)
e. lebih besar dari (>)
f. lebih besar atau sama dengan dari (>=) (sumber: Buku Pengenalan Komputer, Hal 154-155, karangan Prof.Dr.Jogiyanto H.M, M.B.A.,Akt.)
Fungsi-fungsi yang didefinisikan pada ALU adalah Add (penjumlahan), Addu (penjumlahan tidak bertanda), Sub (pengurangan), Subu (pengurangan tidak bertanda), and, or, xor, sll (shift left logical), srl (shift right logical), sra (shift right arithmetic), dan lain-lain.

INTEGER REPRESENTATION

·         Dalam sistem bilangan biner , semua bilangan dapat direpresentasikan dengan hanya menggunakan bilangan 0 dan 1, 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 lebuh mudah.
·         Sebuah word 8-bit dapat digunakan untuk merepresentasikan bilangan 0 hingga 255. Misalnya:
00000000= 0
00000001= 1
00101001= 41
10000000= 128
11111111= 225
·         Umumnya bila sebuah rangkaian n-bit bilangan biner an-1an-2…a1a0 akan diinterpretasikan sebagai unsigned integer A.


Representasi Magnituda Tanda (Sign-magnitude)
         Terdapat beberapa konvensi alternatif yang digunakan untuk merepresentasikan bilangan integer negatif seperti halnya bilangan integer positif, semua konpensi tersebut meliputi perlakuan bityang paling signifikan (paling kiri) di dalam word sebagai bit tanda. Jika bit tanda adalah 0, maka bilangan tersebut positif; jika bit tanda adalah 1, maka bilangan tersebut adalah negatif.
Bentuk reprentasi yang paling sederhana yang memakai bit tanda adalah adalah reprentasi magnituda tanda. pada suatu word n-bit, bit n-1 paling kanan menampung nilai integer.
+18= 00010010
-18= 10010010 (magnituda tanda)
Secara umum kasus tersebut adalahdapatdiekspresikan sebagai berikut:

Terdapat beberapa kelemahan pada representasi magntuda tanda. salah satunya adalah bahwa penambahan dan pengurangan memerlukan pertimbangan baik tanda bilangan maupun nilai relatifnya untuk menyelesaikan operasi yang diperlukan. Masalah ini adalah menjadi jelas dalam pembahasan pada sub bab 9.3. kelemahan yang lain adalah bahwa terdapatdua reprentasi bilangan 0.
+ 010          = 00000000
-  010          = 10000000 (magnituda tanda)
         Hal ini merepotkan, karena akan menyulitkan pemeriksaan bilangan 0 (suatu operasi yang sering dilakukan pada komputer) dibandingkan jika menggunakan representasi tunggal.
Karea kelemahan ini, representasi magnituda tanda jarang digunakan di dalam implementasi bagian bilangan integer ALU. Disamping itu, teknik yang paling umum adalah representation komplemen dua.
Representasi Komplemen Dua
         Seperti halnya magnituda tanda, representasi komplemen dua menggunakan bit yang paling signifikan sebagai bit tanda, yang memudahkannya untuk mengetahui apakah suatu integer bernilai positif atau negatif. Representasi ini berbeda dengan penggunaan representasi magnitude tanda dalam cara dengan bit-bit lainnya diinterpretasikan. Tabel 9.1 menekankan karakteristik penting representasi komplemen dua dan aritmetika, yang dibahas dalam bagian ini dan yang berikutnya.
         Sebagian besar perlakuan representasi komplemen dua menfokuskan pada aturan untuk menghasilkan bilangan-bilangan negatif, dengan tidak ada bukti formal bahwa teknik “bekerja“. Di samping itu, pembahasan kita tentang integer-integer komplemen dua dalam bagian ini dan dalam Subbab 9.3 berdasarkan pada (DATT93), yang menyatakan bahwa representasi
Range
-2n-1 sampai 2n-1 - 1
Jumlah representasi nol
Satu
Negasi
Ambil komplemen Boolean dari setiap bit yang bersesuaian dengan bilangan positif, kemudian tambahkan 1 untuk menghasilkan pola bit yang dilihat sebagai integer tanpa tanda.
Perluasan panjang bit
Tambahkan posisi bit tambahan ke kiri da nisi dengan bit magnituda tanda asli.
Aturan overflow
Jika dua bilangan-bilangan dengan tanda yang sama (keduanya bilangan positif atau keduanya bilangan negatif) ditambahkan, maka terjadi overflow jika dan hanya jika hasilnya mempunyai tanda berkebalikan.
Aturan pengurangan
Untuk mengurangi B dari A, ambil komplemen kedua dari B dan menambahkannya ke A.

         Komplemen dua adalah terbaik untuk dipahami oleh pendefenisiannya dalam kaitannya dengan penjumlahan bit-bit berbobot, seperti ketika kita melakukan sebelumnya pada representasi tanpa tanda dan magnitude tanda. Keuntungan perlakuan yang demikian adalah bahwa representasi itu tidak meninggalkan keraguan apapun dimana aturan operasi-operasi aritmatika di dalam dua notasi komplemen tidak dapat bekerja untuk beberapa kasus khusus.
         Perhatikan suatu integer n-bit, A, dalam representasi komplemen dua. Jika A bilangan positif, maka bit tanda, an-1, adalah nol. Bit-bit lainnya merepresentasikan nilai bilangan dalam mode yang sama dengan magnitude tanda:
A=      untuk A ≥ 0
         Bilangan nol akan didefenisikan sebagai bilangan positif dan sehingga mempunyai bit tanda 0 dan nilai keseluruhan 0. Kita dapat melihat bahwa cakupan integer positif yang dapat direpresentasikan mulai dari 0 (semua bit nilainya adalah 0) hingga 2n-1 – 1 (semua bit nilainya adalah 1). Bilangan yang lebih besar maupun akan memerlukan bit yang lebih banyak.
         Sekarang, untuk bilangan negatif A (Ad “0), bit tanda, an-1, adalah satu. n – 1 bit sisanya dapat mengambil salah satu dari nilai-nilai 2n-1. Oleh karena itu, cakupan integer negative yang dapat direpresentasikan adalah mulai dari 1 hingga- 2n-1. Kita bermaksud menugaskan nilai-nilai bit ke integer negative sehingga aritmatika dapat ditangani di dalam mode secara langsung, mirip dengan aritmatika integer tanpa tanda. Pada representasi integer tanpa tanda, untuk menghitung nilai integer dari representasi bit, bobot bit-bit yang paling signifikan adalah +2n-1. Untuk representasi dengan bit tanda, representasi menghasilkan tercapainya aritmatika yang diinginkan, seperti yang akan kita lihat pada sub bab 9.3, jika bobot bit yang paling signifikan adalah -2n-1. Hal ini merupakan kontrovensi yang digunakan dalam representasi komplemen dua, menghasilkan ekspresi berikut untuk bilangan-bilangan negatif:
A= -2n-1 an-1 +                                          (9.2)
         Pada kasus bilangan integer positif, an-1=0, maka suku -2n-1an-1= 0. Dengan demikian, Persamaan (9.2) mendefenisikan representasi komplemen dua untuk bilangan positif dan negative.
         Tabel 9.2 membandingkan magnitude tanda dan representasi komplemen dua integer 4-bit. Walaupun dari sudut pandang manusia komplemenn dua merupakan representasi yang canggung, kita akan lihat bahwa itu memudahkan operasi-operasi aritmatika yang paling utama, penambahan dan pengurangan. Dengan alas an ini, representasi ini sangat umum, representasi ini sangat umum digunakan sebagai representasi prosessor untuk integer.
         Suatu ilustrasi yang bbermanfaat tentang sifat representasi komplemen dua adalah kotak nilai, dimana nilainya terdapat jauh pada sisi kanan kotak adalah 1 (20) dan setiap posisi berikutnya ke sebelah kiri merupakan nilai gandanya, sampai posisi yang paling kiri, yang ditiadakan. Seperti yang anda lihat pada gambar 9.2a, bilangan komplemen dua yang paling negtif yang dapat direpresentasikan adalah 2n-1, jika terdapat sembarang bit selain bit tanda satu, maka bit iitu akan menambahkan jumlah positive terhadap bilangan. Selain itu, jelas bahwa bilangan negative harus mempunyai suatu bilangan 1 pada posisi yang paling kirinya dan bilangan positive harus mempunyai suatu bilangan 0 pada posisi tersebut. Jadi bilangan positif yang paling besar adalah suatu 0 diikuti oleh semua 1, yang sama dengan 2n-1 – 1.
         Bagian lainnya pada gambar 9.2 mengilustrasikan penggunaan kotak nilai untuk mengkonversikan komplemen dua ke bilangan decimal dan dari bilangan decimal menjadi komplemen dua.

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
- Menyatakan suatu bilangan yang sangat besar/sangat kecil dengan menggeser titik desimal secara dinamis ke tempat yang sesuai dan menggunakan eksponen 10 untuk menjaga titik desimal itu.
- Sehingga range bilangan yang sangat besar dan sangat kecil untuk direpresentasikan hanya dengan beberapa digit saja.
- Dinyatakan dengan notasi ? a = (m,e) , dimana :
a= m x re r = radiks
m = mantissa
e = eksponen
Contoh : Tunjukkan bilangan-bilangan berikut ini dalam notasi floating point.
a. (45.382)10? 0.45382 x 102 = (0.45382,2)
b. (-21,35)8 ? -2135,0 x 8-2 = (-2135.0,-2)

ARITMATIKA FLOATING POINT
- Penambahan 0,63524 x 103
0,63215 x 103 +
1,26739 x 103 ? 0,126739 x 104
- Pengurangan 0,63524 x 103
0,63215 x 103 ?
0,00309 x 103? 0,309 x 101
- 0,10100 x 22 ? 0,01010 x 23
0,11000 x 23 ? 0,11000 x 23 +
1,00010 x 23 ? 0,10001 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


normalize
- Pembagian 0,253 x 102 = 0,253 x 102-3
0,124 x 103 0,124
= 2,040 x 10-1 ? 0,204 x 100
overflow

• REPRESENTASI FIXED POINT
Radiks point/binary point tetap dan diasumsikan akan berada di sebelah kanan dari digit yang paling kanan.
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 hanya beda pada sign digitnya/MSB.
2. Representasi Komplemen-1
Untuk mendapat komplemen-1 maka bilangan nol diubah menjadi satu dan satu menjadi nol.
3. Representasi Komplemen-2
Langkah-langkah : Pengubahan bilangan desimal bertanda ke bilangan komplemen-2 (8-bit)
• Tentukan bit tanda/MSB ? 0 = positif, 1 = neg.
• Ubah desimal ke biner (7-bit)
• Ubah ke kompl-1 (setiap 0 diubah ke 1 dan setiap
1 diubah ke 0)


• Ubah ke kompl-2 (tambahkan +1 ke kompl-1
untuk mendapat bil. kompl-2)
• Gabung menjadi satu yaitu MSB sebagai tanda
bit dan 7-bit sebagai besarannya.
Langkah-langkah : Pengubahan bil. kompl-2 (8-bit) ke bil. des. bertanda
• Tentukan bit tanda/MSB
• Ubah 7-bit kompl-2 tersebut ke kompl-1
• Ditambah +1 ke kompl-1
• Ubah biner ke desimal

ARITMATIKA FIXED POINT
Penambahan positif, negatif, dan secara kebalikan bil-bil. biner yang diberi tanda yang direpresentasikan dalam komplemen-2.
001110 (+14) 110010 (-14)
+ 001100 (+12) end carry + 110100 (-12)
011010 (+26) 1 100110 (-26

(Sistem Bilangan | Syailendra's Blog)
CPU merupakan pusat kendali sistem komputer yang berfungsi sebagai:
• Memberikan pengalamatan data dan program
• Memasukkan dan mengambil data
• Memproses data secara aritmatik dan logikal
• Melaksanakan instruksi-instruksi secara berturut-turut.


Beberapa bagian-bagian dari CPU adalah sebagai berikut:
Arithmetic and Logical Unit (ALU)
ALU melaksanakan seluruh perhitungan (penambahan, pengurangan, perkalian atau pembagian) dan
operasi logika. ALU berfungsi melakukan operasi aritmatik dan logik yang terbagi menjadi empat kelas,
yaitu decimal arithmetic, fixed point arithmetic, floating point aritmetic dab logic operation.
Decimal Arithmetic digunakan untuk operasi bilangan desimal dengan menggunakan tanda plus (+)
atau negatif (-). Fixed Point Arithmetic adalah operasi arithmetic dari data binary untuk menyatakan
address dari penyimpanan. Floating Point Arithmetic untuk operasi matematika. Logic Operation
dapat berupa operasi-operasi perbandingan, testing, transalting, editing dan moving logic data.

Control Unit (CU)
CU merupakan bagian CPU yang berfungsi untuk:
• Membaca dan mengintepresikan instruksi-instruksi program
• Melangsungkan operasi komponen-komponen prosesor internal
• Mengendalikan aliran program dan data ke dalam dan ke luar RAM.

(perangkat keras multimedia « rahmatblog)


- Floating Point adalah tipe data yang dapat menyimpan angka dengan pecahan. VB membedakan menjadi dua jenis, yaitu:
• Tipe data single. Tipe data ini, dapat menampung angka negatif dengan
jangkauan -3.402823E38 hingga -1.401298E-45, dan angka positif dengan
jangkauan 1.401298E-45 hingga 3.402823E38. Huruf E menunjukkan 10
pangkat, misalnya pada -3.402823E38 berarti -3.402823 x 1038. Tipe data ini
membutuhkan 4 byte memori, dan merupakan tipe floating point yang paling
sederhana (dan paling tidak presisi).
• Tipe data double. Daya tampung tipe data double adalah -
1.79769313486232E308 hingga -4.94065645841247E-324 untuk bilangan negatif, dan 4.9406564581247E-324 sampai 1.79769313486232E308 untuk bilangan positif. Kenyataan yang sebenarnya, operasi terhadap tipe data single tidak secepat tipe data double ini.

REFERENSI:

Share this article :

0 komentar:

Speak up your mind

Tell us what you're thinking... !

Welcome Visitors

 
Support : Creating Website | Johny Template | Mas Template
Proudly powered by Blogger
Copyright © 2011. Aldy Lidyansyah - All Rights Reserved
Template Design by Creating Website Published by Mas Template