Tembolok (komputer): Perbedaan antara revisi

Konten dihapus Konten ditambahkan
k Suntingan WS 4884 (bicara) dibatalkan ke versi terakhir oleh Rachmat04
Tag: Pengembalian
Taylorbot (bicara | kontrib)
perbaikan panggilan templat salah: "Cat main" -> "Main" | t=592 su=54 in=70 at=54 -- only 19 edits left of totally 74 possible edits | edr=000-0001(!!!) ovr=010-1111 aft=000-0001
 
(26 revisi perantara oleh 14 pengguna tidak ditampilkan)
Baris 1:
{{terjemah}}
[[Berkas:Cache,basic.svg|bingkai|Diagram operasi tembolok memori CPU]]
'''Tembolok''' atau '''memori singgahan''' ([[bahasa Inggris{{Lang-en|Inggris]]: ''cache''}}) adalah komponen perangkat keras atau perangkat lunak yang menyimpan data sehingga permintaan di masa mendatang untuk data tersebut dapat dilayani lebih cepat; data yang disimpan dalam mungkin merupakan hasil dari penghitungan sebelumnya atau salinan data yang disimpan di tempat lain. Sebuah ''cache hit'' terjadi ketika data yang diminta dapat ditemukan di tembolok, sementara ''cache miss'' terjadi jika tidak bisa. Cache hit disajikan dengan membaca data dari tembolok, yang lebih cepat daripada menghitung ulang hasil atau membaca dari penyimpanan data yang lebih lambat; dengan demikian, semakin banyak permintaan yang dapat dilayani dari tembolok, semakin cepat kinerja sistem.
 
Agar hemat biaya dan memungkinkan penggunaan data yang efisien, tembolok harus relatif kecil. Namun demikian, tembolok telah membuktikan dirinya di banyak area komputasi, karena [[Aplikasi piranti lunak|aplikasi komputer]] biasa mengakses data dengan tingkat [[lokalitas referensi]] yang tinggi. Pola akses tersebut menunjukkan lokalitas temporal, di mana data yang diminta telah diminta baru-baru ini, dan lokalitas [[Alamat memori|spasial]], di mana data yang diminta disimpan secara fisik dekat dengan data yang telah diminta.
Baris 11 ⟶ 12:
 
=== Latensi ===
Sumber daya yang lebih besar menimbulkan latensi yang signifikan untuk akses - mis. dibutuhkan ratusan siklus clock untuk prosesor 4  GHz modern untuk mencapai [[DRAM]]. Hal ini diatasi dengan membaca dalam potongan besar, dengan harapan bacaan selanjutnya akan berasal dari lokasi terdekat. Prediksi atau prefetching [[Tembolok CPU|eksplisit]] mungkin juga menebak dari mana bacaan di masa mendatang akan berasal dan membuat permintaan sebelumnya; jika dilakukan dengan benar latensi akan dilewati sama sekali.
 
=== Lewatan ===
Baris 17 ⟶ 18:
 
== Operasi ==
Perangkat keras mengimplementasikan tembolok sebagai [[Block (penyimpanan data)|blok]] memori untuk penyimpanan sementara data yang kemungkinan besar akan digunakan lagi. [[Unit Pemroses Sentral|Unit pemrosesan sentral]] (CPUuq) dan [[hard disk drive]] (HDD) sering menggunakan tembolok, seperti halnya peramban web dan server web.
 
Tembolok terdiri dari kumpulan entri. Setiap entri memiliki ''data'' terkait, yang merupakan salinan dari data yang sama di beberapa ''penyimpanan cadangan''. Setiap entri juga memiliki ''tag'', yang menentukan identitas data di penyimpanan pendukung di mana entri tersebut adalah salinannya. Pemberian tag memungkinkan algoritme berorientasi tembolok simultan berfungsi dalam mode berlapis-lapis tanpa gangguan relai diferensial.
Baris 46 ⟶ 47:
* Tembolok write-through menggunakan alokasi no-write. Di sini, penulisan selanjutnya tidak memiliki keuntungan, karena masih perlu ditulis langsung ke penyimpanan pendukung.
Entitas selain tembolok dapat mengubah data di penyimpanan cadangan, dalam hal ini salinan dalam tembolok mungkin menjadi kedaluwarsa atau ''basi''. Alternatifnya, saat klien memperbarui data di tembolok, salinan data tersebut di tembolok lain akan menjadi basi. Protokol komunikasi antara pengelola tembolok yang menjaga konsistensi data dikenal sebagai [[protokol koherensi]].
 
 
3
 
== Contoh tembolok perangkat keras ==
 
=== Tembolok CPU ===
{{Artikel utamaMain|Tembolok CPU}}
Memori kecil di atau dekat [[CPU]] dapat beroperasi lebih cepat daripada [[Penyimpanan data komputer#Penyimpanan utama|memori utama]] yang jauh lebih besar. Kebanyakan CPU sejak 1980-an telah menggunakan satu atau lebih tembolok, terkadang dalam [[Tembolok CPU#Tembolok multi-level|level bertingkat]]; modern high-end [[Sistem tertanam|tertanam]], [[mikroprosesor]] [[desktop]] dan server mungkin memiliki sebanyak enam jenis tembolok (antara level dan fungsi),.<ref>{{Cite web|last=Pirzada|first=Usman|date=2015-09-25|title=Intel Broadwell Core i7 5775C '128MB L4 Cache' Gaming Behemoth and Skylake Core i7 6700K Flagship Processors Finally Available In Retail|url=https://wccftech.com/intel-broadwell-core-i7-5775c-128mb-l4-cache-and-skylake-core-i7-6700k-flagship-processors-available-retail/|website=Wccftech|language=en-US|access-date=2020-10-09}}</ref> Contoh tembolok dengan fungsi tertentu adalah [[Daftar istilah teknologi informasi|D-cache]] dan [[Daftar istilah teknologi informasi|I-cache]] dan [[buffer tepi tampilan terjemahan]] untuk [[Unit manajemen memori|MMU]].
 
=== Tembolok GPU ===
[[Unit pemroses grafis|Unit pemrosesan grafis]] (GPU) sebelumnya sering kali memiliki [[temblok tekstur]] hanya baca yang terbatas, dan memperkenalkan tekstur swizzled [[urutan Morton]] untuk meningkatkan [[koherensi tembolok]] 2D. Cache miss akan mempengaruhi kinerja secara drastis, mis. jika mipmapping tidak digunakan. Caching penting untuk memanfaatkan transfer 32-bit (dan lebih luas) untuk data tekstur yang seringkalisering kali hanya 4 bit per piksel, diindeks dalam pola yang kompleks oleh koordinat UV sembarang dan transformasi perspektif dalam pemetaan tekstur terbalik.
 
Saat GPU terbaru (terutama dengan [[Penghitungan kernel|shader komputasi]] [[GPGPU]]) mereka telah mengembangkan tembolok yang semakin besar dan semakin umum, termasuk [[Tembolok CPU#Instruksi tembolok|tembolok instruksi]] untuk [[shader]], yang menunjukkan fungsionalitas yang semakin umum dengan tembolok CPU.<ref name=":0">{{Cite journal|last=Mittal|first=Sparsh|title=A SURVEY OF TECHNIQUES FOR MANAGING AND LEVERAGING CACHES IN GPUs|url=https://www.academia.edu/6940614/A_Survey_of_Techniques_for_Managing_and_Leveraging_Caches_in_GPUs|journal=Journal of Circuits, Systems and Computers|language=en|volume=23|issue=08|pages=1430002|issn=0218-1266}}</ref> Misalnya, arsitektur GPU [[GeForce 200 series|GT200]] tidak menampilkan tembolok L2, sedangkan GPU [[Fermi (mikroarsitektur)|Fermi]] memiliki tembolok level terakhir 768 KB, GPU [[Kepler (mikroarsitektur)|Kepler]] memiliki tembolok level terakhir 1536 KB,<ref name=":0" /> dan GPU [[Maxwell (mikroarsitektur)|Maxwell]] memiliki tembolok level terakhir 2048 KB. -tingkat tembolok. Tembolok ini telah berkembang untuk menangani [[Sinkronisasi (ilmu komputer)|sinkronisasi primitif]] antara utas dan [[Linearisasi|operasi atom]], dan antarmuka dengan [[MMU]] gaya CPU.
Baris 72 ⟶ 76:
 
===== Time aware least recently used (TLRU) =====
Time aware Least Recently Used (TLRU)<ref>{{cite journal|author=Bilal, Muhammad|display-authors=etal|year=2017|title=Time Aware Least Recent Used (TLRU) Cache Management Policy in ICN|journal=IEEE 16th International Conference on Advanced Communication Technology (ICACT)|pages=528–532|arxiv=1801.00390|bibcode=2018arXiv180100390B|doi=10.1109/ICACT.2014.6779016|isbn=978-89-968650-3-2}}</ref> adalah varian LRU yang dirancang untuk situasi di mana konten yang disimpan di tembolok memiliki masa pakai yang valid. Algoritme ini cocok untuk aplikasi tembolok jaringan, seperti Information-centric networking (ICN), [[Content Delivery Network|Content Delivery Networks]]s (CDNs) dan jaringan terdistribusi secara umum. TLRU memperkenalkan istilah baru: TTU (Time to Use). Karena stempel waktu berbasis lokalitas ini, TTU memberikan kontrol lebih kepada administrator lokal untuk mengatur penyimpanan jaringan. Dalam algoritme TLRU, ketika sebuah konten tiba, node tembolok menghitung nilai TTU lokal berdasarkan nilai TTU yang ditetapkan oleh penerbit konten. Nilai TTU lokal dihitung dengan menggunakan fungsi yang ditentukan secara lokal. Setelah nilai TTU lokal dihitung, penggantian konten dilakukan pada subset dari total konten yang disimpan di node tembolok. TLRU memastikan bahwa konten hidup yang kurang populer dan kecil harus diganti dengan konten yang masuk.
 
===== Least frequent recently used (LFRU) =====
Baris 80 ⟶ 84:
 
=== Tembolok disk ===
{{Artikel utamaMain|Tembolok halaman}}
Sementara tembolok CPU umumnya dikelola sepenuhnya oleh perangkat keras, berbagai perangkat lunak mengelola tembolok lainnya. [[Tembolok halaman]] di memori utama, yang merupakan contoh tembolok disk, dikelola oleh [[Kernel (ilmu komputer)|kernel]] sistem operasi.
 
Baris 88 ⟶ 92:
 
=== Tembolok Web ===
{{Artikel utamaMain|Tembolok web}}
[[Peramban web]] dan [[Server proxy|server proxy web]] menggunakan peramban web untuk menyimpan respons sebelumnya dari [[server web]], seperti [[halaman web]] dan [[gambar]]. Tembolok web mengurangi jumlah informasi yang perlu dikirim ke seluruh jaringan, karena informasi yang sebelumnya disimpan dalam tembolok sering kali dapat digunakan kembali. Ini mengurangi bandwidth dan persyaratan pemrosesan server web, dan membantu meningkatkan [[Responsivitas|daya tanggap]] bagi pengguna web.<ref>{{cite web|author=Multiple (wiki)|title=Web application caching|url=http://docforge.com/wiki/Web_application/Caching|work=Docforge|accessdate=2013-07-24|archive-date=2019-12-12|archive-url=https://web.archive.org/web/20191212152625/http://www.docforge.com/wiki/Web_application/Caching|dead-url=yes}}</ref>
 
Baris 96 ⟶ 100:
 
=== Memoisasi ===
{{Artikel utamaMain|Memoisasi}}
Tembolok dapat menyimpan data yang dihitung sesuai permintaan daripada diambil dari penyimpanan pendukung. [[Memoization]] adalah teknik [[Pengoptimalan program|pengoptimalan]] yang menyimpan hasil [[Subrutin|panggilan fungsi]] yang menghabiskan sumber daya dalam tabel pencarian, memungkinkan panggilan berikutnya untuk menggunakan kembali hasil yang disimpan dan menghindari komputasi berulang. Ini terkait dengan metodologi desain algoritma [[pemrograman dinamis]], yang juga dapat dianggap sebagai alat caching.
 
Baris 112 ⟶ 116:
Sebuah [[Tembolok terdistribusi|distributed cache]]<ref>{{cite journal|last=Paul|first=S|author2=Z Fei|date=1 February 2001|title=Distributed caching with centralized control|journal=Computer Communications|volume=24|issue=2|pages=256–268|doi=10.1016/S0140-3664(00)00322-4|citeseerx=10.1.1.38.1094}}<!--| accessdate =18 November 2009--></ref> menggunakan host jaringan untuk memberikan skalabilitas, keandalan, dan kinerja untuk aplikasi.<ref>{{cite journal|last=Khan|first=Iqbal|date=July 2009|title=Distributed Caching on the Path To Scalability|url=https://msdn.microsoft.com/magazine/dd942840.aspx|journal=MSDN|volume=24|issue=7}}</ref> Host dapat ditempatkan bersama atau tersebar di berbagai wilayah geografis.
 
== {{anchor|The difference between buffer and cache}}<!--Nama bagian sebelumnya digunakan di tautan eksternal--> Buffer vs. Temboloktembolok ==
Semantik dari "buffer" dan "tembolok" tidak jauh berbeda; meski begitu, ada perbedaan mendasar dalam maksud antara proses caching dan proses buffering.
 
Baris 148 ⟶ 152:
{{Div col end}}
 
== RefrensiReferensi ==
{{Reflist|30em}}
 
== Bacaan lanjutan ==
* {{en}}[http://www.unilim.fr/sci/wiki/_media/cali/cpumemory.pdf "What Every Programmer Should Know About Memory"]{{Pranala mati|date=Maret 2021 |bot=InternetArchiveBot |fix-attempted=yes }} oleh Ulrich Drepper
* {{en}}[http://msdn.microsoft.com/en-us/library/dd129907.aspx "Caching in the Distributed Environment"]
 
* [http://www.detikinet.com/read/2009/11/19/114448/1244699/398/cache Detik: Cache, Tepatkah Disebut Tembolok?]
{{Authority control}}
 
[[Kategori:Tembolok (komputer)]]
[[Kategori:Arsitektur komputer]]