Pertemuan 8 : Sistem Memory
Kapasitas
: ukuran word, banyaknya word Satuan Transfer : word,block Metode Akses : sequential, langsung, acak, associative Kinerja : waktu akses, waktu siklus, transfer rate Tipe Fisik: semikonduktor, optik, magnetik Karakter Fisik : volatile/nonvolatile Pengorganisasian
Memori Utama: 1. Internal : RAM, DRAM, SDRAM 2. Eksternal: ROM, PROM, EPROM, CACHE Memori Pembantu Disk magnetik, pita magnetik, floopydisk, drum magnetik, optical disk
• Registers - In CPU • Internal or Main memory - May include one or more levels of cache - “RAM” • External memory - Backing store
Memori utama yang digunakan untuk menyimpan dan memanggil data diklasifikasikan menjadi 2 yaitu: 1.RAM (Random Access Memory) 2.CAM (Content Address Memory)
Ram diakses melalui alamat, Semua lokasi yang dapat dialamati dapat diakses secara acak(random) Membutuhkan waktu akses yang sama tanpa tergantung pada lokaifisik didalam memori Ada2 jenis RAM 1. RAM Dinamik 2. RAM Statistik
Memori diakses berdasarkan isi bukan alamat Pencarian data dilakukan secara simultan dan paralel CAM disebut juga memori asosiatif
Buffer berkecepatan tinggi yang digunakan untuk menyimpan data yang diakses pada saat itu dan data yang berdekatan dalam memori utama Waktu akses memori cache lebih cepat 5 –10 kali dibandingkan memori utama
• Small amount of fast memory • Merupakan perantara antara CPU dan main memori • Ada juga yang terdapat dalam chip CPU atau dalam modul
Cache berisi salinan sebagian isi memori utama Pada saat CPU meminta sebuah word alamat, maka akna dicari pada cache memory, jika tidak ditemukan maka akan diambilkan dari main memory Pengambilan dari main memory berupa satu blok data, yangmengandung alamat data yang dminta Setelah itu akan diberikan data alamat 1 ke CPU dan sisa data dari main memory akan disimpan pada cache
1. 2. 3.
4. 5. 6.
Size / ukuran Mapping Function / fungsi pemetaan Replacement Algorithm / algoritma penggantian Write Policy Block Size Number of Caches / jumlah cache
Disesuaikan
kebutuhannya dalam membantu kerja memori utama Semakin besar ukuran cache, maka semakin besar pula jumlah gerbang yang terdapat dalam pengalamatan cache, yang mengakibatkan cache berukuran besarakan lebih lambat dari cache yang berukuran kecil Ukuran cache antara1 K sampai512 K
FUNGSI PEMETAAN (MAPPING) Mapping Function
cache memory 64 kByte Blok memori 4 Bytes Hitung blok : 64 KB/4B = 16 K Arti dalam 64 KB terdapat 16 K 16 K = 210 +4 16MBytes memori utama 24 bit alamat, didapat dari 16 Mbyte memori utama dipangkatkan 2n menjadi : 16MByte = 2 (20 + 4) = 224 jadi dalam memori utama terdiri dari 4M blok yang masing-masing blok berukuran 4 bytes
Penggambaran diagram :
64 KB
24 bit address
16 MB
Setiap blok pada main memory terpetakan hanya satu baris pada cache Alamat dari CPU akan dibagi 2 bagina untuk menentukan word berapa dan sisa blok sisa blok dibagi 2 yaitu line dan tag
Tag s-r 24 bit
8
Line or Slot r 14
24 bit alamat data masuk 2 bit word identifier (4 byte block) 22 bit block identifier sisa, dibagi untuk : ◦ 8 bit tag (=22-14) ◦ 14 bit slot or line
Word w 2
Alamat masuk : 16 339C, dimana 16 339C diganti dalam digit biner hexa : 0001 0110 0011 0011 1001 1100 Dengan pembagian alamat seperti dibawah ini
Word = 2 0 Line = 14 0CE7 Tag = 8 16 Jadi masukkan data 16 339C dengan direct mapping dihasilkan alamat : - tag = 16 - Line = 0CE7 - word = 0
Blok dalam main memory dapat dimanipulasi ke line mana saja. Alamat memori terdiri dari tag dan word saja. Tag merupakan identifikasi dari blok memory
Alamat masuk 24 bit terdiri dari: - Tag = 22 - word = 2 Data masuk : 16 339C, dirubah dalam digit biner hexa: 0001 0110 0011 0011 1001 1100 Jadi data masuk 16 339C dengan assosiatif dihasilkan alamat - Tag = 058CE7
Cache dibagi menjadi tag, set dan word Cache dibagi beberapa set Setiap set berisi beberapa line
Macam set assosiatiff mapping: a. 2-way set assosiatif b. 4-way set assosiatif
Memory = 16 MB alamat = 24 bit Blok = 4 B 2 2 jadi lebar word 2 bit cache = 64 KB = 8 K terdapat set 13 bit Data masuk = 16339C Dengan two-way set data masuk pada alamat 0CE7 dengan tag = 02C,set= 0CE7 dan word = 0
Ketika sebuah blok baru dibawa ke dalam cache maka salah satu blok yang ada harus digantikan. Untuk direct mapping hanya terdapat satu kemungkinan baris bagi sembarang blok Untuk teknik assosiatif dan set assosistif diperlukan algortima pengganti
Untuk mencapai kecepatan tinggi algoritma harus diterapkan dalam perangkat keras, cara yang bisa diambil : Least Recently used (LRU) mengganti blok yan gberada dalam set yang telah berada paling lama dalam cache. First in first out (FIFO) Mengganti blok dalam set yang telah berada pada cache terpanjang Least frequently used Mengganti blok dalam set yang telah berada dalam set yang mengalami acuan sedikit. Acak
: proses mengembalikan data yang dirubah di cache memori dikembalikan ke main memory
Cache memory
Main mamory
jika ada data pada cache memory dirubah maka harus dikembalikan ke memory utama agar data selalu up to date Pengembalian akan semakin rumit jika terdapat multiple CPU Cache 1 Main memory
Cache 2 Cache 3
Write Trought : Jika ada perubahan pada cache maka akan langsung dituliskan ke main memory ke blok aslinya. Write Back : Perubahan akan dituliskan nanti, dengan pertimbangan perubahan tersebut adalah perubahan sementar, akan digantikan jika proses pengganti selesai/kondisi terpenuhi, atau akan diganti jika akan ada perubahan lagi.