Speicherverschachtelung und Cache-Speicher
Eingeordnet in Informatik
Geschrieben am in Deutsch mit einer Größe von 29,48 KB
(2,4) Interleaved Speicher: Idee der Aufspaltung des Speichers in unabhängige Module, den simultanen Zugang mehrerer Wörter in verschiedenen Modulen (von Tieren).
- Effizienzbedingung: Verweise auf Speichermodule müssen gerecht verteilt werden, mit dem Verteilungsschlüssel.
- Ideale Lage: Die Breite des Band-Zugriffs auf den Speicher multipliziert sich mit d-Modulen.
Total Memory = N = 2 n Worte / Anzahl der Module = M = 2m. SYSTEME - 2 sind und entweder mit M parallelen Worten bei jedem Speicherzugriff gewonnen werden. Es gibt einen Konflikt des Speichers -> mehrere Richtungen benötigen Zeit, um auf das gleiche Modul zuzugreifen, wodurch die Zugriffsgeschwindigkeit verringert wird. Die Erinnerungskonflikte sind größer höherer Ordnung Sequentialität der Richtung, weil die Programme. In Multiprozessor-Systemen ist manchmal besser als die Verschränkung, wenn Aufgaben disjunkt sind oder die zusammen etwas (was nicht immer der Fall). Es wird häufig verwendet, um Low-d Verstrickung.1) ENTRELAZAM. Higher-Order (konsekutiv): dir. Physical: Keine Bits auf den i-ten Modul • qualifiziert sich für die Richt. • 2 aufeinander folgenden i n - m (i +1) • 2 n - m -1 • Die festgestellten bedeutenden m Bit + Modul und der Rest ein in das Modul • Vorteile ausgeglichen: Erweiterbarkeit und Zuverlässigkeit (ein Fehler ist es, eine begrenzte lokalisierten Bereich des Raumes d Richt.) 2) ENTRELAZAM. Niedrigerer Ordnung (zyklisch): das i-te-Modul wurden in der Richt gespeichert. d as K • M & I mit k = 0,1 ,..., 2 n - m-1 (M Abstand zwischen ihnen) • Die m Bits - die dir wichtig. ausgewählten physikalischen Modul und dem Rest der Position innerhalb des Moduls (2a) Mit Laches in der Ausgabe: in jedem Zugriff aufeinander folgende Wörter werden gelesen M -> K • M & I mit i = 0,1 ,..., M -- 1. Sie sind in gespeicherten Schlösser und in Serie durch eine MUX übertragen. Die Worte sind in den nächsten Zyklus zu lesen -> d Mechanismen voraus. Im besten Fall Zugriffszeit ist die Zeit bis d M reduziert ist ideal für den Zugang zu mem. sequentiell. Geringe Effizienz in Programmen secuenciasles nicht (springt) und pa-Lösungen können Systeme mit Eingang Verriegelungen Flügel (2b) In das Eingabefeld Riegel: jedes Modul kann ein Verzeichnis verwenden Design. insbesondere relativ. Need mem-Controller. 1a1 pa Behandlung von Anträgen des Vorquartals. Wird der Antrag von einer früheren Latch verzögert (T.3) MEMORIA CACHE besetzt --Ziel: Um eine schnelle und unbegrenzte Speicherkapazität zu erreichen • Prinzip der Lokalität: Die Programme greifen auf eine relativ kleine d seinen Adressraum, jederzeit sofort d -> a) loc. Zeit: Wenn ein Element verwiesen wird, werden in Kürze verwiesen (Loops) b) loc. Raum: Wenn ein Element verwiesen wird, Punkte, deren Richt. sind in der Nähe wird tendenziell refeenciados bald • Leveraging das Prinzip der Lokalität umgesetzt mem. d einem Computer als eine Hierarchie d mem. für den Benutzer so viel mem vorgestellt. wie möglich zur Verfügung + billige Technologie und bietet Zugriff auf die Geschwindigkeit von den Mitgliedern angeboten werden. + Quick • In unserem mem-Hierarchie. + Hohem Niveau für uns werden mem. Cache Datensätze der linken Seite d auseinander. Eine Stufe näher an den Prozessor ist eine Teilmenge von allen Ebenen mehr Absatz und alle gespeicherten Daten in stan der untersten Ebene, die Lokalisierung der Informationen. auf jeder Ebene nach ihrer Wahrscheinlichkeit der Nutzung(3,1) INTRO. DER CACHE: der Begriff -> Conti Pitkowsky Gibson (1968). 1-Cache kommerzielle Computer: IBM 360/85 (1968) • Der Cache ist eine kleine und schnelle Speicher q zwischen dem Prozessor und mem entfernt. Home • Bewahren Sie die Info. derzeit in Nutzung der d-speich. • La gestion d Haupt-Cache ist ähnlich wie Flügel gestion d mem. • Das virtuelle Dorf d d Erfolg rechtfertigt die Cache • BLOCK (Cache-Zeile): Minimaler d d Transfer-Infos. zwischen unterem und oberem niver • Stärke: die Info. Erforderliche höher • Ankündigung: die Info. nicht in der obersten Ebene und benötigen Zugriff auf unten • Hit-Rate: Fraktion d Zugang zu mem. fand auf der oberen Ebene • Ausfallrate: Fraktion d Zugang zu mem. nicht in der oberen Ebene (1 gefunden Trefferquote) • bei Ausbleiben: erforderliche Zeit, um einen Block zu ersetzen pa oberen Ebene von der unteren Ebene, mehr Zeit, um an den Prozessor Block ste anzubieten. Es ist unterteilt in:a) den Zugang Zeit -> Zeit pa Zugriff auf die 1. Etage in einem Urteil Block dun b) Übertragung Zeit -> pa zusätzliche Zeit, um die verbleibenden Worte des Gerätes • Zeit-Genauigkeit d Übertragung (3,2) OPERATION CACHE SYSTEM: d-Block wird als Cache-Line • STRUKTUR eines Cache: Verzeichnis -> Informationen enthält. auf den Linien d d Lagerfläche. Lagerräume -> enthält Kopien einiger Zeilen d der mem. • Die wichtigsten Verzeichnis enthält eine Reihe d pa Etiketten erkennen, ob ein Wort d entspricht dem Cache auf die gesuchten Wörter -> ad + d müssen irgendwie zu erkennen, ob ein Cache-Block hat d info. valida (Bit der Gültigkeit: eine 0 zeigt info. nicht gültig) LAGE VON LINES - 3 Kategorien von Cache-Organisation (n Zeilen): 1) Direct Mail: Jede Zeile besteht aus einem einzigartigen Ort, wo man im Cache erscheinen kann (Felder ->-Tag, die Cache-Zeile d (log 2 n -- -> size-Index), Wort innerhalb der Linie D, D-Byte Wort. • 1 über n-set 2) vollständig assoziativ: Jede Zeile kann in irgendeinem Teil des Cache-Sterne-d (Felder -> Etikett, d Wort innerhalb der Zeile, Byte d Wort) • n-fach, 1 Satz 3) set associative m ROUTEN:Jede Zeile entspricht einer Menge von m d der Cache-Zeilen (Nr. D-Sets = n / m = c) • Felder -> etiq, Indexmenge (log 2 c) d Wort in der Ausgabe byte d Wort
SUCHE LINE - Index: wählt eine Reihe von Cache-d • Label: Vergleich gleichzeitig mit allen Etiketten der ausgewählten • Die Gültigkeit Bit zeigt an, ob der Eintrag ein Richt enthält. • Erhöhung der Assoziativität validiert vergrößert Label d REPLACEMENT LINES - Wir setzen q pa Kriterium Ausfall ersetzen Cache-Zeilen in den Cache-d• Im direkten mail: eine einzigartige Gelegenheit • In set associative oder vollständig assoziativ es q wählen Sie eine Linie zwischen einer Gruppe oder unter allen die Cache-d bzw. Strategien • Key: 1) Random: es macht einen zufälligen Wahl ( einfach zu implementieren) 2) Least Recently Used (LRU)-Block erhält + q hace tiempo q keine Schreib-Operationen verwendet wird-2 grundlegende Optionen pa Cache schreiben: 1) direkte Schrift: die Info. wurde geschrieben, um den Cache-Speicher und d niedrigeren Niveau. Vorteile: leicht zu (Stagnation der UCP in schriftlicher Form -> buffer Umsetzung d schriftlich), Lese-Fehler weniger kostspielig und mem. Die untere Ebene ist immer aktuell2) Postescritura: die eine ist in den Zwischenspeicher geschrieben und wenn Sie ersetzen Sie die Zeile in den Speicher geschrieben. Vorteile: Schnelligkeit d schriftlich an den Cache schreibt mehrere, um eine Linie d einzubeziehen schriftlich ein komplettes Sortiment in Speicher - Speicher Breite d d-Band und einen wirksamen Einsatz der breiten d • Bit + geringe Änderung vorzunehmen: q Status-Bit ist in pa postescritura verwendet Angabe, ob eine Zeile geändert wurde oder nicht. Verringern Sie die Häufigkeit des Schreibens in d-line Ersatz, und q, wenn die Linie bleibt unverändert sich nicht in mem. • Optionen auf einen Fehler des Schreibens: 1) Suchen Sie schriftlich oder schriftlich Suche: die Linie wird geladen und noch Maßnahmen für den Erfolg des Schreibens (inpostescritura). Q Wanted späteren Schriften über die Linie verursachen keine Ausfälle. 2) nicht schriftlich Ort oder schriftlich zu vermeiden: Die Linie ist in der unteren Ebene um und nicht in den Cache (das direkte Schreiben). Die folgende Zeile schreibt das führt dazu, schreibt in den Speicher. (3,3) Cache-Leistung: ErfolgTiempoMedio AccesoMemoria = Time + (x Vertragsstrafe Vertragsverletzung Failure Rate) • CPU-Zeit = (+ EjecucionCPU Cycles Cycles DetencionMemoria) X Time CicloReloj • Der Einfachheit halber nehmen wir an q alle Verhaftungen aufgrund der Cache und Taktzyklen wird auch die Erfolge und Ausführung Taktzyklen der CPU ->Cycles DetencionMemoria = [(Liest / Program) x Preis x FallosLectura Penalty FallosLectura] + [(Schrift / Program) x Preis x FallosEscritura Penalty FallosEscritura • Die Kombination zu vereinfachen liest und schreibt -> Velo DetencionMemoria = (AccesosMemoria / Program) x Preis Failures x Penalty Urteile • Factoring die Anweisung count (IC) -> CPU-Zeit = IC x [CPI Execution + (AccesosMemoria / Instruction) x Preis x Penalty Urteile und Verfahren] x Zeit CicloReloj • Angesichts der Ausfallrate als gescheitert pro Befehl -> T CPU = IC x [CPI Ausführung+ (Failures / Instruction) x Penalty Sitzungstermine] x Zeit CicloReloj • Das Verhalten des Caches hat einen großen Einfluss auf die Leistung. In einer CPU mit niedrigen CPI und eine schnellere Uhr hat eine doppelte Wirkung: 1) A + unter ICC, die relativen Auswirkungen der gelieferten Zyklen + 2) Bei gleicher stehen zwei Computer-Speicher, höhere CPU-Freq. verbraucht mehr Taktzyklen d Kein Ausfall • In der obigen Gleichungen, die wir angenommen haben, q d mal klug ist kein entscheidender Faktor in der Leistung. Tecnicas d im Cache Performance-Verbesserung werden wir uns das Ziel gesetzt, möglichst TiempoMedio AccesoMemoria vernünftig, aber wir müssen die q Ziel der Auffassung ist, die CPU-Zeit zu reduzieren. (3,4) Ursachen der Probleme: A) Zwingend: dem ersten Zugriff auf ein Linie ist nicht im Cache (genannt tb 'Kaltstart Fehler "oder" Scheitern erste Erwähnung d')B) Aufbau: Der Cache nicht über ausreichende Kapazitäten, um alle Linien pa während der Programmausführung d C) DER KONFLIKT notwendigen Angaben enthalten: Sie treten in Position gesetzt assoziativ oder Direct-Mail, wenn eine Zeile gelöscht und später abgerufen wird, wenn Sie sind einer zu viele Zeilen enthält (so genannte tb 'Fehler Kollision') / / / Merkmale Das Modell liefert eine Vision der durchschnittlichen Verhalten nicht erklären, individuelle Fehler und ignoriert die Politik der Ersatz • Viele Techniken, um die Geschwindigkeit zu reduzieren d d Fehler kann die Zeit, die Strafe Hit oder Misserfolg zu erhöhen (3,5) Cache-Daten und Anweisungen: einheitliche oder gemischte Caches, die Anweisungen und Daten enthalten, können einen Engpass • CPU weiß, ob dies durch die Erteilung der Richt. ein Howto. oder Daten, können separate AnschlüsseVORTEILE eigener Cache - 1-fast die doppelte Bandbreite zwischen der CPU und Speicher-Hierarchie. 2-Optimierung für jede Cache. 3-vermeidet Konflikt zwischen Howto Ausfälle. separaten Cache und Daten Hürden - 1-Raum fest Howto pa. und Daten -> schlechter Preis Hits 2-Inkonsistenz: Gadgets. und Daten in der gleichen Zeile, intrucc. modifizierbar (3,6) FAILURE ermäßigt: Erhöhen Sie die Größe der Linie - reduziert Fehler gezwungen Ausfälle können Kapazitäten d d Konflikt Erhöhung der Strafe Versagen und Wahl der Linie Größe zunimmt, hängt d d Latenz und die Breite d d-Band der unteren Ebene der Speicherhierarchie ERHÖHUNG Assoziativität d --d Ausfälle reduziert Konflikt. In der Praxis eine Reihe assoziativen Cache, 8 Kanäle ist so effektiv wie ein vollständig assoziativ ist. Eine direkte Zuordnung Cache ca.. Fehler der gleichen Rate q eine Reihe assoziativen Cache 2 Wege d d halb so groß. Die Zeit kann anumentar Hit (Erhöhung der Zeit CicloReloj)Cache-OPFER - kleine, voll assoziativen Cache. Halten Sie die Linien d entfernt den Cache in einer Schuld. Ist die Linie auf es erforderlich ist, mit einer Linie ausgetauscht d den Cache. Besonders nützlich pa kleinen Daten-Caches d d direkte Korrespondenz PSEUDO-ASOACIATIVAS CACHE - in einer Entscheidung, bevor er auf die untere Ebene d d d der Speicherhierarchie, prüft sie den anderen Line Memory d ( "Pseudo-Set"). Zwei Frist zu beseitigen. Hay q pa korrekt zu positionieren die Zeilen müssen allerdings nicht sogar schlechter. Es kann erschweren die Gestaltung der segmentierten CPUPrefetch von Gadgets. TECHNISCHE DATEN - das Ziel ist, mit der Prefetch-Ausführung überschneiden. Die Leistung kann reduziert werden, wenn die Nachfrage Fehler stört. Es kann auf 2 Arten erfolgen: 1) Hardware: direkt im Puffer-Cache oder eine externe 2) Gesteuert durch den Compiler: prebuscado können die Daten in ein Register oder Cache-Optimierung der Kompilierung erfasst werden - durch die Umstellung des Codes oder die Verlagerung der Daten, kann es reduziert die Rate Ausfälle. Beispiele für Techniken beinhalten die Fusion von Arrays, Loop-Austausch, die Sperrung oder Fusion Bonding. (3,7) REDUCTION der Strafe für-Fehler: Vorrang einräumen, der Lektüre der Heiligen Schrift - d in einem Direct-Write-cache: add-Puffer Writingure von ausreichender Größe, mit dem Handicap von q können die aktualisierten Wert d haben eine Position in einem Urteil d erforderlichen Lesen oder aq erwarten, was die Puffer geleert wird, oder ob der Inhalt des Puffer-Cache • Ein postescritura: einen Puffer den Block Anhalten der CPU zu speichern, wenn Sie ein neues Urteil haben, bis der Puffer q LOCATING Unterblöcke (in direkte Korrespondenz Caches) - die Unterblöcke haben wenig Gültigkeit geleert wird. Verringert Penalty Versagen, reduzieren Sie die Größe des Etiketts auf den Erfolgen der schriftlich dazu beitragen, immer schriftlich das Wort