12a OSK-Organisasi Input Output

Anda mungkin juga menyukai

Anda di halaman 1dari 43

Organisasi Sistem Komputer

Priyanto
priyanto@uny.ac.id
Jurusan PTEI
Fakultas Teknik
Universitas Negeri Yogyakarta
2021

Organisasi
Input/Output
Priyanto (2021)

Organisasi Sistem Komputer


2

• Komponen IO
• Dua macam pengalamatan IO
• Tiga teknik IO
Priyanto (2021)

Organisasi Sistem Komputer


Input Output dalam Struktur OSK 3

RWM Memori
Internal
CPU Input Output IO controller

IO devices
Storage
Input Devices Output Devices Memori Eksternal

Device mana yang paling lambat?


Priyanto (2021)

Organisasi Sistem Komputer


Input Output Terdiri dari 3 Komponen 4

•IO devices
• Berkomunikasi dengan dunia luar
• Menyimpan data
•IO controller
• Bertindak sebagai antarmuka antara bus sistem dan perangkat IO
• IO controller memiliki tiga tipe register: data, command, dan
status
•IO software 🡪 Program yang mengendalikan IO controler
Priyanto (2021)

Organisasi Sistem Komputer


Overview 5

•Basic I/O hardware


• ports, buses, devices and controllers

•I/O Software
• Interrupt Handlers, Device Driver, Device-Independent
Software, User-Space I/O Software
Priyanto (2021)

Organisasi Sistem Komputer


IO Devices 6

•Storage devices (disk, tapes)


•Transmission devices (network card, modem)
•Human interface devices (screen, keyboard, mouse)
•Specialized device (joystick)
•Barcode reader
Priyanto (2021)

Organisasi Sistem Komputer


Device Controller 7

•Unit IO biasanya terdiri dari


• Komponen mekanik: alat itu sendiri
• Komponen elektronik: the device controller or adapter.
•Antarmuka antar controller dan divais adalah
antarmuka yang levelnya sangat rendah
•Contoh:
• Disk controller mengonversi barisan bit serial
yang datang dari drive menjadi blok bytes,
dan melakukan koreksi kesalahan.
Organisasi Sistem Komputer
Priyanto (2021)
8
Device Drivers
Priyanto (2021)

Organisasi Sistem Komputer


Device Drivers (1) 9

•Kode (program) khusus divais yang mengendalikan divais IO,


biasanya dibuat oleh pabrik divais.
• Driver disk mengetahui tentang sectors, tracks, heads, dsb.

•Device driver biasanya merupakan bagian dari OS kernel


• Secara dinamis di-load ke RAM saat booting.
Priyanto (2021)

Organisasi Sistem Komputer


Device Drivers (2) 10

•Setiap device driver menangani


• Satu tipe divais(misal, mouse)
• Satu kelas divais yang berhubungan erat (misal, SCSI disk driver
menangani banyak disk yang berbeda ukuran dan kecepatan).

•Kategori Device IO:


• Block devices
• Character devices
Organisasi Sistem Komputer
Priyanto (2021)
11
I/O Software Layers
12

Memory Mapped
Dua
Macam IO Mapped
Pengalamatan IO Organisasi Sistem Komputer
Priyanto (2021)

Organisasi Sistem Komputer


Pengalamatan IO 13

•Divais IO, memori utama, dan CPU berkomunikasi melalui


bus yang dipakai bersama.
•Jalur alamat yang digunakan untuk memilih lokasi memori
juga dapat digunakan untuk memilih divais IO.
•Terdapat dua macam strategi pengalamatan IO, yaitu
memory-mapped IO dan IO-mapped IO.
•Kedua strategi tersebut digunakan oleh jenis prosesor yang
berbeda.
Priyanto (2021)

Organisasi Sistem Komputer


Memory-Mapped IO 14

• Memory-mapped IO digunakan pada beberapa mesin, sebagai


contoh prosesor Motorola seri 68000.
• Pada teknik ini sebagian alamat memori dialokasikan untuk IO
• Instruksi-insruksi memori yang menyebabkan data diambil atau
disimpan pada lokasi memori X, secara otomatis menjadi instruksi IO
jika X berisi alamat port IO.
• Instruksi LOAD dan STORE memori dapat digunakan untuk transfer
data ke atau dari port IO, dengan demikian tidak diperlukan instruksi
khusus untuk IO.
• Pada memory-mapped IO, jalur kontrol READ dan WRITE yang
diaktifkan oleh CPU diguakan untuk akses memori atau transfer IO.
Priyanto (2021)

Organisasi Sistem Komputer


IO-Mapped IO 15

• Pada IO-mapped IO ruang alamat IO dan memori terpisah.


• Teknik ini digunakan oleh beberapa jenis prosesor, salah satunya
adalah prosesor keluarga Intel 8086.
• Sebagai contoh prosesor 8086 memiliki ruang alamat IO sebesar 64 K
terpisah.
• Instruksi yang mengacu ke memori mengaktifkan jalur READ M atau
WRITE M dan tidak berpengaruh pada divais IO.
• Pada teknik ini diperlukan instruksi IO yang terpisah untuk
mengaktifkan jalur READ IO atau WRITE IO, yang akan menyebabkan
transfer data antara CPU dan port IO yang dituju.
• Di sini lokasi memori dan divais IO dapat memiliki alamat sama
Priyanto (2021)

Organisasi Sistem Komputer


16
10239 10239
Cadangan Cadangan
5120
Memory
5120
5119 5119
Mapped vs
Input Output Memory IO Mapped
4096 4096
4095 4095

Memory Memory
1023
Input Output
0 0 0

Memory Mapped IO Mapped (Isolated IO)


Priyanto (2021)

Organisasi Sistem Komputer


17
Transfer Data di Memory Mapped

10239
Cadangan
5120
5119
Input Output
4096
4095

Memory 1. Kirim data ke alamat 3 🡪 M


2. Baca data dari alamat 4096 🡪 IO

0
Priyanto (2021)

Organisasi Sistem Komputer


18
10239
Transfer Data di IO Mapped
Cadangan
5120
5119
Memory
4096 1. Kirim data ke M alamat 3 🡪
4095 M
2. Kirim data ke IO alamat 3 🡪
IO
Memory
3. Baca data dari M alamat 3 🡪
M 1023
Input Output
4. Baca data dari IO alamat 3 🡪
0 0
IO
IO Mapped (Isolated IO)
Priyanto (2021)

Organisasi Sistem Komputer


19

1. Kirim data 15 ke alamat 3 🡪 M


2. Kirim data 15 ke alamat 5 🡪 IO

A2 A1 A0 Dec
0 0 0 0
0 0 1 1
0 1 0 2
0 1 1 3
1 0 0 4
1 0 1 5
Organisasi Sistem Komputer
Priyanto (2021)
20
Priyanto (2021)

Organisasi Sistem Komputer


Memory Mapped 21

Data
Address
Write
Read

W R W R R W R W R W
Memory CPU IO Port 1 IO Port 2 IO Port 3

Memiliki 2 instruksi • Write IO Device 1 IO Device 2


sekaligus untuk Memori • Read
dan IO ! Perhatikan Bus Read dan
Write
Priyanto (2021)

Organisasi Sistem Komputer


IO Mapped 22

Data
Address
M Write IO Write
M Read IO Read

W R MR MW IOW R W R W R W
Memory CPU IOR IO Port 1 IO Port 2 IO Port 3

• M Write
Memiliki 4 instruksi • M Read IO Device 1 IO Device 2
untuk memori dan • IO Write
IO • IO Read ! Perhatikan Bus Read dan
Write
23

Programmed IO

Tiga Interrupt Driven


Teknik IO
Direct Memory Access (DMA)
Organisasi Sistem Komputer
Priyanto (2021)

Organisasi Sistem Komputer


Programmed IO 24

•Programmed IO dikenal dengan polled IO.


•Istilah ini berasal dari kenyataan bahwa sebelum
melakukan transfer data, CPU melakukan “poll” divais
IO untuk memeriksa kesiapannya.
•Bentuk lain dari programmed IO adalah direct IO. Pada
teknik ini CPU tidak melakukan pemeriksaan status
divais IO.
Priyanto (2021)

Organisasi Sistem Komputer


Programmed IO (Polled IO) 25

Mulai

Baca Status

Lakukan tugas lain Periksa Status

Tidak
Divais Siap?
Y
a
Layani Divais
Priyanto (2021)

Organisasi Sistem Komputer


Interrupt Driven IO 26

•Permasalahan yang ditimbulkan oleh programmed IO adalah


waktu CPU terbuang untuk pengujian status.
•Interrupt-driven IO menghilangkan permasalahan ini.
•Prinsip mekanisme transfer data pada interrupt-driven IO
sama dengan programmed IO, yaitu, CPU tetap
mempertukarkan data dengan divais IO melalui beberapa
register CPU.
Priyanto (2021)

Organisasi Sistem Komputer


Interrupt Driven IO vs Programmed IO 27

Perbedaan yang prinsip adalah siapa yang bertanggung jawab


untuk berinisiatif untuk melakukan transfer data

• Pada programmed IO tanggung jawab ada pada CPU. Dengan kata


lain, program IO harus sering melakukan pemeriksaan (scan) status
divais IO untuk menentukan apakah divais siap melakukan transfer
data.
• Pada interrup-driven IO, data transfer dimulai (atas inisiatif) divais IO,
yang menggunakan mekanisme interupsi untuk memberitahukan
pada CPU tentang kesiapannya.
Priyanto (2021)

Organisasi Sistem Komputer


Interrupts Driven 28

Koneksi antara perangkat dan interrupt controller benar-benar


menggunakan jalur interrupt pada bus daripada kabel dedicated
Priyanto (2021)

Organisasi Sistem Komputer


Apabila menerima interupsi, CPU akan 29

•Menangguhkan eksekusi program yang sedang berlangsung


•Menyimpan statusnya
•Melompat ke interrupt service routine (ISR)
•Kembali untuk melanjutkan eksekusi program yang
diinterupsi
Priyanto (2021)

Organisasi Sistem Komputer


Pelayanan Interupsi oleh Interrupt Service Routines 30
Priyanto (2021)

Organisasi Sistem Komputer


Direct Memory Access (DMA) 31

Permasalahan programmed I/O


• Waktu CPU terbuang untuk polling, contoh:
• Menunggu keyboard ditekan
• Menunggu keyboard dilepas
• Tidak memenuhi untuk batasan waktu yang berkaitan dengan
beberapa divais:
• Membaca dan menulis ke disk
DMA 🡪 Membebaskan prosesor dari tanggung jawab transfer data
Priyanto (2021)

Organisasi Sistem Komputer


Direct Memory Access (DMA) 32

Permasalahan Interupt driven IO


• Walaupun menghemat waktu, interupt-driven IO tidak selalu
mencukupi. Permasalahan ini timbul ketika berhadapan dengan
divais IO yang berkecepatan tinggi.
• Sebagai contoh, CPU tidak dapat mengikuti kecepatan laju transfer
data hardisk dengan kecepatan 1MB/s.
Teknik IO yang tepat untuk menyelesaikan situasi ini adalah direct
memory access I/O (DMA I/O).
Priyanto (2021)

Organisasi Sistem Komputer


DMA 🡪 Membebaskan CPU dalam Transfer Data 33
Priyanto (2021)

Organisasi Sistem Komputer


Elemen Pokok Sistem DMA 34

• Divais IO dihubungkan ke bus IO melalui rangkaian antarmuka khusus, yaitu


DMA controller (DMAC), yang berisi
• data bufer register IODR,
• address buffer register IOAR dan
• data count register DC.
• Register-register ini memungkinkan DMAC melakukan transfer data ke atau
dari lokasi memori utama yang berdampingan.
• Register IOAR digunakan untuk menyimpan alamat word berikutnya yang
akan ditransfer, dan secara otomatis akan bertambah setelah setiap word
ditransfer.
• Register DC menyimpan jumlah word yang akan ditransfer. Register ini
secara otomastis berkurang pada setiap transfer dan diuji apakah bernilai
nol. Ketika DC mencapai nol, transfer DMA berhenti.
Organisasi Sistem Komputer
Priyanto (2021)
35
Elemen Pokok Sistem DMA
Priyanto (2021)

Organisasi Sistem Komputer


DMA Controller (DMAC) 36

DMA diimplementasikan menggunakan DMAC


• DMAC Bertindak sebagai prosesor slave
• DMAC menerima perintah dari prosesor

•Contoh: Membaca dari divais IO


Prosesor memberi memberi rincian ke DMAC
• Nomor IO device
• Buffer address memori utama
• Jumlah byte yang akan ditransfer
• Arah transfer (memory 🡪 IO device, atau sebaliknya)
Priyanto (2021)

Organisasi Sistem Komputer


Protocol DMA-CPU 37

Contoh DMA untuk Disk


• CPU memprogram DMAC: men-set register untuk menentukan
alamat sumber/tujuan, jumlah byte, dan informasi kontrol (read
atau write)
• DMAC melanjutkan untuk mengoperasikan bus memori secara
langsung tanpa bantuan CPU utama
• Disk controller mentransfer data ke memori utama
• Disk controller acks transfer ke DMA controller
Organisasi Sistem Komputer
Priyanto (2021)
38
Urutan Proses pada DMA
39

3
Teknik IO
Organisasi Sistem Komputer
Organisasi Sistem Komputer
Priyanto (2021)
40
Programmed IO
Organisasi Sistem Komputer
Priyanto (2021)
41
Interrupt Driven
Organisasi Sistem Komputer
Priyanto (2021)
42
DMA
Priyanto
priyanto@uny.ac.id

Anda mungkin juga menyukai