Heim häufiges Problem Was ist Cache?

Was ist Cache?

Nov 25, 2022 am 11:48 AM
存储器 cache

Cache ist ein Hochgeschwindigkeitsspeicher mit geringer Kapazität zwischen der Zentraleinheit und dem Hauptspeicher. Er besteht im Allgemeinen aus Hochgeschwindigkeits-SRAM und ist auf die CPU ausgerichtet wird eingeführt, um die Verbindung zwischen der CPU und dem Hauptspeicher zu verringern oder zu beseitigen. Die Auswirkungen von Geschwindigkeitsunterschieden zwischen Speichern auf die Systemleistung. Die Cache-Kapazität ist klein, aber schnell, die Speichergeschwindigkeit ist niedrig, aber die Kapazität ist groß. Durch die Optimierung des Planungsalgorithmus wird die Leistung des Systems erheblich verbessert.

Was ist Cache?

Die Betriebsumgebung dieses Tutorials: Windows 7-System, Dell G3-Computer.

Was ist Cache?

Cache-Speicher: Cache-Speicher in einem Computer ist ein kleiner, aber schneller Speicher, der sich zwischen der CPU und dem Hauptspeicher DRAM (Dynamic Random Access Memory) befindet und normalerweise aus SRAM (Static) besteht Direktzugriffsspeicher).

Was ist Cache?

Wie in Abbildung 3.28 gezeigt, ist der Cache ein Speicher mit geringer Kapazität zwischen der CPU und dem Hauptspeicher M2, aber die Zugriffsgeschwindigkeit ist schneller als die des Hauptspeichers und die Kapazität ist viel kleiner als die des Hauptspeichers. Der Cache kann der CPU Anweisungen und Daten mit hoher Geschwindigkeit bereitstellen und so die Programmausführung beschleunigen. Aus funktionaler Sicht handelt es sich um einen Pufferspeicher des Hauptspeichers, der aus Hochgeschwindigkeits-SRAM besteht. Im Streben nach hoher Geschwindigkeit sind alle Funktionen, einschließlich der Verwaltung, in Hardware implementiert und daher für Programmierer transparent.

Mit der Weiterentwicklung der Halbleitergeräteintegration können derzeit Caches und CPUs mit geringer Kapazität in denselben Chip integriert werden, und ihre Arbeitsgeschwindigkeit liegt nahe an der Geschwindigkeit der CPU, wodurch ein Cache-System mit zwei oder mehr Ebenen entsteht .

Funktion des Cache

Die Funktion des Cache besteht darin, die Rate der CPU-Dateneingabe und -ausgabe zu erhöhen. Die Cache-Kapazität ist klein, aber schnell, die Speichergeschwindigkeit ist niedrig, aber die Kapazität ist groß. Durch die Optimierung des Planungsalgorithmus wird die Leistung des Systems erheblich verbessert, als ob die Speichersystemkapazität dem Speicher entspricht und die Zugriffsgeschwindigkeit ähnlich ist der Cache.

Die Geschwindigkeit der CPU ist viel höher als die des Speichers. Wenn die CPU direkt auf Daten aus dem Speicher zugreift, muss sie eine gewisse Zeit warten, während der Cache einen Teil der von der CPU gespeicherten Daten speichern kann gerade verwendet oder recycelt, wenn die CPU diesen Teil der Daten erneut verwenden muss. Er kann direkt aus dem Cache aufgerufen werden, wodurch wiederholter Zugriff auf Daten vermieden, die Wartezeit der CPU verkürzt und somit die Effizienz des Systems verbessert wird . Der Cache ist in L1Cache (Level-1-Cache) und L2Cache (Level-2-Cache) unterteilt, der hauptsächlich in die CPU integriert ist, während L2Cache auf dem Motherboard oder der CPU integriert ist.

Grundprinzipien des Caches

Zusätzlich zum SRAM verfügt der Cache auch über eine Steuerlogik. Befindet sich der Cache außerhalb des CPU-Chips, wird seine Steuerlogik im Allgemeinen mit der Hauptspeicher-Steuerlogik kombiniert, die als Hauptspeicher-/Cache-Controller bezeichnet wird. Wenn sich der Cache innerhalb der CPU befindet, stellt die CPU ihre Steuerlogik bereit. C Der Datenaustausch zwischen CPU und Cache basiert auf Worten, während der Datenaustausch zwischen Cache und Hauptspeicher auf Blöcken basiert. Ein Block besteht aus mehreren Wörtern und hat eine feste Länge. Wenn die CPU ein Wort im Speicher liest, sendet sie die Speicheradresse des Worts an den Cache und den Hauptspeicher. Zu diesem Zeitpunkt bestimmt die Cache-Steuerlogik anhand der Adresse, ob sich das Wort derzeit im Cache befindet: Wenn dies der Fall ist, trifft der Cache zu und das Wort wird sofort an die CPU übertragen. Wenn nicht, fehlt der Cache Der Hauptspeicher-Lesezyklus wird verwendet, um das Wort aus dem Hauptspeicher zu lesen. Der Lesevorgang wird an die CPU gesendet. Gleichzeitig wird der gesamte Datenblock, der dieses Wort enthält, aus dem Hauptspeicher gelesen und an den Cache gesendet.

Was ist Cache?Abbildung 3.29 zeigt das schematische Diagramm des Caches. Nehmen Sie an, dass die Cache-Lesezeit 50 ns und die Hauptspeicher-Lesezeit 250 ns beträgt. Das Speichersystem ist modular aufgebaut und jedem 8K-Modul im Hauptspeicher ist ein Cache mit einer Kapazität von 16 Wörtern zugeordnet. Der Cache ist in 4 Zeilen unterteilt, jede Zeile enthält 4 Wörter (W). Die dem Cache zugewiesene Adresse wird in einem assoziativen Speicher CAM gespeichert, bei dem es sich um einen inhaltsadressierbaren Speicher handelt. Wenn die CPU einen Speicherzugriffsbefehl ausführt, sendet sie die Adresse des Wortes, auf das zugegriffen werden soll, an das CAM; wenn W nicht im Cache ist, wird W vom Hauptspeicher an die CPU übertragen. Gleichzeitig wird eine Datenzeile, die aus vier aufeinanderfolgenden Wörtern mit W besteht, an den Cache gesendet und ersetzt die ursprüngliche Datenzeile im Cache. Hier wird der Ersetzungsalgorithmus durch Hardware-Logikschaltungen implementiert, die stets die Cache-Nutzung verwalten.

Cache-TrefferrateAus CPU-Sicht besteht der Zweck des Hinzufügens von Cache darin, die durchschnittliche Lesezeit des Hauptspeichers im Hinblick auf die Leistung so nah wie möglich an die Cache-Lesezeit heranzuführen. Um dieses Ziel zu erreichen, sollte der Anteil aller Speicherzugriffe, der vom Cache zur Deckung der CPU-Anforderungen erfüllt wird, einen hohen Anteil ausmachen, d. h. die Cache-Trefferquote sollte nahe bei 1 liegen. Das Erreichen dieses Ziels ist aufgrund der Lokalität des Programmzugriffs möglich.

Während der Ausführung eines Programms sei Nc die Gesamtzahl der vom Cache abgeschlossenen Zugriffe, Nₘ die Gesamtzahl der vom Hauptspeicher abgeschlossenen Zugriffe und h als Trefferquote definiert, dann ist h=Nc/( Nc+Nₘ)

Wenn tc die Cache-Zugriffszeit darstellt, wenn ein Treffer auftritt, tₘ die Hauptspeicherzugriffszeit darstellt, wenn ein Fehler auftritt, 1-h die Fehlerrate (fehlende Rate) darstellt, dann die durchschnittliche Zugriffszeit tₐ des Caches/ Hauptspeichersystem ist

tₐ=htc+(1−h)tₘ
Nach dem Login kopieren

Das Ziel, das wir verfolgen, ist es, die durchschnittliche Zugriffszeit tₐ des Cache-/Hauptspeichersystems bei geringem Hardwareaufwand möglichst nahe an tc zu bringen. Angenommen, r=tₘ/tc stellt das Verhältnis der Zugriffszeit zwischen Hauptspeicher und Cache dar und e stellt die Zugriffseffizienz dar, dann

e=tc/ta=tc/(htc+(1−h)tm)=1/(h+(1−h)r)=1/(r+(1−r)h)
Nach dem Login kopieren

Aus dieser Formel ist ersichtlich, dass zur Verbesserung der Zugriffseffizienz die Trefferquote h umso näher liegt auf 1, desto besser. Der geeignete r-Wert liegt zwischen 5 und 10 und sollte nicht zu groß sein.

Die Trefferquote h hängt vom Verhalten des Programms, der Cache-Kapazität, der Organisationsmethode und der Blockgröße ab.

Probleme, die beim Design der Cache-Struktur gelöst werden müssen

Aus dem Grundprinzip des Caches geht hervor, dass das Cache-Design zwei Prinzipien folgen muss: Erstens hoffen wir, dass die Cache-Trefferquote so hoch ist wie möglich, was eigentlich nahe bei 1 liegen sollte; Die zweite besteht darin, zu hoffen, dass der Cache für die CPU transparent ist, dh unabhängig davon, ob ein Cache vorhanden ist oder nicht, greift die CPU auf die gleiche Weise auf den Speicher zu und die Software kann darauf zugreifen den Cache, ohne irgendwelche Anweisungen hinzuzufügen. Die Probleme mit der Trefferquote und der Transparenz sind gelöst. Aus Sicht des CPU-Speicherzugriffs wird der Speicher die Kapazität des Hauptspeichers und eine Geschwindigkeit haben, die nahe am Cache liegt. Zu diesem Zweck muss eine bestimmte Hardwareschaltung hinzugefügt werden, um die Steuerfunktion zu vervollständigen, nämlich den Cache-Controller.

Beim Entwerfen der Cache-Struktur müssen mehrere Probleme gelöst werden: ① Wie werden die Inhalte des Hauptspeichers gespeichert, wenn sie in den Cache übertragen werden? ② Wie werden die Informationen im Cache gefunden, wenn auf den Speicher zugegriffen wird? Die im Cache vorhandenen Informationen, wenn der Cache-Speicherplatz nicht ausreicht. ④ Wie kann der Cache-Inhalt neu geschrieben werden?

Unter diesen hängen die ersten beiden Fragen zusammen, d Hauptspeicherinformationen im Cache und wie man die Hauptspeicheradresse in eine Cache-Adresse umwandelt. Im Vergleich zur Hauptspeicherkapazität ist die Cache-Kapazität sehr gering. Der gespeicherte Inhalt ist nur eine Teilmenge des Hauptspeicherinhalts, und der Datenaustausch zwischen Cache und Hauptspeicher erfolgt in Blockeinheiten. Um den Hauptspeicherblock in den Cache zu legen, muss eine Methode verwendet werden, um die Hauptspeicheradresse im Cache zu lokalisieren, was als Adresszuordnung bezeichnet wird. Die physikalische Bedeutung des Wortes „Mapping“ besteht darin, die entsprechende Beziehung zwischen Standorten zu ermitteln und diese mit Hardware umzusetzen. Auf diese Weise wird beim Zugriff der CPU auf den Speicher die Speicheradresse eines von ihr angegebenen Wortes automatisch in eine Cache-Adresse umgewandelt, dh eine Cache-Adresskonvertierung.

Das Cache-Ersetzungsproblem besteht hauptsächlich darin, den Ersetzungsalgorithmus auszuwählen und auszuführen, um den Inhalt im Cache zu ersetzen, wenn der Cache fehlt. Die letzte Frage betrifft die Schreiboperationsstrategie des Caches, die sich auf die Aufrechterhaltung der Konsistenz zwischen Hauptspeicher und Cache während Aktualisierungen konzentriert.

Weitere Informationen zu diesem Thema finden Sie in der Spalte „FAQ“!

Das obige ist der detaillierte Inhalt vonWas ist Cache?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Nachdem ich dem Unternehmen beigetreten war, verstand ich, was Cache ist. Nachdem ich dem Unternehmen beigetreten war, verstand ich, was Cache ist. Jul 31, 2023 pm 04:03 PM

Die Sache ist tatsächlich so. Zu diesem Zeitpunkt gab mir mein Leiter eine Perf-Hardware-Leistungsüberwachungsaufgabe. Während der Verwendung von Perf habe ich die folgenden Informationen eingegeben: Meine Aufgabe besteht darin, diese Cache-Ereignisse zu aktivieren normal gezählt werden. Aber der Punkt ist, ich habe keine Ahnung, was diese Fehlschläge und Belastungen bedeuten.

Was hat die schnellste Zugriffsgeschwindigkeit im Speicher? Was hat die schnellste Zugriffsgeschwindigkeit im Speicher? Jul 26, 2022 am 10:54 AM

Der Speicher mit dem schnellsten Zugriff ist der „interne Speicher“. Der Speicher im Computer weist eine hierarchische Struktur auf, die nach Geschwindigkeit geordnet ist: interner Speicher, Cache-Speicher, Hauptspeicher des Computers und Festplatten mit großer Kapazität Direktzugriffsspeicher und ROM-Nur-Lese-Speicher.

Kann die CPU direkt auf Daten im internen Speicher zugreifen? Kann die CPU direkt auf Daten im internen Speicher zugreifen? Nov 25, 2022 pm 02:02 PM

Direkter Zugriff möglich. Der interne Speicher, auch Arbeitsspeicher genannt, ist die Brücke zwischen dem externen Speicher und der CPU. Alle Programme im Computer laufen im Speicher. Die Funktion des Speichers besteht darin, Berechnungsdaten vorübergehend in der CPU zu speichern und Daten mit externen Speichern wie Festplatten auszutauschen. Solange der Computer läuft, überträgt das Betriebssystem die zu berechnenden Daten aus dem Speicher an die CPU. Wenn die Berechnung abgeschlossen ist, überträgt die CPU auch die Ergebnisse stabiler Betrieb des Computers.

Was ist die Grundlage dafür, dass Computer über starke Speicherkapazitäten verfügen? Was ist die Grundlage dafür, dass Computer über starke Speicherkapazitäten verfügen? Jul 09, 2021 pm 03:59 PM

Die Grundlage dafür, dass ein Computer über eine starke Speicherkapazität verfügt, ist ein Speichergerät mit ausreichender Kapazität. Der Speicher kann in internen Speicher und externen Speicher unterteilt werden. Sie ermöglichen Computern leistungsstarke Speicherfunktionen und können große Mengen an Informationen speichern. Diese Informationen umfassen nicht nur verschiedene Arten von Dateninformationen, sondern auch Programme zur Verarbeitung dieser Daten.

Was ist das Speichersystem in einem Computersystem? Was ist das Speichersystem in einem Computersystem? Jul 22, 2022 pm 02:23 PM

Das Speichersystem bezieht sich auf ein System in einem Computer, das aus verschiedenen Speichergeräten besteht, die Programme und Daten speichern, Komponenten steuern sowie Geräten (Hardware) und Algorithmen (Software) dienen, die die Informationsplanung verwalten. Das Speichersystem ermöglicht das Schreiben und Lesen von Informationen (Programme und Daten), die für die Computerarbeit erforderlich sind, und realisiert die Informationsspeicherfunktion des Computers. Die hierarchische Struktur des Speichersystems kann in fünf Ebenen unterteilt werden: Registergruppe, Cache-Cache, Hauptspeicher, virtueller Speicher und externer Speicher.

Welches Land hat den USB-Stick erfunden? Welches Land hat den USB-Stick erfunden? Oct 09, 2022 pm 02:26 PM

Der USB-Stick wurde in China erfunden und Netac ist der weltweite Erfinder des USB-Sticks. Im Juli 2002 wurde Netacs „Fast Lightning External Storage Method and Device for Data Processing Systems“ offiziell vom staatlichen Amt für geistiges Eigentum genehmigt. Dieses Patent füllte die 20-jährige Lücke bei Erfindungspatenten im Bereich der Computerspeicherung in China Am 7. Dezember 2019 erhielt Netac das vom U.S. National Patent Office offiziell genehmigte grundlegende Erfindungspatent für Flash-Disks.

Warum erhöht die Verwendung des Caches die Computergeschwindigkeit? Warum erhöht die Verwendung des Caches die Computergeschwindigkeit? Dec 09, 2020 am 11:28 AM

Die Verwendung des Caches kann die Geschwindigkeit des Computers erhöhen, da der Cache die Wartezeit der CPU verkürzt. Cache ist ein kleiner, aber schneller Speicher, der zwischen der CPU und dem Hauptspeicher DRAM liegt. Die Funktion des Cache besteht darin, die Dateneingabe- und -ausgaberate der CPU zu erhöhen. Der Cache hat eine geringe Kapazität, aber eine hohe Geschwindigkeit, während die Speichergeschwindigkeit niedrig ist, aber eine große Kapazität aufweist. Durch die Optimierung des Planungsalgorithmus wird die Leistung des Systems verbessert stark verbessert.

Was ist Cache? Was ist Cache? Nov 25, 2022 am 11:48 AM

Cache wird als Cache-Speicher bezeichnet. Es handelt sich um einen Hochgeschwindigkeitsspeicher mit geringer Kapazität, der im Allgemeinen aus Hochgeschwindigkeits-SRAM besteht um die Lücke zwischen CPU und Speicher zu verringern oder zu beseitigen. Die Auswirkung des Geschwindigkeitsunterschieds zwischen ihnen auf die Systemleistung. Die Cache-Kapazität ist klein, aber schnell, die Speichergeschwindigkeit ist niedrig, aber die Kapazität ist groß. Durch die Optimierung des Planungsalgorithmus wird die Leistung des Systems erheblich verbessert.