Apa itu Arithmetic Logic Unit (ALU)? - Definisi dan makna

Arithmetic Logic Unit (ALU): Subunit dalam unit pemrosesan sentral komputer. ALU bentuk lengkap ALU adalah Unit Logika Aritmatika, mengambil data dari register Memori; ALU berisi sirkuit logis untuk melakukan operasi matematika seperti pengurangan, penambahan, perkalian, pembagian, operasi logis dan pergeseran logis pada nilai-nilai yang dipegang dalam register prosesor atau akumulatornya.

Ini adalah ukuran kata yang dapat ditangani oleh ALU yang, lebih dari ukuran lainnya, menentukan ukuran kata dari sebuah prosesor: yaitu, prosesor 32-bit adalah prosesor dengan ALU 32-bit.

Setelah memproses instruksi, hasilnya akan disimpan dalam Accumulator. Unit kontrol menghasilkan sinyal kontrol ke ALU untuk melakukan operasi tertentu. Akumulator digunakan sebagai register default untuk menyimpan data. Ini adalah register 16-bit.

Jenis paling sederhana dari ALU hanya melakukan penambahan, logika Boolean (termasuk BUKAN atau operasi pelengkap) dan menggeser satu kata sedikit ke kanan atau ke kiri, semua operasi aritmatika lainnya disintesis dari urutan operasi primitif ini. Misalnya, pengurangan dilakukan sebagai pelengkap tambah tambah dengan kekuatan dua dengan menggeser, pembagian dengan pengurangan berulang. Namun, ada kecenderungan yang meningkat dalam prosesor modern untuk mengimplementasikan fungsi aritmatika tambahan dalam perangkat keras, seperti unit pengali atau pembagi khusus.

ALU mungkin pernah dianggap sebagai inti dari komputer dalam arti bahwa itu saja yang benar-benar melakukan perhitungan. Namun, dalam arsitektur prosesor SUPERSCALAR modern ini tidak lagi benar, karena biasanya ada beberapa ALU yang berbeda di masing-masing dari beberapa unit integer dan floating-point yang terpisah. ALU mungkin diminta untuk melakukan tidak hanya perhitungan yang disyaratkan oleh program pengguna tetapi juga banyak perhitungan internal yang diperlukan oleh prosesor itu sendiri, misalnya untuk mendapatkan alamat untuk instruksi yang menggunakan MODE ADDRESS yang berbeda, misalnya dengan menambahkan offset ke alamat basis. Namun, sekali lagi, dalam arsitektur modern ada kecenderungan untuk mendistribusikan karya ini ke unit pemuatan / penyimpanan yang terpisah.

Tiga atribut mendasar dari ALU adalah operan dan hasilnya, organisasi fungsional, dan algoritma.

Operan dan Hasil


Operan dan hasil ALU adalah kata-kata mesin dari dua jenis: kata-kata aritmatika, yang mewakili nilai-nilai numerik dalam bentuk digital, dan kata-kata logika, yang mewakili set acak simbol yang dikodekan secara digital. Kata-kata aritmatika terdiri dari vektor digit (string digit).

Operator: Operator adalah operasi aritmatika atau logis yang dilakukan pada operan yang diberikan dalam instruksi.

Bendera: ALU menggunakan banyak jenis bendera selama instruksi pemrosesan. Semua bit ini disimpan dalam register status atau bendera.

Organisasi Fungsional dari ALU
ALU tipikal terdiri dari tiga jenis bagian fungsional: register penyimpanan, logika operasi, dan logika urutan.

Arsitektur Unit Aritmatika Logis (ALU)
ALU dibentuk melalui sirkuit kombinasional. Sirkuit kombinasional menggunakan gerbang logis seperti AND, OR, NOT, XOR untuk konstruksinya. Sirkuit kombinasional tidak memiliki elemen memori untuk menyimpan bit data sebelumnya. Adders adalah bagian utama dari unit logika aritmatika untuk melakukan penambahan, pengurangan dengan komplemen 2.

Unit kontrol menghasilkan sinyal pemilihan untuk memilih fungsi yang dilakukan oleh ALU.

Register: Register adalah komponen yang sangat penting dalam ALU untuk menyimpan instruksi, data antara, output, dan input.

Arithmetic Logical Unit

Gerbang Logika
Gerbang logika sedang membangun blok ALU. Gerbang logika dibangun dari dioda, resistor atau transistor. Gerbang-gerbang ini digunakan dalam sirkuit Terpadu yang mewakili input biner sebagai keadaan 'ON' dan 'OFF'. Angka biner 0 diwakili oleh ‘OFF’ dan Nomor Biner ’1 represented diwakili oleh keadaan‘ ON ’dalam sirkuit terintegrasi.

ATAU gerbang: ATAU gerbang dapat mengambil dua atau lebih input. Output dari gerbang OR selalu 1 jika salah satu input adalah 1 dan 0 jika semua input salah. ATAU gerbang melakukan operasi tambahan pada semua operan yang diberikan dalam instruksi. Itu dapat dinyatakan sebagai X = A + B atau X = A + B + C.

OR Gate

AND gate: AND gate mengambil dua atau lebih input. Output dari gerbang AND adalah 1 jika semua input adalah 1. AND gate memberikan 0 hasil jika ada salah satu input dalam data yang diberikan adalah 0. AND gate melakukan opsi multiplikasi pada semua operan input. Itu diwakili oleh simbol ‘.’. Kita dapat menuliskannya sebagai- X = A.B atau X = A.B.C.

AND Gate

Gerbang TIDAK: Gerbang tidak digunakan untuk membalikkan hasil gerbang atau membalikkan keadaan Boolean dari 0 menjadi 1 dan 1 menjadi 0. Gerbang tidak juga digunakan dengan gerbang ‘AND’ dan ‘OR’. Saat menggunakan dengan gerbang AND atau ‘OR’, NOT gerbang mewakili lingkaran kecil di depan kedua gerbang. Setelah menggunakan NOT gate, AND gate convert menjadi NAND atau ‘OR 'gate convert menjadi NOR.

NOT Gate

Register: Register menyediakan akses memori cepat sebagai perbandingan dengan cache, RAM, hard disk. Mereka dibangun di atas CPU. Daftar berukuran kecil. Memproses data antara yang disimpan dalam register. Sejumlah register digunakan untuk tujuan tertentu. ALU menggunakan empat register tujuan umum. Keempat register ini adalah register 16-bit dibagi menjadi register. Register 16-bit menyiratkan bahwa register dapat menyimpan data maksimum 16 bit.

Akumulator: Akumulator adalah 16 bit secara default dan register tujuan umum. Secara default berarti bahwa setiap operan dalam instruksi tidak menentukan register tertentu untuk memegang operan. Operan waktu itu akan secara otomatis disimpan dalam AC. AC digunakan sebagai dua register terpisah dari 7 bit AL dan AH. AC terletak di dalam ALU. Data antara dan hasil setelah eksekusi akan disimpan di AC.AC menggunakan MBR untuk menangani memori.

Penghitung Program: PC adalah singkatan dari penghitung program. Ini adalah register 16-bit. Itu menghitung jumlah instruksi yang tersisa untuk dieksekusi. Ini bertindak sebagai pointer untuk instruksi dan juga dikenal sebagai register pointer Instruksi. PC memegang alamat instruksi selanjutnya yang akan dieksekusi. Ketika sebuah instruksi diambil dari register. Daftar bertambah secara otomatis dengan satu dan arahkan ke alamat instruksi selanjutnya.

Flag register: ini juga dikenal sebagai register Status atau register Status Program. Register bendera memegang nilai Boolean dari kata status yang digunakan oleh proses.

Bendera Bantu: jika dua angka harus ditambahkan sehingga jika di awal bit yang lebih tinggi ada carry. Ini dikenal sebagai bit bantu.

Carry bit: Carry bit menunjukkan pinjaman atau carry bit yang paling signifikan dengan mengurangi jumlah yang lebih besar dari jumlah yang lebih kecil atau menambahkan dua angka.

Sign Bit: Sign bit adalah bit paling signifikan dalam komplemen 2 untuk menunjukkan bahwa hasilnya negatif atau positif. Ini juga dikenal sebagai bit negatif. Jika carry terakhir di sini setelah jumlah bit paling signifikan terakhir adalah 1, itu dijatuhkan dan hasilnya positif.

Jika tidak ada carry over di sini maka komplemen 2 akan negatif dan bit negatif ditetapkan sebagai 1.

Overflow bit: Overflow bit digunakan untuk menunjukkan bahwa stack overflow atau tidak setelah memproses instruksi. Ini diatur menjadi 1 berarti bahwa tumpukan meluap jika 0 maka kebalikannya terjadi.

Parity Bit: Bit parity mewakili bit aneh atau genap set 1 bit dalam string yang diberikan. Ini digunakan sebagai kode pendeteksi kesalahan. Bit paritas memiliki dua jenis: Bit paritas genap dan bit paritas ganjil.

Di Even parity bit, kami menghitung terjadinya I di string. Jika angka 1 bit ganjil dalam penghitungan maka kita akan menambahkan bit paritas genap untuk membuatnya genap atau jika jumlah bit 1 genap maka bit paritas genap adalah 0.

Data Jumlah bit 1 bit paritas genap Data termasuk bit Paritas Genap

1010111 5 1 11010111

Memory Address Register: Register address menyimpan alamat memori tempat data berada. CPU mengambil alamat dari register dan mengakses lokasi untuk memperoleh data. Dengan cara yang sama, MAR digunakan untuk menulis data ke dalam memori.

Data Register: Data register juga dikenal sebagai Memory Data Register. Itu memegang konten atau instruksi yang diambil dari lokasi memori untuk tujuan membaca dan menulis. Ini adalah register 16-bit yang berarti dapat menyimpan 216bytes data. Dari Data, registrasi memindahkan instruksi dalam register Instruksi dan konten data pindah ke AC untuk manipulasi.

Register instruksi: Instruksi memegang instruksi yang akan dieksekusi. Unit kontrol CPU mengambil instruksi, mendekode dan mengeksekusi instruksi dengan mengakses konten yang sesuai. IR adalah register 16-bit. Ini memiliki dua bidang - Opcode dan operan.

PC memegang alamat instruksi yang akan dieksekusi. Setelah alamat diambil, akan bertambah 1.PC menyimpan alamat instruksi selanjutnya. Dalam situasi ini, IR memegang alamat instruksi saat ini.

Input / output register: Register input menampung input dari perangkat input dan register output menahan output yang harus diberikan ke perangkat output.





Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel