Chip mikroprosesor Intel 80486DX2
(ukuran sebenarnya: 12×6,75 mm).
Unit
Pengolah Pusat (UPP) (bahasa Inggris: CPU, singkatan dari Central
Processing Unit), merujuk kepada perangkat keras komputer yang memahami dan melaksanakan perintah dan data
dari perangkat lunak.
Istilah lain, prosesor (pengolah data), sering digunakan untuk menyebut
CPU. Adapun mikroprosesor adalah CPU yang diproduksi dalam sirkuit terpadu, seringkali dalam sebuah paket chip-tunggal
(sirkuit terpadu-tunggal). Sejak pertengahan
tahun 1970-an, mikroprosesor chip-tunggal
(sirkuit terpadu-tunggal) ini telah umum digunakan dan menjadi aspek penting dalam penerapan CPU.
Komponen CPU
Diagram blok
sederhana sebuah CPU.
Komponen CPU terbagi menjadi
beberapa macam, yaitu sebagai berikut.
- Unit kontrol yang mampu mengatur jalannya program. Komponen ini sudah pasti terdapat dalam semua CPU.
- Unit eksekusi yang mampu melakukan
operasi terhadap data dan memiliki beberapa bagian, seperti ALU
(Unit Logika dan Aritmatika), FPU (Floating Point Unit),
dan lainnya. Komponen ini sudah pasti terdapat dalam semua jenis CPU.
- Sekumpulan
daftar yang dapat digunakan untuk menampung data maupun hasil perhitungan
yang belum selesai dengan sempurna. Komponen ini terkadang terdapat dalam
CPU, tetapi tidak semuanya.
- Memori internal CPU, yang bentuknya bisa berupa cache. Komponen ini terkadang terdapat dalam CPU.
Kebanyakan CPU lama tidak memilikinya.
Cara Kerja CPU
Fungsi CPU
CPU berfungsi seperti kalkulator, hanya saja CPU jauh lebih
kuat daya pemrosesannya. Fungsi utama dari CPU adalah melakukan operasi aritmatika dan logika terhadap data yang diambil
dari memori atau dari informasi yang dimasukkan melalui beberapa perangkat keras, seperti papan ketik, pemindai, tuas
kontrol, maupun tetikus. CPU dikontrol menggunakan
sekumpulan instruksi perangkat lunak komputer. Perangkat lunak tersebut dapat dijalankan oleh CPU dengan membacanya
dari media penyimpan, seperti cakram keras, disket, cakram
padat,
maupun pita perekam. Instruksi-instruksi tersebut kemudian disimpan terlebih
dahulu pada memori fisik (RAM), yang mana setiap instruksi akan diberi alamat unik yang disebut alamat
memori. Selanjutnya, CPU dapat mengakses data-data pada RAM dengan
menentukan alamat data yang dikehendaki.
Saat sebuah program
dieksekusi, data mengalir dari RAM ke sebuah unit yang disebut dengan bus, yang menghubungkan antara
CPU dengan RAM. Data kemudian
didekode dengan menggunakan unit proses yang disebut sebagai pendekoder
instruksi yang sanggup menerjemahkan instruksi. Data kemudian berjalan ke unit
aritmatika dan logika (ALU) yang melakukan kalkulasi dan
perbandingan. Data bisa jadi disimpan sementara oleh ALU dalam sebuah lokasi memori
yang disebut dengan register supaya dapat diambil kembali dengan cepat
untuk diolah. ALU
dapat melakukan operasi-operasi tertentu, meliputi penjumlahan, perkalian,
pengurangan, pengujian kondisi terhadap data dalam register, hingga mengirimkan
hasil pemrosesannya kembali ke memori fisik,
media penyimpan, atau register apabila akan mengolah hasil pemrosesan lagi.
Selama proses ini terjadi, sebuah unit dalam CPU yang disebut dengan penghitung
program akan
memantau instruksi yang sukses dijalankan supaya instruksi tersebut dapat
dieksekusi dengan urutan yang benar dan sesuai.
Percabangan instruksi
Penghitung program dalam CPU
umumnya bergerak secara berurutan. Walaupun demikian, beberapa instruksi dalam
CPU, yang disebut dengan instruksi lompatan, mengizinkan CPU mengakses
instruksi yang terletak bukan pada urutannya. Hal ini disebut juga percabangan
instruksi (branching instruction). Cabang-cabang instruksi tersebut
dapat berupa cabang yang bersifat kondisional (memiliki syarat tertentu) atau
non-kondisional. Sebuah cabang yang bersifat non-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
pada lokas yang disebut dengan flag.
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. 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, 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
prosesor sendiri untuk menghitung bilangan floating-point yang disebut
dengan FPU (disebut juga math co-processor)
yang dapat bekerja secara paralel dengan CPU untuk mempercepat penghitungan
bilangan floating-point. FPU
saat ini menjadi standar dalam banyak komputer karena kebanyakan aplikasi saat ini
banyak beroperasi menggunakan bilangan floating-point.
Posting Komentar