MENGENAL SISTEM KOMPUTER SARTIM
[email protected]
Abstrak Sistem komputer adalah suatu jaringan elektronik yang terdiri dari perangkat lunak dan perangkat keras yang melakukan tugas tertentu(menerima input,memproses input, menyimpan perintah, dan menyediakan output dalam bentuk informasi). Kata Kunci:sistem
Pendahuluan Penulis berharap dengan artikel ini, pembaca akan lebih bertambah pengetahuan dan wawasan tentang ilmu pengetahuan teknologi informasi.
Pembahasan Apakah Sistem Komputer? Sistem komputer pada tingkat hardware terdiri dari empat komponen dasar. 1. Prosesor Berfungsi untuk mengontrol operasi –operasi komputer dan melakukan fungsifungsi pemerosesan data. 2. Memori utama Berfungsi menyimpan data dan program. Biasanya bersifat volatile dan sering disebut dengan memori primer atau memori nyata(real memori). 3. Modul I/O
Lisensi Dokumen: Copyright © 2008-2014 ilmuti.org Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org
Berfungsi untuk memindahkandata antara komputer dan perangkat eksternal yang dibutuhkan. Perangkat eksternal biasanya terdiri dari bermacam-macam jenis, termasuk perangkat memori sekunder, perangkat komunikasi, maupun terminal. 4. Sistem bus Terdiri dari beberapa struktur dan mekanisme yang berguna untuk komunikasi antara prosesor, memori utama, dan modul I/O. Sistem komputer dengan empat komponen dasar di atas dapat digambarkan sebagai berikut:
Pada perkembangannya, sistem komputer modern terdiri dari CPU dan sejumlah pengontrol perangkat(device controller) yang dihubungkan dengan sistem bus yang menyediakan akses ke memori yang dapat dibagi-pakai(share). Setiap device controller secara spesifik mengontrol perangkatnya (contoh: disk drive, video display, dan perangkat audio). CPU dan device controller dapat bekerja secara bersamaan dan saling bersaing untuk mendapatkan akses ke memori. Oleh sebab itu dibutuhkan sebuah memori controller yang berfungsi melakukan sinkronisasi akses ke memori. Sistem komputer modern dapat digambarkan sebagai berikut:
Lisensi Dokumen: Copyright © 2008-2014 ilmuti.org Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org
Interrupt Interrupt adalah penyelaan suatu proses karena ada proses lain yang perlu dikerjakan lebih dulu. Ketika interrupt selesai, maka proses yang di-interrupt akan dilanjutkan kembali. Interrupt bertujuan untuk meningkatkan efesiensi pemerosesan yang berkaitan erat dengan proses I/O. dengan intterupt, prosessor dapat digunakan untuk mengeksekusi intruksi lain ketika suatu operasi I/O sedang dilakukan. Dari sudut pandanga pemakai program, suatu interrupt adalah suatu penyelaan urutan normal dari eksekusi program. Interrupt handler adalah suatu program yang secara umum merupakan bagian dari sistem operasi yang pada dasarnya menetukan sifat interrupt dan melakukan tindakantindakan yang diperlukan, misalnya menentukan modul I/O mana yang dibangkitkan oleh interrupt dan memanggil program yang dibutuhkan untuk memanipulasi modul I/O tersebut. Interrupt dan intruction cycle Jika prosesor tidak memakai interrupt, maka prosesor hanya membutuhkan intruksi tunggal yang disebut dengan intruction code yang hanya menggunakan dua langkah deskripsi sederhana yang dinamakan fetch cycle dan excute cycle. Eksekusi program hanya berhenti ketika komputer dimatikan atau menemukan beberapa error yang tidak dapat diperbaiki.
Lisensi Dokumen: Copyright © 2008-2014 ilmuti.org Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org
Untuk menampung interrupt, maka interrupt cycle harus ditambahkan di intruction cycle. Di dalam interrupt cycle, prosesor memeriksa keberadaan interrupt, yang ditandai dengan munculnya tanda interrupt. Jika tidak ada interrupt, prosesor memproses fetch cycle dan mengambil intruksi berikutnya dalam program tersebut. Jika ada interrupt, prosesor menunda eksekusi program dan mengeksekusi rutin interrupt handler. Untuk lebih jelasnya, perhatikan gambar dibawah ini:
Interrupt berganda Interrupt dapat terjadi secara berganda, artinya ada lebih dari satu interrupt yang dibutukan pada saat suatu program berjalan. Contohnya suatu program menerima data dari jalur
Lisensi Dokumen: Copyright © 2008-2014 ilmuti.org Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org
komunikasi data dan mencetak hasilny. Printer akan membangkitkan interrupt setiap kali selesai mencetak(menyelesaikan operasi pencetakan). Controller jalur komunikasi data akan akan membangkitkan interrupt setiap kali ada suatu unit data yang datang. Kejadian ini menimbulkan interrupt komunikasi data muncul saat interrupt printer sedang diproses. Ada dua cara untuk mengatasi hal tersebut: a. Menon-aktifkan interrupt ketika suatu interrupt sedang diproses. Interrupt dinonaktifkan berarti bahwa prosesor akan mengabaikan permintaan interrupt baru. Jika suatu interrupt baru muncul pada saat itu maka interrupt tersebutakan ditunda dan akan diperiksa oleh prosesor setelah prosesor mengaktifkan kembali interupt. Setelah rutin interrupt handler menyelesaikan pekerjaannya, maka interrupt diaktifkan sebelum kembali ke program pemakai dan prosesor memeriksa apakah ada tambahan interupt atau tidak. Cara ini merupakan cara sederhana dan baik, karena Interrupt Handler dalam urutan yang benar-benar sekuensial. Hal tersebut digambarkansebagai berikut:
b. Mendefinisikan prioritas interrupt sehingga interrupt dengan prioritas yang lebih tinggi dapat menyebabkan interrupt handler dengan prioritas lebih rendah terinterrupt. Sebagai contoh, sebuah sistem dengan tiga perangkat I/O, yaitu printer(prioritas 2), disk(prioritas 4), dan jalur komunikasi(prioritas 5). Pada saat program pemakai dieksekusi, terjadi interrupt untuk printer. Ketika interrupt printer masih dikerjakan dan belum selesai, terjadi interrupt untuk jalur komunikasi. Karena jalur komunikasi berprioritas lebih tinggi dibandingkan prioritas printer, maka printer ter-interrupt, untuk mengerjakan interrupt jalur komunikasi. Ketika interrupt jalur komunikasi belum selesai dikerjakan, terjadi untuk disk. Lisensi Dokumen: Copyright © 2008-2014 ilmuti.org Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org
Karena prioritas untuk disk lebih rendah dibandingkan prioritas jalur komunikasi, maka interrupt disk ditunda dulu menunggu interrupt jalur komunikasi selesai dikerjakan. Setelah selesai mengerjakan interrupt jalur komunikasi, maka prosesor akan mengerjakan interrupt printer, tetapi karena ada interrupt untuk disk yang ditunda dan berprioritas lebih tinggi dibandingkan prioritas printer, maka interrupt printer kembali ter-interrupt untuk mengerjakan interrupt disk. Setelah interrupt disk selesai dikerjakan, barulah interrupt printer dikerjakan kembali.
Sebenarnya tidak hanya I/O saja yang membutuhkan interrupt, tetapi perangkatperangkat(modul-modul) yang lain juga membutuhkannya. Dibawah ini tabel modul-modul yang membutuhkan interrupt: 1
program
Dibangkitkan oleh suatu kondisi yang muncul sebagai nilai dari pengeksekusian suatu intruksi, misalnya arithmetic overflow, division by zero, menempatkan data diluar jangkauan memori yang digunakan oleh pemakai, dan mengeksekusi intruksi mesin yang salah.
2
Timer
Dibangkitkan oleh timer yang ada didalam prosesor. Hal ini mengizinkan sistem operasi untukmengerjakan fungsi-fungsi tetap yang sudah ditentukan.
3
I/O
Dibangitkan oleh controller I/O, untuk memberikan tanda suatu pekerjaan sudah selesai secara normal atau tanda
Lisensi Dokumen: Copyright © 2008-2014 ilmuti.org Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org
untuk berbagai macam kondisi error. 4
Kegagalan hardware
Dibangkitkan oleh suatu kegagalan, misalnya kegagalan power atau memory parity error.
Teknik Komunikasi I/O Pembahasan tentang teknik komunikasi I/O ini terdiri dari Progammed I/O, InterruptDriven I/O, dan Direct Memory Acces.
Programmed I/O
Ketika prosesor mengeksekusi suatu program dan menemukan suatu intruksi yang berhubungan dengan I/O, maka prosesor mengeksekusi intruksi tersebut dengan memberikan perintah kepada modul I/O yang bersangkutan. Dengan Programmed I/O, modul I/O melakukan tindakan yang diminta dan kemudian mengeset bit-bit yang bersangkutan di dalam status register I/O. modul I/O tersebut tidak meng-interrupt prosessor dan menjadi tanggung jawab prosesor untuk memeriksa status I/O tersebut secara periodik sampai eksekusi selesai. Dengan teknik ini prosesor bertanggung jawab untuk mengekstrak data dari memori utama yang digunakan sebagai output danmenyimpan data di memori utama yang digunakan sebagai input. Software I/O ditulis supaya prossesor dapat mengeksekusi intruksi-intruksi secara langsung pada operasi I/O, termasuk mengenali status perangkat(device), mengirimkan perintah menulis atau membaca, dan mentransfer data. Oleh karena itu intruksi- intruksi I/O harus memenuhi kategori berikut: a. Control Digunakan untuk mengaktifkan perangkat eksternal dan memerintahkan untuk melakukan suatu pekerjaan. Contohnya, magnetic tape dapat diinstruksikan untuk berputar maju atau mundur satu record. b. Status Digunakan untuk menguji status-status kondisi yang beaneka macam yang berhubungan dengan modul I/O dan perangkat-perangkatnya. c. Transfer Lisensi Dokumen: Copyright © 2008-2014 ilmuti.org Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org
Digunakan untuk membaca atau menulis data antara register prosesor dan perangkat eksternal. Gambar dibawah ini merupakan contoh penggunaan programmed I/O untuk membaca blok data dari perangkat eksternal(misal sebuah record dari magnetic tape) ke dalam memori. Data dibaca satu record dalam satu waktu . untuk setiap record data yang dibaca, prosesor harus tetap dalam status checking cycle sampai prosesor menentukan bahwa word tersedia di dalam register data modul I/O.
Interrupt-Driven I/O
Programmed I/O mempunyai masalah pada waktu tunggu prosesor yang lam pada modul I/O untuk siap menerima atau memberikan lebih banyak data. Hal ini disebabkan prosesor harus selalu mengulang bertanya tentang status modul I/O ketika sedang menunggu. Oleh karena itu unjuk kerja sistem secara keseluruhan jadi mengalami penurunan.
Lisensi Dokumen: Copyright © 2008-2014 ilmuti.org Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org
Sebagai alternatif penyelesaian masalah di atas, ketika prosesor memberikan perintah ke modul I/O, maka prosesor tidak perlu menunggu tetapi tetap bekerja dengan hal lain yang lebih berguna. Modul I/O akan meng-interrupt prosesor untuk meminta layanan ketika modul I/O sudah siap untuk proses pertukaran data dengan prosesor. Prosesor kemudian mengerjakan transfer data seperti biasanya dan kembali pada pemerosesan yang baru saja ditinggal. Cara kerja Interrupt –Driven I/O adalah sebagai berikut:
Prosesor memberikan peintah READ dan menyimpan context (misal progremcounter dan register prosesor) dari program tersebut untuk mengerjakan hal lain (misal prosesor bekerja pada beberapa program yang berbeda pada saat yang sama). Pada akhir setiap intruksi prosesor memeriksa interrupt. Ketika interrupt dari modul I/O muncul, maka prosesor menyimpan context dari program yang sedang di eksekusi kemudian mulai mengeksekusi program interrupt handling yang memproses interrupt tersebut. Dalam hal ini prosesor membaca word data dari modul I/O dan menyimpannya di memori. Prosesor kemudian memulihkan /mengembalikan context program yang diberi printah I/O dan kembali melakukan eksekusi.
Gambar dibawah ini menggambarkan penggunaan interrupt-driven I/O untuk membaca blok data.
Lisensi Dokumen: Copyright © 2008-2014 ilmuti.org Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org
Direct Memory Acces
Interrupt-driven I/O lebih efisien dibandingkan Programmed I/O karena mengurangi waktu tunggu yang tidak diinginkan. Tetapi interrupt-Driven I/O masih menggunakan waktu prosesor yang besar, karena setiap word data yang mengalir dari memori ke modul I/O atau dari modul I/O ke memori harus tetap melalui prosesor ,karena masih membutuhkan kan campur tangan aktif dari prosesor untuk melakukan transfer data antara memori dengan modul I/O. dapat diambil kesimpulan bahwa Programmed I/O dan Interrupt-Driven I/O mempunyai dua kekurangan yang mengakibatkan prosesor tidak dapat bekerja secara efisien. a. Kecepatan transfer I/O terbatas, dibandingkan dengan kecepatan prosesor memeriksa dan memberikan layanan perangakat(device). b. Prosesor terikat di dalam menangani dan mengatur transfer I/O, karena sejumlah intruksi harus dieksekusi untuk setiap proses transfer I/O.
Lisensi Dokumen: Copyright © 2008-2014 ilmuti.org Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org
Teknik yang lebih efisien diperlukan ketika data yang berukuran sangat besar dipindahkan. Teknik ini sudah ada dan disebut DMA(Direct Memory Access). DMA dapat berada di modul terpisah di bus system atau dapat tergabung ke dalam modul I/O. cara kerja DMA adalah sebagai berikut:
Ketika prosesor akan membaca atau menulis blok data, prosesor memberikan perintah ke modul DMA dengan mengirimkan sejumlah informasi DMA, yang meliputi: Apakah READ atau WRITE yang diminta Alamat perangkat I/O yang digunakan. Lokasi awal memori untuk membaca dari atau menulis ke. Jumlah word yang akan dibaca atau ditulis Prosesor kemudian melanjutkan dengan pekerjaan lain. Prosesor mendelegasikan operasi I/O tersebut ke modul DMA dan modul DMA ini yang akan mengerjakannya. Modul DMA melakukan transfer keseluruhan blok data, satu word dalam satu waktu, langsung ke atau dari memori tanpa prosesor Ketika proses transfer selesai, modul DMA mengirimtanda Interrupt ke prosesor. Jadi prosesor hanya terlibat di awal dan di akhir proses trasfer.
Hal ini dapat digambarkan sebagai berikut:
Penutup
Lisensi Dokumen: Copyright © 2008-2014 ilmuti.org Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org
Demikianlah artikel sistem komputer dari saya, semoga bermanfaat bagi para pembaca artikel ini. Lebih kurangnya penulis meminta maaf bila ada beberapa kesalahan dalam penulisan, penulis ucapkan terima kasih
Referensi Binanto, Iwan (2005). sistem operasi, Yogyakarta: penerbit ANDI http://id.wikipedia.org/wiki/Sistem_operasi http://en.wikipedia.org/wiki/Interrupt http://iqbalparabi.com/sistem-dan-arsitektur-komputer/
Biografi Sartim Pria kelahiran 28 Desember 1989. Masih menggeluti dunia pemrograman dari HTML5, CSS3,JavaScript/jQuery,dan PHP. Dan sekarang penulis sedang fokus menggeluti bidang pemograman database Mysql secara otodidak. Teman-teman bisa menghubungi penulis di : Email :
[email protected] atau
[email protected] Sosial Media : Facebook | Twitter BBM : 75D70BFC HP/WhatsApp : 089694342829
Lisensi Dokumen: Copyright © 2008-2014 ilmuti.org Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org