Kamis, 08 November 2007

Proses pada CPU

Nama : Mariza Devega
NIM : 262050081

Dalam sebuah komputer terdapat hanya satu prosesor. Yang dimaksud satu buah prosesor ini ialah satu buah prosesor sebagai Central Processing Unit (CPU). Hal ini ditekankan sebab ada beberapa perangkat yang memang memiliki prosesor tersendiri di dalam perangkatnya seperti VGA card AGP, optical mouse, dll.

Lebih jauh lagi, digunakan Time-Sharing System/Multitasking-Interactive Computing. Dengan sistem ini CPU digunakan bergantian oleh job-job di memory dan disk. CPU dialokasikan hanya pada job di memory dan job dipindahkan dari dan ke disk. Hal ini membutuhkan terjadinya komunikasi antara pengguna dan sistem operasi, dimana sistem operasi menyelesaikan satu perintah ia mencari perintah berikutnya dari pengguna akibat online system harus ada bagi pengguna untuk mengakses data dan kode.

Sebuah CPU memproses informasi yang disimpan dalam bentuk byte di memori. Informasi tersebut dapat berupa data atau instruksi. Data adalah bentuk biner dari sebuah huruf, sebuah angka, atau sebuah warna. Sebuah instruksi memberitahu CPU apa yang harus dilakukan terhadap data tersebut, sebagai contoh: menambahkannya, membaginya, atau memindahkannya. CPU akan melakukan tiga operasi utama terhadap data tersebut: membacanya, memanipulasi (memproses) data tersebut, dan seringkali menuliskannya ke dalam memori. Pada tingkat yang lebih sederhana, CPU hanya memerlukan empat elemen untuk melakukan operasi terhadap datanya: instruksi, penunjuk instruksi, beberapa register, dan sebuah aritmethic logic unit. Penunjuk instruksi akan memberitahu CPU dimana instruksi tersebut diletakkan di memori saat dibutuhkan untuk menjalankan aplikasi.Register adalah tempat penyimpanan sementara di CPU. Sebuah register menyimpan sebuah data yang menunggu untuk diproses oleh sebuah instruksi, atau sebuah data yang telah diproses (misalkan, hasil dari penambahan dua angka sekaligus).Unit logika aritmatika (arithmetic logic unit/ALU) berfungsi sebagai kalkulatornya CPU, bekerja dengan fungsi matematika dan logika yang diperintahkan oleh set instruksi.

CPU bekerja 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 penyimpaan 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.

CPU terdiri atas beberapa bagian tambahan yang membuat bagian dasar CPU bekerja sebagaimana mestinya:
· Fetch instruksi mengambil instruksi dari RAM atau bagian dari memori yang terletak di CPU.
· Dekoder instruksi mengambil instruksi dari fetch dan menerjemahkannya sehingga CPU mengerti. Dekoder ini menentukan langkah selanjutnya yang harus dilakukan untuk menyelesaikan instruksi tersebut.
· Unit kontrol akan mengatur dan mengkoordinasikan seluruh operasi chip. Unit ini akan memberitahu ALU kapan untuk melakukan kalkulasi, kemudian memberitahu fetch kapan untuk mengambil sebuah nilai, dan memberitahu dekoder kapan untuk menerjemahkan nilai tersebut menjadi sebuah instruksi.

Beginilah caranya CPU melakukan tugasnya:
“penunjuk instruksi mengarahkan fetch instruksi ke sebuah spot di memori yang menampung sebuah instruksi. Fetch kemudian menangkap instruksi tersebut dan memberikannya ke dekoder instruksi, kemudian mengamati instruksi tersebut dan menentukan langkah selanjutnya untuk melengkapi instruksi tersebut (sebuah instruksi dapat terdiri dari rangkaian langkah yang harus dilengkapi dalam urutan tertentu). ALU kemudian mengerjakan perintah yang diminta instruksi: menambah data, membagi data, atau memanipulasi data yang ada. Setelah CPU menerjemahkan dan mengerjakan instruksi, unit kontrol memberitahukan fetch instruksi untuk menangkap instruksi berikutnya di memori.” Proses ini berlangsung terus menerus dari satu instruksi ke instruksi berikutnya, dalam suatu langkah yang rumit untuk menciptakan hasil yang dapat anda lihat di monitor. Itulah kerjanya sebuah program seperti pengolah kata: sebuah seri instruksi-instruksi dan data-data.
Kapanpun CPU menjadi idle, sistem operasi harus memilih salah satu proses untuk masuk kedalam antrian ready (siap) untuk dieksekusi. Pemilihan tersebut dilakukan oleh penjadualan short term. Penjadualan memilih dari sekian proses yang ada di memori yang sudah siap dieksekusi, dan mengalokasikan CPU untuk mengeksekusinya.

Penjadualan CPU mungkin akan dijalankan ketika proses:
1. Berubah dari running ke waiting state
2. Berubah dari running ke ready state
3. Berubah dari waiting ke ready
4. Terminates

Untuk meyakinkan semua itu berjalan dalam satu kesatuan waktu, bagian itu memerlukan suatu clock generator. Clock generator meregulasi setiap langkah yang dikerjakan CPU. Seperti sebuah metronome, sebuah clock generator mengirim pulsa-pulsa elektrik untuk menentukan langkah CPU. Pulsa tersebut diukur dalam jutaan langkah per detik, atau megahertz, yang Anda kenal sebagai ukuran kecepatan CPU. Semakin banyak pulsa dibuat, semakin cepat CPU bekerja. Dalam keadaan ideal, seharusnya sebuah CPU berkecepatan 700 MHz bekerja lebih cepat dibanding CPU 600 MHz, tetapi tambahan dan variasi pada basis CPU dapat membuat angka-angka tersebut tidak berarti.