Kamis, 06 November 2014

   Arithmetic Logic Unit (ALU)

Arithmatic Logical Unit (ALU), adalah komponen 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. 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.
Tugas ALU:
·        Melakukan kalkulasi biner
·        Semua komponen lain dalam komputer sebenarnya ada untuk melayani ALU
·        ALU hanya bisa menangani bilangan bulat (integer)
Ø ALU bisa juga menangani bilangan pecahan (real)
Ø Umumnya dalam bentuk FPU (Floating PointUnit) terpisah (maths co-processor)
Ø Co-processor dalam chip terpisah (486DX +)





Input dan Output ALU



Flags : menandai bagaimana sifat hasil kalkulasi
Misal, hasil kalkulasi overflow, maka flag akan bernilai 1, nantinya nilai flag akan disimpan pada register.

Integer Representation

Meskipun secara matematis, dalam sistem bilangan biner bisa digunakan tanda minus dan radix point, di dalam komputer hanya ada bilangan 0 & 1 untuk merepresentasikan semua angka. Contoh bilangan biner matematis: -1101.0101 = -13.3125 Bentuk seperti ini tidak membawa manfaat bagi komputer, malah menyulitkan. Oleh karena itu tidak dipakai.

Representasi Integer Positif
Seandainya semua integer positif, konversi ke biner biasa, tinggal disesuaikan dengan panjang bit register yang tersedia. Misal data akan disimpan dalam reg. 8-bit:
00000000 = 0
00000001 = 1
00101001 = 41
10000000 = 128
11111111 = 255

àtidak ada masalah!!

Representasi Integer Negatif
Mulai timbul masalah saat akan menyimpan bilangan negatif.

  • Komputer tidak mengenal tanda minus.

Sign-Magnitude Representation

  • Bit paling kiri menunjukkan magnitude integer (positif atau negatif) „³ sign bit

+18 = 00010010
- 18 = 10010010
Kekurangan: ada 2 buah angka nol: nol positif (00000000) dan negatif (10000000)

Two’s Complement Representation
Ini yang digunakan di komputer sekarang

  • Satu bit paling kiri dijadikan bernilai negatif, kemudian dijumlahkan dengan bit sisanya. Nalar manusia paling gampang, gunakan Value Box:
  • Misal 8-bit:

                             -128 64 32 16 8 4 2 1
                               Mengapa 1 bit paling kiri? Porsi sama besar:
                               negatif = -128

                               positif = (64 + 32 + 16 + 8 + 4 + 2 + 1) = 127

Integer Arithmetic
A.Negasi

Pada notasi komplemen dua,pengurangan sebuah bilangan integer dapatdibentuk 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 samadirepresentasikan (sign – magnitude),maka harus ada representasi bilangan positif dan negatif yang tidak sama.
• Bila hanya terdapat sebuah representasi bilangan 0 (komplemendua),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.

Bilangan bulat terdiri dari

– bilangan asli : 1, 2, 3, …
– bilangan nol : 0
– bilangan negatif : …, -3, -2, -1

Bilangan Bulat dinotasikan dengan : B = {…, -3, -2, -1, 0, 1, 2, 3, …}

Bilangan lain yang berada dalam bilangan bulat, di antaranya adalah bilangan:
a. Cacah : C = {0, 1, 2, 3, 4, …}
b. Ganjil : J = {1, 3, 5, 7, …}
c. Genap : G = {2, 4, 6, 8, …}
d. Cacah Kuadrat : K = {0, 1, 4, 9, …}
e. Prima : {2, 3, 5, 7, 11, …}2. Membandingkan Bilangan Bulat

Dengan memperhatikan tempat pada garis bilangan, dapat kita nyatakan (dalam contoh) bahwa :
a. 7 > 4, karena 7 terletak di sebelah kanan 4,
b. (-5) < 2, karena (-5) terletak di sebelah kiri 2, dan lain sebagainya.

Floating Point Representation

Menyatakan suatu bilangan yang sangat besar/kecil dengan menggeser titik decimal secara dinamis ketmpat yang sesuai dan menggunakan eksponen 10 untuk menjaga titik decimal itu, sehingga range bilangan yang sangat besar dan sangat kecil untuk dipresentasikan 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)

Floating Point Arithmetic

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

  
Addapted by :




Tidak ada komentar:

Posting Komentar