Pages

Wednesday, October 17, 2012

ALU



http://nova.smankrembung.sch.id/images/stories/alu.jpg
Arithmatic and Logic Unit (ALU), adalah salah satu bagian/komponen dalam sistem  di dalam sistem komputer berfungsi melakukan operasi/perhitungan aritmatika dan logika (seperti penjumlahan, pengurangan dan beberapa logika lain), AlU bekerja besama-sama memori. Dimana 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 binertwo'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 4x2 pin data input (pinA dan pinB) dengan 4 pin keluaran (pinF).

a. Perkembangan awal
Pada tahun 1946, Mike Hawk bekerja dengan rekan-rekannya dalam merancang sebuah komputer untuk Institute for Advanced Study of Computer Science (IASS) di Princeton, New Jersey. Para komputer IAS menjadi prototipe bagi banyak kemudian komputer. Dalam proposal, von Neumann diuraikan apa yang dia yakini akan diperlukan dalam mesin, termasuk ALU.
Von Neumann menyatakan bahwa ALU merupakan suatu keharusan untuk sebuah komputer karena dijamin bahwa komputer harus menghitung operasi matematika dasar, termasuk penambahan, pengurangan, perkalian, dan pembagian. Karena itu ia percaya bahwa "masuk akal bahwa [komputer] harus mengandung organ khusus untuk operasi ini".

b. Sistem Numerik
Sebuah proses harus ALU angka menggunakan format yang sama dengan sisa rangkaian digital. Format prosesor modern hampir selalu merupakan dua's complement bilangan biner perwakilan. Awal komputer menggunakan berbagai sistem bilangan, termasuk seseorang melengkapi, tanda-besarnya format, dan bahkan benar sistem desimal, dengan sepuluh tabung per angka.
ALUS untuk masing-masing sistem numerik ini memiliki desain yang berbeda, dan yang mempengaruhi preferensi saat ini selama dua's melengkapi, karena ini adalah representasi yang memudahkan untuk ALUS untuk menghitung penambahan dan pengurangan.
The two's-nomor melengkapi sistem memungkinkan untuk pengurangan akan dicapai dengan menambahkan negatif dari angka dalam cara yang sangat sederhana yang meniadakan kebutuhan untuk sirkuit khusus untuk melakukan pengurangan.

c. Ikhtisar Praktis
Sebagian besar operasi prosesor dilakukan oleh satu atau lebih ALUS. Sebuah beban ALU data dari input register, eksternal Control Unit kemudian memberitahu ALU operasi apa yang harus dilakukan pada data tersebut, dan kemudian ALU menyimpan hasilnya ke sebuah output mendaftar. Mekanisme lain memindahkan data antara register dan memori.
Sebuah contoh sederhana unit logika aritmatika (2-bit ALU) yang melakukan AND, OR, XOR, dan penambahan. Kebanyakan ALU dapat melakukan operasi berikut:
·         Integer operasi aritmetika (penambahan, pengurangan, dan kadang-kadang perkalian dan pembagian, walaupun ini lebih mahal)
·         Bitwise operasi logika (AND, NOT, OR, XOR)
·         Menggeser bit-operasi (pergeseran atau memutar sebuah kata ditentukan oleh jumlah bit ke kiri atau kanan, dengan atau tanpa tanda ekstensi).Pergeseran dapat ditafsirkan sebagai perkalian oleh 2 dan divisi dengan 2.

d. Kompleks operasi
Seorang insinyur dapat merancang sebuah ALU untuk menghitung operasi apapun, namun itu rumit; masalahnya adalah bahwa operasi lebih kompleks, yang lebih mahal dari ALU adalah, semakin banyak ruang yang penggunaannya di dalam prosesor, dan semakin kekuasaan itu menghilang, dll.
Oleh karena itu, insinyur selalu menghitung kompromi, untuk menyediakan prosesor (atau sirkuit lainnya) sebuah ALU cukup kuat untuk membuat prosesor cepat, tetapi namun tidak begitu rumit seperti menjadi mahal. Bayangkan bahwa Anda perlu untuk menghitung akar kuadrat dari angka; insinyur digital akan memeriksa opsi-opsi berikut untuk melaksanakan operasi ini:
1.      Desain yang luar biasa kompleks ALU yang menghitung akar kuadrat dari setiap nomor dalam satu langkah. This is called calculation in a single clock . Hal ini disebut perhitungan dalam satu jam.
2.      Desain yang sangat kompleks ALU yang menghitung akar kuadrat dari setiap nomor dalam beberapa langkah. Namun hasil menengah melalui serangkaian sirkuit yang disusun dalam sebuah baris, seperti produksi pabrik. Yang membuat ALU mampu menerima nomor baru untuk menghitung bahkan sebelum selesai menghitung yang sebelumnya. Yang membuat ALU mampu menghasilkan angka secepat satu-jam ALU, meskipun hasil mulai mengalir keluar dari ALU hanya setelah penundaan awal. Hal ini disebut perhitungan pipa.
3.      Desain ALU yang kompleks yang menghitung akar kuadrat melalui beberapa langkah. Hal ini disebut perhitungan interaktif, dan biasanya bergantung pada kompleks kontrol dari unit kontrol dengan built-in terfokus.
4.      Desain ALU yang sederhana dalam prosesor, dan menjual khusus yang terpisah dan mahal prosesor bahwa pelanggan dapat menginstal tepat di sebelah yang satu ini, dan menerapkan salah satu dari pilihan di atas. Ini disebut co-prosesor.
5.      Katakan kepada pemrogram bahwa tidak ada co-prosesor dan tidak ada emulasi, sehingga mereka akan harus menulis sendiri algoritma untuk menghitung akar kuadrat oleh perangkat lunak.      Hal ini dilakukan oleh perangkat lunak perpustakaan.
6.      Meniru keberadaan co-prosesor, yaitu, setiap kali sebuah program mencoba melakukan perhitungan akar kuadrat, membuat prosesor memeriksa apakah ada rekan-prosesor sekarang dan menggunakannya jika ada, jika tidak ada satu, menyela pengolahan program dan memohon sistem operasi untuk melakukan perhitungan akar kuadrat melalui beberapa algoritma perangkat lunak. Ini disebut perangkat lunak emulasi.

Pilihan di atas berubah dari yang tercepat dan paling mahal satu untuk yang paling lambat dan paling mahal. Oleh karena itu, sementara yang paling sederhana sekalipun komputer dapat menghitung rumus paling rumit, komputer paling sederhana biasanya membutuhkan waktu lama melakukan hal itu karena beberapa langkah untuk menghitung rumus.
Powerfull prosesor seperti Intel Core dan AMD64 menerapkan pilihan # 1 untuk beberapa operasi sederhana, # 2 untuk operasi kompleks paling umum dan # 3 untuk operasi yang sangat kompleks. Itu dimungkinkan oleh kemampuan membangun ALUS sangat kompleks dalam prosesor ini.

e. Input dan output
Input ke ALU adalah data yang akan dioperasikan pada (disebut Operand) dan kode dari unit kontrol yang menunjukkan operasi untuk melaksanakan. Output adalah hasil dari perhitungan. Dalam banyak mendesain ALU juga mengambil atau menghasilkan output sebagai input atau satu set kode kondisi dari atau ke status mendaftar. Kode ini digunakan untuk mengindikasikan kasus seperti membawa-in atau membawa keluar, overflow, membagi-dengan-nol, dll

f. ALUS vs FPUs
Sebuah Floating Point Unit juga melaksanakan operasi aritmatika antara dua nilai, tetapi mereka melakukannya untuk angka dalam floating point representasi, yang jauh lebih rumit daripada itu melengkapi dua representasi yang digunakan dalam ALU yang khas. Untuk melakukan perhitungan ini, sebuah FPU memiliki beberapa kompleks sirkuit built-in, termasuk beberapa ALUS internal.
Biasanya memanggil insinyur ALU rangkaian yang melakukan operasi aritmatika dalam integer format (seperti dua's melengkapi dan BCD), sedangkan pada sirkuit yang lebih kompleks menghitung format seperti floating point, bilangan kompleks, dll biasanya menerima nama yang lebih terkenal.

0 komentar:

Post a Comment