Interrupt driven I/O

Jumat, 21 Agustus 2015
Posted by seziaji

Teknik interrupt – driven I/O memungkinkan proses tidak membuang – buang waktu. Prosesnya adalah CPU mengeluarkan perintah I/O pada modul I/O, bersamaan perintah I/O dijalankan modul I/O maka CPU akan melakukan eksekusi perintah – perintah lainnya. Apabila modul I/O telah selesai menjalankan instruksi yang diberikan padanya akan melakukan interupsi pada CPU bahwa tugasnya telah selesai. 

Dalam teknik ini kendali perintah masih menjadi tanggung jawab CPU, baik  pengambilan perintah dari memori maupun pelaksanaan isi perintah tersebut. Terdapat selangkah kemajuan dari teknik sebelumnya, yaitu CPU melakukan multitasking beberapa perintah sekaligus sehingga tidak ada waktu tunggu bagi CPU. 
Cara kerja teknik interupsi di sisi modul I/O adalah modul I/O menerima perintah, missal read. Kemudian modul I/O melaksanakan perintah pembacaan dari peripheral dan meletakkan paket data ke register data modul I/O, selanjutnya modul mengeluarkan sinyal interupsi ke CPU melalui saluran kontrol. Kemudian modul menunggu datanya diminta CPU. Saat permintaan terjadi, modul meletakkan data pada bus data dan modul siap menerima perintah selanjutnya.  Pengolahan interupsi saat perangkat I/O telah menyelesaikan sebuah operasi I/O adalah sebagai berikut :
1.      Perangkat I/O akan mengirimkan sinyal interupsi ke CPU.
2.      CPU menyelesaikan operasi yang sedang dijalankannya kemudian merespon interupsi.
3.      CPU memeriksa interupsi tersebut, kalau valid maka CPU akan mengirimkan sinyal  acknowledgment ke perangkat I/O untuk menghentikan interupsinya. 
4.      CPU mempersiapkan pengontrolan transfer ke routine interupsi. Hal yang dilakukan adalah menyimpan informasi yang diperlukan untuk melanjutkan operasi yang tadi dijalankan sebelum adanya interupsi. Informasi yang diperlukan berupa: 
a.       Status processor, berisi register yang dipanggil PSW (program status word).
b.      Lokasi intruksi berikutnya yang akan dieksekusi. 
5.      Informasi tersebut kemudian disimpan dalam stack pengontrol sistem.
6.      Kemudian CPU akan menyimpan PC (program counter) eksekusi sebelum interupsi ke stack  pengontrol bersama informasi PSW. Selanjutnya mempersiapkan PC untuk penanganan interupsi. 
7.      Selanjutnya CPU memproses interupsi sempai selesai.
8.      Apabila pengolahan interupsi selasai, CPU akan memanggil kembali informasi yang telah
9.      disimpan pada stack pengontrol untuk meneruskan operasi sebelum interupsi.

Terdapat bermacam teknik yang digunakan CPU dalam menangani program interupsi ini,
diantaranya :
a.       Multiple Interrupt Lines.
b.      Software poll.
c.       Daisy Chain.
d.      Arbitrasi bus.
Teknik yang paling sederhana adalah menggunakan saluran interupsi berjumlah banyak  (Multiple Interrupt Lines) antara CPU dan modul – modul I/O. Namun tidak praktis untuk menggunakan sejumlah saluran bus atau pin CPU ke seluruh saluran interupsi modul-modul I/O. 
Alternatif lainnya adalah menggunakan software poll. Prosesnya, apabila CPU mengetahui adanya sebuah interupsi, maka CPU akan menuju ke routine layanan interupsi yang tugasnya melakukan poll seluruh modul I/O untuk menentukan modul yang melakukan interupsi.
Kerugian software poll adalah memerlukan waktu yang lama karena harus mengidentifikasi seluruh modul untuk mengetahui modul I/O yang melakukan interupsi. Teknik yang lebih efisien adalah daisy chain, yang menggunakan hardware poll. Seluruh modul I/O tersambung dalam saluran interupsi CPU secara melingkar (chain). Apabila ada permintaan interupsi, maka CPU akan menjalankan sinyal acknowledge yang berjalan pada saluran interupsi sampai menjumpai modul I/O yang mengirimkan interupsi.   Teknik berikutnya adalah arbitrasi bus. Dalam metode ini, pertama – tama modul I/O memperoleh kontrol bus sebelum modul ini menggunakan saluran permintaan interupsi. Dengan demikian hanya akan terdapat sebuah modul I/O yang dapat melakukan interupsi.

 Input output terprogram (programmed I/O) atau polling system 
  Ketika perangkat I/O menangani permintaan, perangkat men-set bit status di register status perangkat. Perangkat tidak memberitahu ke pemroses saat tugas telah selesai dilakukan sehingga pemroses harus selalu memeriksa register tersebut secara periodik dan melakukan tindakan berdasar status yang dibaca.
Software pengendali perangkat (driver) dipemroses harus mentransfer data ke/dari pengendali. Driver mengekseksui perintah yang berkomunikasi dengan pengendali (adapter) di perangkat dan menunggui sampai operasi yang dilakukan perangkat selesai. 
Driver berisi kumpulan instruksi :  
1.      Pengendalian.
Berfungsi mengaktifkan perangkat eksternal dan memberitahu yang perlu dilakukan. Contoh : unit tape magnetik diinstruksikan untuk kembali ke posisi awal, bergerak ke record berikut, dan sebagainya. 
2.      Pengujian. 
Berfungsi memeriksa status perangkat keras berkaitan dengan perangkat I/O.
3.      Pembacaan/penulisan Berfungsi membaca/menulis untuk transfer data antara register pemroses dan perangkat eksternal.Masalah utama I/O terprogram adalah pemroses diboroskan untuk menunggu dan menjagai operasi I/O. Diperlukan teknik lain untuk meningkatkan efisiensi pemroses.
Pada I/O terprogram, data saling dipertukarkan antara CPU dan modul I/O. CPU mengeksekusi program yang memberikan operasi I/O kepada CPU secara langsung seperti pemindahan data, pengiriman perintah baca atau tulis dan monitoring perangkat. 
I/O terprogram mempunyai kelemahan sebagai berikut :
  • CPU akan menunggu sampai operasi I/O selesai dilakukan modul I/O sehingga akan membuang waktu, CPU lebih cepat proses operasinya.
  • Dalam teknik ini, modul I/O tidak dapat melakukan interupsi kepada CPU terhadap proses – proses yang diinteruksikan padanya.
  • Seluruh proses merupakan tanggung jawab CPU sampai operasi lengkap dilaksanakan

      Untuk melaksanakan perintah-perintah I/O, CPU akan mengeluarkan sebuah alamat bagi modul I/O dan perangkat periperhalnya sehingga terspesifikasi secara khusus dan sebuah perintah I/O yang akan dilakukan. Terdapat empat klasifikasi perintah input/output, yaitu:
  1. Perintah Control yaitu perintah yang digunakan untuk mengaktivasi perangkat periperhal dan memberitahukan tugas yang diperintahkan kepadanya.
  2. Perintah Test, yaitu perintah yang digunakan CPU untuk menguji berbagai kondisi status modul I/O dan periperhalnya. CPU perlu mngetahui perangkat periperhalnya dalam keadaan aktif dan siap digunakan, juga untuk megetahui operasi-operasi I/O yang dijalankan serta mendeteksi kesalahannya.
  3. Perintah Read, yaitu perintah pada modul I/O untuk mengambil suatu paket data kemudian menaruhnya di dalam buffer internal. Proses selanjutnya paket data dikirim melalui bus data setelah terjadi sinkronisasi data maupun kecepatan transfernya.
  4. Perintah Write, Perintah ini kebalikan dari read. CPU memerintahkan modul I/O untuk mengambil data dari bus data untuk diberikan pada perangkat periperhal tujuan data tersebut. 
      Dalam teknik I/O terprogram, terdapat dua macam implementasi perintah I/O yang tertuang dalam instruksi I/O, yaitu memory mapped I/O dan isolated I/O.
      Dalam memory mapped I/O, terdapat ruang tunggal untuk lokasi memori dan perangkat I/O. CPU memperlakukan register status dan register data pada modul I/O sebagai lokasi memori dan menggunakan instruksi mesin yang sama untuk mengakses baik memori maupun perangkat I/O. Konsekuensinya adalah diperlukan saluran tunggal untuk pembacaan dan saluran tunggal untuk penulisan. Keuntungan memory mapped ini adalah efisien dalam pemrograman namun memakan banyak ruang memory alamat.
      Dalam teknik isolated I/O, dilakukan pemisahan ruang pengalamatan bagi memori dan ruang pengalamatan bagi I/O. Dengan teknik ini diperlukan bus yang dilengkapi dengan pembacaan dan penulisan memori ditambah dengan saluran perintah output. Kesuntungan isolated I/O adalah sedikitnya instruksi I/O.
Sistem Bilangan atau Number System adalah Suatu cara untuk mewakili besaran dari suatu item fisik. Sistem Bilangan menggunakan suatu bilangan dasar atau basis (base / radix) yang tertentu. Dalam hubungannya dengan komputer, ada 4 Jenis Sistem Bilangan yang dikenal yaitu : Desimal (Basis 10), Biner (Basis 2), Oktal (Basis 8) dan Hexadesimal (Basis 16). Berikut penjelesan mengenai 4 Sistem Bilangan ini :


1. Desimal (Basis 10)

Desimal (Basis 10) adalah Sistem Bilangan yang paling umum digunakan dalam kehidupan sehari-hari. Sistem bilangan desimal menggunakan basis 10 dan menggunakan 10 macam simbol bilangan yaitu : 0, 1, 2, 3, 4, 5, 6, 7, 8 dan 9. Sistem bilangan desimal dapat berupa integer desimal (decimal integer) dan dapat juga berupa pecahan desimal (decimal fraction).

Untuk melihat nilai bilangan desimal dapat digunakan perhitungan seperti berikut, misalkan contoh bilangan desimal adalah 8598. Ini dapat diartikan :


Dalam gambar diatas disebutkan Absolut Value dan Position Value. Setiap simbol dalam sistem bilangan desimal memiliki Absolut Value dan Position Value. Absolut value adalah Nilai Mutlak dari masing-masing digit bilangan. Sedangkan Position Value adalah Nilai Penimbang atau bobot dari masing-masing digit bilangan tergantung dari letak posisinya yaitu bernilai basis di pangkatkan dengan urutan posisinya. Untuk lebih jelasnya perhatikan tabel dibawah ini.

Dengan begitu maka bilangan desimal 8598 bisa diartikan sebagai berikut :

Sistem bilangan desimal juga bisa berupa pecahan desimal (decimal fraction), misalnya : 183,75 yang dapat diartikan :

2. Biner (Basis 2)

Biner (Basis 2) adalah Sistem Bilangan yang terdiri dari 2 simbol yaitu 0 dan 1. Bilangan Biner ini di populerkan oleh John Von Neumann. Contoh Bilangan Biner 1001, Ini dapat di artikan (Di konversi ke sistem bilangan desimal) menjadi sebagai berikut :

Position Value dalam sistem Bilangan Biner merupakan perpangkatan dari nilai 2 (basis), seperti pada tabel berikut ini :

Berarti, Bilangan Biner 1001 perhitungannya adalah sebagai berikut :


3. Oktal (Basis 8)


Oktal (Basis 8) adalah Sistem Bilangan yang terdiri dari 8 Simbol yaitu 0, 1, 2, 3, 4, 5, 6, 7. Contoh Oktal 1024, Ini dapat di artikan (Di konversikan ke sistem bilangan desimal) menjadi sebagai berikut :
Position Value dalam Sistem Bilangan Oktal merupakan perpangkatan dari nilai 8 (basis), seperti pada tabel berikut ini :


Berarti, Bilangan Oktal 1022 perhitungannya adalah sebagai berikut :

4. Hexadesimal (Basis 16)

Hexadesimal (Basis 16), Hexa berarti 6 dan Desimal berarti 10 adalah Sistem Bilangan yang terdiri dari 16 simbol yaitu 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A(10), B(11), C(12), D(13), E(14), F(15). Pada Sistem Bilangan Hexadesimal memadukan 2 unsur yaitu angka dan huruf. Huruf A mewakili angka 10, B mewakili angka 11 dan seterusnya sampai Huruf F mewakili angka 15.

Contoh Hexadesimal F3D4, Ini dapat di artikan (Di konversikan ke sistem bilangan desimal) menjadi sebagai berikut :


Position Value dalam Sistem Bilangan Hexadesimal merupakan perpangkatan dari nilai 16 (basis), seperti pada tabel berikut ini :


Berarti, Bilangan Hexadesimal F3DA perhitungannya adalah sebagai berikut :



 


 Sistem Bilangan Binari

Sistem bilangan binari adalah sistem bilangan yang menggunakan basis 2. Sistem bilangan binari menggunakan 2 macam simbol yaitu : 0 dan 1. Contoh bilangan binari misalnya bilangan binari 1001. Ini dapat diartikan (dikonversi ke sistem bilangan desimal) menjadi sebagai berikut :
Binari (1)
Position value dalam sistem bilangan binari merupakan perpangkatan dari nilai 2 (basis), seperti pada tabel berikut ini :
Binari (2)
Berarti, bilangan binari 1001 perhitungannya adalah sebagai berikut :
Binari (3)
Atau dengan rumus sebagai berikut :
Binari (4)
Contoh, bilangan binari 101101 dapat dilihat nilainya dalam sistem bilangan desimal menggunakan rumus diatas sebagai berikut :
Binari (5)
Penjumlahan Bilangan Binari
Pertambahan atau penjumlahan pada sistem bilangan binari dilakukan dengan cara yang sama dengan penjumlahan pada sistem bilangan desimal. Dasar pertambahan/penjumlahan pada masing-masing digit bilangan binari adalah sebagai berikut :
Binari (6)
Contoh pertambahan bilangan binari misalnya 1111 + 10100 hasilnya adalah 100011 dengan cara sebagai berikut :
Binari (7)
Pengurangan Bilangan Binari
Pengurangan pada sistem bilangan binari dilakukan dengan cara yang sama dengan pengurangan pada sistem bilangan desimal. Dasar pengurangan untuk masing-masing digit pada sistem bilangan binari adalah sebagai berikut :
Binari (8)
Berbagai contoh pengurangan pada sistem bilangan binari bisa dilihat dibawah ini :
Binari (9)
KOMPLEMEN (COMPLEMENT)
Pengurangan juga bisa dilakukan dengan komplemen. Komplemen ada du macam yaitu :
  • Komplemen basis minus 1 (radix-minus-one complement)
  • Komplemen basis (radix complement)
Pada sistem bilangan desimal dikenal dua macam komplemen yaitu :
  • Komplemen 9 (9s complement)
  • Komplemen 10 (10s complement)
Sedangkan pada sistem bilangan binari juga ada 2 macam komplemen yaitu :
  • Komplemen 1 (1s complement)
  • Komplemen 2 (2s complement)
Contoh pengurangan dengan komplemen 9 pada sistem bilangan desimal adalah seperti berikut :
Binari (10)
Komplemen 9 dari suatu sistem bilangan desimal dilakukan dengan mengurangkan angka 9 untuk masing-masing digit dalam bilangan pengurangan. Perhatikan, pada komplemen 9, digit 1 paling ujung kiri dipindahkan untuk ditambahkan pada digit yang paling kanan.
Contoh pengurangan dengan komplemen 10 pada sistem bilangan desimal bisa dilihat pada contoh berikut :
Binari (11)
Komplemen 10 dari bilangan desimal adalah hasil komplemen 9 ditambah 1, misalnya komplemen 10 dari nilai 321 adalah 679 (atau dengan cara 1000 – 321 = 679). Pada komplemen 10, hasil digit 1 yang paling kiri dibuang (tidak digunakan).
Cara yang sama dapat dilakukan pada sistem bilangan binari. Contoh pengurangan pada sistem bilangan binari dengan komplemen 1 adalah sebagai berikut :
Binari (12)
Komplemen 1 di sistem bilangan binari dilakukan dengan mengurangkan setiap bit (digit) dari nilai 1, atau dengan mengubah setiap bit 0 menjadi 1 dan bit 1 menjadi 0. Dengan komplemen 1, hasil digit paling kiri dipindahkan untuk ditambahkan pada bit paling kanan.
Sedangkan contoh pengurangan dengan komplemen 2 pada sistem bilangan binari adalah sebagai berikut :
Binari (13)
Komplemen 2 pada sistem bilangan binari adalah hasil dari komplemen 1 ditambah 1, misalnya komplemen 2 dari binari 10110 adalah 01010 (dari komplemen 1 yaitu 01001 ditambah 1). Dengan komplemen 2, hasil digit paling kiri dibuang (tidak digunakan).
Perkalian Bilangan Binari

Perkalian pada sistem bilangan binari dilakukan dengan cara yang sama dengan perkalian pada sistem bilangan desimal. Dasar perkalian untuk masing-masing digit pada sistem bilangan binari adalah sebagai berikut :
Binari (14)
Contoh perkalian pada sistem bilangan binari adalah sebagai berikut :
Binari (15)
Perhatikan, ada 2 keadaan dalam perkalian pada sistem bilangan binari yaitu :
  • Jika pengali adalah bilangan 1, maka cukup disalin saja.
  • Jika pengali adalah bilangan 0, maka hasilnya semuanya 0.
Pembagian Bilangan Binari

Pembagian pada sistem bilangan binari juga dilakukan dengan cara yang sama seperti pada pembagian bilangan desimal. Pembagian dengan 0 tidak mempunyai arti, sehingga dasar pembagian pada sistem bilangan binari adalah sebagai berikut :
Binari (16)
Contoh pembagian pada sistem bilangan binari adalah sebagai berikut :
Binari (17)

Komputer Terapan

Sabtu, 18 Juli 2015
Posted by seziaji
Buku Pegangan Semester 1




Download

Buku Pegangan Semester 2



Download
Buku Pegangan Semester 1




Download

Buku Pegangan Semester 2



Download
Buku Pegangan Semester 1




Download

Buku Pegangan Semester 2



Download
Buku Pegangan Semester 1




Download

Sistem Operasi

Posted by seziaji
Buku Pegangan Semester 1




Download

Buku Pegangan Semester 2



Download
Buku Pegangan Semester 1




Download

Buku Pegangan Semester 2



Download
Buku Pegangan Semester 1




Download

Buku Pegangan Semester 2



Download
Welcome to TKJ 53

Popular Post

Arsip Blog

Formulir Kontak

Nama

Email *

Pesan *

Chatting

- Copyright © TEKNIK KOMPUTER dan JARINGAN -SMKN 53 JAKARTA- Powered by Teknik Komputer Jaringan - Designed by Seziaji Supriyanto, S.Pd -