Anda di halaman 1dari 15

TUGAS ALU

ARSITEKTUR DAN ORGANISASI KOMPUTER

OLEH:
APRILLIA STEVANI
22076029

DOSEN PENGAMPU:
Dr. Dedy Irfan, S.Pd, M.Kom.

PRODI PENDIDIKAN TEKNIK INFORMATIKA


FAKULTAS TEKNIK
UNIVERSITAS NEGERI PADANG
2023
LATIHAN BAB 9

1. Jelaskan pengertian rangkaian aritmatika?


2. Jelaskan perbedaan half adder dan full adder?
3. Proses perkalian khusus bilangan biner dapat dilakukan dengan menggunakan instruksi
geser kiri, jelaskan!
4. Buatlah contoh perkalian bilangan dengan cara menggeser!
5. Proses pembagian khusus bilangan biner dapat dilakukan dengan menggunakan instruksi
geser kanan,jelaskan!
6. Buatlah contoh pembagian bilangan biner dengan cara menggeser!
7. Jelaskan fungsi fungsi umum yang terdapat pada ALU!
8. Jelaskan proses pemilihan fungsi dalam ALU!
9. Terdapat rangkaian ALU sebagai berikut
Jelaskan fungsi masing masing komponen dalam ALU tersebut!
10. Jelaskan proses pengurangan bilangan dengan menggunakan bilangan two’s complement!
11. Apakah lebar bit hasil perkalian selalu 2 kali lebat bit bilangan yang dikalikan?Jelaskan!
12. Bagaimanakah logika proses dibalik komponen pembanding?
13. Buatlah rangkaian Pembanding 3 masukan 3 bit!
14. Apakah kesamaan perkalian bilangan biner dan decimal?Jelaskan!
15. Jelaskan algoritma pada proses pembagian bilangan!
16. Jelaskan proses perkalian 11012 dengan 10112!
17. Berapakah hasil proses operasi berikut : Bilangan 11011 dilakukan instruksi ASR3
18. Berapakah hasil proses operasi berikut : Bilangan 10001 dilakukan instruksi ROR3
19. Jelaskan proses yang terjadi pada arithmetic rotator!
20. Jelaskan komponen lain yang anda ketahui yang berada pada ALU!.
JAWAB:
1. Rangkaian aritmatika pada Arithmetic Logic Unit (ALU) adalah bagian dari unit
pemrosesan inti pada CPU (Central Processing Unit) yang bertanggung jawab untuk
melakukan operasi matematika dan logika pada bilangan biner.

Rangkaian aritmatika pada ALU terdiri dari beberapa sub-bagian, seperti register,
penjumlah-pengurang (add-subtract), pembanding (comparator), dan lain sebagainya.
Sub-bagian tersebut bekerja bersama untuk melakukan operasi aritmatika, seperti
penjumlahan, pengurangan, perkalian, dan pembagian, pada bilangan biner.

Salah satu fungsi utama dari rangkaian aritmatika pada ALU adalah untuk melakukan
operasi aritmatika pada bilangan biner yang diterima dari register atau memori, dan
menghasilkan keluaran dalam bentuk biner pula. Rangkaian aritmatika pada ALU juga
mampu menghasilkan status flag yang mengindikasikan hasil operasi, seperti carry flag
(CF) dan zero flag (ZF).

Selain operasi aritmatika, rangkaian aritmatika pada ALU juga dapat melakukan operasi
logika pada bilangan biner, seperti AND, OR, NOT, dan XOR. Hal ini memungkinkan
ALU untuk melakukan operasi logika pada data biner dan menghasilkan keluaran yang
sesuai.

Dalam rangkaian aritmatika pada ALU, setiap operasi aritmatika atau logika
diimplementasikan dengan menggunakan rangkaian elektronik khusus, seperti gerbang
logika, flip-flop, dan register. Perancangan rangkaian ini sangat penting untuk
memastikan bahwa ALU dapat melakukan operasi matematika dan logika dengan akurat
dan efisien.

2. Half adder dan full adder adalah dua jenis rangkaian digital yang digunakan untuk
melakukan operasi penjumlahan pada bilangan biner. Meskipun keduanya memiliki
fungsi yang sama, namun terdapat perbedaan antara keduanya. Berikut adalah penjelasan
perbedaan antara half adder dan full adder:
 Jumlah bit yang dapat dihitung Half adder hanya dapat melakukan penjumlahan
pada dua bit input, yaitu bit A dan bit B, dan menghasilkan dua bit output, yaitu
bit sum dan bit carry. Sementara itu, full adder dapat melakukan penjumlahan
pada tiga bit input, yaitu bit A, bit B, dan bit carry-in, dan menghasilkan dua bit
output, yaitu bit sum dan bit carry-out.
 Kemampuan mengatasi carry Half adder tidak dapat mengatasi carry dari hasil
penjumlahan sebelumnya. Jika terdapat carry, maka half adder akan menghasilkan
hasil yang salah. Sementara itu, full adder memiliki input carry-in, sehingga dapat
mengatasi carry dari hasil penjumlahan sebelumnya dan menghasilkan carry-out
yang benar.
 Penggunaan Half adder sering digunakan dalam desain sederhana, seperti untuk
menghitung alamat memori dalam mikrokontroler atau dalam perhitungan
kecepatan dalam rangkaian gerbang logika. Sementara itu, full adder digunakan
pada rangkaian yang lebih kompleks, seperti dalam perhitungan alamat pada CPU
dan dalam pembuatan alat penghitung.
Dalam rangkaian digital, pemilihan antara half adder dan full adder tergantung pada
kompleksitas tugas yang harus dijalankan. Jika tugasnya sederhana dan hanya
memerlukan penjumlahan dua bit, maka half adder cukup untuk digunakan. Namun, jika
tugasnya lebih kompleks dan memerlukan penjumlahan tiga bit atau lebih, maka full
adder harus digunakan untuk memastikan akurasi hasil yang dihasilkan.

3. Instruksi geser kiri (left shift) adalah operasi bitwise pada bilangan biner, dimana setiap
bit pada bilangan tersebut akan digeser ke kiri sebanyak n posisi, dimana n adalah
bilangan bulat non-negatif. Jika bit yang digeser keluar dari bit terkiri akan diabaikan,
dan bit kosong di kanan akan diisi dengan nilai 0.
Proses perkalian khusus bilangan biner dapat dilakukan dengan menggunakan
instruksi geser kiri, dimana kita dapat memanfaatkan sifat perkalian yang bersifat
distributif pada bilangan biner. Misalnya, jika kita ingin mengalikan bilangan biner A
dengan bilangan biner B, maka kita dapat mengalikan bit A ke-0 dengan seluruh bit B
dan hasilnya akan disimpan pada register sementara. Kemudian, kita geser hasil tersebut
ke kiri sebanyak satu posisi dan mengalikan bit A ke-1 dengan seluruh bit B, dan hasilnya
akan ditambahkan dengan hasil sebelumnya yang telah digeser. Proses ini dilakukan
terus-menerus hingga semua bit A telah dikalikan dengan seluruh bit B.

Contoh: Misalnya kita ingin mengalikan bilangan biner A = 1101 dengan bilangan biner
B = 101, maka langkah-langkahnya adalah sebagai berikut:
 Kita mulai dengan mengalikan bit A ke-0 dengan seluruh bit B, maka hasilnya
adalah 1101 x 1 = 1101. Hasil ini akan disimpan pada register sementara.

 Kemudian, kita geser hasil sebelumnya ke kiri sebanyak satu posisi dan
mengalikan bit A ke-1 dengan seluruh bit B. Hasilnya adalah 1101 x 0 = 0000.
Karena bit yang digeser keluar dari bit terkiri diabaikan, maka hasilnya adalah
1010. Kita kemudian tambahkan hasil ini dengan hasil sebelumnya yang telah
digeser, sehingga hasil akhirnya adalah 1010 + 11010 = 100000.

 Proses ini dilakukan terus-menerus untuk semua bit A, dan pada akhirnya kita
akan mendapatkan hasil perkalian A dan B.

Dalam proses ini, instruksi geser kiri sangat berguna untuk mempercepat proses
perkalian, karena dapat menghindari penggunaan operasi perkalian dan pembagian yang
memerlukan waktu yang lebih lama. Namun, metode ini hanya efektif untuk bilangan
yang lebih kecil dan memerlukan penggunaan register yang cukup besar untuk
menyimpan hasil sementara.

4. Misalkan kita ingin mengalikan bilangan biner A = 110 dengan bilangan biner B = 101,
maka langkah-langkahnya adalah sebagai berikut:

 Kita mulai dengan mengalikan bit A ke-0 dengan seluruh bit B, maka hasilnya
adalah 110 x 1 = 110. Hasil ini akan disimpan pada register sementara.
 Kemudian, kita geser hasil sebelumnya ke kiri sebanyak satu posisi dan
mengalikan bit A ke-1 dengan seluruh bit B. Hasilnya adalah 110 x 0 = 000.
Karena bit yang digeser keluar dari bit terkiri diabaikan, maka hasilnya adalah
1100. Kita kemudian tambahkan hasil ini dengan hasil sebelumnya yang telah
digeser, sehingga hasil akhirnya adalah 10110.
 Proses ini dilakukan terus-menerus untuk semua bit A, dan pada akhirnya kita
akan mendapatkan hasil perkalian A dan B. Dalam contoh ini, hasil perkalian A
dan B adalah 10110.

5. Proses pembagian khusus bilangan biner dapat dilakukan dengan menggunakan instruksi
geser kanan, dimana kita dapat memanfaatkan sifat pembagian yang bersifat distributif
pada bilangan biner. Misalnya, jika kita ingin membagi bilangan biner A dengan bilangan
biner B, maka kita dapat membagi bit A ke-0 dengan seluruh bit B dan hasilnya akan
disimpan pada register sementara. Kemudian, kita geser hasil tersebut ke kanan sebanyak
satu posisi dan membaginya dengan bit A ke-1. Proses ini dilakukan terus-menerus
hingga semua bit A telah dibagi dengan seluruh bit B.

6. Misalkan kita ingin membagi bilangan biner A = 1101 dengan bilangan biner B = 10,
maka langkah-langkahnya adalah sebagai berikut:
 Kita mulai dengan membagi bit A ke-0 dengan seluruh bit B, maka hasilnya
adalah 1101 / 10 = 110. Hasil ini akan disimpan pada register sementara.
 Kemudian, kita geser hasil sebelumnya ke kanan sebanyak satu posisi dan
membaginya dengan bit A ke-1. Hasilnya adalah 11 / 10 = 1 sisa 1. Kita
kemudian tambahkan hasil sisa ini dengan hasil sebelumnya yang telah digeser,
sehingga hasil akhirnya adalah 111 sisa 0.
 Proses ini dilakukan terus-menerus untuk semua bit A, dan pada akhirnya kita
akan mendapatkan hasil pembagian A dan B. Dalam contoh ini, hasil pembagian
A dan B adalah 111 sisa 0.
7. Berikut adalah beberapa fungsi umum yang terdapat pada ALU:

 Penjumlahan (Addition): ALU dapat melakukan operasi penjumlahan dua


bilangan, baik itu bilangan biner, desimal, atau dalam format lainnya. Dalam
proses ini, ALU menerima dua input dan mengeluarkan output yang merupakan
hasil penjumlahan dari kedua input tersebut.
 Pengurangan (Subtraction): ALU dapat melakukan operasi pengurangan dua
bilangan, baik itu bilangan biner, desimal, atau dalam format lainnya. Dalam
proses ini, ALU menerima dua input dan mengeluarkan output yang merupakan
hasil pengurangan dari kedua input tersebut.

 Perkalian (Multiplication): ALU dapat melakukan operasi perkalian dua bilangan,


baik itu bilangan biner, desimal, atau dalam format lainnya. Dalam proses ini,
ALU menerima dua input dan mengeluarkan output yang merupakan hasil
perkalian dari kedua input tersebut.

 Pembagian (Division): ALU dapat melakukan operasi pembagian dua bilangan,


baik itu bilangan biner, desimal, atau dalam format lainnya. Dalam proses ini,
ALU menerima dua input dan mengeluarkan output yang merupakan hasil
pembagian dari kedua input tersebut.

 Pembandingan (Comparison): ALU dapat melakukan operasi pembandingan dua


bilangan, baik itu bilangan biner, desimal, atau dalam format lainnya. Dalam
proses ini, ALU menerima dua input dan mengeluarkan output yang merupakan
hasil perbandingan antara kedua input tersebut (misalnya, apakah input pertama
lebih besar dari input kedua).

 Logika Boolean (Boolean Logic): ALU dapat melakukan operasi logika boolean
pada bit-bit data. Operasi ini meliputi operasi AND, OR, NOT, XOR, dan lain-
lain.

 Geser Bit (Bit Shifting): ALU dapat melakukan operasi geser bit pada data.
Operasi ini meliputi geser bit ke kiri (left shift) dan geser bit ke kanan (right
shift).

Fungsi-fungsi umum di atas merupakan fungsi dasar yang terdapat pada ALU, dan
tergantung pada arsitektur dan implementasi CPU, ALU mungkin juga memiliki fungsi
tambahan lainnya yang lebih kompleks.

8. Proses pemilihan fungsi pada ALU dilakukan dengan menggunakan sinyal kontrol yang
diberikan oleh unit kontrol CPU. Sinyal kontrol ini mengatur bagaimana ALU akan
beroperasi pada setiap siklus instruksi, dan menentukan jenis operasi aritmatika dan
logika yang akan dilakukan pada data.

Pada umumnya, sinyal kontrol terdiri dari beberapa bit yang mewakili operasi yang akan
dilakukan pada ALU. Bit-bit ini biasanya disebut sebagai sinyal fungsi atau kode operasi.
Contohnya, dalam arsitektur komputer MIPS, sinyal kontrol terdiri dari beberapa bit
seperti ALUOp, Funct, dan ALUSrc. ALUOp digunakan untuk menentukan operasi ALU
yang akan dilakukan (seperti penjumlahan atau pengurangan), sementara Funct
digunakan untuk menentukan operasi yang lebih kompleks seperti perkalian dan
pembagian. ALUSrc digunakan untuk menentukan apakah input ALU berasal dari
register atau dari konstanta.

Setelah sinyal kontrol diterima oleh ALU, ALU akan melakukan operasi yang sesuai
dengan sinyal kontrol tersebut. Hasil dari operasi tersebut kemudian dikirim ke register
atau ke alamat memori yang ditentukan oleh instruksi.

Proses pemilihan fungsi pada ALU sangat penting karena menentukan bagaimana CPU
akan mengolah data pada setiap siklus instruksi. Oleh karena itu, sinyal kontrol harus
dirancang dengan hati-hati dan sesuai dengan arsitektur dan kebutuhan CPU yang
digunakan.

9. bahwa fungsi dari rangkaian terdapat 2 inputan A dan B atau B’ dimana 𝑭𝟐 sebagai
pengendali masukan dari A dan B, terdapat juga fungsi A AND B yang didapat dari F2:0
yang berlogika 000, juga terdapat fungsi A OR B hasil kombinasi dari 001, fungsi A+B
dari logika masukan 010 A AND B’ dari 100 A OR B’ dari 101, A-B dari 110, dan SLT
dari 111
10. Proses pengurangan bilangan dengan menggunakan bilangan two's complement
dilakukan dengan mengubah bilangan yang akan dikurangkan menjadi bilangan two's
complement, lalu menambahkannya dengan bilangan yang akan membalikkan operasi
pengurangan menjadi penambahan.

Langkah-langkah untuk melakukan pengurangan bilangan dengan menggunakan bilangan


two's complement adalah sebagai berikut:

 Ubah bilangan yang akan dikurangkan menjadi bilangan two's complement


dengan cara membalik semua bit dan menambahkan 1. Misalnya, jika bilangan
yang akan dikurangkan adalah -7, maka bentuk two's complementnya adalah
1001.

 Tambahkan bilangan yang akan membalikkan operasi pengurangan menjadi


penambahan. Misalnya, jika kita ingin mengurangkan -7 dari 12, maka kita perlu
menambahkan 12 dengan two's complement dari -7. Two's complement dari -7
adalah 1001, sehingga kita perlu menambahkan 12 dengan 1001.

 Lakukan penjumlahan bit per bit, mulai dari bit paling rendah (bit ke-0) hingga bit
paling tinggi. Jika hasil penjumlahan pada suatu bit lebih besar dari 1, maka
tambahkan nilai 1 pada bit berikutnya (carry).

 Jika terdapat carry pada bit paling tinggi, abaikan carry tersebut dan hasilnya
adalah bilangan negatif dengan bentuk two's complement yang sesuai. Jika tidak
terdapat carry pada bit paling tinggi, maka hasilnya adalah bilangan positif.

11. Tidak selalu. Lebar bit hasil perkalian tergantung pada besarnya bilangan yang dikalikan.
Jika kedua bilangan memiliki nilai yang kecil, maka lebar bit hasil perkalian mungkin
tidak perlu 2 kali dari lebar bit bilangan yang dikalikan. Namun, jika kedua bilangan
memiliki nilai yang besar, maka lebar bit hasil perkalian harus lebih besar daripada lebar
bit bilangan yang dikalikan untuk menghindari overflow atau kelebihan bit.
Selain itu, dalam beberapa kasus, perlu dilakukan pembulatan atau penyisipan bit
tambahan pada hasil perkalian agar nilai hasil perkalian yang benar dapat diperoleh.
Misalnya, jika melakukan perkalian bilangan 8-bit dengan 8-bit, maka hasilnya adalah
16-bit. Namun, jika hanya ingin menggunakan 12-bit, maka perlu dilakukan pembulatan
atau penyisipan bit tambahan pada hasil perkalian.

Jadi, lebar bit hasil perkalian tidak selalu 2 kali lebar bit bilangan yang dikalikan, namun
tergantung pada besarnya bilangan yang dikalikan dan kebutuhan akurasi data.

12. Logika proses dibalik pada komponen pembanding digunakan untuk membandingkan
dua bilangan dalam bentuk biner dan menghasilkan keluaran logika yang menunjukkan
hasil dari perbandingan tersebut. Proses ini biasanya digunakan dalam perangkat keras
seperti komparator, yang digunakan untuk membandingkan dua sinyal dalam rangkaian
elektronik.

Dalam komparator, input yang akan dibandingkan diubah ke dalam bentuk biner dan
kemudian dibandingkan bit per bit dari bit paling signifikan hingga bit paling tidak
signifikan. Proses perbandingan dilakukan dengan menggunakan gerbang logika seperti
AND, OR, dan NOT, yang disusun sedemikian rupa untuk menghasilkan keluaran yang
sesuai dengan hasil perbandingan.

Jika kedua bilangan sama, maka keluaran logika yang dihasilkan adalah "1" pada setiap
bit. Jika bilangan pertama lebih besar daripada bilangan kedua, maka keluaran logika
yang dihasilkan adalah "1" pada bit paling signifikan, dan "0" pada bit lainnya. Jika
bilangan kedua lebih besar daripada bilangan pertama, maka keluaran logika yang
dihasilkan adalah "0" pada bit paling signifikan, dan "1" pada bit lainnya.

Dalam proses ini, logika proses dibalik berarti membalikkan keluaran logika yang
dihasilkan dari komparator sehingga keluaran yang dihasilkan sesuai dengan kebutuhan.
Misalnya, jika ingin mengetahui apakah kedua bilangan sama, maka keluaran logika yang
dihasilkan harus diubah menjadi "0" jika semua bit adalah "1", atau "1" jika ada
setidaknya satu bit yang berbeda antara kedua bilangan.

13.
14. Kesamaan perkalian bilangan biner dan decimal adalah pada prinsip dasar perkalian,
yaitu mengalikan digit/digit biner atau desimal yang setara. Proses perkalian pada kedua
sistem bilangan ini menggunakan cara yang sama, yaitu dengan mengalikan digit yang
ada pada posisi yang sama dan menambahkan hasilnya.

Namun, terdapat perbedaan dalam representasi dan pengolahan bilangan biner dan
desimal. Pada bilangan desimal, setiap digit memiliki nilai yang berbeda berdasarkan
posisi yang ditempati, sedangkan pada bilangan biner setiap digit hanya memiliki nilai 0
atau 1 dan juga memiliki nilai yang berbeda berdasarkan posisi yang ditempati.

Selain itu, penggunaan sistem bilangan biner lebih umum digunakan dalam aplikasi
komputer dan elektronik, sedangkan bilangan desimal lebih umum digunakan dalam
kehidupan sehari-hari. Perkalian bilangan biner sering digunakan dalam operasi
aritmatika pada komputer, sedangkan perkalian bilangan desimal sering digunakan dalam
perhitungan keuangan dan statistik.

Dalam hal perhitungan, perkalian bilangan biner dan desimal juga memiliki perbedaan
dalam kecepatan dan akurasi. Perkalian bilangan biner pada dasarnya adalah operasi bit
pada tingkat rendah, yang memungkinkan untuk dilakukan secara cepat dalam perangkat
keras. Sementara itu, perkalian bilangan desimal dapat memerlukan lebih banyak operasi
aritmatika dan memerlukan lebih banyak waktu dan sumber daya komputasi.
15. Algoritma pada proses pembagian bilangan pada dasarnya adalah sebagai berikut:
 Tentukan bilangan yang akan dibagi (dividen) dan bilangan yang akan menjadi
pembagi (divisor).
 Atur bit pada hasil pembagian (quotient) menjadi 0.
 Tentukan bit yang akan ditempatkan pada hasil pembagian. Bit ini harus sama
dengan bit terbesar pada dividen yang masih lebih besar atau sama dengan
divisor. Jika bit ini adalah 0, tempatkan 0 pada hasil pembagian.
 Jika bit tersebut adalah 1, hitung selisih antara bit terbesar pada dividen dan
divisor, dan tempatkan hasilnya pada bit terbesar pada sisa (remainder).
 Geser dividen ke kiri 1 bit dan tempatkan sisa pada bit terkecil pada dividen.
 Ulangi langkah 3-5 hingga bit terkecil pada dividen menjadi 0 atau seluruh bit
pada hasil pembagian terisi.
 Hasil dari pembagian adalah nilai yang terdapat pada hasil pembagian.
16. Untuk melakukan perkalian biner antara bilangan 1101 dan 1011, kita bisa menggunakan
metode perkalian seperti yang dilakukan pada perkalian desimal, yaitu perkalian setiap
digit kemudian menjumlahkan hasilnya. Berikut ini adalah langkah-langkah untuk
melakukan perkalian tersebut:
1101
x 1011
-------
1101 (0 x 1101)
1101 (1 x 1101, geser 1 digit ke kiri)
1101 (1 x 1101, geser 2 digit ke kiri)
+0000 (0 x 1101, geser 3 digit ke kiri)
-------
1000111
Jadi hasil perkalian dari 1101 dan 1011 adalah 1000111 dalam bentuk bilangan biner.

17. ASR atau Arithmetic Shift Right adalah sebuah instruksi untuk melakukan penggeseran
bit ke kanan sebanyak n kali. Pada kasus ini, instruksi ASR3 akan menggeser bilangan
11011 ke kanan sebanyak 3 kali, sehingga digit terkanan akan hilang dan tiga digit terkiri
akan diisi dengan nilai bit yang sama dengan digit terkiri sebelum dilakukan
penggeseran.

Berikut ini adalah langkah-langkah untuk melakukan instruksi ASR3 pada bilangan
11011:
11011 >> 3 = 00011
Jadi hasil dari instruksi ASR3 pada bilangan 11011 adalah 00011 dalam bentuk bilangan
biner.

18. ROR atau Rotate Right adalah sebuah instruksi untuk melakukan penggeseran bit ke
kanan sebanyak n kali dengan memutar bit-bit tersebut sehingga digit terkanan akan
menjadi digit terkiri.

Pada kasus ini, instruksi ROR3 akan menggeser bilangan 10001 ke kanan sebanyak 3 kali
dengan memutar bit-bit tersebut, sehingga digit terkanan akan menjadi digit terkiri dan
tiga digit terkiri akan menjadi tiga digit terkanan.

Berikut ini adalah langkah-langkah untuk melakukan instruksi ROR3 pada bilangan
10001:

10001 >> 3 | 10001 << (5 - 3) = 00110 | 00100 = 00110

Jadi hasil dari instruksi ROR3 pada bilangan 10001 adalah 00110 dalam bentuk bilangan
biner.

19. Arithmetic rotator adalah sebuah komponen pada unit pemrosesan pusat (CPU) yang
berfungsi untuk melakukan operasi penggeseran bit (shift) dan rotasi bit (rotate) pada
bilangan biner dengan tujuan untuk melakukan operasi matematika seperti penjumlahan,
pengurangan, perkalian, dan pembagian.

Proses yang terjadi pada arithmetic rotator tergantung pada jenis operasi yang dilakukan,
apakah itu penggeseran bit ke kiri (shift left), penggeseran bit ke kanan (shift right), rotasi
bit ke kiri (rotate left), atau rotasi bit ke kanan (rotate right).

Pada penggeseran bit, arithmetic rotator akan menggeser bit pada bilangan ke arah yang
diinginkan dan mengisi digit kosong dengan nilai nol (untuk penggeseran ke kiri) atau
nilai bit yang sama dengan digit yang digeser (untuk penggeseran ke kanan).

Pada rotasi bit, arithmetic rotator akan memutar bit pada bilangan ke arah yang
diinginkan sehingga digit terkanan akan menjadi digit terkiri (untuk rotasi ke kiri) atau
digit terkiri akan menjadi digit terkanan (untuk rotasi ke kanan).

Dalam kedua operasi tersebut, arithmetic rotator akan menghasilkan bilangan biner baru
yang akan digunakan untuk operasi selanjutnya pada unit pemrosesan pusat (CPU).

20. Selain adder dan arithmetic logic unit (ALU), beberapa komponen lain yang dapat
ditemukan pada ALU antara lain:

 Comparator: sebuah komponen yang digunakan untuk membandingkan dua bilangan


biner, untuk menghasilkan keluaran logika sebagai jawaban yang menunjukkan
apakah bilangan pertama lebih besar, sama besar, atau lebih kecil dari bilangan
kedua.

 Multiplexer (MUX): sebuah komponen yang digunakan untuk memilih satu dari
beberapa input, tergantung pada nilai sinyal kontrol. MUX dapat digunakan pada
ALU untuk memilih salah satu input yang akan digunakan dalam operasi aritmatika
atau logika.

 Demultiplexer (DEMUX): kebalikan dari MUX, sebuah komponen yang digunakan


untuk membagi satu input menjadi beberapa output, tergantung pada nilai sinyal
kontrol. DEMUX dapat digunakan pada ALU untuk membagi satu sinyal keluaran
menjadi beberapa output, seperti hasil operasi dan status flag.
 Register: sebuah komponen penyimpanan data yang digunakan untuk menyimpan
data sementara selama proses operasi. Register dapat digunakan pada ALU sebagai
sumber data atau sebagai tempat penyimpanan hasil operasi.

 Counter: sebuah komponen yang digunakan untuk menghitung jumlah siklus clock
yang terjadi dalam sistem. Counter dapat digunakan pada ALU untuk menghitung
jumlah operasi aritmatika atau logika yang telah dilakukan oleh sistem.

Anda mungkin juga menyukai