Rabu, 28 Mei 2014

ALU ( Arithmetic Logic Unit )


Bagaimana Cara Kerja ALU ( Arithmetic Logic Unit ) didalam sistem komputer
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjp6AYinql8Z4_ecB8kFcZvjXYdlPm_FVolt3jgvNLE2QJGv9RNGL9FFoLM6N3xQ8Q36GbVTDvqSAKru_TCLUoStKhjCEKSOOIXls-HWlPeMKvsXhgOROLwGgFFNtLFyZEffumosqMEMH7Z/s320/ALU.png

Arithmatic and Logic Unit (ALU) adalah salah satu bagian/komponen dalam sistem didalam sistem komputer yang berfungsi melakukan operasi/perhitungan aritmatika dan logika (seperti penjumlahan, pengurangan dan beberapa logika lain), ALU bekerja sama dengan memori. Dimana hasil dari perhitungan di dalamALU 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 menggunakansistem bilangan biner (two’s complement) dan 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. Fungsi ALU unit ini adalah untuk melakukan suatu proses data yang berbentuk angka dan logika, seperti data matematika dan statistika. ALU terdiri dariregister-register untuk menyimpan informasi.

Tugas utama dari ALU adalah melakukan perhitungan aritmatika (matematika) yang terjadi sesuai dengan instruksi program. Sirkuit yang digunakan oleh ALUini disebut dengan adder karena operasi yang dilakukan dengan dasar penjumlahan. Tugas lain dari ALU adalah melakukan keputusan dari operasi sesuai dengan instruksi program yaituoperasi logika (logical operation). Operasi logika meliputi perbandingan dua buah elemen logika dengan menggunakan operator logika, yaitu :

·         Sama dengan (=).
·         Tidak sama dengan ( <> ).
·         Kurang dari ( < ).
·         Kurang atau sama dengan dari ( <= ).
·         Lebih besar dari ( > ).

Lebih besar atau sama dengan dari ( >= ) Arithmetic and Logic Unit (ALU): Bertugas membentuk fungsi - fungsi pengolahan data komputer. ALU sering disebut mesin bahasa (machine language) karena bagian inimengerjakan instruksi - instruksi bahasa mesin yang diberikan padanya. Seperti istilahnya ALU terdiri dari dua bagian, yaitu unit arithmetika dan unit logika boolean, yang masing - masing memiliki spesifikasi tugas sendiri. Representasi Integer Bilangan yang digunakan untuk mekanisme representasi data komputer adalah bilangan biner, semua itu biasa terjadi karena faktor-faktor berikut :

1.      Komputer secara elektronika hanya mampu membaca 2 kondisi sinyal
-          Ada tegangan / ada sinyal.
-          Tidak ada tegangan / tidak ada sinyal.

2.      Kondisi tersebut yang digunakan untuk  merepresentasikan bilangan dankode-kode biner
-          Ada tegangan sebagai representasi nilai 1.
-          Tidak ada tegangan sebagai representasi nilai 0.

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 lain-lainnya yang dibagi berdasarkan basis yang digunakan dalam penentuannilaidari bilangan tersebut. Jenis-jenis sistem bilangan adalah sebagai berikut:

1.      Desimal
2.              Biner 
3.      Heksadesimal
4.      Oktal

Sistem bilangan yang umum dipakai adalah sistem bilangan desimal adalah sebagai berikut:

1.      Desimal
Merupakan suatu sistem bilangan yang berbasis 10 (tiap bilangan dalam sistem tersebut dikalikan dengan 10x), terdiri dari angka : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9.

2.              Biner 
Merupakan suatu sistem bilangan yang berbasiskan 2 (tiap bilangan dalam sistem tersebut dikalikan dengan 2x), terdiri dari angka 0 dan 1.

3.      Heksadesimal
Merupakan suatu sistem bilangan yang berbasiskan 16 (tiap bilangan dalam sistem tersebut dikalikan dengan 16x), terdiri dari 10 angka yaitu 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 dan 6  huruh yaitu A, B, C, D, E, F.

4.      Oktal
Merupakan suatu sistem bilangan yang berbasiskan 8 (tiap bilangan dalam sistem tersebut dikalikan dengan 8x), terdiri dari delapan angka yaitu 0, 1, 2, 3, 4, 5, 6, 7.

5.      BCD (Binary-Coded decimal)
Merupakan format untuk merepresentasikan bilangan desimal (integer) dengan empat bit(satu nibble) untuk setiap angka penyusunnya.

6.      Gray Code
Merupakan sistem bilangan yang memliki sistem mirip dengan biner hanya saja dalamsusunan bilangan ini yang boleh berubah pada urutan selanjutnya hanya 1 angka. Misalnya001 berikutnya 011 berikutnya 010 dan selanjutnya.




7.      Excess-3
Merupakan sistem bilangan yang secara sederhana dapat diartikan sebagai bilangan biner yang memiliki lebih tiga angka dari bilangan biner biasa.Contohnya 0 = 011, 1 = 100, 2 =101 dan seterusnya.


3.      Floating Point Representation

Representasi Integer oleh Biner Dalam sistem bilangan biner ada 4 macam sistem untuk merepresentasikan integer yaitu:
-          Representasi unsigned integer. 
-          Representasi nilai tanda (sign magnitude).
-          Representasi bias.
-          Representasi komplemen dua (2’s complement).

1.      Unsigned Integer
-          Untuk keperluan penyimpanan dan pengolahan komputer diperlukan bilangan biner yangterdiri atas 0 dan 1.
-          1 byte (8 bit binary digit) dapat digunakan untuk menyatakan bilangan desimal dari 0 ± 255.

Kelemahan Unsigned Integer 
-          Hanya dapat menyatakan bilangan positif. 
-          Sistem ini tidak bisa digunakan untuk menyatakan bilangan integer negatif.

2.      Representasi Nilai Tanda (sign magnitude)
-          Karena kelemahan unsigned integer. 
-          Dikembangkan beberapa konvensi untuk menyatakan bilangan integer negatif konvensi.
-          Perlakuan bit yang paling kiri (MSB) di dalam byte sebagai tanda.
-          Bila MSB = 0 maka bilangan tersebut positif. 
-          Jika MSB = 1 maka bilangan tersebut negatif. 

Kelemahan sign magnitude
-          Adanya representasi ganda pada bilangan 0.

3.      Representasi Bias
-          Digunakan untuk menyatakan exponen (bilangan pemangkat) pada representasi floating point.
-          Dapat menyatakan bilangan bertanda, yaitu dengan mengurutkan dari bilangan negativeterkecil dapat dijangkau sampai bilangan positif paling besar yang bisa dijangkau.
-          Mengatasi permasalahan pada sign magnitude yaitu +0 dan -0.

4.      Representasi komplemen 2 (two’s complement)
-          Merupakan perbaikan dari representasi nilai bertanda (sign magnitude) yang mempunyaikekurangan pada operasi penjumlahan dan pengurangan serta representasi nilai 0.

Bilangan Negatif Pada 2’s Complement ada 2 yaitu:
1.      Sistem bilangan dalam 2’s complement menggunakan bit paling kiri (MSB) sebagai bittandadan sisanya sebagai bit nilai seperti pada sign magnitude.
2.      Bilangan negatif dalam 2’s complement dibentuk.

Unit Aritmetika dan Logika merupakan bagian pengolah bilangan dari sebuah komputer. Didalam operasi aritmetika ini sendiri terdiri dari berbagai macam operasi diantaranya adalahoperasi penjumlahan, pengurangan, perkalian, dan pembagian. Mendesain ALU juga memiliki cara yang hampir sama dengan mendesain enkoder, dekoder, multiplexer, dan demultiplexer. Rangkaian utama yang digunakan untuk melakukan perhitungan ALU adalahAdder.

Rangkaian ALU (Arithmetic and Logic Unit) yang digunakan untuk menjumlahkan bilangandinamakan dengan Adder . KarenaAdder  digunakan untuk memproses operasi aritmetika, maka Adder juga sering disebut rangkaian kombinasional aritmetika. Ada 3 jenis Adder yaitu:

1.      Rangkaian Adder  yang hanya menjumlahkan dua bit disebut Half Adder. 
2.      Rangkaian Adder  yang menjumlahkan tiga bit disebut Full Adder.
3.      Rangkaian Adder yang menjumlahkan banyak bit disebut paralel Adder. 



Bagaimana cara kerja processor dalam memproses sebuah aplikasi ?
Elemen pada processor
Processor terdiri dari dari 4 elemen yang melakukan operasi terhadap data, ke 4 elemen itu yaitu instruksi, petunjuk instruksi, beberapa register dan ALU (Arithmetic Logic Unit). Petunjuk instruksi akan memberi tahu processor dimana instruksi dari sebuah aplikasi diletakkan di memori.
Cara processor melakukan tugas : penunjuk instruksi mengarahkan fetch instruksi ke sebuah spot di memori yang menampung sebuah instruksi. Fetch kemudian menangkap instruksi tersebut dan memberikannya ke dekoder instruksi, kemudian mengamati instruksi tersebut dan menentukan langkah selanjutnya untuk melengkapi instruksi tersebut.
1
ALU kemudian mengerjakan perintah yang diminta instruksi : menambah data, membagi data, atau memanipulasi data yang ada. Setelah processor menerjemahkan dan mengerjakan instruksi, unit kontrol memberitahukan fetch instruksi untuk menangkap instruksi berikutnya di memori. Proses ini berlangsung terus menerus, dari satu instruksi ke instruksi berikutnya, dalam suatu langkah yang rumit, untuk menciptakan hasil yang 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.
2
Bagaimana cara kerja processor dalam memproses banyak aplikasi ?
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 juga menambah kecepatan pemrosesan instruksi dengan melakukan pipelining instruksi, atau menjalankan instruksi secara paralel satu dengan lainnya. Eksekusi dari sebuah instruksi memerlukan langkah yang terpisah, sebagai contoh, fetching dan dekoding sebuah instruksi. Sebenarnya 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.


0 komentar:

Posting Komentar