Organisasi Komputer : Struktur dan Fungsi Komputer 2
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.
Pelajaran Minggu lalu Struktur CPU
Struktur CPU Computer Arithmetic and Registers Login Unit Internal CPU I/O Registers System Bus CPU Internal CPU Interconnection Memory Control Unit
Struktur detail internal CPU
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)
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.
Eksekusi program Pada dasarnya, eksekusi program akan terhenti apabila terjadi 3 kemungkinan diantaranya : Mesin dimatikan Terjadi kesalahan Terdapat instruksi program yang menghentikan komputer
Siklus instruksi
M(X) = isi lokasi memori yang alamatnya X (X:Y) = bit X sampai dengan Y
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
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.
Diagram siklus instruksi
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.
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.
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
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
Interupsi disediakan terutama sebagai cara untuk meningkatkan efisiensi pengolahan, karena sebagian besar perangkat eksternal jauh lebih lambat dibandingkan prosesor.
Contoh Bahwa processor sedang melakukan pemindahan data ke printer dengan menggunakan pola siklus instruksi seperti pada gambar berikut
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.
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 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
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.
Sekian dan terima kasih