09 Mei 2009

Transfer Data Paralel (PPI 8255)

Transfer Data Paralel (PPI 8255)

Salah satu serpih perantara yang digunakan untuk pengantarmukaan paralel (paralel interfacing) adalah Programmable Peripheral Interface (PPI) 8255. Serpih ini diproduksi oleh Intel Corporation dan dikemas dalam bentuk 40 pin dual in line package dan dirancang untuk berbagai fungsi pengantarmukaan dalam mikroprosesor. PPI 8255 memiliki 24 pin I/O yang dibagi menjadi tiga port masing-masing 8 bit. Port - port tersebut adalah port A (PA0-PA7), port B (PB0-PB7) dan port C (PC0-PC7). Sebagai jalur untuk transfer data dari dan ke PPI 8255 disediakan saluran 8 bit bus data (D0-D7). Bus data dari PPI ini dapat dihubungkan langsung dengan bus data dari mikrokomputer. Penyemat/pin out dari PPI 8255 diberikan pada Gambar 1.

Proses pembacaan dan penulisan data dari dan ke PPI 8255 dapat dilakukan dengan program. Salah satu register yang akan dituju dari ketiga port dan register kontrol ditentukan dengan kombinasi penyemat A0 dan A1.Tabel 1.1 menyatakan format operasi dasar pembacaan atau penulisan dan pengalamatan dari 3 port I/O dan register kendali PPI 8255.

Kontrol Group A dan Group B
  • Konfigurasi fungsional setiap port diprogram oleh sistem perangkat lunak, yaitu melalui output CPU (control word) ke PPI 8255. Control word berisikan mode, bit set, bit reset, dan sebagainya. Ini merupakan suatu proses inisialisasi konfigurasi fungsional dari PPI 8255.
  • Setiap blok kontrol (Group A dan Group B) menerima perintah dari kontrol logika read/write, menerima kontrol word dari bus data untuk keperluan perintah pada setiap port. Kontrol group A adalah port A dan Port C upper (C7..C4) dan kontrol group B adalah port B dan port C lower (C3..C0), sedangkan register kontrol hanya dapat dioperasi untuk output (operasi write). Port A,B dan C
  • Port A. Output 8 bit data latch/buffer dan input 8 bit data latch.
  • Port B. Input/output 8 bit data latch/buffer dan input 8 bit data buffer. Port C. Output 8 bit data latch/buffer dan input 8 bit data buffer. Dan port ini dapat dibagi atas dua port (setiap port 4 bit data latch) yang digunakan secara bersama dengan port A dan port B untuk mengontrol sinyal output dan status sinyal input.

Deskripsi Operasional PPI 8255

Ada tiga mode operasi yang dapat dipilih olehsistem perangkat lunak untuk mengoperasikan PPI 8255 yaitu:

Mode 0 - Basic Input/Output
  • Mode ini digunakan untuk input/output sederhana langsung ke port I/O.Peralatan luar yang dihubungkan selalu siap untuk mengirimkan/menerima data, sehingga mode ini tidak tergantung pada waktu.
  • Semua port A, B dan C bisa bekerja pada mode ini. Port-port PPI hanya bisa digunakan sebagai port input atau port output dari sistem mikroprosesor. Port A dan port B masing-masing dapat digunakan sebagai 8 bit masukan saja atau 8 bit keluaran saja. Sedangkan port C dapat digunakan sebagai empat (4) bit masukan atau empat (4) bit keluaran seperti port A dan port B.
Mode 1 - Strobe Input/Output

Mode ini digunakan untuk peralatan luar yang mempunyai data valid pada saat - saat tertentu, sehingga diperlukan sinyal-sinyal pemicu (strobe) pada I/O agar data segera dapat dikirim, sehingga mode ini tergantung pada waktu.
  • Pada mode ini port A dan port B bisa ditentukan sebagai port masukan atau keluaran data, sedangkan port C berfungsi sebagai pembawa sinyal status.Transfer data mode ini merupakan sinyal terprogram bersyarat.
Mode 2 - Bidirectional Bus

  • Mode ini mampu mengrim/menerima data dalam dua arah (bidirectional handshake data transfer).
  • Mode ini menyebabkan port A bisa berfungsi sebagai masukan sekaligus keluaran yang dilengkapi dengan sinyal jabat tangan 5 bit dari port C sebagai kontrol port A. Mode ini tidak tersedia untuk port B.
Kata Kendali (Control Word) merupakan pendefinisian mode dan port yang akan digunakan dan prosesnya dilakukan oleh perangkat lunak yang ditunjukkan dalam Gambar 2.




TTRANSFER DATA PC MENGGUNAKAN PPI CARD

Sistem Bus dan I/O Mikrokomputer

Tiga unit utama yang terdapat dalam sistem mikrokomputer adalah Unit Pemroses Pusat (Central Processing Unit - CPU), unit memori dan unit I/O. Hubungan atau aliran informasi antara masing-masing unit utama tersebut berlangsung melalui tiga jalur utama sesuai dengan jenisnya. Ketiga jalur tersebut adalah jalur data, jalur alamat dan jalur kontrol.
1. Jalur data (Data Bus), berfungsi sebagai jalur untuk pertukaran data atau informasi antar unit, yaitu antara CPU, memori dan peralatan I/O.
2. Jalur alamat (Address Bus), berfungsi sebagai pengatur jalur komunikasi antara CPU dengan memori (RAM/ROM), CPU dengan I/O dan antara memori dengan I/O.
3. Jalur Kontrol (Control Bus), berfungsi menentukan jenis komunikasi dan arah aliran data serta memberi tanda pada awal dan akhir pengiriman data.
Pada sistem bus, data dipindahkan selama selang waktu yang disebut siklus jalur (bus cycle). Siklus jalur dibedakan atas cara pemindahan informasi antara mikroprosesor, memori dan I/O. Adapun jenis-jenis siklus jalur dan aliran informasi dapat dilihat pada
Gambar 1. Digram blok sistem mikrokomputer
Dua dari beberapa siklus jalur seperti pada Tabel 1. yaitu pembacaan I/O dan penulisan I/O merupakan jalur yang digunakan pada rangkaian antarmuka (interface). Siklus pembacaan port I/O terjadi setiap mikroprosesor melaksanakan instruksi masuk (in). Kegunaan siklus ini untuk mengambil data dari salah satu alamat port I/O, sedangkan siklus penulisan port I/O dilakukan setiap mikroprosesor melaksanakan perintah keluar (out). Siklus ini menuliskan data dari mikroprosesor ke alamat port I/O tertentu.

IBM PC/XT-AT menyediakan sepuluh bit bagian bawah dari bus alamat untuk ruang alamat I/O, sehingga tersedia ruang alamat port I/O sebesar 1024. Ruang alamat tersebut dibagi menjadi dua bagian yaitu 512 alamat (0000H-01FFH) digunakan untuk sistem board dan 512 alamat-alamat sisanya (0200H-03FFH) disediakan untuk alamat-alamat kartu tambahan (Slot Card). Pemilihan alamat I/O untuk pengembangan antarmuka dapat menggunakan alamat prototype card dan alamat cadangan yang belum terpakai oleh kartu yang lain. Pemetaan ruang alamat I/O secara lengkap dapat dilihat pada tabel 2.

Tabel 2. Peta Ruang Alamat I/O

Alamat Port (hex) Sarana
000-00F
Chip 8237 DMA Controller
020-021
Chip 8259 PIC
040-043
Chip 8253 PIT
060-063
Chip 8255 PIO
080-083
DMA page register
100-1FF
Tidak digunakan
200-20F
Game control
210-217
Unit ekspansi
220-24F
Cadangan
278-27F
Cadangan
2F0-2F7
Cadangan
2F8-2FF
Komunikasi asinkron (2)
300-31F
Prototype card
320-32F
Hard disk
378-37F
Printer
380-38C
SDLC
38D-398
Komunikasi sinkron biner (2)
3A0-3A9
Komunikasi sinkron biner (1)
3B0-3BF
Display monochrom/Printer card
3C0-3CF
Cadangan
3D0-3DF
Color/Graphics card
3E0-3F7
Cadangan
3F0-3F7
Diskette
3F8-3FF
Komunikasi sinkron (1)


Unit Masukan dan Keluaran 2 (Interface)

Modul I/O

Merupakan peralatan antarmuka (interface) bagi sistem bus atau switch sentral dan mengontrol satu atau lebih perangkat peripheral.
Tidak hanya sekedar modul penghubung, tetapi sebuah piranti yang berisi logika dalam melakukan fungsi komunikasi antara peripheral dan bus komputer

>> Programmable Peripheral Interface(PPI)Intel 8255A
Menggunakan I/O terprogram
Interrupt driven I/O
Dirancang untuk keperluan mikroprosesor 8086

>> Modul IO PPI 8255

>> Modul I/O PPI 8255
Bagian kanan dari blok diagram Intel 8255A
 24 saluran antarmuka luar
• 8 bit port A
• 8 bit port B
• 4 bit port CA dan 4 bit port CB
 Saluran tersebut dapat diprogram dari mikroprosesor 8086 dengan menggunakan register kontrol untuk menentukan bermacam – macam mode operasi dan konfigurasinya.
Bagian kiri blok diagram merupakan interface internal dengan mikroprosesor 8086.
 8 bus data dua arah (D0 – D7)
 bus alamat
 bus kontrol yang terdiri atas saluran CHIP SELECT, READ, WRITE, dan RESET

>> Interface keyboard dgn PPI 8255

>>
>> DMA (Direct Memory Access)

Direct Memory Access (DMA)
DMA ialah sebuah prosesor khusus (special purpose processor) yang berguna untuk menghindari pembebananCPU utama oleh program I/O (PIO). Untuk memulai sebuah transfer DMA, host akan menuliskan sebuah DMA command block yang berisi pointer yang menunjuk ke sumber transfer, pointer yang menunjuk ke tujuan transfer, dan jumlah byte yang ditransfer, ke memori. CPU kemudian menuliskan alamat command block ini ke pengendali DMA, sehingga
pengendali DMA dapat kemudian mengoperasikan bus memori secara langsung dengan menempatkan alamatalamatpada bus tersebut untuk melakukan transfer tanpabantuan CPU.

>>Tiga langkah dalam transfer DMA:
Prosesor menyiapkan DMA transfer dengan menyedia kan data-data dari perangkat, operasi yang akan ditampilkan, alamat memori yang menjadi sumber dan tujuan data, dan banyaknya byte yang ditransfer.
Pengendali DMA memulai operasi (menyiapkan bus, menyediakan alamat, menulis dan membaca data), sampai seluruh blok sudah di transfer.
Pengendali DMA meng-interupsi prosesor, dimana selanjutnya akan ditentukan tindakan berikutnya.

>>Direct Memory Access (DMA)
Pada dasarnya, DMA mempunyai dua metode yang berbeda dalam mentransfer data. Metode yang pertama ialah metode yang sangat baku dan sederhana disebut HALT, atau Burst Mode DMA, karena pengendali DMA memegang kontrol dari sistem bus dan mentransfer semua blok data ke atau dari memori pada single burst.
Selagi transfer masih dalam prosres, sistem mikroprosessor diset idle, tidak melakukan instruksi operasi untuk menjaga internal register. Tipe operasi DMA seperti ini ada pada kebanyakan komputer.

Metode yang kedua, mengikutsertakan pengendali DMA untuk memegang kontrol dari sistem bus untuk jangka waktu yang lebih pendek pada periode dimana mikroprosessor sibuk dengan operasi internal dan tidak membutuhkan akses ke sistem bus. Metode DMA ini disebut cycle stealing mode. Cycle stealing DMA lebih kompleks untuk diimplementasikan dibandingkan HALT DMA, karena pengendali DMA harus mempunyai kepintaran untuk merasakan waktu pada saat sistem bus terbuka.

>> Blog diagram DMA
>> KOnfigurasi I/O DMA

>>Direct Memory Access (DMA)
Melaksanakan transfer data secara mandiri
 DMA memerlukan pengambilalihan kontrol bus dari CPU
 DMA akan menggunakan bus bila CPU tidak menggunakannya atau DMA memaksa CPU untuk menghentikan sementara penggunaan bus
 Teknik cyclestealing, modul DMA mengambil alih siklus bus Penghentian sementara penggunaan bus bukanlah bentuk interupsi, tetapi penghentian proses sesaat yang berimplikasi
hanya pada kelambatan eksekusi CPU saja

>>Klasifikasi perangkat eksternal
Human Readable, yaitu perangkat yang berhubungan dengan manusia sebagai
pengguna komputer. Contoh: monitor,keyboard, mouse, printer, joystick, diskdrive.
Machine readable, yaitu perangkat yangberhubungan dengan peralatan. Biasanya
berupa modul sensor dan tranduser untukmonitoring dan kontrol suatu peralatan atau
sistem.
Communication, yatu perangkat yang berhubungan dengan komunikasi jarak jauh. Contoh: NIC dan modem


08 Mei 2009

Struktur Modul I/O (interface lanjutan)

Struktur Modul I/O

--Antarmuka modul I/O ke CPU melalui bus sistem komputer terdapat tiga saluran
 Saluran data
 Saluran alamat
 Saluran kontrol.

--Bagian terpenting adalah blok logika I/O yang berhubungan dengan semua peralatan antarmuka peripheral, terdapat fungsi pengaturan dan switching pada blok ini

>>I/O Terpogram
Data saling dipertukarkan antara CPU dan modul I/O.
CPU mengeksekusi program yang memberikan operasi I/O kepada CPU
secara langsung
 Pemindahan data
 Pengiriman perintah baca maupun tulis
 Monitoring perangkat

>Kelemahan :
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

>>Klasifikasi Perintah I/O
1. Perintah control.
Perintah ini digunkan untuk mengaktivasi perangkat peripheral dan memberitahukan tugas yang diperintahkan padanya.
2. Perintah test.
Perintah ini digunakan CPU untuk menguji berbagai kondisi status modul I/O dan peripheralnya. CPU perlu mengetahui perangkat peripheralnya dalam keadaan aktif dan siap digunakan, juga untuk mengetahui operasi operasi I/O yang dijalankan serta mendeteksi kesalahannya.
3. Perintah read.
Perintah pada modul I/O untuk mengambil suatu paket data kemudian menaruh 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 peripheral tujuan data tersebut.

>>Memory-mapped I/O
Terdapat ruang tunggal untuk lokasi memori dan perangkat I/O.
CPU memperlakukan register status dan register data modul I/O sebagai lokasi memori dan menggunakan instruksi mesin yang sama untuk mengakses baik memori maupun perangkat I/O.
Konskuensinya adalah diperlukan saluran tunggal untuk pembacaan dan saluran tunggal untuk penulisan.
Keuntungan memory-mapped I/O adalah efisien dalam pemrograman, namun memakan banyak ruang memori alamat

>>Isolated I/O
Dilakukan pemisahan ruang pengalamatan bagi memori dan ruang pengalamatan bagi I/O.
Dengan teknik ini diperlukan bus yang dilengkapi dengan saluran pembacaan dan penulisan memori ditambah saluran perintah output.
Keuntungan isolated I/O adalah sedikitnya instruksi I/O

>>Interrupt – Driven I/O Cara kerja teknik interupsi di sisi modulI/O  Modul I/O menerima perintah, misal read.  Modul I/O melaksanakan perintah pembacaan dari peripheral dan meletakkan paket data ke register data modul I/O  Modul mengeluarkan sinyal interupsi ke CPU melalui saluran kontrol.  Modul menunggu datanya diminta CPU. Saat permintaan terjadi  Modul meletakkan data pada bus data  Modul siap menerima perintah selanjutnya

>>Interrupt
 Pengolahan interupsi saat perangkat I/O telah menyelesaikan sebuah operasi I/O :
 Perangkat I/O akan mengirimkan sinyal interupsi ke CPU.
 CPU menyelesaikan operasi yang sedang dijalankannya kemudian d merespon interupsi.
 CPU memeriksa interupsi tersebut, kalau valid maka CPU akan d mengirimkan sinyal acknowledgment ke perangkat I/O untuk d menghentikan interupsinya.
 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:
• Status prosesor, berisi register yang dipanggil PSW (program status word).
• Lokasi intruksi berikutnya yang akan dieksekusi.Informasi tersebut kemudian disimpan dalam stack pengontrol sistem.




Unit Masukan dan Keluaran(Interface Lanjutan)

Unit Masukan dan Keluaran
>> Tiga komponen utama Sistem Komputer :
  •  CPU,
  •  Memori (primer dan sekunder)
  •  Peralatan masukan/keluaran (I/O devices) seperti printer, monitor, keyboard, mouse, dan modem
>>Modul I/O
Merupakan peralatan antarmuka (interface) bagi sistem bus atau switch sentral dan mengontrol satu atau lebih perangkat peripheral.
Tidak hanya sekedar modul penghubung, tetapi sebuah piranti yang berisi logika dalam melakukan fungsi komunikasi antara peripheral dan bus komputer.

>> Modul I/O
Piranti tidak tidak langsung dihubungkan dengan
bus sistem komputer , Karena :
Bervariasinya metode operasi piranti peripheral,sehingga tidak praktis apabila sistem komputer harus menangani berbagai macam sisem operasi piranti peripheral tersebut. Kecepatan transfer data piranti peripheral umumnya lebih lambat dari pada laju transfer data pada CPU maupun memori.
Format data dan panjang data pada piranti peripheral seringkali berbeda dengan CPU,sehingga perlu modul untuk menselaraskannya.

>>Dua fungsi utama :
Sebagai piranti antarmuka ke CPU dan memori melalui bus sistem.
Sebagai piranti antarmuka denganperalatan peripheral lainnya dengan menggunakan link data tertentu

>>Modul I/O adalah suatu komponen dalam sistem komputer Yang
 Bertanggung jawab atas pengontrolan sebuah perangkat luar atau lebih
 Bertanggung jawab pula dalam pertukaran data antara perangkat luar tersebut dengan memori utama ataupun dengan register –register CPU.
Antarmuka internal dengan komputer (CPU dan memori utama)
Antarmuka dengan perangkat eksternalnya untuk menjalankan fungsi –fungsi pengontrolan

>>Fungsi Modul I/O
Kontrol dan pewaktuan.
Komunikasi CPU.
Komunikasi perangkat eksternal.
Pem-buffer-an data.
Deteksi kesalahan

1. Kontrol dan Pewaktuan
 Fungsi kontrol dan pewaktuan (control & timing) merupakan hal yang penting untuk mensinkronkan kerja masing – masing komponen penyusun komputer.
 Dalam sekali waktu CPU berkomunikasi dengan satu atau lebih perangkat dengan pola tidak menentu dan kecepatan transfer komunikasi data yang beragam, baik dengan perangkat internal seperti register – register, memori utama, memori sekunder, perangkat peripheral.
 Proses tersebut bisa berjalan apabila ada fungsi kontrol dan pewaktuan yang mengatur sistem secara keseluruhan
 Transfer data tidak akan lepas dari penggunaan sistem bus, maka interaksi CPU dan modul I/O akanmelibatkan kontrol dan pewaktuan sebuah arbitrasi bus atau lebih.

2. Proses fungsi komunikasi antara CPU dan modul I/O
 Command Decoding, yaitu modul I/O menerima perintah – perintah dari CPU yang dikirimkan sebagai sinyal bagi bus kontrol. Misalnya, sebuah modul I/O untuk disk dapat menerima perintah: Read sector, Scan record ID,Format disk.
 Data, pertukaran data antara CPU dan modul I/O melalui bus data.
 Status Reporting, yaitu pelaporan kondisi status modul I/O maupun perangkat peripheral, umumnya berupa status kondisi Busy atau Ready. Juga status bermacam – macam kondisi kesalahan (error).
 Address Recognition, bahwa peralatan atau komponen penyusun komputer dapat dihubungi atau dipanggil maka harus memiliki alamat yang unik, begitu pula pada perangkat peripheral, sehingga setiap modul I/O harus mengetahui alamat peripheral yang dikontrolnya.

3. Buffering
Tujuan utama adalah mendapatkan penyesuaian data sehubungan perbedaan laju transfer data dari perangkat peripheral dengan kecepatan pengolahan pada CPU.
Laju transfer data dari perangkat peripheral lebih lambat dari kecepatan CPU maupun media penyimpan

4. Deteksi Kesalahan
Bila perangkat peripheral terdapat masalah sehingga proses tidak dapat dijalankan, maka modul I/O akan melaporkan kesalahan tersebut.
 Misal informasi kesalahan pada peripheral printer seperti: kertas tergulung, pinta habis,kertas habis.
Teknik yang umum untuk deteksi kesalahan adalah penggunaan bit paritas

Entry And upload by : Harrisme

Interface (Antarmuka Komputer)




Antarmuka dan Periferal

 Sebagai tampilan
 Sebagai penghubung perangkat

Interface & Peripheral
 I/O Interface: bagian/unit dari sistem mikrokomputer yang berfungsi sebagai
perantara hubungan antara sistem mikrokomputer dengan “dunia luar” (peripheral).
 Peripheral: peralatanperalatan di luar sistem mikrokomputer yang dapat berhubungan
dengan sistem mikrokomputer, antara lain monitor (output), printer (output), keyboard
(input), mouse (input)

Pengikut