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 Cachev
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)v
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 fisikw
Menggunakan paging agar program besar
dapat berjalan pada komputer yang mempunyai fisik kecil.w
Hardware memori virtual membagi alamat
logis menjadi 2 yaitu virtual page number dan word offset.w
Membagi alamat logis dan memori menjadi
page yang berukuran tertentu.w
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.w
Membagi alamat logis dan memori menjadi
page yang ukuran berubah-ubah.w
Segmen yang berisi kode prosedur disebut
kode segmen dan yang berisi data disebut data segmenw
Keuntungan pokok penggunaan segmentasi
atas paging adalah bahwa segmen merupakan entitas logikal dan dengan demikian
semuanya mempunyai parameter akses yang sama.w
Kerugian pokok segmentasi adalah
fragmentasi eksternal yang terjadi ketika segmen dipindahkan ke dalam dan luar
memori riil.w
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 seba§gai 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.