ARSITEKTUR SISTEM MEMORI
I.
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)
II.
ORGANISASI MEMORI
- 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
III.
JENIS MEMORI
a.
Memory Read Only (ROM)
- 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 Memory) adalah ROM yang diprogram oleh pabrik pembuatnya dan kita tidak bisa mengubah isinya.
- EPROM (Erasable PROM) adalah ROM yang dapat dihapus dengan menggunakan sinar ultraviolet dan kemudian deprogram kembali.
- 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. Memory
Read / Write
Memori Read/Write dapat diklasifikasikan menurut sifat
pengoperasiannya adalah :
1. Sifat
Fisik
v Statis
lawan 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
v Volatil
lawan 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
v 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
v Removable
lawan Permanen
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
2. 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.
3. 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.
IV.
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 memory dan peralatan penyimpanan eksternal seperti hardisk dan disket sebagai secondary memory memori sekunder.
V.
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 memory protection
untuk proteksi memori.
-
CDC 6600
§ Mempunyai register khusus yaitu Relocation
Address (RA/Register Alamat Relokasi) untuk merelokasi program.
§ Menggunakan relokasi program awal
VI.
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.
· Kegunaan
Memori Cache adalah :
w Program cenderung menjalankan instruksi yang
berurutan, menyebabkan instruksi tersebut berada didekat lokasi memori.
w Program biasanya mempunyai simpul untuk
tempat menjalankan kelompok instruksi secara berulang-ulang.
w Compiler menyimpan array dalam blok lokasi
memori yang bersebelahan.
w 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
o 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.
o Address Tag (Tag Alamat)
§ Menunjukan alamat fisik data yang ada dalam
memori utama dan beberapa informasi valid
· Cara kerja Cache adalah :
- Ketika CPU mengakses memori maka system penyimpanan akan mengirim alamat fisik ke cache
- Membandingkan alamat fisik tersebut dengan semua tag alamat untuk mengetahui apakah ia menyimpan kopi dari sebuah data.
- 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.
- 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.
- Jika cache tidak menyimpan data, maka akan terjadi cache miss dan cache akan menyampaikan alamat ke system memori utama untuk membaca.
- 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.
§ Memory subsistem
-
Menyimpan
dan mengantarkan data.
- Memori Cache menggunakan teknik pemetaan yang berbeda untuk memetakan alamat memori ke dalam alamat lokalnya, yaitu :
§ Cache Asosiatif
-
Disebut
juga Fully Associative Cache.
-
Menyimpan
tagnya di dalam memori asosiatif atau memori yang ekuivalen secara fungsional
-
Cache
dapat menempatkan sembarang jalur refill selama akses memori
-
Membandingkan
alamat yang ada dengan semua alamat yang disimpan
§ Direct Mapped Cache (Cache yang dipetakan
langsung)
-
Membagi
memory utama menjadi K kolom dengan N refill line per kolomnya
§ Set Cache Asosiatif
-
Mengkombinasikan
organisasi asosiatif dan direct (langsung)
-
Mengorganisir
memori utama dan memorinya sendiri menjadi kolom jalur refil N
§ Sector Mapped Cache (Cache yang dipetakan
sector)
-
Merupakan
modifikasi dari cache asosiatif
-
Jalur
refill memori utama dan cache dikelompokan menjadi sector yang disebut row(baris)
VI.
MEMORI VIRTUAL
- Ada 2 teknik yang digunakan memori virtual utnuk memetakan alamat efektif kedalam alamat fisik yaitu :
§ 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.
§ 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
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.
VII.
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 :
-
Peralatan
lambat, murah untuk memori utama
-
Peralatan
cepat untuk cache
-
Peralatan
sangat cepat, mahal untuk register
- Memori dalam system computer dapat dibagi menjadi tiga kelompok, yaitu :
- Internal Processor Memory
- Main Memory (Primary Memory)
- Secondary Memory (Auxiliary/Backing Memory)
- Karakteristik Memori :
§ Access Time
§ Access Modes
§ Alterability
§ Permanence of Storage
§ Cycle Time and Data Transfer Rate
§ Physical Characteristics
- Metode Akses :
§ Random Access Memory
Lokasi memori dapat
dicapai secara acak dan waktu akses tidak bergantung pada lokasi yang sedang
diakses
§ Serial Access Memory
Mekanisme akses
digunakan bersama-sama oleh seluruh lokasi