Jumat, 06 Januari 2017

KARAKTERISTIK PERINTAH BAHASA ASSEMBLER

Label
Label bisa anda definisikan dengan ketentuan akhir dari nama label tersebut harus berupa tanda titik dua (:). Pemberian nama label bisa digunakan: 
- Huruf : A..Z (Huruf besar dan kecil tidak dibedakan) 
- Angka : 0..9 
- Karakter khusus : @ . _ $ 
Nama pada label tidak terdapat spasi dan didahului oleh angka, Contoh dari penulisan label yang benar: mulai: MOV CX,7. Nama label terpanjang yang dapat dikenali oleh assembler adalah 31 karakter. 

Komentar

Untuk memberikan komentar pada source file digunakan tanda ';'. Apapun yang dtuliskan dibelakang tanda ';' akan dianggap sebagai komentar, Contoh : mulai: MOV BX,7 ; berikan nilai 7 pada BX 

Perintah MOV 

Perintah MOV digunakan untuk mengcopy nilai atau angka menuju suatu register,variabel atau memory. Adapun syntax untuk perintah MOV ini adalah : 
MOV Tujuan,Asal 
Sebagai contohnya : MOV AL,9 ; masukkan nilai 9 pada AL. 
MOV AH,AL ; nilai AL=9 dan AH=9 
MOV AX,9 ; AX=AH+AL hingga AH=0 dan AL:=9 
Pada baris pertama(MOV AL,9), kita memberikan nilai 9 pada register AL. Kemudian pada baris kedua(MOV AH,AL) kita mengcopykan nilai register AL untuk AH. Jadi setelah operasi ini register AL akan tetap bernilai 9, dan register AH akan sama nilainya dengan AL atau 9. Pada baris ketiga(MOV AX,9), kita memberikan register AX nilai 9. Karena AX terdiri atas AH dan AL, maka register AH akan bernilai 0, sedangkan AL akan bernilai 9. 
Perintah MOV akan mengcopykan nilai pada sumber untuk dimasukan ke Tujuan, nilai sumber tidaklah berubah. Inilah sebabnya MOV(E) akan kita terjemahkan disini dengan mengcopy, dan bukannya memindahkan. 

Perintah INT
Didalam pemrograman assambler, kita akan banyak sekali menggunakan interupsi untuk membantu kita dalam mengerjakan suatu pekerjaan. Untuk menghasilkan suatu interupsi digunakan perintah INT dengan syntax: 
INT NoInt 
Dengan NoInt adalah nomor interupsi yang ingin dihasilkan. Sebagai contohnya bila kita ingin menghasilkan interupsi 21h, bisa dituliskan dengan: INT 21h, maka interupsi 21h akan segera terjadi.


Jenis operand

Instruksi mesin melakukan operasi terhadap data. Pada umumnya data dikategorikan ke dalam angka, karakter dan data logika.

 Angka

 Setiap bahasa mesin mengandung tipe data numerik. Umunya terdapat tiga tipe data angka yang ada pada komputer yaitu:
1.        Binary integer
2.        Binary floating point
3.        Desimal
          Semua operasi pada internal komputer berupa data biner, namun user berinteraksi dengan bilangan desimal. Maka perlu dilakukan konversi dari desimal ke bilangan biner pada input dan konversi dari biner ke desmimal pada output. Bilangan desimal direpresentasikan dalam 4 bit kode biner maka 0=0000, 1=0001,...,8=1000, 9=1001. Sedangkan untuk desimal 246 = 0000 0010 0100 0110. Untuk bilangan negatif direpresentasikan dengan 4 bit yang diletakkan pada awal atau akhir string. Standar tanda yang digunakan adalah 1100 untuk bilangan positif dan 1101 untuk tanda bilangan negatif.

Karakter

Umumnya bentuk data adalah teks atau kumpulan karakter. Sedangkan sistem komputer didesain untuk data biner. Maka sejumlah kode dalam urutan bit perlu di tentukan untuk merepresentasikan sebuah karakter. Saat ini standar kode yang digunakan untuk merepresentasikan karakter adalah American Standart Code for Information Interchange (ASCII). Setiap karakter pada kode ASCII direpresentasikan dengan 7 bit biner yang unik. Maka terdapat 128 karakter yang berbeda yang dapat direpresentasikan. Selain itu juga ada yang menggunakan Extended Binary Coded Decimal Interchange Code (EBCDIC) yang digunakan oleh IBM mainframe.

 Data logika    

 Pada umumnya setiap word atau yang lain merupakan satu unit data yang masing masing unit data memiliki nilai 0 atau 1. Ketika dipandang dengan cara ini, maka data tersebut dianggap sebagai data logika. Data logika hanya bernilai true “1” atau false “0”.

Jenis Operasi

Jumlah opcode dari sebuah mesin ke mesin lain beragam. Akan tetapi tipe operasi-operasi umum akan sama untuk semua mesin.  Berikut dikategorikan operasi berdasarkan fungsi dan tipenya:

Transfer data
Tipe instruksi mesin yang paling dasar yaitu instruksi transfer data. Pada instruksi transfer dataharus ditentukan beberapa hal. Pertama, penentuan lokasi sumber dan tujuan dari operan.Lokasinya dapat terletak di memori, register atau stack. Kedua, panjang data yang akan ditransfer harus diketahui. Ketiga, sama untuk semua instruksi dengan operan, cara pengalamatannya harus ditentukan.
Dari sisi aksi prosesor, operasi transfer data mungkin merupakan tipe yang paling sederhana. Jika kedua-duanya baik sumber maupun tujuan adalah register, maka  prosesor hanya menyebabkan data dipindahkan dari satu register ke register lain (operasi internal prosesor). Jika salah satu atau kedua operan berada dalam memori, maka prosesor harus melakukan beberapa atau semua tindakan berikut:
1.      Menghitung alamat memori, berdasarkan mode pengalamatan ( dibahas di bagian selanjutnya)
2.      Jika alamat mengacu pada virtual memori, menerjemahkan dari alamat memori virtual ke alamat memori sebenarnya/fisik.
3.      Menentukan apakah operan yang dituju ada di dalam chace
4.      Jika tidak, berikan perintah ke modul memori.

Aritmatika
Kebanyakan mesin menyediakan operasi aritmatika / perhitungan dasar  sepertitambah, kurang,kali dan bagi. Dimana operasi tersebut disediakan untuk menangani bilanganinteger bertanda (fixed-point), juga bilangan floating point atau desimal. Berikut contoh lain operasi yang termasuk jenis instruksi dengan satu operan:
·         Absolute : mengambil nilai absolut/mutlak dari operan
·         Negate : menegasikan operan
·         Increment: menambahkan 1 nilai ke operan
·         Decrement: mengurangi 1 nilai dari operan

Eksekusi instruksi aritmatika dapat melibatkan operasi transfer data untuk menempatkan operan dari input ke ALU, dan untuk mengantarkan output dari ALU.

Logika
Kebanyakan mesin juga menyediakan berbagai operasi untuk memanipulasi setiap bit dari sebuah word atau unit (yang dapat diberi alamat) lainnya, operasi ini juga di sebut "bit twiddling". Bit-bit tersebut didasarkan pada operasi boolean. 
Konversi
Instruksi konversi adalah instruksi-instruksi yang mengubah format atau beroperasi pada format data.Contohnya yaitu mengkonversi dari desimal ke biner.

Input/Output
Seperti yang kita ketahui, ada beberapa pendekatan I/O yang bisa diambil, diantaranya programmed I/O (isolated&memory mapped), DMA, dan penggunaan prosesor I/O. Implementasi instruksi I/O banyak dilakukan dengan hanya menyediakan beberapa instruksi I/O, dengan tindakan spesifik yang ditentukan oleh parameter, kode, atau kata perintah.

Kendali Sistem
Instruksi kendali sistem adalah instruksi yang dapat dieksekusi hanya ketika prosesor dalam keadaan tertentu atau mengeksekusi program pada area khusus dalam memori.Biasanya, instruksi ini dipesan untuk digunakan sistem operasi.Berikut beberapa contoh operasi kendali sistem. Sebuah instruksi kendali sistem bolehDescription: Description: Description: http://cdncache-a.akamaihd.net/items/it/img/arrow-10x10.png membaca atau mengubah kendali register. Contoh lainnya adalah instruksi untuk membaca atau memodifikasi penyimpanan protection key, seperti yang digunakan pada sistem memori EAS/390. Contoh lain adalah akses untuk memproses blok kontrol dalam sistem multiprogramming.

Kendali Transfer
Untuk semua tipe operasi yang sudah dibahas sejauh ini, instruksi selanjutnya yang akan dibahas tepat setelah ini, pada memori, adalah kendali transfer. Namun, pecahan yang signifikan dari instruksi dalam setiap program memiliki fungsi mengubah urutan eksekusi instruksi. Untuk instruksi ini, operasi yang dilakukan oleh prosesor

Beberapa hal yang perlu diperhatikan yaitu:
1.     Dalam praktek penggunaan komputer, sebenarnya kita mengeksekusi tiap instruksi lebih dari sekali dan mungkin ribuan kali. Ini membutuhkan ribuan atau bahkan jutaan instruksi untuk mengimplementasikan aplikasi. Hal ini tidak mungkin jika tiap instruksi harus ditulis secara terpisah. Jika tabel atau daftar item akan diproses, dibutuhkan program looping. Satu urutan eksekusi akan dieksekusi berulang kali untuk memproses semua data.
2.    Hampir semua program melibatkan beberapa pembuatan keputusan. Kita setuju komputer akan melakukan sesuatu jika suatu kondisi terpenuhi, dan melakukan hal lain jika dalam kondisi lain. Sebagai contoh, sebuah urutan instruksi mengitung akar kuadrat dari sebuh nilai. Pada awal urutan, tanda dari nilai tersebut diuji. Jika negatif, komputasi tidah dilakukan, tetapi kondisi eror yang akan dilaporkan.
3.    Untuk mengubah dengan benar program yang besar atu sedang adalah tugas yang sangat sulit. Hal ini akan lebih mudah jika ada mekanisme untuk memecah tugas-tugas tersebut menjadi bagian-bagian kecil yang dapat dikerjakan sekali dalam satu waktu. 

Bentuk perintah/intruksi :

MOV
Perintah MOV adalah perintah untuk mengisi, memindahkan,memperbaruhi isi suatu register, variable ataupun lokasi memory, Adapun tata penulisan perintah MOV adalah :
MOV [operand A], [Operand B]
Contoh :
MOV AH,02
Operand A adalah Register AH
Operand B adalah bilangan 02
Hal yang dilakukan oleh komputer untuk perintah diatas adalahmemasukan 02 ke register AH.



INT (Interrupt)
Bila anda pernah belajar BASIC, maka pasti anda tidak asing lagi dengan perintah GOSUB. Perintah INT juga mempunyai cara kerja yang sama dengan GOSUB, hanya saja subroutine yang dipanggil telah disediakan oleh memory komputer yang terdiri 2 jenis yaitu :
- Bios Interrupt ( interput yang disediakan oleh BIOS (INT 0 – INT 1F))
- Dos Interrupt ( Interrupt yang disediakan oleh DOS (INT 1F – keatas))

Push
Adalah perintah untuk memasukan isi register pada stack, dengan tata penulisannya:POP [operand 16 bit]

Pop
perintah yang berguna untuk mengeluarkan isi dari register/variable dari stack,dengan tata penulisannya adalah : POP [operand 16 bit]

RIP (Register IP)
Perintah ini digunakan untuk memberitahu komputer untuk memulai memproses program dari titik tertentu.

A (Assembler)
Perintah Assembler berguna untuk tempat menulis program Assembler.
-A100
0FD8:100

RCX (Register CX)
Perintah ini digunakan untuk mengetahui dan memperbaruhi isi register CX yang merupakantempat penampungan panjang program yang sedang aktif.

http://deviceskomputer.blogspot.co.id/2013/04/perintah-khusus-bahasa-assembly.html

Rabu, 30 November 2016

DMA (Direct Memory Acces)



Penjelasan Direct Memory Acces (DMA)

Direct memory access (DMA) adalah suatu alat pengendali khusus disediakan untuk memungkinkan transfes blok data langsung antar perangkat eksternal dan memori utama, tanpa intervensi terus menerus dari prosesor (CPU).

 Diperlukan DMA untuk programmed I/O dan interrupt driver I/O, DMA menjadi solusi
  • Masih memerlukan keterlibatan CPU, CPU menjadi sibuk DMA

  • Transfer rate data terbatas
Digunakan modul khusus(hardware) yang terhubung ke sistem bus
fungsi modul DMA:
  • Dapat menirukan sebagian fungsi processor
  • Dapat mengambil alih fungsi prosesor yang berhubungan dengan transfer data
Kapan DMA bekerja?
  • Saat prosesor sedang tidak menggunakan bus
  • saat prosesor dipaksa berhenti sesaat (suspend) , siklus "dicuri oleh DMA" adalaah cycle stealing


GambarDMA 

Cara Kerja DMA
  • CPU mengirimkan data data berikut ini ke DMA controller:
    • Perintah read/write
    • Alamat device yang akan diakses
    • Alamat awal blok memori yang akan dibaca/ditulis
    • Jumlah blok data yang akan ditransfer
  • CPU mengeksekusi program lain
  • DMA controller mengirimkan seluruh blok data (per satu word) langsung ke memori(tanpa melibatkan CPU)
  • DMA controller mengirim interrupt ke CPU jika telah selesai.

Cycle Stealing pada DMA transfer
  • DMA controller mengambil alih bus sebanyak satu siklus
  • DMA mentransfer satu word data
  • Pengambil alihan bus oleh DMA bukan interrupt --> CPU tidak perlu menyimpan context
  • CPU hanya tertunda (suspend) sesaat sebelum mengakses bis, yaitu sebelum operand atau data diambil atau data ditulis
  • Pengaruh terhadap CPU yaitu memperlambat CPU , tetapi masih lebih baik dari pada CPU terlibat langsung pada transfer data



Konfigurasi pada DMA
  • Konfigurasi I
    • Hanya menggunakan single bus
    • DMA dan modul I/O terpisah
    • Setiap transfer harus mengakses bus 2 kali
  • Konfigurasi II
    • Hanya menggunakan single bus
    • DMA controller dan modul I/O terintegrasi
    • satu DMA controller dapat mengangani lebih dari 1 modu I/O
    • Setiap transfer hanya perlu mengakses bus satu kali saja
  • Konfigurasi III
    • digunakan bus I/O secara terpisah
    • semua modul I/O cukup dilayani dengan sebuah DMA
    • Setiap transfer hanya perlu mengakses bus satu kali saja
http://rezaakhmadg.blogspot.co.id/2012/05/direct-memory-acces-dma.html

PENGERTIAN I/O INTERFACE



 I/O interface adalah peralatan yang dimana informasi dapat masuk  dan keluar dari perangkat seperti computer. Dalam komputasi input output adalah komunikasi antara system pengolahan informasi dan dunia luar. Input adalah sinyal atau data yang diterima oleh system dan output adalah sinyal atau data yang dikirim dari itu. Contoh alat input yaitu keyboard , mouse , scanner, joystick , camera digital, bar code reader, webcam . dan contoh dari alat output adalah monitor, printer,  proyektor, dan speaker.

Contoh alat  input yaitu :

•     KEYBOARD
Keyboard adalah perangkat mesin ketik yang menggunakan susunan tombol atau kunci, yang bertindak sebagai tuas mekanis atau saklar elektronik. Keyboard computer pertama kali dibuat pada tahun 1868, yang pada dasarnya desain keyboard dibuat seperti mesin ketik. Jenis jenis keyboard dapat digolongkan menjadi 4 yaitu : serial, ps/2, USB dan wireless.

•    MOUSE
Pengertian dari mouse adalah sebuah perangkat keras (hardware) yang terhubung ke komputer baik melalui kabel maupun wireless. kabel yang menghubungkan mouse dengan komputer bentuknya mirip dengan ekor tikus. Walaupun saat ini keberadaan mouse sudah banyak tergantikan dengan perangkat touchpad dimana semua fungsi dari mouse bisa dilakukan dengan menggunakan touchpad ini, namun masih lebih banyak user yang lebih memilih menggunakan mouse  daripada touchpad.terdapat beberapa macam fungsi mouse, antara lain pengeontrol persebaran tampilan objek, memperbesar dan memperkecil tampilan worksheet, mengaktifkan command button, sebagai penggerak pointer.

•    BAR CODE READER
Bar code reader adalah sebuah alat elektronik barcode cetak. Seperti flatbet scaner , terdiri dari sumber cahaya, lensa dan sensor cahaya menerjemahkan implus ke optik yang mengandung listrik. Selain itu hampir semua barcode berisi sirkuit decoder menganalisis barcode data yang diberikan oleh sensor dan mengirim konten bercode untuk output port scaner.

•    DIGITAL CAMERA
Kamera digital adalah kamra yang mengambil video atau foto foto dengan merekam gambar pada sensor elektronik.kamera digital biasanyamenggunakan lensa dengan diafragma variabel untuk memfokuskan cahaya ke sebuah perangkat gambar.
Kamera digital dapat menampilkan gambar pada layar segera setelah direkam, an menyimpan dan menghapus gambar dari memory.dalam beberapa kamera memerlukan driver dan tambahan software. Resolusi kamera digital dibatasi oleh sensor gambar yang mengubah cahaya menjadi sinyal diskrit, hitungan pixel pada kamera ini umumnya dianggap menunjukan resolusi kamera.

•    WEB CAMERA
Webcam adalah kamera video yang mengambil gambar secara real time ke komputer atau jaringan komputer melalui usb dan WIFI. Penggunaan yang paling populer adalah pembentukan link video, memungkinkan komputer bertindak sebagai videophone . penggunaan umum untuk webcam adalah untuk world wide web. Penggunaan populer lainya adalah untuk pengawasan keamanan,  visi komputer dan penyiaran video. Webcam dikenal karna biaya produksi yang redah dan fleksibilitas. Penggunaan webcam dapat diintegrasikan dalam laptop.

•    DIGITAL VIDEO CAMERA
Adalah kamera yang digunakan untuk akuisisi film elektronik, awalnya dikembangkan oleh industri televisi , namun sekarang umum dalam aplikasi lain juga.kamera video terutama digunakan dalam 2 mode. Yang pertama karakteristik penyiaran awal banyak , adalah siaran langsung . dalam mode ke 2 gambar direkam ke perangkat penyimpanan untuk pengarsipan atau diproses lebih lanjut.rekaman video digunakan di televisi dan produksi film .

•    FIREWIRE
Mulai dikembangkan pada akhir tahun 1980-an oleh apple sebagai firewire, merupakan standard bus interface untuk komunikasi kecepatan tinggi .firewire sebanding dengan USB, meskipun USB memiliki pangsa pasar yang lebih tinggi.firewire adalah serial bus yang berarti bahwa informasi yang ditransfer satu bit pada suatu waktu. Bus pararel memanfaatkan jumlah koneksi fisik yang berbeda dan dengan demikian biasanya jauh kurang efisien , lebih mahal, dan biasanya lebih berat.firewire dapat menghubungkan hingga 63 perangkat . hal ini memungknkan peer to peer perangkat komunikasi, seperti komunikasi antara scaner dan printer berlangsung tanpa menggunakan memori sistem dan CPU.

•    PARAREL PORT
Jenis interface yang ditemukan pada kompuer untuk menghubungkan peripheral. Dalam komputasi sebuah port pararel adalah komunikasi pararel antarmuka fisik. Hal ini dikenal sebagai port printer. IEEE 1284 standar mendefinisikan versi bi-directorial ,yang memungkinkan transmisi dan penerimaan bit pada waktu yang sama.

•    NIC
Adalah perangkat keras komponen komputer yang menghubungkan komputer ke jaringan komputer. Pengendali jaringan awal interface biasa diterapakan pada kartu ekspansi yang terhubung ke bus komputer. Pengontrol jaringan mengimplementasikan sirkuit elektronik yang dibutuhkan untuk berkomunikasi lapisan fisik tertentu dan lapisan seprti ethernet , wifi atau token ring. Hal ini menyediakan dasar untuk stack protokol jaringan penuh, dan memungkinkan komnikasi antara kelompok-kelompok kecil dari komputer di LAN yang sama.contoh dari NIC adalah RJ 45 yang memiliki 8 pin.

•    MODEM PORT
Modem port digunakan oleh komputer dengan modem internal untuk menyambug ke internet melalui saluran telepon biasa . ini digunakan untuk dial-up akses internet , yang melakukan cara paling lama untuk online.port modem memiliki 20 sisi. Hal ini biasanya terletak di sisi komputer jika komputer memiliki modem internal. Contoh modem port : RJ-11 yang memiliki 4 pin.

•    PORT UNTUK KEYBOARD DAN MOUSE
Port untuk keyboard dan mouse ada komputer memiliki warna standard. Untukkeyboard berwarna ungu dan memiliki 6 pin mini-din. Untuk mouse memiliki port berwarna hijau dan juga memiliki 6 pin mini-din.

Contoh alat Output yaitu :
•    Monitor (screen)
Fungsi alat keluaran yang memberikan dan menampilkan informasi atau data atau instruksi yang dihasilkan atau sedang dilakukan oleh komputer.

•    Printer :
Funsi :alat keluaran yang dapat mencetak teks atau gambar hasil pengolahan komputer ke media kertas atau media lainnya seperti kertas transparansi.

•    Plotter
Fungsi merupakan alat keluaran yang mempunyai fungsi sama dengan printer. Perbedaannya adalah plotter digunakan untuk mencetak gambar yang berukuran cukup besar, seperti gambar mesin dan konstruksi bangunan.

•    Speaker (Speakers)
Fungsi Speaker adalah alat keluaran yang menghasilkan output dalam bentuk suara.

•    Proyektor ( Projector )
Fungsi alat keluaran yang fungsinya sama seperti monitor, biasa digunakan untuk presentasi karna gambar yang dikeluarkan dipancarkan melalui cahaya yang langsung bisa dipancarkan ke dinding sehingga bisa diatur skalanya.

•    Hedaset (Headphones)
Fungsi tak berbeda dengan speaker yaitu sebagai alat keluaran yang menghasilkan output dalam bentuk suara, akan tetapi hanya bias didengar oleh pemakai saja.

http://berto-amiarno.blogspot.co.id/2014/01/contoh-io-interface.html

Review Jurnal Prinsip Kerja Grounding System (Penyalur Petir)

Review Jurnal  Prinsip Kerja Grounding System (Penyalur Petir) RIZKI RAMADHAN ABSTRAKSI Indonesia terletak di daerah tropis da...