Post on 03-Jan-2016
description
Teknik Komunikasi I/OTerdapat tiga teknik untuk operasi I/O
Programmed I/O (I/O Terprogram) Interrupt-driven I/ODirect Memory Access (DMA)
Programmed I/O (I/O Terprogram)
CPU mengontrol I/O secara langsungMemeriksa statusPerintah Read/writeTransfer data
CPU menunggu modul I/O menyelesaikan operasi
Memboroskan waktu CPU
I/O Terprogram Lanj..
CPU meminta operasi I/OModul I/O melakukan operasiModul I/O mengeset status bitsCPU memeriksa status secara berkalaModul I/O tidak langsung memberi tahu CPUModul I/O tidak menginterupsi CPUCPU menunggu atau mengulang lagi
Perintah I/OCPU mengirimkan alamat
Identifikasi modul (& device jika lebih dari 1 per modul)
CPU mengirimkan perintahControl - memberi tahu modul apa yang harus
dikerjakan contoh: memutar disk
Test - memeriksa status contoh: power? Error?
Read/Write Modul mengirim data melalui buffer dari/ke device
Interrupt-driven I/O(I/O Terkendali Interupsi)
CPU tidak perlu menungguCPU tidak perlu memeriksa peranti berulang
ulangModul I/O menginterupsi jika sudah siap
Operasi Dasar I/O Terkendali Interupsi
CPU mengirimkan perintah membacaModul I/O mengambil data dari periferal
sementara CPU melakukan pekerjaan lainModul I/O menginterupsi CPUCPU meminta dataModul I/O mengirim data
Sudut pandang CPUMengirimkan perintah membacaMelakukan pekerjaan lainMemeriksa apakah ada interupsi pada setiap
akhir siklus instruksiJika ada interupsi:
Menyimpan isi registerMemproses interupsi
Direct Memory Access (DMA)
Interrupt driven dan programmed I/O membutuhkan peran aktif CPUTransfer rate (tingkat) terbatasCPU terikat
DMA jawabannyaDMA : Modul tambahan pada busKontrol DMA mengambil alih peran CPU
untuk I/O
DMACPU memerintah kontrol DMA :
Baca/TulisAlamat pirantiAlamat awal blok memoriJumlah data yang dikirimkan
CPU melanjutkan pekerjaan lainDMA melakukan pengiriman dataSetelah selesai DMA mengirimkan
interupsi
Informasi yang dikirimkan processor ke DMA module:- informasi Read/Write- Alamat I/O yang dilibatkan- Lokasi awal memory untuk ditulis atau dibaca- Jumlah word yang harus dibaca atau ditulis
Mengeluarkan perintah read ke Modul I/O
Periksa status
Selesai?
Status read dari modul I/O
Read word dari module
I/O
Write word ke dalam memori
CPU I/O
I/O CPU
Kondisi error
Tidak siap
CPU memori
Tidak
Ya
Intruksi selanjutnya
I/O CPU
Mengeluarkan perintah read ke Modul I/O
Periksa status
Selesai?
Status read dari modul I/O
Read word dari module
I/O
Write word ke dalam memori
CPU I/O
I/O CPU
Kondisi error
Siap
CPU memori
Tidak
Ya
Intruksi selanjutnya
I/O CPU
Mengeluarkan perintah read ke Modul I/O
Status read dari modul
DMA
CPU I/O
DMA CPU
Melakukan Hal lain
Interrupt
Melakukan Hal lain
Interrupt
(B) Interrupt-Driven I/O(A) I/O Terprogram (c) Direct memory Access
Intruksi selanjutnya
Register
Cache
Main Memory
Magnetic Disk
Magnetic Tape Optical Disk
Hierarki MemoryHierarki ini
berdasarkan :Kecepatan aksesKapasitas Harga per bit ?
Cache Memory
Proses transfer data dari/ke main memory ke/dari register CPU dilakukan per karakter, padahal kecepatan register dengan memory berbeda jauh
Agar CPU tidak menganggur (diminimalkan), digunakan cache sebagai perantara CPU dengan main memory
Beberapa terminologi pada cache memory (1)Cache size/Ukuran Cache
Kecepatan Semakin besar ukuran cache semakin cepat (sampai
ukuran tertentu) Apabila ukuran cache semakin besar, proses pengecekan
cache lebih lama.Harga
Semakin besar cache, semakin mahalBlock size
Biasanya cache menyimpan sejumlah blok pada suatu saat, namun jumlah ini jauh lebih sedikit dibanding dengan jumlah blok yang ada di memori.
Hit ratioUkuran perbandingan memori dengan cache (kapasitas
cache harus lebih kecil dibanding memori)
Beberapa terminologi pada cache memory (2)Mapping function
Hubungan antara blok-blok yang ada pada cache dengan blok-blok yang ada pada memori utama dispesifikasikan dengan menggunakan fungsi pemetaaan.
Replacement algorithm/LRU (Least Recently Used) adalah kumpulan aturan pembuat keputusan penggantian blok di cacheJika cache telah penuh sedangkan instruksi atau
data yang dibutuhkan tidak tersedia di cache, maka kontrol cache harus memutuskan bahwa ada blok yang harus dibuang pada cache dan diganti dengan blok baru yang dibutuhkan.
Write policyKebijakan penulisan dan pembacaan (read-write)
cache
Operasi Cache :CPU meminta isi suatu
lokasi memoriMemeriksa apakah data
terdapat di cacheJika ada di cache, ambil data
dari cache (cepat)Jika tidak ada di cache, copy
isi memori ke cache dan kirimkan data yang diminta ke CPU (lambat).
-> Pengiriman data dari/ke cache ke/dari register dilakukan per word sedangkan pengiriman data dari/ke cache ke/dari main memory per block
CPU
Cache
MainMemory
Word Transfer
Block Transfer
Locality of ReferencePada saat eksekusi program, procesor
cenderung membaca suatu cluster di memori.Contoh : Loop
Data
MemoryAddress
0
1
2
3Block(K words)
2n-1
WordLength
0
1
2
SlotNumber
Tag Block
Block Length(K Words)
(a) Main Memory
(b) CacheContoh Associative mapped-cacheDari 2n word di main memory
dibagi menjadi M blok. M=2n/KPada cache terdapat C slot
(tag+block). C<M
Receive Address (RA) from CPU
Start
Is Block Containing RA
in Cache
Fetch RA Word and Deliver to CPU
Done
Access MainMemory for Block Containing RA
Allocate Cache Slot for Main Memory Block
Deliver RA Word to CPU
Load Main Memory Block into Cache Slot
No
YEs
*RA = Read Address
Ada 2 jenis cacheSofware cache (caching disk controller)
cache dengan mendayagunakan RAM sebagai cache memory Akan mempercepat akses data pada disk dengan menyimpan data yang baru saja digunakan dalam memori
Hardware cache (on-the-board cache) menambahkan cache memory khusus pada boardAkan mempercepat akses memori itu sendiri dengan menyimpan data yang baru saja digunakan dalam memori yang lebih cepat lagi
Clock (Timer)Clock Hardware
Terdiri dari : - oscilator kristal- counter - holding register
Jika ada tekanan pada kristal akan menyebabkan adanya sinyal periodik yang menyebabkan counter berkurang terus menerus. Jika nilai counter nol maka akan menyebabkan CPU Interrupt
Counter diturunkan tiapada pulsa
Holding register digunakan untukmengambil counter
Oscilator Crystal
Clock Software • Semua clock hardware akan membangkitkan interrupt
dalam interval waktu tertentu. Sedangkan waktu yang diberikan ditentukan oleh software (Clock driver)
Mode Clock1. One-shot mode
Pada saat clock dimulai nilai holding register akan dicopy ke counter, kemudian menurunkan nilai counter untuk setiap terjadi pulsa pada kristal. Jika counter bernilai nol, akan menyebabkan interrupt dan berhenti hingga diaktifkan kembali menggunakan clock software
2. Square-wave modeSetelah counter bernilai nol dan menyebabkan interrupt, holding register secara otomatis dicopy-kan ke counter, dan proses diulang lagi sampai tak terbatas. Interrupt secara periodik ini disebut detak clock
Proteksi Sistem operasi
Operasi Dual ModeUser mode dan monitor mode (supervisor mode)
Proteksi I/O intruksi I/O dibuat dalam monitor mode
Proteksi CPU menggunakan timer mencegah over loop dengan memberikan interrupt setelah waktu tertentu
• Proteksi MemoryMenggunakan base register dan limit register
Monitor
Job 1
Job 2
0
256000
300040
420940
300040
base register
120900
limit register
Proteksi dilakukan agar tidak terjadi bentrokan pemakaian sumber daya