fetch - arsikom
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 Komponenkomponen Komputer
o Fungsi Komputer
o Siklussiklus Fetch dan Eksekusi
o Kelaskelas 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 Komponenkomponen Komputer Rancangan arsitektur Von Neuman didasarkan pada 3 konsep utama:
Data dan instruksiinstruksi disimpan di memori bacatulis 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 51
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
sifatsifat 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 51.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
Siklussiklus 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. CPUMemori : data dapat dipindahkan dari CPU ke memori atau
dari memori ke CPU
Gambar 52. 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. CPUI/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 53. 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 PDP11 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 nilainilai memori.
4. Menambahkan kedua nilai itu
5. Menuliskan hasilnya dari CPU ke lokasi memori A
Gambar 54 dibawah ini menunjukkan hal lebih detail pada siklus instruksi dasar (gambar
52).
Gambar 54. 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
bytebyte 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 modulmodul
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 61. Kelaskelas 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 fungsifungsi
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 61.
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
instruksiinstruksi lainnya pada saat operasioperasi 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 61. Siklus instruksi
Gambar 62a Programprogram 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 operasioperasi actual.
Program I/O terdiri dari tiga bagian :
Rangkaian instruksi (label 4) untuk disiapkan operasi I/O actual.
Meliputi penyalinan data yang akan dioutputkan 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 62. 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 instruksiinstruksi 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 63).
Teknik Informatika FTI UMB V / 11
Pusat Pengembangan Bahan Ajar UMB RATNA MUTU MANIKAM S.KOM.MT Arsitektur & Organsasi Komputer
Gambar 63. 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
64a)
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 64b)
Gambar 64. 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 65)
Sebuah system memiliki 3 buah perangkat I/O yaitu printer, disk dan
saluran komunikasi dengan prioritas masingmasing 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 interruptnya 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 65. Contoh urutan waktu multiple Interrupt
Fungsi I/O Sebuah modulI/O dapat saling bertukar data secara langsung dengan CPU