Langsung ke konten utama

Instruction Cycle (Siklus Instruksi) dalam Operasi Mikro


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


Ditulis Oleh Fadly Muhammad Irvan
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.


Komentar

Posting Komentar

Postingan populer dari blog ini

Operasi Unit Kendali

Operasi Unit Kendali Materi yang Akan dibahas: •          Apa Pengertian Operasi Unit Kendali? •          Apa Fungsi Operasi Unit Kendali? •          Apa Jenis-Jenis Unit Kendali? •          Apa itu Operasi Mikro? •          Apa itu Kendali Prosesor? •          Apa itu Kendali Mikroprogrammed? Definisi Operasi Unit Kendali Adalah bagian dari sebuah komputer yang berfungsi sebagai pengatur dan pengendali semua peralatan komputer.  Control Unit  juga mengatur kapan alat input menerima data, mengolah, dan menampilkan proses serta hasil pengolahan data. Dengan demikian semua perintah dapat dilakukan secara berurutan tanpa adanya tumpang tindih antara satu perintah dengan perintah lainnya. Diagram Dasar Unit Kendali...

Optimasi Query

Optimasi Query Pre-Test Optimasi Query Apa yang Anda ketahui tentang Optimasi Query ? Apa yang Anda ketahui tentang SQL Tuning ? Jawab : Optimasi Query adalah suatu proses untuk menganalisa query  dan memilih cara yang paling efisien untuk melakukan eksekusi pada statement  di SQL. Optimasi Query  juga merupakan prosedur untuk meningkatkan strategi evaluasi dari suatu query  yang digunakan untuk membuat query  menjadi efektif. SQL Tuning adalah aktifitas yang dilakukan untuk memperbaiki atau meningkatkan kinerja dari database. SQL Tuning juga merupakan sebuah proses Optimasi Query  dengan cara mengubah perintah atau statement  pada SQL serta menentukan Teknik Indexing  agar SQL bekerja secara Optimal. Post-Test Optimasi Query Menurut Anda Pentingkah Melakukan Optimasi Query dalam Manajemen Database? Buat Ringkasan dari Materi SQL Tuning atau Optimasi Query ! Buat Kesimpulan dari Materi SQL Tuning atau Optim...