translate

English French German Spain Italian Dutch

Russian Portuguese Japanese Korean Arabic Chinese Simplified
klik lalu pilih negara bahasa kamu

Wednesday, May 6, 2020

Eksternal dan Peripheral


Perangkat Eksternal dan Peripheral
Pengertian Eksternal
Eksternal adalah hardware tambahan yang disambungkan ke komputer, biasanya dengan bantuan kabel ataupun sekarang sudah banyak perangkat peripheral wireless. Peripheral ini bertugas membantu komputer menyelesaikan tugas yang tidak dapat dilakukan oleh hardware yang sudah terpasang didalam casing.
  • Peripheral utama (main peripheral)
Yaitu peralatan yang harus ada dalam mengoperasikan komputer. Contoh peripheral utama yaitu: monitor, keyboard dan mouse.
  • Peripheral pendukung (auxillary peripheral)
Yaitu peralatan yang tidak mesti ada dalam mengoperasikan komputer tetapi diperlukan untuk kegiatan tertentu. Contohnya yaitu: printer, scanner, modem, web cam, dan lain-lain.
Pengertian Peripheral
Perangkat Peripheral adalah sebuah perangkat tambahan yang digunakan untuk memasukan inputan memproses atau mengeluarkan output dari komputer. Perangkat ini biasanya terhubung ke komputer, akan tetapi bukan merupakan perangkat inti dari komputer. Jadi apabila perangkat Peripheral tidak dihubungkan dengan komputer, komputer masih bisa menjalankan fungsi – fungsinya.
Perangkat Peripheral tidak dapat menjalankan fungsinya. apabila komputer tersebut tidak dihubungkan ke komputer, dan biasanya perangkat ini berada di dalam dan di luar case komputer. Jadi apabila sobat komputer menemukan perangkat – perangkat seperti dijelaskan diatas, perangkat tersebut bisa disebut dengan perangkat Peripheral.
A. Peripheral Input

    Peripheral Input (Perangkat Input) adalah perangkat yang digunakan untuk memasukkan data atau perintah ke dalam komputer. Perangkat tersebut antara lain keyboard,mouse, touchscreen, barcode reader, image scanner, webcam dan lain sebagainya.

1. Keyboard


    Penciptaan keyboard komputer diilhami oleh penciptaan mesin ketik yang dasar rancangannya di buat dan dipatenkan oleh Cristopher Latham pada tahun 1868 dan banyak dipasarkan pada tahun 1877 oleh Perusahaan Remington.
    Keyboard komputer pertama disesuaikan dari kartu berlubang (punched card) dan teknologi pengiriman tulisan jarak jauh (Teletype), Tahun 1946 komputer ENIAC menggunakan alat untuk membaca kartu berlubang (punched card reader) sebagai alat input dan output.
    Keyboard merupakan sebuah papan yang terdiri dari tombol-tombol untuk mengetikkan kalimat dari simbol-simbol khusus lainnya pada komputer. Keyboard dalam bahasa Indonesia artinya papan tombol jari atau papan tuts. Pada keyboard terdapat tombol-tombol huruf A-Z, a-z, angka 0-9, tombol dari karakter khusus seperti: `~@#$%^&*()_-+=<>/,.?:;"'\| serta tombol-tombol khusus lainnya yang jumlah seluruhnya adalah 104 tuts. Sedangkan pada mesin ketik biasa jumlah tutsnya hanya 52 tuts. Bentuk keyboard umumnya persegi panjang, tetapi saat ini model keyboard sangat variatif.

2. Mouse
 
    
Mouse merupakan perangkat keras yang digunakan untuk memasukkan data dengan cara menekan tombol klik. Pada mouse secara umum terdiri dari dua tombol eksekusi dan satu scroll. Pada layar monitor akan tampak lambang mouse yang disebut dengan pointer. Mouse biasanya digunakan di atas permukaan yang rata. Apabila mouse digerakkan ke sebuah kanan, secara otomatis pointer akan bergerak ke kanan.
Begitu juga sebaliknya.

3. Touchscreen


    Touch screen disebut juga layar sentuh adalah layar monitor yang dapat berinteraksi dengan user melalui sentuhan tangan pada layarnya. Sensor pada touchscreen disebut juga touch sensor berupa sebuah panel dari kaca yang permukaannya mampu untuk menangkap respon terhadap suatu sentuhan pada media tersebut.
    Handphone layar sentuh sudah banyak digunakan oleh kebanyakan orang pada masa sekarang, karena dapat mempermudah seseorang dalam melakukan pengoperasian handphone tersebut. Begitu pula dengan monitor touch screen akan mempermudah seseorang dalam menjalankan suatu program yang dapat berinteraksi langsung dengan kita.
    Keunggulan Produk Touch screen dapat digunakan sebagai alat informasi, promosi produk, atau buku tamu dengan program interaktif. Selain itu dengan bantuan flash player untuk menjalankan file swf, maka touchscreen juga dapat digunakan sebagai pemetaan, game interaktif, dll. Terlepas dari fungsi utamanya, dengan bantuan software Digital Guest Book touchscreen dapat pula dikembangkan menjadi suatu alternative pengganti guest book/buku tamu manual, yang disertai dengan database.

4. Barcode Reader


    Barcode reader merupakan alat yang digunakan untuk membaca kode barcode. Barcode reader dapat dengan mudah kita jumpai di supermarket atau toko-toko. Sedangkan barcode dapat kita temui pada barang-barang yang kita gunakan sehari-hari. Misalnya seperti pada pasta gigi, sabun, makanan ringan dan lain-lain.
    Barcode dibedakan menjadi 2 (dua) jenis barcode yaitu barcode 1 (satu) dimensi, dan barcode 2 (dua) dimensi.

  • Barcode 1 (satu) dimensi terdiri dari garis-garis yang berwarna putih dan hitam. Warna putih untuk nilai 0, dan warna hitam untuk nilai 1.
  • Barcode 2 (dua) dimensi sudah tidak berupa garis-garis lagi, akan tetapi sudah seperti gambar. Jadi, informasi yang tersimpan di dalamnya akan lebih besar. Kode yang dibuat bisa bebas, asalkan hanya digunakan pada sistem di suatu tempat seperti perpustakaan. Namun untuk produk yang akan diedarkan dipasaran, maka harus terlebih dahulu ke GSI agar tidak sama dengan produk yang lain.
5. Image Scanner


     Image scanner atau biasa disebut scanner adalah suatu alat elektronik yang fungsinya mirip dengan mesin fotokopi. Mesin fotokopi hasilnya dapat langsung dilihat pada kertas sedangkan scanner hasilnya ditampilkan pada layar monitor komputer, kemudian dapat dimodifikasi sehingga tampilan dan hasilnya menjadi bagus. Proses berikutnya adalah mengedit kemudian mencetak.
    Bentuk dan ukuran scanner bermacam-macam, ada yang besarnya seukuran dengan kertas folio ada juga yang seukuran pos, bahkan yang terbaru, bentuknya menyerupai sebuah pena. Scanner berukuran pena tersebut bisa, menyimpan hingga 1.000 halaman teks cetak dan kemudian mentransfernya ke sebuah komputer pribadi (PC). Scanner berukuran pena tersebut dinamakan Quicklink. Pena scanner itu berukuran panjang enam inci dan beratnya sekitar tiga ons.

6. Webcam


    Webcam (Web Camera) merupakan perangkat sederhana berupa alat perekam atau kamera mini yang terhubung dengan internet. Webcam berfungsi untuk mendukung berbagai kegiatan internet menggunakan kamera. Webcam sebagai salah satu perangkat keras multimedia dapat digunakan dengan cara menyampaikan gambar menyampaikan gambar pada komputer yang dihubungkan dengan kabel USB atau secara otomatis tersambung pada bagian komputer.
    Webcam memberikan kemudahan bagi para penggunanya untuk melakukan komunikasi jarak jauh dimanapun seseorang berada. Dengan syarat kedua pengguna yang akan melakukan komunikasi jarak jauh tersebut sama-sama menggunakan webcam dan komputer yang digunakan telah memiliki fitur yang didukung dengan perangkat bawaan yang memungkinkan untuk melakukan komunikasi jarak jauh ini. Sebagai contoh para pengguna chatting yang akan melakukan video call, atau pengguna internet yang gemar mengupload foto ke dalam social media.
    Software-software yang paling banyak digunakan adalah Yahoo Messanger, Windows Live Messanger, dan AOL Instant Messanger. Selain itu juga terdapat software bawaan yang diaplikasikan secara langsung pada netbook dan laptop antara lain Cyberlink YouCam.

B. Peripheral Output

    Periperal Output (perangkat keluaran), adalah perangkat yang digunakan untuk menampilkan hasil pengolahan data atau perintah yang dilakukan oleh komputer. Perangkat tersebut antara lain monitor, LCD, printer, plotter, dan lain sebagainya.

1. Monitor

    Monitor komputer disebut juga VDU (Visual Display Unit). Monitor komputer merupakan alat yang mampu menampilkan teks maupun gambar dari data yang sedang diproses dalam CPU. Bentuk monitor komputer hampir menyerupai televisi.
    Untuk saat ini monitor komputer terdiri atas beberapa jenis, di antaranya:

a. Monitor Tabung Layar Cembung

    Di dalam monitor layar cembung biasanya menggunakan tabung sinar katoda. Tabung sinar katoda (bahasa Inggris: Cathode Ray Tube atau CRT), ditemukan oleh Karl Ferdinand Braun, merupakan sebuah tabung penampilan yang banyak digunakan dalam layar komputer, monitor video, televisi, dan oskiloskop. CRT dikembangkan dari hasil kerja Philo Farnsworth yang digunakan dalam seluruh pesawat televisi sampai akhir abad 20. Tampilan tabung merupakan dasar perkembangan dari layar plasma, LCD, dan bentuk teknologi TV ianinya.

b. Monitor LCD

    LCD (Liquid Crystal Display) atau tampilan kristal cair mulai banyak digunakan oleh pengguna komputer. LCD adalah suatu jenis media tampilan yang menggunakan kristal cair sebagai penampil utama. Tampilan kristal cair sudah digunakan di berbagai bidang misalnya dalam alat-alat elektronik seperti televisi, kalkulator ataupun layar komputer.
    Pada tampilan kristal cair berwarna terdapat banyak sekali titik cahaya (pixel) yang terdiri atas satu buah kristal cair sebagai sebuah titik cahaya. Walau disebut sebagai titik cahaya, tetapi kristal cair ini tidak memancarkan cahaya sendiri. Sumber cahaya dalam sebuah perangkat CD adalah lampu neon berwarna putih di bagian belakang susunan kristal cair tadi.
    Titik cahaya yang jumlahnya puluhan ribu bahkan jutaan inilah yang membentuk tampilan citra. Kutub kristal cair yang dilewati arus listrik akan berubah karena pengaruh polarisasi medan magnetik yang timbul. Oleh karenanya, hanya akan ada beberapa warna yang diteruskan, sedangkan warna lainnya tersaring.

2. Printer

    Printer adalah alat yang menampilkan data dalam bentuk cetakan, baik berupa teks maupun gambar atau grafik pada kertas. Printer biasanya terbagi atas beberapa bagian, yaitu picker sebagai alat mengambil kertas dari tray. Tray ialah tempat menaruh kertas. Tinta atau toner adalah alat pencetak sesungguhnya, karena ada sesuatu yang disebut tinta atau toner yang digunakan untuk menulis pada kertas. Perbedaan toner dan tinta ialah perbedaan sistem. Toner atau laser butuh pemanasan, sedangkan tinta atau inkjet tidak butuh pemanasan, hanya pembersihan atau cleaning pada print headnya. Sebelum dapat digunakan, perangkat lunak pencetak harus terlebih dahulu diinstal ke dalam sistem komputer.

3. Plotter

    Plotter merupakan jenis printer yang dirancang secara khusus guna menghasilkan output komputer yang berupa gambar ataupun grafik. Dengan menghubungkan plotter pada sistem komputer, maka pelbagai bentuk gambar akan dapat disajikan dengan baik. Plotter berguna untuk menghasilkan gambar landscape, ataupun untuk membantu memvisualisasikan efek dari segala kegiatan yang ada.

C. Peripheral Storage

  • External Harddisk, adalah tempat media penyimpanan data berupa tulisan, gambar, software, dll.Hard disk eksternal media penyimpanan yang di hubungan ke PC
dekstop atau laptop dengan kabel USB.
  • Flash Disk, adalah alat penyimpan data/file yang berupa NAND. Di dalam perangkat ini, tertanam controller dan memori penyimpan data yang bersifat non–volatile alias tidak akan
    hilang meskipun tidak terdapat daya listrik.
  • Disk Drive, adalah bentuk penyimpanan permanen, bertentangan dengan memori sementara
    seperti memori random-akses (RAM).
d. Peripheral Input Output
  • Modem, mengubah sinyal analog menjadi sinyal digital dan mengubah sinyal digital menjadi analog dari kabel telepon sehingga komputer dapat terhubung dengan  ternet.
  • NIC (Network interface controller), adalah sebuah kartu yang berfungsi sebagai
jembatan dari komputer ke sebuah jaringan komputer.

Sunday, May 3, 2020

MIKROKONTROLLER

TEORI DASAR MIKROKONTROLLER

 
Pengenalan Mikrokontroller

Mikrokontroler, sebagai suatu terobosan teknologi mikroprosesor dan mikrokomputer, hadir memenuhi kebutuhan pasar (market need) dan teknologi baru. Sebagai teknologi baru, yaitu teknologi semikonduktor dengan kandungan transistor yang lebih banyak namun hanya membutuhkan ruang yang kecil serta dapat diproduksi secara masal (dalam jumlah banyak) membuat harganya menjadi lebih murah (dibandingkan mikroprosesor). Sebagai kebutuhan pasar, mikrokontroler hadir untuk memenuhi selera industri dan para konsumen akan kebutuhan dan keinginan alat-alat bantu bahkan mainan yang lebih baik dan canggih.

Tidak seperti sistem komputer, yang mampu menangani berbagai macam program aplikasi (misalnya pengolah kata, pengolah angkadan lain sebagainya), mikrokontroler hanya bisa digunakan untuk suatu aplikasi tertentu saja (hanya satu program saja yang bisa disimpan). Perbedaan lainnya terletak pada perbandingan RAM dan ROM. Pada sistem komputer perbandingan RAM dan ROM-nya besar, artinya program-program pengguna disimpan dalam ruang RAM yang relatif besar, sedangkan rutin-rutin antarmuka perangkat keras disimpan dalam ruang ROM yang kecil. Sedangkan pada Mikrokontroler, perbandingan ROM dan RAM- nya yang besar, artinya program kontrol disimpan dalam ROM (bisa Masked ROM atau Flash PEROM) yang ukurannya relatif lebih besar, sedangkan RAM digunakan sebagai tempat penyimpan sementara, termasuk register-register yang digunakan pada mikrokontroler yang bersangkutan. Adapun kelebihan dari mikrokontroller adalah sebagai berikut :

1.Penggerak pada mikrokontoler menggunakan bahasa pemograman assembly dengan berpatokan pada kaidah digital dasar sehingga pengoperasian sistem menjadi sangat mudah dikerjakan sesuai dengan logika sistem (bahasa assembly ini mudah dimengerti karena menggunakan bahasa assembly aplikasi dimana parameter input dan output langsung bisa diakses tanpa menggunakan banyak perintah). Desain bahasa assembly ini tidak menggunakan begitu banyak syarat penulisan bahasa pemrograman seperti huruf besar dan huruf kecil untuk bahasa assembly tetap diwajarkan.

2. Mikrokontroler tersusun dalam satu chip dimana prosesor, memori, dan I/O terintegrasi menjadi satu kesatuan kontrol sistem sehingga mikrokontroler dapat dikatakan sebagai komputer mini yang dapat bekerja secara inovatif sesuai dengan kebutuhan sistem.

3. Sistem running bersifat berdiri sendiri tanpa tergantung dengan komputer sedangkan parameter komputer hanya digunakan untuk download perintah instruksi atau program. Langkah-langkah untuk download komputer dengan mikrokontroler sangat mudah digunakan karena tidak menggunakan banyak perintah.

4.Pada mikrokontroler tersedia fasilitas tambahan untuk pengembangan memori dan I/O
yang disesuaikan dengan kebutuhan sistem.

5. Harga untuk memperoleh alat ini lebih murah dan mudah didapat.

Unit Mikrokontroller

Terdapat beberapa anggotanya mempunyai internal memory, salah satunya adalah mikrokontroller AT89C51 yang merupakan versi EEPROM dari 80C51 dimana memory internal ini dapat diprogram dan dihapus secara elektrik diproduksi oleh ATMEL Corporation. AT89C51 dibuat compatible dengan sel instruksi dan pin keluaran standar industri MCS-51 yang memiliki 4Kbyte RAM internal dengan teknologi flas EEPROM yang dapat menyimpan data meskipun catu daya dimatikan. DT-51 merupakan development tools yang terdiri dari 2 bagian terintegrasi yaitu perangkat keras dan perangkat lunak. Komponen utama perangkat keras DT-51 ialah mikrokontroler AT89C51 yang merupakan salah satu turunan keluarga MCS-51 Intel dan telah menjadi salah satu standar industri dunia. Selain mikrokontroler, DT-51 dilengkapi pula dengan EEPROM yang memungkinkan DT-51 bekerja dalam mode stand-alone (bekerja sendiri tanpa komputer). Selain komponen-komponen tersebut masih banyak fungsi lain pada DT-51, antara lain : timer, counter, RS-232 serial port, Programmable Perangkat Interface (PPI), serta LCD port. Perangkat lunak DT-51 terdiri dari Downloader DT51L dan Debugger DT51D. Downloader berfungsi untuk mentransfer user program dari PC (Portable Computer) ke DT-51, sedangkan debugger akan membantu user untuk melacak kesalahan program.
Spesifikasi DT-51
1. Berbasis mikrokontroler 89C51 yang berstandar industri.
2. Serial port interface standar RS-232 untuk komunikasi antara komputer dengan board DT-51.
3. 8 Kbytes non-volatile memory (EEPROM) untuk menyimpan program dan data.
4. 4 port input output (I/O) dengan kapasitas 8 bit tiap portnya.
5. Port Liquid Crystal Display (LCD) untuk keperluan tampilan.
6. Konektor ekspansi untuk menghubungkan DT-51 dengan add-on board yang kampatibel dari
Innovative Electronics.

1. Mikrokontroller AT89C51

Mikrokontroler adalah sebuah chip yang berfungsi sebagai pengontrol rangkaian elektronik dan umunya dapat menyimpan program didalamnya. Mikrokontroler umumnya terdiri dari CPU (Central Processing Unit), memori, I/O tertentu dan unit pendukung seperti Analog-to-Digital Converter (ADC) yang sudah terintegrasi di dalamnya. Kelebihan utama dari mikrokontroler ialah tersedianya RAM dan peralatan I/O pendukung sehingga ukuran board mikrokontroler menjadi sangat ringkas. Mikrokontroler AT89C51 ialah mikrokomputer CMOS 8 bit dengan 4 KB Flash PEROM (Programmable and Erasable Only Memory) yang dapat dihapus dan ditulisi sebanyak 1000 kali. Mikrokontroler ini diproduksi dengan menggunakan teknologi high density non-volatile memory Atmel. Flash PEROM on-chip tersebut memungkinkan memori program untuk diprogram ulang dalam sistem (in-system programming) atau dengan menggunakan programmer non-volatile memory konvensional. Kombinasi CPU 8 bit serba guna dan Flash PEROM, menjadikan mikrokontroler AT89C51 menjadi microcomputer handal yang fleksibel. Karakteristik lainya dari mikrokontroler AT89C51 sebagai berikut :
- Low-power
- 32 jalur masukan/keluaran yang dapat diprogram*
- Dua timer counter 16 bit
- RAM 128 byte
- Lima interrupt Arsitektur perangkat keras 89C51 mempunyai 40 kaki, 31 kaki digunakan untuk keperluan 4 buah port pararel. 1 port terdiri dari 8 kaki yang dapat di hubungkan untuk interfacing ke pararel device, seperti ADC, sensor dan sebagainya, atau dapat juga
digunakan secara sendiri setiap bitnya untuk interfacing single bit septerti switch, LED, dll.

Fungsi dari mikrokontroler AT89C51 secara keseluruhan dapat digambarkan yaitu sebagai
berikut :
Pin 1 sampai 8
Adalah kelompok pin untuk port 1. Port 1 ini merupakan port I/O dua arah yang digunakan untuk penghubungan dengan peralatan luar.
Pin 9
Adalah masukan reset. Dimana ketika ada masukan sinyal dalam waktu tertentu pada pin ini,
mikrokontroler akan di reset.
Pin 10 sampai 17
Adalah port 3 yang juga merupakan port I/O.
Pin 18
Adalah XTAL 2 yaitu untuk keluaran dari inverting oscillator amplifier. XTAL 2 digunakan
untuk pewaktuan mikrokontroler.
Pin 19
Adalah XTAL 1 yaitu masukan untuk inverting oscillator amplifier dan masukan untuk rangkaian
sumber detak (clock).
Pin 20
Adalah ground dan diberi simbol gnd. Pin ini terhubung dengan jalur netral/ground dari rangkaian
pengatur daya.
Pin 21 sampai 28
Adalah port 2 yang juga sebagai port I/O.
Pin 29
Adalah Program Store Enable ( ), yaitu masukan sinyal baca untuk memori program eksternal agar masuk ke dalam bus selama proses pemberian/pengambilan instruksi (fetching).
Pin 30
Adalah Address Latch Enable (ALE) yaitu keluaran yang menghasilkan pulsa-pulsa untuk mengancing byte rendah alamat selama mengakses eksternal. Selain itu pin ini juga berfungsi sebagai atau masukan pulsa program selama pemograman.
Pin 31
Adalah External Acces Enable ( ) yang merupakan sinyal kontrol untuk pembacaan memori program. Apabila diset rendah (L) maka mikrokontroler akan melaksanakan seluruh instruksi dari memori program eksternal, sedangkan jika diset tinggi (H) maka mikrokontroler akan melaksanakan instruksi dari memori program internal ketika isi program kurang dari 4096. Port ini juga berfungsi sebagai tegangan pemograman (Vpp = + 12V) selama proses pemograman.
Pin 32 sampai 39
Adalah merupakan port 0 dan berfungsi sebagai I/O.
Pin 40
Adalah Vcc atau sumber tegangan. Pin ini dihubungakan dengan jalur positif dari rangkaian
pengatur daya.

Organisai Memori Mikrokontroller AT89C51

AT89C51 yang merupakan versi EEPROM dari 8051yang program memorinya dapat diprogram dan dihapus secara elektrik. AT89C51 mempunyai lokasi alamat yang terpisah untuk program memori dan data memori .Pemisahan memori program dan data tersebut membolehkan memori data diakses dengan alamat 8 bit, sehingga dapat dengan cepat dan mudah disimpan dan dimanipulasi oleh CPU 8 bit. Namun demikian, alamat memori data 16-bit bisa juga dihasilkan melalui register DPTR.


Memori Program

Memori program hanya bisa dibaca saja karena bersifat sebagai ROM. Memori ini disimpan dalam Flash PEROM. Memori program yang bisa diakses langsung hingga 64 Kbyte. Pada gambar emori program terdapat strobe (tanda) untuk akses memori program eksternal melalui sinyal (Program Strobe Enable). Mikrokontroler AT89C51 mempunyai 4 Kbyte memori program internal. Bila memakai memori program eksternal, maka pin ` ’ diberi logika Low. Apabila ingin memakai emori program internal pin diberi logika High.

Memori Data

Memori data menempati ruang alamat terpisah. Memori eksternalnya dapat diakses secara langsung hingga 64 Kbyte. CPU akan memberikan sinyal baca dan tulis selama mengakses memori data eksternal.Gambar menampilkan ruang alamat memori data internal dan eksternal. Perincian ruang memori data internal seperti gambar 2.5. dibagi menjadi tiga blok yaitu, 128 lower, 128 upper, dan Register Fungsi Khusus (Special Function Register = SFR). Pengaksesan langsung dengan alamat diatas 7FH mengakses suatu memori, sedangkan pengaksesan tak langsung dengan alamat di atas 7FH mengakses ruang memori lain yang berbeda. Pada memori data internal 128 byte lower terdapat empat bank dan delapan register (Ro...R7).

Pengalamatan langsung dari 80H sampai FFH tergolong dalam SFR. Berikut fungsi yang terdapat dalam SFR. 1. Program Status Word (PSW) PSW berisi bit-bit status yang berkaitan dengan kondisi CPU saat itu. PSW terletak dalam ruang SFR pada lokasi D0H.
1. Akumulator
ACC atau akumulator menempati lokasi E0H dan digunakan sebagai register untuk penyimpanan data sementara dalam program.
2. Register B
Register B terletak pada lokasi F0H. Register ini digunakan selama operasi perkalian dan pembagian. Saat intstruksi MUL AB terjadi perkalian antara akumulator dengan data yang tersimpan dalam register B dan hasilnya 16 bit disimpan dalam register B dan akumulator (A). Instruksi DIV AB melakukan pembagian antara akumulator dengan data yang tersimpan dalam register B.
3. Stack Pointer (SP)
Register SP terletak pada lokasi 81H. SP merupakan register dengan panjang 8 bit dan
digunakan dalam proses simpan dan ambil dari/ke stack.
4. Data Pointer
Register Data Pointer atau DPTR mengandung byte tinggi (DPH) dan byte rendah (DPL) masing- masing berada di lokasi 83H dan 82H. DPTR dapat dimanipulasi sebagai dua register 8 bit yang terpisah.
5. Port 0, Port 1, Port 2, Port 3
P0, P1, P2, P3 masing-masing menempati lokasi 80H, 90H, A0H, dan B0H.
6. Register Kontrol (Control Register)
Pada register kontrol terdapat TMOD sebagai pewaktu.
7. Timer Register
Timer register merupakan register pencacah 16 bit. Timer 0 high dan timer 0 low terdapat pada masing-masing 8CH dan 8AH. Timer 1 high dan Timer 1 low terdapat dilokasi 8DH dan 8BH.

Memori Eksternal

Selain PEROM dan internal RAM yang terdapat pada mikrokontroler AT89C51, DT51 juga mempunyai memori eksternal berjenis EEPROM (Electrically Erasable Programmable Read Only Memory). Sesuai dengan namanya maka EEPROM dapat ditulis dan dihapus secara elektrik, mirip seperti RAM namun bersifat non volatile sehingga data yang tersimpan dalam EEPROM tidak hilang meskipun catu daya dimatikan. AT28C64B adalah suatu memori eksternal seperti yang digunakan sebagai tambahan dalam menyimpan program dan data. Pada pengaksesannya baik dalam menulis dan membaca, memori ini tidak membutuhkan komponen luar. Didalamnya terdiri dari suatu halaman register 64 byte untuk penulisan. Memori AT28C64B memiliki 28 pin yang terdiri dari 13 pin pengalamatan, 8 pin I/O data dan 3 pin inisialisasi, serta 2 pin untuk Vcc dan ground, sedangkan 2 pin lainnya tidak dihubungkan.

Memory (EEPROM) AT28C64B.

Untuk penggunaan memori ini seperti telah disinggung diatas, dilakukan dari mikrokontroler. Sebagai memori program, pengaturan dilakukan dari mikrokontroler pada pin ALE, pin dan pin . Pin ALE sebagai pengunci alamat, pin berfungsi untuk menentukan pengambilan instruksi. Jika disambung pada Vcc, maka mikrokontroler mengambil instruksi dari memori internal, dan bila tersambung pada ground maka pengambilan instruksi dari memori eksternal.

Sedangkan untuk inisialisasi pengambilan program dari memori ekternal diatur pada pin . Sama dengan memori internal, program hanya dapat dibaca. Penggunaan sebagai memori data, dilakukan pada pin dan pin . Pin untuk penulisan data dan pin untuk pembacaan data.

Set Instruksi

Ada beberapa instruksi yang dikenal oleh mikrokontroler AT89C51 yaitu:
Instruksi aritmetika
Intruksi logika dan manipulasi bit
Instruksi transfer data
Instruksi percabangan

Instruksi-instruksi tersebut dijelaskan berikut ini.
Instruksi Aritmetika
Intruksi aritmetika mencakup penambahan (ADD), pengurangan (SUBB), perkalian (MUL), dan pembagian (DIV).
1. Penambahan (ADD)
Instruksi ini menjumlahkan suatu data dengan isi akumulator dan hasilnya disimpan dalam akumulator.
Operasi ADD : A←A+data
2. Pengurangan (SUBB)
Instruksi ini mengurangkan isi akumulator dengan isi carry flag dan isi data.
Operasi SUBB : A←A-C-data
3. Perkalian (MUL)
Instruksi ini mengalikan isi akumulator dengan isi register B.
Operasi MUL : AB←A*B
4. Pembagian (DIV)
Instruksi ini akan membagi isi register akumulator dengan isi register B.
Operasi DIV : AB←A/B
5. Penambahan satu (INC)
Proses ini menambahkan satu pada isi suatu register atau memori.
Operasi INC A : AB←A+B
6. Pengurangan Satu (DEC)
Proses ini kebalikan dari proses pengurangan satu.
Instruksi Logika Dengan Manipulasi Bit
Instruksi logika dan manipulasi bit terdiri dari :
1. Logika AND (ANL)
Instruksi ini melakukan proses logika AND antara suatu register dengan register, register
dengan data, carry flag dengan suatu alamat, dan lain- lain.

Sebagai contoh, misalnya akumulator berisi 1011 1011B dan register R0 berisi 0100 1100B
dengan instruksi ANL A, R0 menyebabkan isi akumulator menjadi sebagai berikut :
A : 1011 1011
B : 0100 1100
00001000→ akumulator akan berisi 00001000B atau 08H
Format instruksi AND :
ANL A, @Rr
ANL A, #data
ANL alamat data, A
ANL alamat, #data
2. Logika OR (ORL)
Instruksi ini melakukan logika OR antara suatu register dengan register, register dengan data, carry
flag dengan isi suatu alamat bit.
Tabel4. Operasi OR
Format instruksi OR:
ORL A, @Rr
ORL A, #data
ORL alamat data, A
ORL A, alamat data
3. Logika NOT (CPL)
Instruksi ini melakukan proses logika NOT pada suatu register, carry flag, atau isi suatu alamat bit.
Format instruksi NOT:
CPL A
CPL alamat bit
4. Logika EXOR (XRL)
Instruksi ini melakukan proses logika exlusive-OR antara register dengan register, register
dengan data, dan lain-lain.
5. Manipulasi Pengesetan (CLR)
Instruksi ini menyebabkan suatu bit menjadi reset atau nol Format instruksi CLR :
CLR A
CLR alamat bit
6. Manipulasi Bit Pengesetan (SETB)
Instruksi ini akan mengeset bit yang dimaksud (atau 1)
Format instruksi SETB :
SETB C
SETB bit
7. Manipulasi Bit Pengisian (MOV)
Instruksi ini akan mengisi suatu data dalam bentuk byte. Format instruksi MOV :
MOV @Rr, A
MOV A, @Rr
MOV @Rr, #data
MOV @Rr, alamat data
MOV A, alamat data
8. Manipulasi Lompat
Program counter akan meloncat ke alamat yang dikehendaki. Format instruksinya :
JC alamat kode
JNC alamat kode
Instruksi Transfer Data
Kelompok instruksi ini digunakan untuk memindahkan data antara :
1. register-memori
2. antarmuka-register
3. antarmuka-memori
Contoh :
MOV A, R0 : Pindahkan isi register R0 ke akumulator.
MOV A, @R0 : Pindahkan isi memori yang alamatnya ditunjukkan oleh
register R0 ke akumulator.
MOV A, P3 : Pindahkan isi port 3 ke akumulator.

Instruksi Percabangan
Instruksi percabangan ini dibagi dua yaitu percabangan dengan syarat dan percabangan tanpa syarat. Percabangan dengan syarat terdiri atas :
CJNE
Instruksi ini akan membandingkan isi register atau isi memori dengan suatu data. Bila hasil perbandingan itu sama, instruksi selanjutnya yang akan dituju. Bila tidak sama, instruksi yang ditunjuk oleh label yang akan dilaksanakan.
Format instruksi CJNE :
CJNE A, @Rr
DJNZ
Instruksi ini akan mengurangi isi register atau memori dengan satu. Bila sudah 0, instruksi selanjutnya akan dilaksanakan dan bila belum 0 instruksi dilanjutkan ke label.
Format instruksi DJNZ :
DJNZ Rr, alamat kode
DJNZ alamat data, alamat kode
JBC
Instruksi ini akan menguji suatu alamat bit. Apabila alamat bit berisi 1 (set) bit tersebut akan diclear dan selanjutnya program menuju tabel. Bila alamat bit berisi 0, instruksi selanjutnya yang akan dieksekusi.
Format instruksi JBC :
JBC alamat bit, alamat kode
Percabangan tanpa syarat meliputi :
Long Jump (LJMP)
Format instruksi Long Jump :
LJMP alamat kode
Short Jump (SJMP)
Format instruksi Short Jump :
SJMP alamat kode

Progaram sumber assembly
Program sumber assembly merupakan program yang ditulis oleh pembuat program berupa kumpulan baris-baris perintah dan biasanya disimpan dengan extension .ASM. program sumber assembly terdiri atas beberapa bagian yaitu Label, Mnenonikm Operand, dan Komentar.
1. Label
Label sangat berguna dalam pemberian nama pada alamat-alamat yang dituju, karena pemberian label pada suatu alamat lebih bersifat relatif. Selain itu, label juga digunakan sebagai catatan diri alur program. Untuk membuat label, ada beberapa persyaratan yang harus dipenuhi, dimana persyaratan ini kadang-kadang juga bergantung pada program assembler yang digunakan, yaitu :
A. Harus diawali dengan huruf.
B. Tidak diperbolehkan adanya label yang sama dalam satu program assembly.
C. Maksimal 16 karakter.
D. Tidak diperbolehkan adanya karakter spasi dalam label.
2. Mnemonic
Mnemonic atau bisa juga disebut kode operasi adalah kode-kode yang akan dikerjakan oleh program assembler yang ada pada mikrokontroller merupakan perintah-perintah atau instruksi-instruksi yang sangat bergantung dengan jenis mikrokontroller yang digunakan. Contoh, untuk keluarga MCS51 digunakan MOVX, MOV, ADD dan lain-lain.
3. Operand
Operand merupakan pelengkap dari mnemonic, jumlah operand yang dibutuhkan oleh satu mnemonic tidak selalu sama, sebuah mnemonic dapat memiliki tiga, dua, satu atau bahkan tidak memiliki operand sama sekali.
4. Komentar
Bagian komentar tidak mutlak ada dalam sebuah program, namun bagian ini sangat berguna untuk menjelaskan proses-proses kerja ataupun catatan-catatan tertentu padabagian-bagian program. Bahkan pembuat program seringkali membutuhkannya untuk mengingat kembali jalannya program rancanganya.
Sistem pengalamatan Dalam sebuah program, terdapat beberapa system pengalamatan yang perlu diketahui, yaitu :

Pengalamatan Langsung
1. Immediate Data
Proses pengalamatan ini terjadi pada sebuah perintah ketika nilai operand merupan data yang akan diproses. Biasanya operand tersebut selalau diawali dengan tanda ‘#’. Operand yang igunakan operand yang digunakan pada immediate data juga dapat berupa bilangan bertanda mulai -256 hingga +256
Contoh :
Mov A,#-1 sama dengan Mov A,#0FFH
Bilangan 1 adalah sama dengan 0 dikurangi 1, dalam bentuk heksa bilangan 00H jika dikurangi 1,
hasilnya adalah 0FFH. Dengan pengertian seperti ini, bilangan -1 dianggap sama dengan 0FFH.
2. Pengalamatan Data
Proses pengalamatan ini terjadi pada sebuah proses perintah ketika nilai operand
merupakan alamat dari data yang akan di isi, dipingahkan atau diproses.
Pengalamatan Tak Langsung
Proses pengalamatan ini terjadi pada sebuah perintah ketika salah satu operand merupakan register
berisikan alamat dari data yang akan diisi atau dipindahkan. Pengalamatan jenis ini biasa digunakan untuk melakukan penulisan, pemindahan, atau pembacaan beberapa data dalam lokasi memori yang mempunyai urutan beraturan.

Pengalamatan Kode
Pengalamatan kode merupakan pengalamatan kerja operand, merupakan alamat dari instruksi jump dan call. Biasanya operand tersebut akan menuju ke suatu alamat yang telah diberi label sebelumnya.

Pengalamatan Bit
Pengalamatan bit adalah pengalamatan ketika operand menunjuk ke alamat pada RAM internal ataupun register fungsi khusus yang mempunyai kemampuan pengalamatan secara bit. Berdasarkan penulisannya, pengalamatan ini terdiri dari beberapa macam yaitu:
1. Langsung menuju ke alamat bit
Contoh :
Setb 0B0H
Perintah ini memberikan logika 1 pada bit di alamat B0H dengan pengalamatan secara bit.
2. Menggunakan operator titik
Contoh :
Setb P3.0
Perintah ini memberikan logika 1 pada bit ke 0 dari port 3, bit tersebut terletak di alamat B0H
dengan pengalamatan secara bit.
3. Menggunakan lambang assembler secara standar
Contoh :
Setb RXD
Perintah ini memberikan logika 1 pada kaki RXD yang terletak pada bit ke 0 dari port 3. 4.
Menggunakan lambang assembler secara bebas
contoh :
Penerima Bit P30
Setb Penerima Perintah ini memberikan logika 1 pada bit penerima yang sebelumnya
didefinisikan sebagai bit P3.

Programmable Peripheral Interface (PPI) 8255
Programmable Peripheral Interface (PPI) 8255 ialah chip antarmuka 24 bit (3 port) yang dapat diprogram sesuai keinginan kita. PPI 8255 merupakan chip yang paling banyak digunakan untuk interfacing menggunakan port ISA komputer. PPI 8255 sering digunakan sebagai pengendali motor stepper, ADC/DAC, relay, dan rangkaian digital lainnya yang digunakan untuk Sistem Akuisisi Data. Gambar 2.7. merupakan skema IC 8255 yang memiliki 40 pin. Perlu diingat bahwa pin gnd berada di pin 7 dan Vcc berada di pin 26.Ic sangat sensitive terhadap listrik statis. Arus keluaran IC ini sangat kecil, karena itu biasanya digunakan resistor pull-up agar dapat menyuplai arus lebih besar.
Berikut ini penjelasan mengenai tiap pin :
PA0-PA07
Merupakan port A yang terdiri dari 8 bit, dapat diprogram sebagai input atau output dengan metode bidirectional input/output.
PB0-PB07
Port B dapat diprogram sebagai input/output, tetapi tidak dapat digunakan sebagai port bidirectional.
PC0-PC07
Port C dapat diprogram sebagai input/output, bahkan dapat dipecah menjadi dua, yaitu CU (bit PC4-PC7) dan CL (bit PC0-PC3) yang dapat diprogram sebagai input/output. RD dan WR Sinyal kontrol aktif rendah ini dihubungkan ke 8255. Jika 8255 menggunakan desain periferal I/O maka IOR dan IOW bus sistem dihubungkan ke kedua pin ini.
RESET
Pin aktif tinggi ini digunakan untuk membersihkan Control Register. Ketika RESET diaktifkan,seluruh port diinisialisasi sebagai port input.

Pengaturan Control Word
Pengaturan control word bertujuan untuk menentukan fungsi dari setiap port pada PPI 8255. dengan menentukan data yang masuk pada pin D0 – D7, kita dapat menentukan fungsi dari port-port pada PPI 8255.

Keypad
Keypad adalah rangkaian tombol yang berfungsi untuk memberi sinyal pada suatu rangkaian denganmenghubungkan jalur-jalur tertentu. Keypad terdiri dari beberapa macam berdasarkan jumlahtombol dan fungsinya. Pada sistem pengontrolan ini, digunakan keypad matriks 3 x 4 (12 saklar)dengan pin penghubung rangkaian berjumlah 7 buah.Ketujuh pin penghubung ini terbagi dua kelompok yaitu 4 buah pin sebagai input dan 3 buahlainnya sebagai ouput. Adapun maksud dari 7 pin I/O adalah untuk dijadikan kombinasipenghubungan pada rangkaian yang akan disambungkan dengan keypad ini.Dimana dalam setiap penekanan satu tombol/saklar keypad maka terjadi kombinasi antara dua buah pin dalam pembacaan sinyalnya.

STRUKTUR DAN FUNGSI CPU (Central Processing Unit)


STRUKTUR DAN FUNGSI CPU (Central Processing Unit)

STRUKTUR CPU


CPU merupakan komponen terpenting dari sistem komputer. CPU adalah komponen pengolah data berdasarkan instruksi – instruksi yang diberikan kepadanya. CPU terdiri dari dua bagian utama yaitu unit kendali (control unit) dan unit aritmatika dan logika (ALU). CPU atau Central Processing Unit  dapat dikatakan juga otak dari komputer itu sendiri. Sebuah komputer paling canggih sekalipun tidak akan berarti tanpa adanya CPU yang terpasang di dalamnya. Dalam kesehariannya CPU memiliki tugas utama untuk mengolah data berdasarkan instruksi yang ia peroleh. CPU sendiri sebenarnya masih terbagi atas beberapa komponen yang saling bekerja sama untuk membentuk suatu unit pengolahan Disamping itu, CPU mempunyai beberapa alat penyimpan yang berukuran kecil yang disebut register. Terdapat empat komponen utama penyusun CPU, yaitu:
  1. Arithmetic and Logic Unit (ALU)
  2. Control Unit
  3. Registers
  4. CPU Interconnections


Komponen Internal CPU

1.     Arithmetic and Logic Unit (ALU)
Arithmetic and Logic Unit atau sering disingkat ALU saja dalam bahasa Indonesia kira-kira berarti Unit Logika dan Aritmatika. Bagian ini mempunyai tugas utama untuk membentuk berbagai fungsi pengolahan data komputer. Sering juga disebut sebagai bahasa mesin, karena terdiri dari berbagai instruksi yang menggunakan bahasa mesin. ALU sendiri juga masih terbagi menjadi dua komponen utama, yaitu :
1)      arithmetic unit (unit aritmatika), bertugas untuk menangani pengolahan data yang berhubungan dengan perhitungan, dan
2)      2)    boolean logic unit (unit logika boolean), bertugas menangani berbagai operasi logika.
2.     Control Unit
Control Unit atau Unit Kendali, mempunyai tugas utama untuk mengendalikan operasi dalam CPU dan juga mengontrol komputer secara keseluruhan untuk menciptakan sebuah sinkronisasi kerja antar komponen dalam melakukan fungsinya masing-masing. Di samping itu, control unit juga bertugas untuk mengambil instruksi-instruksi dari memori utama dan menentukan jenis instruksi tersebut.
3.     Registers [Top Level Memory]
1)    Media penyimpanan internal CPU yang digunakan saat proses pengolahan data.
2)    Memori ini bersifat sementara, biasanya digunakan untuk menyimpan data saat diolah ataupun data untuk pengolahan selanjutnya.
4.     CPU Interconections
CPU Interconnections merupakan sistem koneksi dan bus yang menghubungkan komponen internal CPU dengan bus-bus eksternal CPU.
Sedangkan komponen eksternal CPU diantaranya
·       sistem memori utama,
·       sistem masukan/keluaran (input/output),
·       dan sistem-sistem lainnya.

Struktur Detail Internal CPU
FUNGSI CPU
CPU berfungsi seperti kalkulator, hanya saja CPU jauh lebih kuat daya pemrosesannya. Fungsi utama dari CPU adalah melakukan operasi aritmatika dan logika terhadap data yang diambil dari memori atau dari informasi yang dimasukkan melalui beberapa perangkat keras, seperti keyboard, scanner, joystick, maupun mouse. CPU dikontrol menggunakan sekumpulan instruksi perangkat lunak komputer. Perangkat lunak tersebut dapat dijalankan oleh CPU dengan membacanya dari media penyimpan, seperti Harddisk, Flashdisk, CD, maupun pita perekam. Instruksi-instruksi tersebut kemudian disimpan terlebih dahulu pada memori fisik (RAM), yang mana setiap instruksi akan diberi alamat unik yang disebut alamat memori. Selanjutnya, CPU dapat mengakses data-data pada RAM dengan menentukan alamat data yang dikehendaki.
Saat sebuah program dieksekusi, data mengalir dari RAM ke sebuah unit yang disebut dengan bus, yang menghubungkan antara CPU dengan RAM. Data kemudian didekode dengan menggunakan unit proses yang disebut sebagai pendekoder instruksi yang sanggup menerjemahkan instruksi. Data kemudian berjalan ke unit aritmatika dan logika (ALU) yang melakukan kalkulasi dan perbandingan. Data bisa jadi disimpan sementara oleh ALU dalam sebuah lokasi memori yang disebut dengan register supaya dapat diambil kembali dengan cepat untuk diolah.
ALU dapat melakukan operasi-operasi tertentu, meliputi penjumlahan, perkalian, pengurangan, pengujian kondisi terhadap data dalam register, hingga mengirimkan hasil pemrosesannya kembali ke memori fisik, media penyimpan, atau register apabila akan mengolah hasil pemrosesan lagi. Selama proses ini terjadi, sebuah unit dalam CPU yang disebut dengan penghitung program akan memantau instruksi yang sukses dijalankan supaya instruksi tersebut dapat dieksekusi dengan urutan yang benar dan sesuai. Selain itu, Fungsi CPU juga untuk menjalankan 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).
Aksi CPU
  • CPU ó Memori (RAM), 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.
SIKLUS INSTRUKSI
Siklus instruksi terdiri dari siklus fetch dan siklus eksekusi.

Siklus fetch-eksekusi bisa dijelaskan sebagai berikut :
  1. Di awal setiap siklus, CPU akan membaca dari memori utama,
  2. Sebuah register, yang disebut Program Counter (PC), akan mengawasi dan menghitung instruksi selanjutnya,
  3. Ketika CPU membaca sebuah instruksi, Program Counter akan menambah satu hitungannya,
  4. Alu instruksi-instruksi yang dibaca tersebut akan dimuat dalam suatu register yang disebut register instruksi (IR), dan akhirnya
  5. CPU akan melakukan interpretasi terhadap instruksi yang disimpan dalam bentuk kode binari, dan melakukan aksi yang sesuai dengan instruksi tersebut.
Siklus Eksekusi
Siklus eksekusi untuk suatu instruksi dapat melibatkan lebih dari sebuah referensi ke memori. Disamping itu juga, suatu instruksi dapat menentukan suatu operasi I/O. Perhatikan pada Gambar Diagram siklus intruksi.


Siklus instruksi
  • 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.
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 procesor. 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.
TUJUAN INTERUPSI
  • Secara umum untuk manajemen pengeksekusian routine instruksi agar efektif dan efisien antar CPU dan modul-modul I/O maupun memori.
  • Setiap komponen computer dapat menjalankan tugasnya secara bersamaan, tetapi kendali terletak pada CPU disamping itu kecepatan eksekusi masing-masing modul berbeda.
  • Dapat sebagai sinkronisasi kerja antar modul

KELAS SINYAL INTERUPSI
  • Program, yaitu interupsi yang dibangkitkan dengan beberapa kondisi yang terjadi pada hasil eksekusi program. Contohnya : aritmatika overflow, pembagian nol, operasi ilegal.
  • Timer, adalah interupsi yang dibangkitkan perwaktuan dalam processor. 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.
PROSES INTERUPSI
  • Dengan adanya mekanisme interupsi, procesor 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 procesor.
  • Kemudian procesor akan menghentikan eksekusi yang dijalankannya untuk menghandle routine interupsi.
  • Setelah program interupsi selesai, maka procesor akan melanjutkan eksekusi programnya.
  • Saat sinyal interupsi diterima procesor ada dua kemungkinan tindakan, yaitu interupsi diterima/ditolak dan interupsi ditolak
Interupsi ditangguhkan :
Apa yang dilakukan prosesor ?
  • Prosesor menangguhkan eksekusi program yang dijalankan dan menyimpan konteksnya. Tindakan ini adalah menyimpan alamat instruksi berikutnya yang akan dieksekusi dan data lain yang relevan.
  • Prosesor menyetel Program Counter (PC) ke alamat awal routine interrupt handler.
Sistem Operasi Kompleks
  • 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.
  • Dapat diambil dua buah pendekatan untuk menangani interupsi ganda ini.
Pendekatan Interupsi Ganda
Ada 2 pendekatan :
  • Pendekatan ini disebut pengolahan interupsi berurutan/sekuensial.
    • Menolak atau tidak mengizinkan interupsi lain saat suatu interupsi ditangani prosesor.
    • Setelah prosesor selesai menangani suatu interupsi maka interupsi lain baru ditangani.
  • Pengolahan interupsi bersarang yaitu mendefinisikan prioritas bagi interupsi.
    • Interrupt handler mengizinkan interupsi berprioritas lebih tinggi ditangani terlebih dahulu.
Contoh Kasus
  • Suatu sistem memiliki tiga perangkat I/O : printer, disk dan saluran komunikasi, masing-masing prioritasnya 2, 4, dan 5. Bagaimana proses interupsinya ?
  • Pada awal sistem melakukan pencetakan dengan printer, saat itu terdapat pengiriman data pada saluran komunikasi sehingga modul komunikasi meminta interupsi.
  • Proses selanjutnya adalah pengalihan eksekusi interupsi modul 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