Batman Begins - Help Select

Central Processing Unit

Central Processing Unit (CPU)





Central Processing Unit 
     CPU atau Central Processing Unit merupakan bagian terpenting dalam sebuah sistem komputer, dapat dikatakan bahwa CPU merupakan pusat pengendali dari komputer. Dalam kesehariannya CPU memiliki tugas utama untuk mengolah data berdasarkan instruksi yang ia peroleh. Dengan kata lain, CPU merupakan perangkat keras komputer yang memahami dan melaksanakan perintahdan datadari perangkat lunak. CPU juga dapat disebut sebagai prosesor (pemroses). Meskipun hanya berbentuk chip silikon tunggal yang kecil, piranti ini memegang peranan sangat penting. Jika komponen PC lainnya berfungsi sebagai pentransmisi data, maka prosesorlah yang berfungsi menentukan dan menghitung semua aktivitas tersebut. Prosesor atau tepatnya mikroprosesor, memang beragam merek dan tipenya. Namun, kesemuanya boleh dibilang memiliki fungsi yang sama.
     Pusat unit pemroses komputer sederhana generasi pertama pada tahun 1940-an, masih berupa sekumpulan tabung kedap udara yang mirip botol. Botol-botol ini sama dengan yang biasa ditemukan di televisi model yang sangat kuno sekali. Setiap CPU membutuhkan ribuan botol, dan daya tahannya hanya beberapa jam saja. Selain itu ia boros tenaga listrik dan perangkat pendinginnya pun berukuran besar. Komputer angkatan pertama yang menggunakan CPU model ini adalah ENIAC (Electronic Numerical Integrator and Computer), yang dikembangkan oleh J.P. Eckert dan J.W. Maughly di Amerika Serikat. ENIAC terdiri atas 18.000 tabung kedap udara, yang membutuhkan ruangan seluas 18×8 meter persegi untuk pengoperasiannya. Tahun 1948 proses komputasi mulai masuk ke “komputer generasi kedua” yang menggunakan transistor. Penggunaannya didemonstrasikan pertama kali oleh Bell Telephone Laboratories. Dengan transistor, kebutuhan listrik jadi lebih rendah dan tingkat panasnya bisa dikurangi.
Pada komputer generasi ketiga mulai digunakan semikonduktor, yang menggabungkan lusinan transistor dalam sebuah chip silikon kecil. Dengan cara ini, sebuah sirkuit elektronik yang berisi komponen-komponen yang saling terkoneksi bisa disatukan dalam sebuah sirkuit tunggal dan dari sinilah mikroprosesor berawal. Di awal 1970-an, sirkuit semikonduktor sudah mulai dikembangkan dengan klompleksitas 1.000 transistor per sirkuitnya. Selanjutnya, pada tahun 1971, komponen yang benar-benar disebut sebagai mikroprosesor untuk pertama kalinya dibuat oleh para teknisi dari perusahaan elektronik Intel. Chip tersebut diberi nama Intel 4004 dan didesain oleh Ted Hoff, Federico Faggin, dan Stan Mazor. Prosesor chp silikon tunggal ini berukuran sekitar 0,6 cm yang berisi sekitar 2.250 transistor. Komponen yang prototipenya dikembangkan sejak 1969 ini punya kemampuan memproses 4 bit informasi, dengan kecepatan sekitar 0,06 MHz saja. Mikroprosesor yang pernah digunakan untuk pesawat luar angkasa Pioner 10 ini dijual seharga US$ 200. Tehitung mahal saat itu. Selanjutnya, pada tahun 1972, Intel merilis prosesor Intel 8008 dengan 3.500 transistor di dalamnya.
     Tak perlu dipungkiri, sejak awal (Intel 4004) Intel merajai dunia mikroprosesor. Dalam perkembangan teknologi ini, Intel merintis sutau arsitektur sistem prosesor yang dikenal sebagai X86, yang kemudian banyak diikuti oleh produk prosesor lainnya. Sistem ini dimulai dari prosesor Intel 8086.Bagaimanapun, bicara soal mikroprosesor tentu bukan Intel saja yang bisa disebut. Setelah akhir tahun 1980-an, beberapa pengembang chipset, sperti AMD (Anvaced Micro Devices) dan Cyrix mulai menantang Intel, dengan memproduksi sendiri chip prosesor “Intel-competibel”. Chip tersebut mendukung rangkaian instruksi yang ada di prosesor Intel. Harganya lebih murah, dan kadang mempunyai kemampuan yang lebih dibandingkan dengan produk Intel. AMD mulai menggebrak pasaran dengan prosesor buatan sendiri tahun 1996, degan merilis AMD K5. Sebelumnya, AMD sudah membuat prosesor seperti AM486 pada masa Intel 386 dan 486, namun masih di bawah lisensi Intel. AMD K5 ini mendapat respon yang baik. Kemudian ada AMD K6 yang dirilis pada tahun 1997, dengan kecepatan 166 dan 200MHz. Prosesor ini memang dirilis untuk diadu dengan kemampuan prosesor Intel. Kelebihan dari prosesor-prosesor AMD adalah kemampuannya untuk di overclock.
     Sampai sekarang perkembangan microprosesor masih terus berlanjut dan Intel tetap merajai dunia microprosesor. Hal ini juga tidak terlepas dari Hukum Moore, yakni hukum yang dilontarkan oleh Gordon Moore pada tahun 1965. Kala itu, Moore memprediksikan jumlah transistor yang ada pada integrated circuit (IC) akan berlipat ganda setiap tahunnya. Pernyataan ini diperbaharui Moore di tahun 1995, dengan penelitian bahwa kelipatan ganda jumlah transistor hanya akan terjadi setiap dua tahun sekali. Hukum Moore sampai sekarang menjadi panduan bagi Intel untuk memacu prosesornya agar semakin andal, terutama peningkatan kecepatan dengan penuerunan harga yang sangat signifikan.

Terdapat empat komponen atau bagian-bagian utama penyusun CPU, yaitu:

1.  Arithmetic and Logic Unit (ALU)
Arithmetic and Logic Unitatau sering disingkat ALU yang dalam bahasa Indonesia berarti Unit Logika dan Aritmatika adalahbagian atau komponen dari CPU yang berguna untuk memproses data secara logika dan juga memproses data-data yang memerlukan perhitungan, yaitu dengan memanipulasi informasi dan mengevaluasi hasilnya. ALU inilah yang mengerjakan operasi-operasi seperti penambahan, pengurangan, dan perkalian integer, operasi bit seperti and, or, not, xor, serta operasi Boolean lainnya. ALU terdiri dari device-device memori kecil yang disebut register.Selama pemrosesan data berlangsung, register-register ini digunakan untuk menyimpan informasi. Tugas utama ALU adalah melakukan semua perhitungan aritmatika (matematika) yang terjadi sesuai dengan instruksi program. ALU melakukan semua operasi aritmatika dengan dasar pejumlahan sehingga sirkuit elektronik yang digunakan disebut adder.
Berikut saya kemukakan jenis-jenis adder, yaitu:

a. Half Adder
Rangkaian Half Adder merupakan rangkaian adder dengan menjumlahkan dua bit menjadi dasar penjumlahan bilangan biner yang terdiri dari satu bit, oleh karena itu dinamai penjumlah tak lengkap.
1. Jika A = 0 dan B = 0 dijumlahkan, hasilnya S ( Sum ) = 0.
2. Jika A = 0 dan B = 1 dijumlahkan, hasilnya S ( Sum ) = 1.
3. Jika A = 1 dan B = 1 dijumlahkan, hasilnya S ( Sum ) = 0
Jika A = 1 dan B =1 dijumlahkan, hasilnya S ( Sum ) = 0, dengan nilai pindahan Cy (Carry Out) = 1. Dengan demikian, half adder memiliki 2 masukan (A dan B) dan dua keluaran ( S dan Cy ).

b. Full Adder
Full adder merupakan rangkaian adder dengan menjumlahkan tiga bit. Sebuah Full Adder menjumlahkan dua bilangan yang telah dikonversikan menjadi bilangan-bilangan biner. Masing-masing bit pada posisi yang sama saling dijumlahkan. Full Adder sebagai penjumlah pada bit-bit selain yang terendah. Full Adder menjumlahkan dua bit input ditambah dengan nilai Carry-Out dari penjumlahan bit sebelumnya. Output dari Full Adder adalah hasil penjumlahan (Sum) dan bit kelebihannya (carry-out).

c.  Paralel Adder
Paralel adder merupakan rangkain adder dengan menjumlahkan banyak bit. Rangkaian Parallel Adder adalah rangkaian penjumlah dari dua bilangan yang telah dikonversikan ke dalam bentuk biner. Anggap ada dua buah register A dan B, masing-masing register terdiri dari 4 bit biner : A3A2A1A0 dan B3B2B1B0. Rangkaian Parallel Adder terdiri dari Sebuah Half Adder (HA) pada Least Significant Bit (LSB) dari masing-masing input dan beberapa Full Adder pada bit-bit berikutnya. Prinsip kerja dari Parallel Adder adalah sebagai berikut: Penjumlahan dilakukan mulai dari LSB-nya, jika hasil penjumlahan adalah bilangan desimal “2” atau lebih, maka bit kelebihannya disimpan pada Cout, sedangkan bit di bawahnya akan dikeluarkan pada Σ. Begitu seterusnya menuju ke Most Significant Bit (MSB).
     ALU 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 Logic 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.
     TugasALU lainnya adalah melakukan keputusan dari suaru operasi logika sesuai dengan instruksi program. Operasi logika meliputi perbandingan dua operand dengan menggunakan operator logika tertentu, yaitu samadengan, tidaksama dengan, kurangdari, kurang dari atau sama dengan, lebih besar dari, dan lebihbesar atau sama dengan. Sirkuit elektronik untuk mengerjakan operasi logika seperti ini disebut comparator. ALU sering juga disebut sebagai bahasa mesin karena terdiri dari berbagai instruksi yang menggunakan bahasa mesin. ALU terbagi menjadi dua komponen utama, yaitu:
Arithmetic unit (unit aritmatika), yang bertugas untuk menangani pengolahan data yang berhubungan dengan perhitungan, dan
Boolean logic unit(unit logika boolean), bertugas menangani berbagai operasi logika.

2.  Control Unit (CU)

     Control Uni tatau Unit Kendali, mempunyai tugas utama untuk mengendalikan operasi dalam CPU dan juga mengontrol komputer secara keseluruhan untuk menciptakan sebuah sinkronisasi kerja antar komponen dalam melakukan fungsinya masing-masing. Di samping itu, control unit juga bertugas untuk mengambil instruksi-instruksi dari memori utama dan menentukan jenis instruksi tersebut. Bila ada instruksi untuk perhitungan aritmatika atau perbandingan logika, maka unit kendali akan mengirim instruksi tersebut ke ALU. Hasil dari pengolahan data dibawa oleh unit kendali ke memori utama lagi untuk disimpan, dan pada saatnya akan disajikan ke alat output.

Dengan demikian tugas dari unit kendali ini adalah:
a. Mengatur dan mengendalikan alat-alat input dan output.
b. Mengambil instruksi-instruksi dari memori utama.
c. Mengambil data dari memori utama (jika diperlukan) untuk diproses.
d. Mengirim instruksi ke ALU bila ada perhitungan aritmatika atau perbandingan    logika serta mengawasi kerja dari ALU.
e.  Menyimpan hasil proses ke memori utama.
     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). Beberapa word dari microprogram dipilih oleh microsequencer dan bit yang datang dari word-word tersebut akan secara langsung mengontrol bagian-bagian berbeda dari perangkat tersebut, termasuk di antaranya adalah register, ALU, register instruksi, bus dan peralatan input/output di luar chip. Pada komputer modern, setiap subsistem ini telah memiliki kontrolernya masing-masing, dengan CU sebagai pemantaunya (supervisor). Ada dua macam control unit, yaitu:

       a. Single-Cycle CU
Proses di 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.

       b. 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, bukan instruksi cycle selanjutnya.

3. Register
Registermerupakan media penyimpanan internal CPU yang digunakan saat pengolahan data. Register merupakan media penyimpanan yang bersifat sementara, artinya data hanya akan berada dalam register saat data tersebut dibutuhkan selama komputer masih hidup, ketika suatu data tidak diperlukan lagi maka ia tidak berhak lagi berada di dalam register, dan ketika komputer dimatikan maka semua data yang berada di dalamnya akan hilang. Secara analogi, register ini dapat diibaratkan sebagai ingatan di otak bila kita melakukan pengolahan data secara manual, sehingga otak dapat diibaratkan sebagai CPU, yang berisi ingatan-ingatan, satuan kendali yang mengatur seluruh kegiatan tubuh dan mempunyai tempat untuk melakukan perhitungan dan perbandingan logika. Sama halnya ketika kita datang ke supermarket, kita menitipkan barang di tempat penitipan barang dan pada saat akan pulang barang tersebut kita ambil kembali.
Register prosesor berdiri pada tingkat tertinggi dalam hierarki memori, ini berarti bahwa kecepatannya adalah yang paling cepat, kapasitasnya adalah paling kecil dan harga tiap bitnya adalah paling tinggi. Register juga digunakan sebagai cara yang paling cepat dalam sistem komputer untuk melakukan manipulasi data. Register umumnya diukur dengan satuan bit yang dapat ditampung olehnya, seperti register 8-bit, register 16-bit, register 32-bit dan register 64-bit.
Istilah register saat ini dapat merujuk kepada kumpulan register yang dapat diindeks secara langsung untuk melakukan input/ output terhadap sebuah instruksi yang didefinisikan oleh set instruksi. Untuk istilah ini, digunakanlah kata "Register Arsitektur". Sebagai contoh set instruksi Intel x86 mendefinisikan sekumpulan delapan buah register dengan ukuran 32-bit, tapi CPU yang mengimplementasikan set instruksi x86 dapat mengandung lebih dari delapan register 32-bit.

      Register terbagi menjadi beberapa kelas:

  1. Register data, yang digunakan untuk menyimpan angka-angka dalam bilangan bulat (integer).
  2. Register alamat, yang digunakan untuk menyimpan alamat-alamat memori dan juga untuk mengakses memori.
  3. Register general purpose, yang dapat digunakan untuk menyimpan angka dan alamat secara sekaligus.
  4. Register floating-point, yang digunakan untuk menyimpan angka-angka bilangan titik mengambang (floating-point).
  5. Register konstanta(constant register), yang digunakan untuk menyimpan angka-angka tetap yang hanya dapat dibaca (bersifat read-only), semacam phi, null, true, false dan lainnya.
  6. Register vektor, yang digunakan untuk menyimpan hasil pemrosesan vektor yang dilakukan oleh prosesor SIMD.
  7. Register special purposeyang dapat digunakan untuk menyimpan data internal prosesor, seperti halnya instruction pointer, stack pointer, dan status register.
  8. Register yang spesifik terhadap model mesin(machine-specific register), dalam beberapa arsitektur tertentu, digunakan untuk menyimpan data atau pengaturan yang berkaitan dengan prosesor itu sendiri. Karena arti dari setiap register langsung dimasukkan ke dalam desain prosesor tertentu saja, mungkin register jenis ini tidak menjadi standar antara generasi proses.

Tabel berikut berisi ukuran register dan padanan prosesornya.

4.  CPU Interconnections

CPU Interconnectionsmerupakan sistem koneksi dan bus yang menghubungkan komponen internal CPU (Arithmetic and Logic Unit, Control Unit dan register) dengan bus-bus eksternal CPU (Sistem memori utama, Sistem masukan/ keluaran (input/output) dan sistem-sistem lainnya). Bus adalah bagian yang berfungsi untuk membawa informasi-informasi digital. Setelah mengetahui pengertian dari CPU Interconnections maka timbul pertanyaan, “apa yang dimaksud dengan bus?”.
Dalam arsitektur komputer, sebuah bus adalah sebuah subsistem yang mentransfer data atau listrik antar komponen komputer di dalam sebuah komputer atau antar komputer. Tidak seperti hubungan titik-ke-titik, sebuah bus secara logika dapat menghubungkan beberapa alat dalam satu set kabel yang sama. Setiap bus mendefinisikan set konektornya ke alat colok fisik, kartu, atau kabel bersamaan.
Bus komputer awal merupakan bus listrik paralel dengan banyak hubungan, tetapi istilah ini sekarang digunakan untuk pengaturan fisik yang menyediakan fungsi logika yang sama dengan sebuah bus listrik paralel, dan dapat dihubungkan dengan kabel dalam sebuah topologi multidrop atau daisy chain atau dihubungkan oleh hub switch, seperti dalam kasus bus USB. Macam-macam bus diantaranya yaitu:
a. Bus Prosesor
b. Bus AGP (Accelerated Graphic Port) BUS
c. Bus PCI (Peripherals Component Interconnect)
d. Bus SCSI (Small Computer System Interface)
e. Bus USB (Universal Serial Bus)
f. Bus 1394
g. Bus PCI Express (Peripherals Component Interconnect Express)
h. Bus PCI-X (Peripherals Component Interconnect Express)
i.  Bus ISA (Industry Standard Architecture)
j.  Bus EISA (Extended Industry Standard Architecute)
k. Bus MCA (Micro Channel Architecture)

     CPU merupakan hal terpenting dalam komputer, sebenarnya jika kita menyebutkan komputer maka identik dengan CPU itu sendiri. Terdapat banyak komponen-komponen yang membantu kinerja CPU dalam mengerjakan intruksi-intruksi untuk mengolah data seperti harddisk, RAM, CD-ROM, floppy disk (selanjutnya akan dibahas di storage), motherboard, power supply, kabel data, kabel UTP, LAN Card, VGA Card dan sound card.
     Mudah-mudahan posting ini bermanfaat bagi kita semua. amin.






Sumber : http://10111213.blog.unikom.ac.id/central-processing.2uc

0 comments:

Post a Comment