Instruction
Cycle (Siklus Instruksi)
Karena
set instruksi dari suatu CPU memiliki bermacam mode pengalamatan dan format
operand, maka unit control bertanggung jawab untuk menjaga semua kemungkinan
pada setiang tingkat dalam siklus instruksi.
- Setiap
fase siklus instruksi dapat diuraikan menjadi operasi mikro elementer.
- Ada
empat buah kode siklus instruksi (ICC).
- ICC
menandai status CPU dalam hal berbagai tempat siklus tersebut berada.
Berikut adalah 4 (empat) kode siklus
instruksi atau Instruction Code Cycle (ICC):
·
00 : FetchØ
·
01 :IndirectØ
·
10 :ExecuteØ
·
11 :InterruptØ
Ada 4 (Empat) Register dalam Fetch Cycle, antara lain:
1.
Memory Address Register (MAR)
·
Terkoneksi dengan bus alamat (Address Bus).
·
MAR melakukan spesifikasi alamat untuk operasi baca (read) dan tulis
(write).
2.
Memory Buffer Register (MBR)
·
Terkoneksi dengan bus data (Data Bus).
·
Menyimpan data untuk ditulis atau menyimpan data terakhir yang dibaca
(Holds data to write or last data read).
3.
Program Counter (PC)
·
Menyimpan alamat instruksi berikut yang akan diakses (Holds address of
next instruction to be fetches).
4.
Instruction Register (IR)
·
Menyimpan alamat instruksi terakhir yang diakses (Holds last instruction
fetched).
Jenis-Jenis Siklus dalam Siklus Instruksi (Instruction-Cycle):
1. Fetch-Cycle
(Siklus Pengambilan)
2. Indirect-Cycle
(Siklus Tak Langsung)
3. Interrupt-Cycle
(Siklus Interupsi)
4. Execution-Cycle
(Siklus Eksekusi)
1. Fetch-Cycle
(Siklus Pengambilan)
Fetch Cycle adalah siklus pengambilan data ke
memori atau register. Berikut adalah contoh aliran data siklus
pengambilan(Fetch Cycle):
-
Urutan kejadian selama siklus interuksi tergantung pada rangan CPU.
-
Asumsi: Sebuah CPU yang menggunakan register memori alamat (MAR),
Register memori buffer (MBR), pencacah program (PC)m dan register
instruksi(IR).
Prosesnya:
1.
Pada siklus pengambilan (Fetch Cycle), instruksi dibaca dari memori.
2.
PC berisi alamat instruksi berikutnya yang akan diambil.
3.
Alamat ini dipindahkan di MAR(Memory Address Register) dan ditaruh di
bus alamat.
4.
Control Unit meminta pembacaan memori dan hasilnya disimpan di bus data
dan disalin ke MBR (Memory Buffer Register), kemudian dipindahkan ke IR
(Instruction Regiter).
5.
PC (Program Counter) naik nilainya 1, sebagai persiapan untuk
pengambilan selanjutnya.
6.
Siklus selesai, CU memeriksa isi
IR (Instruction Register) untuk menentukan apakah IR (Instruction Register)
berisi Operand Specifier yang menggunakan pengalamatan tak langsung (Indirect).
Dengan demikian siklus Fetch sederhana
sebenarnya terdiri atas 3 langkah dan 4 operasi mikro. Secara simbolik dapat
ditulis sebagai berikut:
T1 : MAR ß (PC)
T2 : MBR ß (MEMORY)
PC ß (PC)+1
T3 : IR ß (MBR)
Dimana T1, T2, dan T3 merupakan unit waktu
yang berdurasi sama dan berurutan.
2. Indirect-Cycle
(Siklus Tak Langsung)
Siklus tidak langsung (Indirect
Cycle) adalah eksekusi sebuah instruksi yang melibatkan sebuah operand atau
lebih di dalam memori, yang masing-masing operand memerlukan akses memori.
Pengambilan alamat-alamat tak langsung dapat dianggap sebagai sebuah subsiklus
instruksi atau lebih.
Penjelasan:
·
N bit paling kanan pada MBR, yang
berisi referensi alamat, dipindahkan ke MAR.
·
Unit Kontrol meminta pembacaan memori, agar mendapatkan alamat operand
yang diinginkan ke dalam MBR.
·
Siklus pengambilan dan siklus tak langsung cukup sederhana dan dapat
diramalkan.
Berikut adalah penulisan siklus tidak
langsung secara simbolik:
T1 : MAR ß (IR (Alamat))
T2 : MBR ß
Memory
T3 : IR (Alamat) ß
(MBR (Alamat))
3. Interrupt-Cycle
(Siklus Interupsi)
Interrupt adalah suatu permintaan khusus
kepada mikroprosesor untuk melakukan sesuatu. Bila terjadi interupsi, maka
komputer akan menghentikan dahulu apa yang sedang dikerjakannya dan melakukan
apa yang diminta oleh yang meninterupsi.
Pada IBM PC (Personal Computer) dan
kompatibelnya disediakan 256 buah interupsi yang diberi nomor 0 sampai 255.
Nomor interupsi 0 sampai 1 Fh disediakan oleh ROM BIOS, yaitu suatu IC
(Integrated Circuit) didalam komputer
yang mengatur operasi dasar komputer. Jadi bila terjadi interupsi dengan nomor
0 sampai 1 Fh, maka secara default komputer akan beralih menuju ROM BIOS dan
melaksanakan program yang terdapat disana. Program yang melayani suatu
interupsi dinamakan Interrupt Handler.
Aliran Data Siklus Interupsi:
Isi PC, saat itu harus disimpan sehingga CPU dapat melanjutkan aktivitas
normal terjadinya interupsi.
1.
Isi PC dipindahkan ke MBR untuk kemudian dituliskan ke dalam memori.
2.
Lokasi memori khusus yang dicadangkan untuk keperluan ini dimuatkan ke
MAR dari unit kontrol (Control Unit).
3.
Lokasi ini berupa stack pointer.
4.
PC dimuatkan dengan alamat rutin interupsi.
5.
Akibatnya siklus interuksi berikutnya akan mulai mengambil interuksi
yang sesuai.
Berikut adalah penulisan siklus Interupsi secara simbolik:
T1 :
MBR ß (PC)
T2 :
MAR ß Save_Address
PC ß Routine_Address
T3 :
Memory ß MBR
4. Execution-Cycle
(Siklus Eksekusi)
Execution adalah proses dari CPU untuk mengerjakan instruksi yang sudah
dijemput dari main memory dan sudah
berada di IR register, Control Unit di CPU mengartikan instruksi tersebut,
melaksanakan operasi yang harus dilakukan, seperti penjemputan/pengambilan data
dari main memory, mengirim instruksi ke ALU untuk melakukan operasi aritmatika
atau logika dan menyimpan hasil pengolahan kembali ke main memory. Sedangkan Execution sequence adalah proses atau langkah
sebuah eksekusi program yang terjadi dan berlangsung pada sebuah sistem
mikroprosesor. Sebuah mikroprosesor harus dapat melakukan proses:
§
Fetch Data atau mengambil data baik dari memori maupun I/O dengan proses
baca (read) data.
§
Proses Data atau mengolah data dalam salah satu operasi aritmatika atau
logika.
§
Write Data atau menulis data ke memori atau I/O.
§
Fetch Instruction atau mengambil instruksi yaitu membaca instruksi dari
memori.
§
Interpret Instruction, yaitu proses menginterpretasikan/menerjemahkan
instruksi. Instruksi hari didekode untuk menentukan aksi dari suatu instruksi
yang harus dilakukan. Instruksi dalam bahasa mesin berbentuk kode-kode biner
dalam heksadesimal. Setiap perintah dikodekan dan disusun dalam sebuah set
instruksi. Untuk mendapatkan gambaran yang jelas, bagaimana bagian-bagian dari
sebuah komputer atau sistem mikroprosesor bekerja.
Berikut
adalah beberapa perintah dalam Execution Cycle:
1.
Penambahan (ADD)
ADD R1, X = Menambahkan isi lokasi X ke
register R1
T1 :
MAR (IR(Alamat))
T2 :
MBR Memory
T3 :IR
(R1) + (MBR)
2.
ISZ
Isi lokasi X ditambah dengan 1. Apabila hasilnya sama dengan Nol (0),
maka instruksi berikutnya dilompati.
T1 :MAR
(IR(Alamat))
T2 :MBR
Memory
T3 :IR
(MBR) + 1
T4 :
Memory(MBR)
If (MBR=0) then (PC+1)
3.
BSA X
Merupakan alamat instruksi yang berada setelah instruksi BSA disimpan di
lokasi X dan eksekusi dilanjutkan pada lokasi X + 1. Alamat yang disimpan akan
digunakan kemudian untuk keperluan return.
T1 :
MAR (IR(Alamat))
MBR
(PC)
T2 :
PC(IR (Alamat))
Memory (MBR)
T3 :
PC(PC) + 1
Daftar Pustaka :
Arief, Miftah. 2012. “Pengertian Control
Unit”. Dalam http://miftahari3f.blogspot.com/2012/10/pengertian-control-unit.html.
Farhat. Tanpa Tahun. ”Operasi Unit Kendali”.
Laporan. Tempat:Universitas Gunadarma.
Nurlitasari, Ega. 2016. “Operasi Unit
Kendali”. Dalam http://pienotseka3.blogspot.com/2016/11/operasi-unit-kendali.html.
Purwanto, Imam, Ega Hegarini, Rifki amalia,
Arie Kusumawati. 2013. Laporan. Tempat:Universitas Gunadarma.
Rahman. 2014. “Operasi Unit Kendali CU
(Control Unit)”. Dalam http://berbagiilmuindahnya.blogspot.com/2014/04/operasi-unit-kendali-cu-control-unit.html.
Roqi, Baidowi. 2016. “Operasi Unit Kendali/CU
(Control Unit)”. Dalam https://belajar-bersama-bdw.blogspot.com/2016/01/operasi-unit-kendalicu-control-unit.html.
Saputra, Bayu. 2012.
“Operasi Unit Kendali”. Dalam http://bayserf.blogspot.com/2012/11/operasi-unit-kendali.html.
Sharma, Nirmala. 2009. Computer Architecture. New Delhi:University Science Press.
Suryadi. 2011. “CPU (Central Processing
Unit)”. Dalam https://mangantar.wordpress.com/2011/02/09/cpu-central-prosessor-unit/.
Syahrul. 2010. Organisasi dan Arsitektur Komputer. Yogyakarta: Andi.
Wikipedia. 2018. “Unit Kendali”. Dalam https://id.wikipedia.org/wiki/Unit_Kendali.
sip min
BalasHapusMesin pemisah lcd