Senin, 09 Desember 2013

Arithmetic logic unit (ALU)


Dalam komputasi , sebuah unit aritmatika dan logika (ALU) adalah rangkaian digital yang melakukan bilangan bulat aritmatika dan logis operasi. ALU adalah sebuah blok bangunan fundamental dari central processing unit komputer, dan bahkan yang paling sederhana mikroprosesor berisi satu untuk tujuan seperti menjaga timer. Prosesor ditemukan di dalam CPU dan graphics processing unit modern ( GPU ) mengakomodasi sangat kuat dan sangat kompleks ALUS, sebuah komponen tunggal mungkin berisi sejumlah ALUs.

Matematika John von Neumann mengusulkan konsep ALU pada tahun 1945, ketika ia menulis sebuah laporan mengenai fondasi untuk sebuah komputer baru yang disebut EDVAC . Penelitian ALUS tetap sebagai bagian penting dari ilmu komputer , jatuh di bawah Aritmatika dan logika struktur dalam Sistem Klasifikasi ACM Computing .


ALUs dirancang untuk melakukan perhitungan integer. Oleh karena itu, selain menambah dan mengurangkan angka, ALUs sering menangani perkalian dari dua bilangan bulat, karena hasilnya juga integer. Namun, ALUs biasanya tidak melakukan operasi divisi, karena hasilnya mungkin sebagian kecil, atau "floating point" nomor. Sebaliknya, operasi divisi biasanya ditangani oleh unit floating-point (FPU), yang juga melakukan perhitungan non-bilangan bulat lainnya.

Sebagian besar dari operasi prosesor dilakukan oleh satu atau lebih ALUS. Sebuah ALU beban data dari register masukan . Kemudian eksternal unit kontrol memberitahu ALU apa yang melakukan operasi pada data, dan kemudian ALU menyimpan hasilnya ke sebuah output mendaftar. Unit kontrol bertanggung jawab untuk memindahkan data diproses antara register, ALU dan memori.

Sistem numerik
Sebuah ALU harus memproses angka menggunakan format yang sama sebagai bagian dari rangkaian digital. Format prosesor modern hampir selalu melengkapi dua itu representasi bilangan biner. Komputer awal yang digunakan berbagai sistem bilangan, termasuk pelengkap yang ' , melengkapi dua itu , tanda-besarnya format dan sistem desimal bahkan benar, dengan berbagai representasi dari angka.

Pelengkap yang 'dan dua' s sistem nomor pelengkap memungkinkan untuk pengurangan akan dicapai dengan menambahkan negatif dari angka dalam cara yang sangat sederhana yang meniadakan kebutuhan untuk sirkuit khusus untuk melakukan pengurangan, namun, menghitung negatif dalam melengkapi dua itu membutuhkan menambahkan satu a dengan bit orde rendah dan menyebarkan carry. Cara alternatif untuk melakukan dua 's melengkapi pengurangan dari A-B adalah untuk menyajikan satu untuk input carry adder dan menggunakan ¬ B daripada B sebagai input kedua. Aritmatika, logika dan pergeseran sirkuit diperkenalkan pada bagian sebelumnya dapat digabungkan menjadi satu ALU dengan pemilihan umum.

Operasi kompleks
Insinyur dapat merancang sebuah Arithmetic Logic Unit untuk menghitung banyaknya produksi. Semakin kompleks operasi, semakin mahal ALU adalah, semakin banyak ruang menggunakan dalam prosesor, dan semakin besar kekuatan itu menghilang. Oleh karena itu, insinyur kompromi. Mereka membuat ALU cukup kuat untuk membuat prosesor cepat, namun tidak begitu rumit seperti menjadi mahal. Misalnya, menghitung akar kuadrat dari angka mungkin menggunakan:

Perhitungan dalam sebuah jam tunggal Desain sebuah ALU sangat kompleks yang menghitung akar kuadrat dari setiap nomor dalam satu langkah.

Pipa Perhitungan Desain ALU sangat kompleks yang menghitung akar kuadrat dari setiap nomor dalam beberapa langkah. Hasil antara pergi melalui serangkaian sirkuit diatur seperti sebuah jalur produksi pabrik. ALU dapat menerima nomor baru untuk menghitung bahkan sebelum setelah selesai yang sebelumnya. The ALU sekarang dapat menghasilkan angka secepat satu-jam ALU, meskipun hasilnya mulai mengalir keluar dari ALU hanya setelah penundaan awal.

Perhitungan berulang Desain ALU kompleks yang menghitung akar kuadrat melalui beberapa langkah. Hal ini biasanya bergantung pada kontrol dari kompleks unit kontrol dengan built-in microcode .

Co-prosesor Desain ALU sederhana di prosesor, dan menjual prosesor khusus dan mahal terpisah bahwa pelanggan dapat menginstal tepat di samping satu ini, dan menerapkan salah satu opsi di atas.

Software perpustakaan Katakan programer bahwa tidak ada co-prosesor dan tidak ada emulasi , sehingga mereka akan harus menulis algoritma mereka sendiri untuk menghitung akar kuadrat oleh perangkat lunak.

Software emulasi Meniru keberadaan co-prosesor , yaitu, setiap kali sebuah program mencoba untuk melakukan perhitungan akar kuadrat, membuat prosesor memeriksa jika ada co-prosesor sekarang dan menggunakannya jika ada satu, jika tidak ada satu , mengganggu pengolahan program dan memohon sistem operasi untuk melakukan perhitungan akar kuadrat melalui beberapa algoritma perangkat lunak.

Pilihan di atas pergi dari yang tercepat dan paling mahal dengan yang paling lambat dan paling mahal. Oleh karena itu, sementara bahkan komputer sederhana dapat menghitung rumus paling rumit, komputer paling sederhana biasanya akan memakan waktu lama melakukan hal itu karena beberapa langkah untuk menghitung formula.

Prosesor yang kuat seperti Intel Core dan AMD64 menerapkan opsi # 1 untuk beberapa operasi sederhana, # 2 untuk operasi kompleks paling umum dan # 3 untuk operasi yang sangat kompleks.

Input dan output
Input ke ALU adalah data yang akan dioperasikan pada (disebut operan ) dan kode dari unit kontrol yang menunjukkan operasi untuk melakukan. Output-nya adalah hasil dari perhitungan. Satu hal yang desainer harus diingat adalah apakah ALU akan beroperasi pada big-endian angka atau little-endian.

Dalam banyak desain, ALU juga mengambil atau menghasilkan input atau output satu set kode kondisi dari atau ke status mendaftar . Kode ini digunakan untuk mengindikasikan kasus seperti membawa -in atau membawa-out, meluap , membagi-dengan-nol , dll

Sebuah unit floating-point juga melakukan operasi aritmatika antara dua nilai, tetapi mereka melakukannya untuk angka dalam floating-point representasi, yang jauh lebih rumit daripada melengkapi dua itu representasi yang digunakan dalam ALU yang khas. Untuk melakukan perhitungan ini, sebuah FPU memiliki beberapa sirkuit kompleks built-in, termasuk beberapa ALUS internal yang.

Dalam praktik modern, insinyur biasanya merujuk ke ALU sebagai rangkaian yang melakukan operasi aritmatika integer (seperti melengkapi dua itu dan BCD ). Sirkuit yang menghitung format yang lebih kompleks seperti floating point , bilangan kompleks , dll biasanya menerima nama yang lebih spesifik seperti FPU.

Tidak ada komentar:

Posting Komentar