Organisasi dan arsitektur komputer Pertemuan 8 : Sistem Memory
KARAKTERISTIK MEMORI 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
KLASIFIKASI MEMORI Memori Utama: 1. Internal : RAM, DRAM, SDRAM 2. Eksternal: ROM, PROM, EPROM, CACHE Memori Pembantu Disk magnetik, pita magnetik, floopydisk, drum magnetik, optical disk
Memory Hierarchy Registers - In CPU Internal or Main memory - May include one or more levels of cache - “RAM” External memory - Backing store
Memory Hierarchy - Diagram
MEMORI UTAMA Memori utama yang digunakan untuk menyimpan dan memanggil data diklasifikasikan menjadi 2 yaitu: 1.RAM (Random Access Memory) 2.CAM (Content Address Memory)
RAM (RANDOM ACCESS 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
CAM (CONTENT ADDRESS MEMORY) Memori diakses berdasarkan isi bukan alamat Pencarian data dilakukan secara simultan dan paralel CAM disebut juga memori asosiatif
MEMORY CACHE 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
cache Small amount of fast memory Merupakan perantara antara CPU dan main memori Ada juga yang terdapat dalam chip CPU atau dalam modul
PRINSIP KERJA MEMORI CACHE 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
Cache/Main Memory Structure
Cache Read Operation - Flowchart
Masalah yang terkait dengan cache memory Size / ukuran Mapping Function / fungsi pemetaan Replacement Algorithm / algoritma penggantian Write Policy Block Size Number of Caches / jumlah cache
UKURAN 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 : 24 bit address 64 KB 16 MB
DIRECT MAPPING 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
Contoh Direct Mapping 24 bit alamat data masuk Tag s-r Line or Slot r Word w 8 14 2 24 bit 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
Direct Mapping Cache Organization
Contoh Direct Mapping
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
Full Associative Mapping Blok dalam main memory dapat dimanipulasi ke line mana saja. Alamat memori terdiri dari tag dan word saja. Tag merupakan identifikasi dari blok memory
Fully Associative Cache Organization
Contoh : 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
Set Associative Mapping Cache dibagi menjadi tag, set dan word Cache dibagi beberapa set Setiap set berisi beberapa line Macam set assosiatiff mapping: 2-way set assosiatif 4-way set assosiatif
Two Way Set Associative Cache Organization
Contoh : 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
Dalam gambar
Algoritma Pengganti 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
Replacement Algorithms (2) Associative & Set Associative 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
Write Policy Kebijakan Penulisan : proses mengembalikan data yang dirubah di cache memori dikembalikan ke main memory Cache memory Main mamory
Pengembalian akan semakin rumit jika terdapat multiple CPU 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.