Struktur
CPU
CPU merupakan komponen terpenting dari sistem
komputer. CPU adalah komponen pengolah data berdasarkan instruksi – instruksi
yang diberikan kepadanya. Dalam mewujudkan fungsi dan tugasnya, CPU tersusun
atas beberapa komponen sebagai bagian dari struktur CPU.
O
CPU tersusun atas beberapa komponen, yaitu :
- Arithmetic
and Logic Unit (ALU), bertugas membentuk fungsi – fungsi
pengolahan
data komputer. ALU sering disebut mesin bahasa (machine language) karena bagian ini mengerjakan instruksi – instruksi bahasa mesin yang diberikan padanya. Seperti istilahnya, ALU terdiri dari dua bagian, yaitu unit arithmetika dan unit logika boolean, yang masing – masing memiliki spesifikasi tugas tersendiri.
data komputer. ALU sering disebut mesin bahasa (machine language) karena bagian ini mengerjakan instruksi – instruksi bahasa mesin yang diberikan padanya. Seperti istilahnya, ALU terdiri dari dua bagian, yaitu unit arithmetika dan unit logika boolean, yang masing – masing memiliki spesifikasi tugas tersendiri.
- Control
Unit, bertugas mengontrol operasi CPU dan secara keselurahan
mengontrol komputer sehingga terjadi sinkronisasi kerja antar komponen dalam
menjalankan fungsi – fungsi operasinya. Termasuk dalam tanggung jawab unit
kontrol adalah mengambil instruksi – instruksi dari memori utama dan menentukan
jenis instruksi tersebut.
- Registers,
adalah media penyimpan internal CPU yang digunakan saat proses pengolahan
data.Memori ini bersifat sementara, biasanya digunakan untuk menyimpan data
saat diolah ataupun data untuk pengolahan selanjutnya.
- CPU
Interconnections, adalah sistem koneksi dan bus yang
menghubungkan komponen internal CPU, yaitu ALU, unit kontrol dan register –
register dan juga dengan bus – bus eksternal CPU yang menghubungkan dengan
sistem lainnya, seperti memori utama, piranti masukan/keluaran.
O
Fungsi CPU
Fungsi
CPU
adalah penjalankan program – program yang disimpan dalam memori utama dengan
cara mengambil instruksi – instruksi, menguji instruksi tersebut dan
mengeksekusinya satu persatu sesuai alur perintah.
Untuk
memahami fungsi CPU dan caranya berinteraksi dengan komponen lain, perlu kita tinjau
lebih jauh proses eksekusi program. Pandangan paling sederhana proses eksekusi
program adalah dengan mengambil pengolahan instruksi yang terdiri dari dua
langkah, yaitu : operasi pembacaan instruksi (fetch) dan
operasi pelaksanaan instruksi (execute). Siklus
instruksi yang terdiri dari siklus fetch dan siklus eksekusi.
O 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 – aksi ini dikelompokkan
menjadi empat katagori, yaitu :
- 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.
O
Perlu diketahui bahwa siklus eksekusi untuk suatu instruksi dapat melibatkan lebih dari
sebuah referensi ke memori. Disamping itu juga, suatu instruksi dapat
menentukan suatu operasi I/O.
detail siklus operasi, yaitu :
- 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.
- 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.
O Fungsi
Interrupt
Fungsi
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.
Tujuan
interupsi secara umum untuk menejemen pengeksekusian routine instruksi 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 sehingga dengan adanya fungsi
interupsi ini dapat sebagai sinkronisasi kerja antar modul. Macam – macam kelas
sinyal interupsi :
- Program,
yaitu interupsi yang dibangkitkan dengan beberapa kondisi yang terjadi pada
hasil eksekusi program. Contohnya: arimatika overflow, pembagian nol, oparasi
ilegal.
- Timer,
adalah interupsi yang dibangkitkan pewaktuan dalam prosesor. Sinyal ini
memungkinkan sistem operasi menjalankan fungsi tertentu secara reguler.
- I/O,
sinyal interupsi yang dibangkitkan oleh modul I/O sehubungan pemberitahuan
kondisi error dan penyelesaian suatu operasi.
- Hardware
failure, adalah interupsi yang dibangkitkan oleh kegagalan daya atau
kesalahan paritas memori.
Dengan adanya mekanisme interupsi, prosesor dapat digunakan untuk
mengeksekusi instruksi – instruksi lain. Saat suatu modul telah selesai menjalankan
tugasnya dan siap menerima tugas berikutnya maka modul ini akan mengirimkan
permintaan interupsi ke prosesor. Kemudian prosesor akan menghentikan eksekusi
yang dijalankannya untuk menghandel routine interupsi. Setelah program
interupsi selesai maka prosesor akan melanjutkan eksekusi programnya kembali. Saat
sinyal interupsi diterima prosesor ada dua kemungkinan tindakan, yaitu
interupsi diterima/ditangguhkan dan interupsi ditolak. Apabila interupsi
ditangguhkan, prosesor akan melakukan hal – hal seperti :
1.
Prosesor menangguhkan eksekusi program yang dijalankan dan menyimpan
konteksnya. Tindakan ini adalah menyimpan alamat instruksi berikutnya yang akan
dieksekusi dan data lain yang relevan.
2.
Prosesor menyetel program counter (PC) ke alamat awal routine interrupt
handler.
Berikut
menjelaskan siklus eksekusi oleh prosesor dengan adanya fungsi interupsi.
Ø
Untuk sistem operasi yang kompleks sangat
dimungkinkan adanya interupsi ganda (multiple interrupt).
Misalnya suatu komputer akan menerima permintaan interupsi saat proses pencetakan
dengan printer selesai, disamping itu dimungkinkan dari saluran komunikasi akan
mengirimkan permintaan interupsi setiap kali data tiba. Dalam hal ini prosesor
harus menangani interupsi ganda.
Dapat diambil dua buah pendekatan untuk menangani interupsi ganda
ini.
·
Pertama adalah menolak atau tidak mengizinkan
interupsi lain saat suatu interupsi ditangani prosesor. Kemudian setelah
prosesor selesai menangani suatu interupsi maka interupsi lain baru di tangani.
Pendekatan
ini disebut pengolahan interupsi berurutan / sekuensial.
Pendekatan ini cukup baik dan sederhana karena interupsi ditangani dalam ututan
yang cukup ketat. Kelemahan pendekatan ini adalah metode ini tidak
memperhitungkan prioritas interupsi. (Gambar a)
· 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.
(Gambar b)
O
Sebagai contoh untuk mendekatan bersarang,
misalnya suatu sistem memiliki tiga perangkat I/O: printer, disk, dan saluran
komunikasi, masing – masing prioritasnya 2, 4 dan 5.
Pada
awal sistem melakukan pencetakan dengan printer, saat itu terdapat pengiriman
data padasaluran komunikasi sehingga modul komunikasi meminta interupsi. Proses
selanjutnya adalah pengalihan eksekusi interupsi mudul komunikasi, sedangkan
interupsi printer ditangguhkan. Saat pengeksekusian modul komunikasi terjadi
interupsi disk, namun karena prioritasnya lebih rendah maka interupsi disk
ditangguhkan. Setelah interupsi modul komunikasi selesai akan dilanjutkan interupsi
yang memiliki prioritas lebih tinggi, yaitu disk. Bila interupsi disk selesai
dilanjutkan eksekusi interupsi printer. Selanjutnya dilanjutkan eksekusi
program utama.
good post
ReplyDelete