Prozessor-Peripherie-Schnittstelle & Cache-Leistung
Classified in Informatik
Written at on Deutsch with a size of 13,41 KB.
TEIL 2 - Schnittstelle zwischen Prozessoren und Peripheriegeräten (T.1) Die Organisation der E/A (1.1) EINLEITUNG: Drei Subsysteme auf einem Computersystem: Speicher und E/A.
- System E/A: Komponenten, die die Bewegung von Daten zwischen externen Geräten und CPU-Speicher ermöglichen.
- Eingeschlossen sind: E/A-Geräte (die Computerschnittstelle mit externen Peripheriegeräten zur Interaktion mit dem Benutzer, z.B. Maus, Tastatur, oder zur Interaktion mit anderen Geräten, z.B. Netzwerkkommunikation, Speicher) und die Verbindung zwischen Prozessor, Speicher und diversen Peripheriegeräten (physische Verbindungen zwischen den Komponenten, grundlegende Mechanismen der Informationsübertragung, E/A-Schnittstellen und die Organisation der E/A).
- Viele Eigenschaften der E/A-Systeme werden durch die bestehende Technologie zu jeder Zeit bestimmt und durch die anderen Systemkomponenten konditioniert.
E/A-Features:
- Arbeiten mit verschiedenen Datenformen.
- Übertragungsgeschwindigkeit der Peripheriegeräte ist unterschiedlich zur CPU oder zum Speicher.
- Verschiedene Datenformate und -größen (Wort).
Design-Parameter der E/A-Systemleistung:
- Skalierbarkeit und Erweiterbarkeit.
- Fehlertoleranz.
(1.2) Performance-Maßstäbe: Bandbreite, Latenz und Kosten sind eng miteinander verknüpft. Im Großen und Ganzen kann die Bandbreite durch die Erhöhung der Kosten des Systems erhöht werden. Die Latenzzeit kann sehr schwierig zu verbessern sein, ohne dabei die Technologie-Implementierungen.
Latenzzeit (Reaktionszeit oder Ausführung) - Die insgesamt abgelaufene Zeit vom Beginn einer Aufgabe (gemessen in Zeiteinheiten oder Taktzyklen).
- T-FinishCPU = TUser + TSystem
- Verbesserte Leistung = geringere Latenz
Bandbreite (Kraft oder Produktivität) - Die Menge determinierter Arbeit, die in einer Zeitspanne geschieht (gemessen in der Menge pro Zeiteinheit).
- Je nach Kontext sind die beiden üblichen Wege zur Messung der Bandbreite: Datenmenge, die sich zu einem bestimmten Zeitpunkt durch das System bewegt (Datenbandbreite oder Datenrate) oder Anzahl der E/A-Operationen, die pro Zeiteinheit gemacht werden können (Operationsbandbreite oder E/A-Rate).
- Verbesserte Leistung = Höhere Bandbreite.
- Die Bandbreite ist die Rate, mit der das System Anfragen bedienen kann, und nicht immer die inverse Latenz: Parallelität bei der Bearbeitung von Anfragen ermöglicht eine höhere Bandbreite als 1/Latenz.
Andere Performance-Indikatoren - Interferenz E/A mit dem Prozessor: Taktfrequenz, die die Task-Prozessor-E/A verwendet (im Idealfall so gering wie möglich). Vielfalt der E/A-Geräte, die an das System angeschlossen werden können (Gerätetyp). Leistung/Skalierbarkeit/Erweiterbarkeit: Anzahl der Geräte, die im System angeschlossen werden können (Anzahl Geräte). Speicherkapazität: angeschlossen im Fall von Speichergeräten.
Performance in einem Computer - oft wird nur die CPU-Leistung berücksichtigt und der Rest des Systems ignoriert: Time = xCiclosProgram x TimeInstruction Cycle = xInstruccionesProgramm
- Die Optimierung der CPU-Zeit ist nicht der einzige Weg zur Erhöhung der Systemleistung: Speicher und E/A beeinflussen die Leistungsverbesserung maßgeblich.
- Optionen: Optimieren der CPU (Maximierung der Geschwindigkeit und Effizienz der Transaktionen, die von der CPU ausgeführt werden), Speicheroptimierung (Maximierung der Effizienz des Zugriffs auf den Speicher) und Optimierung der E/A (Maximierung der Effizienz der E/A).
- Je nach den erschwerenden Umständen kann die Performance des Systems durch die CPU, die Speicherkapazität oder die E/A begrenzt sein.
Beschleunigung (Messung der Leistungssteigerung nach einem Upgrade auf ein System) = ErtragTrasMejora / ErtragAntesMejora = TAntesMejora / TTrasMejora
AHMDALsches Gesetz: Es beschreibt, wie man die Beschleunigung berechnet, die in einem System mit einer spezifischen Verbesserung erzielt werden kann. Es hängen von 2 Faktoren ab: der Anteil der Ausführungszeit im ursprünglichen System, der die Verbesserung nutzt (FraktionEnhancement) und die Beschleunigung, die erreicht werden kann, wenn das gesamte System verbessert werden könnte (BeschleunigungEnhancement > 1) -> BeschleunigungConjuntaGlobal = 1 / [(1-BruchImprovement) + (FractionImprovement / AccelerationEnhancement)]
(1.3) Gerätemodell E/A: 2 Komponenten:
- Physisches Gerät: Besteht in der Regel aus den meisten Geräten. In manchen Peripheriegeräten, z.B. Speichergeräten, ist dies im Wesentlichen der mechanische Teil. Ist der Teil, der eigentlich für die Aufgaben des Peripheriegeräts verantwortlich ist.
- Geräte-Controller: Elektronischer Teil, der als Schnittstelle zwischen dem Gerät (bzw. den Geräten) und dem Rest des Systems dient. Seine wichtigsten Aufgaben sind: Steuerung und Zeitplanung, temporäre Datenspeicherung (Pufferung) und Fehlererkennung.
Die CPU kommuniziert mit anderen Geräten über die E/A-Register.
(1.4) Schnittstelle (logische) CPU - E/A: Um auf ein E/A-Gerät zuzugreifen, ist dieses durch den Prozessor adressierbar. Zwei Ansätze:
- E/A mit zugewiesenem Speicherplatz: Bei dieser Regelung ist ein Teil des Speichers für E/A reserviert, um Speicher statt der Zuordnung der Richtung zu verwenden. Es gibt also einen einzigen Raum, der sowohl für Speicher als auch für E/A verwendet wird. Die CPU behandelt die E/A-Register als Positionen im Speicher mit den gleichen Anweisungen für den Zugriff auf Speicher und E/A. Ermöglicht ein einfacheres CPU-Design und somit eine schnellere und billigere CPU.
SUCHE LINE - Index: wählt eine Reihe von Cache-Einträgen. Label: Vergleich gleichzeitig mit allen Etiketten der ausgewählten Einträge. Das Gültigkeitsbit zeigt an, ob der Eintrag eine Richtung enthält.
Erhöhung der Assoziativität validiert vergrößert Label.
ERSATZ LINES - Wir setzen ein Kriterium, um Cache-Zeilen im Cache zu ersetzen.
- Im direkten Mail: eine einzigartige Gelegenheit.
- In set-assoziativen oder vollständig assoziativen Caches muss eine Zeile zwischen einer Gruppe oder unter allen Cache-Einträgen ausgewählt werden.
Key Strategien:
- Random: es macht eine zufällige Wahl (einfach zu implementieren).
- Weniger zuletzt verwendet (LRU): Block ersetzt wird, der am längsten nicht verwendet wurde.
Schreib-Operationen - 2 Optionen für grundlegende Schreib-Cache:
- Direkter Writing: Die Information wurde in den Cache-Speicher und die niedrigere Ebene geschrieben. Vorteile: leicht zu implementieren (Stagnation der UCP in schriftlicher Form -> Buffer Umsetzung), Lese-Fehler weniger kostspielig und der Speicher der unteren Ebene wird immer dann aktualisiert.
- Postescritura: Die Information wird in den Zwischenspeicher geschrieben und wenn Sie die Zeile ersetzen, wird sie in den Speicher geschrieben. Vorteile: Schnelligkeit beim Schreiben in den Cache, schreibt mehrere, um eine Zeile zu schreiben, ein komplettes Sortiment im Speicher - Speicherbreite und einen wirksamen Einsatz der Breite.
- Bit zur geringen Änderung vorzunehmen: Status-Bit, das in Postescritura verwendet wird, um anzugeben, ob eine Zeile geändert wurde oder nicht. Verringern Sie die Häufigkeit des Schreibens in der Zeile, und wenn die Zeile unverändert bleibt, wird sie nicht in den Speicher geschrieben.
Optionen auf einen Fehler des Schreibens:
- Suchen Sie schriftlich oder schriftlich Suche: Die Zeile ist korrekt geladen und die Aktionen des Schreibens (in postescritura). Spätere Schriften über die Zeile verursachen keine Ausfälle.
- Nicht schriftlich Ort oder schriftlich zu vermeiden: Die Zeile ist in der unteren Ebene um und nicht in den Cache geladen (das direkte Schreiben). Die folgende Zeile schreibt das führt dazu, schreibt in den Speicher.
(3.3) Cache-Leistung: TiempoMedioAccesoMemoria = TimeErfolg + (Fehlerrate x StrafeFehler)
- CPU-Zeit = (CyclesEjecucionCPU + CyclesDetencionMemoria) x TimeCicloReloj
- Der Einfachheit halber nehmen wir an, dass alle Verhaftungen aufgrund des Caches und der Taktzyklen erfolgen, die Erfolge und Ausführung Taktzyklen der CPU sind.
VeloDetencionMemoria = [(Lesungen / Program) x Preis x FehlerFallosLectura x StrafeFallosLectura] + [(Schrift / Program) x Preis x FehlerFallosEscritura x StrafeFallosEscritura]
- Die Kombination zu vereinfachen liest und schreibt -> VeloDetencionMemoria = (AccesosMemoria / Program) x Preis x StrafeUrteile Urteile
- Factoring Unterricht count (IC) -> CPU-Zeit = IC x [CPIExecution + (AccesosMemoria / Instruction) x Preis x StrafeUrteile und Verfahren] x ZeitCicloReloj
- Angesichts der Ausfallrate als gescheitert pro Befehl -> TCPU = IC x [CPIAusführung + (Fehler / Instruction) x StrafeSitzungstermine] x ZeitCicloReloj
Das Verhalten des Caches hat einen großen Einfluss auf die Leistung. In einer CPU mit niedrigen CPI und einer schnelleren Uhr hat eine doppelte Wirkung:
- Ein niedriger ICC, die relativen Auswirkungen der gelieferten Zyklen.
- Bei gleicher stehen zwei Computer-Speicher, höhere CPU-Freq. verbraucht mehr Taktzyklen.
In den obigen Gleichungen haben wir angenommen, dass die Zeit kein entscheidender Faktor in der Leistung ist. Techniken zur Verbesserung der Cache-Performance, wie wir aussehen wird vernünftiges Ziel zu minimieren TiempoMedioAccesoMemoria, aber wir müssen die q Ziel der Auffassung ist, die CPU-Zeit zu reduzieren.
(3.4) Ursachen der Probleme:
- Zwingend: dem ersten Zugriff auf eine Zeile nicht im Cache (genannt tb 'Kaltstart Fehler' oder 'd erste Erwähnung Bugs').
- Aufbau: Der Cache nicht über ausreichende Kapazitäten, um alle Linien pa während der Programmausführung d.
- DER KONFLIKT notwendigen Angaben: Sie treten in Position gesetzt assoziativ oder Direct-Mail, wenn eine Zeile verworfen und später abgerufen wird, wenn ein etablierter setzt zu viele Linien (tb 'Fehler Kollision').
Merkmale Das Modell liefert eine Vision der durchschnittlichen Verhalten nicht erklären, individuelle Fehler und ignoriert die Ersetzung Politik. Viele Techniken, um die Geschwindigkeit zu reduzieren d d Scheitern können die Zeit erhöhenPenalty Hit oder Misserfolg
(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
VORTEILE separaten Cache:
- Fast die doppelte Bandbreite zwischen der CPU und Speicher-Hierarchie.
- Optimierung für jede Cache.
- Vermeidet Konflikt zwischen Howto Ausfälle.
separaten Cache und Daten Hürden:
- Raum fest Howto pa. und Daten -> schlechter Preis.
- Inkonsistenz: Gadgets. und Daten in der gleichen Zeile, intrucc. modifizierbar.
(3.6) ermäßigt BUGS:
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 d Latenz und Bandbreite der unteren Ebene der Hierarchie d d
Assoziativität den Speicher - Verringerung der Fehler d 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.. die gleiche