Sabtu, 25 Agustus 2007

Cara Kerja CPU

Fungsi CPU

CPU berfungsi sebagaimana layaknya kalkulator, hanya saja CPU jauh lebih kuat daya pemrosesannya. Fungsi utama dari CPU adalah melakukan operasi aritmetika dan logika terhadap data yang diambil dari memori atau dari informasi yang dimasukkan melalui beberapa perangkat keras, seperti halnya keyboard, scanner, joystick, atau mouse. CPU dikontrol dengan menggunakan sekumpulan instruksi perangkat lunak, yang disebut sebagai program komputer. Perangkat lunak tersebut dapat dijalankan oleh CPU dengan membacanya dari perangkat media penyimpanan, seperti halnya hard disk, floppy disk, CD-ROM atau tape magnetik. Instruksi-instruksi tersebut kemudian disimpan terlebih dahulu ke dalam memori fisik (RAM), di mana setiap instruksi akan diberikan alamat yang unik yang disebut sebagai alamat memori. Selanjutnya, CPU dapat mengakses data-data dalam RAM dengan menentukan alamat data yang ia mau.

Selagi sebuah program dieksekusi, data mengalir dari RAM ke sebuah unit yang disebut dengan bus, yang menghubunkan antara CPU dengan RAM. Data kemudian di-decode dengan menggunakan unit pemroses yang disebut sebagai Instruction Decoder yang menerjemahkan instruksi-instruksi. Dari instruction decoder, data kemudian berjalan ke unit aritmetika dan logika yang melakukan kalkulasi dan perbandingan. Data dapat disimpan secara sementara oleh unit aritmetika dan logika dalam sebuah lokasi memori yang disebut dengan register, agar dapat diambil kembali dengan cepat. Unit aritmetika dan logika dapat melakukan operasi-operasi tertentu, meliputi penjumlahan, perkalian, pengurangan, pengujian kondisi terhadap data dalam register, hingga mengirimkan hasil pemrosesannya kembali ke memori fisik atau media penyimpanan lainnya (register juga bisa, jika memang hendak menggunakan hasil pemrosesan tersebut kembali). Selama proses ini terjadi, sebuah unit dalam CPU yang disebut dengan Program Counter akan memantau instruksi-instruksi yang suskes dijalankan agar instruksi-instruksi tersebut dieksekusi dengan urutan yang benar.

Percabangan instruksi

Program counter dalam CPU umumnya bergerak secara sekuens (berurutan). Meskipun demikian, beberapa instruksi dalam CPU, yang disebut dengan Jump instruction, mengizinkan CPU dapat berpindah ke sebuah instruksi yang terletak bukan pada urutannya. Hal ini disebut juga dengan percabangan instruksi (branching instruction). Cabang-cabang instruksi tersebut dapat berupa cabang yang bersifat kondisional (ada syarat tertentu) atau tidak kondisional. Sebuah cabang yang bersifat tidak kondisional selalu berpindah ke sebuah instruksi baru yang berada di luar aliran instruksi, sementara sebuah cabang yang bersifat kondisional akan menguji terlebih dahulu hasil dari operasi sebelumnya untuk melihat apakah cabang instruksi tersebut akan dieksekusi atau tidak. Data yang diuji untuk percabangan instruksi disimpan dalam lokasi dalam CPU yang disebut dengan Flag.

Bilangan yang dapat ditangani

Kebanyakan CPU dapat menangani dua jenis bilangan, yakni fixed-point dan floating-point (bilangan titik mengambang). Bilangan fixed-point memiliki nilai digit spesifik pada salah satu titik desimalnya. Hal ini memang membatasi jangkauan nilai yang mungkin untuk angka-angka tersebut, tapi hal ini justru dapat dihitung oleh CPU secara lebih cepat. Sementara itu, bilangan floating-point merupakan bilangan yang diekspresikan dalam notasi ilmiah, di mana sebuah angka direpresentasikan sebagai angka desimal yang dikalikan dengan pangkat 10 (seperti 3.14 x 1057). Notasi ilmiah seperti ini merupakan cara yang singkat untuk mengekspresikan bilangan yang sangat besar atau bilangan yang sangat kecil, dan juga mengizinkan jangkauan nilai yang sangat jauh sebelum dan sesudah titik desimalnya. Bilangan ini umumnya digunakan dalam merepresentasikan grafik dan kerja ilmiah, tapi aritmetika terhadap bilangan floating-point jauh lebih rumit dan dapat diselesaikan dalam waktu yang lebih lama oleh CPU, karena mungkin dapat menggunakan beberapa siklus detak CPU. Beberapa komputer menggunakan sebuah prosesor sendiri untuk menghitung bilangan floating-point, yang disebut dengan math co-processor yang dapat bekerja secara paralel dengan CPU untuk mempercepat penghitungan bilangan floating-point. Math co-processor saat ini menjadi standar dalam banyak komputer, karena memang aplikasi saat ini banyak beroperasi dengan bilangan titik mengambang.

Sumber:
http://id.wikipedia.org/wiki/CPU

Tidak ada komentar: