fetch - arsikom

14
Teknik Informatika FTI UMB V/ 1 Pusat Pengembangan Bahan Ajar UMB RATNA MUTU MANIKAM S.KOM.MT Arsitektur & Organsasi Komputer Siklus Fetch, Eksekusi & Interupsi I. Tujuan Instruksional khusus Mahasiswa dapat mengerti dan memahami siklus fetch dan eksekusi pada CPU II. Daftar Materi Pembahasan o Komponenkomponen Komputer o Fungsi Komputer o Siklussiklus Fetch dan Eksekusi o Kelaskelas Interupsi o Interrupt dan Siklus Instruksi o Multiple Interrupt V

Upload: chancu-tammaka-engka

Post on 01-Dec-2015

50 views

Category:

Documents


5 download

TRANSCRIPT

Teknik Informatika FTI UMB V / 1

Pusat Pengembangan Bahan Ajar ­ UMB RATNA MUTU MANIKAM S.KOM.MT Arsitektur & Organsasi Komputer

Siklus Fetch, Eksekusi & Interupsi

I. Tujuan Instruksional khusus Mahasiswa dapat mengerti dan memahami siklus fetch dan eksekusi pada CPU

II. Daftar Materi Pembahasan o Komponen­komponen Komputer

o Fungsi Komputer

o Siklus­siklus Fetch dan Eksekusi

o Kelas­kelas Interupsi

o Interrupt dan Siklus Instruksi

o Multiple Interrupt

V

Teknik Informatika FTI UMB V / 2

Pusat Pengembangan Bahan Ajar ­ UMB RATNA MUTU MANIKAM S.KOM.MT Arsitektur & Organsasi Komputer

III. Pembahasan / Isi Komponen­komponen Komputer Rancangan arsitektur Von Neuman didasarkan pada 3 konsep utama:

­ Data dan instruksi­instruksi disimpan di memori baca­tulis tunggal

­ Memori dapat dialamati dengan lokasi, tidak tergantung pada jenis data

yang berada didalamnya.

­ Eksekusi terjadi dengan cara sekuensial dari instruksi yang satu ke

instruksi berikutnya.

Fungsi Komputer ­ Fungsi dasarnya adalah eksekusi program.

­ CPU melakukan tugas ini dengan cara eksekusi suatu program

­ Proses eksekusi program, adalah dengan mengambil pengolahan instruksi

yang terdiri dari 2 langkah:

1. Instruksi baca (fetch) CPU dari memori

2. CPU mengeksekusi setiap instruksi

­ Eksekusi program terdiri dari

o proses pengulangan fetch

o eksekusi instruksi.

­ Eksekusi sebuah instruksi terdiri dari sejumlah langkah.( lihat gambar 5­1

bagian bawah), pada tahap ini pengolahan instruksi dibagi 2 tahap:

1. fetch

2. eksekusi

Fetch instruksi adalah operasi umum bagi setiap instruksi dan terdiri dari

pembacaan instruksi dari suatu lokasi didalam memori.

Eksekusi instruksi dapat melibatkan sejumlah operasi dan tergantung dari

sifat­sifat instruksi.

Teknik Informatika FTI UMB V / 3

Pusat Pengembangan Bahan Ajar ­ UMB RATNA MUTU MANIKAM S.KOM.MT Arsitektur & Organsasi Komputer

M(X) = isi lokasi memori yang alamatnya X

(X:Y) = bit X sampai dengan Y

Gambar 5­1.Flowcahrt eksekusi instruksi yang dilakukan oleh Control Unit

Teknik Informatika FTI UMB V / 4

Pusat Pengembangan Bahan Ajar ­ UMB RATNA MUTU MANIKAM S.KOM.MT Arsitektur & Organsasi Komputer

Eksekusi program akan terhenti apabila

o mesin dimatikan

o terjadi kesalahan

o terdapat instruksi program yang menghentikan komputer

Siklus­siklus Fetch dan Eksekusi

­ Awal siklus instruksi

­ CPU Membaca instruksi dari memori

­ PC (Program Counter) dipakai untuk mengawasi instruksi yang akan

dibaca selanjutnya.

­ CPU selalu menambahkan PC setiap kali membaca instruksi

­ Instruksi yang dibaca dimuatkan kedalam register didalam CPU yaitu IR

(Instruction register)

­ CPU melakukan 4 kegiatan, yaitu

1. CPU­Memori : data dapat dipindahkan dari CPU ke memori atau

dari memori ke CPU

Gambar 5­2. Siklus Instruksi Dasar

Siklus Pengambilan

Siklus Eksekusi

Teknik Informatika FTI UMB V / 5

Pusat Pengembangan Bahan Ajar ­ UMB RATNA MUTU MANIKAM S.KOM.MT Arsitektur & Organsasi Komputer

2. CPU­I/O : Data dapat dipindahkan ke atau dari dunia luar dengan

pemindahan antara CPU dan modul I/O

3. Pengolahan Data : CPU dapat membentuk sejumlah operasi

aritmatik atau logic terhadap data

4. Control : Sebuah instruksi dapat mengubah urutan eksekusi

Gambar 5­3. Contoh Eksekusi program

Teknik Informatika FTI UMB V / 6

Pusat Pengembangan Bahan Ajar ­ UMB RATNA MUTU MANIKAM S.KOM.MT Arsitektur & Organsasi Komputer

Diperlukan 3 buah instruksi ( fetch dan eksekusi)

1. PC berisi 300 (alamat instruksi pertama)

Alamat ini dimuat ke dalam IR ( melibatkan MAR dan MBR)

2. 4 bit pertama IR mengindikasikan AC akan dimuat.

12 bit sisanya menentukan alamat, yaitu 940

3. PC dinaikkan nilainya dan instruksi berikutnya akan diambil

4. Isi AC lama dan isi lokasi 941 ditambahkan

Hasilnya disimpan didalam AC

5. PC dinaikkan nilainya, dan instruksi berikutnya akan diambil

6. Isi AC akan disimpan pada lokasi 941

Instruksi PDP­11 yang diungkapkan secara simbolik sebagai ADD B,A menyimpan jumlah

isi lokasi memori B dan A ke dalam lokasi memori A. Teradi suatu siklus instruksi tunggal

dengan langkah sebagai berikut:

1. mengambil (fetch) instruksi ADD

2. Membaca isi lokasi memori A ke dalam CPU

3. Membaca isi lokasi memori B ke dalam CPU.

Agar isi A tidak hilang, CPU harus memiliki sedikitnya dua buah register untuk

menyimpan nilai­nilai memori.

4. Menambahkan kedua nilai itu

5. Menuliskan hasilnya dari CPU ke lokasi memori A

Gambar 5­4 dibawah ini menunjukkan hal lebih detail pada siklus instruksi dasar (gambar

5­2).

Gambar 5­4. Diagram keadaan siklus instruksi

Teknik Informatika FTI UMB V / 7

Pusat Pengembangan Bahan Ajar ­ UMB RATNA MUTU MANIKAM S.KOM.MT Arsitektur & Organsasi Komputer

­ Instruction Address Calculation (iac) :

Menentukan alamat instruksi berikutnya yang akan dieksekusi. Biasanya

melibatkan penambahan bilangan tetap ke alamat instruksi sebelumnya. Misalnya,

bila panjang setiap instruksi adalah 16 bit dan memori diorganisasikan sebagai

byte­byte yang secara individual dapatdialamati dengan panjang 8 bit, maka

tambahkan 2 ke alamat sebelumnya.

­ Instruction Fetch (if):

Membaca instruksi dari lokasi memori ke dalam CPU

­ Instruction Operation Decoding (iod)

Menganalisis instruksi untuk menentukan jenis operasi yang akan dibentuk dan

operand yang akan digunakan

­ Operand Address Calculation (oac)

Bila operasi melibatkan referensi ke operand di dalam memori atau dapat

diperoleh melalui I/O, maka tentukan alamat operand

­ Operand Fetch (of)

Ambil operand dari memori dan baca operand itu dari I/O

­ Data Operation (do)

Bentuk operasi yang ditunjukkan di dalam instruksi

­ Operand Store (os)

Tuliskan hasilnya ke dalam memori atau keluarkan ke I/O

Secara virtual semua komputer menyediakan mekanisme yang membuat modul­modul

lainnya (I/O, memori) dapat menginterupsi pengolahan normal CU.

Teknik Informatika FTI UMB V / 8

Pusat Pengembangan Bahan Ajar ­ UMB RATNA MUTU MANIKAM S.KOM.MT Arsitektur & Organsasi Komputer

INTERUPSI

Tabel 6­1. Kelas­kelas Interupsi

Program

Dibangkitkan dengan beberapa kondisi yang terjadi sebagai hasil

dari suatu eksekusi instruksi,

Seperti arithmetic overflow, pembagian dengan nol,

usaha mengeksekusi instruksi mesin yang illegal dan referensi ke

luar memori pengguna yang diperbolehkan

Timer

Dibangkitkan oleh timer didalam prosesor.

Memmungkinkan system operasi menjalankan fungsi­fungsi

tertentu secara regular

I/O

Dibangkitkan oleh I/O controller

Untuk memberi signal penyelesaian normal suatu operasi atau

memberi signal berbagai kondisi error

Hardware failure

Dibangkitkan oleh kegagalan seperti kegagalan daya atau memory

parity error

Interupsi disediakan terutama sebagai cara untuk meningkatkan efisiensi pengolahan,

karena sebagian besar perangkat eksternal jauh lebihlambat dibandingkan prosesor.

Anggaplah:

bahwa prosesor sedang melakukan pemindahan data ke printer dengan

menggunakan pola siklus instruksi seperti gambar 6­1.

Setiap kali setelah melakukan operasi penulisan, CPU akan berhenti dan berada

dalamkeadaan idle sampai printer menerima seluruh data.

Lamanya berhenti dapat ratusan bahkan ribuan siklus instruksi yang tidak

melibatkan memori.

Jelas, hal ini snagat menyianyiakan kemampuan prosesor.

Dengan adanya interrupt, prosesor dapat diperintahkan untuk mengeksekusi

instruksi­instruksi lainnya pada saat operasi­operasi I/O sedang dilaksanakan.

Teknik Informatika FTI UMB V / 9

Pusat Pengembangan Bahan Ajar ­ UMB RATNA MUTU MANIKAM S.KOM.MT Arsitektur & Organsasi Komputer

Gambar 6­1. Siklus instruksi

Gambar 6­2a Program­program pengguna membentuk sejumlah pemanggilan WRITE

yang berada diantara pengolahan. Segmen 1,2, 3 merupakan urutan instruksi yang

tidak melibatkan I/O.

Panggilan WRITE adalah panggilan terhadap program I/O yang meerupakan utilitas

system dan akan membentuk operasi­operasi actual.

Program I/O terdiri dari tiga bagian :

­ Rangkaian instruksi (label 4) untuk disiapkan operasi I/O actual.

Meliputi penyalinan data yang akan di­output­kan ke dalam buffer khusus,

­ Perintal I/O actual. Tanpa menggunakan interrupt,

sekali perintah ini dikeluarkan, maka program harus menunggu perangkat I/O

membentukfungsi yang diminta. Program dapat menunggu dengan cara

membentuk operasi test secara berulang untuk menentukan apakah operasi I/O

telah dilaksanakan.

­ Rangkaian instruksi (label 5), untuk menyelesikan operasi. Urutan instruksi ini

dapat meliputi penyetelan suatuflag yang menendakan berhasil atau gagalnya

operasi.

Teknik Informatika FTI UMB V / 10

Pusat Pengembangan Bahan Ajar ­ UMB RATNA MUTU MANIKAM S.KOM.MT Arsitektur & Organsasi Komputer

Gambar 6­2. Aliran program kontrol, tanpa atau dengan interrupt

Interrupt dan Siklus Instruksi ­ dengan memakai interrupt, prosesor dapat dipakai dalam mengeksekusi instruksi­

instruksi lainnya operasi I/O sedang dilaksanakan.

­ Setelah beberapa instruksi dieksekusi, kontrol mengembalikannya ke program

pengguna.

­ Sementara itu, perangkat eksternal berada dalam keadaan sibuk menerima data

dari memori komputer dan mencetak data.

­ Operasi I/O dilakukan secara konkuren dengan eksekusi instruksi­instruksi pada

program pengguna.

­ Dari sudut pandang program pengguna, interrupt adalah sebuah interupsi

terhadap rangkaian eksekusi normal. Bila pengolahan interrupt selesai, maka

eksekusi kembali dilakukan (gambar 6­3).

Teknik Informatika FTI UMB V / 11

Pusat Pengembangan Bahan Ajar ­ UMB RATNA MUTU MANIKAM S.KOM.MT Arsitektur & Organsasi Komputer

Gambar 6­3. Siklus instruksi dengan interrupt

Multiple Interrupt Misalnya:

­ Sebuah program dapat menerima data dari suatu saluran komunikasi dan

mencetak hasilnya.

­ Printer akan menghasilakn sebuah interrupt setiap kali menyelesaikan sebuah

operasi cetak.

­ Pengontrol saluran komunikasi akan menghasilkan sebuah interrupt setiap kali

satu satuan data tiba.

­ 2 pendekatan pada interrupt jamak:

1. Tidak mengizinkan terjadi interrupt lain pada saat suatu interrupt sedang

diproses.

Artinya prosesor dapat dan akan mengabaikan signal interrupt request.

Interrupt tersebut akan ditangguhkan dahulu dan diperiksa oleh prosesor

setelah prosesor mengizinkan lagi terjadi interrupt.(interrupt handler) (gambar

6­4a)

Kekurangannya : tidak memperhitngkan prioritas atau kebutuhan waktu kritis.

Teknik Informatika FTI UMB V / 12

Pusat Pengembangan Bahan Ajar ­ UMB RATNA MUTU MANIKAM S.KOM.MT Arsitektur & Organsasi Komputer

2. Mendefiniskan prioritas bagi interrupt dan mengizinkan interrupt berprioritas

tinggi menyebabkan interrupt handler yang berprioritas lebih rendah untuk

menginterupsi dirinya (gambar 6­4b)

Gambar 6­4. Transfer pengendalian dengan multiple interrupt

Teknik Informatika FTI UMB V / 13

Pusat Pengembangan Bahan Ajar ­ UMB RATNA MUTU MANIKAM S.KOM.MT Arsitektur & Organsasi Komputer

Contoh; (gambar 6­5)

­ Sebuah system memiliki 3 buah perangkat I/O yaitu printer, disk dan

saluran komunikasi dengan prioritas masing­masing 2, 4, dan 5.

­ Program pengguna berawal pada t = 0

­ Saat t = 0, terjadi interrupt printer

Informasi pengguna diletakkan pada stack system dan eksekusi dilanjutkan

pada interrupt service routine (ISR) printer.

­ Saat routine sedang dieksekusi ( t = 15) terjadi interrupt komunikasi

Karena saluran komunikasi memiliki prioritas lebih tinggi disbanding printer,

maka interrupt­nya lebih didahulukan.

ISR printer diinterupsi, keasaan dimasukkan ke dalam stack dan eksekusi

dilanjutkan pada ISR komunikasi.

­ Saat routine dieksekusi, terjadi interrupt disk ( t =20 ).

Karena memiliki prioritas lebih rendah, maka ditahan dahulu dan ISR

komunikasi terus diaksanakan hingga selesai.

­ Saat ISR komunikasi selesai ( t = 25 ),

Keadaan prosesor sebelumnya diambil, yaitu eksekusi ISR printer.

Namun sesaat sebelum instruksi tunggal dalam routine dapat dieksekusi,

prosesor lebih mengutamakan interrupt disk yang prioritasnya lebih tinggi

dan kontrol memindahkannya ke ISR disk.

­ Setelah routine selesai (t = 35), maka ISR printer dilaksanakan. Ketika

routine selesai, akhirnya kontrol akan kembali ke program perngguna.

Gambar 6­5. Contoh urutan waktu multiple Interrupt

Fungsi I/O ­ Sebuah modulI/O dapat saling bertukar data secara langsung dengan CPU

Teknik Informatika FTI UMB V / 14

Pusat Pengembangan Bahan Ajar ­ UMB RATNA MUTU MANIKAM S.KOM.MT Arsitektur & Organsasi Komputer

­ CPU dapat membaca data dari modul I/O atau menulis data ke modul I/O

IV. Daftar Pustaka

William Stallings, Órganization and Architecture Computer, Prentice Hall