Cache Memory
February 1, 2018 | Author: Faza Aja | Category: N/A
Short Description
Download Cache Memory...
Description
Daftar Isi Daftar Isi.................................................................................................... 1 BAB I PENDAHULUAN...........................................................................................2 LATAR BELAKANG...................................................................................2 RUMUSAN MASALAH...............................................................................3 BAB II......................................................................................................... 4 LANDASAN TEORI.......................................................................................4 2.1 Pengertian Cache Memory................................................................4 2.2 Sejarah Cache Memory.....................................................................6 2.3 Letak cache memory........................................................................9 2.4 Cara Kerja Cache Memory..............................................................11 BAB III...................................................................................................... 20 PEMBAHASAN...........................................................................................20 3.1 Pemetaan (Mapping).......................................................................20 3.2 DIRECT MAPPING............................................................................20 3.3 ASSOCIATVE MAPPING ...................................................................23 3.4 SET ASSOCIATIVE MAPPING ..............................................................24 BAB IV...................................................................................................... 26 PENUTUP..................................................................................................26
BAB I PENDAHULUAN
LATAR BELAKANG Akhir - akhir ini perkembangan IT di Dunia sangat pesat, mulai dari perkembangan sofware ingga hardware seperti prosesor dan memoril. Takdapat dipungkiri lagi computer sekarang sangat membantu manusia dalam mengerjakan tugas manusia. Perusahaan-perusahaan persaingan computer sekarang semakin ketat yang mengakibatkan harga bisa dijangkau masyarakat menengah kebawah. Perbedaan kecepatan operasi antara prosesor dan memori utama bisa menjadi kendala bagi dicapainya efisiensi kerja sistem komputer..Kendala ini menyebabkan diperlukannya cache, yakni memori berkapasitas kecil tetapi berkecepatan tinggi, yang dipasang di antara prosesor dan memori utama. Cache umumnya menggunakan memori statik yang mahal harganya, sedangkan memori utama menggunakan memori dinamik yang jauh lebih murah. Disini kami mencoba akan menerangkan apa itu cache memory.
RUMUSAN MASALAH Adapun masalah yang kami ambil dalam makalah ini, yaitu 1. Bagaiamana cara kerja cache memory? 2. Bagaiamana cara kerja mapping pada memory? 1.1. TUJUAN
Adapun tujuan penulisan dalam makalah ini, yaitu 1. Untuk mengetahui cara kerja memori 2. Untuk mengetahui cara kerja cache memori
BAB II LANDASAN TEORI
2.1 Pengertian Cache Memory Kecepatan memori utama sangat rendah dibandingkan dengan kecepatan prosesor modern. Untuk perfoma yang baik, prosesor tidak dapat membuang waktunya dengan
menunggu
untuk
mengskses
intruksi
dan
data
pada
memory
utama.Karenanya, sangat penting untuk memikirkan suatu skema yang mengurangi waktu dalam mengakses informasi. Karena kecepatan unit memori utama dibatasi oleh batasan elektronik dan packaging, maka solusinya harus dicaridalam pengaturan arsitekture yang berbeda. Solusi yang efisien adalah menggunakan memory cache cepat yang sebenarnya membuat memori utama tampak lebih cepat bagi prosesor daripada sebenarnya. Keefektifan mekanisme cahe didasarkan pada property program computer yang disebut locality of reference. Analisa program menunjukan bahwa sebagian besar waktu eksekusinya digunakan untuk rountine dimana banyak intrksi dieksekusi secara berulangkali. Instruksi tersebut dapat merupakan loop sederhana,nested loop, atau beberapa prosedur yang berulangkali saling memanggil. Pola detil actual dari rangkaian instruksi tidaklah penting, yang utama adalah banyak intruksi dalam area program yang terlokalisasi dieksekusi berulangkali selama beberapa periode, dan baian program yang lain relatifjarang diakses. Disebut locality of reference. Hal ini memanifestasikan dirinnya dalam dua cara : temporal dan spatial. Yang pertama berarti bahwa instruksi yang baru dieksekusi tampaknya akan dieksekusi lagi segera. Aspek spatial berarti instruksi yang dekat dengan instruksi yang baru saja dieksekusi(mengacu pada alamat instruksi) tampaknya juga akan dieksekusi segera.
Secara konseptual, operasi memori cache sangat sederhana. Sirkuit control memori didesain untuk memanfaatkan properti locality of reference. Aspek temporal locality of reference menyatakan bajwa kapanpun suatu item informasi pertama kali diprlukan , maka item tersebut sebaiknya dibawa kedalam cache dimana item tersebut akan tetap tinggal hingga diperlukan lagi. Aspek spatial menyatakann daripada mengambil hanya satu item dari memori utama ke cache, akan berguna untuk mengambil beberapa item yang terletak pada alamat yang berdekatan.Istilah yang mengacu pada blok cache adalah jalur cache. Cache berasal dari kata cash. Dari istilah tersebut cache adalah tempat menyembunyikan atau tempat menyimpan sementara. Cache memori adalah tempat menyimpan data sementara. Cara ini dimaksudkan untuk meningkatkan transfer data dengan menyimpan data yang pernah diakses pada cache tersebut, sehingga apabila ada data yang ingin diakses adalah data yang sama maka maka akses akan dapat dilakukan lebih cepat.
Cache memori ini bagian memori tipe SDRAM yang memiliki kapasitas terbatas namun memiliki kecepatan yang sangat tinggi dan harga yang lebih mahal dari memori utama. Cache memori ini terletak antara register dan RAM (memori utama) sehingga pemrosesan data tidak langsung mengacu pada memori utama.
Gambar 2.1 Posisi cahce memory pada system memory
2.2 Sejarah Cache Memory Kami melihat di memori komputer digital awal, lihat Sejarah komputer - Memori Core, dan menyebutkan bahwa standar sekarang RAM (Random Access Memory) adalah memori chip. Hal ini sesuai dengan aplikasi sering dikutip dari Hukum Moore (Gordon Moore adalah salah satu pendiri Intel). Hal ini menyatakan bahwa kepadatan komponen pada sirkuit terpadu, yang dapat diparafrasekan sebagai kinerja per unit cost, dua kali lipat setiap 18 bulan. Awal memori inti memiliki waktu siklus dalam mikrodetik, hari ini kita berbicara dalam nanodetik. Anda mungkin akrab dengan istilah cache, sebagaimana diterapkan pada PC. Ini adalah salah satu kinerja fitur yang disebutkan ketika berbicara tentang CPU terbaru, atau Hard Disk. Anda dapat memiliki cache L1 atau L2 pada prosesor, dan cache disk dari berbagai ukuran. Beberapa program memiliki cache juga, juga dikenal sebagai penyangga, misalnya, saat menulis data ke cd burner. Awal program CD burner telah 'overruns'. Hasil akhir ini adalah pasokan baik coaster! Sistem Mainframe telah menggunakan cache selama bertahun-tahun. Konsep ini menjadi populer pada 1970-an sebagai cara untuk mempercepat waktu akses
memori. Ini adalah saat ketika memori inti sedang dihapus dan digantikan dengan sirkuit terpadu, atau keripik. Meskipun chip jauh lebih efisien dari segi ruang fisik, mereka memiliki masalah lain keandalan dan panas. Chips dari desain tertentu lebih cepat, lebih panas dan lebih mahal dibandingkan chip desain yang lain, yang lebih murah, tetapi lebih lambat. Kecepatan selalu menjadi salah satu faktor paling penting dalam penjualan komputer, dan insinyur desain selalu waspada terhadap cara-cara untuk meningkatkan kinerja. Sekarang kami memperkenalkan 'kecepatan tinggi' memori dengan siklus waktu, mengatakan 250 nanoseconds antara CPU dan memori utama. Ketika kami meminta petunjuk pertama, di lokasi 100, memori cache permintaan alamat 100, 101, 102 dan 103 dari inti semua memori pada saat yang sama, dan mereka tetap dalam cache. 100 adalah instruksi ke CPU untuk diproses, dan selanjutnya meminta, untuk 101, yang diisi dari cache. Demikian pula 102 dan 103 akan lebih meningkat di ulangi kecepatan 250ns. Sementara itu cache memori telah meminta berikutnya 4 alamat, 104-107. Ini terus sampai prediksi 'di sebelah lokasi' adalah salah. Proses ini kemudian diulang kembali ke cache dengan data yang baru alamat jangkauan. J prediksi alamat dengan benar, ketika berada di lokasi diminta Cache adalah cache dikenal sebagai 'hit'. Jika memori utama tidak inti, tetapi lambat chip memori, yang tidak memperoleh sebagai besar, tapi masih perbaikan. Mahal kecepatan tinggi memori hanya diperlukan untuk sebagian kecil dari kapasitas memori utama yang murah. Pemrogram juga dapat merancang program-program yang sesuai cache operasi, misalnya dengan membuat sebuah cabang instruksi dalam satu lingkaran mengambil instruksi berikutnya untuk semua kasus, kecuali ujian akhir, mungkin count = 0, bila terjadi cabang.
Sekarang mempertimbangkan kecepatan keuntungan yang akan dibuat dengan disk. Menjadi mekanis perangkat, disk bekerja milidetik, sehingga memuat sebuah program atau data dari disk sangat lambat dibandingkan, bahkan untuk memori inti 1000 kali lebih cepat! Juga ada waktu mencari dan latensi untuk dipertimbangkan. (Hal ini dapat dilihat di artikel lain pada disk.) Anda mungkin telah mendengar istilah DMA dalam kaitannya dengan PC. Ini merujuk kepada Direct Memory Access. Yang berarti bahwa data dapat ditransfer ke atau dari harddisk langsung ke memori, tanpa harus melalui semua komponen lainnya. Mainframe dalam komputer, yang biasanya I / O atau Input / Output prosesor memiliki akses langsung ke memori, menggunakan data yang ditempatkan di sana oleh Processor. Jalur ini juga di dukung dengan menggunakan cache memori.
Dalam PC, CPU chip kini telah dibangun di-cache. Level 1, atau L1, Cache adalah cache utama di CPU yang SRAM atau Static RAM. Ini adalah kecepatan tinggi (dan lebih mahal) dibandingkan dengan memori DRAM atau Dynamic RAM, yang digunakan untuk sistem memori. L2 cache, SRAM juga dapat dimasukkan dalam CPU atau eksternal pada motherboard. Memiliki kapasitas yang lebih besar dari L1 cache. Konsep memori cache didasarkan pada fakta bahwa komputer secara inheren mesin pemrosesan sekuensial. Tentu saja salah satu keuntungan besar dari program komputer adalah dapat 'cabang' atau 'melompat' keluar dari urutan - subyek artikel lain dalam seri ini. Namun, masih ada waktu cukup ketika satu instruksi berikut lain untuk membuat buffer atau cache tambahan yang berguna untuk komputer.
Ide dasar dari cache adalah untuk memprediksi data apa yang dibutuhkan dari memori untuk diproses dalam CPU. Pertimbangkan sebuah program, yang terdiri dari instruksi seri, masing-masing disimpan di sebuah lokasi di memori, mengatakan dari alamat 100 ke atas. Instruksi pada lokasi 100 adalah membaca memori dan dieksekusi oleh CPU, maka instruksi berikutnya dibaca dari 101 lokasi dan dilaksanakan, kemudian 102, 103 dll Jika memori yang dimaksud adalah memori inti, mungkin akan memakan waktu 1 mikrodetik untuk membaca sebuah instruksi. Jika prosesor mengambil, mengatakan 100 nanodetik untuk mengeksekusi instruksi, ia kemudian harus menunggu 900 nanodetik untuk instruksi berikutnya (1 mikrodetik = 1000 nanodetik). Kecepatan ulangi efektif CPU adalah 1 mikrodetik. . (Times dan dikutip kecepatan yang khas, tetapi tidak mengacu pada perangkat keras yang spesifik, hanya memberikan gambaran dari prinsip-prinsip yang terlibat.)
2.3 Letak cache memory L1 cache terintegrasi dengan chip prosesor, artinya letak L1 cache sudah menyatu dengan chip prosesor (berada di dalam keping prosesor). Sedangkan letak L2 cache, ada yang menyatu dengan chip prosesor, ada pula yang terletak di luar chip prosesor, yaitu di motherboard dekat dengan posisi dudukan prosesor. Pada era prosesor intel 80486 atau sebelumnya, letak L2 cache kebanyakan berada di luar chip prosesor. Chip cache terpisah dari prosesor, berdiri mandiri dekat chip prosesor. Sejak era prosesor Intel Pentium, letak L2 cache ini sudah terintegrasi dengan chip prosesor (menyatu dengan keping prosesor). Posisi L2 cache selalu terletak antara L1 cache dengan memori utama (RAM). Sedangkan L3 cache belum diimplementasikan
secara umum pada semua jenis prosesor. Hanya prosesor-prosesor tertentu yang memiliki L3 cache. Cache memory yang letaknya terpisah dengan prosesor disebut cache memory non integrated atau diskrit (diskrit artinya putus atau terpisah). Cache memory yang letaknya menyatu dengan prosesor disebut cache memory integrated, on-chip, atau on-die(integrated artinya bersatu/menyatu/ tergabung, on-chip artinya ada pada chip). L1 cache (Level 1 cache) disebut pula dengan istilah primary cache, first cache, ataulevel one cache. L2 cache disebut dengan istilah secondary cache, second level cache, ataulevel two cache.
Gambar 2.2 Ilustrasi cache memory, bus, chipset, memori utama, dan komponen lainnya
2.4 Cara Kerja Cache Memory Jika prosesor membutuhkan suatu data, pertama-tama ia akan mencarinya pada cache. Jika data ditemukan, prosesor akan langsung membacanya dengan delay yang sangat kecil. Tetapi jika data yang dicari tidak ditemukan,prosesor akan mencarinya pada RAM yang kecepatannya lebih rendah. Pada umumnya, cache dapat menyediakan data yang dibutuhkan oleh prosesor sehingga pengaruh kerja RAM yang lambat dapat dikurangi. Dengan cara ini maka memory bandwidth akan naik dan kerja prosesor menjadi lebih efisien. Selain itu kapasitas memori cache yang
semakin besar juga akan meningkatkan kecepatan kerja computer secara keseluruhan. Dua jenis cache yang sering digunakan dalam dunia computer adalah memory caching dan disk caching. Implementasinya dapat berupa sebuah bagian khusus dari memory utama komputer atau sebuah media penyimpanan data khusus yang berkecepatan tinggi. Implementasi memory caching sering disebut sebagai memory cache dan tersusun dari memori komputer jenis SDRAM yang berkecepatan tinggi. Sedangkan implementasi disk caching menggunakan sebagian dari memori komputer. Memori utama terdiri dari sampai dengan 2n word beralamat, dengan masing-masing word mempunyai n-bit alamat yang unik. Untuk keperluan pemetaan, memori ini dinggap terdiri dari sejumlah blok yang mempunyai panjang K word masing-masing bloknya. Dengan demikian, ada M = 2n/K blok. Cache terdiri dari C buah baris yang masing-masing mengandung K word, dan banyaknya baris jauh lebih sedikit dibandingkan dengan banyaknya blok memori utama (C
View more...
Comments