SMKN 53 JAKARTA

Jl. Flamboyan No.53 Cengkareng Barat, Cengkareng, Jakarta Barat 11730

SMKN 53 JAKARTA

Jl. Flamboyan No.53 Cengkareng Barat, Cengkareng, Jakarta Barat 11730

SMKN 53 JAKARTA

Jl. Flamboyan No.53 Cengkareng Barat, Cengkareng, Jakarta Barat 11730

SMKN 53 JAKARTA

Jl. Flamboyan No.53 Cengkareng Barat, Cengkareng, Jakarta Barat 11730

SMKN 53 JAKARTA

Jl. Flamboyan No.53 Cengkareng Barat, Cengkareng, Jakarta Barat 11730

SMKN 53 JAKARTA

Jl. Flamboyan No.53 Cengkareng Barat, Cengkareng, Jakarta Barat 11730

SMKN 53 JAKARTA

Jl. Flamboyan No.53 Cengkareng Barat, Cengkareng, Jakarta Barat 11730

SMKN 53 JAKARTA

Jl. Flamboyan No.53 Cengkareng Barat, Cengkareng, Jakarta Barat 11730

Sabtu, 22 Agustus 2015

Gerbang Logika, Flip-flop dan Counter


GERBANG LOGIKA

Pengertian Gerbang Logika Dasar – Gerbang Logika atau dalam bahasa Inggris disebut dengan Logic Gate adalah dasar pembentuk Sistem Elektronika Digital yang berfungsi untuk mengubah satu atau beberapa Input (masukan) menjadi sebuah sinyal Output (Keluaran) Logis. Gerbang Logika beroperasi berdasarkan sistem bilangan biner yaitu bilangan yang hanya memiliki 2 kode simbol yakni 0 dan 1 dengan menggunakan Teori Aljabar Boolean.


Jenis-jenis Gerbang Logika Dasar dan Simbolnya

Terdapat 7 jenis Gerbang Logika Dasar yang membentuk sebuah Sistem Elektronika Digital, yaitu :
  1. Gerbang AND
  2. Gerbang OR
  3. Gerbang NOT
  4. Gerbang NAND
  5. Gerbang NOR
  6. Gerbang X-OR (Exclusive OR)
  7. Gerbang X-NOR (Exlusive NOR)
Tabel yang berisikan kombinasi-kombinasi Variabel Input (Masukan) yang menghasilkan Output (Keluaran) Logis disebut dengan “Tabel Kebenaran” atau “Truth Table”.
Input dan Output pada Gerbang Logika hanya memiliki 2 level. Kedua Level tersebut pada umumnya dapat dilambangkan dengan :
  • HIGH (tinggi) dan LOW (rendah)
  • TRUE (benar) dan FALSE (salah)
  • ON (Hidup) dan OFF (Mati)
  • 1 dan 0
Contoh Penerapannya ke dalam Rangkaian Elektronika yang memakai Transistor TTL (Transistor-transistor Logic),  maka 0V dalam Rangkaian akan diasumsikan sebagai “LOW” atau “0” sedangkan 5V akan diasumsikan sebagai “HIGH” atau “1”.
Berikut ini adalah Penjelasan singkat mengenai 7 jenis Gerbang Logika Dasar beserta Simbol dan Tabel Kebenarannya.

Gerbang AND (AND Gate)

Gerbang AND memerlukan 2 atau lebih Masukan (Input) untuk menghasilkan hanya 1 Keluaran (Output). Gerbang AND akan menghasilkan Keluaran (Output) Logika 1 jika semua masukan (Input) bernilai Logika 1 dan akan menghasilkan Keluaran (Output) Logika 0 jika salah satu dari masukan (Input) bernilai Logika 0. Simbol yang menandakan Operasi Gerbang Logika AND adalah tanda titik (“.”) atau tidak memakai tanda sama sekali. Contohnya : Z = X.Y atau Z = XY.
Simbol dan Tabel Kebenaran Gerbang AND (AND Gate)Simbol Gerbang Logika AND dan Tabel Kebenaran Gerbang AND

Gerbang OR (OR Gate)

Gerbang OR memerlukan 2 atau lebih Masukan (Input) untuk menghasilkan hanya 1 Keluaran (Output). Gerbang OR akan menghasilkan Keluaran (Output) 1 jika salah satu dari Masukan (Input) bernilai Logika 1 dan jika ingin menghasilkan Keluaran (Output) Logika 0, maka semua Masukan (Input) harus bernilai Logika 0.
Simbol yang menandakan Operasi Logika OR adalah tanda Plus (“+”). Contohnya : Z = X + Y.
Simbol dan Tabel Kebenaran Gerbang OR (OR Gate)Simbol Gerbang Logika OR dan Tabel Kebenaran Gerbang OR

 Gerbang NOT (NOT Gate)

Gerbang NOT hanya memerlukan sebuah Masukan (Input) untuk menghasilkan hanya 1 Keluaran (Output). Gerbang NOT disebut juga dengan Inverter (Pembalik) karena menghasilkan Keluaran (Output) yang berlawanan (kebalikan) dengan Masukan atau Inputnya. Berarti jika kita ingin mendapatkan Keluaran (Output) dengan nilai Logika 0 maka Input atau Masukannya harus bernilai Logika 1. Gerbang NOT biasanya dilambangkan dengan simbol minus (“-“) di atas Variabel Inputnya.
Simbol dan Tabel Kebenaran Gerbang NOT (NOT Gate)  Simbol Gerbang Logika NOT dan Tabel Kebenaran Gerbang NOT

Gerbang NAND (NAND Gate)

Arti NAND adalah NOT AND atau BUKAN AND, Gerbang NAND merupakan kombinasi dari Gerbang AND dan Gerbang NOT yang menghasilkan kebalikan dari Keluaran (Output) Gerbang AND. Gerbang NAND akan menghasilkan Keluaran Logika 0 apabila semua Masukan (Input) pada Logika 1 dan jika terdapat sebuah Input yang bernilai Logika 0 maka akan menghasilkan Keluaran (Output) Logika 1.
Simbol dan Tabel Kebenaran Gerbang NAND (NAND Gate) Simbol Gerbang NAND dan Tabel Kebenaran Gerbang NAND

Gerbang NOR (NOR Gate)

Arti NOR adalah NOT OR atau BUKAN OR, Gerbang NOR merupakan kombinasi dari Gerbang OR dan Gerbang NOT yang menghasilkan kebalikan dari Keluaran (Output) Gerbang OR. Gerbang NOR akan menghasilkan Keluaran Logika 0 jika salah satu dari Masukan (Input) bernilai Logika 1 dan jika ingin mendapatkan Keluaran Logika 1, maka semua Masukan (Input) harus bernilai Logika 0.
Simbol dan Tabel Kebenaran Gerbang NOR (NOR Gate) Simbol Gerbang Logika NOR dan Tabel Kebenaran Gerbang NOR

Gerbang X-OR (X-OR Gate)

X-OR adalah singkatan dari Exclusive OR yang terdiri dari 2 Masukan (Input) dan 1 Keluaran (Output) Logika. Gerbang X-OR akan menghasilkan Keluaran (Output) Logika 1 jika semua Masukan-masukannya (Input) mempunyai nilai Logika yang berbeda. Jika nilai Logika Inputnya sama, maka akan memberikan hasil Keluaran Logika 0.
Simbol dan Tabel Kebenaran Gerbang X-OR (X-OR Gate) Simbol Gerbang Logika X-OR dan Tabel Kebenaran Gerbang X-OR

 Gerbang X-NOR (X-NOR Gate)

Seperti Gerbang X-OR,  Gerban X-NOR juga terdiri dari 2 Masukan (Input) dan 1 Keluaran (Output). X-NOR adalah singkatan dari Exclusive NOR dan merupakan kombinasi dari Gerbang X-OR dan Gerbang NOT. Gerbang X-NOR akan menghasilkan Keluaran (Output) Logika 1 jika semua Masukan atau Inputnya bernilai Logika yang sama dan akan menghasilkan Keluaran (Output) Logika 0 jika semua Masukan atau Inputnya bernilai Logika yang berbeda. Hal ini merupakan kebalikan dari Gerbang X-OR (Exclusive OR).
Simbol dan Tabel Kebenaran Gerbang X-NOR (X-NOR Gate) Simbol Gerbang Logika X-NOR dan Tabel Kebenaran Gerbang X-NOR

Flip-Flop

Pengertian Flip-Flop  – Flip-flop adalah suatu rangkaian elektronika yang memiliki dua kondisi stabil dan dapat digunakan untuk menyimpan informasi. Flip Flop merupakan pengaplikasian gerbang logika yang bersifat Multivibrator Bistabil. Dikatakan Multibrator Bistabil karena kedua tingkat tegangan keluaran pada Multivibrator tersebut adalah stabil dan hanya akan mengubah situasi tingkat tegangan keluarannya saat dipicu (trigger).  Flip-flop mempunyai dua Output (Keluaran) yang salah satu outputnya merupakan komplemen Output yang lain.

Jenis-jenis Flip-flop

Rangkaian Flip-flop pada umumnya dapat dibagi menjadi beberapa jenis, yaitu S-R Flip-flop, D Flip-flop, T Flip-flop dan JK Flip-flop. Berikut dibawah ini adalah penjelasan singkatnya.

S-R Flip-flop

S-R adalah singkatan dari “Set” dan “Reset”. Sesuai dengan namanya, S-R Flip-flop ini terdiri dari dua masukan (INPUT) yaitu S dan R.  S-R Flip-flop ini juga terdapat dua Keluaran (OUTPUT) yaitu Q dan Q’. Rangkaian S-R Flip-flop ini umumnya terbuat dari 2 gerbang logika NOR ataupun 2 gerbang logika NAND. Ada juga S-R Flip-flop yang terbuat dari gabungan 2 gerbang Logika NOR dan NAND.
Berikut ini adalah diagram logika NOR Gate S-R Flip-flop, NAND Gate S-R Flip-Flop dan Clocked S-R Flip-flop (gabungan gerbang logika NOR dan NAND).
Pengertian Flip-flop dan Jenis-jenisnya

D Flip-flop

D Flip-flop pada dasarnya merupakan modifikasi dari S-R Flip-flip yaitu dengan menambahkan gerbang logika NOT (Inverter)  dari Input S ke Input R. Berbeda dengan S-R Flip-flop, D Flip-flop hanya mempunyai satu Input yaitu Input atau Masukan D. Berikut ini diagram logika D Flip-flop.
D flip-flip
tk d

J-K Flip Flop

J-K Flip-flop juga merupakan pengembangan dari S-R Flip-flop dan paling banyak digunakan. J-K Flip-flop memiliki 3 terminal Input J, K dan CL (Clock). Berikut ini adalah diagram logika J-K Flip-flop.
JK Flip-flop
tk jk

T Flip-flip

T Flip-flop merupakan bentuk sederhana dari J-K Flip-flop. Kedua Input J dan K dihubungkan sehingga sering disebut juga dengan Single J-K Flip-Flop. Berikut ini adalah diagram logika T flip-flop.
T Flip-flop
tk t

Counter

Pengertian Counter  – Counter juga disebut pencacah atau penghitung yaitu rangkaian logika sekuensial yang digunakan untuk menghitung jumlah pulsa yang diberikan pada bagian masukan. Counter digunakan untuk berbagai operasi aritmatika, pembagi frekuensi, penghitung jarak (odometer), penghitung kecepatan (spedometer), yang pengembangannya digunakan luas dalam aplikasi perhitungan pada instrumen ilmiah, kontrol industri, komputer, perlengkapan komunikasi, dan sebagainya 
Counter tersusun atas sederetan flip-flop yang dimanipulasi sedemikian rupa dengan menggunakan peta Karnough sehingga pulsa yang masuk dapat dihitung sesuai rancangan. Dalam perancangannya counter dapat tersusun atas semua jenis flip-flop, tergantung karakteristik masing-masing flip-flop tersebut.
Dilihat dari arah cacahan, rangkaian pencacah dibedakan atas pencacah naik (Up Counter) dan pencacah turun (Down Counter). Pencacah naik melakukan cacahan dari kecil ke arah besar, kemudian kembali ke cacahan awal secara otomatis. Pada pencacah menurun, pencacahan dari besar ke arah kecil hingga cacahan terakhir kemudian kembali ke cacahan awal.

Tiga faktor yang harus diperhatikan untuk membangun pencacah naik atau turun yaitu (1) pada transisi mana Flip-flop tersebut aktif. Transisi pulsa dari positif ke negatif atau sebaliknya, 
(2) output Flip-flop yang diumpankan ke Flip-flop berikutnya diambilkan dari mana. Dari output Q atau Q, 
(3) indikator hasil cacahan dinyatakan sebagai output yang mana. Output Q atau Q. ketiga faktor tersebut di atas dapat dinyatakan dalam persamaan EX-OR.

Secara global counter terbagi atas 2 jenis, yaitu: Syncronus Counter dan Asyncronous counter. Perbedaan kedua jenis counter ini adalah pada pemicuannya. Pada Syncronous counter pemicuan flip-flop dilakukan serentak (dipicu oleh satu sumber clock) susunan flip-flopnya paralel. Sedangkan pada Asyncronous counter, minimal ada salah satu flip-flop yang clock-nya dipicu oleh keluaran flip-flop lain atau dari sumber clock lain, dan susunan flip-flopnya seri. Dengan memanipulasi koneksi flip-flop berdasarkan peta karnough atau timing diagram dapat dihasilkan counter acak, shift counter (counter sebagai fungsi register) atau juga up-down counter.
1). Synchronous Counter - Syncronous counter memiliki pemicuan dari sumber clock yang sama dan susunan flip-flopnya adalah paralel. Dalam Syncronous counter ini sendiri terdapat perbedaan penempatan atau manipulasi gerbang dasarnya yang menyebabkan perbadaan waktu tunda yang di sebut carry propagation delayPenerapan counter dalam aplikasinya adalah berupa chip IC baik IC TTL, maupun CMOS, antara lain adalah: (TTL) 7490, 7493, 74190, 74191, 74192, 74193, (CMOS) 4017,4029,4042,dan lain-lain. Pada Counter Sinkron, sumber clock diberikan pada masing-masing input Clock dari Flip-flop penyusunnya, sehingga apabila ada perubahan pulsa dari sumber, maka perubahan tersebut akan men-trigger seluruh Flip-flop secara bersama-sama.
Tabel Kebenaran untuk Up Counter dan Down Counter Sinkron 3 bit :
clip_image002Gambar rangkaian Up Counter Sinkron 3 bit
clip_image004
Gambar rangkaian Down Counter Sinkron 3 bitclip_image006
Rangkaian Up/Down Counter Sinkron
Rangkaian Up/Down Counter merupakan gabungan dari Up Counter dan Down Counter. Rangkaian ini dapat menghitung bergantian antara Up dan Down karena adanya input eksternal sebagai control yang menentukan saat menghitung Up atau Down. Pada gambar 4.4 ditunjukkan rangkaian Up/Down Counter Sinkron 3 bit. Jika input CNTRL bernilai ‘1’ maka Counter akan menghitung naik (UP), sedangkan jika input CNTRL bernilai ‘0’, Counter akan menghitung turun (DOWN).
Gambar rangkaian Up/Down Counter Sinkron 3 bit :
clip_image008
2). Asyncronous counter-Asyncronous counter tersusun atas flip-flop yang dihubungkan seri dan pemicuannya tergantung dari flip-flop sebelumnya, kemudian menjalar sampai flip-flop MSB-nya. Karena itulah Asyncronous counter sering disebut juga sebagai ripple-through counter. Sebuah Counter Asinkron (Ripple) terdiri atas sederetan Flip-flop yang dikonfigurasikan dengan menyambung outputnya dari yan satu ke yang lain. Yang berikutnya sebuah sinyal yang terpasang pada input Clock FF pertama akan mengubah kedudukan outpunyanya apabila tebing (Edge) yang benar yang diperlukan terdeteksi. Output ini kemudian mentrigger inputclock berikutnya ketika terjadi tebing yang seharusnya sampai. Dengan cara ini sebuah sinyal pada inputnya akan meriplle (mentrigger input berikutnya) dari satu FF ke yang berikutnya sehingga sinyal itu mencapau ujung akhir deretan itu. Ingatlah bahwa FF T dapat membagi sinyal input dengan faktor 2 (dua). Jadi Counter dapat menghitung dari 0 sampai 2” = 1 (dengan n sama dengan banyaknya Flip-flop dalam deretan itu).
Tabel Kebenaran dari Up Counter Asinkron 3-bit
clip_image010
Gambar rangkaian Up Counter Asinkron 3 bit :
clip_image012
Timing Diagram untuk Up Counter Asinkron 3 bit :
clip_image014
Berdasarkan bentuk timing diagram di atas, output dari flip-flop C menjadi clock dari flip-flop B, sedangkan output dari flip-flop B menjadi clock dari flip-flop A. Perubahan pada negatif edge di masing-masing clock flip-flop sebelumnya menyebabkan flip-flop sesudahnya berganti kondisi (toggle), sehingga input-input J dan K di masing-masing flip-flop diberi nilai ”1” (sifat toggle dari JK flip-flop).
Counter Asinkron Mod-N-Counter Mod-N adalah Counter yang tidak 2n. Misalkan Counter Mod-6, menghitung : 0, 1, 2, 3, 4, 5. Sehingga Up Counter Mod-N akan menghitung 0 s/d N-1, sedangkan Down Counter MOD-N akan menghitung dari bilangan tertinggi sebanyak N kali ke bawah. Misalkan Down Counter MOD-9, akan menghitung : 15, 14, 13, 12, 11, 10, 9, 8, 7, 15, 14, 13,..
Gambar rangkaian Up Counter Asinkron Mod-6
clip_image016
Sebuah Up Counter Asinkron Mod-6, akan menghitung : 0,1,2,3,4,5,0,1,2,… Maka nilai yang tidak pernah dikeluarkan adalah 6. Jika hitungan menginjak ke-6, maka counter akan reset kembali ke 0. Untuk itu masing-masing Flip-flop perlu di-reset ke nilai ”0” dengan memanfaatkan input-input Asinkron-nya (clip_image018dan clip_image020). Nilai ”0” yang akan dimasukkan di PC didapatkan dengan me-NAND kan input A dan B (ABC =110 untuk desimal 6). Jika input A dan B keduanya bernilai 1, maka seluruh flip-flop akan di-reset.
Gambar rangkaian Up/Down Counter Asinkron 3 bit
clip_image022
Rangkaian Up/Down Counter merupakan gabungan dari Up Counter dan Down Counter. Rangkaian ini dapat menghitung bergantian antara Up dan Down karena adanya input eksternal sebagai control yang menentukan saat menghitung Up atau Down. Pada rangkaian Up/Down Counter ASinkron, output dari flip-flop sebelumnya menjadi input clock dari flip-flop berikutnya.
Perancangan Counter
Perancangan counter dapat dibagi menjadi 2, yaitu dengan menggunakan peta Karnough, dan dengan diagram waktu. Berikut ini akan dijelaskan langkah-langkah dalam merancang suatu counter.
a). Perancangan Counter Menggunakan Peta Karnaugh
Umumnya perancangan dengan peta karnaugh ini digunakan dalam merancang syncronous counter. Langkah-langkah perancangannya:
a. Dengan mengetahui urutan keluaran counter yang akan dirancang, kita tentukan masukan masing-masing flip-flop untuk setiap kondisi keluaran, dengan menggunakan tabel kebalikan.
b. Cari fungsi boolean masing-masing masukan flip-flop dengan menggunakan peta Karnough. Usahakan untuk mendapatkan fungsi yang sesederhana mungkin, agar rangkaian counter menjadi sederhana.
c. Buat rangkaian counter, dengan fungsi masukan flip-flop yang telah ditentukan. Pada umumnya digunakan gerbang-gerbang logika untuk membentuk fungsi tersebut.
b). Perancangan Counter Menggunakan Diagram Waktu
Umumnya perancangan dengan diagram waktu digunakan dalam merancang asyncronous counter, karena kita dapat mengamati dan menentukan sumber pemicuan suatu flip-flop dari flip-flop lainnya. Adapun langkah-langkah perancangannya:
1) Menggambarkan diagram waktu clock, tentukan jenis pemicuan yang digunakan, dan keluaran masing-masing flip-flop yang kita inginkan. Untuk n kondisi keluaran, terdapat njumlah pulsa clock.
2) Dengan melihat keluaran masing-masing flip-flop sebelum dan sesudah clock aktif (Qn dan Qn+1), tentukan fungsi masukan flip-flop dengan menggunakan tabel kebalikan.
3) Menggambarkan fungsi masukan tersebut pada diagram waktu yang sama.
4) Sederhanakan fungsi masukan yang telah diperoleh sebelumnya, dengan melihat kondisi logika dan kondisi keluaran flip-flop. Untuk flip-flop R-S dan J-K kondisi don’t care (x) dapat dianggap sama dengan 0 atau 1.
5) Tentukan (minimal satu) flip-flop yang dipicu oleh keluaran flip-flop lain. Hal ini dapat dilakukan dengan mengamati perubahan keluaran suatu flip-flop setiap perubahan keluaran flip-flop lain, sesuai dengan jenis pemicuannya.

6) Buat rangkaian counter, dengan fungsi masukan flip-flop yang telah ditentukan. Pada umumnya digunakan gerbang-gerbang logika untuk membentuk fungsi tersebut.

Interrupt driven I/O

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.

Sistem Bilangan


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 :



I/O Terprogram (programmed I/O)

 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.