Machine
cycle atau nama lainnya adalah processor cycle atau instruction
cycle merupakan merupakan suatu siklus instruksi dasar yang dikerjakan oleh
CPU di dalam melakukan eksekusi suatu instruksi. Rangkaian proses eksekusi
instruksi ini dimulai dari proses fetching data dan instruksi yang ada didalam
memori hingga proses penulisan kembali hasil eksekusi instruksi tersebut ke
dalam memori. Ada empat operasi dasar dalam machine cycle yaitu:
1.
Mengambil sebuah intruksi
2.
Menerjemahkan instruksi
3.
Mengeksekusi intruksi
4.
Menyimpan hasil
Dengan
arsitektur Von Neuman prosesor tidak perlu membedakan program dan data.
Prosesor tipe ini tidak memerlukan control bus tambahan berupa pin I/O
khusus untuk membedakan program dan data. Karena kemudahan ini, tidak terlalu
sulit bagi prosesor yang berarsitektur Von Neumann untuk menambahan peripheral
eksternal seperti A/D converter, LCD, EEPROM dan devais I/O lainnya. Biasanya
devais eksternal ini sudah ada di dalam satu chips, sehingga prosesor seperti
ini sering disebut dengan nama mikrokontroler (microcontroller).
Keuntungan lain dengan arrrsitektur Von Neumann
adalah pada fleksibilitas pengalamatan program dan data. Biasanya program
selalu ada di ROM dan data selalu ada di RAM. Arsitektur Von Neumann
memungkinkan prosesor untuk menjalankan program yang ada didalam memori data
(RAM). Misalnya pada saat power on, dibuat program inisialisasi yang
mengisi byte di dalam RAM. Data di dalam RAM ini pada gilirannya nanti
akan dijalankan sebagai program. Sebaliknya data juga dapat disimpan di dalam
memori program (ROM). Contohnya adalah data look-up-table yang ditaruh
di ROM. Data ini ditempatkan di ROM agar tidak hilang pada saat catu daya mati.
Pada mikroprosesor Von Neumann, instruksi yang membaca data look-up-table
atau program pengambilan data di ROM, adalah instruksi pengalamatan biasa.
Sebagai contoh, pada mikrokontroler 8bit Motorola 68HC11 program itu ditulis
dengan :
LDAA
$4000 ; A <-- $4000
Program ini adalah instruksi untuk
mengisi accumulator A dengan data yang ada di alamat 4000 (ROM).
Instruksi
tersebut singkat hanya perlu satu baris saja. Pada prinsipnya, kode biner yang
ada di ROM atau di RAM bisa berupa program dan bisa juga berupa data.
Sebelum
suatu instruksi dieksekusi oleh processor, terlebih dahulu sekumpulan instruksi
tersebut disimpan dalam memori. Ketika akan dieksekusi, instruksi tersebut akan
diambil (fetch) ke dalam memori, berdasarkan alamat instruksi yang disimpan
dalam PC (Program Counter) yang terdapat dalam CPU. Setelah instruksi tersebut
diload dari memori, nilai PC akan di-increment untuk menunjuk alamat berikutnya
dari dari instruksi yang akan dieksekusi. Tahapan berikutnya setelah proses
load (fetch) dilakukan, instruksi tersebut akan di-decode, dan kemudian
dilakukan proses eksekusi. Setelah itu , hasil dari eksekusi instruksi
tersebut akan dikembalikan lagi ke dalam memori. Siklus instruksi tersebut akan
dikerjakan secara berulang oleh CPU selama masih ada instruksi yang akan
dieksekusi.
Merupakan
proses dimana instruksi dan data akan di load dari memori ke dalam CPU. Proses
ini dimulai dari pengambilan alamat instruksi yang terdapat di dalam PC
(Program Counter). Alamat yang terdapat di dalam PC ini merupakan alamat valid
dari instruksi dan data yang disimpan ke dalam memori utama, dan merupakan
alamat instruksi yang akan dieksekusi. Berdasarkan alamat instruksi yang
terdapat di dalam PC, CPU akan mengambil instruksi tersebut untuk ditempatkan
ke dalam register (Instruction Register/ IR) yang menyimpan instruksi yang akan
dieksekusi.
MAR
(Memory Address Register) akan bertanggung jawab untuk menyimpan alamat dari
data yang disimpan ke dalam memori untuk selanjutnya akan di fetch ke dalam
CPU. Sedangkan MDR (Memory Data Register) akan menyimpan data yang akan
dioperasikan berdasarkan instruksi tertentu oleh CPU.
Setelah
instruksi dan data di-fetch ke dalam CPU, Program Counter (PC) akan melakukan
increment untuk menunjuk alamat dari instruksi dan data berikutnya yang akan
dieksekusi.
2.
Proses Decoding
Merupakan
tahapan dimana instruksi akan di terjemahkan (interpret) ke dalam
perintah-perintah bahasa mesin dasar (ADD, SB, MBA, STA, JMP, dll). Proses ini
dilakukan oleh instruction decoder.
3. Proses Executing
Pada tahapan dimana instruksi akan
dieksekusi di dalam CPU, yaitu oleh ALU (Arithmetic Logic Unit).
Setelah tahapan diatas dikerjakan,
maka hasil dari eksekusi tersebut akan dikembalikan ke dalam memori untuk
disimpan. Berdasarkan Gambar 5 dibawah ini, proses penyimpanan kembali hasil
eksekusi isntruksi terdiri dari beberapa tahapan yaitu:
·
Proses penempatan alamat memori yang digunakan untuk
menyimpan hasil instruksi ke dalam
MAR
·
Proses penempatan data (hasil
instruksi) kedalam MDR
·
Proses mengaktifkan memory write
control signal pada control bus
·
Proses menunggu memori untuk
melakukan write data pada alamat tertentu
·
Proses untuk menonaktifkan memory
write control signal pada bus
Dalam menjalakan instruction cycle /
machine cycle ada beberapa komponen yang berperan, yaitu:
Program Counter (PC)
Nama
lainnya adalah Instruction Pointer, merupakan suatu pointer (penunjuk),
bagi sejumlah instruksi yang ditempatkan di dalam memori dan akan dieksekusi
oleh CPU. Terletak di dalam CPU, program counter akan menunjuk alamat memori
dari instruksi sebelum dilakukan proses fetch ke dalam CPU. Isi dari program
counter ini akan di increment setiap selesai melakukan proses fetching
instruksi, untuk menunjuk instruksi berikutnya yang akan dieksekusi
Memory Address Register (MAR)
Adalah
salah satu register yang terdapat di dalam CPU yang fungsinya adalah untuk
menyimpan alamat memori dari data yang akan diambil (fetch) oleh CPU untuk
dieksekusi. Selain itu MAR juga akan menyimpan alamat memori dari data (hasil
instruksi) yang akan ditulis kembali ke dalam memori.
Memory Data Register (MDR)
Merupakan
register yang terdapat dalam CPU yang fungsinya adalah menyimpan data sementara
yang akan dieksekusi oleh CPU. Setiap kali proses fetching berlangsung, data
akan disimpan di dalam MDR sebelum dilakukan proses eksekusi. Demikian juga
hasil dari eksekusi instruksi akan disimpan di dalam register ini sebelum
dilakukan proses penulisan kembali ke memori
Instruction
Register
Sama
seperti MAR dan MDR, Instruction Register (IR) ini terletak di dalam CPU. IR
ini bertanggung jawab untuk menyimpan instruksi yang akan dieksekusi oleh CPU.
Pada beberapa jenis prosesor (terutama yang ada sekarang), digunakan konsep
pipeline pada IR ini, dimana pada setiap stage pipeline melakukan proses
decoding, dan proses yang lain pada waktu instruksi dikerjakan.
Control Unit (CU)
Control
unit mengkoordinasi semua komponen-komponen yang ada di sistem computer,
terutama yang berkaitan dengan pengolahan data dan eksekusi instruksi. CU
mengatur proses fetching instruksi maupun data dari memori ke CPU.
Selain itu juga mengatur unit yang lain dengan menyediakan timing dan control
signal.
Arithmetic Logic Unit (ALU)
Merupakan
sirkuit digital yang terdapat di dalam CPU yang memiliki fungsi untuk melakukan
komputasi aritmatika dan logika. ALU merupakan unit dasar dari pengolah data
dan eksekusi instruksi.
Tidak ada komentar:
Posting Komentar