Siklus
Instruksi
Machine cycle atau
nama lainnya adalah processor
cycle atauinstruction
cycle 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.
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.
1. Register-register internal CPU:
Memory Buffer Register (MBR) atau Memory
Data Register (MDR) :
berisi sebuah word yang akan disimpan di
dalam memori, atau digunakan untuk menerima word dari memori.
2. Memory Address Register (MAR) :
menentukan alamat di memori yang isinya
akan diambil ke MBR atau yang akan diisi dengan data yang terdapat di MBR.
3. Instruction Register (IR) :
Instruction Register (IR) : tempat
menampung instruksi yang akan dieksekusi.
4. Program Counter (PC) :
menyimpan alamat instruksi berikutnya
yang akan diambil dari memori.
5. Accumulator :
digunakan untuk menyimpan sementara operand dan hasil operasi ALU.
SIKLUS INTRUKSI DASAR :
- Eksekusi program akan terhenti apabila komputer
dimatikan, terjadi kesalahan, atau terdapat instruksi yang menghentikan
komputer.
- Mengambil instruksi berikutnya Eksekusi instruksi
Siklus Pengambilan (Fetch Cycle) & Siklus Eksekusi (Execute Cycle)
- Pada awal setiap siklus instruksi, CPU membaca
instruksi dari memori.
- Sebuah register yang disebut Program Counter (PC)
digunakan untuk menunjukkan alamat instruksi yang akan diambil dari
memori.
- Setiap kali sebuah instruksi dibaca, isi PC akan
ditambah sehingga CPU akan membaca instruksi selanjutnya secara berurutan.
- Instruksi yang dibaca akan dimuatkan ke sebuah
register di dalam CPU yang disebut Instruction register (IR).
- Selanjutnya CPU menginterpretasikan instruksi dan
melakukan aksi yang diperlukan.
REGISTER INTERNAL CPU
- Program Counter (PC) = menyimpan alamat instruksi
- Instruction Register (IR) = menampung instruksi
yang sedang dieksekusi
- Accumulator (AC) = register penyimpanan temporer
KODE ATAU INSTRUKSI :
- 0001 = Isi memori, yang alamatnya dinyatakan pada
bit 4 sampai bit 15 pada format instruksi, disalinkan ke Accumulator.
- 0010 = Simpan isi accumulator ke memori, yang
alamatnya dinyatakan pada bit 4 sampai bit 15.
- 0101 =Tambahkan isi AC dengan isi memori, yang
alamatnya dinyatakan pada bit 4 sampai bit 15.
KUMPULAN REGISTER :
- 9 Memory Buffer Register (MBR)
- 9 Memory Address Register (MAR)
- 9 Instruction Register (IR)
- 9 Instruction Buffer Register (IBR): digunakan
untuk menyimpan sementara instruksi sebelah kanan word di dalam memori.
- 9 Program Counter (PC)
- 9 Accumulator dan Multiplier -Ouotient (MQ) :
digunakan untuk menyimpan sementara operand dan hasil operasi ALU.
Pada IAS, setiap siklus instruksi
terdiri dari dua subsiklus. Selama siklus pengambilan, op code instruksi
berikutnya dimuatkan ke IR dan alamat dimuatkan ke MAR. Instruksi ini
dapat diambil dari IBR atau dapat diperoleh dari memori dengan cara
memuatkan sebuah word ke dalam MBR, dan kemudian diturunkan ke IBR, IR dan
MAR.
Pengolahan instruksi dalam CPU terdiri
dari dua langkah, yaitu : operasi pembacaan instruksi (fetch) dan operasi
pelaksanaan instruksi (execute). Siklus instruksi yang terdiri dari siklus
fetch dan siklus eksekusi.
Pada setiap siklus instruksi, CPU
awalnya akan membaca instruksi dari memori. Terdapat register dalam CPU yang
berfungsi mengawasi dan menghitung instruksi selanjutnya, yang disebut Program
Counter (PC). PC akan menambah satu hitungannya setiap kali CPU membaca
instruksi.
SIKLUS FETCH - EKSEKUSI
Instruksi – instruksi yang dibaca akan
dibuat dalam register instruksi (IR). Instruksi – instruksi ini dalam bentuk
kode – kode binner yang dapat diinterpretasikan oleh CPU kemudian dilakukan
aksi yang diperlukan. Aksi – aksi ini dikelompokkan menjadi empat katagori,
yaitu :
- CPU – Memori, perpindahan data dari CPU ke memori
dan sebaliknya.
- CPU –I/O, perpindahan data dari CPU ke modul I/O
dan sebaliknya.
- Pengolahan Data, CPU membentuk sejumlah operasi
aritmatika dan logika terhadap data.
- Kontrol, merupakan instruksi untuk pengontrolan
fungsi atau kerja. Misalnya instruksi pengubahan urusan eksekusi.
FUNGSI INTERRUPT
Fungsi interupsi adalah mekanisme
penghentian atau pengalihan pengolahan instruksi dalam CPU kepada routine
interupsi. Hampir semua modul (memori dan I/O) memiliki mekanisme yang dapat
menginterupsi kerja CPU.
Tujuan interupsi secara umum untuk
menejemen pengeksekusian routine instruksi agar efektif dan efisien antar CPU
dan modul – modul I/O maupun memori. Setiap komponen komputer dapat menjalankan
tugasnya secara bersamaan, tetapi kendali terletak pada CPU disamping itu
kecepatan eksekusi masing – masing modul berbeda sehingga dengan adanya fungsi
interupsi ini dapat sebagai sinkronisasi kerja antar modul. Macam – macam kelas
sinyal interupsi :
- Program, yaitu interupsi yang dibangkitkan dengan
beberapa kondisi yang terjadi pada hasil eksekusi program. Contohnya:
arimatika overflow, pembagian nol, oparasi ilegal.
- Timer, adalah interupsi yang dibangkitkan
pewaktuan dalam prosesor. Sinyal ini memungkinkan sistem operasi
menjalankan fungsi tertentu secara reguler.
- I/O, sinyal interupsi yang dibangkitkan oleh modul
I/O sehubungan pemberitahuan kondisi error dan penyelesaian suatu operasi.
- Hardware failure, adalah interupsi yang
dibangkitkan oleh kegagalan daya atau kesalahan paritas memori.
Dengan adanya mekanisme interupsi,
prosesor dapat digunakan untuk mengeksekusi instruksi-instruksi lain. Saat
suatu modul telah selesai menjalankan tugasnya dan siap menerima tugas
berikutnya maka modul ini akan mengirimkan permintaan interupsi ke prosesor.
Kemudian prosesor akan menghentikan eksekusi yang dijalankannya untuk
menghandel routine interupsi.
Setelah program interupsi selesai maka
prosesor akan melanjutkan eksekusi programnya kembali. Saat sinyal interupsi
diterima prosesor ada dua kemungkinan tindakan, yaitu interupsi
diterima/ditangguhkan dan interupsi ditolak. Apabila interupsi ditangguhkan,
prosesor akan melakukan hal – hal dibawah ini :
- Prosesor menangguhkan eksekusi program yang
dijalankan dan menyimpan konteksnya. Tindakan ini adalah menyimpan alamat
instruksi berikutnya yang akan dieksekusi dan data lain yang relevan.
- Prosesor menyetel program counter (PC) ke alamat
awal routine interrupt handler.
https://ilhamewilsaputra.wordpress.com/
Comments