Uploaded by Yudi Supriadi

Fetching dan Execute

advertisement
1.
Fetching dan Execute
A.
Pengertian CPU
CPU (Central Processing Unit) adalah otak atau sumber dari komputer yang mengatur dan
memproses seluruh kerja komputer. CPU ini berbentuk IC yang diberi nama sesuai dengan
tipenya, misalnya 8088 untuk PC XT dan 80286 untuk PC AT,Pentium IV dan sebagainya.
Karena CPU ini berada pada suatu board (papan) yang disebut motherboard dan terletk
dalam kotak (casing), sekarang ini orang jadi cenderung menyebut kotak berisi catu daya,
disk drive dan motherboard sebagai CPU/ kotak CPU. Di dalam kotak CPU biasanya
terdapat 2 buah disket drive yang diberi nama disket drive A dan disket drive B. selain
disket drive ada juga yang mempunyai hard disk dan CD ROM.
B.
Fungsi CPU
Fungsi utama CPU adalah menjalankan program-program yang disimpan di memori utama.
Hal ini dilakukan dengan cara mengambil instruksi-instruksi dari memori utama dan
mengeksekusinya satu persatu sesuai dengan alur perintah. Pekerjaan ini dilakukan dalam
dua tahapan yaitu membaca instruksi (fetch) dan melaksanakan instruksi tersebut (execute).
Proses membaca dan melaksankan ini dilakukan berulang-ulang sampai semua instruksi
yang terdapat di memori utama dijalankan atau komputer dimatikan. Proses ini dikenal juga
sebagai siklus fetch-eksekusi.
a) Siklus fetch-eksekusi bisa dijelaskan sebagai berikut
1. Di awal setiap siklus, CPU akan membaca dari memori utama,
2. Sebuah register, yang disebut Program Counter (PC), akan
mengawasi
dan menghitung instruksi selanjutnya,
3. Ketika CPU membaca sebuah instruksi, Program Counter akan menambah satu
hitungannya,
4. Lalu instruksi-instruksi yang dibaca tersebut akan dimuat dalam suatu register yang
disebut register instruksi (IR), dan akhirnya
5. CPU akan melakukan interpretasi terhadap instruksi yang disimpan dalam bentuk
kode binari, dan melakukan aksi yang sesuai dengan instruksi tersebut.
b) Siklus Intruksi
1. Instruction Addess Calculation (IAC), yaitu mengkalkulasi atau menentukan alamat
instruksi berikutnya yang akan dieksekusi. Biasanya melibatkan penambahan
bilangan tetap ke alamat instruksi sebelumnya. Misalnya, bila panjang setiap
instruksi 16 bit padahal memori memiliki panjang 8 bit, maka tambahkan 2 ke alamat
sebelumnya.
2. Instruction Fetch (IF), yaitu membaca atau pengambil instruksi dari lokasi
memorinya ke CPU.
3. Instruction Operation Decoding (IOD), yaitu menganalisa instruksi untuk
menentukan jenis operasi yang akan dibentuk dan operand yang akan digunakan.
4. Operand Address Calculation (OAC), yaitu menentukan alamat operand, hal ini
dilakukan apabila melibatkan referensi operand pada memori.
5. Operand Fetch (OF), adalah mengambil operand dari memori atau dari modul I/O.
6. Data Operation (DO), yaitu membentuk operasi yang diperintahkan dalam instruksi.
7. Operand store (OS), yaitu menyimpan hasil eksekusi ke dalam memori
Sub Siklus Intruksi
1. Fetch : membaca instruksi berikutnya dari memori ke dalam CPU
2. Execute : menginterpretasikan opcode dan melakukan operasi yang diindikasikan
3. Interrupt : Apabila interrupt diaktifkan dan interrupt telah terjadi, simpan status
proses saat itu dan layani interrupt.
Aksi – Aksi CPU
1. CPU Memori, perpindahan data dari CPU ke memori dan sebaliknya
2. CPU – I/0, perpindahan data dari CPU ke modul I/0 dan sebaliknya
3. Pengolahan Data, CPU membentuk sejumlah operasi aritmatika dan logika terhadap
data
4. Kontrol, merupakan instruksi untuk pengontrolan fungsi atau kerja. Misalnya
instruksi pengubahan urusan eksekusi
2.
A.
INTERRUPT
Pengertian Interupt
Interupsi atau interrupt adalah suatu permintaan khusus pada mikroprocessor untuk
melakukan sesuatu, jika terjadi interupsi maka komputer akan menghentikan dahulu apa
yang sedang dikerjakan dan melakukan apa yang di minta oleh yang menginterupsi, setelah
selesai maka aliran program akan kembali ke pernyataan program sebelum terjadinya
interupsi. Interupsi merupakan sub rutin yang sudah tersedia dalam memori komputer.
Pada IBM PC dan kompatibelnya disediakan 256 buah interupsi yang diberi nomor
0 s/d 255. Nomor interupsi 0 s/d 1Fh disediakan oleh ROM BIOS yaitu suatu IC di dalam
komputer yang mengatur operasi dasar komputer. Jadi jika terjadi interupsi dengan nomor 0
s/d 1Fh maka secara default komputer akan beralih ke ROM BIOS dan melaksanakan
program yang terdapat disana. Program yang melayani suatu interupsi dinamakan Interrupt
Handler, dan hanya dijalankan jika terjadi sesuatu kejadian khusus (event). Kejadian ini bisa
berupa timer yang mengalami overflow, penerimaan karakter melalui port serial,
mengirimkan karakter melalui port serial, atau salah satu dari dua kejadian eksternal. Setiap
interrupt akan mengekseskusi interrupt handlernya masing masing berdasarkan nomornya.
Sedangkan alamat dari masing masing interrupt handler tercatat di memori dalam bentuk
array yang besar elemennya masing masing 4 byte. Keempat byte ini dibagi lagi yaitu 2 byte
pertama berisi kode offset sedangkan 2 byte berikutnya berisi kode segmen dari alamat
interrupt handler yang bersangkutan. Jadi besarnya array itu adalah 256 elemen dengan
ukuran elemen masing masing 4 byte.
Total keseluruhan memori yang di pakai adalah sebesar 1024 byte (256x4=1024)
atau 1 KB dan disimpan dalam lokasi memori absolut 0000h sampai 3FFh. Array sebesar 1
KB ini disebut interrupt vector table. Nilai nilai yang terkandung pada interrupt vector table
ini tidak akan sama di satu komputer dengan yang lainnya.
Fungsi interupsi adalah sebagai berikut :
1. Interupsi memindahkan pengendalian kepada interrupt service routine melalui
interrupt vektor yang berisi alamat dari semua service routine.
2. Arsitektur interrupt harus menyimpan alamat intruksi yang di interrupt.
3. Interrupt yang datang berikutnya dibatalkan ketika interrupt lain sedang diproses
untuk mencegah hilangnya suatu interrupt.
4. Trap adalah software generated interrupt yang disebabkan oleh kesalahan atau karena
permintaan user.
5. Suatu sistem operasi dikendalikan oleh interrupt.
Tujuan Interupsi :
 Secara umum untuk manajemen pengeksekusian routine intruksi agar efektif dan
efisien antar CPU dan modul – modul I/O maupun memori.
 Setiap komponen komputer dapat menjalankan tugasnya secara bersamaan, tetapi
kendali terletak pada CPU disamping itu kecepatan eksekusi masing – masing
modul berbeda.
 Dapat sebagai sinkronisasi kerja antar modul.
B.
JENIS INTERUPSI
Internal HW interruptions :
 Ditimbulkan/digenerasi oleh peristiwa tertentu yang terjadi pada waktu/selama
eksekusi program
 Diatur oleh HW dan tidak dapat dirubah
 Contoh : tipe interrupt untuk counter clock internal; HW call interrupt ini untuk
memaintance “time to date”
External HW interrupstion
 Ditimbulkan/digenerasi oleh devais peripheral, seperti keyboard, printers, mouse,
dsb.
 Biasa juga ditimbulkan/digenerasi oleh Co-processor
 Tidak mungkin mendeaktivekan

Tidak dikirim langsung ke CPU, melainkan ke IC yang memiliki fungsi untuk
menghandle secara eksklusive interrupts ini.
Software interruption :
·
Diaktifkan langsung oleh assembler melalui sejumlah interupsi yang di harapkan
dengan intruksi INT
·
Terdapat 2 jenis : DOS interrupstions & BIOS interruptions. Perbedaan nya, DOS
interruptions lebih mudah digunakan, namun lebih lambat, karena interruptions jenis ini
menggunakan BIOS, BIOS interruptions lebih cepat, namun banyak kerugiannya karena
BIOS bagian HW dan HW-specific. Pemilihan interrupt tergantung pada karakteristik yang
akan kita berikan pada program : SPEED -> BIOS interruptions . PORTABILITY -> DOS
interruptions.
Ada 2 macam Software Interrupt :
1. Vektor Interrupt ROM BIOS
Interrupt 00h-1Fh (0-31) adalah interrupt BIOS dan standar di semua komputer
baik yang menggunakan sistem operasi DOS atau bukan. Lokasi interrupt vector
tabkenya ada di alamat absolut 0000h-007Fh. Interrupt BIOS dibawah ini telah di
pastikan kegunaannya oleh sistem untuk keperluan khusus tidak boleh di ubah oleh
program seperti lainnya. DEVIDE BY ZERO Jika terjadi pembagian dengan nol maka
proses akan segera dihentikan. SINGLE STEP untuk melaksanakan/mengeksekusi
intruksi satu persatu. NMI pelayanan terhadap NMI (Non Maskable Interrupt yaitu
interupsi yang tak dapat dicegah. BREAK POINT Jika suatu program menyebabkan
overflow flag menjadi 1, interrupt ini akan melayani pencegahannya dan memberi
tanda error.
2. Interrupt DOS
Interrupt 20h-FFh (32-255) adalah interrupt DOS, dan hanya ada pada
komputer yang menggunakan sistem operasi DOS dan interrupt handlernya di load ke
memori oleh DOS pada saat DOS digunakan. Lokasi interrupt vector tablenya ada di
alamat absolut 07Fh-3FFh
Penyebab terjadinya interupsi :
1. Program
Diakibatkan adanya beberapa kondisi yang terjadi, hasil dari suatu eksekusi.
Contoh: arithmetic overflow, devision by zero, pengeksekusian secara illegal,
penggunaan memori yang berlebihan.
2. Timer
Disebabkan oleh timer di dalam prosesor. Hal ini memungkinkan sistem operasi
menjalankan fungsi-fungsi tertentu secara regular.
3.
I/O
Disebabkan oleh I/O Controller, baik sebagai tanda bahwa suatu operasi telah
selesai, maupun memberi tanda adanya kondisi error. Interrupt I/O ada dua macam,
interrupt pendek dan interrupt panjang.
4. Hardware Failure
Disebabkan olch kesalahan hardware, scperti power failure (kegagalan daya) atau
memory parity error.
5. Menangani exception, Exception adalah suatu kondisi dimana terjadi sesuatu, atau dari
sebuah operasi didapatkan hasil tertentu yang dianggap khusus sehingga harus mendapat
perhatian lebih, contohnya, pembagian dengan nol, pengaksesan alamat memori yang
restricted atau tidak valid, dll.
6. Mengatur virtual memory paging.
7. Menangani perangkat lunak interupsi.
8. Menangani alur kontrol kernel.
Tindak lanjut interupsi :
1. Penata interupsi / interrupt handler
Jika terjadi interupsi, maka kendali prosesor diserahkan ke bagian penata interupsi
pada sistem operasi, maka penata interupsi inilah yang melaksanakan interupsi.
a. Instruksi yang sedang diolah oleh prosesor dibiarkan sampai selesai program.
b. Penata interupsi merekam semua informasi proses ke dalam blok kendali proses.
c. Penata interupsi mengidentifikasi jenis dan asal interupsi.
d. Penata interupsi mengambil tindakan sesuai dengan yang dimaksud interupsi.
e. Penata interupsi mempersiapkan segala sesuatu untuk pelanjutan proses yang diinterupsi.
2.
Penata keliru/Error handler
Yaitu interupsi karena kekeliruan pada pengolahan proses dan bagian pada
sistem operasi yang menata kegiatan akibat kekeliruan adalah penata keliru.
a. Pemulihan, komputer telah dilengkapi dengan sandi penemuan dan pemulihan
kekeliruan, contohnya telah dilengkapi dengan sandi Hamming sehingga ketika
menemukan kekeliruan sandi akan mengoreksi kekeliruan itu, proses pulih ke bentuk
semula sebelum terjadi kekeliruan.
b. Pengulangan, mengatur agar proses yang membangkitkan interupsi keliru dikerjakan
ulang, jika kekeliruan dapat diatasi maka proses akan berlangsung seperti biasa, jika
tidak teratasi maka interupsi akan menempuh tindak lanjut keluar dari proses.
c. Keluar dari proses, penata keliru menyiapkan tampilan berita keliru dari monitor,
setelah itu prosesor keluar dari proses, ini adalah tindakan terakhir jika tidak dapat
menolong proses yang keliru tersebut.
Download