Minggu, 01 April 2012

PERINTAH INSTRUKSI PADA MEMORY

žMov
Perintah untuk mengisi, memindahkan, memperbaharui isi suatu register, variabel ataupun suatu lokasi memori.
Penulisan perintah: MOV [operand A],[operand B]
Dengan ketentuan operand A merupakan register, variabel, lokasi memori dan ketentuan isi operand B berupa register, variabel, lokasi memori ataupun bilangan.
Operand B merupakan bilangan asal yang akan diisikan ke operand A, dengan kata lain operand A merupakan tujuan pengisian atau penduplikatan dari operand B.

CONTOH:
MOV AH, AL
žOperand A dari perintah diatas adalah register AH
žOperand B dari perintah diatas adalah register AL
žHal yang dilakukan dari perintah diatas adalah menduplikatkan isi register AL ke register AH
žMOV AH,02
žOperand A dari perintah diatas adalah register AH
žOperand B dari perintah diatas adalah bilangan 02
žHal yang dilakukan dari perintah diatas adalah memasukkan 02 ke register AH
žInt (Interrupt)
Perintah Int (Interrupt) mempunyai cara kerja yang sama dengan perintah GOSUB pada BASIC, hanya pada Int, subrotine yang akan dipaggil sudah tersedia pada memori komputer.
Subroutine yang dipanggil menggunakan perintah Int (interrupt) terdiri dari 2 jenis, yaitu:
Bios Interrupt yaitu Int yang disediakan oleh BIOS (Basic Input Output System). Interrupt yang termasuk dalam Interrupt BIOS adalah Int 0 hingga Int 1F hexa.
DOS Interrupt yaitu Int yang disediakan oleh DOS (Disk Operating System). Interupt yang termasuk dalam Interrupt DOS adalah Interrupt diatas Int 1F hexa. Misal: Interrupt 20 hexa, Interrupt 21 hexa dll.
žInt (Interrupt)
Perintah Int (Interrupt) mempunyai cara kerja yang sama dengan perintah GOSUB pada BASIC, hanya pada Int, subrotine yang akan dipaggil sudah tersedia pada memori komputer.
Subroutine yang dipanggil menggunakan perintah Int (interrupt) terdiri dari 2 jenis, yaitu:
Bios Interrupt yaitu Int yang disediakan oleh BIOS (Basic Input Output System). Interrupt yang termasuk dalam Interrupt BIOS adalah Int 0 hingga Int 1F hexa.
DOS Interrupt yaitu Int yang disediakan oleh DOS (Disk Operating System). Interupt yang termasuk dalam Interrupt DOS adalah Interrupt diatas Int 1F hexa. Misal: Interrupt 20 hexa, Interrupt 21 hexa dll.
üInt 20
Int 20h merupakan salah satu dari DOS Interrupt. Tugas Int 20h adalah memberhentikan proses komputer terhadap suatu program COM. Bila pada semua program Com tidak terdapat Int 20h, maka sudah bisa dipastikan bahwa bila program diproses, maka akan terjadi hanging pada komputer. Hal ini terjadi karena komputer tidak menemukan perintah pemberhentian proses.
üInt 21h Service 02
Int 21h juga merupakan salah satu dari DOS Interrupt. Int 21h mempunyai banyak tugas, maka tugasnya dibagi-bagi menjadi beberapa bagian. Untuk memanggil bagian-bagian itu, perlu disertakan nomor bagiannya yang disebut Service Number.
Untuk menjalankan fungsi Int 21h service 02 harus dipenuhi beberapa syarat:
- Register AH, harus berisi service number dari Int 21h yang akan dijalankan (02h)
- Register DL, harus berisi bilangan hexa dari karakter ASCII yang akan dicetak

PROSES OPERASI SISTEM I/O


Operasi I/O terbagi menjadi 3 metode :
1. I/O terprogram
Metode di mana CPU mengendalikan operasi I/O secara keseluruhan dengan menjalankan serangkaian instruksi I/O dengan sebuah program.
Karakteristik :
-    Program tersebut digunakan untuk memulai, mengarahkan dan menghenti­kan operasi-operasi I/O.
-    Membutuhkan sejumlah perangkat keras (register) yaitu :
    Register status, berisi status piranti I/O dan data yang akan dikirimkan.
    Register buffer, menyimpan data sementara sampai CPU siap menerima­nya
    Pointer buffer, menunjuk ke lokasi memori di mana sebuah karakter harus ditulis atau dari mana harus dibaca.
• Counter data, tempat penyimpanan sejumlah karakter dan akan berkurang nilainya jika karakter ditransfer.
-    Membutuhan waktu proses yang lama dan tidak efesien dalarn pemanfaatan CPU.

2. I/O interupsi
Metode di mana CPU akan bereaksi ketika suatu piranti mengeluarkan permintaan untuk pelayanan.
Karakteristik :
-    Lebih efisien dalam pemanfaatan CPU, karena tidak harus menguji status dari piranti.
-    Interupsi dapat berasal dari piranti I/O, interupsi perangkat keras misalnya : timer, memori, power supply, dan interupsi perangkat lunak misalnya : over­flow, opcode/data yang ilegal, pembagian dengan nol.

Ada 2 jenis interupsi:
Ø lnterupsi maskable : Interupsi yang dapat didisable (dimatikan) untuk sementara dengan sebuah instruksi disable interupsi khusus.
Ø Interupsi nonmaskable : Interupsi yang tidak dapat didisable dengan instruksi perangkat lunak.
Dalam sistem komputer terdapat lebih dari satu piranti yang memerlukan pelayanan interupsi, metode untuk pelayanannya :
-    Polling/polled interupt
     Berdasarkan urutan prioritas yang telah ditentukan sebelum piranti memerlukan interupsi.
     Misal : piranti A dan B mempunyai urutan prioritas A lebih Iebih dulu dari B, maka jika A dan B secara bersamaan memerlukan pelayanan interupsi, maka piranti A akan didahulukan.

-    Vector Interupt
     Peralatan yang berinterupsi diidentifikasi­kan secara Iangsung dan dihubungkan routine pelayanan vector interupt.
     INTR  =      Sinyal yang dikeluarkan oleh peralatan.
     INTA  =       Sinyal kendali yang digunakan CPU untuk menyiapkan pelayanan interupt

Cara yang biasa digunakan dengan metode daisy chain dan encoder prioritas

3.  Direct Memory Access (DMA)
Metode transfer data secara langsung antara memori dengan piranti tanpa pengawasan dan pengendalian CPU.
    Skema transfer blok DMA dual port
     CPU dan DMA controller mengakses memori utama melalui MAR dan MBR dengan menggunakan sebuah memori utama dual port (2 port).
     Port I ----> melayani CPU
     Port II ----> melayani DMA controller
    Skema transfer blok DMA cycle stealing (pencurian siklus)
     Hanya memerlukan sebuah memori port tunggal di mana CPU dan piranti I/O beradu cepat pada basis asinkron, prioritas utama akan diberikan pada piranti I/O.

INTERFACING
Adalah peralatan yang digunakan untuk menghubungkan suatu piranti dengan CPU melalui bus.

Keterangan :
    Register kendali (CR) digunakan untuk mencatat berbagai perintah dan informasi lainnya dalam peripheral.
    Register status (SR) digunakan untuk menyimpan status piranti dan memberitahukan pesan-pesan kesalahan .
    Register data input (IDR) dan register data output (ODR) masing-masing berfungsi sebagai bufer data untuk operasi input dan output.
    Urutan operasi interface :
-    Unit logika handshaking memasok unit kendali dengan empat sinyal.
-    Dua sinyal, register kendali penulisan (WCR atau write control register) dan register status pembacaan (RSR atau read status register), masing-masing berhubungan dengan CR dan SR.
-    Sedangkan dua sinyal lainnya adalah register pembacaan data input (RIDR atau read input data register) dan register penulisan data output (WODR atau write output data register ), masing-masing mengendalikan IDP dan ODR.

TRANSFER DATA

Format transfer data :
-    Paralel : semua bit pada karakter (word dengan panjang tertentu) dikirim secara bersamaan dalam batas waktu yang diberikan.
-    Serial   : Data dikirim secara berurutan dalam satu saluran.
Transfer data secara paralel lebih cepat daripada secara serial karena saluran transmisinya banyak, kelemahannya kalau terlalu panjang akan terjadi interferensi antar saluran.
Mode transfer data
1.  Synchronous mode
       Baris kendali digunakan untuk mengsinkronkan waktu pada semua kejadian yang terjadi selama periode waktu tertentu.
       Kelemahan : Tiap piranti I/O berbeda-beda kecepatan operasinya, sehingga harus diturunkan pada kecepatan yang paling rendah.

Gambar 2. Sinyal Pengaturan waktu mode sinkron
2.  Asynchronous mode
     Menggunakan teknik jabat tangan (hand shaking) untuk menyakinkan transfer data antara pengirim dan penerima tidak ada kesalahan (data valid).

Gambar 3. Sinyal Pengaturan waktu mode asinkron

Kelemahan : memerlukan lebih banyak kendali dan kecepatan transfer lebih rendah dari yang sebenarnya.
Kelebihan : memungkinkan penggunaan piranti I/O yang memiliki berbagai varasi kecepatan dalama system yang sama.

SISTEM PROSESOR I/O

Saluran I/O :
Merupakan sebuah prosesor khusus dengan kemampuan terbatas yang disusun untuk interface beberapa piranti I/O ke memori.
-    Saluran I/O dapat melakukan pendetek­sian dan pembetulan kesaIahan dan beroperasi dalam basis cycle stealing.
-    Saluran I/O berkomunikasi dengan CPU sebagai suatu fasiIitas DMA dan berkomunikasi dengan piranti I/O seolah­-olah sebuah CPU.
Karena piranti I/O mempunyai kecepatan transfer yang berbeda-beda, maka saluran dibagi menjadi 3 pelayanan, yaitu:
-    Saluran Multiplexer
Digunakan untuk menghubungkan piranti yang berkecepatan rendah dan sedang serta serta mengoperasikannya secara bersamaan dengan multiplexing.
-    Saluran Selektor
Digunakan untuk menghubungkan piranti I/O yang berkecepatan tinggi tanpa multiplexing. Contoh: pita magnetis, disk
-    Saluran Multiplexer Blok
Merupakan kombinasi dari dua pelayanan diatas.

Prosesor I/O (IOP)
Merupakan komputer umum yang berkomunikasi dengan memori utama melalui fasilitas DMA system bus dan dengan piranti I/O atas satu atau lebih bus I/O.

Ada 2 mode yaitu :
1.      Single Shared bus :
Setiap IOP mengendalikan sejumlah piranti I/O tertentu yang tetap.

Gambar 4. Model Single Shared bus
2.      Switching matriks bus

Setiap IOP mengendalikan satu piranti I/O


Gambar 5. Model  Switching matriks bus

Konfigurasi Multiprosesor
Di dalam satu komputer seakan-akan terdapat beberapa mikroprosesor, meskipun sebenarnya mikroprosesor utamanya hanya satu, sedangkan yang Iainnya berupa prosesor I/O (lOP). Hubungan yang paling sederhana menggunakan common bus.

Gambar  6. Model common bus pada multiprosesor

    Bus umum bersifat membagi waktu (time shared) oleh semua prosesor dan hanya satu prosesor yang dapat mengakses memori pada waktu tertentu.Tetapi dapat juga menggunakan bus umum ke dalam organisasi multiprosesor dual bus.
    Setiap komputer dihubungkan suatu pengendali sistem ke bus umum
    Komunikasi interkomputer ini dilakukan pada sistem bus melalui memori umum.

Gambar 7. Model system bus pada multiprosesor