3. Komponen-Komponen Komputer
Rancangan arsitektur Von Nouman didasarkan
pada 3 konsep utama yaitu diantaranya :
Data dan instruksi-instruksi disimpan di memori baca
tulis tunggal
Memori dapat dialamati dengan lokasi, tidak
tergantung ada jenis data yang berada didalamnya
Eksekusi terjadi dengan cara sekuensial dari instruksi
yang satu ke instruksi berikutnya.
7. Fungsi CPU
Menjalankan program – program yang disimpan
dalam memori utama dengan cara mengambil
instruksi – instruksi, menguji instruksi tersebut dan
mengeksekusinya satu persatu sesuai alur perintah.
Sehingga langkah-langkah pada operasi CPU , yaitu
: operasi :
Pembacaan instruksi (fetch) dan
Pelaksanaan instruksi (execute)
8. langkah-langkah pada operasi
Fetch instruksi adalah operasi umum bagi setiap
instruksi dan terdiri dari pembacaan instruksi dari
suatu lokasi di dalam memori.
Eksekusi instruksi dapat melibatkan sejumlah
operasi dan tergantung dari sifat-sifat instruksi.
9. Eksekusi program
Pada dasarnya, eksekusi program akan terhenti
apabila terjadi 3 kemungkinan diantaranya :
Mesin dimatikan
Terjadi kesalahan
Terdapat instruksi program yang menghentikan komputer
11. M(X) = isi lokasi
memori yang
alamatnya X
(X:Y) = bit X
sampai dengan Y
12. Siklus Fetch-Eksekusi
Pada setiap siklus instruksi, CPU awalnya akan
membaca instruksi dari memori.
Terdapat register dalam CPU yang berfungsi
mengawasi dan menghitung instruksi selanjutnya,
yang disebut 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
binner yang dapat diinterpretasikan oleh CPU
kemudian dilakukan aksi yang diperlukan
13. Aksi dari 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.
15. Keterangan
Instruction Address 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.
Instruction Fetch (IF), yaitu membaca atau
pengambil 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.
16. Operand Address Calculation (OAC), yaitu
menentukan alamat operand, hal ini dilakukan
apabila melibatkan referensi operand pada memori.
Operand Fetch (OF), adalah 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.
17. Interupsi
Interupsi adalah 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
18. Jenis 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 di dalam processor.
Memungkinkan sistem 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
19. Interupsi disediakan terutama sebagai cara untuk
meningkatkan efisiensi pengolahan, karena
sebagian besar perangkat eksternal jauh lebih
lambat dibandingkan prosesor.
20. Contoh
Bahwa processor sedang melakukan pemindahan
data ke printer dengan menggunakan pola siklus
instruksi seperti pada gambar berikut
21. Setiap kali setelah melakukan operasi penulisan,
CPU akan berhenti dan berada dalam keadaan idle
sampai printer menerima seluruh data.
Lamanya berhenti dapat ratusan bahkan ribuah
siklus instruksi yang tidak melibatkan memori.
Jelas hal ini sangat menyianyiakan kemampuan
processor.
Dengan adanya interrupt, processor dapat
diperintahkan untuk mengeksekusi instruksi-instruksi
lainnya pada saat operasi-operasi I/O sedang
dilaksanakan.
22. Interrupt dan Siklus Instruksi
Dengan memakai interrupt, processor 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.
23. Multiple Interrupt
Sebuah program dapat menerima data dari suatu
saluran komunikasi dan mencetak hasilnya.
Misal : Printer akan menghasilkan sebuah interrupt
setiap kali menyelesaikan sebuah operasi cetak. dan
Pengontrol saluran komunikasi akan menghasilkan
sebuah interrupt setiap kali satu satuan data tiba
24. Dua Pendekatan
Menolak atau tidak mengizinkan interupsi lain saat
suatu interupsi ditangani prosesor.
Pendekatan ini disebut pengolahan interupsi berurutan /
sekuensial. Pendekatan ini cukup baik dan sederhana
karena interupsi ditangani dalam ututan yang cukup ketat.
Pendekatan kedua adalah dengan mendefinisikan
prioritas bagi interupsi dan interrupt handler
mengizinkan interupsi berprioritas lebih tinggi
ditangani terlebih dahulu.
Pedekatan ini disebut pengolahan interupsi bersarang.