Kamis, 05 Januari 2012

Artikel tentang ALU

Biasanya disingkat dengan ALU. Arithmetic Logical Unit merupakan unit penalaran secara logic. ALU ini adalah merupakan Sirkuit CPU berkecepatan tinggi yang bertugas menghitung dan membandingkan. Angka-angka dikirim dari memori ke ALU untuk dikalkulasi dan kemudian dikirim kembali ke memori. Jika CPU diasumsikan sebagai otaknya komputer, maka ada suatu alat lain di dalam CPU tersebut yang kenal dengan nama Arithmetic Logical Unit (ALU), ALU inilah yang berfikir untuk menjalankan perintah yang diberikan kepada CPU tersebut. ALU sendiri merupakan suatu kesatuan alat yang terdiri dari berbagai komponen perangkat elektronika termasuk di dalamnya sekelompok transistor, yang dikenal dengan nama logic gate, dimana logic gate ini berfungsi untuk melaksanakan perintah dasar matematika dan operasi logika. Kumpulan susunan dari logic gate inilah yang dapat melakukan perintah perhitungan matematika yang lebih komplit seperti perintah “add” untuk menambahkan bilangan, atau “devide” atau pembagian dari suatu bilangan. Selain perintah matematika yang lebih komplit, kumpulan dari logic gate ini juga mampu untuk melaksanakan perintah yang berhubungan dengan logika, seperti hasil perbandingan dua buah bilangan. Instruksi yang dapat dilaksanakan oleh ALU disebut dengan instruction set. Perintah yang ada pada masing-masing CPU belum tentu sama, terutama CPU yang dibuat oleh pembuat yang berbeda, katakanlah misalnya perintah yang dilaksanakan oleh CPU buatan Intel belum tentu sama dengan CPU yang dibuat oleh Sun atau perusahaan pembuat mikroprosesor lainnya. Jika perintah yang dijalankan oleh suatu CPU dengan CPU lainnya adalah sama, maka pada level inilah suatu sistem dikatakan compatible. Sehingga sebuah program atau perangkat lunak atau software yang dibuat berdasarkan perintah yang ada pada Intel tidak akan bisa dijalankan untuk semua jenis prosesor, kecuali untuk prosesor yang compatible dengannya. Seperti halnya dalam bahasa yang digunakan oleh manusia, instruction set ini juga memiliki aturan bahasa yang bisa saja berbeda satu dengan lainnya. Bandingkanlah beda struktur bahasa Inggris dengan Indonesia, atau dengan bahasa lainnya, begitu juga dengan instruction set yang ada pada mesin, tergantung dimana lingkungan instruction set itu digunakan.

UNIT KONTROL

Unit kontrol atau yang sering dikenal dengan control unit, akan menyimpan perintah sekarang yang dilakukan oleh komputer, memerintahkan ALU untuk melaksanaan dan mendapat kembali informasi (dari memori) yang diperlukan untuk melaksanakan perintah itu, dan memindahkan kembali hasil ke lokasi memori yang sesuai. Sekali yang terjadi, unit kontrol pergi ke perintah berikutnya (biasanya ditempatkan di slot berikutnya, kecuali kalau perintah itu adalah perintah lompatan yang memberitahukan kepada komputer bahwa perintah berikutnya ditempatkan di lokasi lain).
Bagian CPU yang menyebabkan fungsi komputer tercapai ini mengeluarkan sinyal-sinyal kontrol yang bersifat internal bagi CPU untuk memindahkan data antar Register agar ALU melakukan fungsinya untuk mengatur operasi-operasi internal lainnya. Register, yang merupakan bagian dari unit kontrol, adalah tempat penyimpan data sementara dalam CPU selama proses eksekusi. Apabila terjadi proses eksekusi, data dalam register dikirim ke ALU untuk diproses, hasil eksekusi nantinya diletakkan ke register kembali. Unit kontrol akan menghasilkan sinyal yang akan mengontrol operasi ALU dan pemindahan data ke dan dari ALU. Unit kontrol juga mengeluarkan sinyal kontrol eksternal bagi pertukaran data memori dan modul-modul I/O.

Macam-macam Unit Kontrol

1. Unit Kontrol Single-Cycle
Proses di unit kontrol ini hanya terjadi dalam satu clock cycle artinya setiap instruksi (fetch, decode, execute) 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. Unit Kontrol Multi-Cycle
Gambar disamping menunjukkan diagram blok dari unit kontrol multi-cycle. 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 control line output 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 di-execute CPU; bukan instruksi cycle selanjutnya.

Fungsi Unit Kontrol

1. Pengurutan (sequencing): unit kontrol bertugas mengontrol sejumlah operasi mikro dalam urutan yang benar
state
register overhead
Cycle 1
Cycle 2
Cycle 3
Cycle 4
Cycle 5
Fetch
Decode
Exec
Mem
WB
lw
Single cycle Implementation:
Multiple Cycle Implementation:

2. Eksekusi (execution): unit kontrol menyebabkan setiap operasi mikro dilakukan

Input Unit Kontrol

Unit kontrol mempunyai beberapa input, diantaranya:
  1. Clock: berfungsi untuk sinkronisasi operasi antar komponen
  2. Flag: flag-flag ini diperlukan unit kontrol untuk mengetahui status CPU. Flag diset ALU sebagai hasil dari suatu operasi, misalnya: overflow flag, diset 1 bila hasil komputasi melampaui panjang register tempat flag disimpan.
  3. Instruction register: menggunakan opcode untuk menentukan operasi mikro yang akan dilakukan selama siklus eksekusi
  4. Sinyal kontrol dari ”bus control”: memberi jalur ke unit kontrol untuk sinyal-sinyal tertentu, seperti sinyal interrupt dan sinyal acknowledgment
Output Unit Kontrol

Sinyal kontrol di dalam CPU (control signals within CPU): output unit kontrol terdiri dari dua macam sinyal, yaitu:
  1. sinyal-sinyal yang menyebabkan perpindahan data antar register
  2. sinyal-sinyal yang dapat mengaktifkan fungsi ALU yang spesifik
Sinyal kontrol ke ”bus control” juga terdiri atas 2 sinyal, yaitu:
  1. sinyal kontrol ke memori
  2. sinyal kontrol ke modul-modul I/O
Implementasi Unit Kontrol
  1. Implementasi hardwired
Unit kontrol merupakan rangkaian kombinatorial. Sinyal-sinyal logika inputnya akan didekodekan menjadi sinyal-sinyal logika output, yang merupakan sinyal-sinyal kontrol ke sistem komputer. Sinyal-sinyal input tersebut, seperti clock, flag, register instruction, dan sinyal kontrol merupakan input bagi unit kontrol untuk mengetahui status komputer. Sinyal keluaran yang dihasilkan akan mengendalikan sistem kerja komputer.
N buah input biner akan menghasilkan 2N output biner. Setiap instruksi memiliki opcode yang yang berbeda-beda.
Opcode yang berbeda dalam instruksi akan menghasilkan sinyal kontrol yang berbeda pula. Pewaktu unit kontrol mengeluarkan rangkaian pulsa yang periodik.
Pulsa waktu ini digunakan untuk mengukur durasi setiap operasi mikro yang dijalankan CPU, intinya digunakan untuk sinkronisasi kerja masing-masing bagian.
Masalah dalam Merancang Implementasi Hardwired:
Ø Memiliki kompleksitas dalam pengurutan dan operasi mikronya
Ø Sulit didesain dan dilakukan pengetesan
Ø Tidak fleksibel
Ø Sulit untuk menambahkan instruksi baru
  1. Implementasi microprogrammed
Implementasi yang paling reliabel saat ini adalah implementasi microprogrammed. Unit kontrol memerlukan sebuah memori untuk menyimpan program kontrolnya.
Fungsi–fungsi pengontrolan dilakukan berdasarkan program kontrol yang tersimpan pada unit kontrol. Selain itu, fungsi–fungsi pengontrolan tidak berdasarkan dekode dari input unit kontrol lagi.
Teknik ini dapat menjawab kesulitan–kesulitan yang ditemui dalam implementasi hardwired.

PROCESSOR

Prosessor terdiri dari 2 komponen utama, diantaranya adalah:

Control Unit – Central Controller
Bertanggung jawab untuk menentukan operasi-operasi apa yang akan dipanggil oleh program dan dengan cara bagaimana operasi-operasi tersebut dilaksanakan.

Ketika sebuah komputer pertama kali diaktifkan power-nya, maka komputer 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 :
a. subjek (komputernya)
b. verb(suatu kode operasi yang mengindikasikan pekerjaan apa yang
akan dilaksanakan
c. 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.

Arithmetic / Logic Unit – Elemen Pemroses
Aritmetic/Logic Unit atau ALU adalah elemen pemroses primer dalam suatu komputer. Data dalam suatu unit dapat dikonversikan dalam suatu bentuk tertentu atau dirubah dalam suatu nilai yang tergantung pada jenis operasi yang dilakukan. Sebagian ALU dapat mengerjakan operasi aritmatika dasar seperti pejumlahan, pengurangan, perkalian dan pembagian pada bilangan bilangan integer. Sebagian ALU
juga mampu melakukan operasi lojik seperti AND, OR dan INVERT. Beberapa ALU menyediakan kemampuan tambahan untuk memproses bilangan dalam format desimal maupun floating-point.

Diantara unit-unit yang sudah maju juga mampu mengerjakan
operasi trigonometri & operasi eksponensial.

Sumber : library.stttelkom.ac.id

Perkembangan Processor
PC didesain berdasar generasi-generasi CPU (processor) yang berbeda. Intel bukan satu-satunya perusahaan yang membuat CPU, meskipun yang menjadi pelopor diantara yang lain. Pada tiap generasi yang mendominasi adalah chip-chip Intel, tetapi pada generasi kelima terdapat beberapa pilihan selain chip Intel.

GENERASI 1 (Processor 8088 dan 8086)

Processor 8086 (1978) merupakan CPU 16 bit pertama Intel yang menggunakan bus sistem 16 bit. Tetapi perangkat keras 16 bit seperti motherboard saat itu terlalu mahal, dimana komputer mikro 8 bit merupakan standart. Pada 1979 Intel merancang ulang CPU sehingga sesuai dengan perangkat keras 8 bit yang ada. PC pertama (1981) mempunyai CPU 8088 ini. 8088 merupakan CPU 16 bit, tetapi hanya secara internal. Lebar bus data eksternal hanya 8 bit yang memberi kompatibelan dengan perangkat keras yang ada.

GENERASI 2 Processor 80286

286 (1982) juga merupakan prosessor 16 bit. Prosessor ini mempunyai kemajuan yang relatif besar dibanding chip-chip generasi pertama. Frekuensi clock ditingkatkan, tetapi perbaikan yang utama ialah optimasi penanganan perintah. 286 menghasilkan kerja lebih banyak tiap tik clock daripada 8088/8086.

GENERASI 3 Processor 80386 DX

386 diluncurkan 17 Oktober 1985. 80386 merupakan CPU 32 bit pertama. Dari titik pandang PC DOS tradisional, bukan sebuah revolusi. 286 yang bagus bekerja secepat 386SX pertama-walaupun menerapkan mode 32 bit.

80386 merupakan CPU pertama berunjuk kerja baik dengan Windows versi- versi awal..

Processor 80386SX

Chip ini merupakan chip yang tidak lengkap yang sangat terkenal dari 386DX. Prosessor ini hanya mempunyai bus data eksternal 16 bit berbeda dengan DX yang 32 bit. Juga, SX hanya mempunyai jalur alamat 24. Oleh karena itu, prosessor ini hanya dapat mengalamati maksimum RAM 16 MB. Prosessor ini bukan 386 yang sesungguhnya, tetapi motherboard yang lebih murah membuatnya sangat terkenal.

GENERASI 4 Processor 80486 DX

80486 dikeluarkan 10 April 1989 dan bekerja dua kali lebih cepat dari pendahulunya. Hal ini dapat terjadi karena penanganan perintah-perintah x86 yang lebih cepat, lebih-lebih pada mode RISC. Pada saat yang sama kecepatan bus dinaikkan, tetapi 386DX dan 486DX merupakan chip 32 bit. Sesuatu yang baru dalam 486 ialah menjadikan satu math coprocessor/prosesor pembantu matematis.

GENERASI 5 Pentium Classic (P54C)

Chip ini dikembangkan oleh Intel dan dikeluarkan pada 22 Maret 1993. Prosessor

Pentium merupakan super scalar, yang berarti prosessor ini dapat menjalankan lebih dari satu perintah tiap tik clock. Prosessor ini menangani dua perintah tiap tik, sebanding dengan dua buah 486 dalam satu chip. Terdapat perubahan yang besar dalam bus sistem : lebarnya lipat dua menjadi 64 bit dan kecepatannya meningkat menjadi 60 atau 66 MHz.

Cyrix 6x86

Chip dari perusahaan Cyrix yang diperkenalkan 5 Februari 1996 ini merupakan tiruan Pentium yang murah.

AMD (Advanced Micro Devices)

Pentium-pentium AMD seperti chip-chip yang ditawarkan oleh Intel bersaing dengan ketat. AMD menggunakan teknologi- teknologi mereka sendiri. Oleh karena itu, prosesornya bukan merupakan clone-clone. AMD mempunyai seri sebagai berikut :

- K5, dapat disamakan dengan Pentium-pentium Classic (dengan cache L1 16 KB dan tanpa MMX).
- K6, K6-2, dan K6-3 bersaing dengan Pentium MMX dan Pentium II.
- K7 Athlon, Agustus 1999, tidak kompatibel dengan Socket 7.

Pentium MMX (P55C)

Pentium-pentium P55C diperkenalkan 8 Januari 1997. MMX merupakan kkumpulan perintah baru ( 57 integer baru, 4 jenis data baru dan 8 register 64 bit), yang menambah kemampuan CPU tersebut. Perintah-perintah MMX dirancang untuk program-program multimedia. Pemrogram dapat menggunakan perintahperintah ini dalam program-programnya. Hal ini akan memberikan perbaikan dalam menjalankan program.

IDT Winchip

IDT merupakan perusahaan yang lebih kecil yang menghasilkan CPU seperti Pentium MMX dengan harga murah. WinChip C6 pertama IDT diperkenalkan pada Mei 1997.

AMD K6-2

Versi “model 8” berikutnya K6 mempunyai nama sandi “Chomper”. Prosessor ini pada 28 Mei 1998 dipasarkan sebagai K6-2, dan seperti versi model 7 K6 yang asli, dibuat dengan teknologi 0.25 mikron. Chip-chip ini bekerja hanya dengan 2.2 voltage. Chip ini berhasil menjadi saingan Pentium II Intel.

GENERASI 6 Pentium Pro

Pengembangan Pentium Pro dimulai 1991, di Oregon. Diperkenalkan pada 1 November, 1995 . Pentium Pro merupakan prosessor RISC murni, dioptimasi untuk pemrosesan 32 bit pada Windows NT atau OS/2. Fitur yang baru ialah bahwa cache L2 yang menjadi satu Chip raksasa, dengan chip empat persegi panjang dan Socket-8nya. Unit CPU dan cache L2 merupakan unit yang terpisah di dalam chip ini.

Pentium II

Pentium Pro “Klamath” merupakan nama sandi prosessor puncak Intel. Prosessor ini mengakhiri seri Pentium Pro yang sebagian terdapat pengurangan dan sebagaian terdapat perbaikan. Diperkenalkan 7 Mei 1997.

Pentium-II Celeron

Awal 1998 Intel mempunyai masa yang sulit dengan Pentium Pro II yang agak mahal. Banyak pengguna membeli AMD K6-233M, yang menawarkan unjuk kerja sangat baik pada harga yang layak. Maka Intel membuat merek CPU baru yang disebut Celeron. Prosesor ini sama dengan Pnetium II kecuali cache L2 yang telah dilepas. Prosessor ini dapat disebut Pentium II-SX. Pada 1998 Intel mengganti Pentium MMX-nya dengan Celeron pertama. Kemudian rancangannya diperbaiki.

Pentium-II Celeron A : Mendocino

Bagian yang menarik dari cartridge baru dengan 128 KB cache L2 di dalam CPU. Hal ini memberikan unjuk kerja yang sangat baik, karena cache L2 bekerja pada kecepatan CPU penuh. Celeron 300A merupakan sebuah chip dalam kartu :

Pentium-II Celeron PPGA : Socket 370

Socket 370 baru untuk Celeron. Prosessor 400 dan 366 MHz (1999) tersedia dalam plastic pin grid array (PPGA). Socket PGA370 terlihat seperti Socket 7 tradisional.yang mempunyai 370 pin.

Pentium-II Xeon

Pada 26 Juali 1998 Intel mengenalkan cartridge Pentium II baru yang diberi nama Xeon. Ditujukan untuk server dan pemakai high-end.

AMD K6-3

AMD K6-3 merupakan model 9 dengan nama sandi “Sharptooth”, yang mungkin memiliki cache tiga tingkat

Pentium III – Katmai

CPU P6 pertama dari Intel ialah Pentium Pro. Kemudian didapatkan PentiumII dalam pelbagai jenis. Dan yang terakhir adalah Pentium III. Maret 1999 Intel mengenalkan kumpulan MMX2 baru yang ditingkatkan untuk perintah grafis (diantaranya 70 buah). Perintah ini disebut Katmai New Instructions (KNI) /Perintah Baru Katmai atau SSE. Perintah ini ditujukan untuk meningkatkan unjuk kerja game 3D – seperti teknologi 3DNow! AMD. Katmai memasukkan “double precision floating-point single instruction multiple data”/”floating point dengan ketelitian ganda satu perintah banyak data” (atau DPFS SIMD untuk singkatnya) yang bekerja dalam delapan register 128 bit.

GENERASI 7 AMD K-7 Athlan

Processor AMD utama yang sangat menggemparkan Athlon (K7) diperkenalkan Agustus 1999. Tanggapan Intel (nama sandi Foster) tidak dapat diharapkan hingga akhir tahun 2000. Dalam bulan-bulan pertama, pasar menanggapi Athlan sangat positif. Nampaknya (seperti yang diharapkan) untuk mengungguli Pentium III pada frekuensi clock yang sama.