Monday, July 23, 2012

Was ist Prozessor-Cache


Der Hauptspeicher ist ein Computer-Einrichtung, mit der langsamsten Zugriffszeit. Wenn die CPU muss ein Datenelement, wird eine Anforderung an den Hauptspeicher über einen Speicher-Bus gesendet. Der Hauptspeicher sucht dann nach dem Datenelement und sendet sie zurück an die CPU. Viel Zeit wird in diesem gesamten Zyklus verschwendet. Was ist, wenn das Datenelement gespeichert waren irgendwo in die CPU zu schließen? Die Arbeitsweise der Prozessor-Cache basiert auf einem ähnlichen Konzept. Um das Konzept der Cache-Speicher verstehen, werden wir ein Beispiel für eine Bibliothek in diesem Artikel nehmen.

Angenommen, wir haben eine Bibliothek, mit einem einzigen Bibliothekar. Wenn ein Mensch kommt und fragt, für Harry Potter Teil I, dann die Bibliothekarin geht zum Bücherregal und holt das Buch und gibt es der Person. Wenn die Person mit dem Titel erfolgt ist, wird es wieder im Regal. Wenn, kommt jede andere Person, und fragt nach dem gleichen Buch, wird der Zyklus noch einmal wiederholt. Das ist genau, wie ein System ohne einen Cache-Speicher arbeitet.

Warum brauchen wir Prozessor-Cache?

Jetzt wollen wir sehen, was passiert in der Gegenwart von einem Cache-Speicher. In unserer Bibliothek Beispiel betrachten wir eine Schublade am Schreibtisch des Bibliothekars als Cache. Die Vorgehensweise bleibt die gleiche, wenn die erste Person stellt einen Antrag für ein Buch. Aber, wenn das Buch zurückgegeben wird, wird der Bibliothekar nicht speichern sie auf dem Regal, sondern hält sie in ihrer Schublade. Jetzt, wo die nächste Person kommt und stellt einen Antrag für das gleiche Buch, der Bibliothekar muss einfach sie aus ihrer Schublade holen. In ähnlicher Weise speichert Cache-Speicher die Datenelemente, die häufig von dem Prozessor benötigt werden. So jedes Mal, die Daten angefordert werden, Prozessor schaut einfach in den Cache und ruft es, das Speichern einer langen Reise in den Hauptspeicher. Diese enorm erhöht die Geschwindigkeit des Prozessors.

Hat Cache-Speicher speichern nur die häufig verwendete Daten Artikel?

Nein, das ist eine intelligente Cache-Speicher Stück Erinnerung, dass sieht auch für die Daten, die wahrscheinlich in naher Zukunft beantragt werden soll. Nehmen wir unser Beispiel-Bibliothek; wenn die Person Anfragen für Harry Potter Teil I unserer intelligenten Bibliothekar holt auch Harry Potter Teil II zusammen mit ihm. Nun, wenn die Person mit dem ersten Buch getan wird, ist es sehr wahrscheinlich, dass er vielleicht für den zweiten Teil fragen. Und wenn er das tut, hat Bibliothekar es fertig in ihrer Schublade. Ähnlich, wenn der Cache-Speicher holt Datenelemente aus dem Hauptspeicher, so holt auch die Elemente, die an den Adressen in der Nähe der angeforderten Gegenstände befinden. Diese nebeneinander liegenden Stücke von Daten, die dem Cache-Speicher übertragen werden, wird als Cache-Zeile.

Zwei-Level-Prozessor-Cache

Die meisten Festplatten und andere Komponenten nutzen eine Single-Level-Cache. Aber ein Prozessor-Cache ist ein Zwei-Level-Cache, in dem Level 1-Cache (L1) kleiner und schneller ist, während Level 2 Cache (L2) ist etwas langsamer, aber jederzeit schneller als der Hauptspeicher. L1-Cache ist in zwei Teile, nämlich., Befehls-Cache und Daten-Caches aufgeteilt. Der Befehls-Cachespeicher speichert den Satz von Befehlen, die von der CPU zum Berechnen erforderlich sind, während der Daten-Cache speichert die Werte, die für aktuelle Ausführung erforderlich sind. L2-Cache ist für das Laden der Daten aus dem Hauptspeicher. Auch hier kommen wieder zurück zu unserer Bibliothek als Beispiel eines Bibliothekars Schublade als L1-Cache. An jedem anstrengenden Tag, als die Nachfrage für Bücher hoch ist und der Bibliothekar hat schon viele Bücher in ihrer Schublade aufbewahrt, stehen die Chancen, dass es vielleicht bekommen ziemlich schnell voll. Dies ist, wo L2-Cache kommt ins Bild. Betrachten wir ein Bücherregal in der Nähe des Bibliothekars Schreibtisch als L2-Cache. Wird die Schublade voll ist, beginnt die Bibliothekarin die Speicherung der Bücher im Bücherschrank. Nun, wenn es eine Nachfrage für einige populäre Buch, der Bibliothekar sucht zuerst in ihrer Schublade; wenn das Buch dort nicht gefunden wird, sucht sie ihn in den Bücherschrank. Ähnlich wird, wenn L1-Cache voll ist, werden die Daten im L2-Cache gespeichert. Der Prozessor sucht zuerst nach den Daten im L1-Cache, und wenn es nicht gefunden wird, dann nur L2 durchsucht. Wenn die Daten nicht in L2 gefunden als auch, ist ein Ausflug auf den Hauptspeicher unvermeidlich.

Setzt mehr Cache eine gute Idee?

Ja und Nein Umsetzung von mehr Cache wird Sie holen die Daten schnell, nur in den Fällen, wenn die Daten verfügbar sind entweder L1 oder L2. Kommen wir zurück zu unserem Beispiel Bibliothek. Wenn jemand um ein populäres Buch, das nicht in der Bibliothekarin Schublade oder dem Bücherregal gespeichert ist; sie zum ersten Mal sucht sie in der Schublade und dann in den Bücherschrank. Auf diese Weise wird viel Zeit verschwendet, bevor sie schließlich ruft es aus dem Regal. Ebenso prüft der Prozessor zunächst in L1 und dann in L2, und wenn das Objekt nicht in jedem Cache gefunden wird, dann nur sendet eine Anforderung an den Hauptspeicher. Wie Sie realisiert haben muß, wird viel Rechenzeit verschwendet, in der Suche nach dem Punkt in den beiden Cache-Speicher. Wenn der Prozessor die gewünschte Datenelement findet in einem der Cache-Speichern, 'Cache hit' wird gesagt, stattgefunden haben könnte, bei anderen Gelegenheiten, findet ein "Cache-Miss" statt. Datenelemente werden in regelmäßigen Abständen aktualisiert und ersetzt mit Hilfe verschiedener Algorithmen, um die Instanzen von Cache-Hit zu maximieren.

Man könnte denken, dass, wenn Cache-Speicher ist so schnell, warum nicht implementieren sie groß genug ist, um sämtliche Daten des Hauptspeichers in ihm gespeichert werden? Der Grund ist, dass, obwohl Cache-Speicher bietet schnellen Zugriff, die Geschwindigkeit, mit einem großen Aufwand geht. Daher ist die richtige Ausnutzung des verfügbaren Cache-Speicher Muss.

No comments:

Post a Comment