Jumat, 23 Desember 2016

Perbedaan Port-Mapped I/O dan Memory-Mapped I/O

cpu board

Komunikasi data antara prosesor dan peripheral device dapat dilakukan dengan 2 cara, yaitu MMIO dan PMIO. Intel adalah salah satu proseesor yang lebih banyak menggunakan metode PMIO. Sedangkan MIPS dan ARM hanya mendukung satu macam metode transaksi data, yaitu menggunakan metode MMIO saja.

Dalam MMIO, jalur komunikasi bus terhubung bersama dengan jalur komunikasi bus untuk transaksi data dengan memori RAM. Sehingga, untuk dapat bekerja dengan adil, tidak boleh ada device yang memiliki alamat yang serupa dengan salah satu alamat yang diduduki oleh RAM. Untuk mengakses data dari device, prosesor tidak menyediakan satupun instruksi khusus. Ini karena, baik RAM ataupun device akan memiliki address space yang sama. Dengan kata lain, device bisa diakses seperti mengakses memori biasa.

Metode PMIO masih menggunakan sistem komunikasi bus yang sama, seperti MMIO, hanya saja prosesor yang menerapkan PMIO wajib menyediakan jalur bus tambahan yang terpisah dengan jalur bus untuk transaksi data dengan RAM. Kalau dilihat, Intel memiliki jumlah pin lebih banyak dari MIPS, ini karena ia butuh sambungan untuk melakukan transaksi PMIO.

Ekspansi jalur bus ini ditujukan khusus untuk transaksi data dengan peripheral device. Untuk itu, prosesor yang menerapkan PMIO perlu menyediakan instruksi khusus untuk melakukan transaksi data dengan device. Misalnya Intel. Ia menyediakan instruksi IN untuk mengambil data dari device dan OUT untuk mengirim data ke device.
memory mapped io vs port mapped io

Kiri: MMIO, Kanan : PMIO
Load disqus comments

0 comments