1.1 SISTEM MEMORI
Sistem Memori (Memori) adalah komponen-komponen elektronik yang menyimpan perintah- perintah yang menunggu untuk di eksekusi oleh prosesor,data yang diperlukan oleh insruksi (perintah) tersebut dan hasil-hasil dari data yang diproses (informasi). Memori biasanya terdiri atas satu chip atau beberapa papan sirkuit lainnya dalam prosesor. Memori komputer bisa diibaratkan sebagai papan tulis, dimana setiap orang yang masuk kedalam ruangan bisa membaca dan memanfaatkan data yang ada dengan tanpa merubah susunan yang tersaji. Data yang diproses oleh komputer, sebenarnya masih tersimpan didalam memori, dan dalam hal ini komputer hanya membaca data dan kemudian memprosesnya. Satu kali data tersimpan didalam memori komputer, maka data tersebut akan tetap tinggal disitu selamanya. Setiap kali memori penuh, maka data yang ada bisa dihapus sebagian ataupun seluruhnya untuk diganti dengan data yang baru.
1. Karakteristik sistem-sistem memori secara umum:
a.Lokasi
• CPU
Memori ini built-in berada dalam CPU (mikroprosesor) dan diperlukan untuk semua kegiatan CPU. Memori ini disebut register.
• Internal (main)
Memori ini berada di luar chip processor tetapi bersifat internal terhadap sistem komputer dan diperlukan oleh CPU untuk proses eksekusi (operasi) program, hingga dapat diakses secara langsung oleh prosesor (CPU) tanpa modul perantara. Memori internal sering juga disebut sebagai memori primer atau memori utama. Memori internal biasanya menggunakan media RAM
• External (secondary)
Memori ini bersifat eksternal terhadap sistem komputer dan tentu saja berada di luar CPU dan diperlukan untuk menyimpan data atau instruksi secara permanen. Memori ini, tidak diperlukan di dalam proses eksekusi sehingga tidak dapat diakses secara langsung oleh prosesor (CPU). Untuk akses memori eksternal ini oleh CPU harus melalui pengontrol/modul I/O. Memori eksternal sering juga disebut sebagai memori sekunder. Memori ini terdiri atas perangkat storage peripheral seperti : disk, pita magnetik,dll.
a. Kapasitas
•Ukuran word
Kapasitas memori internal maupun eksternal biasanya dinyatakan dalam bentuk byte (1 byte = 8 bit) atau word.

• Banyaknya word
Panjang word umumnya 8, 16, 32 bit.

b. Satuan Transfer
Satuan transfer sama dengan jumlah saluran data yang masuk ke dan keluar dari modul memori. Konsep satuan transfer adalah :
• Word, merupakan satuan “alami” organisasi memori. Ukuran word biasanya sama dengan jumlah bit yang digunakan untuk representasi bilangan dan panjang instruksi.
• Addressable units, pada sejumlah sistem, adressable units adalah word. Namun terdapat sistem dengan pengalamatan pada tingkatan byte. Pada semua kasus hubungan antara panjang A suatu alamat dan jumlah N adressable unit adalah 2A =N.
• Unit of tranfer, adalah jumlah bit yang dibaca atau dituliskan ke dalam memori pada suatu saat. Pada memori eksternal, tranfer data biasanya lebih besar dari suatu word, yang disebut dengan block.

c. Metode Akses
Terdapat empat jenis pengaksesan satuan data, yaitu sebagai berikut.:
• Sequential access
Memori diorganisasikan menjadi unit-unit data, yang disebut record. Aksesnya dibuat dalam bentuk urutan linier yang spesifik. Informasi pengalamatan dipakai untuk memisahkan record-record dan untuk membantu proses pencarian. Mekanisme baca/tulis digunakan secara bersama (shared read/write mechanism), dengan cara berjalan menuju lokasi yang diinginkan untuk mengeluarkan record. Waktu access record sangat bervariasi. Contoh sequential access adalah akses pada pita magnetik.
• Direct access
Seperti sequential access, direct access juga menggunaka shared read/write mechanism, tetapi setiap blok dan record memiliki alamat yang unik berdasarkan lokasi fisik. Aksesnya dilakukan secara langsung terhadap kisaran umum (general vicinity) untuk mencapai lokasi akhir. Waktu aksesnya pun bervariasi. Contoh direct access adalah akses pada disk.
• Random access
Setiap lokasi dapat dipilih secara random dan diakses serta dialamati secara langsung. Waktu untuk mengakses lokasi tertentu tidak tergantung pada urutan akses sebelumnya dan bersifat konstan. Contoh random access adalah sistem memori utama.
• Associative access
Setiap word dapat dicari berdasarkan pada isinya dan bukan berdasarkan alamatnya. Seperti pada RAM, setiap lokasi memiliki mekanisme pengalamatannya sendiri. Waktu pencariannya pun tidak bergantung secara konstan terhadap lokasi atau pola access sebelumnya. Contoh associative access adalah memori cache.
a. Kinerja
Ada tiga buah parameter untuk kinerja sistem memori, yaitu :
• Access time (Waktu Akses)
Bagi RAM, waktu akses adalah waktu yang dibutuhkan untuk melakukan operasi baca atau tulis. Sedangkan bagi non RAM, waktu akses adalah waktu yang dibutuhkan untuk melakukan mekanisme baca tulis pada lokasi tertentu
• Cycle time (Waktu Siklus)
Waktu siklus adalah waktu akses ditambah dengan waktu transien hingga sinyal hilang dari saluran sinyal atau untuk menghasilkan kembali data bila data ini dibaca secara destruktif.
• Transfer rate (Laju Pemindahan)
Transfer rate adalah kecepatan pemindahan data ke unit memori atau ditransfer dari unit memori. Bagi RAM, transfer rate sama dengan 1/(waktu siklus). Sedangkan, bagi non-RAM, berlaku persamaan sbb.:

TN = Waktu rata-rata untuk membaca / menulis sejumlah N bit.
TA = Waktu akses rata-rata
N = Jumlah bit
R = Kecepatan transfer, dalam bit per detik (bps)
a. Tipe Fisik
Ada dua tipe fisik memori, yaitu :
• Memori semikonduktor
Memori ini memakai teknologi LSI atau VLSI (very large scale integration). Memori ini banyak digunakan untuk memori internal misalnya RAM.
• Memori permukaan magnetik
Memori ini banyak digunakan untuk memori eksternal yaitu untuk disk atau pita magnetik.
b. Karakteristik Fisik
Ada dua kriteria yang mencerminkan karakteristik fisik memori, yaitu:
• Volatile dan Non-volatile
Pada memori volatile, informasi akan rusak secara alami atau hilang bila daya listriknya dimatikan. Selain itu, pada memori non-volatile, sekali informasi direkam akan tetap berada di sana tanpa mengalami kerusakan sebelum dilakukan perubahan. Pada memori ini daya listrik tidak diperlukan untuk mempertahankan informasi tersebut. Memori permukaan magnetik adalah non volatile. Memori semikonduktor dapat berupa volatile atau non volatile.
• Erasable dan Non-erasable
Erasable artinya isi memori dapat dihapus dan diganti dengan informasi lain. Memori semikonduktor yang tidak terhapuskan dan non volatile adalah ROM.
1. Hirarki Memori
Tiga pertanyaan dalam rancangan memori, yaitu : Berapa banyak? Hal ini menyangkut kaspasitas. Berapa cepat? Hal ini menyangkut waktu akses, dan berapa mahal yang menyangkut harga? Setiap spektrum teknologi mempunyai hubungan sbb:
• Semakin kecil waktu access, semakin besar harga per bit.
• Semakin besar kapasitas, semakin kecil harga per bit.
• Semakin besar kapasitas, semakin besar waktu access.
Untuk mendapatkan kinerja terbaik, memori harus mampu mengikuti CPU. Artinya apabila CPU sedang mengeksekusi instruksi, kita tidak perlu menghentikan CPU untuk menunggu datangnya instruksi atau operand. Sedangkan untuk mendapatkan kinerja terbaik, memori menjadi mahal, berkasitas relatif rendah, dan waktu access yang cepat. Untuk memperoleh kinerja yang optimal, perlu kombinasi teknologi komponen memori. Dari kombinasi ini dapat disusun hirarki memori sebagai berikut:
Semakin menurun hirarki, maka hal-hal di bawah ini akan terjadi:
a) Penurunan harga per bit
b) Peningkatan kapasitas
c) Peningkatan waktu akses
d) Penurunan frekuensi akses memori oleh CPU.
Kunci keberhasilan hirarki ini pada penurunan frekuensi aksesnya. Semakin lambat memori maka keperluan CPU untuk mengaksesnya semakin sedikit. Secara keseluruhan sistem komputer akan tetap cepat namun kebutuhan kapasitas memori besar terpenuhi.

1.2 TEKNOLOGI DAN BIAYA SISTEM MEMORI
Ada 2 teknologi yang mendominasi industri memori sentral dan memori utama, yaitu :
a. Memori Magnetic Core (tahun 1960)
Sel penyimpanan yang ada dalam memori inti dibuat dari elemen besi yang berbentuk donat yang disebut magnetic core (inti magnetis) atau hanya disebut core saja.
Para pembuat(pabrikan) yang membuat core ini menyusun core plane bersama dengan sirkuit lain yang diperlukan, menjadi memori banks(bank memori)
b. Memori Solid State
Komputer yang pertama diproduksi untuk tujuan komersil adaalah UNIVAC dimana :
• CPU nya menggunakan teknologi vacuum tube (tabung hampa udara) dan menjalankan aritmatika decimal.
• Memori utamanya 1000 word (setiap word besarnya 60 bit dan menyimpan 12 karakter 5 bit)
2. ORGANISASI MEMORI
Yang dimaksud dengan organisasi adalah pengaturan bit dalam menyusun word secara fisik.
• Salah satunya adalah menggunakan Inteleaving dimana tujuannya adalah untuk meningkatkan kecepatan pengaksesan system penyimpanan yang besar.
• Sistem penyimpanan yang besar terdiri atas beberapa bank memori independent yang diakses oleh CPU dan peralatan I/O melalui pengontrolan port memori
Contoh : Cross bar switch
Sistem penyimpanan menggunakan Interleave High Order
• Setiap bank (penyimpanan) berisi blok alamat yang berurutan.
• Setiap peralatan, termasuk CPU, menggunakan bank memori yang berbeda untuk program dan datanya, maka semua bank dapat mentransfer data secara serentak.
Sistem penyimpanan menggunakan Interleave Low Order
• Alamat yang berurutan berada dalam bank yang terpisah, sehingga setiap peralatan perlu mengakses semua bank selagi menjalankan programnya atau mentransfer data.
Contohnya : suatu siklus memori lebih lama daripada waktu siklus CPU.
• Apabila word yang berurutan berada dalam bank yang berbeda, maka system penyimpanan bila dilengkapi dengan putaran yang cocok dapat melengkapi akses memori yang berurutan, dengan kata lain setelah CPU meminta untuk mengakses word pertama yang disimpan dalam salah satu bank, maka ia dapat bergerak ke bank kedua dan mengawali akses word kedua sementara penyimpanan tetap mendapatkan kembali word pertama sementara penyimpanan tetap mendapatkan kembali word pertama.Pada CPU kembali ke bank pertama, system penyimpanan diharapkan telah menyelesaikan mengakses word pertama dan telah siap mengakses lagi.
• Banyak komputer berkinerja tinggi menggunakan Inteleave Low Order
3. SISTEM MEMORI UTAMA
• Tahun 1960-an para programmer system mengembangkan system pengoperasian multiprogramming, yang memanfaatkan atau menggunakan memori utama yang sangat besar.
• Komputer yang hanya mempunyai satu system memori utama dikatakan mempunyai one-level strorage system(system penyimpanan tingkat satu)
• Komputer yang mempunyai memori virtual menggunakan multilevel storage system (system penyimpanan bertingkat)
• Penyimpanan multilevel mempunyai memori sentral(internal) yaitu memori utama dan register CPU sebagai primary memori dan peralatan penyimpanan eksternal seperti hardisk dan disket sebagai secondary memori memori sekunder.
4. RELOKASI PROGRAM DAN PROTEKSI MEMORI
Multiprogramming adalah cara yang tepat untuk meningkatkan kegunaan CPU dengan cara memungkinkan beberapa tugas berada dalam memori pada waktu yang bersamaan.
Berhasilnya multiprogramming ditentukan antara lain oleh :
o Relokasi Program
Dengan cara menmpatkan program dimana saja dalam memori
Initial Program Relocation (Relokasi Program Awal) adalah proses merelokasi program
tempat system pengoperasian pertama kali.
Dynamic Program Relocation (Relokasi Program Dinamis) adalah system pengoperasian dapat memindahkan program dari suatu tempat ke tempat yang lain dalam memori utama setelah program dijalankan.
o Proteksi Program
Mencegah suatu program mengakses memori yang telah diberikan oleh system pengoperasian ke program yang lain.
Contoh relokasi program dan proteksi adalah IBM System/360 dan CDC 6600
IBM System/360
Menggunakan Register Base untuk merelokasi program
Menggunakan relokasi program awal
Menggunakan key-controlled memori protection untuk proteksi memori.
CDC 6600
Mempunyai register khusus yaitu Relocation Address (RA/Register Alamat Relokasi) untuk merelokasi program.
Menggunakan relokasi program awal

5. JENIS MEMORI
A. Memori Internal
1. Random Accses Memory (RAM)

RAM dibungkus dalam paket berbentuk chip. Satuan penyimpanan dasar adalah sel (1 bit per sel). Pada RAM proses baca dan tulis data dari dan ke memori dapat dilakukan dengan mudah dan cepat. RAM bersifat volatile dan perlu catu daya listrik. Kecepatan RAM diukur dalam ns (nano seconds). Makin kecil ns semakin cepat RAM . Dulu kecepatan RAM sekitar 120, 100 dan 80 ns. Sekarang sekitar 15, 10, sampai 8 ns. Kecepatan RAM sangat berkaitan erat dengan system bus, apakah system bus kita efektif untuk menggunakan RAM yang cepat. Struktur RAM dapat dibagi menjadi 4 bagian, yaitu:
• Input Area, digunakan untuk menampung input yang dimasukkan lewat alat input
• Program Area, digunakan untuk menyimpan semua instruksi-instruksi program yang akan diproses.
• Working Area, digunakan untuk menyimpan data yang akan diolah dan hasil dari pengolahan
• Output Area, digunakan untuk menampung hasil akhir dari pengolahan data yang akan ditampilkan ke alat output
Berdasarkan bahan dasar pembuatan, RAM dikelompokkan dalam dua bagian utama, yaitu (a) Dynamic RAM (DRAM), dan (b) Static RAM (SRAM).
a. RAM dinamik (DRAM)
Disusun oleh sel-sel yang menyimpan data sebagai muatan listrik pada kapasitor. Ada dan tidak ada muatan listrik pada kapasitor dinyatakan sebagai bilangan biner 1 dan 0. Disebut dynamic, karena hanya menampung data dalam periode waktu yang singkat dan harus di-refresh secara periodik. Sedangkan jenis dan bentuk dari DRAM atau memori chip ini sendiri cukup beragam. Secara internal, setiap sel yang menyimpan 1 bit data memiliki 1 buah transistor dan 1 buah kondensator. Kondensator ini yang menjaga tegangan agar tetap mengaliri transistor sehingga tetap dapat menyimpan data. Oleh karena penjagaan arus itu harus dilakukan setiap beberapa saat (yang disebut refreshing) maka proses ini memakan waktu yang lebih banyak daripada kinerja Static RAM.
b. RAM Static (SRAM)
Secara internal, setiap sel yang menyimpan n bit data memiliki 4n buah transistor yang menyusun beberapa buah rangkaian Flip-Flop. Dengan karakteristik rangkaian Flip-Flop ini, data yang disimpan hanyalah berupa Hidup (High state) atau Mati (Low state) yang ditentukan oleh keadaan suatu transistor. Kecepatannya dibandingkan dengan Dynamic RAM tentu saja lebih tinggi karena tidak diperlukan sinyal refresh untuk mempertahankan isi memori.
Baik SRAM maupun DRAM adalah volatile. Sel memori DRAM lebih sederhana dibanding SRAM, karena itu lebih kecil. DRAM lebih rapat (sel lebih kecil = lebih banyak sel per satuan luas) dan lebih murah. DRAM memerlukan rangkaian pengosong muatan. DRAM cenderung lebih baik bila digunakan untuk kebutuhan memori yang lebih besar. DRAM lebih lambat.
Berikut disajikan perbedaan umum dari SRAM dan DRAM :

2. Read Only Memory (ROM)
ROM adalah chip-chip memori yang menyimpan data dan perintah secara permanen jadi jenis memori ini hanya biasa di baca saja datanya atau programnya.ROM bersifat nonvolatil dan pada PC, ROM terdapat pada BIOS ( Basic Input Output System ) yang terdapat pada mother board yang berfungsi untuk men-setting peripheral yang ada pada system. ROM dapat menyimpan data secara permanenanya dan hanya bisa dibaca. Namun, dua masalah yang terdapat pada ROM adalah langkah penyisipan data memerlukan biaya tetap yang tinggi dan tidak boleh terjadi kesalahan (error).
• Peralatan memori yang dapat dibaca namun tidak dapat ditulis oleh CPU
Contoh : Switch Mekanis (computer menggunakannya untuk menyimpan konstansta yang digunakan untuk menentukan konfigurasi system(jumlah memori utama).
• PROM (Programming Read Only Memori)
PROM adalah ROM yang diprogram oleh pabrik pembuatnya dan kita tidak bisa mengubah isinya.
Bersifat non volatile dan hanya bisa ditulisi sekali saja. Proses penulisannya dibentuk secara elektris dan memori ini memerlukan peralatan khusus untuk proses penulisan atau “pemrograman”. Prosesnya adalah PROM awalnya terhubung (status=on, 1). Programmer akan memutuskan hubungan tersebut (status=off, 0) dengan mengirimkan voltase tinggi pada baris dan kolom yang tepat. Proses ini disebut “burning”.

• EPROM (Erasable PROM)
EPROM adalah ROM yang dapat dihapus dengan menggunakan sinar ultraviolet dan kemudian deprogram kembali. Program yang ada di dalam chip ini dapat dihapus dan diisi kembali dengan menggunakan sinar infrared.
Dapat dibaca secara optis dan ditulisi secara elektris. Sebelum operasi write, seluruh sel penyimpanan harus dihapus menggunakan radiasi sinar ultra-violet terhadap keping paket. Proses penghapusannya dapat dilakukan secara berulang, setiap penghapusan memerlukan waktu 20 menit. Untuk daya tampung data yang sama EPROM lebih mahal dari PROM.
Kelebihan :
 Virus tidak dapat merusak sebagian atau keseluruhan isi dari program yang tersimpan didalam Bios tersebut.
 Isi dari program Bios ini baik sebagian maupun keseluruhannya tidak dapat dirusak atau diubah oleh pulsa listrik, selama stiker yang terdapat pada Bios tersebut tidak cacat atau rusak.
Kelemahan :
 Tidak dapat di upgrade atau dimodifikasi secara umum isi dari program Bios tersebut baik itu sebagian maupun keseluruhannya. Sehingga suatu saat segala perhitungan yang berhubungan dengan tanggal, bulan dan tahun seperti program aplikasi Microsoft exel atau lotus akan menyimpang bila tanggal, bulan, dan tahun dari.

• EEPROM ( Electrically Erasable Programmable Read Only Memori )
Program yang ada di dalam chip ini dapat dihapus dan diisi kembali dengan menggunakan pulsa listrik.
Dapat ditulisi kapan saja tanpa menghapus isi sebelumnya. Operasi write memerlukan waktu lebih lama dibanding operasi read. Gabungan sifat kelebihan non-volatilitas dan fleksibilitas untuk update dengan menggunakan bus control, alamat dan saluran data. EEPROM lebih mahal dibanding EPROM.
Kelebihannya :
 Dapat di upgrade atau di modifikasi sebagian atau keseluruhan isi dari program Bios tersebut sesusi dengan keinginan kita.
 Dapat di backup atau di buat cadangannya, bila suatu saat master dari Bios tersebut rusak atau programnya sebagian atau keseluruhannya terhapus.
Kelemahannya :
 Virus dapat merusak sebagian atau keseluruhan isi dari program yang tersimpan didalam Bios tersebut.
 Arus listrik yang tudak stabil dapat merusak sebagian atau keseluruhan isi dari program yang tersimpan di dalam Bios tersebut.
• EAROM(Electrically Alterable ROM)
ROM yang dapat deprogram oleh computer dengan menggunakan operasi arus tinggi (high current) khusus, digunakan untuk menyimpan informasi yang jarang sekali berubah, contohnya : informasi konfigurasi.
B. Memori Read / Write
Memori Read/Write dapat diklasifikasikan menurut sifat pengoperasiannya adalah :
a. Sifat Fisik
Statis dan Dinamis
 Static RAM (SRAM)
• Untuk setiap word apabila telah ditulis tidak perlu lagi dialamatkan atau dimanipulasi untuk menyimpan nilainya.
• Tidak perlu penyegaran
• Dibentuk dari flip-flop yang nmeggunakan arus kecil untuk memelihara logikanya.
• Digunakan untuk register CPU dan peralatan penyimpanan berkecepatan tinggi.
• Merupakan sirkuit memori semikonduktor yang cepat dan mahal.
 Dynamic RAM (DRAM)
• Dibentuk dari kapasitor (peralatan yang digunakan untuk menyimpan muatan listrik) dan transistor
• Menggunakan sirkuit pembangkit
• Waktu siklusnya 2 kali access time (waktu access baca) yaitu waktu yang dibutuhkan untuk memanggil kembali data dari peralatan.
• Perlu penyegaran
Volatil dan Non-Volatil
 Memori Volatile
Membutuhkan sumber daya yang terus menerus untuk menyimpan nilainya. Contoh : RAM Static dan Dynamic
 Memori Non Volatile
Tidak membutuhkan sumber daya yang terus menerus untuk menyimpan nilainya.
Contoh : ROM
Read Destruktif lawan Read Non-Destruktif
 Memori Read Destruktif
• Apabila dalam proses membaca word memori tersebut juga menghancurkan nilainnya.
• Mempunyai 2 fase operasi yaitu read cycle dan restore cycle
• Selama akses baca system penyimpan pertama kali akan membaca word dan selama akses tulis system penyimpanan pertama kali akan membaca word, yang mengakibatkan waku akses baca akan lebih pendek daripada waktu tulis. Contoh : DRAM
 Memori Read Non-Destruktif
• Dalam proses membaca word, memori tersebut tidak dapat dihancurkan.
• Contohnya : SRAM dan ROM
Removable dan Permanenan
 Memori Removable
• Memori yang elemen aktifnya dapat dikeluarkan dari hardware system.
• Contoh : disket.
 Memori Non Removable
• Memori yang elemen aktifnya tidak dapat dikeluarkan dari hardware system.
• Contoh : RAM dan hard disk
b. Organisasi Logis
• Teralamatkan (addressed)
Memori yang menggunakan alamat untuk menentukan sel yang dibaca dan ditulis.
• Asosiatif
Memori yang menggunakan isi dari bagian word untuk menentukan sel yang dibaca atau ditulis
• Akses Urut
Memori yang menggunakan piya magnetis untuk mengakses data secara urut.

c. Memori Archival
• Memori non volatile yang dapat menyimpan banyak data dengan biaya yang sangat sedikit dan dalam jangka waktu yang lama.Contoh : Tape(Pita), Disk dan Disk Optis
• Disk Optis menyimpan data dengan mengubah secara internal sifat reflektif dari bidang kecil yang ada pada disk dan membaca data dengan cara mendeteksi secara visual yang telah diubah.
• WORM Memori (Word Once Read Many Times) ideal untuk menyimpan archival, karena bila sekali telah ditulis ia secara fungsional menjadi ROM.
1.2 CACHE MEMORI
Cache memory merupakan memori yang memiliki kecepatan sangat tinggi, digunakan sebagai perantara antara RAM dan CPU atau perangkat untuk pergerakan data antara memori utama dan register prosesor untuk meningkatkan kinerja.
Memori ini mempunyai kecepatan lebih tinggi daripada RAM, tetapi harganya lebih mahal. Memori ini digunakan untuk menjembatani perbedaan kecepatan CPU yang sangat tinggi dengan kecepatan RAM yang jauh lebih rendah. Dengan menggunakan cache, sejumlah data dapat dipindahkan ke memori ini dalam sekali waktu, dan kemudian ALU akan mengambil data tersebut dari memori ini. Dengan pendekatan seperti ini, pemrosesan data dapat dilakukan lebih cepat daripada kalau CPU mengambil data secara langsung dari RAM.
A. MEMORI CACHE
Buffer berkecepatan tinggi yang digunakan untuk menyimpan data yang diakses pada saat itu dan data yang berdekatan dalam memori utama.Memori akses random (RAM) berkecepatan tinggi yang ditempatkan diantara system memori dan pemakaiannya untuk mengurangi waktu akses efektif dari system memori. Dengan memasukan memori chace antara peralatan cepat dan system memori yang lebih lambat, perancangan ini dapat memberikan system memori yang cepat.
Memori Cache terbagi menjadi 2 :
• Internal Chache yaitu memori yang terdapat didalam prosesor, sering dikenal dengan nama first level ( L1)
Chache L1 dipasang langsung pada cip prosesor. Chache L1 biasanya memiliki kapasitas sangat kecil, berkisar antara antara 8 KB sampai 128 KB.

• External Chache yaitu memori yang terdapat didalam motherboard, sering dikenaal dengan nama second level ( L2 )
Chache L2 sedikit lebih lambat daripada chache L1 tetapi memiliki kapasitas yang jauh lebih besar, berkisar antara 64 KB sampai 16 MB.
Kegunaan Memori Cache adalah :
 Program cenderung menjalankan instruksi yang berurutan, menyebabkan instruksi tersebut berada didekat lokasi memori.
 Program biasanya mempunyai simpul untuk tempat menjalankan kelompok instruksi secara berulang-ulang.
 Compiler menyimpan array dalam blok lokasi memori yang bersebelahan.
 Compiler biasanya menempatkan item data yang tidak berhubungan didalam segmen data.
Cache terdiri dari sejumlah cache entries(entry cache) dan setiap entri cache terdiri dari 2 yaitu:
 Memori Cache
merupakan SRAM berkecepatan tinggi
data yang disimpan merupakan kopi dari data memori utama yang terpilih pada saat itu atau data yang baru disimpan yang belum berada didalam memori.
 Address Tag (Tag Alamat)
Menunjukan alamat fisik data yang ada dalam memori utama dan beberapa informasi valid.
Tugas dari cache memori :
Mengatasi kesenjangan kecepatan chip memori biasa dengan CPU
Mengurangi waktu tunggu CPU mendapatkan data dari memori, sehingga dapat mengolah instruksi lebih bnayak.
Pada sistem cache, CPU mengambil sekelompok instruksi sekaligs dari memori primer dan menaruhnya ke dalam cache. Sementara CPU sedang melakukan instruksi yang ada dalam register instruksi, bagian lain dari CPU mengambil sebagian sekelompok instruksi lagi dari memori primer.
Cara kerja Cache adalah :
o Ketika CPU mengakses memori maka system penyimpanan akan mengirim alamat fisik ke cache
o Membandingkan alamat fisik tersebut dengan semua tag alamat untuk mengetahui apakah ia menyimpan kopi dari sebuah data.
o Cache HIT adalah situasi yang terjadi ketika peralatan meminta akses memori ke word yang telah ada didalam memori cache tersebut secara cepat megembalikan item data yang diminta.
o Cache MISS adalah situasi yang terjadi ketika peralatan meminta akses ke data yang tidak berada dalam cache, cache akan menjemput item tersebut dari memori, dimana hal ini mebutuhkan waktu yang lebih lama dari cache hit.
o Jika cache tidak menyimpan data, maka akan terjadi cache miss dan cache akan menyampaikan alamat ke system memori utama untuk membaca.
o Jika data yang dating dari memori utama, maka CPU atau cache akan menyimpan kopinya dengan diberi tag alamat yang tepat.
Ada 2 sebab mengapa cache bekerja dengan baik :
 Cache beroperasi secara paralel dengan CPU
• Word tambahan yang dimuatkan setelah terjadi cache miss tidak akan mengganggu kinerja CPU.
 Prinsip Lokalitas Referensi
• CPU akan meminta data baru
Setiap cache mempunyai dua sub system yaitu :
 Tag Subsystem
Menyimpan alamat dan menentukan apakah ada kesesesuaian data yang diminta.
 Memori subsistem
Menyimpan dan mengantarkan data.

Gambar direct mapping cache
Prinsip-prinsip
Cache memori diujukan untuk memberikan kecepatan memori yang mendekati kecepatan memori tercepat yang bisa diperoleh, sekaligus memberikan ukuran memori yang besar dengan harga yang lebih murah dari jenis-jenis memori semikonduktor. Konsepnya adalah sebagai berikut :

Terdapat memori utama yang relatif lebih besar dan lebih lambat dan cache memori yang berukuran lebih kecil dan lebih cepat. Cache berisi salinan sebagian memori utama. Pada saat CPU membaca sebuah word memori, maka dilakukan pemeriksaan untuk mengetahui apakah word itu terdapat pada cache. Bila sudah ada, maka word akan dikirimkan ke CPU. Sedangkan bila tidak ada, blok memori utama yang terdiri dari sejumlah word yang tetap akan dibaca ke dalam cache dan kemudian akan dikirimkan ke CPU.
Elemen-elemen Rancangan Cache
Walaupun terdapat banyak implementasi cache, hanya terdapat sedikit elemen-elemen dasar rancangan yang dapat mengklasifikasikan dan membedakan arsitektur cache. Adapun elemen yang akan dibahas pada subbab ini adalah elemen pertama yaitu ukuran cache. Semakin besar cache maka semakin besar jumlah gate yang terdapat pada pengalamatan cache. Akibatnya adalah cache yang berukuran besar cenderung untuk lebih lambat dibanding dengan cache berukuran kecil (walaupun dibuat dengan teknologi rangkaian terintegrasi yang sam adan pitaruh pada tempat pada keping dan board yang sama. Kinerja cache juga sangat sensitif terhadap sifat beban kerja, maka tidaklah mungkin untuk mencapai ukuran cache yang ‘optimum’.

Fungsi Pemetaan (Mapping)
Karena saluran cache lebih sedikit dibandingkan dengan blok memori utama, diperlukan algoritma untuk pemetaan blok-blok memori utama ke dalam saluran cache. Selain itu diperlukan alat untuk menentukan blok memori utama mana yang sedang memakai saluran cache. Pemilihan fungsi pemetaan akan menentukan bentuk organisasi cache. Dapat digunakan tiga jenis teknik, yaitu sebagai berikut :
a. Pemetaan Langsung (Direct Mapping)
Pemetaan ini memetakan masing-masing blok memori utama hanya ke satu saluran cache saja. Jika suatu block ada di cache, maka tempatnya sudah tertentu. Keuntungan dari direct mapping adalah sederhana dan murah. Sedangkan kerugian dari direct mapping adalah suatu blok memiliki lokasi yang tetap (Jika program mengakses 2 block yang di map ke line yang sama secara berulang-ulang, maka cache-miss sangat tinggi).
b. Pemetaan Asosiatif (Associative Mapping)
Pemetaan ini mengatasi kekurangan pemetaan langsung dengan cara mengizinkan setiap blok memori utama untuk dimuatkan ke sembarang saluran cache. Dengan pemetaan asosiatif, terdapat fleksibilitas penggantian blok ketika blok baru dibaca ke dalam cache. Kekurangan pemetaan asosiatif yang utama adalah kompleksitas rangkaian yang diperlukan untuk menguji tag seluruh saluran cache secara paralel, sehingga pencarian data di cache menjadi lama.
o Disebut juga Fully Associative Cache.
o Menyimpan tagnya di dalam memori asosiatif atau memori yang ekuivalen secara fungsional
o Cache dapat menempatkan sembarang jalur refill selama akses memori
o Membandingkan alamat yang ada dengan semua alamat yang disimpan
b. Pemetaan Asosiatif Set (Set Associative Mapping)
Pada pemetaan ini, cache dibagi dalam sejumlah sets. Setiap set berisi sejumlah line. Pemetaan asosiatif set memanfaatkan kelebihan-kelebihan pendekatan pemetaan langsung dan pemetaan asosiatif
• Jumlah Cache !
a. Cache Satu Tingkat VS Cache Dua Tingkat
Dengan meningkatkan kepadatan logik, telah memungkinkan menempatkan cahce pada keping yang sama seperti processor: the on-chip cache. Dibandingkan dengan suatu cache yang dapat dijangkau via bus eksternal, on-chip cache mengurangi aktivitas bus eksternal processor dan akibatnya meningkatkan waktu eksekusi dan meningkatkan kinerja sistem secara keseluruhan.

Memori yang bernama L1 Cache ini adalah memori yang terletak paling dekat dengan prosesor (lebih spesifik lagi: dekat dengan blok CU [Control Unit]). Penempatan Cache di prosesor dikembangkan sejak PC i486. Memori di tingkat ini memiliki kapasitas yang paling kecil (hanya 16KB), tetapi memiliki kecepatan akses dalam hitungan nanodetik (sepermilyar detik). Data yang berada di memori ini adalah data yang paling penting dan paling sering diakses. Biasanya data di sini adalah data yang telah diatur melalui OS (Operating System) menjadi Prioritas Tertinggi (High Priority).
Memori L2 Cache ini terletak terletak di MotherBoard (lebih spesifik lagi: modul COAST : Cache On A STick. Bentuk khusus dari L2 yang mirip seperti Memori Module yang dapat diganti-ganti tergantung motherboardnya). Akan tetapi ada juga yang terintegrasi langsung dengan MotherBoard, atau juga ada yang terintergrasi dengan Processor Module. Di L2 Cache ini, kapasitasnya lebih besar dari pada L1 Cache. Ukurannya berkisar antara 256KB—2MB. Biasanya, L2 Cache yang besar diperlukan di MotherBoard untuk Server. Kecepatan akses sekitar 10ns.

Organisasi DRAM Tingkat Lanjut
a. Enhanced DRAM
EDRAM (Enhanched DRAM) merupakan model DRAM yang paling simple, dan memiliki SRAM cache yang terintegrasi di dalamnya. Dalam model EDRAM 4 bit, SRAM cache-nya akan menyimpan seluruh isi dari baris terakhir yang dibaca, dimana terdiri dari 2048 bit, atau 512 4-bit potongan. Sebuah komparator menyimpan 11-bit nilai dari alamat baris yang sering diakses. Jika akses selanjutnya pada baris yang sama, maka hanya butuh akses terhadap SRAM cache yang cepat.
b. Cache DRAM
Cache DRAM (CDRAM), yang dibuat oleh Mitsubishi [HIDA90], sama dengan EDRAM. CDRAM mencakup cache SRAM cache SRAM yang lebih besar dari EDRAM (16 vs 2 kb).
SRAM pada CDRAM dapat digunakan dengan dua cara. Pertama, dapat digunakan sebagai true cache, yang terdiri dari sejumlah saluran 64-bit. Hal ini sebaliknya dengan EDRAM, di mana cache SRAM hanya berisi sebuah blok, yaitu the most recently accessed row. Mode cache CDRAM cukup efektif untuk access random ke memori.
c. Synchronous DRAM (SDRAM)
Tidak seperti DRAM biasa, yang bersifat asinkron, SDRAM saling bertukar data dengan processor yang disinkronkan dengan signal pewaktu eksternal dan bekerja dengan kecepatan penuh bus processor/memori tanpa mengenal keadaan wait dan menunggu state.
Dengan menggunakan mode akses synchronous, pergerakan data masuk dan keluar DRAM akan dikontrol oleh clock system. Processor akan meminta informasi instruksi dan alamat, yang diatur oleh DRAM. DRAM akan merespon setelah clock cycle tertentu. Dengan demikian, processor dapat dengan aman melakukan tugas lain sementara SDRAM memproses request
Pada SDRAM juga dikenal istilah SDR (Single Date Rate) dan DDR (Double Date Rate). SDR SDRAM dapat diartikan sebagai DRAM yang memiliki kemampuan transfer data secara single line (satu jalur saja). Sementara DDR SDRAM memiliki kemampuan untuk melakukan transfer data secara double line.

d. Rambus DRAM
RDRAM merupakan memori yang melakukan pendekatan lebih kepada masalah bandwidth. Rambus DRAM dikembangkan oleh RAMBUS, Inc., Pengembangan ini menjadi polemik karena Intel© berusaha memperkenalkan PC133MHz. RDRAM memiliki chip yang terpasang secara vertikal, dimana semua pin berada pada satu sisi. Chips akan melakukan pertukaran data dengan processor melalui 28 jalur (kabel) yang tidak lebih pangajng dari 12 cm. Busnya dapat menampung alamat lebih dari 320 RDRAM chip dan dengan rata-rata kecepatan sekitar 500Mbps. Oleh karena itulah, RDRAM memiliki kecepatan yang jauh lebih besar dibanding tipe DRAM lainnya.
e. RamLink
Ramlink merupakan inovasi radikal pada DRAM tradisional. RamLink berkonsentrasi pada interface processor/memori dibandingkan pada arsitektur internal keping DRAM. RamLink adalah memori interface yang memiliki koneksi point-to-point yang disusun dalam bentuk cincin. Lalu lintas pada cincin diatur oleh pengontrol memori yang mengirimkan pesan ke keping-keping DRAM, yang berfungsi sebagai simul-simpul pada jaringan cincin. Data saling dipertukarkan dalam bentuk paket.
B. MEMORI VIRTUAL
Ada 2 teknik yang digunakan memori virtual utnuk memetakan alamat efektif kedalam alamat fisik yaitu :
1. Paging
 Adalah teknik yang berorientasi hardware untuk mengelola memori fisik
 Menggunakan paging agar program besar dapat berjalan pada komputer yang mempunyai fisik kecil.
 Hardware memori virtual membagi alamat logis menjadi 2 yaitu virtual page number dan word offset.
 Membagi alamat logis dan memori menjadi page yang berukuran tertentu.

Gambar Pengalamatan Halaman

Implementasi RAM pada sebuah tabel halaman

Implementasi memori asosiatif pada sebuah tabel halaman.
2. Segmentasi
 Adalah teknik yang berorientasi pada struktur logis dari suatu program.
 Membagi alamat logis dan memori menjadi page yang ukuran berubah-ubah.
 Segmen yang berisi kode prosedur disebut kode segmen dan yang berisi data disebut data segmen
 Keuntungan pokok penggunaan segmentasi atas paging adalah bahwa segmen merupakan entitas logikal dan dengan demikian semuanya mempunyai parameter akses yang sama.
 Kerugian pokok segmentasi adalah fragmentasi eksternal yang terjadi ketika segmen dipindahkan ke dalam dan luar memori riil.
Perbedaan Paging dengan Segmentasi adalah :
 Paging berorientasi pada hardware dan segmentasi pada struktur logis dari suatu program.
 Segmen cenderung jauh lebih besar dari paging.
 Segmen mempunyai jangkauan ukuran page dan page hanya mempunyai satu ukuran tertentu untuk suatu system tertentu.
 Dalam segmentasi seluruh program tidak perlu dibuat sebagai modul tunggal untuk diisikan ke dalam memori sebagai sebuah unit
 Dalam segmentasi, alamat logis mempunyai 2 bagian, yaitu segement number dan byte offset.
3. Manajeman Memori Virtual
Tabel halaman dan segmen tidak cukup agar suatu memori virtual dapat sukses. Tetapi juga dibutuhkan untuk mangtur transfer informasi ke dan dari memori riil. Manajemen ini berjalan atas dasar jurisdiksi sistem operasi.
 Alokasi memori riil.
Mengelolah sebuah daftar bingkai yang kosong (free frame list) bagi paging atau sebuah daftar ruang kosong (free space list) bagi segmentasi untuk menetukan tempat penyimpanan halaman (page) atau segmen di dalam memori rill dan menentukan jumlah halaman atau segmen suatu program yang akan disimpan ke dalam memori riil.
 Startegi pemindahan (replacement strategy)
Menentukan halaman atau segmen mana yang akan dipindahkan jika memori riil penuh dan membuat referensi bagi halaman atau segmen yang tidak terdapat dalam memori (disebut sebagi fault halaman atau segmen) yang harus dipindahkan ke dalam memori riil.
 Kebijakan penulisan ( write policy)
Menentukan kapan harus memperbaharui word-word yang bersesuaian di daalm memori virtual dan kapan menulis ke word di dalam memori riil.
2. MASALAH DESIGN MEMORI
• Kecepatan Memori lawan kecepatan CPU :
Awal tahun 1960 – 1980, kecepatan memori dan CPU meningkat, namun rasio keseluruhan antara keduanya relatif.
Pada era ini kecepatan memori biasanya kurang lebih 10 kali lebih lambat dari kecepatan CPU.
CDC:6600, 7600, CRAY 1 dan CRAY X-MP untuk super komputer waktu akses memorinya 10 sampai 14 waktu siklus CPU.
VAX 11/780, 8600 dan 8700 untuk mini computer waktu akses memorinya 4 sampai 7 kali siklus CPU
Pertengahan tahun 1980, kecepatan CPU jauh lebih meningkat hingga 50 kali kecepatan memori, contoh CRAY
Keuntungan dari perubahan ini adalah :
Memori besar umumnya memerlukan hardware khusus untuk mendeteksi dan mengoreksi kesalahan, yang menambah waktu akses memori efektif.
CPU yang paling cepat merupakan pipelined.
• Ruang Alamat Memori :
Semakin besar ruang alamat memori yang disediakan maka akan semakin baik namun harus diperhatikan pula bahwa dalam perubahan tersebut tidak harus merubah secara keseluruhan dan mendasar daripada arsitektur yang telah dibangun.
• Keseimbangan antara kecepatan dan biaya :
Sifat dari Teknologi Memori
Harga unitnya turun dengan sangat cepat, sedangkan kecepatannya secara perlahan meningkat. Adanya berbagai kecepatan dan biaya dalam peralatan memori.
Ada tiga penggunaan teknologi RAM dalam system computer untuk memanfaatkan variasi ini adalah :
o Peralatan lambat, murah untuk memori utama
o Peralatan cepat untuk cache
o Peralatan sangat cepat, mahal untuk register