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