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.
|
Fungsi Komputer
-
|
Fungsi dasarnya dari komputer
adalah mengeksekusi program.
|
|
-
|
CPU melakukan tugas ini dengan
cara mengeksekusi suatu program yang ada.
|
|
-
|
Proses eksekusi program pda CPU
ini adalah dengan cara mengambil pengolahan instruksi yang terdiri dari dua
langkah diantaranya :
|
|
1.
|
Instruksi baca (fetch) CPU dari
memori
|
|
2.
|
CPU mengeksekusi setiap instruksi
|
|
-
|
Eksekusi program, yang terdiri
dari :
|
|
•
|
Proses pengulangan fetch
|
|
•
|
Eksekusi instruksi
|
|
-
|
Eksekusi sebuah instruksi terdiri
dari sejumlah langkah. Pada tahap ini pengolahan instruksi dibagi menjadi dua
tahap, yaitu :
|
|
1.
|
Fetch
|
|
2.
|
Eksekusi.
|
Fetch instruksi adalah operasi umum bagi setiap instruksi dan terdiri dari
pembacaan instruksi dari suatu lokasi di dalam memori. Sedangkan Eksekusi
instruksi dapat melibatkan sejumlah operasi dan tergantung dari sifat-sifat
instruksi.
M(X) = isi lokasi memori yang alamatnya X
(X:Y) = bit X sampai dengan Y
Gambar1. Flowchart eksekusi instruksi yang dilakukan oleh Control Unit
Pada dasarnya, eksekusi program akan
terhenti apabila terjadi 3 kemungkinan diantaranya :
1.
|
Mesin dimatikan
|
2.
|
Terjadi kesalahan
|
3.
|
Terdapat instruksi program yang
mengentikan komputer
|
Siklus-siklus Fetch dan Eksekusi
Awal siklus instruksi
Awal siklus instruksi
-
|
CPU membawa 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 dimuat ke
dalam register di dalam CPU yaitu IR (Instruction Register)
|
CPU melakukan 4 kegiatan yaitu
diantaranya :
1.
|
CPU – Memori : Data dapat
dipindahkan dari CPU ke memori atau dari memori ke CPU
|
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
|
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 di dalam 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. Terjadi suatu siklus instruksi tunggal dengan
langkah-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
|
-
|
Instruction Address Calculation
(iac)
|
Menentukan alamat instruksi
berikutnya yang akan dieksekusi. Biasanya melibatkan penambahan bilangan
tetap ke alamat instruksi sebelumnya. Misalnya, bil panjang setiap instruksi
adalah 16 bit dan memori diorganisasikan sebagai byte-byte yang secara
individual dapat dialamati 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.
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
|
Interupsi disediakan terutama
sebagai cara untuk meningkatkan efisiensi pengolahan, karena sebagian besar
perankat eksternal jauh lebih lambar dibandingkan prosesor.
Misal:
Bahwa processor sedang melakukan pemindahan data ke printer dengan menggunakan pola siklus instruksi seperti pada gambar2.
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.
Bahwa processor sedang melakukan pemindahan data ke printer dengan menggunakan pola siklus instruksi seperti pada gambar2.
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.
Gambar4. Program-program pengguna membentuk
sejumlah pemanggil 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 merupakan utilitas sistem dan akan membentuk operasi-operasi actual.
Program I/O terdiri dari tiga bagian :
Panggilan WRITE adalah panggilan terhadap program I/O yang merupakan utilitas sistem 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
|
|
-
|
Perintah I/O actual
|
Tanpa menggunakan interrupt,
sekali perintah ini dikeluarkan, maka program harus menunggu perangkat I/O
membentuk fungsi 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 menyelesaikan operasi
|
Urutan instruksi ini dapat
meliputi penyetelan suatu flag yang menandakan berhasil atau gagalnya
operasi.
|
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.
|
Multiple Interrupt
Misalnya :
Sebuah program dapat menerima data dari suatu saluran komunikasi dan mencetak hasilnya.
Printer akan menghasilkan sebuah interrupt setiap kali menyelesaikan sebuah operasi cetak.
Pengontrol saluran komunikasi akan menghasilkan sebuah interrupt setiap kali satu satuan data tiba.
Dua Pendekatan pada interrupt jamak :
Misalnya :
Sebuah program dapat menerima data dari suatu saluran komunikasi dan mencetak hasilnya.
Printer akan menghasilkan sebuah interrupt setiap kali menyelesaikan sebuah operasi cetak.
Pengontrol saluran komunikasi akan menghasilkan sebuah interrupt setiap kali satu satuan data tiba.
Dua Pendekatan pada interrupt jamak :
1.
|
Tidak menginzinkan terjadi
interrupt lain pada saat suatu interrupt sedang diproses.
|
Artinya processor dapat dan akan
mengabaikan signal interrupt request. Interrupt tersebut akan ditangguhkan
dahulu dan diperiksa oleh prosesor setelah prosesor mengizinkan lagi terjadi
interrupt (interrupt handler).
Kekurangannya yaitu tidak memperhitungkan prioritas atau kebutuhan waktu kritis. |
|
2.
|
Mendefinisikan prioritas bagi
interrupt dan mengizinkan interrupt berprioritas tinggi menyebabkan interrupt
handler yang berprioritas lebih rendah untuk menginterupsi dirinya.
|
Fungsi I/O
-
|
Sebuah modul I/O dapat saling
bertukar data secara langsung dengan CPU
|
-
|
CPU dapat membaca data dari modul
I/O atau menulis data ke modul I/O
Sumber :: http://ratnawatisandini.blogspot.com/
|
Tidak ada komentar:
Posting Komentar