Senin, 06 Oktober 2014

Siklus Eksekusi Program

Cara kerja CPU ialah ketika data serta atau instruksi dimasukkan ke processing devices, pertama sekali diletakkan di MAA(melalui Input-storage), yakni apabila berbentuk instruksi ditampung oleh Control Unit diProgram-storage, namun apabila berbentuk data ditampung diWorking-storage. Jika register siap untuk menerima pengerjaan eksekusi, maka Control Unit akan mengambil instruksi dari Program-storage untuk ditampungkan ke Instruction Register, sedangkan alamat memori yang berisikan instruksi tersebut ditampung di Program Counter. Sedangkan data diambil oleh Control Unit dari Working-storage untuk ditampung di General-purpose register (dalam hal ini di Operand-register).
Jika berdasar instruksi pengerjaan yang dilakukan adalah aritmatika dan logika, maka ALU akan mengambil alih operasi untuk mengerjakan berdasar instruksi yang ditetapkan. Hasilnya ditampung pada akumulator. Apabila hasil pengolahan telah selesai, maka Control Unit akan mengambil hasil pengolahan di akumulator untuk ditampung kembali ke Working-storage. Jika pengerjaan keseluruhan telah selesai, maka Control Unit akan mengambil kembali hasil pengolahan dari Working-storage untuk ditampung ke Output-storage. Lalu selanjutnya dari Output-storage, hasil pengolahan akan ditampilkan kepada output-devices.
Siklus Instruksi terdiri atas siklus fetch dan siklus eksekusi:
Siklus Fetch:
  • Pada setiap siklus instruksi, CPU awalnya akan membaca instruksi dari memori.
  • Terdapat register dalam CPU yang berfungsi mengawasi dan menghitung instruksi selanjutnya, yang disebut dengan Program Counter (PC).
  • PC akan menambah satu hitungannya setiap kali CPU membaca instruksi.
  • Instruksi-instruksi yang dibaca akan dibuat dalam register instruksi (IR).
  • Instruksi-instruksi ini dalam bentuk kode-kode biner yang dapat di interprestasikan oleh CPU kemudian dilakukan aksi yang diperlukan.
Siklus Eksekusi
  • Instruction Address Calculation (IAC), yaitu mengkalkulasikan atau menentukan alamat instruksi berikutnya yang akan dieksekusi.
  • Instruction Fetch (IF), yaitu membaca atau mengambil instruksi dari lokasi memorinya ke CPU.
  • Instruction Operation Decoding (IOD), yaitu menganalisa instruksi untuk menentukan jenis operasi yang akan dibentuk dan operand yang akan digunakan.
  • Operator Address Calculation (OAC), yaitu menentukan alamat operand, hal ini dilakukan apabila melibatkan referensi operand pada memori.
  • Operand Fetch (OF), mengambil operand dari memori atau dari modul I/O.
  • Data Operation (DO), yaitu membentuk operasi yang diperintahkan dalam instruksi.
  • Operand Store (OS), yaitu menyimpan hasil eksekusi ke dalam memori.
Aksi CPU
  • 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 Interupsi
  • 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 manajemen pengeksekusian routine instruksi agar efektif dan efisien antar CPU dan modul-modul I/O maupun memori.
  • Setiap komponen computer dapat menjalankan tugasnya secara bersamaan, tetapi kendali terletak pada CPU disamping itu kecepatan eksekusi masing-masing modul berbeda.
  • Dapat sebagai sinkronisasi kerja antar modul
Kelas Sinyal Interupsi
  • Program, yaitu interupsi yang dibangkitkan dengan beberapa kondisi yang terjadi pada hasil eksekusi program. Contohnya : aritmatika overflow, pembagian nol, operasi ilegal.
  • Timer, adalah interupsi yang dibangkitkan perwaktuan dalam processor. 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.
Proses Interupsi
  • 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 menghandle routine interupsi.
  • Setelah program interupsi selesai, maka prosesor akan melanjutkan eksekusi programnya.
  • Saat sinyal interupsi diterima prosesor ada dua kemungkinan tindakan, yaitu interupsi diterima/ditolak dan interupsi ditolak. 

Siklus Eksekusi Program


Gambar diatas memperlihatkan contoh siklus eksekusi sebuah instruksi yang terdiri dari 6 tahap, yaitu :
  1. Karena PC (Program Counter) berisi angka 300, maka instruksi yang akan diambil adalah instruksi yang terletak di memori alamat 300, yaitu instruksi dengan kode 1940. Instruksi tersebut diambil dari memori kemudian disimpan di register instruksi (Instruction Register). 
  2. Misalkan kode 1940 merupakan instruksi dengan kode operasi (Operation Code, opcode) 1, diikuti dengan 940 yang merupakan alamat operand. Opcode 1 berarti instruksi untuk mengcopy data dari alamat operand (dalam hal ini 940) ke akumulator. Maka data yang terletak di alamat 940 dicopy ke accumulator untuk diproses dalam siklus eksekusi ini. 
  3. Setelah itu isi PC ditambah satu (incremented) sehingga isinya menjadi 301. Artinya, instruksi berikutnya yang harus diambil dari memori dan dieksekusi terletak di memori alamat 301, yaitu instruksi dengan kode 5941. Instruksi tersebut mengandung opcode 5 dan alamat operand 941.
  4. Karena 5 berarti penjumlahan antara isi akumulator dengan isi memori yang alamatnya diberikan di sebelah angka 5, maka isi akumulator dijumlahkan dengan isi memori alamat 941. Kemudian hasil penjumlahannya dikembalikan ke akumulator. 
  5. Setelah PC ditambah satu, maka isinya menjadi 302, sehingga instruksi berikutnya yang diambil dari memori adalah 2941, yaitu opcode 2 dan operand. 
  6. Arti 2941 adalah perintah untuk mengcopy isi akumulator ke memori alamat 941.
Referensi:
  • Oneway-kurniasurbakti.blogspot.com
  • Modul-2-sistem-komputer-dan-eksekusi.pdf

Siklus Eksekusi Program Rating: 4.5 Diposkan Oleh: Unknown

3 komentar: