CINXE.COM
Cache – Wikipedia
<!DOCTYPE html> <html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-feature-night-mode-enabled skin-theme-clientpref-day vector-sticky-header-enabled vector-toc-available" lang="de" dir="ltr"> <head> <meta charset="UTF-8"> <title>Cache – Wikipedia</title> <script>(function(){var className="client-js vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-feature-night-mode-enabled skin-theme-clientpref-day vector-sticky-header-enabled vector-toc-available";var cookie=document.cookie.match(/(?:^|; )dewikimwclientpreferences=([^;]+)/);if(cookie){cookie[1].split('%2C').forEach(function(pref){className=className.replace(new RegExp('(^| )'+pref.replace(/-clientpref-\w+$|[^\w-]+/g,'')+'-clientpref-\\w+( |$)'),'$1'+pref+'$2');});}document.documentElement.className=className;}());RLCONF={"wgBreakFrames":false,"wgSeparatorTransformTable":[",\t.",".\t,"],"wgDigitTransformTable":["",""],"wgDefaultDateFormat":"dmy","wgMonthNames":["","Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],"wgRequestId":"3a3bf88b-cf0b-45ee-9bc2-9607c2e9a7b2","wgCanonicalNamespace":"","wgCanonicalSpecialPageName":false,"wgNamespaceNumber":0,"wgPageName":"Cache","wgTitle":"Cache","wgCurRevisionId":253958672,"wgRevisionId":253958672,"wgArticleId":783,"wgIsArticle":true,"wgIsRedirect":false,"wgAction":"view","wgUserName":null,"wgUserGroups":["*"],"wgCategories":["Wikipedia:Belege fehlen","Rechnerarchitektur","Speicherverwaltung"],"wgPageViewLanguage":"de","wgPageContentLanguage":"de","wgPageContentModel":"wikitext","wgRelevantPageName":"Cache","wgRelevantArticleId":783,"wgIsProbablyEditable":true,"wgRelevantPageIsProbablyEditable":true,"wgRestrictionEdit":[],"wgRestrictionMove":[],"wgNoticeProject":"wikipedia","wgCiteReferencePreviewsActive":true,"wgFlaggedRevsParams":{"tags":{"accuracy":{"levels":1}}},"wgStableRevisionId":253958672,"wgMediaViewerOnClick":true,"wgMediaViewerEnabledByDefault":true,"wgPopupsFlags":0,"wgVisualEditor":{"pageLanguageCode":"de","pageLanguageDir":"ltr","pageVariantFallbacks":"de"},"wgMFDisplayWikibaseDescriptions":{"search":true,"watchlist":true,"tagline":true,"nearby":true},"wgWMESchemaEditAttemptStepOversample":false,"wgWMEPageLength":40000,"wgEditSubmitButtonLabelPublish":true,"wgULSPosition":"interlanguage","wgULSisCompactLinksEnabled":false,"wgVector2022LanguageInHeader":true,"wgULSisLanguageSelectorEmpty":false,"wgWikibaseItemId":"Q165596","wgCheckUserClientHintsHeadersJsApi":["brands","architecture","bitness","fullVersionList","mobile","model","platform","platformVersion"],"GEHomepageSuggestedEditsEnableTopics":true,"wgGETopicsMatchModeEnabled":false,"wgGELevelingUpEnabledForUser":false,"wgSiteNoticeId":"2.54"}; RLSTATE={"ext.gadget.dewiki-logo":"ready","ext.gadget.citeRef":"ready","ext.gadget.defaultPlainlinks":"ready","ext.gadget.dewikiCommonHide":"ready","ext.gadget.dewikiCommonLayout":"ready","ext.gadget.dewikiCommonStyle":"ready","ext.gadget.dewikiDarkmode":"ready","ext.gadget.dewikiResponsive":"ready","ext.gadget.NavFrame":"ready","ext.globalCssJs.user.styles":"ready","site.styles":"ready","user.styles":"ready","ext.globalCssJs.user":"ready","user":"ready","user.options":"loading","ext.cite.styles":"ready","ext.math.styles":"ready","skins.vector.search.codex.styles":"ready","skins.vector.styles":"ready","skins.vector.icons":"ready","ext.flaggedRevs.basic":"ready","mediawiki.codex.messagebox.styles":"ready","ext.wikimediamessages.styles":"ready","ext.visualEditor.desktopArticleTarget.noscript":"ready","ext.uls.interlanguage":"ready","wikibase.client.init":"ready","ext.dismissableSiteNotice.styles":"ready"};RLPAGEMODULES=["ext.cite.ux-enhancements","mediawiki.page.media","site","mediawiki.page.ready","mediawiki.toc","skins.vector.js","ext.centralNotice.geoIP","ext.centralNotice.startUp","ext.flaggedRevs.advanced","ext.gadget.createNewSection","ext.gadget.WikiMiniAtlas","ext.gadget.OpenStreetMap","ext.gadget.CommonsDirekt","ext.gadget.donateLink","ext.urlShortener.toolbar","ext.centralauth.centralautologin","mmv.bootstrap","ext.popups","ext.visualEditor.desktopArticleTarget.init","ext.visualEditor.targetLoader","ext.echo.centralauth","ext.eventLogging","ext.wikimediaEvents","ext.navigationTiming","ext.uls.interface","ext.cx.eventlogging.campaigns","ext.cx.uls.quick.actions","wikibase.client.vector-2022","ext.checkUser.clientHints","ext.growthExperiments.SuggestedEditSession","ext.dismissableSiteNotice"];</script> <script>(RLQ=window.RLQ||[]).push(function(){mw.loader.impl(function(){return["user.options@12s5i",function($,jQuery,require,module){mw.user.tokens.set({"patrolToken":"+\\","watchToken":"+\\","csrfToken":"+\\"}); }];});});</script> <link rel="stylesheet" href="/w/load.php?lang=de&modules=ext.cite.styles%7Cext.dismissableSiteNotice.styles%7Cext.flaggedRevs.basic%7Cext.math.styles%7Cext.uls.interlanguage%7Cext.visualEditor.desktopArticleTarget.noscript%7Cext.wikimediamessages.styles%7Cmediawiki.codex.messagebox.styles%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles%7Cwikibase.client.init&only=styles&skin=vector-2022"> <script async="" src="/w/load.php?lang=de&modules=startup&only=scripts&raw=1&skin=vector-2022"></script> <meta name="ResourceLoaderDynamicStyles" content=""> <link rel="stylesheet" href="/w/load.php?lang=de&modules=ext.gadget.NavFrame%2CciteRef%2CdefaultPlainlinks%2Cdewiki-logo%2CdewikiCommonHide%2CdewikiCommonLayout%2CdewikiCommonStyle%2CdewikiDarkmode%2CdewikiResponsive&only=styles&skin=vector-2022"> <link rel="stylesheet" href="/w/load.php?lang=de&modules=site.styles&only=styles&skin=vector-2022"> <meta name="generator" content="MediaWiki 1.44.0-wmf.23"> <meta name="referrer" content="origin"> <meta name="referrer" content="origin-when-cross-origin"> <meta name="robots" content="max-image-preview:standard"> <meta name="format-detection" content="telephone=no"> <meta name="viewport" content="width=1120"> <meta property="og:title" content="Cache – Wikipedia"> <meta property="og:type" content="website"> <link rel="preconnect" href="//upload.wikimedia.org"> <link rel="alternate" media="only screen and (max-width: 640px)" href="//de.m.wikipedia.org/wiki/Cache"> <link rel="alternate" type="application/x-wiki" title="Seite bearbeiten" href="/w/index.php?title=Cache&action=edit"> <link rel="apple-touch-icon" href="/static/apple-touch/wikipedia.png"> <link rel="icon" href="/static/favicon/wikipedia.ico"> <link rel="search" type="application/opensearchdescription+xml" href="/w/rest.php/v1/search" title="Wikipedia (de)"> <link rel="EditURI" type="application/rsd+xml" href="//de.wikipedia.org/w/api.php?action=rsd"> <link rel="canonical" href="https://de.wikipedia.org/wiki/Cache"> <link rel="license" href="https://creativecommons.org/licenses/by-sa/4.0/deed.de"> <link rel="alternate" type="application/atom+xml" title="Atom-Feed für „Wikipedia“" href="/w/index.php?title=Spezial:Letzte_%C3%84nderungen&feed=atom"> <link rel="dns-prefetch" href="//meta.wikimedia.org" /> <link rel="dns-prefetch" href="auth.wikimedia.org"> </head> <body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject mw-editable page-Cache rootpage-Cache skin-vector-2022 action-view"><a class="mw-jump-link" href="#bodyContent">Zum Inhalt springen</a> <div class="vector-header-container"> <header class="vector-header mw-header"> <div class="vector-header-start"> <nav class="vector-main-menu-landmark" aria-label="Website"> <div id="vector-main-menu-dropdown" class="vector-dropdown vector-main-menu-dropdown vector-button-flush-left vector-button-flush-right" title="Hauptmenü" > <input type="checkbox" id="vector-main-menu-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-main-menu-dropdown" class="vector-dropdown-checkbox " aria-label="Hauptmenü" > <label id="vector-main-menu-dropdown-label" for="vector-main-menu-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-menu mw-ui-icon-wikimedia-menu"></span> <span class="vector-dropdown-label-text">Hauptmenü</span> </label> <div class="vector-dropdown-content"> <div id="vector-main-menu-unpinned-container" class="vector-unpinned-container"> <div id="vector-main-menu" class="vector-main-menu vector-pinnable-element"> <div class="vector-pinnable-header vector-main-menu-pinnable-header vector-pinnable-header-unpinned" data-feature-name="main-menu-pinned" data-pinnable-element-id="vector-main-menu" data-pinned-container-id="vector-main-menu-pinned-container" data-unpinned-container-id="vector-main-menu-unpinned-container" > <div class="vector-pinnable-header-label">Hauptmenü</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-main-menu.pin">In die Seitenleiste verschieben</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-main-menu.unpin">Verbergen</button> </div> <div id="p-navigation" class="vector-menu mw-portlet mw-portlet-navigation" > <div class="vector-menu-heading"> Navigation </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-mainpage-description" class="mw-list-item"><a href="/wiki/Wikipedia:Hauptseite" title="Hauptseite besuchen [z]" accesskey="z"><span>Hauptseite</span></a></li><li id="n-topics" class="mw-list-item"><a href="/wiki/Portal:Wikipedia_nach_Themen"><span>Themenportale</span></a></li><li id="n-randompage" class="mw-list-item"><a href="/wiki/Spezial:Zuf%C3%A4llige_Seite" title="Zufällige Seite aufrufen [x]" accesskey="x"><span>Zufälliger Artikel</span></a></li><li id="n-specialpages" class="mw-list-item"><a href="/wiki/Spezial:Spezialseiten"><span>Spezialseiten</span></a></li> </ul> </div> </div> <div id="p-Mitmachen" class="vector-menu mw-portlet mw-portlet-Mitmachen" > <div class="vector-menu-heading"> Mitmachen </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-Artikel-verbessern" class="mw-list-item"><a href="/wiki/Wikipedia:Beteiligen"><span>Artikel verbessern</span></a></li><li id="n-Neuerartikel" class="mw-list-item"><a href="/wiki/Hilfe:Neuen_Artikel_anlegen"><span>Neuen Artikel anlegen</span></a></li><li id="n-portal" class="mw-list-item"><a href="/wiki/Wikipedia:Autorenportal" title="Info-Zentrum über Beteiligungsmöglichkeiten"><span>Autorenportal</span></a></li><li id="n-help" class="mw-list-item"><a href="/wiki/Hilfe:%C3%9Cbersicht" title="Übersicht über Hilfeseiten"><span>Hilfe</span></a></li><li id="n-recentchanges" class="mw-list-item"><a href="/wiki/Spezial:Letzte_%C3%84nderungen" title="Liste der letzten Änderungen in Wikipedia [r]" accesskey="r"><span>Letzte Änderungen</span></a></li><li id="n-contact" class="mw-list-item"><a href="/wiki/Wikipedia:Kontakt" title="Kontaktmöglichkeiten"><span>Kontakt</span></a></li> </ul> </div> </div> </div> </div> </div> </div> </nav> <a href="/wiki/Wikipedia:Hauptseite" class="mw-logo"> <img class="mw-logo-icon" src="/static/images/icons/wikipedia.png" alt="" aria-hidden="true" height="50" width="50"> <span class="mw-logo-container skin-invert"> <img class="mw-logo-wordmark" alt="Wikipedia" src="/static/images/mobile/copyright/wikipedia-wordmark-en.svg" style="width: 7.5em; height: 1.125em;"> <img class="mw-logo-tagline" alt="Die freie Enzyklopädie" src="/static/images/mobile/copyright/wikipedia-tagline-de.svg" width="120" height="13" style="width: 7.5em; height: 0.8125em;"> </span> </a> </div> <div class="vector-header-end"> <div id="p-search" role="search" class="vector-search-box-vue vector-search-box-collapses vector-search-box-show-thumbnail vector-search-box-auto-expand-width vector-search-box"> <a href="/wiki/Spezial:Suche" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only search-toggle" title="Durchsuche die Wikipedia [f]" accesskey="f"><span class="vector-icon mw-ui-icon-search mw-ui-icon-wikimedia-search"></span> <span>Suche</span> </a> <div class="vector-typeahead-search-container"> <div class="cdx-typeahead-search cdx-typeahead-search--show-thumbnail cdx-typeahead-search--auto-expand-width"> <form action="/w/index.php" id="searchform" class="cdx-search-input cdx-search-input--has-end-button"> <div id="simpleSearch" class="cdx-search-input__input-wrapper" data-search-loc="header-moved"> <div class="cdx-text-input cdx-text-input--has-start-icon"> <input class="cdx-text-input__input" type="search" name="search" placeholder="Wikipedia durchsuchen" aria-label="Wikipedia durchsuchen" autocapitalize="sentences" title="Durchsuche die Wikipedia [f]" accesskey="f" id="searchInput" > <span class="cdx-text-input__icon cdx-text-input__start-icon"></span> </div> <input type="hidden" name="title" value="Spezial:Suche"> </div> <button class="cdx-button cdx-search-input__end-button">Suchen</button> </form> </div> </div> </div> <nav class="vector-user-links vector-user-links-wide" aria-label="Meine Werkzeuge"> <div class="vector-user-links-main"> <div id="p-vector-user-menu-preferences" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <div id="p-vector-user-menu-userpage" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <nav class="vector-appearance-landmark" aria-label="Erscheinungsbild"> <div id="vector-appearance-dropdown" class="vector-dropdown " title="Änderung des Aussehens der Schriftgröße, -breite und -farbe der Seite" > <input type="checkbox" id="vector-appearance-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-appearance-dropdown" class="vector-dropdown-checkbox " aria-label="Erscheinungsbild" > <label id="vector-appearance-dropdown-label" for="vector-appearance-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-appearance mw-ui-icon-wikimedia-appearance"></span> <span class="vector-dropdown-label-text">Erscheinungsbild</span> </label> <div class="vector-dropdown-content"> <div id="vector-appearance-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <div id="p-vector-user-menu-notifications" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <div id="p-vector-user-menu-overflow" class="vector-menu mw-portlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-sitesupport-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="https://donate.wikimedia.org/?wmf_source=donate&wmf_medium=sidebar&wmf_campaign=de.wikipedia.org&uselang=de" class=""><span>Spenden</span></a> </li> <li id="pt-createaccount-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="/w/index.php?title=Spezial:Benutzerkonto_anlegen&returnto=Cache" title="Wir ermutigen dich dazu, ein Benutzerkonto zu erstellen und dich anzumelden. Es ist jedoch nicht zwingend erforderlich." class=""><span>Benutzerkonto erstellen</span></a> </li> <li id="pt-login-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="/w/index.php?title=Spezial:Anmelden&returnto=Cache" title="Anmelden ist zwar keine Pflicht, wird aber gerne gesehen. [o]" accesskey="o" class=""><span>Anmelden</span></a> </li> </ul> </div> </div> </div> <div id="vector-user-links-dropdown" class="vector-dropdown vector-user-menu vector-button-flush-right vector-user-menu-logged-out" title="Weitere Optionen" > <input type="checkbox" id="vector-user-links-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-user-links-dropdown" class="vector-dropdown-checkbox " aria-label="Meine Werkzeuge" > <label id="vector-user-links-dropdown-label" for="vector-user-links-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-ellipsis mw-ui-icon-wikimedia-ellipsis"></span> <span class="vector-dropdown-label-text">Meine Werkzeuge</span> </label> <div class="vector-dropdown-content"> <div id="p-personal" class="vector-menu mw-portlet mw-portlet-personal user-links-collapsible-item" title="Benutzermenü" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-sitesupport" class="user-links-collapsible-item mw-list-item"><a href="https://donate.wikimedia.org/?wmf_source=donate&wmf_medium=sidebar&wmf_campaign=de.wikipedia.org&uselang=de"><span>Spenden</span></a></li><li id="pt-createaccount" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=Spezial:Benutzerkonto_anlegen&returnto=Cache" title="Wir ermutigen dich dazu, ein Benutzerkonto zu erstellen und dich anzumelden. Es ist jedoch nicht zwingend erforderlich."><span class="vector-icon mw-ui-icon-userAdd mw-ui-icon-wikimedia-userAdd"></span> <span>Benutzerkonto erstellen</span></a></li><li id="pt-login" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=Spezial:Anmelden&returnto=Cache" title="Anmelden ist zwar keine Pflicht, wird aber gerne gesehen. [o]" accesskey="o"><span class="vector-icon mw-ui-icon-logIn mw-ui-icon-wikimedia-logIn"></span> <span>Anmelden</span></a></li> </ul> </div> </div> <div id="p-user-menu-anon-editor" class="vector-menu mw-portlet mw-portlet-user-menu-anon-editor" > <div class="vector-menu-heading"> Seiten für nicht angemeldete Benutzer <a href="/wiki/Wikipedia:Starthilfe" aria-label="Erfahre mehr über das Bearbeiten"><span>Weitere Informationen</span></a> </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-anoncontribs" class="mw-list-item"><a href="/wiki/Spezial:Meine_Beitr%C3%A4ge" title="Eine Liste der Bearbeitungen, die von dieser IP-Adresse gemacht wurden [y]" accesskey="y"><span>Beiträge</span></a></li><li id="pt-anontalk" class="mw-list-item"><a href="/wiki/Spezial:Meine_Diskussionsseite" title="Diskussion über Änderungen von dieser IP-Adresse [n]" accesskey="n"><span>Diskussionsseite</span></a></li> </ul> </div> </div> </div> </div> </nav> </div> </header> </div> <div class="mw-page-container"> <div class="mw-page-container-inner"> <div class="vector-sitenotice-container"> <div id="siteNotice"><div id="mw-dismissablenotice-anonplace"></div><script>(function(){var node=document.getElementById("mw-dismissablenotice-anonplace");if(node){node.outerHTML="\u003Cdiv class=\"mw-dismissable-notice\"\u003E\u003Cdiv class=\"mw-dismissable-notice-close\"\u003E[\u003Ca tabindex=\"0\" role=\"button\"\u003EVerbergen\u003C/a\u003E]\u003C/div\u003E\u003Cdiv class=\"mw-dismissable-notice-body\"\u003E\u003C!-- CentralNotice --\u003E\u003Cdiv id=\"localNotice\" data-nosnippet=\"\"\u003E\u003Cdiv class=\"anonnotice\" lang=\"de\" dir=\"ltr\"\u003E\u003Cdiv role=\"alert\" style=\"border:1px solid var(--border-color-base, #a2a9b1); padding:.2em .4em;\"\u003EDas Aussehen der deutschsprachigen Wikipedia hat sich geändert: Das Hauptmenü ist nun links neben dem Logo erreichbar, die eigene Diskussionsseite und Beitragsliste rechts neben dem Link zum Anmelden und die Werkzeugleiste mit Verweisen zu Schwesterprojekten wie Wikimedia Commons rechts neben dem Link zur Versionsgeschichte. \u003Ca href=\"https://en.wikipedia.org/wiki/de:Hilfe:Skin/Vector_2022\" class=\"extiw\" title=\"w:de:Hilfe:Skin/Vector 2022\"\u003EWeitere Informationen\u003C/a\u003E\u003C/div\u003E\u003C/div\u003E\u003C/div\u003E\u003C/div\u003E\u003C/div\u003E";}}());</script></div> </div> <div class="vector-column-start"> <div class="vector-main-menu-container"> <div id="mw-navigation"> <nav id="mw-panel" class="vector-main-menu-landmark" aria-label="Website"> <div id="vector-main-menu-pinned-container" class="vector-pinned-container"> </div> </nav> </div> </div> <div class="vector-sticky-pinned-container"> <nav id="mw-panel-toc" aria-label="Inhaltsverzeichnis" data-event-name="ui.sidebar-toc" class="mw-table-of-contents-container vector-toc-landmark"> <div id="vector-toc-pinned-container" class="vector-pinned-container"> <div id="vector-toc" class="vector-toc vector-pinnable-element"> <div class="vector-pinnable-header vector-toc-pinnable-header vector-pinnable-header-pinned" data-feature-name="toc-pinned" data-pinnable-element-id="vector-toc" > <h2 class="vector-pinnable-header-label">Inhaltsverzeichnis</h2> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-toc.pin">In die Seitenleiste verschieben</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-toc.unpin">Verbergen</button> </div> <ul class="vector-toc-contents" id="mw-panel-toc-list"> <li id="toc-mw-content-text" class="vector-toc-list-item vector-toc-level-1"> <a href="#" class="vector-toc-link"> <div class="vector-toc-text">(Anfang)</div> </a> </li> <li id="toc-Geschichte" class="vector-toc-list-item vector-toc-level-1"> <a class="vector-toc-link" href="#Geschichte"> <div class="vector-toc-text"> <span class="vector-toc-numb">1</span> <span>Geschichte</span> </div> </a> <ul id="toc-Geschichte-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Randbedingungen" class="vector-toc-list-item vector-toc-level-1"> <a class="vector-toc-link" href="#Randbedingungen"> <div class="vector-toc-text"> <span class="vector-toc-numb">2</span> <span>Randbedingungen</span> </div> </a> <ul id="toc-Randbedingungen-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Nutzen" class="vector-toc-list-item vector-toc-level-1"> <a class="vector-toc-link" href="#Nutzen"> <div class="vector-toc-text"> <span class="vector-toc-numb">3</span> <span>Nutzen</span> </div> </a> <ul id="toc-Nutzen-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Cachehierarchie" class="vector-toc-list-item vector-toc-level-1"> <a class="vector-toc-link" href="#Cachehierarchie"> <div class="vector-toc-text"> <span class="vector-toc-numb">4</span> <span>Cachehierarchie</span> </div> </a> <ul id="toc-Cachehierarchie-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Strategien" class="vector-toc-list-item vector-toc-level-1"> <a class="vector-toc-link" href="#Strategien"> <div class="vector-toc-text"> <span class="vector-toc-numb">5</span> <span>Strategien</span> </div> </a> <button aria-controls="toc-Strategien-sublist" class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-toc-toggle"> <span class="vector-icon mw-ui-icon-wikimedia-expand"></span> <span>Unterabschnitt Strategien umschalten</span> </button> <ul id="toc-Strategien-sublist" class="vector-toc-list"> <li id="toc-Cachegröße" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Cachegröße"> <div class="vector-toc-text"> <span class="vector-toc-numb">5.1</span> <span>Cachegröße</span> </div> </a> <ul id="toc-Cachegröße-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Lokalitätsausnutzung" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Lokalitätsausnutzung"> <div class="vector-toc-text"> <span class="vector-toc-numb">5.2</span> <span>Lokalitätsausnutzung</span> </div> </a> <ul id="toc-Lokalitätsausnutzung-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-Organisation" class="vector-toc-list-item vector-toc-level-1"> <a class="vector-toc-link" href="#Organisation"> <div class="vector-toc-text"> <span class="vector-toc-numb">6</span> <span>Organisation</span> </div> </a> <button aria-controls="toc-Organisation-sublist" class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-toc-toggle"> <span class="vector-icon mw-ui-icon-wikimedia-expand"></span> <span>Unterabschnitt Organisation umschalten</span> </button> <ul id="toc-Organisation-sublist" class="vector-toc-list"> <li id="toc-Cache-Line/Cache-Zeile" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Cache-Line/Cache-Zeile"> <div class="vector-toc-text"> <span class="vector-toc-numb">6.1</span> <span>Cache-Line/Cache-Zeile</span> </div> </a> <ul id="toc-Cache-Line/Cache-Zeile-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Blocknummer-Tags_statt_Adress-Tags" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Blocknummer-Tags_statt_Adress-Tags"> <div class="vector-toc-text"> <span class="vector-toc-numb">6.2</span> <span>Blocknummer-Tags statt Adress-Tags</span> </div> </a> <ul id="toc-Blocknummer-Tags_statt_Adress-Tags-sublist" class="vector-toc-list"> <li id="toc-Beispiel" class="vector-toc-list-item vector-toc-level-3"> <a class="vector-toc-link" href="#Beispiel"> <div class="vector-toc-text"> <span class="vector-toc-numb">6.2.1</span> <span>Beispiel</span> </div> </a> <ul id="toc-Beispiel-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-Block/Satz-Aufteilung_der_Tags" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Block/Satz-Aufteilung_der_Tags"> <div class="vector-toc-text"> <span class="vector-toc-numb">6.3</span> <span>Block/Satz-Aufteilung der Tags</span> </div> </a> <ul id="toc-Block/Satz-Aufteilung_der_Tags-sublist" class="vector-toc-list"> <li id="toc-Erklärung_anhand_eines_Beispiels" class="vector-toc-list-item vector-toc-level-3"> <a class="vector-toc-link" href="#Erklärung_anhand_eines_Beispiels"> <div class="vector-toc-text"> <span class="vector-toc-numb">6.3.1</span> <span>Erklärung anhand eines Beispiels</span> </div> </a> <ul id="toc-Erklärung_anhand_eines_Beispiels-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> </ul> </li> <li id="toc-Cache_Hits_und_Misses" class="vector-toc-list-item vector-toc-level-1"> <a class="vector-toc-link" href="#Cache_Hits_und_Misses"> <div class="vector-toc-text"> <span class="vector-toc-numb">7</span> <span>Cache Hits und Misses</span> </div> </a> <ul id="toc-Cache_Hits_und_Misses-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Arbeitsweise" class="vector-toc-list-item vector-toc-level-1"> <a class="vector-toc-link" href="#Arbeitsweise"> <div class="vector-toc-text"> <span class="vector-toc-numb">8</span> <span>Arbeitsweise</span> </div> </a> <button aria-controls="toc-Arbeitsweise-sublist" class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-toc-toggle"> <span class="vector-icon mw-ui-icon-wikimedia-expand"></span> <span>Unterabschnitt Arbeitsweise umschalten</span> </button> <ul id="toc-Arbeitsweise-sublist" class="vector-toc-list"> <li id="toc-Verdrängungsstrategien" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Verdrängungsstrategien"> <div class="vector-toc-text"> <span class="vector-toc-numb">8.1</span> <span>Verdrängungsstrategien</span> </div> </a> <ul id="toc-Verdrängungsstrategien-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Schreibstrategie" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Schreibstrategie"> <div class="vector-toc-text"> <span class="vector-toc-numb">8.2</span> <span>Schreibstrategie</span> </div> </a> <ul id="toc-Schreibstrategie-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Cache_Flush" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Cache_Flush"> <div class="vector-toc-text"> <span class="vector-toc-numb">8.3</span> <span>Cache Flush</span> </div> </a> <ul id="toc-Cache_Flush-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Sonstiges" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Sonstiges"> <div class="vector-toc-text"> <span class="vector-toc-numb">8.4</span> <span>Sonstiges</span> </div> </a> <ul id="toc-Sonstiges-sublist" class="vector-toc-list"> <li id="toc-Einträge_im_Cache" class="vector-toc-list-item vector-toc-level-3"> <a class="vector-toc-link" href="#Einträge_im_Cache"> <div class="vector-toc-text"> <span class="vector-toc-numb">8.4.1</span> <span>Einträge im Cache</span> </div> </a> <ul id="toc-Einträge_im_Cache-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Heiße_und_kalte_Caches" class="vector-toc-list-item vector-toc-level-3"> <a class="vector-toc-link" href="#Heiße_und_kalte_Caches"> <div class="vector-toc-text"> <span class="vector-toc-numb">8.4.2</span> <span>Heiße und kalte Caches</span> </div> </a> <ul id="toc-Heiße_und_kalte_Caches-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> </ul> </li> <li id="toc-Beispiele" class="vector-toc-list-item vector-toc-level-1"> <a class="vector-toc-link" href="#Beispiele"> <div class="vector-toc-text"> <span class="vector-toc-numb">9</span> <span>Beispiele</span> </div> </a> <button aria-controls="toc-Beispiele-sublist" class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-toc-toggle"> <span class="vector-icon mw-ui-icon-wikimedia-expand"></span> <span>Unterabschnitt Beispiele umschalten</span> </button> <ul id="toc-Beispiele-sublist" class="vector-toc-list"> <li id="toc-Prozessor-Cache" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Prozessor-Cache"> <div class="vector-toc-text"> <span class="vector-toc-numb">9.1</span> <span>Prozessor-Cache</span> </div> </a> <ul id="toc-Prozessor-Cache-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Laufwerks-Cache" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Laufwerks-Cache"> <div class="vector-toc-text"> <span class="vector-toc-numb">9.2</span> <span>Laufwerks-Cache</span> </div> </a> <ul id="toc-Laufwerks-Cache-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Software-Caches" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Software-Caches"> <div class="vector-toc-text"> <span class="vector-toc-numb">9.3</span> <span>Software-Caches</span> </div> </a> <ul id="toc-Software-Caches-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Suchmaschinen-Cache" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Suchmaschinen-Cache"> <div class="vector-toc-text"> <span class="vector-toc-numb">9.4</span> <span>Suchmaschinen-Cache</span> </div> </a> <ul id="toc-Suchmaschinen-Cache-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-DNS-Caching" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#DNS-Caching"> <div class="vector-toc-text"> <span class="vector-toc-numb">9.5</span> <span>DNS-Caching</span> </div> </a> <ul id="toc-DNS-Caching-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-Weblinks" class="vector-toc-list-item vector-toc-level-1"> <a class="vector-toc-link" href="#Weblinks"> <div class="vector-toc-text"> <span class="vector-toc-numb">10</span> <span>Weblinks</span> </div> </a> <ul id="toc-Weblinks-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Einzelnachweise" class="vector-toc-list-item vector-toc-level-1"> <a class="vector-toc-link" href="#Einzelnachweise"> <div class="vector-toc-text"> <span class="vector-toc-numb">11</span> <span>Einzelnachweise</span> </div> </a> <ul id="toc-Einzelnachweise-sublist" class="vector-toc-list"> </ul> </li> </ul> </div> </div> </nav> </div> </div> <div class="mw-content-container"> <main id="content" class="mw-body"> <header class="mw-body-header vector-page-titlebar"> <nav aria-label="Inhaltsverzeichnis" class="vector-toc-landmark"> <div id="vector-page-titlebar-toc" class="vector-dropdown vector-page-titlebar-toc vector-button-flush-left" title="Inhaltsverzeichnis" > <input type="checkbox" id="vector-page-titlebar-toc-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-page-titlebar-toc" class="vector-dropdown-checkbox " aria-label="Inhaltsverzeichnis umschalten" > <label id="vector-page-titlebar-toc-label" for="vector-page-titlebar-toc-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-listBullet mw-ui-icon-wikimedia-listBullet"></span> <span class="vector-dropdown-label-text">Inhaltsverzeichnis umschalten</span> </label> <div class="vector-dropdown-content"> <div id="vector-page-titlebar-toc-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-main">Cache</span></h1> <div id="p-lang-btn" class="vector-dropdown mw-portlet mw-portlet-lang" > <input type="checkbox" id="p-lang-btn-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-p-lang-btn" class="vector-dropdown-checkbox mw-interlanguage-selector" aria-label="Zu einem Artikel in einer anderen Sprache gehen. Verfügbar in 58 Sprachen" > <label id="p-lang-btn-label" for="p-lang-btn-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--action-progressive mw-portlet-lang-heading-58" aria-hidden="true" ><span class="vector-icon mw-ui-icon-language-progressive mw-ui-icon-wikimedia-language-progressive"></span> <span class="vector-dropdown-label-text">58 Sprachen</span> </label> <div class="vector-dropdown-content"> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li class="interlanguage-link interwiki-af mw-list-item"><a href="https://af.wikipedia.org/wiki/Kasstelsel" title="Kasstelsel – Afrikaans" lang="af" hreflang="af" data-title="Kasstelsel" data-language-autonym="Afrikaans" data-language-local-name="Afrikaans" class="interlanguage-link-target"><span>Afrikaans</span></a></li><li class="interlanguage-link interwiki-als mw-list-item"><a href="https://als.wikipedia.org/wiki/Cache" title="Cache – Schweizerdeutsch" lang="gsw" hreflang="gsw" data-title="Cache" data-language-autonym="Alemannisch" data-language-local-name="Schweizerdeutsch" class="interlanguage-link-target"><span>Alemannisch</span></a></li><li class="interlanguage-link interwiki-ar mw-list-item"><a href="https://ar.wikipedia.org/wiki/%D8%B0%D8%A7%D9%83%D8%B1%D8%A9_%D9%85%D8%AE%D8%A8%D8%A6%D9%8A%D8%A9" title="ذاكرة مخبئية – Arabisch" lang="ar" hreflang="ar" data-title="ذاكرة مخبئية" data-language-autonym="العربية" data-language-local-name="Arabisch" class="interlanguage-link-target"><span>العربية</span></a></li><li class="interlanguage-link interwiki-az mw-list-item"><a href="https://az.wikipedia.org/wiki/Ke%C5%9F" title="Keş – Aserbaidschanisch" lang="az" hreflang="az" data-title="Keş" data-language-autonym="Azərbaycanca" data-language-local-name="Aserbaidschanisch" class="interlanguage-link-target"><span>Azərbaycanca</span></a></li><li class="interlanguage-link interwiki-bg mw-list-item"><a href="https://bg.wikipedia.org/wiki/%D0%9A%D0%B5%D1%88%D0%BF%D0%B0%D0%BC%D0%B5%D1%82" title="Кешпамет – Bulgarisch" lang="bg" hreflang="bg" data-title="Кешпамет" data-language-autonym="Български" data-language-local-name="Bulgarisch" class="interlanguage-link-target"><span>Български</span></a></li><li class="interlanguage-link interwiki-bh mw-list-item"><a href="https://bh.wikipedia.org/wiki/%E0%A4%95%E0%A5%88%E0%A4%B6_(%E0%A4%95%E0%A4%82%E0%A4%AA%E0%A5%8D%E0%A4%AF%E0%A5%82%E0%A4%9F%E0%A4%BF%E0%A4%82%E0%A4%97)" title="कैश (कंप्यूटिंग) – Bhojpuri" lang="bh" hreflang="bh" data-title="कैश (कंप्यूटिंग)" data-language-autonym="भोजपुरी" data-language-local-name="Bhojpuri" class="interlanguage-link-target"><span>भोजपुरी</span></a></li><li class="interlanguage-link interwiki-bn mw-list-item"><a href="https://bn.wikipedia.org/wiki/%E0%A6%95%E0%A7%8D%E0%A6%AF%E0%A6%BE%E0%A6%B6_(%E0%A6%95%E0%A6%AE%E0%A7%8D%E0%A6%AA%E0%A6%BF%E0%A6%89%E0%A6%9F%E0%A6%BF%E0%A6%82)" title="ক্যাশ (কম্পিউটিং) – Bengalisch" lang="bn" hreflang="bn" data-title="ক্যাশ (কম্পিউটিং)" data-language-autonym="বাংলা" data-language-local-name="Bengalisch" class="interlanguage-link-target"><span>বাংলা</span></a></li><li class="interlanguage-link interwiki-bs mw-list-item"><a href="https://bs.wikipedia.org/wiki/Ke%C5%A1_memorija" title="Keš memorija – Bosnisch" lang="bs" hreflang="bs" data-title="Keš memorija" data-language-autonym="Bosanski" data-language-local-name="Bosnisch" class="interlanguage-link-target"><span>Bosanski</span></a></li><li class="interlanguage-link interwiki-ca mw-list-item"><a href="https://ca.wikipedia.org/wiki/Mem%C3%B2ria_cau" title="Memòria cau – Katalanisch" lang="ca" hreflang="ca" data-title="Memòria cau" data-language-autonym="Català" data-language-local-name="Katalanisch" class="interlanguage-link-target"><span>Català</span></a></li><li class="interlanguage-link interwiki-cs mw-list-item"><a href="https://cs.wikipedia.org/wiki/Cache" title="Cache – Tschechisch" lang="cs" hreflang="cs" data-title="Cache" data-language-autonym="Čeština" data-language-local-name="Tschechisch" class="interlanguage-link-target"><span>Čeština</span></a></li><li class="interlanguage-link interwiki-da mw-list-item"><a href="https://da.wikipedia.org/wiki/Cache" title="Cache – Dänisch" lang="da" hreflang="da" data-title="Cache" data-language-autonym="Dansk" data-language-local-name="Dänisch" class="interlanguage-link-target"><span>Dansk</span></a></li><li class="interlanguage-link interwiki-el mw-list-item"><a href="https://el.wikipedia.org/wiki/%CE%9A%CF%81%CF%85%CF%86%CE%AE_%CE%BC%CE%BD%CE%AE%CE%BC%CE%B7" title="Κρυφή μνήμη – Griechisch" lang="el" hreflang="el" data-title="Κρυφή μνήμη" data-language-autonym="Ελληνικά" data-language-local-name="Griechisch" class="interlanguage-link-target"><span>Ελληνικά</span></a></li><li class="interlanguage-link interwiki-en mw-list-item"><a href="https://en.wikipedia.org/wiki/Cache_(computing)" title="Cache (computing) – Englisch" lang="en" hreflang="en" data-title="Cache (computing)" data-language-autonym="English" data-language-local-name="Englisch" class="interlanguage-link-target"><span>English</span></a></li><li class="interlanguage-link interwiki-eo mw-list-item"><a href="https://eo.wikipedia.org/wiki/Ka%C5%9Dmemoro" title="Kaŝmemoro – Esperanto" lang="eo" hreflang="eo" data-title="Kaŝmemoro" data-language-autonym="Esperanto" data-language-local-name="Esperanto" class="interlanguage-link-target"><span>Esperanto</span></a></li><li class="interlanguage-link interwiki-es mw-list-item"><a href="https://es.wikipedia.org/wiki/Cach%C3%A9_(inform%C3%A1tica)" title="Caché (informática) – Spanisch" lang="es" hreflang="es" data-title="Caché (informática)" data-language-autonym="Español" data-language-local-name="Spanisch" class="interlanguage-link-target"><span>Español</span></a></li><li class="interlanguage-link interwiki-et mw-list-item"><a href="https://et.wikipedia.org/wiki/Vahem%C3%A4lu" title="Vahemälu – Estnisch" lang="et" hreflang="et" data-title="Vahemälu" data-language-autonym="Eesti" data-language-local-name="Estnisch" class="interlanguage-link-target"><span>Eesti</span></a></li><li class="interlanguage-link interwiki-eu mw-list-item"><a href="https://eu.wikipedia.org/wiki/Cache_memoria" title="Cache memoria – Baskisch" lang="eu" hreflang="eu" data-title="Cache memoria" data-language-autonym="Euskara" data-language-local-name="Baskisch" class="interlanguage-link-target"><span>Euskara</span></a></li><li class="interlanguage-link interwiki-fa mw-list-item"><a href="https://fa.wikipedia.org/wiki/%D8%AD%D8%A7%D9%81%D8%B8%D9%87_%D9%86%D9%87%D8%A7%D9%86_(%D8%B1%D8%A7%DB%8C%D8%A7%D9%86%D8%B4)" title="حافظه نهان (رایانش) – Persisch" lang="fa" hreflang="fa" data-title="حافظه نهان (رایانش)" data-language-autonym="فارسی" data-language-local-name="Persisch" class="interlanguage-link-target"><span>فارسی</span></a></li><li class="interlanguage-link interwiki-fi mw-list-item"><a href="https://fi.wikipedia.org/wiki/V%C3%A4limuisti" title="Välimuisti – Finnisch" lang="fi" hreflang="fi" data-title="Välimuisti" data-language-autonym="Suomi" data-language-local-name="Finnisch" class="interlanguage-link-target"><span>Suomi</span></a></li><li class="interlanguage-link interwiki-fr mw-list-item"><a href="https://fr.wikipedia.org/wiki/M%C3%A9moire_cache" title="Mémoire cache – Französisch" lang="fr" hreflang="fr" data-title="Mémoire cache" data-language-autonym="Français" data-language-local-name="Französisch" class="interlanguage-link-target"><span>Français</span></a></li><li class="interlanguage-link interwiki-gl mw-list-item"><a href="https://gl.wikipedia.org/wiki/Cach%C3%A9" title="Caché – Galicisch" lang="gl" hreflang="gl" data-title="Caché" data-language-autonym="Galego" data-language-local-name="Galicisch" class="interlanguage-link-target"><span>Galego</span></a></li><li class="interlanguage-link interwiki-he mw-list-item"><a href="https://he.wikipedia.org/wiki/%D7%96%D7%99%D7%9B%D7%A8%D7%95%D7%9F_%D7%9E%D7%98%D7%9E%D7%95%D7%9F" title="זיכרון מטמון – Hebräisch" lang="he" hreflang="he" data-title="זיכרון מטמון" data-language-autonym="עברית" data-language-local-name="Hebräisch" class="interlanguage-link-target"><span>עברית</span></a></li><li class="interlanguage-link interwiki-hr mw-list-item"><a href="https://hr.wikipedia.org/wiki/Priru%C4%8Dna_memorija" title="Priručna memorija – Kroatisch" lang="hr" hreflang="hr" data-title="Priručna memorija" data-language-autonym="Hrvatski" data-language-local-name="Kroatisch" class="interlanguage-link-target"><span>Hrvatski</span></a></li><li class="interlanguage-link interwiki-hu mw-list-item"><a href="https://hu.wikipedia.org/wiki/Gyors%C3%ADt%C3%B3t%C3%A1r" title="Gyorsítótár – Ungarisch" lang="hu" hreflang="hu" data-title="Gyorsítótár" data-language-autonym="Magyar" data-language-local-name="Ungarisch" class="interlanguage-link-target"><span>Magyar</span></a></li><li class="interlanguage-link interwiki-ia mw-list-item"><a href="https://ia.wikipedia.org/wiki/Cache" title="Cache – Interlingua" lang="ia" hreflang="ia" data-title="Cache" data-language-autonym="Interlingua" data-language-local-name="Interlingua" class="interlanguage-link-target"><span>Interlingua</span></a></li><li class="interlanguage-link interwiki-id mw-list-item"><a href="https://id.wikipedia.org/wiki/Tembolok_(komputer)" title="Tembolok (komputer) – Indonesisch" lang="id" hreflang="id" data-title="Tembolok (komputer)" data-language-autonym="Bahasa Indonesia" data-language-local-name="Indonesisch" class="interlanguage-link-target"><span>Bahasa Indonesia</span></a></li><li class="interlanguage-link interwiki-is mw-list-item"><a href="https://is.wikipedia.org/wiki/Skyndiminni" title="Skyndiminni – Isländisch" lang="is" hreflang="is" data-title="Skyndiminni" data-language-autonym="Íslenska" data-language-local-name="Isländisch" class="interlanguage-link-target"><span>Íslenska</span></a></li><li class="interlanguage-link interwiki-it mw-list-item"><a href="https://it.wikipedia.org/wiki/Cache" title="Cache – Italienisch" lang="it" hreflang="it" data-title="Cache" data-language-autonym="Italiano" data-language-local-name="Italienisch" class="interlanguage-link-target"><span>Italiano</span></a></li><li class="interlanguage-link interwiki-ja mw-list-item"><a href="https://ja.wikipedia.org/wiki/%E3%82%AD%E3%83%A3%E3%83%83%E3%82%B7%E3%83%A5_(%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0)" title="キャッシュ (コンピュータシステム) – Japanisch" lang="ja" hreflang="ja" data-title="キャッシュ (コンピュータシステム)" data-language-autonym="日本語" data-language-local-name="Japanisch" class="interlanguage-link-target"><span>日本語</span></a></li><li class="interlanguage-link interwiki-kk mw-list-item"><a href="https://kk.wikipedia.org/wiki/%D0%9C%D3%99%D0%BB%D1%96%D0%BC%D0%B5%D1%82%D1%82%D0%B5%D1%80_%D0%B1%D2%AF%D1%80%D0%BA%D0%B5%D0%BC%D0%B5%D1%81%D1%96" title="Мәліметтер бүркемесі – Kasachisch" lang="kk" hreflang="kk" data-title="Мәліметтер бүркемесі" data-language-autonym="Қазақша" data-language-local-name="Kasachisch" class="interlanguage-link-target"><span>Қазақша</span></a></li><li class="interlanguage-link interwiki-ko mw-list-item"><a href="https://ko.wikipedia.org/wiki/%EC%BA%90%EC%8B%9C" title="캐시 – Koreanisch" lang="ko" hreflang="ko" data-title="캐시" data-language-autonym="한국어" data-language-local-name="Koreanisch" class="interlanguage-link-target"><span>한국어</span></a></li><li class="interlanguage-link interwiki-lt mw-list-item"><a href="https://lt.wikipedia.org/wiki/Pod%C4%97liavimas" title="Podėliavimas – Litauisch" lang="lt" hreflang="lt" data-title="Podėliavimas" data-language-autonym="Lietuvių" data-language-local-name="Litauisch" class="interlanguage-link-target"><span>Lietuvių</span></a></li><li class="interlanguage-link interwiki-lv mw-list-item"><a href="https://lv.wikipedia.org/wiki/Ke%C5%A1atmi%C5%86a" title="Kešatmiņa – Lettisch" lang="lv" hreflang="lv" data-title="Kešatmiņa" data-language-autonym="Latviešu" data-language-local-name="Lettisch" class="interlanguage-link-target"><span>Latviešu</span></a></li><li class="interlanguage-link interwiki-mhr mw-list-item"><a href="https://mhr.wikipedia.org/wiki/%D0%9A%D0%AD%D0%A8-%D1%88%D0%B0%D1%80%D0%BD%D1%8B%D1%88" title="КЭШ-шарныш – Ostmari" lang="mhr" hreflang="mhr" data-title="КЭШ-шарныш" data-language-autonym="Олык марий" data-language-local-name="Ostmari" class="interlanguage-link-target"><span>Олык марий</span></a></li><li class="interlanguage-link interwiki-mn mw-list-item"><a href="https://mn.wikipedia.org/wiki/Cache" title="Cache – Mongolisch" lang="mn" hreflang="mn" data-title="Cache" data-language-autonym="Монгол" data-language-local-name="Mongolisch" class="interlanguage-link-target"><span>Монгол</span></a></li><li class="interlanguage-link interwiki-mr mw-list-item"><a href="https://mr.wikipedia.org/wiki/%E0%A4%B8%E0%A4%AF" title="सय – Marathi" lang="mr" hreflang="mr" data-title="सय" data-language-autonym="मराठी" data-language-local-name="Marathi" class="interlanguage-link-target"><span>मराठी</span></a></li><li class="interlanguage-link interwiki-ms mw-list-item"><a href="https://ms.wikipedia.org/wiki/Cache" title="Cache – Malaiisch" lang="ms" hreflang="ms" data-title="Cache" data-language-autonym="Bahasa Melayu" data-language-local-name="Malaiisch" class="interlanguage-link-target"><span>Bahasa Melayu</span></a></li><li class="interlanguage-link interwiki-nl mw-list-item"><a href="https://nl.wikipedia.org/wiki/Cache_(tijdelijk_geheugen)" title="Cache (tijdelijk geheugen) – Niederländisch" lang="nl" hreflang="nl" data-title="Cache (tijdelijk geheugen)" data-language-autonym="Nederlands" data-language-local-name="Niederländisch" class="interlanguage-link-target"><span>Nederlands</span></a></li><li class="interlanguage-link interwiki-pap mw-list-item"><a href="https://pap.wikipedia.org/wiki/Cache" title="Cache – Papiamento" lang="pap" hreflang="pap" data-title="Cache" data-language-autonym="Papiamentu" data-language-local-name="Papiamento" class="interlanguage-link-target"><span>Papiamentu</span></a></li><li class="interlanguage-link interwiki-pl mw-list-item"><a href="https://pl.wikipedia.org/wiki/Pami%C4%99%C4%87_podr%C4%99czna" title="Pamięć podręczna – Polnisch" lang="pl" hreflang="pl" data-title="Pamięć podręczna" data-language-autonym="Polski" data-language-local-name="Polnisch" class="interlanguage-link-target"><span>Polski</span></a></li><li class="interlanguage-link interwiki-pt mw-list-item"><a href="https://pt.wikipedia.org/wiki/Cache" title="Cache – Portugiesisch" lang="pt" hreflang="pt" data-title="Cache" data-language-autonym="Português" data-language-local-name="Portugiesisch" class="interlanguage-link-target"><span>Português</span></a></li><li class="interlanguage-link interwiki-ro mw-list-item"><a href="https://ro.wikipedia.org/wiki/Memorie_cache" title="Memorie cache – Rumänisch" lang="ro" hreflang="ro" data-title="Memorie cache" data-language-autonym="Română" data-language-local-name="Rumänisch" class="interlanguage-link-target"><span>Română</span></a></li><li class="interlanguage-link interwiki-ru mw-list-item"><a href="https://ru.wikipedia.org/wiki/%D0%9A%D1%8D%D1%88" title="Кэш – Russisch" lang="ru" hreflang="ru" data-title="Кэш" data-language-autonym="Русский" data-language-local-name="Russisch" class="interlanguage-link-target"><span>Русский</span></a></li><li class="interlanguage-link interwiki-simple mw-list-item"><a href="https://simple.wikipedia.org/wiki/Cache_(computing)" title="Cache (computing) – einfaches Englisch" lang="en-simple" hreflang="en-simple" data-title="Cache (computing)" data-language-autonym="Simple English" data-language-local-name="einfaches Englisch" class="interlanguage-link-target"><span>Simple English</span></a></li><li class="interlanguage-link interwiki-sk mw-list-item"><a href="https://sk.wikipedia.org/wiki/R%C3%BDchla_vyrovn%C3%A1vacia_pam%C3%A4%C5%A5" title="Rýchla vyrovnávacia pamäť – Slowakisch" lang="sk" hreflang="sk" data-title="Rýchla vyrovnávacia pamäť" data-language-autonym="Slovenčina" data-language-local-name="Slowakisch" class="interlanguage-link-target"><span>Slovenčina</span></a></li><li class="interlanguage-link interwiki-sq mw-list-item"><a href="https://sq.wikipedia.org/wiki/Cache" title="Cache – Albanisch" lang="sq" hreflang="sq" data-title="Cache" data-language-autonym="Shqip" data-language-local-name="Albanisch" class="interlanguage-link-target"><span>Shqip</span></a></li><li class="interlanguage-link interwiki-sr mw-list-item"><a href="https://sr.wikipedia.org/wiki/%D0%9A%D0%B5%D1%88_%D0%BC%D0%B5%D0%BC%D0%BE%D1%80%D0%B8%D1%98%D0%B0" title="Кеш меморија – Serbisch" lang="sr" hreflang="sr" data-title="Кеш меморија" data-language-autonym="Српски / srpski" data-language-local-name="Serbisch" class="interlanguage-link-target"><span>Српски / srpski</span></a></li><li class="interlanguage-link interwiki-su mw-list-item"><a href="https://su.wikipedia.org/wiki/Sindangan" title="Sindangan – Sundanesisch" lang="su" hreflang="su" data-title="Sindangan" data-language-autonym="Sunda" data-language-local-name="Sundanesisch" class="interlanguage-link-target"><span>Sunda</span></a></li><li class="interlanguage-link interwiki-sv mw-list-item"><a href="https://sv.wikipedia.org/wiki/Cache" title="Cache – Schwedisch" lang="sv" hreflang="sv" data-title="Cache" data-language-autonym="Svenska" data-language-local-name="Schwedisch" class="interlanguage-link-target"><span>Svenska</span></a></li><li class="interlanguage-link interwiki-sw mw-list-item"><a href="https://sw.wikipedia.org/wiki/Hifadhi_muda" title="Hifadhi muda – Suaheli" lang="sw" hreflang="sw" data-title="Hifadhi muda" data-language-autonym="Kiswahili" data-language-local-name="Suaheli" class="interlanguage-link-target"><span>Kiswahili</span></a></li><li class="interlanguage-link interwiki-th mw-list-item"><a href="https://th.wikipedia.org/wiki/%E0%B9%81%E0%B8%84%E0%B8%8A" title="แคช – Thailändisch" lang="th" hreflang="th" data-title="แคช" data-language-autonym="ไทย" data-language-local-name="Thailändisch" class="interlanguage-link-target"><span>ไทย</span></a></li><li class="interlanguage-link interwiki-tr mw-list-item"><a href="https://tr.wikipedia.org/wiki/%C3%96nbellek" title="Önbellek – Türkisch" lang="tr" hreflang="tr" data-title="Önbellek" data-language-autonym="Türkçe" data-language-local-name="Türkisch" class="interlanguage-link-target"><span>Türkçe</span></a></li><li class="interlanguage-link interwiki-uk mw-list-item"><a href="https://uk.wikipedia.org/wiki/%D0%9A%D0%B5%D1%88" title="Кеш – Ukrainisch" lang="uk" hreflang="uk" data-title="Кеш" data-language-autonym="Українська" data-language-local-name="Ukrainisch" class="interlanguage-link-target"><span>Українська</span></a></li><li class="interlanguage-link interwiki-ur mw-list-item"><a href="https://ur.wikipedia.org/wiki/%DA%A9%DB%8C%D8%B4%DB%92_(%DA%A9%D9%85%D9%BE%DB%8C%D9%88%D9%B9%D9%86%DA%AF)" title="کیشے (کمپیوٹنگ) – Urdu" lang="ur" hreflang="ur" data-title="کیشے (کمپیوٹنگ)" data-language-autonym="اردو" data-language-local-name="Urdu" class="interlanguage-link-target"><span>اردو</span></a></li><li class="interlanguage-link interwiki-vi mw-list-item"><a href="https://vi.wikipedia.org/wiki/Cache_(tin_h%E1%BB%8Dc)" title="Cache (tin học) – Vietnamesisch" lang="vi" hreflang="vi" data-title="Cache (tin học)" data-language-autonym="Tiếng Việt" data-language-local-name="Vietnamesisch" class="interlanguage-link-target"><span>Tiếng Việt</span></a></li><li class="interlanguage-link interwiki-wuu mw-list-item"><a href="https://wuu.wikipedia.org/wiki/%E7%BC%93%E5%AD%98" title="缓存 – Wu" lang="wuu" hreflang="wuu" data-title="缓存" data-language-autonym="吴语" data-language-local-name="Wu" class="interlanguage-link-target"><span>吴语</span></a></li><li class="interlanguage-link interwiki-zh mw-list-item"><a href="https://zh.wikipedia.org/wiki/%E7%BC%93%E5%AD%98" title="缓存 – Chinesisch" lang="zh" hreflang="zh" data-title="缓存" data-language-autonym="中文" data-language-local-name="Chinesisch" class="interlanguage-link-target"><span>中文</span></a></li><li class="interlanguage-link interwiki-zh-yue mw-list-item"><a href="https://zh-yue.wikipedia.org/wiki/%E7%B7%A9%E8%A1%9D%E8%A8%98%E6%86%B6%E9%AB%94" title="緩衝記憶體 – Kantonesisch" lang="yue" hreflang="yue" data-title="緩衝記憶體" data-language-autonym="粵語" data-language-local-name="Kantonesisch" class="interlanguage-link-target"><span>粵語</span></a></li> </ul> <div class="after-portlet after-portlet-lang"><span class="wb-langlinks-edit wb-langlinks-link"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q165596#sitelinks-wikipedia" title="Links auf Artikel in anderen Sprachen bearbeiten" class="wbc-editpage">Links bearbeiten</a></span></div> </div> </div> </div> </header> <div class="vector-page-toolbar"> <div class="vector-page-toolbar-container"> <div id="left-navigation"> <nav aria-label="Namensräume"> <div id="p-associated-pages" class="vector-menu vector-menu-tabs mw-portlet mw-portlet-associated-pages" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-nstab-main" class="selected vector-tab-noicon mw-list-item"><a href="/wiki/Cache" title="Seiteninhalt anzeigen [c]" accesskey="c"><span>Artikel</span></a></li><li id="ca-talk" class="vector-tab-noicon mw-list-item"><a href="/wiki/Diskussion:Cache" rel="discussion" title="Diskussion zum Seiteninhalt [t]" accesskey="t"><span>Diskussion</span></a></li> </ul> </div> </div> <div id="vector-variants-dropdown" class="vector-dropdown emptyPortlet" > <input type="checkbox" id="vector-variants-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-variants-dropdown" class="vector-dropdown-checkbox " aria-label="Sprachvariante ändern" > <label id="vector-variants-dropdown-label" for="vector-variants-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet" aria-hidden="true" ><span class="vector-dropdown-label-text">Deutsch</span> </label> <div class="vector-dropdown-content"> <div id="p-variants" class="vector-menu mw-portlet mw-portlet-variants emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> </div> </div> </nav> </div> <div id="right-navigation" class="vector-collapsible"> <nav aria-label="Ansichten"> <div id="p-views" class="vector-menu vector-menu-tabs mw-portlet mw-portlet-views" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-view" class="selected vector-tab-noicon mw-list-item"><a href="/wiki/Cache"><span>Lesen</span></a></li><li id="ca-ve-edit" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=Cache&veaction=edit" title="Diese Seite mit dem VisualEditor bearbeiten [v]" accesskey="v"><span>Bearbeiten</span></a></li><li id="ca-edit" class="collapsible vector-tab-noicon mw-list-item"><a href="/w/index.php?title=Cache&action=edit" title="Den Quelltext dieser Seite bearbeiten [e]" accesskey="e"><span>Quelltext bearbeiten</span></a></li><li id="ca-history" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=Cache&action=history" title="Frühere Versionen dieser Seite [h]" accesskey="h"><span>Versionsgeschichte</span></a></li> </ul> </div> </div> </nav> <nav class="vector-page-tools-landmark" aria-label="Seitenwerkzeuge"> <div id="vector-page-tools-dropdown" class="vector-dropdown vector-page-tools-dropdown" > <input type="checkbox" id="vector-page-tools-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-page-tools-dropdown" class="vector-dropdown-checkbox " aria-label="Werkzeuge" > <label id="vector-page-tools-dropdown-label" for="vector-page-tools-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet" aria-hidden="true" ><span class="vector-dropdown-label-text">Werkzeuge</span> </label> <div class="vector-dropdown-content"> <div id="vector-page-tools-unpinned-container" class="vector-unpinned-container"> <div id="vector-page-tools" class="vector-page-tools vector-pinnable-element"> <div class="vector-pinnable-header vector-page-tools-pinnable-header vector-pinnable-header-unpinned" data-feature-name="page-tools-pinned" data-pinnable-element-id="vector-page-tools" data-pinned-container-id="vector-page-tools-pinned-container" data-unpinned-container-id="vector-page-tools-unpinned-container" > <div class="vector-pinnable-header-label">Werkzeuge</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-page-tools.pin">In die Seitenleiste verschieben</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-page-tools.unpin">Verbergen</button> </div> <div id="p-cactions" class="vector-menu mw-portlet mw-portlet-cactions emptyPortlet vector-has-collapsible-items" title="Weitere Optionen" > <div class="vector-menu-heading"> Aktionen </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-more-view" class="selected vector-more-collapsible-item mw-list-item"><a href="/wiki/Cache"><span>Lesen</span></a></li><li id="ca-more-ve-edit" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=Cache&veaction=edit" title="Diese Seite mit dem VisualEditor bearbeiten [v]" accesskey="v"><span>Bearbeiten</span></a></li><li id="ca-more-edit" class="collapsible vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=Cache&action=edit" title="Den Quelltext dieser Seite bearbeiten [e]" accesskey="e"><span>Quelltext bearbeiten</span></a></li><li id="ca-more-history" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=Cache&action=history"><span>Versionsgeschichte</span></a></li> </ul> </div> </div> <div id="p-tb" class="vector-menu mw-portlet mw-portlet-tb" > <div class="vector-menu-heading"> Allgemein </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="t-whatlinkshere" class="mw-list-item"><a href="/wiki/Spezial:Linkliste/Cache" title="Liste aller Seiten, die hierher verlinken [j]" accesskey="j"><span>Links auf diese Seite</span></a></li><li id="t-recentchangeslinked" class="mw-list-item"><a href="/wiki/Spezial:%C3%84nderungen_an_verlinkten_Seiten/Cache" rel="nofollow" title="Letzte Änderungen an Seiten, die von hier verlinkt sind [k]" accesskey="k"><span>Änderungen an verlinkten Seiten</span></a></li><li id="t-permalink" class="mw-list-item"><a href="/w/index.php?title=Cache&oldid=253958672" title="Dauerhafter Link zu dieser Seitenversion"><span>Permanenter Link</span></a></li><li id="t-info" class="mw-list-item"><a href="/w/index.php?title=Cache&action=info" title="Weitere Informationen über diese Seite"><span>Seiteninformationen</span></a></li><li id="t-cite" class="mw-list-item"><a href="/w/index.php?title=Spezial:Zitierhilfe&page=Cache&id=253958672&wpFormIdentifier=titleform" title="Hinweise, wie diese Seite zitiert werden kann"><span>Artikel zitieren</span></a></li><li id="t-urlshortener" class="mw-list-item"><a href="/w/index.php?title=Spezial:URL-K%C3%BCrzung&url=https%3A%2F%2Fde.wikipedia.org%2Fwiki%2FCache"><span>Kurzlink</span></a></li><li id="t-urlshortener-qrcode" class="mw-list-item"><a href="/w/index.php?title=Spezial:QrCode&url=https%3A%2F%2Fde.wikipedia.org%2Fwiki%2FCache"><span>QR-Code herunterladen</span></a></li> </ul> </div> </div> <div id="p-coll-print_export" class="vector-menu mw-portlet mw-portlet-coll-print_export" > <div class="vector-menu-heading"> Drucken/exportieren </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="coll-download-as-rl" class="mw-list-item"><a href="/w/index.php?title=Spezial:DownloadAsPdf&page=Cache&action=show-download-screen"><span>Als PDF herunterladen</span></a></li><li id="t-print" class="mw-list-item"><a href="/w/index.php?title=Cache&printable=yes" title="Druckansicht dieser Seite [p]" accesskey="p"><span>Druckversion</span></a></li> </ul> </div> </div> <div id="p-wikibase-otherprojects" class="vector-menu mw-portlet mw-portlet-wikibase-otherprojects" > <div class="vector-menu-heading"> In anderen Projekten </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li class="wb-otherproject-link wb-otherproject-commons mw-list-item"><a href="https://commons.wikimedia.org/wiki/Category:Cache" hreflang="en"><span>Commons</span></a></li><li class="wb-otherproject-link wb-otherproject-mediawiki mw-list-item"><a href="https://www.mediawiki.org/wiki/Manual:Cache" hreflang="en"><span>MediaWiki</span></a></li><li id="t-wikibase" class="wb-otherproject-link wb-otherproject-wikibase-dataitem mw-list-item"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q165596" title="Link zum verbundenen Objekt im Datenrepositorium [g]" accesskey="g"><span>Wikidata-Datenobjekt</span></a></li> </ul> </div> </div> </div> </div> </div> </div> </nav> </div> </div> </div> <div class="vector-column-end"> <div class="vector-sticky-pinned-container"> <nav class="vector-page-tools-landmark" aria-label="Seitenwerkzeuge"> <div id="vector-page-tools-pinned-container" class="vector-pinned-container"> </div> </nav> <nav class="vector-appearance-landmark" aria-label="Erscheinungsbild"> <div id="vector-appearance-pinned-container" class="vector-pinned-container"> <div id="vector-appearance" class="vector-appearance vector-pinnable-element"> <div class="vector-pinnable-header vector-appearance-pinnable-header vector-pinnable-header-pinned" data-feature-name="appearance-pinned" data-pinnable-element-id="vector-appearance" data-pinned-container-id="vector-appearance-pinned-container" data-unpinned-container-id="vector-appearance-unpinned-container" > <div class="vector-pinnable-header-label">Erscheinungsbild</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-appearance.pin">In die Seitenleiste verschieben</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-appearance.unpin">Verbergen</button> </div> </div> </div> </nav> </div> </div> <div id="bodyContent" class="vector-body" aria-labelledby="firstHeading" data-mw-ve-target-container> <div class="vector-body-before-content"> <div class="mw-indicators"> </div> <div id="siteSub" class="noprint">aus Wikipedia, der freien Enzyklopädie</div> </div> <div id="contentSub"><div id="mw-content-subtitle"></div></div> <div id="mw-content-text" class="mw-body-content"><div class="mw-content-ltr mw-parser-output" lang="de" dir="ltr"><div class="hintergrundfarbe1 rahmenfarbe1 navigation-not-searchable noprint" style="border-bottom-style: solid; border-bottom-width: 1px; font-size:95%; margin-bottom:1em; padding: 0.25em; overflow: hidden; word-break: break-word; word-wrap: break-word;" id="Vorlage_Begriffsklärungshinweis"><div class="noviewer noresize bksicon" style="display: table-cell; padding-bottom: 0.2em; padding-left: 0.25em; padding-right: 1em; padding-top: 0.2em; vertical-align: middle;" aria-hidden="true" role="presentation"><span typeof="mw:File"><span><img alt="" src="//upload.wikimedia.org/wikipedia/commons/thumb/e/ea/Disambig-dark.svg/25px-Disambig-dark.svg.png" decoding="async" width="25" height="19" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/e/ea/Disambig-dark.svg/38px-Disambig-dark.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/e/ea/Disambig-dark.svg/50px-Disambig-dark.svg.png 2x" data-file-width="444" data-file-height="340" /></span></span></div> <div style="display: table-cell; vertical-align: middle; width: 100%;"> <div role="navigation"> Der Titel dieses Artikels ist mehrdeutig. Weitere Bedeutungen sind unter <a href="/wiki/Cache_(Begriffskl%C3%A4rung)" class="mw-disambig" title="Cache (Begriffsklärung)">Cache (Begriffsklärung)</a> aufgeführt.</div> </div></div> <div class="hintergrundfarbe1 rahmenfarbe1 navigation-not-searchable noprint Vorlage_Belege_fehlen hatnote" style="border-style: solid; border-width: 1px; clear: left; margin-bottom:1em; margin-top:1em; padding: 0.25em; overflow: hidden; word-break: break-word; word-wrap: break-word;"><div class="noviewer noresize" style="display: table-cell; padding-bottom: 0.2em; padding-left: 0.25em; padding-right: 1em; padding-top: 0.2em; vertical-align: middle;" aria-hidden="true" role="presentation"><span typeof="mw:File"><a href="/wiki/Wikipedia:Belege" title="Belege"><img alt="" src="//upload.wikimedia.org/wikipedia/commons/thumb/b/b7/Qsicon_Quelle.svg/24px-Qsicon_Quelle.svg.png" decoding="async" width="24" height="24" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/b/b7/Qsicon_Quelle.svg/36px-Qsicon_Quelle.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/b/b7/Qsicon_Quelle.svg/48px-Qsicon_Quelle.svg.png 2x" data-file-width="24" data-file-height="24" /></a></span></div> <div style="display: table-cell; vertical-align: middle; width: 100%;"> <div> Dieser Artikel oder nachfolgende Abschnitt ist nicht hinreichend mit <a href="/wiki/Wikipedia:Belege" title="Wikipedia:Belege">Belegen</a> (beispielsweise <a href="/wiki/Hilfe:Einzelnachweise" title="Hilfe:Einzelnachweise">Einzelnachweisen</a>) ausgestattet. Angaben ohne ausreichenden Beleg könnten demnächst entfernt werden. Bitte hilf Wikipedia, indem du die Angaben recherchierst und <span style="white-space:nowrap">gute Belege einfügst.</span><br /> <div style="font-style:italic;">Viel zu wenig Einzelnachweise (<a href="/wiki/Spezial:Permanenter_Link/183357176" title="Spezial:Permanenter Link/183357176">aktuell</a> 7 und davon 3 Wörterbuch/Definitionsbelege) für einen so langen Text</div><span class="editoronly" style="display:none;"></span></div> </div></div> <p><b>Cache</b> ([<style data-mw-deduplicate="TemplateStyles:r227981795">.mw-parser-output .IPA a{text-decoration:none}</style><span class="navigation-not-searchable"><span class="IPA"><a href="/wiki/Liste_der_IPA-Zeichen" title="Liste der IPA-Zeichen"><span title="Aussprache im Internationalen Phonetischen Alphabet (IPA)" lang="zxx">kæʃ</span></a></span></span>], auch [<link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r227981795" /><span class="navigation-not-searchable"><span class="IPA"><a href="/wiki/Liste_der_IPA-Zeichen" title="Liste der IPA-Zeichen"><span title="Aussprache im Internationalen Phonetischen Alphabet (IPA)" lang="zxx">kaʃ</span></a></span></span>]<sup id="cite_ref-1" class="reference"><a href="#cite_note-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup>) bezeichnet in der <a href="/wiki/Informationstechnik" title="Informationstechnik">Informationstechnik</a> einen schnellen <a href="/wiki/Puffer_(Informatik)" title="Puffer (Informatik)">Puffer</a><a href="/wiki/Datenspeicher" title="Datenspeicher">speicher</a>, der (wiederholte) Zugriffe auf vergleichsweise langsame <a href="/wiki/Datenspeicher" title="Datenspeicher">Datenspeicher</a> oder aufwendige Neuberechnungen zu vermeiden hilft. Daten, die bereits einmal geladen oder generiert wurden, verbleiben im Cache, so dass sie bei späterem Bedarf schneller aus diesem abgerufen werden können. Auch können Daten, die vermutlich bald benötigt werden, vorab vom Hintergrundmedium abgerufen und vorerst im Cache bereitgestellt werden (<span lang="en"><i>read-ahead</i></span>). </p><p>Caches können als Hardwarestruktur (beispielsweise als <a href="/wiki/Speicherbaustein" title="Speicherbaustein">Hauptspeicherchips</a>) oder Softwarestruktur (beispielsweise als <a href="/wiki/Tempor%C3%A4re_Datei" title="Temporäre Datei">temporäre Dateien</a> oder reservierter Speicherplatz) ausgebildet sein. </p> <meta property="mw:PageProp/toc" /> <div class="mw-heading mw-heading2"><h2 id="Geschichte">Geschichte</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Cache&veaction=edit&section=1" title="Abschnitt bearbeiten: Geschichte" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Cache&action=edit&section=1" title="Quellcode des Abschnitts bearbeiten: Geschichte"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Das Konzept eines schnellen Zwischenspeichers, wie es hier beschrieben ist, wurde erstmals im April 1965 von M. V. Wilkes vorgestellt.<sup id="cite_ref-2" class="reference"><a href="#cite_note-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup> </p><p><i>Cache</i> ist ein <a href="/wiki/Lehnwort" title="Lehnwort">Lehnwort</a>, das in diesem Zusammenhang vermutlich erstmals bei IBM in Amerika aus dem Französischen entnommen wurde. Zumindest wird es bereits 1973 in einem Aufsatz von K. R. Kaplan, einem Mitarbeiter des Department of Computer Science am Livingston College der Rutgers University in New Jersey, verwendet.<sup id="cite_ref-3" class="reference"><a href="#cite_note-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup> Seinen Ursprung hat es im französischen <i>cache</i>, das eigentlich die Bedeutung <i>Versteck</i> hat.<sup id="cite_ref-4" class="reference"><a href="#cite_note-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-5" class="reference"><a href="#cite_note-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup> Der Name verdeutlicht den Umstand, dass dem Verwender in der Regel der Cache und seine Ersatzfunktion für das angesprochene Hintergrundmedium verborgen bleibt. Wer das Hintergrundmedium verwendet, muss Größe oder Funktionsweise des Caches prinzipiell nicht kennen, denn der Cache wird nicht direkt angesprochen. Der Verwender „spricht das Hintergrundmedium an“, stattdessen „antwortet“ jedoch der Cache – genau auf die Art und Weise, wie auch das Hintergrundmedium geantwortet, also Daten geliefert hätte. Wegen der Unsichtbarkeit dieser zwischengeschalteten Einheit spricht man auch von <a href="/wiki/Transparenz_(Computersystem)" title="Transparenz (Computersystem)">Transparenz</a>. Praktisch ist er eine gespiegelte Ressource, die stellvertretend für das Original sehr schnell reagiert. </p> <div class="mw-heading mw-heading2"><h2 id="Randbedingungen">Randbedingungen</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Cache&veaction=edit&section=2" title="Abschnitt bearbeiten: Randbedingungen" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Cache&action=edit&section=2" title="Quellcode des Abschnitts bearbeiten: Randbedingungen"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Greifen außer dem den Cache verwendenden Gerät noch weitere auf das Hintergrundmedium zu, so kann es zu <a href="/wiki/Inkonsistenz" title="Inkonsistenz">Inkonsistenzen</a> kommen. Um auf ein identisches Datenabbild zugreifen zu können, ist es notwendig, vor dem Zugriff die Änderungen des Caches in das Hintergrundmedium zu übernehmen. <a href="/wiki/Cache-Algorithmus" title="Cache-Algorithmus">Cachestrategien</a> wie <a href="#Write-Through">Write-Through</a> oder <a href="#Write-Back">Write-Back</a> sind hier praktikabel. Im Extremfall muss ein kompletter „<a href="#Cache_Flush">Cache Flush</a>“ erfolgen. </p><p>Außerdem muss ggf. der Cache informiert werden, dass sich Daten auf dem Hintergrundmedium geändert haben und sein Inhalt nicht mehr gültig ist. Stellt die Cachelogik das nicht sicher, so ergibt sich als Nachteil, dass inzwischen im Hintergrundmedium oder im Rechenprogramm erfolgte Änderungen nicht erkannt werden. Bei Verdacht auf Änderungen, oder um sicherzugehen, dass der aktuelle Stand berücksichtigt wird, muss der Benutzer explizit eine Cache-Aktualisierung veranlassen. </p> <div class="mw-heading mw-heading2"><h2 id="Nutzen">Nutzen</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Cache&veaction=edit&section=3" title="Abschnitt bearbeiten: Nutzen" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Cache&action=edit&section=3" title="Quellcode des Abschnitts bearbeiten: Nutzen"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Die Ziele beim Einsatz eines Caches sind eine Verringerung der Zugriffszeit und/oder eine Verringerung der Anzahl der Zugriffe auf ein langsames Hintergrundmedium. Das bedeutet insbesondere, dass sich der Einsatz von Caches nur dort lohnt, wo die Zugriffszeit auch signifikanten Einfluss auf die Gesamtleistung hat. Während das z. B. beim Prozessorcache der meisten (skalaren) Mikroprozessoren der Fall ist, trifft es nicht auf <a href="/wiki/Vektorrechner" class="mw-redirect" title="Vektorrechner">Vektorrechner</a> zu, wo die Zugriffszeit eine untergeordnete Rolle spielt. Deswegen wird dort üblicherweise auf Caches verzichtet, weil diese keinen oder nur wenig Nutzen bringen. </p><p>Ein weiterer wichtiger Effekt beim Einsatz von Caches ist die Verringerung der notwendigen <a href="/wiki/Daten%C3%BCbertragungsrate" title="Datenübertragungsrate">Datenübertragungsrate</a> an die Anbindung des Hintergrundmediums (siehe z. B. <a href="/wiki/Speicherhierarchie" title="Speicherhierarchie">Speicherhierarchie</a>); das Hintergrundmedium kann also „langsamer angebunden“ werden, was z. B. geringere Kosten ergeben kann. Weil oft der Großteil der Anfragen vom Cache beantwortet werden kann („Cache Hit“, s. u.), sinkt die Anzahl der Zugriffe und damit die notwendige Datenübertragungsrate. Zum Beispiel würde ein moderner Mikroprozessor ohne Cache selbst mit sehr kleiner Zugriffszeit des Hauptspeichers dadurch ausgebremst, dass nicht genügend Speicherbandbreite zur Verfügung steht, weil durch den Wegfall des Caches die Anzahl der Zugriffe auf den Hauptspeicher und damit die Anforderung an die Speicherbandbreite stark zunehmen würde. </p><p>Bei CPUs kann der Einsatz von Caches somit zum Verringern des <a href="/wiki/Von-Neumann-Flaschenhals" class="mw-redirect" title="Von-Neumann-Flaschenhals">Von-Neumann-Flaschenhalses</a> der <a href="/wiki/Von-Neumann-Architektur" title="Von-Neumann-Architektur">Von-Neumann-Architektur</a> beitragen. Die Ausführungsgeschwindigkeit von Programmen kann dadurch im Mittel enorm gesteigert werden. </p><p>Ein Nachteil von Caches ist das schlecht vorhersagbare Zeitverhalten, da die Ausführungszeit eines Zugriffs aufgrund von Cache-Misses nicht immer konstant ist. Sind die Daten nicht im Cache, muss der Zugreifende warten, bis sie von dem langsamen Hintergrundmedium geladen wurden. Bei Prozessoren geschieht das oft bei Zugriffen auf bisher noch nicht verwendete Daten oder beim Laden des nächsten Programmbefehls bei (weiten) <a href="/wiki/Sprungbefehl" class="mw-redirect" title="Sprungbefehl">Sprüngen</a>. </p> <div class="mw-heading mw-heading2"><h2 id="Cachehierarchie"><span id="Cache-Hierarchie"></span> Cachehierarchie</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Cache&veaction=edit&section=4" title="Abschnitt bearbeiten: Cachehierarchie" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Cache&action=edit&section=4" title="Quellcode des Abschnitts bearbeiten: Cachehierarchie"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Da es technisch aufwändig und damit meist wirtschaftlich nicht sinnvoll ist, einen Cache zu bauen, der sowohl groß als auch schnell ist, kann man mehrere Caches verwenden – z. B. einen kleinen schnellen und einen deutlich größeren, jedoch etwas langsameren Cache (der aber immer noch viel schneller ist als der zu cachende Hintergrundspeicher). Damit kann man die konkurrierenden Ziele von geringer Zugriffszeit und großem Cacheumfang gemeinsam realisieren. Das ist wichtig für die <a href="#Cache_Hits_und_Misses">Hit Rate</a>. </p><p>Existieren mehrere Caches, so bilden diese eine <i>Cachehierarchie,</i> die Teil der <a href="/wiki/Speicherhierarchie" title="Speicherhierarchie">Speicherhierarchie</a> ist. Die einzelnen Caches werden nach ihrer Hierarchieebene (engl. <span lang="en"><i>level</i></span>) durchnummeriert, also Level‑1 bis Level‑n oder kurz L1, L2 usw. Je niedriger die Nummer, desto näher liegt der Cache am schnellen „Benutzer“; die niedrigste Nummer bezeichnet daher den Cache mit der schnellsten Zugriffszeit, dieser wird als erstes durchsucht. Enthält der L1-Cache die benötigten Daten nicht, wird der (meist etwas langsamere, aber größere) L2-Cache durchsucht usw. Das geschieht solange, bis die Daten entweder in einer Cacheebene gefunden (ein „Cache Hit“, s. u.) oder alle Caches ohne Erfolg durchsucht wurden (ein „Cache Miss“, s. u.). In letzterem Fall muss auf den langsamen Hintergrundspeicher zugegriffen werden. </p><p>Tritt ein Cache Hit z. B. im L3-Cache auf, so werden die angeforderten Daten dem Zugreifer geliefert und zugleich in den L1-Cache übernommen; dafür muss dort eine Cache-Line weichen, die in den L2-Cache „absinkt“. </p> <ul><li>Bei einem <i><b>inklusiven Cache</b></i> ist jeder Cache-Level für sich transparent, d. h. eine Cache-Line, die im L1-Cache ist, ist auch im L2- und L3-Cache vorhanden. Wird die Cache-Line aus dem L1-Cache „verdrängt“ (überschrieben mit Daten einer anderen Adresse), so muss sonst nichts unternommen werden – sie ist im L2-Cache ja immer noch vorhanden (sofern kein Write-Back o. Ä. notwendig ist).</li> <li>Bei einem <i><b>exklusiven Cache</b></i> ist eine Cache-Line einer Adresse nur einmal in allen Cache-Levels vorhanden. Eine Cache-Line zu Adresse A im L1-Cache ist <i>nicht</i> zusätzlich im L2- oder L3-Cache vorhanden. Wird sie aus dem L1-Cache verdrängt, so kann sie entweder gänzlich verworfen werden, oder muss explizit in den L2-Cache kopiert werden. Dort wird somit ebenfalls eine (andere) Cache-Line verdrängt, um Platz zu machen für die absinkende. Diese andere sinkt nun ihrerseits in den L3-Cache, wo somit eine dritte Cache-Line weichen muss.</li></ul> <p>Exklusive Cache-Hierarchien erzeugen deutlich mehr Datenverkehr zwischen den Caches. Dafür können so viele Cache-Lines bereitgehalten werden wie die Summe von L1-, L2- und L3-Cache-Größe, während beim inklusiven Cache nur die L3-Cache-Größe maßgebend ist. </p><p>Im Hardwarebereich weisen vor allem moderne CPUs zwei oder drei Cacheebenen auf; sonstige Geräte besitzen meist nur eine Cacheebene. Im Softwarebereich wird meist nur eine Cacheebene benutzt, eine prominente Ausnahme bilden <a href="/wiki/Webbrowser" title="Webbrowser">Webbrowser</a>, die zwei Ebenen nutzen (<a href="/wiki/Arbeitsspeicher" title="Arbeitsspeicher">Arbeitsspeicher</a> und <a href="/wiki/Festplattenlaufwerk" title="Festplattenlaufwerk">Festplattenlaufwerk</a>). </p> <div class="mw-heading mw-heading2"><h2 id="Strategien">Strategien</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Cache&veaction=edit&section=5" title="Abschnitt bearbeiten: Strategien" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Cache&action=edit&section=5" title="Quellcode des Abschnitts bearbeiten: Strategien"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <div class="mw-heading mw-heading3"><h3 id="Cachegröße"><span id="Cachegr.C3.B6.C3.9Fe"></span>Cachegröße</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Cache&veaction=edit&section=6" title="Abschnitt bearbeiten: Cachegröße" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Cache&action=edit&section=6" title="Quellcode des Abschnitts bearbeiten: Cachegröße"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Um den Nutzen des meist um mehrere Zehnerpotenzen kleineren Caches im Vergleich zum Hintergrundspeicher zu maximieren, werden bei der Funktionsweise und Organisation eines Caches die <a href="/wiki/Lokalit%C3%A4tseigenschaft" title="Lokalitätseigenschaft">Lokalitätseigenschaften</a> der Zugriffsmuster ausgenutzt. Beobachtet man beispielsweise die Aktivität eines laufenden Programms auf einem Prozessor über ein kurzes Zeitintervall, so stellt man fest, dass wiederholt auf wenige und „immer dieselben“ kleinen <a href="/wiki/Speicherbereich" title="Speicherbereich">Speicherbereiche</a> (z. B. Code innerhalb von Schleifen, Steuervariablen, lokale Variablen und Prozedurparameter) zugegriffen wird. Deshalb können bereits kleine Caches mit einigen <a href="/wiki/Bin%C3%A4rpr%C3%A4fix" title="Binärpräfix">Kibibytes</a> sehr wirksam sein. </p><p>Verarbeitet ein Algorithmus jedoch ständig neue Daten (z. B. <a href="/wiki/Datenstrom" title="Datenstrom">Streaming</a>-Daten), kann ein Cache keine Beschleunigung durch Mehrfach-Zugriffe bewirken, allenfalls geringfügig durch <span lang="en"><i>read-ahead</i></span>. </p> <div class="mw-heading mw-heading3"><h3 id="Lokalitätsausnutzung"><span id="Lokalit.C3.A4tsausnutzung"></span>Lokalitätsausnutzung</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Cache&veaction=edit&section=7" title="Abschnitt bearbeiten: Lokalitätsausnutzung" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Cache&action=edit&section=7" title="Quellcode des Abschnitts bearbeiten: Lokalitätsausnutzung"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Da Caches schnell sein sollen, verwendet man für sie meist eine andere (schnellere) Speichertechnologie als für den zu cachenden Speicher (zum Beispiel <a href="/wiki/Static_Random_Access_Memory" class="mw-redirect" title="Static Random Access Memory">SRAM</a> gegenüber <a href="/wiki/Dynamic_random_access_memory" class="mw-redirect" title="Dynamic random access memory">DRAM</a>, DRAM gegenüber Magnetscheibe usw.). Daher sind Caches meist wesentlich teurer in Bezug auf das Preis-Bit-Verhältnis, weshalb sie deutlich kleiner ausgelegt werden. Das führt dazu, dass ein Cache nicht alle Daten gleichzeitig vorrätig haben kann. Um das Problem zu lösen, welche Daten im Cache gehalten werden sollen, werden die Lokalitätseigenschaften der Zugriffe ausgenutzt: </p><p><b>Zeitliche (temporale) Lokalität</b> </p> <dl><dd>Da sich Zugriffe auf Daten wiederholen (z. B. beim Abarbeiten einer Programmschleife), ist es eher wahrscheinlich, dass auf Daten, auf die schon einmal zugegriffen wurde, auch noch ein weiteres Mal zugegriffen wird. Diese Daten sollten also bevorzugt im Cache gehalten werden. Dadurch ergibt sich auch die Notwendigkeit, alte Daten, die lange nicht benutzt wurden, aus dem Cache zu entfernen, um Platz für neuere zu machen. Diesen Vorgang nennt man „Verdrängung“.</dd></dl> <p><b>Räumliche (spatiale) Lokalität</b> </p> <dl><dd>Da Programmcode und -daten nicht zufällig verstreut im Adressraum herumliegen, sondern „hintereinander“ und teilweise auch nur in bestimmten Adressbereichen angeordnet sind (Code-, Daten-, <a href="/wiki/Stapelspeicher" title="Stapelspeicher">Stack</a>-Segment, <a href="/wiki/Dynamischer_Speicher" title="Dynamischer Speicher">Heap</a> usw.), ist es nach einem Zugriff auf eine bestimmte Adresse wahrscheinlich, dass auch auf eine „nahegelegene“ Adresse (sprich: Betrag der Differenz der beiden Adressen sehr klein) zugegriffen wird. Bei der Abarbeitung eines Programms wird z. B. ein Befehl nach dem anderen abgearbeitet, wobei diese „nacheinander“ im Speicher liegen (wenn kein Sprungbefehl dabei ist). Viele Datenstrukturen wie Arrays liegen ebenfalls „hintereinander“ im Speicher.</dd></dl> <p>Wegen der räumlichen Lokalität speichern Caches nicht einzelne Bytes, sondern <a href="/wiki/Datenblock" title="Datenblock">Datenblöcke</a> („Cacheblock“ oder manchmal auch „Cache-Line“ genannt). Zusätzlich erleichtert das die Implementierung und verringert Speicher<a href="/wiki/Overhead_(EDV)" title="Overhead (EDV)">overhead</a>, da man nicht pro Datenbyte eine Adresse speichern muss, sondern nur für jeden Cacheblock. Die Wahl der Blockgröße ist ein wichtiger Designparameter für einen Cache, der die Leistung stark beeinflussen kann. </p> <div class="mw-heading mw-heading2"><h2 id="Organisation">Organisation</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Cache&veaction=edit&section=8" title="Abschnitt bearbeiten: Organisation" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Cache&action=edit&section=8" title="Quellcode des Abschnitts bearbeiten: Organisation"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Ein Cache besteht aus einer (meist) festen Anzahl Einträgen, jeder Eintrag besteht aus: </p><p><b>Cache-Line</b> </p> <dl><dd>Die eigentlichen Daten im Cache (64 bis 128 Byte bei aktuellen PC-Prozessoren)</dd></dl> <p><b>Address-Tag</b> </p> <dl><dd>höherwertige Adressbits, die sich nicht aus der Position in der Cache-Line und nicht aus dem Mapping im Cache ergeben.<sup id="cite_ref-6" class="reference"><a href="#cite_note-6"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup></dd></dl> <p><b>Dirty-Tags</b> </p> <dl><dd>Welche Daten wurden modifiziert und müssen zurückgeschrieben werden? (außer Write-Through-Caches)</dd></dl> <p><b>Valid-Tags</b> </p> <dl><dd>Welche Daten sind in dieser Cache-Line gültig?</dd></dl> <p><b>LRU-Tags</b> </p> <dl><dd>Welche Daten wurden am häufigsten oder vor kurzem benutzt oder auch nicht? (außer Direct Mapped-Cache)</dd></dl> <p>Siehe auch unten <a href="#Einträge_im_Cache">#Einträge im Cache</a>. </p> <div class="mw-heading mw-heading3"><h3 id="Cache-Line/Cache-Zeile"><span id="Cache-Line.2FCache-Zeile"></span>Cache-Line/Cache-Zeile</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Cache&veaction=edit&section=9" title="Abschnitt bearbeiten: Cache-Line/Cache-Zeile" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Cache&action=edit&section=9" title="Quellcode des Abschnitts bearbeiten: Cache-Line/Cache-Zeile"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Eine Cache-Line ist die kleinste Verwaltungseinheit innerhalb des Caches von Prozessoren. Es handelt sich dabei um eine Kopie eines Speicherbereichs. Die Zugriffe vom Cache-Speicher zum Hauptprozessor oder zum Hauptspeicher erfolgen somit in einem einzigen, blockweisen Transfer. Die Größe einer Cache-Line beträgt 16 Bytes (<a href="/wiki/Intel_80486" title="Intel 80486">Intel 80486</a>), 32 Bytes (<a href="/wiki/Intel_Pentium" title="Intel Pentium">Intel Pentium</a> bis <a href="/wiki/Intel_Pentium_III" title="Intel Pentium III">Pentium III</a>) und 64 Bytes (<a href="/wiki/Intel_Pentium_4" title="Intel Pentium 4">Intel Pentium 4</a> bis aktuelle <a href="/wiki/Intel-Core-i-Serie" title="Intel-Core-i-Serie">Intel-Core-i-</a>/<a href="/wiki/Liste_der_AMD-Ryzen-Prozessoren" title="Liste der AMD-Ryzen-Prozessoren">AMD-Ryzen</a>-Prozessoren).<sup id="cite_ref-:0_7-0" class="reference"><a href="#cite_note-:0-7"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup> Die Minimallänge ergibt sich aus der Speicher-Busbreite multipliziert mit der Prefetch-Tiefe des Hauptspeichers und liegt heutzutage bei 64 oder 128 Bytes.<sup id="cite_ref-8" class="reference"><a href="#cite_note-8"><span class="cite-bracket">[</span>8<span class="cite-bracket">]</span></a></sup> </p> <div class="mw-heading mw-heading3"><h3 id="Blocknummer-Tags_statt_Adress-Tags">Blocknummer-Tags statt Adress-Tags</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Cache&veaction=edit&section=10" title="Abschnitt bearbeiten: Blocknummer-Tags statt Adress-Tags" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Cache&action=edit&section=10" title="Quellcode des Abschnitts bearbeiten: Blocknummer-Tags statt Adress-Tags"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Im Nachfolgenden wird davon ausgegangen, dass Cache-Lines immer nur von Adressen gelesen und geschrieben werden, deren Adresse durch die (Byte-)Länge der Cache-Line teilbar ist. </p> <div class="mw-heading mw-heading4"><h4 id="Beispiel">Beispiel</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Cache&veaction=edit&section=11" title="Abschnitt bearbeiten: Beispiel" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Cache&action=edit&section=11" title="Quellcode des Abschnitts bearbeiten: Beispiel"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Eine Cache-Line sei 64 Bytes groß. Es sei festgelegt, dass Daten nur gelesen und geschrieben werden können mit Startadressen z. B. 0, 64, 128, 192, 256, ... Das Hintergrundmedium ist also aufgeteilt in Blöcke, die gerade so groß wie eine Cache-Line sind. </p><p>Dann muss in den Adress-Tags nicht mehr die gesamte (Start-)Adresse der Daten gespeichert werden, sondern nur noch, der wievielte Datenblock auf dem Hintergrundmedium gecachet ist. Durch die Wahl passender Zahlen (Zweierpotenzen) im Binärsystem lassen sich so die Tags platzsparender speichern; das beschleunigt das Prüfen, ob eine angefragte Adresse im Cache enthalten ist. </p> <div class="mw-heading mw-heading3"><h3 id="Block/Satz-Aufteilung_der_Tags"><span id="Block.2FSatz-Aufteilung_der_Tags"></span>Block/Satz-Aufteilung der Tags</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Cache&veaction=edit&section=12" title="Abschnitt bearbeiten: Block/Satz-Aufteilung der Tags" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Cache&action=edit&section=12" title="Quellcode des Abschnitts bearbeiten: Block/Satz-Aufteilung der Tags"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <figure typeof="mw:File/Thumb"><a href="/wiki/Datei:Vollassoziativer_Cache.gif" class="mw-file-description"><img src="//upload.wikimedia.org/wikipedia/commons/thumb/1/1e/Vollassoziativer_Cache.gif/328px-Vollassoziativer_Cache.gif" decoding="async" width="328" height="246" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/1/1e/Vollassoziativer_Cache.gif/492px-Vollassoziativer_Cache.gif 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/1/1e/Vollassoziativer_Cache.gif/656px-Vollassoziativer_Cache.gif 2x" data-file-width="1059" data-file-height="795" /></a><figcaption>Vollassoziativer Cache</figcaption></figure> <p>Die Blöcke (Cache-Lines) eines Caches können in so genannte Sätze zusammengefasst werden. Für eine bestimmte Adresse ist dann immer nur einer der Sätze zuständig. Innerhalb eines Satzes bedienen alle Blöcke also nur einen Teil aller vorhandenen Adressen. Im Folgenden stehe die Variable <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle m}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>m</mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle m}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/0a07d98bb302f3856cbabc47b2b9016692e3f7bc" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:2.04ex; height:1.676ex;" alt="{\displaystyle m}" /></span> für die Gesamtanzahl der Cacheblöcke und <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle n}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>n</mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle n}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/a601995d55609f2d9f5e233e36fbe9ea26011b3b" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.395ex; height:1.676ex;" alt="{\displaystyle n}" /></span> für die Anzahl der Blöcke pro Satz, die so genannte <i>Assoziativität.</i> Dann besteht der Cache also aus <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\tfrac {m}{n}}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="false" scriptlevel="0"> <mfrac> <mi>m</mi> <mi>n</mi> </mfrac> </mstyle> </mrow> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle {\tfrac {m}{n}}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/1413d4c83a94e754258e428fcd72d4fc6bcc2e3e" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:2.279ex; height:3.009ex;" alt="{\displaystyle {\tfrac {m}{n}}}" /></span> Sätzen. </p> <table class="wikitable float-right" style="text-align:center;"> <tbody><tr> <th>Organisation </th> <th>Anzahl der Sätze </th> <th>Assoziativität </th></tr> <tr> <td>DM </td> <td><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle m}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>m</mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle m}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/0a07d98bb302f3856cbabc47b2b9016692e3f7bc" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:2.04ex; height:1.676ex;" alt="{\displaystyle m}" /></span> </td> <td>1 </td></tr> <tr> <td>FA </td> <td>1 </td> <td><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle m}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>m</mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle m}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/0a07d98bb302f3856cbabc47b2b9016692e3f7bc" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:2.04ex; height:1.676ex;" alt="{\displaystyle m}" /></span> (<span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle =n}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mo>=</mo> <mi>n</mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle =n}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/0f80fe5bbe364e2ba45e2ba4df439d8fe3e0e12c" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:3.848ex; height:1.676ex;" alt="{\displaystyle =n}" /></span>) </td></tr> <tr> <td>SA </td> <td><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\tfrac {m}{n}}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="false" scriptlevel="0"> <mfrac> <mi>m</mi> <mi>n</mi> </mfrac> </mstyle> </mrow> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle {\tfrac {m}{n}}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/1413d4c83a94e754258e428fcd72d4fc6bcc2e3e" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:2.279ex; height:3.009ex;" alt="{\displaystyle {\tfrac {m}{n}}}" /></span> </td> <td><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle n}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>n</mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle n}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/a601995d55609f2d9f5e233e36fbe9ea26011b3b" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.395ex; height:1.676ex;" alt="{\displaystyle n}" /></span> </td></tr></tbody></table> <p>Je nachdem, wie stark man diese Aufteilung vornimmt, spricht man von einer der drei Cache-Organisationsarten: </p><p><b>Direkt abgebildet (engl. <span lang="en"><i>direct mapped</i></span>, kurz <i>DM</i>)</b> </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle n=1}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>n</mi> <mo>=</mo> <mn>1</mn> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle n=1}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/d9ec7e1edc2e6d98f5aec2a39ae5f1c99d1e1425" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:5.656ex; height:2.176ex;" alt="{\displaystyle n=1}" /></span>, d. h., jeder Block repräsentiert einen eigenen Satz, es gibt also so viele Sätze wie Blöcke. Somit ist für eine gegebene Adresse exakt ein Cacheblock zuständig. Es existiert also eine direkte <a href="/wiki/Funktion_(Mathematik)" title="Funktion (Mathematik)">Abbildung</a> zwischen Hintergrundspeicheradresse und Cacheblöcken, daher der Name. Bei einer Anfrage an einen solchen Cache muss man nur einen einzelnen Cacheblock auslesen (genauer gesagt den zugehörigen <i>Tag</i> überprüfen, s. u.), was den Hardwareaufwand für die Tag-Vergleicher minimiert. Im Gegenzug ist die Effizienz des Caches eingeschränkt, da möglicherweise freie Cacheblöcke vorhanden sind, die nicht genutzt werden, siehe <i>Conflict Miss</i> unten.</dd></dl> <p><b>Vollassoziativ (engl. <i>fully associative,</i> kurz <i>FA</i>)</b> </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle n=m}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>n</mi> <mo>=</mo> <mi>m</mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle n=m}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/480d6131c6cb07a90f4ec18a376a59fab884b860" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:6.534ex; height:1.676ex;" alt="{\displaystyle n=m}" /></span>, d. h., es gibt nur einen Satz, der alle Blöcke beinhaltet. Somit kann jede Adresse in jedem Cacheblock gecachet werden. Bei einer Anfrage an den Cache ist es daher notwendig, alle Cache-Tags zu überprüfen. Da Caches möglichst schnell sein müssen, wird das parallel ausgeführt, was den notwendigen Hardwareaufwand an Tag-Vergleichern vergrößert. Der Vorteil ist aber, dass der Cache stets Daten aufnehmen kann, solange noch ein beliebiger Cacheblock frei ist.</dd></dl> <p><b>Satzassoziativ bzw. mengenassoziativ (engl. <i>set associative,</i> kurz <i>SA</i>)</b> </p> <dl><dd><span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle n}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>n</mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle n}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/a601995d55609f2d9f5e233e36fbe9ea26011b3b" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.395ex; height:1.676ex;" alt="{\displaystyle n}" /></span> wird zwischen 2 und <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\tfrac {m}{2}}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="false" scriptlevel="0"> <mfrac> <mi>m</mi> <mn>2</mn> </mfrac> </mstyle> </mrow> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle {\tfrac {m}{2}}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/220a6ca9a596ac41f51fa2d26fa4819bfa4deae4" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.171ex; width:2.279ex; height:3.176ex;" alt="{\displaystyle {\tfrac {m}{2}}}" /></span> gewählt, d. h., die Cacheblöcke sind in Sätzen zu je <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle n}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>n</mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle n}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/a601995d55609f2d9f5e233e36fbe9ea26011b3b" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.395ex; height:1.676ex;" alt="{\displaystyle n}" /></span> Blöcken angeordnet. Hier werden also <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\tfrac {m}{n}}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="false" scriptlevel="0"> <mfrac> <mi>m</mi> <mi>n</mi> </mfrac> </mstyle> </mrow> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle {\tfrac {m}{n}}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/1413d4c83a94e754258e428fcd72d4fc6bcc2e3e" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:2.279ex; height:3.009ex;" alt="{\displaystyle {\tfrac {m}{n}}}" /></span> direkt abgebildete Caches vollassoziativ (also frei) angewählt. Diesen Cache nennt man dann <i>n-fach satzassoziativ</i> oder kurz <i>n-fach assoziativ.</i> Diese Cacheform stellt einen Kompromiss aus Hardwareaufwand und Effizienz des Caches dar: Gegenüber einem DM-Cache gewinnt man Effizienz, gegenüber einem FA-Cache spart man Hardware.</dd></dl> <p>Die ersten beiden sind ein Spezialfall des satzassoziativen Caches. Der direkt abgebildete und der vollassoziative Cache lassen sich somit vom satzassoziativen Cache ableiten: <i>n=1</i> führt zu einem direkt abgebildeten Cache, <i>n=m</i> zu einem vollassoziativen Cache. </p> <div class="mw-heading mw-heading4"><h4 id="Erklärung_anhand_eines_Beispiels"><span id="Erkl.C3.A4rung_anhand_eines_Beispiels"></span>Erklärung anhand eines Beispiels</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Cache&veaction=edit&section=13" title="Abschnitt bearbeiten: Erklärung anhand eines Beispiels" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Cache&action=edit&section=13" title="Quellcode des Abschnitts bearbeiten: Erklärung anhand eines Beispiels"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Die wesentlichen Größen eines Caches sind: </p> <ul><li>Die Größe der gespeicherten Daten (d. h. Größe des Caches): hier im Beispiel 64 <a href="/wiki/Kibibyte" class="mw-redirect" title="Kibibyte">KiB</a></li> <li>Die Größe des abzudeckenden Adressraumes: hier im Beispiel 4 <a href="/wiki/Gibibyte" class="mw-redirect" title="Gibibyte">GiB</a></li> <li>Die Länge einer Cache-Zeile: hier im Beispiel 64 Byte</li> <li>Die Granularität der Daten: hier im Beispiel 1 Byte</li> <li>Vorhandensein von Dirty- und Valid-Tags.</li></ul> <p>Der Cache besteht, unabhängig vom Aufbau, aus 64 KiB/64 Byte = 1024 Cache-Zeilen </p><p><b>Vollassoziativer Cache</b> </p> <table class="wikitable" style="text-align:center;"> <tbody><tr> <td>31</td> <td>30</td> <td>29</td> <td>28</td> <td>27</td> <td>26</td> <td>25</td> <td>24</td> <td>23</td> <td>22</td> <td>21</td> <td>20</td> <td>19</td> <td>18</td> <td>17</td> <td>16</td> <td>15</td> <td>14</td> <td>13</td> <td>12</td> <td>11</td> <td>10</td> <td>9</td> <td>8</td> <td>7</td> <td>6</td> <td>5</td> <td>4</td> <td>3</td> <td>2</td> <td>1</td> <td>0 </td></tr> <tr> <td colspan="26">Länge Adress-Tag </td> <td colspan="6">Byte-Position </td></tr></tbody></table> <p>Es gibt eine Cache-Gruppe, die alle 1024 Cache-Zeilen umfasst. Jedes Hauptspeicher-Datenwort kann in jeder beliebigen der 1024 Cache-Zeilen der einen Cache-Gruppe gespeichert werden. Es sind 1024 Komparatoren erforderlich, die log2(4 GiB/64 Byte) = log2(4 GiB)-log2(64 Byte) bits = 32-6 = 26 bits vergleichen müssen. An jeder Cache-Zeile hängen diese 26 Bit als Adress-Tag. Hardware-Aufwand: </p> <ul><li>1024 Komparatoren</li> <li>1024 × 64 × 8 bit eigentlicher Cache</li> <li>1024 × 26 bit Adress-Tag</li> <li>1024 × 64 bit Valid-Tags</li> <li>1024 × 64 bit Dirty-Tags</li> <li>1024 × ? bit für die LRU-Tags</li></ul> <p><b>Direct Mapped-Cache / Einfach- oder nicht assoziativer Cache</b> </p> <table class="wikitable" style="text-align:center;"> <tbody><tr> <td>31</td> <td>30</td> <td>29</td> <td>28</td> <td>27</td> <td>26</td> <td>25</td> <td>24</td> <td>23</td> <td>22</td> <td>21</td> <td>20</td> <td>19</td> <td>18</td> <td>17</td> <td>16</td> <td>15</td> <td>14</td> <td>13</td> <td>12</td> <td>11</td> <td>10</td> <td>9</td> <td>8</td> <td>7</td> <td>6</td> <td>5</td> <td>4</td> <td>3</td> <td>2</td> <td>1</td> <td>0 </td></tr> <tr> <td colspan="16">Länge Adress-Tag </td> <td colspan="10">benutzte Cache-Gruppe </td> <td colspan="6">Byte-Position </td></tr></tbody></table> <p>Es gibt 1024 Cache-Gruppen mit je einer Cache-Zeile. Jedes Hauptspeicher-Datenwort kann nur in dieser zu seiner Adresse gehörenden Cache-Zeile gespeichert werden. Die Cache-Gruppe ergibt sich aus den Bit 15 bis 6 der Adresse. Es ist nur ein Komparator erforderlich, der log2(4 GiB)-log2(64 KiB) bits = 16 bits vergleichen muss. An jeder Cache-Zeile hängen diese 16 Bit als Adress-Tag. Hardware-Aufwand: </p> <ul><li>Ein Komparator</li> <li>1024 × 64 × 8 bit eigentlicher Cache</li> <li>1024 × 16 bit Adress-Tag</li> <li>1024 × 64 bit Valid-Tags</li> <li>1024 × 64 bit Dirty-Tags</li> <li>Keine LRU-Tags</li></ul> <p><b>Zweifach assoziativer Cache</b> </p> <table class="wikitable" style="text-align:center;"> <tbody><tr> <td>31</td> <td>30</td> <td>29</td> <td>28</td> <td>27</td> <td>26</td> <td>25</td> <td>24</td> <td>23</td> <td>22</td> <td>21</td> <td>20</td> <td>19</td> <td>18</td> <td>17</td> <td>16</td> <td>15</td> <td>14</td> <td>13</td> <td>12</td> <td>11</td> <td>10</td> <td>9</td> <td>8</td> <td>7</td> <td>6</td> <td>5</td> <td>4</td> <td>3</td> <td>2</td> <td>1</td> <td>0 </td></tr> <tr> <td colspan="17">Länge Adress-Tag </td> <td colspan="9">benutzte Cache-Gruppe </td> <td colspan="6">Byte-Position </td></tr></tbody></table> <p>Es gibt 512 Cache-Gruppen mit je zwei Cache-Zeilen. Jedes Hauptspeicher-Datenwort kann in einer der beiden zu seiner Adresse gehörenden Cache-Zeilen gespeichert werden. Die Cache-Gruppe ergibt sich aus den Bit 14 bis 6 der Adresse. Es sind zwei Komparatoren erforderlich, die log2(4 GiB)-log2(64 KiB)+1 bits = 17 bits vergleichen müssen. An jeder Cache-Zeile hängen diese 17 Bit als Adress-Tag. Hardware-Aufwand: </p> <ul><li>Zwei Komparatoren</li> <li>1024 × 64 × 8 bit eigentlicher Cache</li> <li>1024 × 17 bit Adress-Tag</li> <li>1024 × 64 bit Valid-Tags</li> <li>1024 × 64 bit Dirty-Tags</li> <li>1024 × 1 bit LRU-Tags</li></ul> <p><b>2^n-fach assoziativer Cache</b> </p> <table class="wikitable" style="text-align:center;"> <tbody><tr> <td>31</td> <td>30</td> <td>29</td> <td>28</td> <td>27</td> <td>26</td> <td>25</td> <td>24</td> <td>23</td> <td>22</td> <td>21</td> <td>20</td> <td>19</td> <td>18</td> <td>17</td> <td>16</td> <td>15</td> <td>14</td> <td>13</td> <td>12</td> <td>11</td> <td>10</td> <td>9</td> <td>8</td> <td>7</td> <td>6</td> <td>5</td> <td>4</td> <td>3</td> <td>2</td> <td>1</td> <td>0 </td></tr> <tr> <td colspan="18">Länge Adress-Tag </td> <td colspan="8">benutzte Cache-Gruppe </td> <td colspan="6">Byte-Position </td></tr></tbody></table> <p>Es gibt 1024/2^n Cache-Gruppen mit je 2^n Cache-Zeilen. Jedes Hauptspeicher-Datenwort kann in einer der 2^n zu seiner Adresse gehörenden Cache-Zeilen gespeichert werden. Die Cache-Gruppe ergibt sich aus den Bit 15-(n-1) bis 6 der Adresse. Es sind 2^n Komparatoren erforderlich, die log2(4 GiB)-log2(64 KiB)+n bits = 16+(n-1) bits vergleichen müssen. An jeder Cache-Zeile hängen diese 16+(n-1) Bit als Adress-Tag. Hardware-Aufwand: </p> <ul><li>2^n Komparatoren</li> <li>1024 × 64 × 8 bit eigentlicher Cache</li> <li>1024 × (16+n-1) bit Adress-Tag</li> <li>1024 × 64 bit Valid-Tags</li> <li>1024 × 64 bit Dirty-Tags</li> <li>1024 × mehrere bit LRU-Tags</li></ul> <div class="mw-heading mw-heading2"><h2 id="Cache_Hits_und_Misses">Cache Hits und Misses</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Cache&veaction=edit&section=14" title="Abschnitt bearbeiten: Cache Hits und Misses" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Cache&action=edit&section=14" title="Quellcode des Abschnitts bearbeiten: Cache Hits und Misses"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Den Vorgang, dass die Daten einer Anfrage an einen Cache in selbigem vorrätig sind, bezeichnet man als „Cache Hit“ (dt. Cachetreffer), den umgekehrten Fall als „Cache Miss“ (dt. „Cache-Verfehlen“). </p><p>Um quantitative Maßzahlen für die Bewertung der Effizienz eines Caches zu erhalten, definiert man zwei Größen: </p><p><b>Hit Rate</b> </p> <dl><dd>Die Anzahl der Anfragen, bei denen ein Cache Hit auftrat, geteilt durch die Anzahl der insgesamt an diesen Cache gestellten Anfragen. Wie man aus der Definition leicht sehen kann, liegt diese Größe zwischen Null und Eins. Eine Hit Rate von z. B. 0,7 (=70 %) bedeutet, dass bei 70 % aller Anfragen an den Cache dieser die Daten sofort liefern konnte und bei 30 % aller Anfragen passen musste.</dd></dl> <p><b>Miss Rate</b> </p> <dl><dd>Diese ist analog zur Hit Rate als die Anzahl der Anfragen definiert, bei denen die Daten <i>nicht</i> im Cache vorhanden waren geteilt durch die Anzahl der gesamten Anfragen. Es gilt: Miss Rate = 1 − Hit Rate.</dd></dl> <p>Drei Arten von Cache Misses werden unterschieden: </p><p><b>Capacity</b> </p> <dl><dd>Der Cache ist zu klein. Daten waren im Cache vorrätig, wurden aber wieder aus ihm entfernt. Erfolgt dann ein erneuter Zugriff auf diese Adresse, so wird dieser Miss als „Capacity Miss“ bezeichnet. Abhilfe schafft nur ein größerer Cache.</dd></dl> <p><b>Conflict</b> </p> <dl><dd>Durch die satzassoziative Organisation (gilt somit auch für DM-Caches) ist es möglich, dass in einem Satz nicht mehr genug Platz ist, während in anderen Sätzen noch freie Cacheblöcke vorhanden sind. Dann muss in dem überfüllten Satz ein Block entfernt werden, obwohl der Cache eigentlich noch Platz hat. Wird auf diesen entfernten Block erneut zugegriffen, so bezeichnet man diesen Cache Miss als „Conflict Miss“. Abhilfe schafft eine Erhöhung der Cacheblocks pro Satz – also eine Erhöhung der Assoziativität. Bei vollassoziativen Caches (welche nur einen Satz haben) gibt es prinzipbedingt keine Conflict Misses.</dd></dl> <p><b>Compulsory</b> </p> <dl><dd>Als „Compulsory Miss“ oder auch „Cold Start Miss“ bezeichnet man den erstmaligen Zugriff auf eine Adresse, deren Daten sich noch nicht im Cache befinden, und zugleich hat der Cache noch freien Platz. Der Unterschied zu den anderen beides Misses ist der, dass hier keine Verdrängung stattfindet, sondern ein Block zum ersten Mal/neu beschrieben wird. Er ist nicht oder nur schwer zu verhindern. Moderne Prozessoren besitzen „<a href="/wiki/Prefetching" title="Prefetching">Prefetcher</a>“-Einheiten, die selbständig spekulativ Daten in die Caches laden, wenn dort noch Platz ist. Damit soll die Anzahl der Compulsory Misses verringert werden.</dd></dl> <p>Diese drei Typen bezeichnet man auch kurz als „Die drei C“. In Multiprozessorsystemen kann beim Einsatz eines <a href="/wiki/Cache-Koh%C3%A4renz" title="Cache-Kohärenz">Cache-Kohärenz</a>-Protokolls vom Typ <a href="/wiki/Write-Invalidate-Protokoll" class="mw-redirect" title="Write-Invalidate-Protokoll">Write-Invalidate</a> noch ein viertes „C“ hinzukommen, nämlich ein „Coherency Miss“: Wenn durch das Schreiben eines Prozessors in einen Cacheblock der gleiche Block im Cache eines zweiten Prozessors hinausgeworfen werden muss, so führt der Zugriff des zweiten Prozessors auf eine Adresse, die durch diesen entfernten Cacheblock abgedeckt war, zu einem Coherency Miss. </p> <div class="mw-heading mw-heading2"><h2 id="Arbeitsweise">Arbeitsweise</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Cache&veaction=edit&section=15" title="Abschnitt bearbeiten: Arbeitsweise" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Cache&action=edit&section=15" title="Quellcode des Abschnitts bearbeiten: Arbeitsweise"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Bei der Verwaltung des Caches ist es sinnvoll, immer nur die Blöcke im Cache zu halten, auf die auch häufig zugegriffen wird. Zu diesem Zweck gibt es verschiedene Ersetzungsstrategien. Eine häufig verwendete Variante ist dabei die <a href="/wiki/Least_recently_used" title="Least recently used">LRU-Strategie</a> (engl. <span lang="en"><b>l</b>east <b>r</b>ecently <b>u</b>sed</span>), bei welcher immer der Block ausgetauscht wird, auf den am längsten nicht mehr zugegriffen wurde. Moderne Prozessoren (z. B. der <a href="/wiki/AMD" title="AMD">AMD</a> <a href="/wiki/Athlon" class="mw-redirect" title="Athlon">Athlon</a>) implementieren meist eine Pseudo-LRU-Ersetzungsstrategie, die fast wie echtes LRU arbeitet, aber leichter in Hardware zu implementieren ist. </p> <div class="mw-heading mw-heading3"><h3 id="Verdrängungsstrategien"><span id="Verdr.C3.A4ngungsstrategien"></span>Verdrängungsstrategien</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Cache&veaction=edit&section=16" title="Abschnitt bearbeiten: Verdrängungsstrategien" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Cache&action=edit&section=16" title="Quellcode des Abschnitts bearbeiten: Verdrängungsstrategien"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <p><b><a href="/wiki/FIFO" class="mw-redirect" title="FIFO">FIFO</a> (First In First Out)</b> </p><p><b><a href="/wiki/First_In_%E2%80%93_First_Out" title="First In – First Out">First In – First Out</a></b> (FIFO) </p> <dl><dd>Der jeweils älteste Eintrag wird verdrängt.</dd></dl> <p><b><a href="/wiki/Least_recently_used" title="Least recently used">Least recently used</a></b> (LRU) </p> <dl><dd>Der Eintrag, auf den am längsten nicht zugegriffen wurde, wird verdrängt.</dd> <dd>Dabei (FIFO, LRU) werden jedoch keine vollständigen <a href="/wiki/Zeitstempel" title="Zeitstempel">Zeitstempel</a> gespeichert, die eine relativ lange Integer-Zahl erfordern würden. Vielmehr werden wenige Bits verwendet (zwei sind häufig, aber auch nur eines ist möglich), um einen Cacheeintrag als mehr oder weniger häufig benutzt zu markieren. Die Aktualisierung der Bits erfolgt parallel zu einer Verdrängung.</dd></dl> <p><b><a href="/wiki/Least_frequently_used" title="Least frequently used">Least frequently used</a></b> (LFU) </p> <dl><dd>Der am seltensten gelesene Eintrag wird verdrängt.</dd></dl> <p><b>Random</b> </p> <dl><dd>Ein zufälliger Eintrag wird verdrängt.</dd></dl> <p><b>CLOCK</b> </p> <dl><dd>Daten werden im Cache in der Reihenfolge des Zugriffs abgelegt. Wenn auf ein Datum zugegriffen wird, wird für diesen Cacheblock ein Bit gesetzt. Bei einem Miss wird von vorne nach hinten nach dem ersten Datum ohne gesetztes Bit gesucht, dieses wird ersetzt. Bei allen dabei durchgegangenen Daten wird das Bit gelöscht. Es wird ebenfalls markiert, welches Datum zuletzt in den Cache geladen wurde. Von dort beginnt die Suche nach einem Datum, welches ersetzt werden kann.</dd></dl> <p><b>Optimal</b> </p> <dl><dd>Das Verfahren von <a href="/wiki/Laszlo_Belady" title="Laszlo Belady">Laszlo Belady</a>, bei dem derjenige Speicherbereich verdrängt wird, auf den am längsten nicht zugegriffen werden wird, ist optimal. Es ist allerdings nur dann anwendbar, wenn der komplette Programmablauf im Voraus bekannt ist (d. h., er ist ein so genanntes Offline-Verfahren, im Gegensatz zu FIFO und LRU, die Online-Verfahren sind). Der Programmablauf ist aber fast nie im Voraus bekannt; deshalb kann das optimale Verfahren in der Praxis nicht eingesetzt werden. Allerdings kann der optimale Algorithmus als Vergleich für andere Verfahren dienen.</dd></dl> <div class="mw-heading mw-heading3"><h3 id="Schreibstrategie">Schreibstrategie</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Cache&veaction=edit&section=17" title="Abschnitt bearbeiten: Schreibstrategie" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Cache&action=edit&section=17" title="Quellcode des Abschnitts bearbeiten: Schreibstrategie"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Bei einem Schreibzugriff auf einen Block, der im Cache vorhanden ist, gibt es prinzipiell zwei Möglichkeiten: </p><p><b>Zurückkopieren (write-back)<span id="Write-Back"></span></b> </p> <dl><dd>Beim Schreiben wird der zu schreibende <a href="/wiki/Datenblock" title="Datenblock">Datenblock</a> nicht sofort in der nächsthöheren Speicherebene abgelegt, sondern zunächst im Cache. Dabei entsteht eine Inkonsistenz zwischen Cache und zu cachendem Speicher. Letzterer enthält somit veraltete Information. Erst wenn das Wort aus dem Cache verdrängt wird, wird es auch in die nächsthöhere Speicherebene geschrieben. Dazu bekommt jeder Cacheblock ein sogenanntes Dirty Bit, das anzeigt, ob der Block beim Ersetzen zurückkopiert werden muss. Das führt bei Speicherzugriff durch andere Prozessoren oder DMA-Geräte zu Problemen, weil diese veraltete Informationen lesen würden. Abhilfe schaffen hier <a href="/wiki/Cache-Koh%C3%A4renz" title="Cache-Kohärenz">Cache-Kohärenz</a>-Protokolle wie zum Beispiel <a href="/wiki/MESI" title="MESI">MESI</a> für <a href="/wiki/Uniform_Memory_Access" title="Uniform Memory Access">Uniform-Memory-Access</a>-Systeme.</dd></dl> <p><b>Durchgängiges Schreiben (write-through)<span id="Write-Through"></span></b> </p> <dl><dd>Der zu schreibende Block wird sofort in der nächsthöheren Speicherebene abgelegt. Damit ist die Konsistenz gesichert. Damit der Prozessor nicht jedes Mal warten muss, bis der Block in der nächsthöheren Speicherebene (die ja langsamer als der Cache ist) abgelegt ist, benutzt man einen Pufferspeicher (write buffer). Wenn dieser voll läuft, muss der Prozessor jedoch anhalten und warten.</dd></dl> <p>Analog zu Obigem gibt es bei einem Schreibzugriff auf einen Block, der <i>nicht</i> im Cache vorhanden ist, prinzipiell ebenso zwei Möglichkeiten: </p><p><b>write-allocate</b> </p> <dl><dd>Wie bei einem normalen Cache Miss wird der Block aus der nächsthöheren Speicherebene geholt. Die entsprechenden Bytes, die durch den Schreibzugriff geändert wurden, werden danach im gerade frisch eingetroffenen Block überschrieben.</dd></dl> <p><b>non-write-allocate</b> </p> <dl><dd>Es wird am Cache vorbei in die nächsthöhere Speicherebene geschrieben, ohne dass der dazugehörige Block in den Cache geladen wird. Das kann für manche Anwendungen Vorteile bringen, bei denen viele geschriebene Daten nie wieder gelesen werden. Durch die Verwendung von non-write-allocate verhindert man das Verdrängen von anderen, möglicherweise wichtigen Blöcken und reduziert somit die Miss Rate.</dd></dl> <p>Einige Befehlssätze enthalten Befehle, die es dem Programmierer ermöglichen, explizit anzugeben, ob zu schreibende Daten am Cache vorbeizuschreiben sind. </p><p>Normalerweise wird entweder die Kombination <i>write-back</i> mit <i>write-allocate</i> oder <i>write-through</i> mit <i>non-write-allocate</i> verwendet. Die erste Kombination hat den Vorteil, dass aufeinander folgende Schreibzugriffe auf denselben Block (Lokalitätsprinzip) komplett im Cache abgewickelt werden (bis auf den ersten Miss). Dies gibt im zweiten Fall keinen Vorteil, da sowieso jeder Schreibzugriff zum Hauptspeicher muss, weshalb die Kombination write-through mit write-allocate eher unüblich ist.<sup id="cite_ref-9" class="reference"><a href="#cite_note-9"><span class="cite-bracket">[</span>9<span class="cite-bracket">]</span></a></sup> </p> <div class="mw-heading mw-heading3"><h3 id="Cache_Flush">Cache Flush</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Cache&veaction=edit&section=18" title="Abschnitt bearbeiten: Cache Flush" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Cache&action=edit&section=18" title="Quellcode des Abschnitts bearbeiten: Cache Flush"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Ein <i>Cache Flush</i> („Pufferspeicher-Leerung“) bewirkt das komplette Zurückschreiben des Cacheinhaltes in den Hintergrundspeicher. Dabei bleibt der Cacheinhalt meist unangetastet. Ein solches Vorgehen ist nötig, um die Konsistenz zwischen Cache und Hintergrundspeicher wiederherzustellen. Notwendig ist das zum Beispiel immer dann, wenn Daten aus dem Hauptspeicher von externen Geräten benötigt werden, unter anderem bei Multiprozessor-Kommunikation oder bei der Übergabe eines als Ausgabepuffer benutzten Teils des Hauptspeichers an den <a href="/wiki/Direct_Memory_Access" title="Direct Memory Access">DMA</a>-Controller. </p> <div class="mw-heading mw-heading3"><h3 id="Sonstiges">Sonstiges</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Cache&veaction=edit&section=19" title="Abschnitt bearbeiten: Sonstiges" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Cache&action=edit&section=19" title="Quellcode des Abschnitts bearbeiten: Sonstiges"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <div class="mw-heading mw-heading4"><h4 id="Einträge_im_Cache"><span id="Eintr.C3.A4ge_im_Cache"></span>Einträge im Cache</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Cache&veaction=edit&section=20" title="Abschnitt bearbeiten: Einträge im Cache" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Cache&action=edit&section=20" title="Quellcode des Abschnitts bearbeiten: Einträge im Cache"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Für jeden Cacheblock wird im Cache folgendes gespeichert: </p> <ul><li>Die eigentlichen Daten</li> <li>Der <i>Tag</i> (ein Teil der Adresse)</li> <li>Mehrere Statusbits, wie:</li></ul> <dl><dd><b>modified bzw. dirty</b> <dl><dd>Gibt an, ob dieser Cacheblock geändert wurde (nur beim Write-Back-Cache).</dd> <dd>diverse Statusbits je nach <a href="/wiki/Cache-Koh%C3%A4renz" title="Cache-Kohärenz">Cache-Kohärenz</a>-Protokoll, z. B. je ein Bit für:</dd></dl></dd> <dd><b>owner</b> <dl><dd>Äquivalent zu „modified & shared“. Gibt an, dass der Block geändert wurde und in anderen Caches vorhanden ist. Der Owner ist dafür verantwortlich, den Hauptspeicher zu aktualisieren, wenn er den Block aus seinem Cache entfernt. Derjenige Prozessor, der zuletzt auf den Cacheblock schreibt, wird neuer Owner.</dd></dl></dd> <dd><b>exclusive</b> <dl><dd>Gibt an, dass der Block nicht geändert wurde und in keinem anderen Cache vorhanden ist.</dd></dl></dd> <dd><b>shared</b> <dl><dd>Hat teilweise unterschiedliche Bedeutungen: Bei <a href="/wiki/MESI" title="MESI">MESI</a> gibt das an, dass der Block nicht geändert wurde, aber auch in Caches anderer Prozessoren vorhanden ist (dort ebenso unverändert). Bei <a href="/wiki/MOESI" title="MOESI">MOESI</a> bedeutet es nur, dass der Block in anderen Prozessorcaches vorhanden ist. Hier ist auch erlaubt, dass der Block verändert wurde, also inkonsistent zum Hauptspeicher ist. In diesem Fall gibt es aber einen „Owner“ (s. o.), der für das Aktualisieren des Hauptspeichers verantwortlich ist.</dd></dl></dd> <dd><b>invalid</b> <dl><dd>Zeigt an, ob der Block frei (also mit ungültigen Daten befüllt) oder belegt (also mit gültigen Daten befüllt) ist.</dd></dl></dd></dl> <div class="mw-heading mw-heading4"><h4 id="Heiße_und_kalte_Caches"><span id="Hei.C3.9Fe_und_kalte_Caches"></span>Heiße und kalte Caches</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Cache&veaction=edit&section=21" title="Abschnitt bearbeiten: Heiße und kalte Caches" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Cache&action=edit&section=21" title="Quellcode des Abschnitts bearbeiten: Heiße und kalte Caches"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Ein Cache ist „heiß“, wenn er optimal arbeitet, also gefüllt ist und nur wenige Cache Misses hat; ist das nicht der Fall, gilt der Cache als „kalt“. Nach Inbetriebnahme ist ein Cache zunächst kalt, da er noch keine Daten enthält und häufig zeitraubend Daten nachladen muss, und wärmt sich dann zunehmend auf, da die zwischengelagerten Daten immer mehr den angeforderten entsprechen und weniger Nachladen erforderlich ist. Im Idealzustand werden Datenzugriffe fast ausschließlich aus dem Cache bedient und das Nachladen kann vernachlässigt werden. </p> <div class="mw-heading mw-heading2"><h2 id="Beispiele">Beispiele</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Cache&veaction=edit&section=22" title="Abschnitt bearbeiten: Beispiele" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Cache&action=edit&section=22" title="Quellcode des Abschnitts bearbeiten: Beispiele"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <div class="mw-heading mw-heading3"><h3 id="Prozessor-Cache">Prozessor-Cache</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Cache&veaction=edit&section=23" title="Abschnitt bearbeiten: Prozessor-Cache" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Cache&action=edit&section=23" title="Quellcode des Abschnitts bearbeiten: Prozessor-Cache"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <div class="sieheauch" role="navigation" style="font-style:italic;"><span class="sieheauch-text">Siehe auch</span>: <a href="/wiki/Befehlscache" title="Befehlscache">Befehlscache</a></div> <p>Bei Hauptprozessoren kann der Cache direkt im Prozessor integriert oder extern auf der <a href="/wiki/Hauptplatine" title="Hauptplatine">Hauptplatine</a> (früher weiter verbreitet, heute eher untypisch) platziert sein. Oft gibt es mehrere Ebenen (Levels), die aufeinander aufbauen. Kleinere Level sind dabei typischerweise schneller, haben aber aus Kostengründen eine geringere Größe. Je nach Ort des Caches arbeitet dieser mit unterschiedlichen Taktfrequenzen: Der L1 (Level 1, am nächsten an der CPU) ist fast immer direkt im Prozessor (d. h. auf dem <a href="/wiki/Die_(Halbleitertechnik)" title="Die (Halbleitertechnik)">Die</a>) integriert und arbeitet daher mit dem vollen Prozessortakt – also u. U. mehreren Gigahertz. Ein externer Cache hingegen wird oft nur mit einigen hundert Megahertz getaktet. </p><p>Aktuelle <a href="/wiki/Prozessorarchitektur" title="Prozessorarchitektur">Prozessorarchitekturen</a> (zum Beispiel <a href="/wiki/Zen_4" title="Zen 4">AMD Zen 4</a>, <a href="/wiki/Intel-Ice-Lake-Mikroarchitektur" title="Intel-Ice-Lake-Mikroarchitektur">Intel Ice Lake</a>, <a href="/wiki/Power-Architektur" title="Power-Architektur">IBM Power10</a>)<sup id="cite_ref-:0_7-1" class="reference"><a href="#cite_note-:0-7"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup> besitzen überwiegend drei Cache-Level: L1, L2 und L3. Gängige Größen für L1-Caches sind 4 bis 320 KiB pro Prozessorkern (meist gibt es einen für Daten und einen für Befehle), der L2-Cache ist 64 KiB bis 32.768 KiB<sup id="cite_ref-10" class="reference"><a href="#cite_note-10"><span class="cite-bracket">[</span>10<span class="cite-bracket">]</span></a></sup> (meist ebenfalls pro Kern), der L3-Cache 2 bis 768 MiB<sup id="cite_ref-11" class="reference"><a href="#cite_note-11"><span class="cite-bracket">[</span>11<span class="cite-bracket">]</span></a></sup> (für alle Kerne gemeinsam). Prozessorcache als Extra-Chip auf der Hauptplatine wird heute nicht mehr gebaut, als Extra-Die im selben Chip-Gehäuse (siehe <a href="/wiki/Multi-Chip-Modul" title="Multi-Chip-Modul">Multi-Chip-Modul</a>) nur noch selten. </p><p>In jedem Fall ist eine Protokollierung erforderlich, um die Kohärenz der Daten (z. B. zwischen Caches und Hauptspeicher) sicherzustellen. Dazu dienen <a href="/wiki/Flag_(Informatik)" title="Flag (Informatik)">Flags</a>, die einen <a href="/wiki/Speicherbereich" title="Speicherbereich">Speicherbereich</a> (typischerweise eine ganze <i>line</i> von 64 Byte) als „dirty“, also geändert, markieren (s. o. bei Schreibstrategie). Das Problem verschärft sich bei mehreren Cache-Levels und mehreren Prozessoren oder Prozessorkernen. </p><p>Die Cachekonsistenz ist sowohl bei mehreren aktiven Geräten auf dem Datenbus, als auch bei mehreren zusammengeschalteten Prozessoren (<a href="/wiki/Mehrprozessorsystem" title="Mehrprozessorsystem">Mehrprozessorsysteme</a>) zu beachten. </p><p>Bei Mehrprozessorsystemen unterscheidet man unter anderem nach <a href="/wiki/Flynnsche_Klassifikation" title="Flynnsche Klassifikation">flynnscher Klassifikation</a> zwischen SIMD- und MIMD-Strukturen (Single/Multiple Instruction – Multiple Data). Bei MIMD-Systemen ist die Wahrscheinlichkeit hoch, dass verschiedene Prozessoren auf verschiedene Speicherbereiche zugreifen, bei SIMD dagegen kleiner. Danach lässt sich die Cache-Konfiguration einstellen. </p><p>Moderne Prozessoren haben getrennte L1-Caches für Programme und Daten (Lese- und Schreibcache), teilweise ist das auch noch beim L2 der Fall (<a href="/wiki/Intel_Itanium_2" title="Intel Itanium 2">Intel Itanium 2</a>). Man spricht hier von einer <a href="/wiki/Harvard-Architektur" title="Harvard-Architektur">Harvard-Architektur</a>. Das hat den Vorteil, dass man für die unterschiedlichen Zugriffsmuster für das Laden von Programmcode und Daten unterschiedliche Cachedesigns verwenden kann. Außerdem kann man bei getrennten Caches diese räumlich besser zu den jeweiligen Einheiten auf dem Prozessor-Die platzieren und damit die kritischen Pfade beim Prozessorlayout verkürzen. Des Weiteren können Instruktionen und Daten gleichzeitig gelesen/geschrieben werden, wodurch der <a href="/wiki/Von-Neumann-Architektur#Von-Neumann-Flaschenhals" title="Von-Neumann-Architektur">Von-Neumann-Flaschenhals</a> weiter verringert werden kann. Ein Nachteil ist, dass <a href="/wiki/Selbstmodifizierender_Code" title="Selbstmodifizierender Code">selbstmodifizierender Code</a> gesondert behandelt werden muss, was seine Ausführung stark verlangsamt. Allerdings wird diese Technik aus Sicherheitsgründen und weil sie oft schwer verständlich, schwer prüfbar und daher nur schlecht zu warten ist, heute ohnehin nur noch sehr selten verwendet. </p> <div class="mw-heading mw-heading3"><h3 id="Laufwerks-Cache">Laufwerks-Cache</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Cache&veaction=edit&section=24" title="Abschnitt bearbeiten: Laufwerks-Cache" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Cache&action=edit&section=24" title="Quellcode des Abschnitts bearbeiten: Laufwerks-Cache"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Bei Festplattenlaufwerken befindet sich der Cache auf der Steuerplatine (siehe <a href="/wiki/Festplattencache" title="Festplattencache">Festplattencache</a>) oder einer separaten Platine, dem <a href="/wiki/Host-Bus-Adapter" title="Host-Bus-Adapter">Host-Bus-Adapter</a>. </p><p>Die Größe beträgt bei aktuellen Festplatten – je nach vom Hersteller vorgesehenen Einsatzzweck der Festplatte – zwischen 8 und 256 MiB.<sup id="cite_ref-:0_7-2" class="reference"><a href="#cite_note-:0-7"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup> </p><p>Die meisten optischen Laufwerke besitzen Caches, um die oft im dreistelligen Millisekundenbereich liegenden Zugriffszeiten und Schwankungen im Datenstrom (z. B. durch Synchronisierungsprobleme) aufzufangen. </p> <div class="mw-heading mw-heading3"><h3 id="Software-Caches">Software-Caches</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Cache&veaction=edit&section=25" title="Abschnitt bearbeiten: Software-Caches" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Cache&action=edit&section=25" title="Quellcode des Abschnitts bearbeiten: Software-Caches"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Caches können auch bei Software genutzt werden, dabei ist dasselbe Prinzip wie bei der Hardwareimplementierung gemeint: Daten werden für einen schnelleren Zugriff auf ein schnelleres Medium zwischengespeichert. </p><p>Beispiele: <b>Festplattencache</b> (vom Betriebssystem verwaltet) </p> <dl><dd>Festplatte → Hauptspeicher</dd></dl> <p><b>Anwendungsdaten</b> (<i><a href="/wiki/Memoisation" title="Memoisation">Memoisation</a></i>) </p> <dl><dd>Berechnung → Hauptspeicher</dd></dl> <p><b><a href="/wiki/Browser-Cache" title="Browser-Cache">Browser-Cache</a></b> </p> <dl><dd>Netz → (Festplatte/Arbeitsspeicher)</dd></dl> <p><b><a href="/wiki/Webserver" title="Webserver">Webserver</a></b> </p> <dl><dd>Datenbank → <a href="/wiki/Hypertext_Markup_Language" title="Hypertext Markup Language">HTML</a>-Datei (<a href="/wiki/HTTP_Caching" title="HTTP Caching">HTTP Caching</a>)</dd></dl> <p>Software-Caches, welche die Festplatte als schnelleres Medium verwenden, werden meist in Form von <a href="/wiki/Tempor%C3%A4re_Datei" title="Temporäre Datei">temporären Dateien</a> angelegt. </p><p>Man spricht auch von Caching, wenn ein <a href="/wiki/Betriebssystem" title="Betriebssystem">Betriebssystem</a> gewisse Ressourcen – wie z. B. <a href="/wiki/Programmbibliothek" title="Programmbibliothek">Programmbibliotheken</a> oder <a href="/wiki/Schriftart" title="Schriftart">Schriftarten</a> – vorerst im Arbeitsspeicher belässt, obwohl sie nach Ende ihrer Benutzung nicht mehr gebraucht werden. Solange kein Speichermangel herrscht, können sie im Arbeitsspeicher verbleiben, um dann ohne Nachladen von der Festplatte sofort zur Verfügung zu stehen, wenn sie wieder gebraucht werden. Wenn allerdings die Speicherverwaltung des Betriebssystems einen Speichermangel feststellt, werden diese Ressourcen als erste gelöscht. </p> <div class="mw-heading mw-heading3"><h3 id="Suchmaschinen-Cache">Suchmaschinen-Cache <span id="Google-Cache"></span></h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Cache&veaction=edit&section=26" title="Abschnitt bearbeiten: Suchmaschinen-Cache" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Cache&action=edit&section=26" title="Quellcode des Abschnitts bearbeiten: Suchmaschinen-Cache"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Der <a href="/wiki/Suchmaschine" title="Suchmaschine">Suchmaschinen</a>-Cache ist der Lesecache einer Suchmaschine. Eine Suchmaschine besitzt drei Kernkomponenten: </p> <ol><li>Ein <a href="/wiki/Webcrawler" title="Webcrawler">Webcrawler</a> durchsucht das World Wide Web nach neuen oder veränderten <a href="/wiki/Webseite" title="Webseite">Webseiten</a> und lädt sie (zusätzlich) in</li> <li>den Suchmaschinen-Cache, über den regelmäßig verschiedene <a href="/wiki/Datenbankindex" title="Datenbankindex">Indizes</a> erstellt werden. Über diese Indizes sucht</li> <li>ein <a href="/wiki/Suchverfahren#Suche_in_Listen" title="Suchverfahren">Suchalgorithmus</a>, der gemäß einer Benutzeranfrage passende Webseiten finden soll.</li></ol> <p>Die Inhalte aller <a href="/wiki/Webseite" title="Webseite">Webseiten</a>, die die Suchmaschine als Basisdaten für Benutzeranfragen berücksichtigt, werden im Suchmaschinen-Cache zwischengespeichert. Die <a href="/wiki/Server" title="Server">Server</a> einer Suchmaschine können nicht für jede Abfrage jede Webseite in <a href="/wiki/Echtzeit" title="Echtzeit">Echtzeit</a> auf die aktuellsten Inhalte durchsuchen; stattdessen wird in einem <a href="/wiki/Indexierung" title="Indexierung">Index</a> über dem Cache gesucht. </p><p>Im Allgemeinen kann ein Webseiten-Betreiber Änderungen seiner Webseiten an die Suchmaschine melden, dann fragt der <a href="/wiki/Webcrawler" title="Webcrawler">Webcrawler</a> die Seite baldmöglichst erneut ab; ansonsten prüft der Webcrawler jede Webseite in regelmäßigen Abständen – die Cache-Inhalte können also veraltet sein. Eine Webseite kann dem Crawler einen Hinweis geben, wie häufig sie sich im Allgemeinen ändert. Suchmaschinen gehen mit dieser Information mitunter verschieden um. </p><p>Die in Deutschland verbreitetste Suchmaschine ist <a href="/wiki/Google_Suche" class="mw-redirect" title="Google Suche">Google</a>; deren Cache-, Indizier- und Suchstrategien wird daher besonders hohes Interesse zuteil. Die Webcrawler-Frequenz, mit der Webseiten geprüft werden, liegt bei Google bei den meisten Webseiten zwischen einer und vier Wochen („[…] <i>Inhalt wird in der Regel alle 7 Tage aktualisiert</i>“<sup id="cite_ref-google_cache_12-0" class="reference"><a href="#cite_note-google_cache-12"><span class="cite-bracket">[</span>12<span class="cite-bracket">]</span></a></sup>). Gemeldete Webseiten untersucht der sogenannte <a href="/wiki/Googlebot" title="Googlebot">Googlebot</a>. </p> <div class="mw-heading mw-heading3"><h3 id="DNS-Caching">DNS-Caching</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Cache&veaction=edit&section=27" title="Abschnitt bearbeiten: DNS-Caching" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Cache&action=edit&section=27" title="Quellcode des Abschnitts bearbeiten: DNS-Caching"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <div class="hauptartikel" role="navigation"><span class="hauptartikel-pfeil" title="siehe" aria-hidden="true" role="presentation">→ </span><i><span class="hauptartikel-text">Hauptartikel</span>: <a href="/wiki/DNS-Caching" title="DNS-Caching">DNS-Caching</a></i></div> <p>Im <a href="/wiki/Domain_Name_System" title="Domain Name System">Domain Name System</a> finden Caches Anwendung, welche die Ergebnisse einer <a href="/wiki/Namensaufl%C3%B6sung" title="Namensauflösung">Namensauflösung</a> in einem lokalen Cache vorübergehend zwischenspeichern. Folgende identische DNS-Anfragen können aus dem Cache bedient werden ohne den <a href="/wiki/Domain_Name_System#Nameserver" title="Domain Name System">Nameserver</a> erneut anfragen zu müssen, wodurch die Performance erhöht wird. Bei DNS befinden sich in der Regel Namensserver, Cache und Anwendung auf verschiedenen über das Internet verbundenen Systemen. </p> <div class="mw-heading mw-heading2"><h2 id="Weblinks">Weblinks</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Cache&veaction=edit&section=28" title="Abschnitt bearbeiten: Weblinks" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Cache&action=edit&section=28" title="Quellcode des Abschnitts bearbeiten: Weblinks"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <div class="sisterproject" style="margin:0.1em 0 0 0;"><div class="noresize noviewer" style="display:inline-block; line-height:10px; min-width:1.6em; text-align:center;" aria-hidden="true" role="presentation"><span class="mw-default-size" typeof="mw:File"><span title="Commons"><img alt="" src="//upload.wikimedia.org/wikipedia/commons/thumb/4/4a/Commons-logo.svg/12px-Commons-logo.svg.png" decoding="async" width="12" height="16" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/4/4a/Commons-logo.svg/18px-Commons-logo.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/4/4a/Commons-logo.svg/24px-Commons-logo.svg.png 2x" data-file-width="1024" data-file-height="1376" /></span></span></div><b><span class="plainlinks"><a class="external text" href="https://commons.wikimedia.org/wiki/Category:Cache?uselang=de"><span lang="en">Commons</span>: Cache</a></span></b> – Sammlung von Bildern, Videos und Audiodateien</div> <div class="sisterproject" style="margin:0.1em 0 0 0;"><span class="noviewer" style="display:inline-block; line-height:10px; min-width:1.6em; text-align:center;" aria-hidden="true" role="presentation"><span class="mw-default-size" typeof="mw:File"><span title="Wiktionary"><img alt="" src="//upload.wikimedia.org/wikipedia/commons/thumb/c/c3/Wiktfavicon_en.svg/16px-Wiktfavicon_en.svg.png" decoding="async" width="16" height="16" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/c/c3/Wiktfavicon_en.svg/24px-Wiktfavicon_en.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/c/c3/Wiktfavicon_en.svg/32px-Wiktfavicon_en.svg.png 2x" data-file-width="16" data-file-height="16" /></span></span></span><b><a href="https://de.wiktionary.org/wiki/Cache" class="extiw" title="wikt:Cache">Wiktionary: Cache</a></b> – Bedeutungserklärungen, Wortherkunft, Synonyme, Übersetzungen</div> <ul><li><a rel="nofollow" class="external text" href="http://arstechnica.com/articles/paedia/cpu/caching.ars">Artikel über CPU-Cache bei arstechnica.com</a> (englisch)</li> <li><a rel="nofollow" class="external text" href="http://www.gerhards.net/module-Pagesetter-viewpub-tid-1-pid-204.phtml">Cache und Hauptspeicher Online-Seminar</a></li> <li><a rel="nofollow" class="external text" href="http://www.elektronik-kompendium.de/sites/com/0309291.htm">Kurzüberblick Cache im Elektronik-Kompendium</a></li></ul> <div class="mw-heading mw-heading2"><h2 id="Einzelnachweise">Einzelnachweise</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Cache&veaction=edit&section=29" title="Abschnitt bearbeiten: Einzelnachweise" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Cache&action=edit&section=29" title="Quellcode des Abschnitts bearbeiten: Einzelnachweise"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <ol class="references"> <li id="cite_note-1"><span class="mw-cite-backlink"><a href="#cite_ref-1">↑</a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://www.duden.de/rechtschreibung/Cache"><i>Cache</i></a> auf duden.de</span> </li> <li id="cite_note-2"><span class="mw-cite-backlink"><a href="#cite_ref-2">↑</a></span> <span class="reference-text">M. V. Wilkes: <cite class="lang" lang="en" dir="auto" style="font-style:italic">Slave Memories and Dynamic Storage Allocation</cite>. In: <a href="/wiki/Institute_of_Electrical_and_Electronics_Engineers" title="Institute of Electrical and Electronics Engineers">Institute of Electrical and Electronics Engineers</a> (Hrsg.): <cite class="lang" lang="en" dir="auto" style="font-style:italic">IEEE Transactions on Electronic Computers</cite>. EC-14, April 1965, <a href="/wiki/Internationale_Standardnummer_f%C3%BCr_fortlaufende_Sammelwerke" title="Internationale Standardnummer für fortlaufende Sammelwerke">ISSN</a> <span style="white-space:nowrap"><a rel="nofollow" class="external text" href="https://zdb-katalog.de/list.xhtml?t=iss%3D%220367-7508%22&key=cql">0367-7508</a></span>, <a href="/wiki/Digital_Object_Identifier" title="Digital Object Identifier">doi</a>:<span class="uri-handle" style="white-space:nowrap"><a rel="nofollow" class="external text" href="https://doi.org/10.1109/PGEC.1965.264263">10.1109/PGEC.1965.264263</a></span> (englisch).<span class="Z3988" title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rfr_id=info:sid/de.wikipedia.org:Cache&rft.atitle=Slave+Memories+and+Dynamic+Storage+Allocation&rft.au=M.+V.+Wilkes&rft.date=1965-04&rft.doi=10.1109%2FPGEC.1965.264263&rft.genre=journal&rft.issn=0367-7508&rft.jtitle=IEEE+Transactions+on+Electronic+Computers&rft.volume=EC-14" style="display:none"> </span></span> </li> <li id="cite_note-3"><span class="mw-cite-backlink"><a href="#cite_ref-3">↑</a></span> <span class="reference-text">K.R. Kaplan, R.O. Winder: <cite class="lang" lang="en" dir="auto" style="font-style:italic">Cache-based Computer Systems</cite>. In: Institute of Electrical and Electronics Engineers (Hrsg.): <cite class="lang" lang="en" dir="auto" style="font-style:italic">Computer</cite>. <span style="white-space:nowrap">Band<span style="display:inline-block;width:.2em"> </span>6</span>, <span style="white-space:nowrap">Nr.<span style="display:inline-block;width:.2em"> </span>3</span>, März 1973, <span style="white-space:nowrap">S.<span style="display:inline-block;width:.2em"> </span>30–36</span>, <a href="/wiki/Digital_Object_Identifier" title="Digital Object Identifier">doi</a>:<span class="uri-handle" style="white-space:nowrap"><a rel="nofollow" class="external text" href="https://doi.org/10.1109/C-M.1973.217037">10.1109/C-M.1973.217037</a></span> (englisch).<span class="Z3988" title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rfr_id=info:sid/de.wikipedia.org:Cache&rft.atitle=Cache-based+Computer+Systems&rft.au=K.R.+Kaplan%2C+R.O.+Winder&rft.date=1973-03&rft.doi=10.1109%2FC-M.1973.217037&rft.genre=journal&rft.issue=3&rft.jtitle=Computer&rft.pages=30-36&rft.volume=6" style="display:none"> </span></span> </li> <li id="cite_note-4"><span class="mw-cite-backlink"><a href="#cite_ref-4">↑</a></span> <span class="reference-text"><span class="cite"><a rel="nofollow" class="external text" href="https://archive.today/20130128031000/http://www.larousse.com/de/worterbucher/franzosisch-deutsch/cache"><i>Wörterbuch Französisch.</i></a> Übersetzung: cache. <a href="/wiki/%C3%89ditions_Larousse" title="Éditions Larousse">Éditions Larousse</a>, archiviert vom <style data-mw-deduplicate="TemplateStyles:r250917974">.mw-parser-output .dewiki-iconexternal>a{background-position:center right!important;background-repeat:no-repeat!important}body.skin-minerva .mw-parser-output .dewiki-iconexternal>a{background-image:url("https://upload.wikimedia.org/wikipedia/commons/a/a4/OOjs_UI_icon_external-link-ltr-progressive.svg")!important;background-size:10px!important;padding-right:13px!important}body.skin-timeless .mw-parser-output .dewiki-iconexternal>a,body.skin-monobook .mw-parser-output .dewiki-iconexternal>a{background-image:url("https://upload.wikimedia.org/wikipedia/commons/3/30/MediaWiki_external_link_icon.svg")!important;padding-right:13px!important}body.skin-vector .mw-parser-output .dewiki-iconexternal>a{background-image:url("https://upload.wikimedia.org/wikipedia/commons/9/96/Link-external-small-ltr-progressive.svg")!important;background-size:0.857em!important;padding-right:1em!important}</style><span class="dewiki-iconexternal"><a class="external text" href="https://redirecter.toolforge.org/?url=http%3A%2F%2Fwww.larousse.com%2Fde%2Fworterbucher%2Ffranzosisch-deutsch%2Fcache">Original</a></span> (nicht mehr online verfügbar) am <span style="white-space:nowrap;">28. Januar 2013</span><span>;</span><span class="Abrufdatum"> abgerufen am 20. November 2018</span>.</span><span style="display: none;" class="Z3988" title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&rfr_id=info%3Asid%2Fde.wikipedia.org%3ACache&rft.title=W%C3%B6rterbuch+Franz%C3%B6sisch&rft.description=W%C3%B6rterbuch+Franz%C3%B6sisch&rft.identifier=https%3A%2F%2Farchive.today%2F20130128031000%2Fhttp%3A%2F%2Fwww.larousse.com%2Fde%2Fworterbucher%2Ffranzosisch-deutsch%2Fcache&rft.publisher=%5B%5B%C3%89ditions+Larousse%5D%5D&rft.source=http://www.larousse.com/de/worterbucher/franzosisch-deutsch/cache"> </span></span> </li> <li id="cite_note-5"><span class="mw-cite-backlink"><a href="#cite_ref-5">↑</a></span> <span class="reference-text"><span class="cite"><a rel="nofollow" class="external text" href="https://www.oxfordlearnersdictionaries.com/definition/english/cache_1?q=Cache"><i>cache.</i></a> In: <i>Oxford Learner's Dictionaries.</i> <a href="/wiki/University_of_Oxford" title="University of Oxford">University of Oxford</a>,<span class="Abrufdatum"> abgerufen am 9. September 2023</span> (englisch).</span><span style="display: none;" class="Z3988" title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&rfr_id=info%3Asid%2Fde.wikipedia.org%3ACache&rft.title=cache&rft.description=cache&rft.identifier=https%3A%2F%2Fwww.oxfordlearnersdictionaries.com%2Fdefinition%2Fenglish%2Fcache_1%3Fq%3DCache&rft.publisher=%5B%5BUniversity+of+Oxford%5D%5D&rft.language=en"> </span></span> </li> <li id="cite_note-6"><span class="mw-cite-backlink"><a href="#cite_ref-6">↑</a></span> <span class="reference-text">Ein 16-fach assoziativer 16 MByte-Cache bei unterstützten 128 GByte muss hier z. B. die Adressbits 37 bis 20 (insgesamt 18 bit) speichern.</span> </li> <li id="cite_note-:0-7"><span class="mw-cite-backlink">↑ <sup><a href="#cite_ref-:0_7-0">a</a></sup> <sup><a href="#cite_ref-:0_7-1">b</a></sup> <sup><a href="#cite_ref-:0_7-2">c</a></sup></span> <span class="reference-text">Stand: Januar 2024</span> </li> <li id="cite_note-8"><span class="mw-cite-backlink"><a href="#cite_ref-8">↑</a></span> <span class="reference-text">80486: 16 Byte, ab Pentium: 32 Byte, ab Pentium 4: 64 Byte, Apple M1: 64 und 128 Byte</span> </li> <li id="cite_note-9"><span class="mw-cite-backlink"><a href="#cite_ref-9">↑</a></span> <span class="reference-text">John Hennessy, David Patterson: <i>Computer Architecture. A Quantitative Approach.</i> 4th Edition. Morgan Kaufmann Publishers, <a href="/wiki/Spezial:ISBN-Suche/9780123704900" class="internal mw-magiclink-isbn">ISBN 978-0-12-370490-0</a> (englisch), S. C-11–C-12</span> </li> <li id="cite_note-10"><span class="mw-cite-backlink"><a href="#cite_ref-10">↑</a></span> <span class="reference-text">IBMs Telum-Architektur: 128 KB L1-Daten, 128 KByte L1-Befehle, 32 MByte L2, jeweils pro Kern</span> </li> <li id="cite_note-11"><span class="mw-cite-backlink"><a href="#cite_ref-11">↑</a></span> <span class="reference-text">AMD Epyc 7773X, 7573X, 7473X und 7373X: 768 MByte L3</span> </li> <li id="cite_note-google_cache-12"><span class="mw-cite-backlink"><a href="#cite_ref-google_cache_12-0">↑</a></span> <span class="reference-text">„<style data-mw-deduplicate="TemplateStyles:r254095491">.mw-parser-output .webarchiv-memento a{color:inherit}</style><a rel="nofollow" class="external text" href="https://web.archive.org/web/20170728051152/http://www.google-cache.de/">Ein kurzer Einblick in die Funktionalität des Google-Caches</a> (<span class="webarchiv-memento"><a href="/wiki/Web-Archivierung#Begrifflichkeiten" title="Web-Archivierung">Memento</a></span> vom 28. Juli 2017 im <i><a href="/wiki/Internet_Archive" title="Internet Archive">Internet Archive</a></i>)“ (Mit Suchfunktion)</span> </li> </ol> <div class="hintergrundfarbe1 rahmenfarbe1 navigation-not-searchable normdaten-typ-s" style="border-style: solid; border-width: 1px; clear: left; margin-bottom:1em; margin-top:1em; padding: 0.25em; overflow: hidden; word-break: break-word; word-wrap: break-word;" id="normdaten"> <div style="display: table-cell; vertical-align: middle; width: 100%;"> <div> Normdaten (Sachbegriff): <a href="/wiki/Gemeinsame_Normdatei" title="Gemeinsame Normdatei">GND</a>: <span class="plainlinks-print"><a rel="nofollow" class="external text" href="https://d-nb.info/gnd/4362843-6">4362843-6</a></span> <span class="noprint">(<a rel="nofollow" class="external text" href="https://lobid.org/gnd/4362843-6">lobid</a>, <a rel="nofollow" class="external text" href="https://swb.bsz-bw.de/DB=2.104/SET=1/TTL=1/CMD?retrace=0&trm_old=&ACT=SRCHA&IKT=2999&SRT=RLV&TRM=4362843-6">OGND</a><span class="metadata">, <a rel="nofollow" class="external text" href="https://prometheus.lmu.de/gnd/4362843-6">AKS</a></span>)</span> <span class="metadata"></span></div> </div></div></div><!--esi <esi:include src="/esitest-fa8a495983347898/content" /> --><noscript><img src="https://auth.wikimedia.org/loginwiki/wiki/Special:CentralAutoLogin/start?useformat=desktop&type=1x1&usesul3=1" alt="" width="1" height="1" style="border: none; position: absolute;"></noscript> <div class="printfooter" data-nosnippet="">Abgerufen von „<a dir="ltr" href="https://de.wikipedia.org/w/index.php?title=Cache&oldid=253958672">https://de.wikipedia.org/w/index.php?title=Cache&oldid=253958672</a>“</div></div> <div id="catlinks" class="catlinks" data-mw="interface"><div id="mw-normal-catlinks" class="mw-normal-catlinks"><a href="/wiki/Wikipedia:Kategorien" title="Wikipedia:Kategorien">Kategorien</a>: <ul><li><a href="/wiki/Kategorie:Rechnerarchitektur" title="Kategorie:Rechnerarchitektur">Rechnerarchitektur</a></li><li><a href="/wiki/Kategorie:Speicherverwaltung" title="Kategorie:Speicherverwaltung">Speicherverwaltung</a></li></ul></div><div id="mw-hidden-catlinks" class="mw-hidden-catlinks mw-hidden-cats-hidden">Versteckte Kategorie: <ul><li><a href="/wiki/Kategorie:Wikipedia:Belege_fehlen" title="Kategorie:Wikipedia:Belege fehlen">Wikipedia:Belege fehlen</a></li></ul></div></div> </div> </main> </div> <div class="mw-footer-container"> <footer id="footer" class="mw-footer" > <ul id="footer-info"> <li id="footer-info-lastmod"> Diese Seite wurde zuletzt am 6. März 2025 um 21:02 Uhr bearbeitet.</li> <li id="footer-info-copyright"><div id="footer-info-copyright-stats" class="noprint"><a rel="nofollow" class="external text" href="https://pageviews.wmcloud.org/?pages=Cache&project=de.wikipedia.org">Abrufstatistik</a> · <a rel="nofollow" class="external text" href="https://xtools.wmcloud.org/authorship/de.wikipedia.org/Cache?uselang=de">Autoren</a> </div><div id="footer-info-copyright-separator"><br /></div><div id="footer-info-copyright-info"> <p>Der Text ist unter der Lizenz <a rel="nofollow" class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.de">„Creative-Commons Namensnennung – Weitergabe unter gleichen Bedingungen“</a> verfügbar; Informationen zu den Urhebern und zum Lizenzstatus eingebundener Mediendateien (etwa Bilder oder Videos) können im Regelfall durch Anklicken dieser abgerufen werden. Möglicherweise unterliegen die Inhalte jeweils zusätzlichen Bedingungen. Durch die Nutzung dieser Website erklären Sie sich mit den <span class="plainlinks"><a class="external text" href="https://foundation.wikimedia.org/wiki/Policy:Terms_of_Use/de">Nutzungsbedingungen</a> und der <a class="external text" href="https://foundation.wikimedia.org/wiki/Policy:Privacy_policy/de">Datenschutzrichtlinie</a></span> einverstanden.<br /> </p> Wikipedia® ist eine eingetragene Marke der Wikimedia Foundation Inc.</div></li> </ul> <ul id="footer-places"> <li id="footer-places-privacy"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy/de">Datenschutz</a></li> <li id="footer-places-about"><a href="/wiki/Wikipedia:%C3%9Cber_Wikipedia">Über Wikipedia</a></li> <li id="footer-places-disclaimers"><a href="/wiki/Wikipedia:Impressum">Impressum</a></li> <li id="footer-places-wm-codeofconduct"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Universal_Code_of_Conduct">Verhaltenskodex</a></li> <li id="footer-places-developers"><a href="https://developer.wikimedia.org">Entwickler</a></li> <li id="footer-places-statslink"><a href="https://stats.wikimedia.org/#/de.wikipedia.org">Statistiken</a></li> <li id="footer-places-cookiestatement"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Cookie_statement">Stellungnahme zu Cookies</a></li> <li id="footer-places-mobileview"><a href="//de.m.wikipedia.org/w/index.php?title=Cache&mobileaction=toggle_view_mobile" class="noprint stopMobileRedirectToggle">Mobile Ansicht</a></li> </ul> <ul id="footer-icons" class="noprint"> <li id="footer-copyrightico"><a href="https://www.wikimedia.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><picture><source media="(min-width: 500px)" srcset="/static/images/footer/wikimedia-button.svg" width="84" height="29"><img src="/static/images/footer/wikimedia.svg" width="25" height="25" alt="Wikimedia Foundation" lang="en" loading="lazy"></picture></a></li> <li id="footer-poweredbyico"><a href="https://www.mediawiki.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><picture><source media="(min-width: 500px)" srcset="/w/resources/assets/poweredby_mediawiki.svg" width="88" height="31"><img src="/w/resources/assets/mediawiki_compact.svg" alt="Powered by MediaWiki" lang="en" width="25" height="25" loading="lazy"></picture></a></li> </ul> </footer> </div> </div> </div> <div class="vector-header-container vector-sticky-header-container"> <div id="vector-sticky-header" class="vector-sticky-header"> <div class="vector-sticky-header-start"> <div class="vector-sticky-header-icon-start vector-button-flush-left vector-button-flush-right" aria-hidden="true"> <button class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-sticky-header-search-toggle" tabindex="-1" data-event-name="ui.vector-sticky-search-form.icon"><span class="vector-icon mw-ui-icon-search mw-ui-icon-wikimedia-search"></span> <span>Suche</span> </button> </div> <div role="search" class="vector-search-box-vue vector-search-box-show-thumbnail vector-search-box"> <div class="vector-typeahead-search-container"> <div class="cdx-typeahead-search cdx-typeahead-search--show-thumbnail"> <form action="/w/index.php" id="vector-sticky-search-form" class="cdx-search-input cdx-search-input--has-end-button"> <div class="cdx-search-input__input-wrapper" data-search-loc="header-moved"> <div class="cdx-text-input cdx-text-input--has-start-icon"> <input class="cdx-text-input__input" type="search" name="search" placeholder="Wikipedia durchsuchen"> <span class="cdx-text-input__icon cdx-text-input__start-icon"></span> </div> <input type="hidden" name="title" value="Spezial:Suche"> </div> <button class="cdx-button cdx-search-input__end-button">Suchen</button> </form> </div> </div> </div> <div class="vector-sticky-header-context-bar"> <nav aria-label="Inhaltsverzeichnis" class="vector-toc-landmark"> <div id="vector-sticky-header-toc" class="vector-dropdown mw-portlet mw-portlet-sticky-header-toc vector-sticky-header-toc vector-button-flush-left" > <input type="checkbox" id="vector-sticky-header-toc-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-sticky-header-toc" class="vector-dropdown-checkbox " aria-label="Inhaltsverzeichnis umschalten" > <label id="vector-sticky-header-toc-label" for="vector-sticky-header-toc-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-listBullet mw-ui-icon-wikimedia-listBullet"></span> <span class="vector-dropdown-label-text">Inhaltsverzeichnis umschalten</span> </label> <div class="vector-dropdown-content"> <div id="vector-sticky-header-toc-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <div class="vector-sticky-header-context-bar-primary" aria-hidden="true" ><span class="mw-page-title-main">Cache</span></div> </div> </div> <div class="vector-sticky-header-end" aria-hidden="true"> <div class="vector-sticky-header-icons"> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only" id="ca-talk-sticky-header" tabindex="-1" data-event-name="talk-sticky-header"><span class="vector-icon mw-ui-icon-speechBubbles mw-ui-icon-wikimedia-speechBubbles"></span> <span></span> </a> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only" id="ca-subject-sticky-header" tabindex="-1" data-event-name="subject-sticky-header"><span class="vector-icon mw-ui-icon-article mw-ui-icon-wikimedia-article"></span> <span></span> </a> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only" id="ca-history-sticky-header" tabindex="-1" data-event-name="history-sticky-header"><span class="vector-icon mw-ui-icon-wikimedia-history mw-ui-icon-wikimedia-wikimedia-history"></span> <span></span> </a> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only mw-watchlink" id="ca-watchstar-sticky-header" tabindex="-1" data-event-name="watch-sticky-header"><span class="vector-icon mw-ui-icon-wikimedia-star mw-ui-icon-wikimedia-wikimedia-star"></span> <span></span> </a> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only" id="ca-ve-edit-sticky-header" tabindex="-1" data-event-name="ve-edit-sticky-header"><span class="vector-icon mw-ui-icon-wikimedia-edit mw-ui-icon-wikimedia-wikimedia-edit"></span> <span></span> </a> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only" id="ca-edit-sticky-header" tabindex="-1" data-event-name="wikitext-edit-sticky-header"><span class="vector-icon mw-ui-icon-wikimedia-wikiText mw-ui-icon-wikimedia-wikimedia-wikiText"></span> <span></span> </a> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only" id="ca-viewsource-sticky-header" tabindex="-1" data-event-name="ve-edit-protected-sticky-header"><span class="vector-icon mw-ui-icon-wikimedia-editLock mw-ui-icon-wikimedia-wikimedia-editLock"></span> <span></span> </a> </div> <div class="vector-sticky-header-buttons"> <button class="cdx-button cdx-button--weight-quiet mw-interlanguage-selector" id="p-lang-btn-sticky-header" tabindex="-1" data-event-name="ui.dropdown-p-lang-btn-sticky-header"><span class="vector-icon mw-ui-icon-wikimedia-language mw-ui-icon-wikimedia-wikimedia-language"></span> <span>58 Sprachen</span> </button> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--action-progressive" id="ca-addsection-sticky-header" tabindex="-1" data-event-name="addsection-sticky-header"><span class="vector-icon mw-ui-icon-speechBubbleAdd-progressive mw-ui-icon-wikimedia-speechBubbleAdd-progressive"></span> <span>Abschnitt hinzufügen</span> </a> </div> <div class="vector-sticky-header-icon-end"> <div class="vector-user-links"> </div> </div> </div> </div> </div> <div class="mw-portlet mw-portlet-dock-bottom emptyPortlet" id="p-dock-bottom"> <ul> </ul> </div> <script>(RLQ=window.RLQ||[]).push(function(){mw.config.set({"wgHostname":"mw-web.codfw.main-7dbbdd594f-nclqc","wgBackendResponseTime":178,"wgPageParseReport":{"limitreport":{"cputime":"0.221","walltime":"0.350","ppvisitednodes":{"value":1923,"limit":1000000},"postexpandincludesize":{"value":25764,"limit":2097152},"templateargumentsize":{"value":5525,"limit":2097152},"expansiondepth":{"value":11,"limit":100},"expensivefunctioncount":{"value":4,"limit":500},"unstrip-depth":{"value":1,"limit":20},"unstrip-size":{"value":11551,"limit":5000000},"entityaccesscount":{"value":1,"limit":400},"timingprofile":["100.00% 238.233 1 -total"," 21.33% 50.818 2 Vorlage:Literatur"," 21.09% 50.247 2 Vorlage:Internetquelle"," 14.11% 33.616 1 Vorlage:Commonscat"," 10.74% 25.588 2 Vorlage:Wikidata-Registrierung"," 9.42% 22.445 5 Vorlage:Lang"," 9.20% 21.927 3 Vorlage:Hinweisbaustein"," 8.07% 19.216 1 Vorlage:Belege_fehlen"," 5.02% 11.969 1 Vorlage:Webarchiv"," 4.46% 10.617 1 Vorlage:Referrer"]},"scribunto":{"limitreport-timeusage":{"value":"0.072","limit":"10.000"},"limitreport-memusage":{"value":5458166,"limit":52428800}},"cachereport":{"origin":"mw-web.eqiad.main-6cb6fc9546-j7hvc","timestamp":"20250313073313","ttl":2592000,"transientcontent":false}}});});</script> <script type="application/ld+json">{"@context":"https:\/\/schema.org","@type":"Article","name":"Cache","url":"https:\/\/de.wikipedia.org\/wiki\/Cache","sameAs":"http:\/\/www.wikidata.org\/entity\/Q165596","mainEntity":"http:\/\/www.wikidata.org\/entity\/Q165596","author":{"@type":"Organization","name":"Autoren der Wikimedia-Projekte"},"publisher":{"@type":"Organization","name":"Wikimedia Foundation, Inc.","logo":{"@type":"ImageObject","url":"https:\/\/www.wikimedia.org\/static\/images\/wmf-hor-googpub.png"}},"datePublished":"2001-05-21T12:46:08Z","headline":"schneller Puffer-Speicher in der elektronischen Datenverarbeitung"}</script> </body> </html>