Kamis, 24 Desember 2015

MEMORI

PENGENALAN  MEMORI
Pengertian Memory Komputer
Memori  adalah  bagian  dari  komputer tempat program – program dan data – data disimpan. Sering digunakan istilah store atau storage untuk memori, meskipun kata storage sering digunakan untuk menunjuk ke penyimpanan disket. Tempat informasi, untuk dibaca dan ditulis Memiliki aneka ragam jenis, teknologi, organisasi, unjuk kerja dan harganya.

 Memori merupakan bagian dari komputer yang berfungsi sebagai tempat penyimpanan informasi yang harus  diatur  dan dijaga sebaik-baiknya. Memori biasanya disebut juga dengan istilah : computer storage, computer memory atau memory, merupakan piranti komputer yang digunakan sebagai media penyimpan data dan informasi saat menggunakan komputer. Memory merupakan bagian yang penting dalam komputer modern dan letaknya di dalam CPU (Central Processing Unit). Sebagian besar komputer memiliki hirarki memori yang terdiri atas tiga level, yaitu:

- physical Register di CPU, berada di level teratas. Informasi yang berada di register dapat diakses dalam satu clock cycle CPU. Primary Memory (executable memory), berada di level tengah. Contohnya, RAM. Primary Memory diukur dengan satu byte dalam satu waktu, secara relatif dapat diakses dengan cepat, dan bersifat volatile (informasi bisa hilang ketika komputer dimatikan).  CPU mengakses memori ini dengan instruksi single load dan store dalam beberapa clock cycle.

- Secondary Memory,s berada di level bawah. Contohnya, disk atau tape. Secondary Memory diukur sebagai kumpulan dari bytes (block of bytes), waktu aksesnya lambat, dan bersifat non-volatile (informasi tetap tersimpan ketika komputer dimatikan). Memori ini diterapkan di storage device, jadi akses meliputi aksi oleh driver dan device.

  • Memory merupakan sumberdaya komputer yang dikelola oleh sistem operasi komputer.
  • Pengelolaan memory bersangkutan dengan ruang atau letak  selain sebagai pengingat, memory juga bertindak selaku penyimpan (storage).
  • Ada isi memory yang sUdah bersifat tetap, sehingga tidak dapat diubah lagi, ada juga memory yang tidak bersifat tetap.
  • Keluasan ruang memory menyebabkan pencarian pencarian bagian atau letak memory tertentu menjadi tidak mudah.


Alamat Memori
  • Berdasarkan atas keperluan penyimpanan informasi, dikenal adanya alamat memori mutlak atau alamat memori fisik.
  • Berdasarkan atas kemudahan tataolah, dikenal adanya alamat memori relatif atau alamat memori logika.


 Jenis memori dan  Alamat memori :
  • Pada memori kerja, alamat mutlak adalah alamat fisik pada memori kerja, sedangkan alamat relatif adalah alamat memori yang secara tidak langsung menunjuk ke salah satu sel pada memori kerja.

Jenis Memori (MEDIA PENYIMPANAN)

Memori merupakan media penyimpanan data pada komputer, yang mana media penyimpanan data dalam computer dibagi menjadi 2 jenis yaitu :


A.  MEMORI INTERNAL
Memori jenis ini dapat diakses secara langsung oleh prosesor. Memori internal memiliki fungsi sebagai pengingat. Dalam hal ini yang disimpan di dalam memori utama dapat berupa data atau program. Memori biasa terbagi dibedakan menjadi dua macam: ROM dan RAM. Selain itu, terdapat pula memori yang disebut CACHE MEMORI, CMOS, DRAM, SDRAM, DIMM.

1. ROM (Read-Only-Memory a.k.a firmware)
Adalah jenis memori yang isinya tidak hilang ketika tidak mendapat aliran listrik dan pada awalnya isinya hanya bisa dibaca. ROM pada komputer disediakan oleh vendor komputer dan berisi program atau data. Di dalam PC, ROM biasa disebut BIOS (Basic Input/Output System) atau ROM-BIOS.

2. CMOS (Compmentary Meta-Oxyde Semiconductor).
Adalah jenis cip yang memerlukan daya listrik dari baterai. Cip ini berisi memori 64-byte yang isinya dapat diganti. Pada CMOS inilah berbagai pengaturan dasar komputer dilakukan, misalnya peranti yang digunakan untuk memuat sistem operasi dan termasuk pula tanggal dan jam sistem. CMOS merupakan bagian dari ROM.

3. RAM (Random-Access Memory).
Adalah jenis memori yang isinya dapat diganti-ganti selama komputer dihidupkan dan bersifat volatile. Selain itu, RAM mempunyai sifat yakni dapat menyimpan dan mengambil data dengan sangat cepat.

4. DRAM (Dynamic RAM).
Adalah jenis RAM yang secara berkala harus disegarkan oleh CPU agar data yang terkandung di dalamnya tidak hilang. DRAM merupakan salah satu tipe RAM yang terdapat dalam PC.

5. SDRAM (Sychronous Dynamic RAM).
Adalah jenis RAM yang merupakan kelanjutan dari DRAM namun telah disnkronisasi oleh clock sistem dan memiliki kecepatan lebih tinggi daripada DRAM. Cocok untuk sistem dengan bus yang memiliki kecepatan sampai 100 MHz.

6. DIMM (dual in-line memory module)
Berkapasitas 168 pin, kedua belah modul memori ini aktif, setiap permukaan adalah 84 pin. Ini berbeda daripada SIMM yang hanya berfungsi pada sebelah modul saja. Mensuport 64 bit penghantaran data. SDRAM (synchronous DRAM) menggunakan DIMM. Merupakan penganti dari DRAM, FPM (fast page memory) dan EDO.
SDRAM pengatur (synchronizes) memori supaya sama dengan CPU clock untuk pemindahan data yang lebih cepat. Terdapat dalam dua kecepatan yaitu 100MHz (PC100) dan 133MHz (PC133). DIMM 168 PIN. DIMM adalah jenis RAM yang terdapat di pasaran.

7. CACHE MEMORY.
Memori berkapasitas terbatas, memori ini berkecepatan tinggi dan lebih mahal dibandingkan memory utama. Berada diantara memori utama dan register pemroses, berfungsi agar pemroses tidak langsung mengacu kepada memori utama tetapi di cache memory yang kecepatan aksesnya yang lebih tinggi, metode menggunakan cache memory ini akan meningkatkan kinerja sistem. Cache memory adalah tipe RAM tercepat yang ada, dan digunakan oleh CPU, hard drive, dan beberapa komponen lainnya.

B. MEMORI EKSTERNAL
Merupakan memori tambahan yang berfungsi untuk menyimpan data atau program.Contoh: Hardisk, Floppy Disk dll. Hubungan antara Chace Memori, Memori Utama dan Konsep dasar memori eksternal adalah : Menyimpan data bersifat tetap (non volatile), baik pada saat komputer aktif atau tidak. Memori eksternal biasa disebut juga memori eksternal yaitu perangkat keras untuk melakukan operasi penulisan, pembacaan dan penyimpanan data, di luar memori utama.
Memori eksternal mempunyai dua tujuan utama yaitu sebagai penyimpan permanen untuk membantu fungsi RAM dan yang untuk mendapatkan memori murah yang berkapasitas tinggi bagi penggunaan jangka panjang.

Berbagai jenis memori eksternal sebagai berikut :

Berdasarkan Jenis Akses Data
Berdasarkan jenis aksesnya memori eksternal dikelompokkan menjadi dua jenis yaitu :

a.DASD (Direct Access Storage Device) : di mana ia mempunyai akses
   langsung terhadap data.

Contoh :
  • Magnetik (floppy disk, hard disk).
  • Removeable hard disk (Zip disk, Flash disk).
  • Optical Disk.


b.SASD (Sequential Access Storage Device) : Akses data secara tidak langsung (berurutan), seperti pita magnetik.

Berdasarkan Karakteristik Bahan
Berdasarkan karakteristik bahan pembuatannya, memori eksternal digolongkan menjadi beberapa kelompok sebagai berikut :

a. Punched Card atau Kartu Berlubang, merupakan kartu kecil berisi lubang-lubang yang menggambarkan berbagai instruksi atau data. Kartu ini dibaca melalui puch card reader yang sudah tidak digunakan lagi sejak tahun 1979.

b.Magnetic Disk, merupakan disk yang terbuat dari bahan yang bersifat magnetik, Contoh : floppy dan harddisk.

c. Optical Disk, terbuat dari bahan-bahan optik, seperti dari resin (polycarbonate) dan dilapisi permukaan yang sangat reflektif seperti alumunium. Contoh : CD dan DVD



Sabtu, 21 November 2015

PENJADWALAN PROSES (Sistem Operasi)

MENGENAL PENJADWALAN PROSES
Pengertian  Penjadwalan  Proses

Penjadwalan proses Merupakan kumpulan kebijaksanaan dan mekanisme di sistem operasi yang berkaitan dengan urutan kerja yang dilakukan sistem komputer.         Sedangkan proses sendiri merupakan unit kerja terkecil yang secara individu memiliki sumberdaya  atau  unit  pemilikan  sumberdaya.

Tugas Penjadwalan Proses :
  •    Memutuskan proses yang harus berjalan
  •    Memutuskan kapan dan selama berapa lama proses 
      itu berjalan


Tujuan  Penjadwalan Proses

Tujuan dari multiprogramming adalah untuk memiliki sejumlah proses yang berjalan pada sepanjang waktu, untuk memaksimalkan penggunaan CPU. Pada sistem multiprogramming, selalu akan terjadi beberapa proses berjalan dalam suatu waktu. Sedangkan pada uniprogramming hal ini tidak akan terjadi, karena hanya ada satu proses yang  berjalan  pada  saat  tertentu. Sistem multiprogramming
Diperlukan  untuk  memaksimalkan  utilitas  CPU.

Tujuan dari pembagian waktu adalah untuk mengganti CPU diantara proses-proses yang begitu sering sehingga pengguna dapat berinteraksi dengan setiap program sambil CPU bekerja.

Untuk sistem uniprosesor, tidak akan ada lebih dari satu proses berjalan. Jika ada proses yang lebih dari itu, yang lainnya akan harus menunggu sampai CPU bebas dan dapat dijadualkan kembali.

Elemen Utama Penjadwalan Proses / Strategi Penjadwalan Proses
Konsep Dasar Penjadwalan Proses

Terdapat banyak algoritma penjadwalan ,baik nonpreemptive maupun preemptive :
  • Preemptive Scheduling Atau Penjadwalan Preemtive yaitu dimana Saat proses diberi jatah waktu pemproses boleh diambil alih oleh proses yang lain, sehingga proses dapat disela sebelum proses itu selesai. Pada strategi ini, sistem operasi dan proses lain dapat mengambil alih eksekusi prosesor tanpa harus menunggu proses yang sedang running menyelesaikan tugasnya. Penjadwalan preemptive merupakan fitur yang penting, terutama pada sistem dimana proses-proses memerlukan tanggapan prosesor secara cepat.
  • Non-Preemtive Scheduling Atau Penjadwalan Nonpreemtive Begitu proses diberi jatah waktu pemproses maka pemproses tidak dapat diambil alih oleh proses lain sampai proses itu selesai. Pada strategi ini, begitu proses telah berjalan maka sistem operasi maupun proses lain tidak dapat mengambil alih eksekusi prosesor. Pengalihan hanya dapat terjadi jika proses yang running sudah selesai, baik secara normal maupun abnormal.

  • Dispatcher adalah suatu modul yang akan memberikan kontrol secepat mungkin pada CPU terhadap penyeleksian proses.
-Alih Konteks
-Switching to user mode.
-Lompat dari suatu bagian di progam user untuk mengulang progam. 
    Dispatch Latency adalah waktu yang dibutuhkan untuk menghentikan suatu proses dan menjalankan proses yang lain.


Algoritma  Penjadwalan Proses yang menerapkan strategi Non  Preemptive  diantaranya:

– FIFO (First In First Out) Atau FCFS (First Come First Served)

Algoritma FIFO adalah sebuah algoritma yang mempunyai cara kerja mengganti page yang menempati memory paling lama. Algoritma ini adalah algoritma yang paling sederhana. Prinsip dari algoritma ini adalah seperti prinsip antrian (antrian tak berprioritas), halaman yang masuk lebih dulu maka akan keluar lebih dulu juga. Algoritma ini menggunakan struktur data stack.
Apabila tidak ada frame kosong saat terjadi page fault, maka korban yang dipilih adalah frame yang berada di stack paling bawah, yaitu halaman yang berada paling lama berada di memori. Dengan hanya informasi mengenai lama berada di memori, maka algoritma ini dapat memindahkan page yang sering digunakan. Boleh jadi page itu berada terus di memori karena selalu digunakan. Page itu karena mengikuti pola antrian berdasar lamanya berada di memori menjadi elemen terdepan, diganti, dan segera harus masuk kembali ke memori sehingga terjadi page fault kembali
Proses yang pertama kali meminta jatah waktu untuk menggunakan CPU akan dilayani terlebih dahulu. Pada skema ini, proses yang meminta CPU pertama kali akan dialokasikan ke CPU pertama kali.
Misalnya terdapat tiga proses yang dapat dengan urutan P1, P2, dan P3 dengan waktu CPU-burst dalam milidetik yang diberikan sebagai berikut :
Process             Burst Time
P1                             24
P2                             3
P3                             3


– SJF (Shortest Job First)

Penjadwalan ini mengasumsikan waktu jalan proses sampai selesai diketahui sebelumnya. Mekanismenya adalah menjadwalkan proses dengan waktu jalan terpendek lebih dulu sampai selesai, sehingga memberikan efisiensi yang tinggi dan turn around time rendah dan penjadwalannya tak berprioritas.

Contoh :

Terdapat empat proses (job) yaitu A,B,C,D dengan waktu jalannya masing-masing adalah 8,4,4 dan 4 menit. Apabila proses-proses tersebut dijalankan, maka turn around time untuk A adalah 8 menit, untuk B adalah 12, untuk C adalah 16 dan untuk D adalah 20. Untuk menghitung rata-rata turn around time seluruh proses adalah dengan menggunakan rumus : ( 4a + 3b + 2c + 1d ) / 4 Dengan menggunakan rumus, maka dapat dihitung turn around time-nya sebagai berikut (belum memperhatikan shortest job first, lihat gambar a) :

= ( 4a + 3b + 2c + 1d ) / 4
= ( 4x8 + 3x4 + 2x4 + 1x4 ) / 4
= ( 32 + 12 + 8 + 4 ) / 4
= 56 / 4
= 14 menit

Apabila keempat proses tersebut menggunakan penjadwalan shortest job fisrt (lihat gambar b), maka turn around time untuk B adalah 4, untuk C adalah 8, untuk D adalah 12 dan untuk A adalah 20, sehingga rata-rata turn around timenya adalah sebagai berikut :
= ( 4a + 3b + 2c + 1d ) / 4
= ( 4x4 + 3x4 + 2x4 + 1x8 ) / 4
= ( 16 + 12 + 8 + 8 ) / 4
= 44 / 4
= 11 menit

Tidak memperhatikan SJF Memperhatikan SJF
Posisi : a b c d a b c d
Priority : 4 3 2 1 4 3 2 1
Job : A B C D B C D A
+-----------------+ +-----------------+
: 8 : 4 : 4 : 4 : : 4 : 4 : 4 : 8 :
+-----------------+ +-----------------+
(a)      (b)

Jelas bahwa a memberikan nilai kontribusi yang besar, kemudian b, c dan d. Karena SJF selalu memperhatikan rata-rata waktu respon terkecil, maka sangat baik untuk proses interaktif. Umumnya proses interaktif memiliki pola, yaitu menunggu perintah, menjalankan perintah, menunggu perintah dan menjalankan perintah, begitu seterusnya. Masalah yang muncul adalah :
  • Tidak mengetahui ukuran job saat job masuk. Untuk mengetahui ukuran job adalah dengan membuat estimasi berdasarkan kelakukan sebelumnya.
  • Proses yang tidak datang bersamaan, sehingga penetapannya harus dinamis.

Penjadwalan ini jarang digunakan, karena merupakan kajian teoritis untuk pembandingan turn around time.


– HRN (Highest Ratio Net)

Merupakan penjadwalan berprioritas dinamis. Penjadwalan untuk mengoreksi kelemahan SJF. Adalah strategi penjadwalan dengan prioritas proses tidak hanya merupakan Fungsi waktu layanan tetapi juga jumlah waktu tunggu proses. Begitu proses mendapat jatah pemroses, proses berjalan sampai selesai.
Prioritas dinamis HRN dihitung berdasarkan rumus : Prioritas = (waktu tunggu + waktu layanan ) / waktu layanan Karena waktu layanan muncul sebagai pembagi, maka job lebih pendek berprioritas lebih baik, karena waktu tunggu sebagai pembilang maka proses yang telah menunggu lebih lama juga mempunyai kesempatan lebih bagus.Disebut HRN, karena waktu tunggu ditambah waktu layanan adalah waktu tanggap, yang berarti waktu tanggap tertinggi yang harus dilayani.
Penjadwalan ini mengasumsikan waktu berjalannya proses sampai selesai telah diketahui sebelumnya. Mekanismenya adalah menjadwalkan proses dengan waktu jalan terpendek lebih dulu sampai selesai, sehingga memberikan efisiensi yang tinggi dan turn around time rendah dan penjadwalannya tak berprioritas.

Contoh :

Terdapat empat proses (job) yaitu A,B,C,D dengan waktu jalannya masing-masing adalah 8,4,4 dan 4 menit. Apabila proses-proses tersebut dijalankan, maka turn around time untuk A adalah 8 menit, untuk B adalah 12, untuk C adalah 16 dan untuk D adalah 20. Apabila keempat proses tersebut menggunakan penjadwalan shortest job fisrt, maka turn around time untuk B adalah 4, untuk C adalah 8, untuk D adalah 12 dan untuk A adalah 20.

Karena SJF selalu memperhatikan rata-rata waktu respon terkecil, maka sangat baik untuk proses interaktif. Umumnya proses interaktif memiliki pola, yaitu menunggu perintah, menjalankan perintah, menunggu perintah dan menjalankan perintah, begitu seterusnya. Masalah yang muncul adalah tidak mengetahui ukuran job saat job masuk.
Untuk mengetahui ukuran job adalah dengan membuat estimasi berdasarkan kelakukan sebelumnya. Prosesnya tidak datang bersamaan, sehingga penetapannya harus dinamis. Penjadwalan ini jarang digunakan karena merupakan kajian teoritis untuk pembandingan turn around time.


– MFQ (Multiple Feedback Queues)

Merupakan penjadwalan berprioritas dinamis. Penjadwalan ini untuk mencegah (mengurangi) banyaknya swappingdengan proses-proses yang sangat banyak menggunakan pemroses (karena menyelesaikan tugasnya memakan waktu lama) diberi jatah waktu (jumlah kwanta) lebih banyak dalam satu waktu.
 Penjadwalan ini juga menghendaki kelas-kelas prioritas bagi proses-proses yang ada. Kelas tertinggi berjalan selama satu kwanta, kelas berikutnya berjalan selama dua kwanta, kelas berikutnya berjalan empat kwanta, dan seterusnya. Ketentuan yang berlaku adalah sebagai berikut :
  • Jalankan proses pada kelas tertinggi.
  • Jika proses menggunakan seluruh kwanta yang dialokasikan, maka diturunkan kelas prioritasnya.
  • Proses yang masuk untuk pertama kali ke sistem langsung diberi kelas tertinggi.

Mekanisme ini mencegah proses yang perlu berjalan lama swapping berkali-kali dan mencegah proses-proses interaktif yang singkat harus menunggu lama.

Algoritma  Penjadwalan Proses yang menerapkan strategi Preemptive diantaranya:

      RR (Round Robin)

Merupakan Penjadwalan yang paling tua, sederhana, adil,banyak digunakan algoritmanya dan mudah diimplementasikan. Penjadwalan ini bukan dipreempt oleh proses lain tetapi oleh penjadwal berdasarkan lama waktu berjalannya proses (preempt by time). Penjadwalan tanpa prioritas. Berasumsi bahwa semua proses memiliki kepentingan yang sama, sehingga tidak ada prioritas tertentu.
Semua proses dianggap penting sehingga diberi sejumlah waktu oleh pemroses yang disebut kwanta (quantum) atau time slice dimana proses itu berjalan. Jika proses masih running sampai akhir quantum, maka CPU akan mempreempt proses itu dan memberikannya ke proses lain. Penjadwal membutuhkannya dengan memelihara daftar proses dari runnable.

 Algoritma penjadwalan ini mirip dengan algoritma First Come FirstServed, tetapi proses ini memberi suatu batasan waktu untuk setiap proses yang disebut dengan time quantum. Time quantum adalah suatu satuan waktu yang kecil.Jika proses yang sedang dieksekusi selesai dalam waktu kurang dari 1 time quantum, tidak ada masalah. Tetapi jika proses berjalan melebihi 1 time quantum, maka proses tersebut akan dihentikan,lalu digantikan oleh proses yang berikutnya. Proses yang ihentikan tersebut akan diletakkan di queue di urutan paling belakang.(Perhatikan gambar 15-4).
Permasalahan utama pada Round Robin adalah menentukan besarnya time quantum. Jika time quantum yang ditentukan terlalu kecil,maka sebagian besar proses tidak akan selesai dalam 1 time quantum.Hal ini tidak baik karena akan terjadi banyak switch, padahal CPU memerlukan waktu untuk beralih dari suatu proses ke proses lain (disebut dengan context switches time). Sebaliknya, jika time quantum terlalu besar, algoritma Round Robin akan berjalan seperti algoritma First Come First Served.
Time quantum yang ideal adalah jika 80% dari total proses memiliki CPU burst time yang lebih kecil dari 1 time quantum.

-SRF (Shortest Remaining First)
Merupakan :
  • Penjadwalan berprioritas.dinamis.
  • Adalah preemptive untuk timesharing
  • Melengkapi SJF

Pada SRF, proses dengan sisa waktu jalan diestimasi terendah dijalankan,
termasuk proses-proses yang baru tiba.

  • Pada SJF, begitu proses dieksekusi, proses dijalankan sampai selesai.
  • Pada SRF, proses yang sedang berjalan (running) dapat diambil alih proses baru dengan sisa waktu jalan yang diestimasi lebih rendah.

Kelemahan :
  • Mempunyai overhead lebih besar dibanding SJF. SRF perlu penyimpanan waktu layanan yang telah dihabiskan job dan kadang-kadang harus menangani peralihan.
  • Tibanya proses-proses kecil akan segera dijalankan.
  • Job-job lebih lama berarti dengan lama dan variasi waktu tunggu lebih lama dibanding pada SJF.

SRF perlu menyimpan waktu layanan yang telah dihabiskan , menambah overhead. Secara teoritis, SRF memberi waktu tunggu minimum tetapi karena overhead peralihan, maka pada situasi tertentu SFJ bisa memberi kinerja lebih baik disbanding SRF.


-PS (Priority Schedulling)

Adalah tiap proses diberi prioritas dan proses yang berprioritas tertinggi mendapat jatah waktu lebih dulu (running). Berasumsi bahwa masing-masing proses memiliki prioritas tertentu, sehingga akan dilaksanakan berdasar prioritas yang dimilikinya.
 Ilustrasi yang dapat memperjelas prioritas tersebut adalah dalam komputer militer, dimana proses dari jendral berprioritas 100, proses dari kolonel 90, mayor berprioritas 80, kapten berprioritas 70, letnan berprioritas 60 dan seterusnya. Dalam UNIX perintah untuk mengubah prioritas menggunakan perintah nice.
Pemberian prioritas diberikan secara :

a. Statis (static priorities)
yaitu Berarti prioritas tidak berubah.

Keunggulan :
  • Mudah diimplementasikan.
  • Mempunyai overhead relatif kecil.

Kelemahan :
  • Tidak tanggap terhadap perubahan lingkungan yang mungkin menghendaki
  • penyesuaian prioritas.

b. Dinamis (dynamic priorities)
Merupakan mekanisme untuk menanggapi perubahan lingkungan system beroperasi. Prioritas awal yang diberikan ke proses mungkin hanya berumur pendek setelah disesuaikan ke nilai yang lebih tepat sesuai lingkungan.

Kelemahan :
  • Implementasi mekanisme prioritas dinamis lebih kompleks dan mempunyai overhead lebih besar. Overhead in diimbangi dengan peningkatan daya tanggap sistem.

Contoh penjadwalan berprioritas :

Proses-proses yang sangat banyak operasi masukan/keluaran menghabiskan kebanyakan waktu menunggu selesainya operasinya masukan/keluaran. Prosesproses ini diberi prioritas sangat tinggi sehingga begitu proses memerlukan pemroses segera diberikan, proses akan segera memulai permintaan masukan/keluaran berikutnya sehingga menyebabkan proses blocked menunggu selesainya operasi masukan/keluaran. Dengan demikian pemroses dapat dipergunakan proses-proses lain. Proses-proses I/O berjalan paralel bersama proses-proses lain yang benar-benar memerlukan pemroses, sementara prosesproses I/O itu menunggu selesainya operasi DMA.
Proses-proses yang sangat banyak operasi I/O-nya, kalau harus menunggu lama untuk memakai pemroses (karena prioritas rendah) hanya akan membebani memori, karena harus disimpan tanpa perlu proses-proses itu dimemori karena tidak selesai-selesai menunggu operasi masukan dan menunggu jatah pemroses. Dalam algoritma berprioritas dinamis dituntun oleh keputusan untuk memenuhi kebijaksanaan tertentu yang menjadi tujuan. Layanan yang bagus adalah mensetprioritas dengan nilai 1/f, dimana f adalah ration kwanta terakhir yang digunakan proses.

Contoh :
  • Proses yang menggunakan 2 msec kwanta 100 ms, maka prioritasnya50.
  • Proses yang berjalan selama 50 ms sebelum blocked berprioritas 2.
  • Proses yang menggunakan seluruh kwanta berprioritas 1.

Kebijaksanaan yang diterapkan adalah jaminan proses-proses mendapat layanan adil dari pemroses dalam arti jumlah waktu pemroses yang sama. Keunggulannya penjadwalan berpriorita adalah memenuhi kebijaksanaan yang ingin mencapai maksimasi suatu kriteria diterapkan. Algoritma ini dapat dikombinasikan, yaitu dengan mengelompokkan proses-proses menjadi kelaskelas prioritas. Penjadwalan berprioritas diterapkan antar kelas-kelas proses itu.

-Guaranteed Scheduloing (GS)

Penjadwalan ini memberikan janji yang realistis (memberi daya pemroses yang sama) untuk membuat dan menyesuaikan performance adalah jika ada N pemakai, sehingga setiap proses (pemakai) akan mendapatkan 1/N dari daya pemroses CPU.
Untuk mewujudkannya, sistem harus selalu menyimpan informasi tentang jumlah waktu CPU untuk semua proses sejak login dan juga berapa lama pemakai sedang login. Kemudian jumlah waktu CPU, yaitu waktu mulai login dibagi dengan n, sehingga lebih mudah menghitung rasio waktu CPU. Karena jumlah waktu pemroses tiap pemakai dapat diketahui, maka dapat dihitung rasio antara waktu pemroses yang sesungguhnya harus diperoleh, yaitu 1/N waktu pemroses seluruhnya dan waktu pemroses yang telah diperuntukkan proses itu.
Rasio 0,5 berarti sebuah proses hanya punya 0,5 dari apa yang waktu CPU miliki dan rasio 2,0 berarti sebuah proses hanya punya 2,0 dari apa yang waktu CPU miliki.
Algoritma akan menjalankan proses dengan rasio paling rendah hingga naik ketingkat lebih tinggi diatas pesaing terdekatnya. Ide sederhana ini dapat diimplementasikan ke sistem real-time dan memiliki penjadwalan berprioritas dinamis.


Scheduling Criteria
Penilaian penjadwalan ini berdasarkan kriteria optimasi :
  • Adil, dalam arti resmi (proses yang datang duluan akan dilayani lebih dulu), tapi dinyatakan tidak adil karena job-job yang perlu waktu lama membuat job-job pendek menunggu. Job-job yang tidak penting dapat membuat job-job penting menunggu lama. proses-proses diperlakukan sama, dalam artian adil. Adil disini tidak berarti terdapat perlakuan yang sama kepada setiap process, melainkan terdapat beberapa variabel seperti prioritas, dll yang akan dipelajari nanti.
  • CPU  Utilization, diharapkan agar CPU selalu dalam keadaan sibuk, sehingga penggunaan CPU lebih optimal.
  • Throughput, adalah banyaknya proses yang selesai dikerjakan dalam satu satuan waktu. Sasaran penjadwalan adalah memaksimalkan jumlah job yang diproses dalam satu satuan waktu.
  • Efisiensi, sangat efisien dan efektivitas.
  • Waiting-Time, adalah waktu yang diperlukan oleh suatu proses untuk menunggu di ready queue. Sasaran Penjadwalan : meminimalkan waiting time.
  • Response-Time, adalah waktu yang diperlukan oleh suatu proses dari minta dilayani hingga ada respon pertama menanggapi permintaan tersebut . Sasaran penjadwalan : meminimalkan waktu tanggap



Selasa, 17 November 2015

CACHE MEMORY

Pengertian Cache Memori

Definisi Cache

Cache adalah memori yg lebih kecil, lebih cepat yang menyimpan salinan data dari yang paling sering digunakan memori utama lokasi.

Definisi Cache Memory
Cache berasal dari kata cash yakni sebuah tempat menyembunyikan atau tempat menyimpan sementara. Sesuai definisi tersebut Cache Memory adalah tempat menyimpan data sementara. Cara ini dimaksudkan untuk meningkatkan transfer data dengan menyimpan data yang pernah diakses pada cache tersebut, sehingga apabila ada data yang ingin diakses adalah data yang sama maka maka akses akan dapat dilakukan lebih cepat. Cache memori ini terletak antara register dan memory utama sehingga pemrosesan data tidak langsung mengacu pada memori utama. Penggunaan cache ditujukan untuk meminimalisir terjadinya bottleneck dalam aliran data antara processor dan RAM. Sedangkan dalam terminologi software, istilah ini merujuk pada tempat penyimpanan sementara untuk beberapa file yang sering diakses (biasanya diterapkan dalam network).
Cache memory adalah memori sesaat yang memiliki kecepatan tinggi dengan ukuran yang kecil. Memori ini bertugas untuk menyimpan salinan perintah / instruksi yang selalu diakses oleh CPU. Tugas Cache memory adalah sebagai penghubung perbedaan kecepatan antara CPU dan Memori Utama. Dalam implementasinya jenis memori yang digunakan untuk cache adalah statik RAM (SRAM).


Bagan Cache Memory



Level Cache Memory
Cache memori ada tiga Jenis Atau level yaitu L1,L2 dan L3.
  •  Cache memori level 1 (L1) adalah cache memori yang terletak dalam prosesor (cache internal). Cache ini memiliki kecepatan akses paling tinggi dan harganya paling mahal. Ukuran memori berkembang mulai dari 8Kb, 64Kb dan 128Kb.Cache level 2 (L2) memiliki kapasitas yang lebih besar yaitu berkisar antara 256Kb sampai dengan 2Mb. Namun cache L2 ini memiliki kecepatan yang lebih rendah dari cache L1.
  •   Cache L2 terletak terpisah dengan prosesor atau disebut dengan cache eksternal.
  •   Cache level 3 hanya dimiliki oleh prosesor yang memiliki unit lebih dari satu misalnya dualcore dan quadcore. Fungsinya adalah untuk mengontrol data yang masuk dari cache L2 dari masing-masing inti prosesor.

 L1 CACHE, L2 CACHE, L3 CACHE
          L1 dan L2 Cache adalah memori sementara pada processor. Jadi ketika komputer dimatikan, maka ingatan yang ada pada processor pun akan hilang. L1 dan L2 mempunyai fungsi dan perbedaan, diantaranya adalah.


Fungsi Cache L1, L2, dan L3
  • Cache L1: Sejumlah kecil SRAM memori yang digunakan sebagai cache yang terintegrasi atau satu paket di dalam modul yang sama pada prosesor. L1 cache ini dikunci pada kecepatan yang sama pada prosesor. Berguna untuk menyimpan secara sementara instruksi dan data, dan memastikan bahwa prosesor memiliki supply data yang stabil untuk diproses sementara memori mengambil dan menyimpan data baru.
  • Cache L2: Fungsinya sama dengan L1 Cache, L2 Cache dikenal juga dengan nama secondary cache, adalah memory yang memiliki urutan kecepatan kedua (tipe memori yang paling cepat adalah L1 Cache) yang disediakan untuk mikroprosesor.
  • Cache L3: L3 cache memori khusus yang bekerja tangan-di-tangan dengan L1 dan L2 cache untuk meningkatkan kinerja komputer. L1, L2 dan L3 cache yangpemrosesan komputer unit ( CPU ) cache, ayat-ayat jenis lain dalam sistem cache seperti hard disk cache

Operasi Cache

Jika prosesor membutuhkan suatu data, pertama prosesor akan mencarinya pada cache. Jika data ditemukan, prosesor akan langsung membacanya dengan delay yang sangat kecil. Tetapi jika data yang dicari tidak ditemukan,prosesor akan mencarinya pada RAM yang kecepatannya lebih rendah.
Pada umumnya, cache dapat menyediakan data yang dibutuhkan oleh prosesor sehingga pengaruh kerja RAM yang lambat dapat dikurangi. Dengan cara ini maka memory bandwidth akan naik dan kerja prosesor menjadi lebih efisien. Selain itu kapasitas memori cache yang semakin besar juga akan meningkatkan kecepatan kerja komputer secara keseluruhan.
 Dua jenis cache yang sering digunakan dalam dunia komputer adalah memory caching dan disk caching. Implementasinya dapat berupa sebuah bagian khusus dari memori utama komputer atau sebuah media penyimpanan data khusus yang berkecepatan tinggi

Karakteristik Cache Memory
  • Kapasitas relatif lebih kecil dari main memory, tetapi memiliki kecepatan yang relativ lebih tinggi dibanding main memory;
  • Cache memory merupakan suatu memori buffer (salinan data) bagi memori utama
  • Meskipun cache menggunakan informasi yang tersimpan dalam memori utama, tetapi ia tidak berhadapan secara langsung dengan memori utama
  • Word yang disimpan didalam cache memory adalah word yang diambil dari main memory, yang dikerjakan sesuai perintah CPU.


Fungsi dan Manfaat Cache Memory
Cache  memory berfungsi sebagai tempat penyimpanan sementara untuk data atau instruksi yang diperlukan oleh processor. Secara gampangnya, cache berfungsi untuk mempercepat akses data pada komputer karena cache menyimpan data/informasi yang telah diakses oleh suatu buffer, sehingga meringankan kerja processor.
Manfaat lain dari cache memory adalah bahwa CPU tidak harus menggunakan sistem bus motherboard untuk mentransfer data. Setiap kali data harus melewati bus sistem, kecepatan transfer data memperlambat kemampuan motherboard. CPU dapat memproses data lebih cepat dengan menghindari hambatan yang diciptakan oleh sistem bus.

"MEMORY INTERNAL"
Pengertian Memory Internal

Memory Internal adalah Memory yang dapat diakses secara langsung oleh prosesor. Memori internal memiliki fungsi sebagai pengingat. Dalam hal ini yang disimpan di dalam memori utama dapat berupa data atau program. Secara lebih rinci, fungsi dari memori utama adalah : Menyimpan data yang berasal dari peranti masukan sampai data dikirim ke ALU (Arithmetic and Logic Unit) untuk diproses Menyimpan daya hasil pemrosesan ALU sebelum dikirimkan ke peranti keluaran Menampung program/instruksi yang berasal dari peranti masukan atau dari peranti pengingat sekunder.

 Jenis - Jenis Memory Internal
ROM (Read Only Memory) : Merupakan perangkat keras pada komputer berupa chip memori semikonduktor yang isinya hanya dapat dibaca. Jenis memori ini datanya hanya bisa dibaca dan tidak bisa ditulis secara berulang-ulang. Memori ini berjenis non-volatile, artinya data yang disimpan tidak mudah menguap (hilang) walaupun catu dayanya dimatikan. Karena itu memori ini biasa digunakan untuk menyimpan program utama dari suatu sistem.
ROM pada komputer disediakan oleh vendor komputer dan berisi program atau data.Di dalam PC, ROM biasa disebut BIOS (Basic Input/Output System) atau ROM-BIOS. Instruksi dalam BIOS inilah yang akan dijalankan oleh mikroprosesor ketika komputer mulai dihidupkan.
Sampai sekarang dikenal beberapa jenis ROM yang pernah beredar dan terpasang pada komputer, antara lain PROM :

  • PROM (Progammable Read-Only-Memory) : Jika isi ROM ditentukan oleh vendor, PROM dijual dalam keadaan kosong dan kemudian dapat diisi dengan program oleh pemakai. Setelah diisi dengan program, isi PROM tak bisa dihapus.
  • EPROM (Erasable Programmable Read-Only-Memory) : Berbeda dengan PROM, isi EPROM dapat dihapus setelah diprogram. Penghapusan dilakukan dengan menggunakan sinar ultraviolet.
  • EEPROM (Electrically Erasable Programmable Read-Only0Memory) : EEPROM dapat menyimpan data secara permanen, tetapi isinya masih bisa dihapus secara elektris melalui program. Salah satu jenis EEPROM adalah Flash Memory. Flash Memory biasa digunakan pada kamera digital, konsol VIDEO GAME, dan cip BIOS.


RAM (Random Access Memory) : Merupakan jenis memori yang isinya dapat diganti-ganti selama komputer sihidupkan dan sebagai suatu penyimpanan data yang dapat dibaca atau ditulis dan dapat dilakukan secara berulang-ulang dengan data yang berbeda-beda. Jenis memori ini merupakan jenis volatile (mudah menguap), yaitu data yang tersimpan akan hilang jika catu dayanya dimatikan. Karena alasan tersebut, maka program utama tidak pernah disimpan di RAM. Random artinya data yang disimpan pada RAM dapat diakses secara acak. Modul memori RAM yang umum diperdagangkan berkapasitas 128 MB, 256 MB, 512 MB, 1 GB, 2 GB, dan 4 GB.
RAM dibagi lagi menjadi dua jenis, yaitu jenis Statik dan Dinamik. RAM statik menyimpan satu bit informasi dalam sebuah flip-flop. RAM statik biasanya digunakan untuk aplikasi-aplikasi yang tidak memerlukan kapasitas memori RAM yang besar. RAM dinamik menyimpan satu bit informasi data sebagai muatan. RAM dinamik menggunakan kapasitansi gerbang substrat sebuah transistor MOS sebagai sel memori elementer. Untuk menjaga agar data yang tersimpan RAM dinamik tetap utuh, data tersebut harus disegarkan kembali dengan cara membaca dan menulis ulang data tersebut ke memori. RAM dinamik ini digunakan untuk aplikasi yang memerlukan RAM dengan kapasitas besar, misalnya dalam sebuah komputer pribadi (PC).

Jenis - Jenis RAM
  • DRAM (Dynamic Random Access Memory) adalah jenis RAM yang menyimpan setiap bit data yang terpisah dalam kapasitor dalam satu sirkuit terpadu. Data yang terkandung di dalamnya harus disegarkan secara berkala oleh CPU agar tidak hilang. Hal ini membuatnya sangat dinamis dibandingkan dengan memori lainnya. Dalam strukturnya, DRAM hanya memerlukan satu transistor dan kapasitor per bit, sehingga memiliki kepadatan sangat tinggi.
  • SRAM (Static Random Access Memory) adalah jenis RAM (sejenis memori semikonduktor) yang tidak menggunakan kapasitor. Hal ini mengakibatkan SRAM tidak perlu lagi disegarkan secara berkala seperti halnya dengan DRAM. Ini juga sekaligus membuatnya memiliki kecepatan lebih tinggi dari DRAM. Berdasarkan fungsinya terbagi menjadi Asynchronous dan Synchronous.
  • EDORAM (Extended Data Out Random Accses Memory) adalah jenis RAM yang dapat menyimpan dan mengambil isi memori secara bersamaan, sehingga kecepatan baca tulisnya pun menjadi lebih cepat. Umumnya digunakan pada PC terdahulu sebagai pengganti Fast Page Memory (FPM) RAM. Seperti FPM DRAM, EDO RAM memiliki kecepatan maksimal 50MHz EDO RAM uga harus membutuhkan L2 Cache untuk membuat semuanya berjalan dengan cepat, namun jika user tidak memilikinya, maka EDO RAM akan berjalan jauh lebih lambat.
  • FPM RAM (Fast Page Mode DRAM) adalah model DRAM paling lama. Masalah yang sering muncul dari FPM DRAM adalah kecepatan transfernya yang lambat yakni maksimum 50MHz.
  • SDRAM (Synchronous Dynamic Random Acces Memory). SDRAM bukanlah sebuah ekstensi dari seri EDO RAM yang lama, namun merupakan tipe baru dari DRAM. SDRAM mulai berjalan dengan kecepatan transfer 66MHz, sementara mode halaman DRAM dan EDO yang lebih lama akan berjalan di maksimal 50MHz. SDRAM sekarang ini dapat berjalan dengan kecepatan 133MHz (PC133), dan bakan hingga 180MHz atau lebih tinggi. Untuk mempercepat kinerja processor, maka RAM generasi baru seperti DDR dan RDRAM biasanya dapat mendukung performa yang lebih baik.
  • DDR (Double Data Rate SDRAM). DDR pada dasarnya memiliki kecepatan transfer dua kali lipat daripada SDRAM. DDR akan beroperasi di 333MHz, dengan pengoperasian sebenarnya 166MHz * 2 (aka PC333 / PC2700) atau 133MHz*2 (PC266 / PC2100). DDR RAM juga kompatibel dengan SDRAM secara fisik, namun menggunakan bus parallel yang sama, sehingga membuat implemnetasi lebih mudah dibandingkan RDRAM, yang merupakan teknologi berbeda.
  • RDRAM (Rambus Dynamic Random Acces Memory) adalah salah satu tipe dari RAM dinamis sinkron yang diproduksi oleh Rambus Corporation menggunakan Bus Speed sebesar 800 MHz tetapi memiliki jalur data yang sempit (8 bit). RDRAM memiliki memory controller yang canggih sehingga tidak semua motherboard bisa mendukungnya. Contoh produk yang memakainya adalah 3dfx seri Voodoo4. RDRAM merupakan teknologi memory serial yang datang dengan tiga pilihan, yakni PC600, PC700, dan PC800. PC800 RDRAM didesain dengan double maximum kecepatan transfer daripada PC100 SDRAM, namun memiliki latensi tinggi. RDRAM memiliki multi channel, seperti pada motherboard Pentium 4, yang dapat menawarkan fungsi memori paling bagus, terutama ketika dipasangkan dengan memory PC1066 RDRAM.

  "MEMORY EKSTERNAL" 
    Pengertian Memory Eksternal
Memory Eksternal adalah memori tambahan yang berfungsi untuk menyimpan data atau program. Dengan kata lain memory ini termasuk perangkat keras untuk melakukan operasi penulisan, pembacaan dan penyimpanan data, di luar memori utama. Contoh: Hardisk, Flash Disk maupun Floppy Disk. Pada dasarnya konsep dasar memori eksternal adalah Menyimpan data bersifat tetap (non volatile), baik pada saat komputer aktif atau tidak.
Memori eksternal mempunyai dua fungsi utama yaitu sebagai penyimpan permanen untuk membantu fungsi RAM dan yang untuk mendapatkan memori murah yang berkapasitas tinggi bagi penggunaan jangka panjang.

Jenis - Jenis Memory Eksternal
 1. Berdasarkan Karakteristik Bahan

  • Punched Card atau kartu berlubang : Merupakan kartu kecil berisi lubang-lubang yang menggambarkan berbagai instruksi atau data. Kartu ini dibaca melalui puch card reader yang sudah tidak digunakan lagi sejak tahun 1979.
  • Magnetic disk : Magnetic Disk merupakan disk yang terbuat dari bahan yang bersifat magnetik, Contoh : floppy dan harddisk.
  • Optical Disk : Optical disk terbuat dari bahan-bahan optik, seperti dari resin (polycarbonate) dan dilapisipermukaan yang sangat reflektif seperti alumunium. Contoh : CD dan DVD.
  • Magnetic Tape : Sedangkan magnetik tape, terbuat dari bahan yang bersifat magnetik tetapi berbentuk pita, seperti halnya pita kaset tape recorder. 
2. Berdasarkan Jenis Akses Data
  • DASD (Direct Access Storage Device) : Mempunyai akses langsung terhadap data. Contohnya :  Magnetik (floppy disk, hard disk), Removeable hard disk (Zip disk, Flash disk), Optical Disk dll.
  • SASD (Sequential Access Storage Device) : Mempunyai akses data secara tidak langsung(berurutan), seperti pita magnetik.


Cache Design
  1. Ukuran cache
  2. Pemetaan (Mapping Function)
  3. Algoritma Penggantian (Replacement Algorithm)
  4. Write Policy
  5. Ukuran Blok
  6. Jumlah Cache


Ukuran Cache

Menentukan ukuran cache memory sangat penting untuk mendongkrak kinerja komputer. Dari segi harga cache memory sangat, mahal tidak seperti memori utama. Semakin besar kapasitas cache tidak berarti semakin cepat prosesnya, dengan ukuran besar akan terlalu banyak gate pengalamatannya sehingga akan memperlambat proses.


Pemetaan (Mapping Function)

Karena saluran cache memory lebih sedikit dibandingkan dengan blok memori utama, maka diperlukan algoritma untuk pemetaan blok memori utama ke dalam saluran cache memory. Pemilihan terhadap fungsi pemetaan akan sangat menentukan bentuk organisasi cache memory. Telah kita ketahui bahwa cache memory mempunyai kapasitas yang kecil dibandingkan memori utama. Sehingga diperlukan aturan blok-blok mana yang diletakkan dalam cache memory.

Teknik Pemetaan
  1. Direct mapping
  2. Fully associative mapping
  3. Set associative mapping

Direct Mapping
Keuntungan menggunakan Direct Mapping antara lain:
  • Mudah dan murah diimplementasikan.
  • Mudah untuk menentukan letak salinan data main memory pada cache.


Kerugian menggunakan Direct Mapping antara lain:
  • Setiap blok main memory hanya dipetakan pada 1 line saja.
  • Terkait dengan sifat lokal pada main memory, sangat mungkin mengakses blok yang dipetakan pada line yang sama pada cache. Blok seperti ini akan menyebabkan seringnya sapu masuk dan keluar data ke/dari cache, sehingga hit ratio mengecil. Hit ratio adalah perbandingan antara jumlah ditemukannya data pada cache dengan jumlah usaha mengakses cache.

 Full associative mapping
  • Memungkinkan blok diletakkan di sebarang line yang sedang tidak terpakai.
  • Diharapkan akan mengatasi kelemahan utama Direct Mapping.
  • Harus menguji setiap cache untuk menemukan blok yang diinginkan.

  1. Mengecek setiap tag pada line
  2. Sangat lambat untuk cache berukuran besar.

  • Nomor line menjadi tidak berarti. Address main memory dibagi menjadi 2 field saja, yaitu tag dan word offset.
  • Keuntungan Associative Mapping: cepat dan fleksibel.
  • Kerugiannya: biaya implementasi. Misalnya : untuk cache ukuran 8 kbyte dibutuhkan 1024 x 17 bit associative memory untuk menyimpan tag identifier.

Set associative mapping
  • Merupakan kompromi antara Direct dengan Full Associative Mapping.
  • Membagi cache menjadi sejumlah set (v) yang masing-masing memiliki sejumlah line (k)
  • Setiap blok dapat diletakkan di sebarang line
  • Jika sebuah set dapat menampung X line, maka cache disebut memiliki Xway set associative cache.
  • Hampir semua cache yang digunakan saat ini menggunakan organisasi 2 atau 4-way set associative mapping.

Algoritma pergantian
  • Pada teknik direct mapping, jika sebuah blok akan disalinkan ke sebuah slot dan slot tersebut sedang terisi, maka blok yang baru tersebut langsung akan menggantikan blok yang lama.
  • Pada teknik fully associative dan set associative mapping, jika sebuah blok akan disalinkan ke slot cache dan semua slot saat itu penuh, maka harus ditentukan isi slot mana yang harus diganti. Untuk itu diperlukan suatu algoritma penggantian.

Algorima penggantian yang bisa digunakan adalah :
  • First In First Out (FIFO) : mengganti blok yang paling lama menempati cache.
  • Least Recently Used (LRU) : mengganti blok yang paling lama tidak  digunakan.
  • Least Frequently Used (LFU) : mengganti blok yang paling jarang digunakan.
  • Random : mengganti secara acak.


Write Policy

Write Policy adalah suatu keadaan apabila suatu data telah diletakkan pada cache memory maka sebelum ada penggantian harus dicek apakah data tersebut telah mengalami perubahan. Apabila telah berubah maka data pada memori utama harus di-update.

Ada 2 write policy yang biasa digunakan, yaitu:
  1. Write Through
  2. Write Back

  • Sebelum sebuah blok yang berada di dalam cache dapat diganti, harus diketahui apakah blok tersebut sudah diubah selama di cache atau tidak.
  • Bila belum diubah, blok lama dapat langsung ditindih.
  • Bila sudah diubah, maka isi memori utama harus diperbaharui.

Write Through
  • Penulisan dilakukan pada cache dan juga memori utama
  • Akan menyebabkan banyak trafik
  • Memperlambat proses penulisan


Write Back
  • Pada awalnya, perubahan hanya dilakukan di cache.
  • Sebuah bit akan diset apabila update terjadi.
  • Pada saat blok akan diganti, penulisan pada memori hanya dilakukan apabila bit tersebut dalam keadaan diset.
  • Setiap I/O harus mengakses langsung ke cache karena isi memori utama tidak valid.
  • Rangkaian menjadi rumit.