Rabu, 30 November 2011

Sistem I/O

Sistem I/O

  • Perangkat Keras I/O
  • Aplikasi Antarmuka I/O
  • Kernel I/O Subsystem
  • Mengubah I/O Request Menjadi Operasi Perangkat Keras
  • Streams
  • Performance

Perangkat Keras I/O

  • Banyaknya jenis perangkat keras I/O
  • Konsep Umum :
Port
Bus (Daisy chain atau shared direct access)
Controller (host adapter)
  • Perangkat kontrol instruksi I/O
  • Perangkat-perangkat tersebut memiliki alamat, digunakan
untuk:
Instruksi I/O langsung
Memory-mapped I/O

Jenis Perangkat Keras

  • Perangkat penyimpan data
  • Perangkat penghubung
  • Perangkat antarmuka dengan user

Konsep Umum
  • Suatu perangkat berhubungan dengan sistem komputer dengan
          cara mengirim sinyal melalui suatu kabel atau bahkan melalui
  • udaraPerangkat tersebut berkomunikasi dengan mesin melalui port
  • Struktur komputer yang umum dipakai adalah Daisy Chain
Arsitektur Sistem Komputer

I/O Port Register
  • Register Status
  • Register Control
  • Register Data-in
  • Register Data-out
Transformasi I/O Menjadi Operasi H/W
Proses:
  1. Blocking read system call diberikan pada pendeskripsi data dari data yang sudah terbuka sebelumnya.
  2. Kode di kernel memeriksa parameter. Dalam proses input, jika data sudah ada di buffer, data dikembalikan ke proses dan permintaan I/O selesai . Contoh: membaca data dari disk untuk di proses.
  3. Menentukan device yang mengandung data,
  4. Menerjemahkan nama ke perwakilan device
  5. Secara fisik memindahkan data dari disk ke buffer
  6. Mempersiapkan data untuk proses permintaan I/O Mengembalikan kontrol ke proses
Kinerja I/O

  1. Pembuat CPU melaksanakan kode device-driver
  2. Memberitahukan ke-tidak efisien-an pada mekanisme penanganan interrupt dalam kernel
  3. Me-load memory bus sewaktu menyalin data yang dilakukan dicontroller dan physical memory
Meningkatkan Kinerja I/O

  1. Memperkecil jumlah context switch
  2. Memperkecil jumlah penyalinan data yang dilakukan sewaktu pengoperan data antara device dan aplikasi
  3. Memperkecil jumlah interrupt dengan menggunakan transfer secara besar-besaran, smart controllers dan polling (jika busywaiting bisa diminimalisir)
  4. Menambah konkurensi dengan menggunakan DMA controllers atau channels yang telah diketahui untuk meng-offload pennyalin sederhana dari CPU
  5. Memindahkan proses-proses primitif ke perangkat keras, untuk membuat operasinya dalam device controllers konkuren dengan CPU dan operasi Bus
  6. Menyeimbangkan CPU, memory subsystem, bus, dan I/O performance, karena kelebihan di salah satu area akan membuat keterlambatan pada yang lain

MIKROPROSESOR 8088

Mikroprosesor 8088 mulai diperkenalkan oleh Intel Corporation pada tahun 1978. Mikroprosesor ini mengawali sejarah perkembangan mikroprosesor Intel selanjutnya, seperti 80186, 80286, 80386, 80486, Intel Pentium I, sampai yang sekarang Intel Pentium IV. Semua instruksi yang terdapat pada mikroprosesor 8088 sepenuhnya dapat dijalankan pada mikroprosesor-mikroprosesor Intel tersebut. Karena itu, untuk memahami perancangan hardware dan software pada PC sekarang, ada baiknya jika Anda lebih dahulu memahami perancangan hardware dan software pada mikroprosesor 8088 ini.

Mikroprosesor 8088 mempunyai 8 bit jalur data dan 20 bit jalur alamat. Jalur data memiliki pin yang sama dengan jalur alamat, artinya pada saat tertentu digunakan sebagai jalur data dan pada saat yang lain digunakan sebagai jalur alamat. Karena satu pin memiliki dua fungsi, yaitu sebagai jalur data dan jalur alamat maka digunakanlah sistem time multiplexing, yaitu penggunaan jalur yang sama untuk fungsi dan waktu yang berbeda, sehingga tidak bisa data dan alamat dikirim pada saat yang bersamaan. Mikroprosesor 8088 dibuat dalam bentuk IC dengan kaki sebanyak 40 pin (jenis DIP 40).

Ada dua mode yang dapat digunakan pada mikroprosesor 8088, yaitu mode minimum dan mode maksimum. Pena yang menjadi penentu penggunaan mode adalah pena MN/MX. Mode minimum biasanya digunakan untuk sistem yang sederhana yang umumnya menggunakan prosesor pada satu PCB. Sedangkan mode maksimum umumnya digunakan untuk sistem yang lebih kompleks yang menggunakan multi I/O dan memori yang terpisah serta dapat pula digunakan dengan co-prosesornya (co-prosesor untuk 8088 adalah 8087).
Mikroprosesor (biasa ditulis µp) 8088 yang digunakan dalam IBM-PC adalah anggota dari keluarga µp IAPc86. Anggota keluarga lainnya adalah 80286, 80386, dan 80486.

Mikroprosesor 8088 sesungguhnya adalah modifikasi dari 8086. Bedanya 8088 hanya memiliki lebar data 8 bit, sedangkan 8086-yang merupakan permulaan era iAPx 86-mempunyai lebar data 16 bit namun mempunyai kemampuan yang sama dengan 8088, sehingga disebut mikroprosesor 16 bit semu. Kedua µp tersebut mempunyai lebar alamat 20 bit sehingga lokasi memori yang dapat dihubungi adalah 220= 1 Mbyte. Perintah untuk kedua µp tersebut sama persis.

Dari 1 Mbyte memori tersebut, PC menyediakan 640 Kbyte untuk program – program pemakai sedangkan sebagian besar sisanya diisi dengan program internal untuk mengoperasikan komputer itu sendiri.
Disamping kemampuan untuk berhubungan dengan 1 Mbyte memori melalui metoda akses memori, 8088 dapat pula berhubungan dengan 64 Kbyte lokasi port I/O (melalui perintah IN dan OUT), sehingga jumlah total memori adalah 1 Mbyte + 64 Kbyte.

Mikroprosesor 8088 dapat bekerja pada frekuensi clock 4,77 MHz atau 8 MHz; 80286 pada frekuensi 6, 8, 10, 12, 16, atau 20 MHz. Sedangkan 80386 sapat bekerja pada frekuensi 16, 20, 25, 33, atau 40 MHz. pada mikroprosesor 80286, 80386, dan 80486 dikenal istilah SX dan DX (misalnya 80386X dan 80386DX). Akhiran SX menunjukkan bahwa mikroprosesor ini merupakan transisi antara mikroprosesor di bawahnyadengan mikroprosesor tipe DX.

Gambar Microprocessor 8088

Pin Description

Pin Number Description
1 GND - Ground
2-8 ADDR - Address Bus
9-16 DATA - Address Data Bus
17 NMI - Non-Maskable Interrupt
18 INTR - Interrupt Request
19 CLK - Clock
20 GND - Ground
21 RESET - Reset
22 READY - Ready
23 TEST - Test (Active Low)
24 INTA - Interrupt Acknowledge (Active Low)
25 ALE - Address Latch Enable
26 DEN - Data Enable (Active Low)
27 DT/R - Data Transmit / Receive
28 IO/M - Status Line
29 WR - Write (Active Low)
30 HLDA - Hold A
31 HOLD - Hold
30 HLDA - Hold A
32 RD - Read (Active Low)
33 MN/MX - Minimum or Maximum Mode
34 SSO - Status Line (Active Low)
35-38 ADDRESS/STATUS - Address/Status Information
40 Vcc - Positive Power Supply

Pengalamatan memory intel 8088

Pengalamatan memory adalah penempatan alamat pada ruang memory pada suatu sistem komputer. Adapun susunan ruang memory adalah 1 megabyte adalah sebagai berikut: 00000 00001 00002 00003 00004 FFFF9 FFFFA FFFFB FFFFC FFFFD FFFFE FFFFF Pada susunan di atas merupakan penggambaran dari pengamatan ruangan memory dengan modus pengalamatan mutlak dengan kemampuan 20 bit. Mikroprosesor 16bit yang hanya menggunakan 16 saluran address dan 8 saluran data secara multiplexer. Sedangkan saluran address yang lainnya tersedia ada 4 yang khsus untuk menunjukkan segment mempry dimana tiapp segment dapat menjangkau 64 Kb. Register-register pada mikroprosesor 8088 adalah register 16 bit dimana masing-masing hanya menampung 4 digit hexadesimal dan 0000H sampah FFFFH. Untukmencatat address memory, maka dipergunakan segment register yang berisi 16 bit dihitung dari kiri, dimana isinya disebut dengan segment dan offset register yang berisi 16 bit dihitung dari kanan dimana isinya disebut dengan offset. Cara pengalamatan memory yang dilakukan dalam sistem komputer biasa disebut dengan relative address.