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
http://khaeroni.blogspot.com/2011/02/sistem-memori-dan-cache.html