ALU DAN CU


ALU DAN CU


1.     ALU (Arithmetic Logic Unit)

1.      Pengertian ALU

ALU, singkatan dari Arithmetic And Logic Unit (menurut bahasa Indonesia : unit aritmatika dan logika). ALU adalah sirkuit CPU berkecepatan tinggi yang bertugas menghitung dan membandingkan. Ada pendapat lain tentang pengertian ALU yaitu salah satu bagian dalam dari sebuah mikroprosesor yang berfungsi untuk melakukan operasi hitungan aritmatika dan logika. Contoh operasi aritmatika adalah operasi penjumlahan dan pengurangan, sedangkan contoh operasi logika adalah logika AND,OR,XOR,SHL,SHR.
Tugas utama dari ALU (Arithmetic And Logic Unit) adalah melakukan semua perhitungan aritmatika atau matematika yang terjadi sesuai dengan instruksi program. ALU melakukan operasi arithmatika dengan dasar pertambahan, sedang operasi arithmatika yang lainnya, seperti pengurangan, perkalian, dan pembagian dilakukan dengan dasar penjumlahan. sehingga sirkuit elektronik di ALU yang digunakan untuk melaksanakan operasi arithmatika ini disebut adder.
Tugas lalin dari ALU adalah melakukan keputusan dari operasi logika sesuai dengan instruksi program. Operasi logika (logical operation) meliputi perbandingan dua buah elemen logika dengan menggunakan operator logika, yaitu:
a.       sama dengan (=)
b.      tidak sama dengan (<>)
c.       kurang dari (<)
d.      kurang atau sama dengan dari (<=)
e.       lebih besar dari (>)
f.       lebih besar atau sama dengan dari (>=) (sumber: Buku Pengenalan Komputer, Hal 154-155, karangan Prof.Dr.Jogiyanto H.M, M.B.A.,Akt.)

Fungsi-fungsi yang didefinisikan pada ALU adalah Add (penjumlahan), Addu (penjumlahan tidak bertanda), Sub (pengurangan), Subu (pengurangan tidak bertanda), and, or, xor, sll (shift left logical), srl (shift right logical), sra (shift right arithmetic), dan lain-lain.

2.      Struktur dan Cara Kerja ALU

ALU akan bekerja setelah mendapat perintah dari Control Unit yang terletak pada processor. Contorl Unit akan memberi perintah sesuai dengan komando yang tertulis(terdapat) pada register. Jika isi register memberi perintah untuk melakukan proses penjumlahan, maka PC akan menyuruh ALU untuk melakukan proses penjumlahan. Selain perintah, register pun berisikan operand-operand.
Setelah proses ALU selesai, hasil yang terbentuk adalah sebuah register yang berisi hasil atau suatuperintah lainnya. Selain register, ALU pun mengeluarkan suatu flag yang berfungsi untuk memberi tahu kepada kita tentang kondisi suatu processor seperti apakah processor mengalami overflow atau tidak.
ALU (Arithmethic and Control Unit) adalah bagian dari CPU yang bertanggung jawab dalam proses komputasi dan proses logika. Semua komponen pada CPU bekerja untuk memberikan asupan kepada ALU sehingga bisa dikatakan bahwa ALU adalah inti dari sebuah CPU. Perhitungan pada ALU adalah bentuk bilangan integer yang direpresentasikan dengan bilangan biner. Namun, untuk saat ini, ALU dapat mengerjakan bilangan floating point atau bilangan berkoma, tentu saja dipresentasikan dengan bentuk bilangan biner.
ALU mendapatkan data (operand, operator, dan instruksi) yang akan disimpan dalam register. Kemudian data tersebut diolah dengan aturan dan sistem tertentu berdasarkan perintah control unit. Setelah proses ALU dikerjakan, output akan disimpan dalam register yang dapat berupa sebuah data atau sebuah instruksi. Selain itu, bentuk output yang dihasilkan oleh ALU berupa flag signal. Flag signal ini adalah penanda status dari sebuah CPU.
Bilangan Ineger Bilangan integer (bulat) tidak dikena oleh komputer dengan basis 10. Agar komputer mengenal bilangan integer, maka para ahli komputer mengkonversi basis 10 menjadi basis 2. Seperti kita ketahui, bahwa bilangan berbasis 2 hanya terdiri atas 1 dan 0. Angka 1 dan 0 melambangkan bahwa 1 menyatakan adanya arus listrik dan 0 tidak ada arus listrik. Namun, untuk bilangan negatif, computer tidak mengenal simbol (-). Komputer hanya mengenal simbol 1 dan 0. Untuk mengenali bilangan negatif, maka digunakan suatu metode yang disebut dengan Sign Magnitude Representation.
Metode ini menggunakan simbol 1 pada bagian paling kiri (most significant) bit. Jika terdapat angka 18 = (00010010)b, maka -18 adalah (10010010)b. Akan tetapi, penggunaan sign-magnitude memiliki 2 kelemahan. Yang pertama adalah terdaptnya -0 pada sign magnitude[0=(00000000)b; -0=(10000000)b]. Seperti kita ketahui, angka 0 tidak memiliki nilai negatif sehingga secara logika, sign-magnitude tidak dapat melakukan perhitungan aritmatika secara matematis. Yang kedua adalah, tidak adanya alat atau software satupun yang dapat mendeteksi suatu bit bernilai satu atau nol karena sangat sulit untuk membuat alat seperti itu.
Oleh karena itu, penggunaan sign magnitude pada bilangan negatif tidak digunakan, akan tetapi diganti dengan metode 2′s complement. Metode 2′s complement adalah metode yang digunakan untuk merepresentasikan bilangan negatif pada komputer. Cara yang digunakan adalah dengan nilai terbesar dari biner dikurangin dengan nilai yang ingin dicari negatifnya. Contohnya ketika ingin mencari nilai -18, maka lakukan cara berikut:
a.       ubah angka 18 menjadi biner (00010010)b
b.      karena biner tersebut terdiri dari 8 bit, maka nilai maksimumnya adalah 11111111
c.       kurangkan nilai maksimum dengan biner 18 -> 11111111 – 00010010 = 11101101
d.      kemudian, dengna sentuhan terakhir, kita tambahkan satu -> 11101101 + 00000001 = 11101110


Dengan metode 2′s complement, kedua masalah pada sign magnitude dapat diselesaikan dan komputer dapat menjalankan. Namun, pada 2′s complement, nilai -128 pada biner 8 bit tidak ditemukan karena akan terjadi irelevansi.




2.     CU (Control Unit)

1.      Pengertian CU

Control unit Adalah salah satu bagian dari CPU yang bertugas untuk memberikan arahan / kendali / kontrol terhadap operasi yangdilakukan di bagian ALU (Arithmetic Logical Unit) di dalam CPU tersebut. Output dari CU ini akan mengatur aktivitas dari bagian lainnya dari perangkat CPU tersebut. Pada awal – awal desain komputer, CU diimplementasikan sebagai ad-hoc logic yang susah untuk didesain. Sekarang, CU diimplementasikan sebagai sebuah microprogram yang disimpan di dalam tempat penyimpanan kontrol (control store).
Pada hardwire implementation control unit sebagai combinational circuit yang dibuat berdasarkan control signal yang akan dikeluarkan. Jadi untuk setiap control signal memiliki rangkaian logika tertentu pada control unit yang dapat menghasilkan control signal yang dimaksud. Secara umum untuk metode ini digunakan PLA (programmable logic array) untuk merepresentasikan control signal.
Control unit dari sebuah prosesor memiliki 2 peran penting. Pertama, control unit mengatur processor agar melakukan semua micro-operation dalam urutan yang benar. Kedua, control unit menghasilkan control signal yang memastikan supaya semua micro-operation dieksekusi.
Control signal tersebut secara umum menyebabkan salah satu dari hal berikut: pembukaan atau penutupan dari gerbang-gerbang logika, transfer data antara register-register, dan pengoperasian ALU.


Tugas dari CU adalah sebagai berikut:
1.      Mengatur dan mengendalikan alat-alat input dan output.
2.      Mengambil instruksi-instruksi dari memori utama.
3.      Mengambil data dari memori utama kalau diperlukan oleh proses.
4.      Mengirim instruksi ke ALU bila ada perhitungan aritmatika atau perbandingan logika serta mengawasi kerja.
5.       Menyimpan hasil proses ke memori utama.

2.      Jenis-Jenis Control Unit

1.     Single-Cycle CU
Proses di Single-Cycle CU ini hanya terjadi dalam satu clock cycle, artinya setiap instruksi ada pada satu cycle, maka dari itu tidak memerlukan state. Dengan demikian fungsi boolean masing-masing control line hanya merupakan fungsi dari opcode saja. Clock cycle harus mempunyai panjang yang sama untuk setiap jenis instruksi. Ada dua bagian pada unit kontrol ini, yaitu proses men-decode opcode untuk mengelompokkannya menjadi 4 macam instruksi (yaitu di gerbang AND), dan pemberian sinyal kontrol berdasarkan jenis instruksinya (yaitu gerbang OR).
Keempat jenis instruksi adalah “R-format” (berhubungan dengan register), “lw” (membaca memori), “sw” (menulis ke memori), dan “beq” (branching). Sinyal kontrol yang dihasilkan bergantung pada jenis instruksinya. Misalnya jika melibatkan memori ”R-format” atau ”lw” maka akan sinyal ”Regwrite” akan aktif. Hal lain jika melibatkan memori “lw” atau “sw” maka akan diberi sinyal kontrol ke ALU, yaitu “ALUSrc”.
Desain single-cycle ini lebih dapat bekerja dengan baik dan benar tetapi cycle ini tidak efisien.

2.     Multi-Cycle CU
Berbeda dengan unit kontrol yang single-cycle, unit kontrol yang multi-cycle lebih memiliki banyak fungsi. Dengan memperhatikan state dan opcode, fungsi boolean dari masing – masing output control line dapat ditentukan masing – masingnya akan menjadi fungsi dari 10 buah input logic.
Jadi akan terdapat banyak fungsi boolean, dan masing-masingnya tidak sederhana. Pada cycle ini, sinyal kontrol tidak lagi ditentukan dengan melihat pada bit-bit instruksinya. Bit-bit opcode memberitahukan operasi apa yang selanjutnya akan dijalankan CPU.

3.       Teknik Untuk Mengimplementasikan Control Unit1. Control Unit Microprogrammed

1.     Control Unit Microprogrammed
Untuk menggenerasi signal kontrol dengan cara membaca dan mengeluarkan atau mengalirkan mikroinstruksi.
Terbagi 2 yaitu :
                        - Control Vertikal
Jenis implementasi dimana signal kontrol di kode ke dalam pada bit , kemudian digunakan setelah dikode.
- Control Horizontal
Control dimana setiap bit kontrol mengatur 1 operasi gate atau  mesin.
2.     Control Unit Konvensional /Hard-Wired
·   Untuk menggenerasi signal kontrol.
·   Digunakan pada komputer berkinerja tinggi (super komputer) dan RISC
·    Komputer Mainframe sering menggunakannya untuk aritmetik, logika  dan shift sederhana dan instruksi akses memori.
·   CU Konvensional menghasilkan suatu rangkaian mirointruksi.
·   Perbedaannya dengan CU Microprogrammed terletak pada gerbang logikanya menggenerasi semua mikroorder sehingga eksekusinya lebih cepat.

4.       Cara Kerja Control Unit
Ketika sebuah komputer pertama kali diaktifkan power-nya, maka computer tersebut menjalankan operasi bootstrap. Operasi ini akan membaca sebuah instruksi dari suatu lokasi memory yang telah diketahui sebelumnya dan mentransfer instruksi tersebut ke control unit untuk dieksekusi. Instruksi-intruksi dibaca dari memory dan dieksekusi sesuai dengan urutan penyimpanannya.
Program counter dari suatu computer menyediakan suatu cara untuk menyimpan lokasi instruksi berikutnya. Urutan eksekusi berubah dengan memindah lokasi intruksi baru ke program counter sebelum pembacaan (fetch) instruksi dikerjakan. Sebuah intruksi merupakan kalimat imperatif pendek yang sudah dapat menjelaskan makna dari perintah tersebut. Suatu intruksi terdiri dari :
1.      subjek (komputernya)
2.      verb (suatu kode operasi yang mengindikasikan pekerjaan apa yang akan   dilaksanakan)
3.      objek (operands) yang mengidentifikasikan nilai data atau lokasi memory.
Ketika intruksi-intruksi diterima oleh Control Unit, operation code akan mengaktifkan urutan logic untuk mengeksekusi intruksi-intruksi tersebut. Satu eksekusi program terdiri dari beberapa instruction cycle yang menjadi komponen penyusun dari program tersebut. Sedangkan untuk setiap instruction cycle terdiri dari beberapa sub cycle lagi seperti ftech cycle, indirect cycle, execute cucle,  dan interrupt cycle. Setiap sub cycle ini disusun dari beberapa perintah dasar yang disebut micro operation.

alu dan cu

OLEH : MIFFTAHUL JANNAH N R | 19/11546 | X-11



0 komentar:

Posting Komentar