Beginilah Cara Kerja Processor, Semua instruksi yang kita keluarkan terhadap
computer, baik dengan cara mengetik mengggunakan keyboard atau menggunakan
mouse, akan diubah menjadi bahasa mesin yang hanya dapat dipahami oleh mesin.
Nah, instruksi dalam bahasa mesin dalam bahasa khusus CPU, yang disebut
dengan instruction set architecture (ISA, diterjemahkan sebagai arsitektur set
instruksi), yang akan dipecah ke dalam banyak instruksi yang jauh lebih
sederhana lagi, yang disebut dengan microcode. Instruksi-instruksi dalam
microcode ini, seperti halnya saat menjumlahkan angka yang ada dalam register
semuanya telah ditanamkan di dalam CPU, dan merupakan instruksi yang paling
dasar yang digunakan oleh CPU.
Agar komputer dapat melakukan sinkronisasi
terhadap semua operasinya, maka komputer menggunakan sebuah system clock atau
system timer, yakni sebuah komponen kecil yang ditaruh pada motherboard. Secara
berkala, system clock akan mengirimkan sebuah sinyal kepada seluruh komponen komputer,
yang mungkin mirip dengan detak jantung manusia atau metronome yang digunakan
oleh para musisi. Nah, sinyal-sinyal ini umumnya disebut dengan sebuah siklus,
atau dalam bahasa Inggrisnya disebut clock cycle yang dinyatakan dalam satuan
Hertz. Karena satuan Hertz menggunakan prefiks satuan yang biasa (bukan pangkat
2), maka 1 kilohertz setara dengan 1000 detakan pada system clock, dan 1
megahertz setara dengan 1000000 detakan, dan seterusnya.
Banyak komputer sekarang yang berjalan dengan
system clock 200 MHz, dan semua perangkat yang terkoneksi ke system unit akan
melakukan sinkronisasi dengaan system clock tersebut, dengan cara menyelaraskan
dengan kecepatan yang sama dengan system clock atau beberapa kali lebih banyak
bila memang lebih cepat dari 200 MHz, atau beberapa kali lebih banyak bila
lebih lambat dari 200 MHz, dengan menggunakan sebuah angka sebagai faktor
pengali (multiplier). Sebagai contoh, untuk sebuah CPU yang memiliki kecepatan
2000 MHz (2 GHz), memiliki faktor pengali 10, yang berarti kecepatan CPU
tersebut berdetak 10 kali untuk setiap siklusnya.
Nah, untuk setiap detak CPU, prosesor akan
dapat mengeksekusi satu microcode atau lebih. Sebagian besar computer modern
mampu mengerjakan lebih banyak lagi dalam satu waktunya, dan untuk system
seperti itu lazim diberi atribut sebagai superscalar, yang merujuk pada
kemampuan CPU untuk memproses banyak instruksi per siklusnya (dalam Bahasa
Inggrisnya Instruction per cycle). Nah, CPU yang memiliki kecepatan yang lebih
tinggi akan mampu memproses banyak instruksi per detiknya daripada CPU yang
sama yang memiliki kecepatan yang lebih rendah. Saat CPU memproses satu
microcode, maka kondisi itu disebut sebagai siklus mesin, atau machine cycle.
Setiap siklus mesin memiliki empat operasi yang diilustrasikan pada gambar di
bawah ini.
Siklus Mesin
Fetch, yakni saat instruksi program diambil
dari memori, baik memori register, cache, RAM, atau memori sekunder/tersier
lainnya. Hal ini dilakukan oleh Prefetch Unit. Decode, yakni saat instruksi
program tersebut diterjemahkan oleh Decode Unit agar komponen Control Unit,
Arithmetic and Logic Unit serta Floating Point Unit dapat memahaminya. Execute,
yakni saat instruksi dilaksanakan. Store, yakni saat data asli atau hasil
perhitungan dari ALU atau FPU disimpan di dalam register CPU.
Karena memang dalam satu siklus mesin hanya
terjadi satu proses instruksi microcode, maka proses yang terlihat sederhana
oleh kita justru membutuhkan banyak sekali siklus mesin. Sebagai contoh,
anggaplah kita sedang mengalikan 4 dengan 5—sesuatu yang sederhana karena kita
dapat menyelesaikannya kurang dari satu detik. Bagi CPU, instruksi 4*5 akan
melibatkan beberapa instruksi seperti di bawah ini:
1.Ambil angka 4 dari RAM, terjemahkan, dan simpan
di lokasi X di register.
2.Ambil angka 5 dari RAM, terjemahkan, dan simpan di lokasi Y di register.
3.Ambil dan terjemahkan insturksi perkalian, lalu kalikan angka yang ada di lokasi X dan Y di register, lalu simpan hasilnya di lokasi Z di register.
4. Ambil dan terjemahkan instruksi untuk menampilkan hasil perkaliannya, dan keluarkan output hasil perhitungan dari lokasi Z di register ke RAM.
Tidak ada komentar:
Posting Komentar