Cara Kerja CPU
CPU sebagai komponen yang utama dalam komputer
melakukan banyak hal dalam menjalankan tugasnya, sebagaimana halnya manusia
menggunakan otak untuk berbagai macam tugas sehari-harinya. Didalam CPU semua kerja komputer dilakukan. Hal-hal
yang dilakukan oleh CPU antara lain :
·
Membaca,
mengkodekan dan mengeksekusi instruksi program
·
Mengirim
data dari dan ke memori, serta dari dan ke bagian input/output
·
Merespon
interupsi dari luar
·
Menyediakan
clock dan sinyal kontrol kepada sistem.
Dalam melakukan hal-hal diatas, CPU perlu menyimpan data
untuk sementara waktu. CPU perlu mengingat lokasi instruksi terakhir sehingga
bisa mengambil instruksi berikutnya. Menyimpan instruksi dan data untuk
sementara waktu pada saat instruksi
sedang diproses dilakukan di memory yang
ukuranya sangat kecil yaitu register. ALU membentuk operasi-operasi aritmatika
dan logic terhadap data, Register menyimpan data sementara dan hasil operasi
ALU sedangkan CU menghasilkan sinyal yang akan mengontrol operasi dan
pemindahan data dari atau ke ALU.
Gambar 1. Alur Kerja CPU
Fungsi CPU
Berdasarkan pada keutamaan komponenya dan tugas yang
dilakukan oleh CPU didalam komputer maka
CPU berfungsi menjalankan program-program yang disimpan dalam memori utama
dengan cara mengambil instruksi-instruksi, menguji instruksi tersebut dan
mengeksekusinya satu per satu sesuai dengan alur perintah. CPU dikontrol
menggunakan sekumpulan instruksi perangkat lunak komputer. Pekerjaan ini dilakukan dalam dua tahapan yaitu membaca
instruksi (fetch) dan melaksanakan instruksi tersebut (execute). Proses ini
dilakukan berulang-ulang sampai instruksi di memori utama dijalankan atau
komputer dimatikan. Proses ini dikenal juga sebagai siklus fetch-execute
seperti dibawah ini :
a. Fetch Instruction (Mengambil Instruksi)
: CPU harus membaca instruksi dari memori
b. Interpret Instruction (Menerjemahkan
Instruksi) : instruksi harus diterjemahkan untuk menentukan aksi apa yang
diperlukan
c. Fetch Data (Mengambil Data) : eksekusi
suatu instruksi mungkin memerlukan pembacaan data dari memori atau modul I/O
d. Write Data (Menulis Data) : hasil
eksekusi mungkin memerlukan penulisan data ke memori atau modul I/O (Stallings,
1997)
Gambar 2. Siklus Fetch Execute
Bilangan yang dapat ditangani
Kebanyakan CPU dapat menangani dua jenis bilangan,
yaitu fixed-point dan floating-point. Bilangan fixed-point memiliki nilai digit
spesifik pada salah satu titik desimalnya. Hal ini memang membatasi jangkauan
nilai yang mungkin untuk angka-angka tersebut, tetapi hal ini justru dapat
dihitung oleh CPU secara lebih cepat. Bilangan floating-point merupakan
bilangan yang diekspresikan dalam notasi ilmiah, dimana 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 sangat kecil, dan
juga mengizinkan jangkauan nilai yang sangat jauh sebelum dan sesudah titik
desimalnya. Bilangin ini umumnya digunakan dalam merepresentasikan grafik dan
kerja ilmiah, tetapi proses aritmatika 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 processor sendiri untuk menghitung bilangan floating-point
yang disebut FPU (math co-point). FPU saat ini menjadi standar dalam banyak
komputer karena kebanyakan aplikasi saat ini banyak beroperasi menggunakan
bilangan floating-point.
Arsitektur
Dasar CPU
Ada dua tipe dasar arsitektur CPU, yaitu Complex
Instruction Set Computer (CISC) dan Reduced Instruction Set Computer (RISC).
CISC adalah arsitektur CPU yang paling umum dan arsitektur mikroprosesor yang
pertama, sedangkan RISC tergolong pada arsitektur mikroprocessor yang baru. Kedua
arsitektur ini memiliki keunggulan dan kekurangan masing-masing. Namun kedua
arsitektur ini terus dikembangkan sebagai usaha untuk mengatasi kesenjangan
semantik dan secara konsekuen akan mengurangi biaya pertumbuhan software.
Gambar 3. RISC & CISC Semantic Gap
No comments:
Post a Comment