Mindmap-Galerie Mindmap der Prinzipien der Computerkomposition
Dies ist eine Mindmap über die Aufbauprinzipien von 02-Computern, einschließlich einer Übersicht, Datenoperationen, Speichersystemen, Zentraleinheiten usw.
Bearbeitet um 2023-12-08 15:47:38Einhundert Jahre Einsamkeit ist das Meisterwerk von Gabriel Garcia Marquez. Die Lektüre dieses Buches beginnt mit der Klärung der Beziehungen zwischen den Figuren. Im Mittelpunkt steht die Familie Buendía, deren Wohlstand und Niedergang, interne Beziehungen und politische Kämpfe, Selbstvermischung und Wiedergeburt im Laufe von hundert Jahren erzählt werden.
Einhundert Jahre Einsamkeit ist das Meisterwerk von Gabriel Garcia Marquez. Die Lektüre dieses Buches beginnt mit der Klärung der Beziehungen zwischen den Figuren. Im Mittelpunkt steht die Familie Buendía, deren Wohlstand und Niedergang, interne Beziehungen und politische Kämpfe, Selbstvermischung und Wiedergeburt im Laufe von hundert Jahren erzählt werden.
Projektmanagement ist der Prozess der Anwendung von Fachwissen, Fähigkeiten, Werkzeugen und Methoden auf die Projektaktivitäten, so dass das Projekt die festgelegten Anforderungen und Erwartungen im Rahmen der begrenzten Ressourcen erreichen oder übertreffen kann. Dieses Diagramm bietet einen umfassenden Überblick über die 8 Komponenten des Projektmanagementprozesses und kann als generische Vorlage verwendet werden.
Einhundert Jahre Einsamkeit ist das Meisterwerk von Gabriel Garcia Marquez. Die Lektüre dieses Buches beginnt mit der Klärung der Beziehungen zwischen den Figuren. Im Mittelpunkt steht die Familie Buendía, deren Wohlstand und Niedergang, interne Beziehungen und politische Kämpfe, Selbstvermischung und Wiedergeburt im Laufe von hundert Jahren erzählt werden.
Einhundert Jahre Einsamkeit ist das Meisterwerk von Gabriel Garcia Marquez. Die Lektüre dieses Buches beginnt mit der Klärung der Beziehungen zwischen den Figuren. Im Mittelpunkt steht die Familie Buendía, deren Wohlstand und Niedergang, interne Beziehungen und politische Kämpfe, Selbstvermischung und Wiedergeburt im Laufe von hundert Jahren erzählt werden.
Projektmanagement ist der Prozess der Anwendung von Fachwissen, Fähigkeiten, Werkzeugen und Methoden auf die Projektaktivitäten, so dass das Projekt die festgelegten Anforderungen und Erwartungen im Rahmen der begrenzten Ressourcen erreichen oder übertreffen kann. Dieses Diagramm bietet einen umfassenden Überblick über die 8 Komponenten des Projektmanagementprozesses und kann als generische Vorlage verwendet werden.
Prinzipien der Computerkomposition
Kapitel eins Überblick
Computersystemhierarchie
Hardware
von Neumann-Computer
gespeicherte Prozedur
Kontrollflusstreiber
Vorab kompilierte Programme und Daten werden in den Hauptspeicher gesendet Der Computer führt Element für Element aus
Einprozessor
Anweisungen und Daten haben den gleichen Status
Bei den Befehlsdaten handelt es sich ausschließlich um Binärcodes
Bedienerzentriert
moderner Computer
speicherzentriert
Struktur
Eingabegerät
Ausgabegerät
Erinnerung
Hauptspeicher (interner Speicher)
Speicherbank
Hilfsspeicher (externer Speicher)
CPU
MAR (Adressspeicher)
Die Anzahl der Bits entspricht der Anzahl der Speichereinheiten
Zugangsadresse speichern
MDR(Datenspeicher)
Die Anzahl der Bits entspricht der Speicherwortlänge
Speichert vorübergehend aus dem Speicher gelesene und geschriebene Informationen
Operator
ALU (Arithmetisch-Logische Einheit)
kombinatorische Logikschaltung
ACC (Akkumulator)
MQ (Multiplikatorquotientenregister)
X-Allzweckregister
Zwischenspeicherung von Operanden und Zwischenergebnissen
IX (Indexregister)
BE (Basisadressregister)
PSW (Programmstatuswortregister/Flagregister)
Speichern Sie die durch die Operation erhaltenen Flag-Informationen, z. B. Überlauf, Übertrag und Ausleihe
Regler
PC (Programmzähler)
Speichert die Adresse des aktuell auszuführenden Befehls. Nach der Ausführung wird sie automatisch um eins erhöht, um die Adresse des nächsten Befehls zu bilden.
Anzahl der Wortlängenstellen→Anzahl der Speicherwörter
IR (Instruktionsregister)
Wird zum Speichern des aktuellen Befehls verwendet
Inhalte vom MDR
Länge des Befehlsworts
CU (Steuereinheit)
Software
Komposition
Systemsoftware
BetriebssystemOS
Datenbankverwaltungssystem DBMS
Sprachverarbeitungssystem
Netzwerksoftwaresystem
Serviceprogramm
Anwendung
Software für den täglichen Gebrauch
Sprache
Maschinensprache
Computer kann direkt ausgeführt werden
Binärcode
Assemblersprache
Englische Wörter und Abkürzungsbuchstaben
Vor der Ausführung in Maschinensprache konvertieren
Hochsprache
Java, C, C usw.
Quellprogramm in ausführbare Datei
mehrstufige Hierarchie
Dolmetscherprogramm: Gleichzeitig übersetzen und ausführen
Leistung
Wortlänge
Ist ein ganzzahliges Vielfaches von Bytes (1B oder 8bit)
Maschinenwortlänge
Datenpfadbreite innerhalb der CPU für Ganzzahlarithmetik
ALU-Langziffern
Anzahl der allgemeinen Registerbits
Länge des Befehlsworts
Die Anzahl der Binärcodebits in einem Befehlswort
Speicherwortlänge
Binärcodelänge einer Speichereinheit
Bandbreite des Datenpfads
Die Anzahl der Bits, die gleichzeitig parallel auf dem Datenbus übertragen werden
Hauptspeicherkapazität
Geschwindigkeit berechnen
Durchsatz
Anzahl der pro Zeiteinheit verarbeiteten Anfragen
Hauptfrequenz
CPU-Taktfrequenz
Wie viele Hz sind es im Allgemeinen?
1 Hz bedeutet einmal pro Sekunde
1 GHz = 10⁹
Wie viele Taktzyklen pro Sekunde
CPU-Taktzyklus
Countdown der Hauptfrequenz
1/Hauptfrequenz
Wie viele Sekunden dauert ein Taktzyklus?
VPI
Die Anzahl der Taktzyklen, die zur Ausführung eines Befehls erforderlich sind
Wie viele Taktzyklen dauert die Ausführung einer Anweisung?
im Zusammenhang mit drei Faktoren
Befehlssatz
Programmierung (Systemstruktur)
Computerorganisation (Architektur)
CPU-Ausführungszeit
(Anzahl der Befehle × CPI) / Hauptfrequenz
MIPS
Wie viele Millionen (M) Befehle werden pro Sekunde ausgeführt?
Hauptfrequenz / (CPI×10⁶)
FLOPS
mflops
Wie viele Millionen Gleitkommaoperationen werden pro Sekunde ausgeführt?
Anzahl der Gleitkommaoperationen / (Ausführungszeit × 10⁶)
gflops
Milliarde
10⁹
Tflops
Billionen
10¹²
pflops
Billiarden
10¹⁵
zflops
Transparenz
Unsichtbarer Inhalt
Für Hochsprachenprogrammierer: Befehlsformat, Datenoperationsprozess usw. sind unsichtbare Inhalte
Für Maschinensprachen- oder Assemblersprachenprogrammierer: Befehlsformat, Maschinenstruktur und Datenformat sind sichtbare Inhalte
Programmierer können den Inhalt von MAR, MDR und IR in der CPU nicht sehen
Kapitel Zwei Datenoperationen
Basismethode
binär
Die Basis ist 2
Oktal
Alle acht Züge werden zu einem
Der Trick: dreistellige Binärzahlen
Dezimal
hexadezimal
123456789ABCDEF
Tipp ①: Vierstellige Binärzahl
Tipp ②: A steht für 10
BCD-Code
8421-Codes
Vier Binärziffern repräsentieren eine Dezimalzahl
Korrekturmethode:
① Wenn das Ergebnis der zweistelligen Operation kleiner oder gleich der Dezimalzahl 9 ist, erfolgt keine Korrektur.
② Wenn das Ergebnis der zweistelligen Operation größer oder gleich der Dezimalzahl 10 ist, fügen Sie die Dezimalzahl 6 (0110) hinzu.
Noch drei Meter
Fügen Sie 3 zum Code 8421 (0011) hinzu. Auf diese Weise hat jede Zahl einen Rest von drei
2421 Codes
Von der höchsten bis zur niedrigsten Position sind sie es 2421 Zum Beispiel: 5=(0101)
codierte Darstellung
Originalcode
0 bedeutet nicht eindeutig
Die Wortlänge beträgt n 1, der Bereich des signierten Originalcodes -(2ⁿ-1)≤ x ≤ 2ⁿ-1
Reverse-Code
Eine positive Zahl Originalcode=Reverse-Code
negative Zahl Das Vorzeichenbit bleibt unverändert und der Wert wird invertiert.
ergänzen
0 bedeutet einzigartig
Eine positive Zahl Originalcode=Reversecode=Komplementcode
negative Zahl Inverse Codekonvertierung des Originalcodes: Der Originalcode ist von rechts nach links, findet die erste 1, invertiert alle numerischen Bits links von dieser 1, dh erhält den Komplementcode
Die Wortlänge beträgt n 1, vorzeichenbehafteter Komplementbereich -2ⁿ ≤ x ≤ 2ⁿ-1
Gespeichert in Zweierkomplementform in C-Sprache
Frameshift
0 bedeutet einzigartig
Exponent, der eine Gleitkommazahl darstellt
Versatz
Negieren Sie das Komplementvorzeichenbit → Frameshift
Fixpunktverschiebung
arithmetische Verschiebung
Für symbolische Zahlen
Das Vorzeichenbit bleibt beim Verschieben unverändert
positive arithmetische Verschiebung Geben Sie 0 für ursprüngliche Ablehnungen und Ergänzungen ein
negative arithmetische Verschiebung Geben Sie 0 für den Originalcode ein Der Komplementcode wird mit 0 für die Linksverschiebung und 1 für die Rechtsverschiebung gefüllt. Geben Sie den umgekehrten Code mit 1 ein
logischer Wandel
Für vorzeichenlose Nummern
Logische Linksverschiebung, High-Bit geht verloren, Low-Bit wird mit Nullen aufgefüllt
Logische Rechtsverschiebung, niedrige Bits gehen verloren, hohe Bits werden mit Nullen aufgefüllt
Addition und Subtraktion von Festkommazahlen
Zweierkomplementaddition und -subtraktion
Zusätzlicher Direktbetrieb
Subtraktion Ein Komplement (-B) Komplement
Identifikator
unsignierte Nummer
CF Carry Borrow
Ermitteln Sie den Überlauf vorzeichenloser Zahlen
Zusatz tragen
Bestimmen Sie die Subtraktionskreditaufnahme
Klein – Groß Leihplätze verfügbar
ZF Nullmarke
Das Ergebnis ist 0, dann ZF=1
signierte Nummer
ZF-Nullmarke
SF-Symbolflagge
Das Symbol, das das Ergebnis darstellt
OF-Überlaufflag
Bestimmen Sie den Überlauf vorzeichenbehafteter Zahlen
Überlaufurteil
ein Vorzeichenbit
zwei Vorzeichenbits (Modulo-Viererkomplement)
Beim Speichern wird nur ein Bit gespeichert
Wenn die beiden Bits gleich sind, liegt kein Überlauf vor.
Zwei verschiedene Menschen
01
Positiver Überlauf
10
negativer Überlauf
Multiplikation von Festkommazahlen
Ein-Bit-Multiplikation des Originalcodes
Handberechnung
Ähnlich wie bei der Dezimalzahl, direkt berechnen
Computerberechnung
Berechnen Sie A×B
Illustration
Der Multiplikand A wird im X-Generalregister gespeichert
Speichern Sie den Multiplikator B in MQ
Die Berechnungsergebnisse jeder Runde werden im ACC gespeichert
Verfahren
Der Multiplikand und der Multiplikator nehmen den absoluten Wert an, um an der Operation teilzunehmen Das Vorzeichenbit wird separat verarbeitet (XOR-Verknüpfung)
① Wann wird die Zahl im ACC zur Zahl im Generalregister X addiert? Überprüfen Sie, ob das niedrigste Bit von MQ 1 ist. Wenn es 1 ist, werden ACC und X addiert und das Ergebnis in ACC abgelegt
(ACC) (X) → ACC
② Führen Sie nach dem Speichern des neuen Ergebnisses in ACC eine logische Rechtsverschiebung durch MQ logische Rechtsverschiebung, ACC logische Rechtsverschiebung Das High-Bit von ACC wird mit 0 gefüllt und die vom Low-Bit von ACC nach rechts verschobene Zahl wird zum High-Bit von MQ verschoben. Das Low-Bit von MQ wird verschoben
Einerkomplementmultiplikation
Handberechnung
Computerberechnung
Hilfsbit - MQ niedrigstes Bit = 1, (ACC) (x) Komplement
Hilfsbit – niedrigstes MQ-Bit = 0, (ACC) 0
Hilfsbit – niedrigstes MQ-Bit = -1, (ACC) (-x) Komplement
Verfahren
Zweierkomplement-Ein-Bit-Multiplikation mit zwei Vorzeichenbits
Führen Sie n Additions- und Verschiebungsrunden durch und addieren Sie schließlich erneut.
Jede Verschiebung ist eine arithmetische Rechtsverschiebung
Das Vorzeichenbit ist an der Operation beteiligt
Das Hilfsbit liegt nach dem niedrigsten Bit von MQ und ist zunächst 0 Die zusätzliche Zahl aus der MQ-Rechtsverschiebung ersetzt die anfängliche 0 oder eine andere Zahl des ursprünglichen Hilfsbits.
Die Additions- und Verschiebungsvorgänge sind die gleichen wie bei der Ein-Bit-Multiplikation des Originalcodes.
Festpunktteilung
Originalcode-Aufteilung (Restwiederherstellungsmethode)
a÷b
ACC speichert Dividende a, Rest
MQ-Speicherquotient (zunächst alle 0)
X speichert Divisorb
Verfahren
Erstens ist der Standardquotient 1. Wenn ein Fehler auftritt, wird er auf 0 geändert und der Rest wiederhergestellt.
Wenn der Quotient 0 ist, führen Sie das ACC (b)-Komplement durch und geben Sie das Ergebnis in ACC ein
Quotient 1, ACC(-b)-Ergänzung durchführen
Wenn das Vorzeichenbit des berechneten Ergebnisses 1 ist, bedeutet dies, dass der Quotient falsch ist und dann wiederhergestellt wird
Nach der Additionsoperation und dem Erhalt des neuen Ergebnisses werden ACC und MQ logisch nach links verschoben und die niedrigen Bits von MQ werden mit 0 gefüllt
Wiederholen Sie den obigen Vorgang
Originalcode-Division (alternierende Additions- und Subtraktionsmethode)
Gerade gestartet, Ergänzen Sie a (-b), um den neuen Rest zu erhalten
Wenn der Rest negativ ist, ist der Quotient 0, und der Rest wird logisch nach links verschoben und dann (b) ergänzt
Ist der Rest positiv, dann ist der Quotient 1. Der Rest wird logisch nach links verschoben und dann (-b) addiert.
letzter Schritt Wenn der Rest negativ ist, ist der Quotient 0, (b) Komplement, um den richtigen Rest zu erhalten
Zweierkomplementdivision (abwechselnde Addition und Subtraktion)
Das Vorzeichenbit ist an der Operation beteiligt, das doppelte Vorzeichenbit
Gerade gestartet Bestimmen Sie, ob Dividend und Divisor dasselbe Vorzeichen haben. Wenn sie das gleiche Vorzeichen haben, ist die Dividende der Divisor Bei unterschiedlichen Vorzeichen ist der Dividend der Divisor.
Nachverfolgen Rest und Divisor haben das gleiche Vorzeichen Quotient 1, Rest und Quotient (ACC MQ) nach links verschieben, Divisor subtrahieren Rest und Divisor haben unterschiedliche Vorzeichen Quotient 0, Rest und Quotient nach links verschoben, Divisor hinzufügen
Anordnung zur Datenspeicherung
Big-Endian-Speicher
Genauso wie die Lesegewohnheiten der Menschen
Little-Endian-Speicher
andererseits
Randausrichtung
Integer-Typ
int-Typ
4B 32bit
lang
4B 32bit
kurzer Typ
2B 16bit
char-Typ
1B 8bit
Gleitkommazahl
Darstellungsformat
Nummernschild
Code
Dargestellt durch Frameshift
Mantisse
Wird in Dezimalform des Originalcodes ausgedrückt
Standardisierung
Zuogui
Verschieben Sie die Mantisse um eine Position nach links und verringern Sie den Exponenten um eins.
richtige Regel
Verschieben Sie die Mantisse um eine Position nach rechts und addieren Sie eins zum Exponenten.
IEEE754
32-Bit-Einzelpräzision
bilden
1-stellige Zahl
Erweitern Sie den Code (Framecode) um 8 Bit
Erweitern Sie den wahren Wert = Framecode – Offsetwert 127
Codebereich 1~254
23 Ziffern der Mantisse
Offsetwert 127
Umwandlungsprozess
① Zahlensymbole
② Mantisse
③ Der wahre Wert des Codes
④ Rahmencode (Rahmencode) = Code-Wahrheitswert – Offset-Wert
⑤ Die Mantisse wird entsprechend dem wahren Wert des Exponenten verschoben
Beispiel
Der Code darf nicht nur aus Nullen oder Einsen bestehen
64-Bit-Doppelpräzision
1-stellige Zahl
Code 11 Ziffern
52 Bit Mantisse
Offsetwert 1023
Gleitkomma-Addition und -Subtraktion
① Richtige Reihenfolge
Die kleinen Schritte stimmen mit den großen Schritten überein
Die kleine Mantisse des Exponentencodes wird um eine Position nach rechts verschoben, der Exponent ist 1
② Summe der Mantissen
③ Standardisierung
richtige Regel
Bei 1×.××, rechtes Messgerät
Verschieben Sie die Mantisse nach rechts und addieren Sie eins zum Exponenten
Zuogui
Wenn 0,0, linke Regel
Verschieben Sie die Mantisse nach links und verringern Sie den Exponenten um 1
Normalisierte Zahl
Das hohe Bit der Mantisse des Originalcodes ist nicht 0, und das hohe Bit der Mantisse des Komplementärcodes unterscheidet sich vom Zahlensymbol.
ergänzen
Normalisierung einzelner Symbole
0,1xxx 1,0xxx
Normalisierung mit zwei Symbolen
00.1xxx 11.0xxx
④ Rundung
Beim Ausrichten oder Rechtsdrehen kommt es zu Rundungen
0 Rundungsmethode
Ähnlich wie beim Runden
Konstantensatz 1-Methode
Unabhängig davon, ob das höchste Bit 1 oder 0 ist, wird das Ende der Mantisse nach der Rechtsverschiebung auf 1 gesetzt.
⑤ Überlaufurteil
Bei positivem Unterlauf und negativem Unterlauf behandelt der Computer ihn als 0
gießen
char→int→long→double
float→double
drittes Kapitel Speichersystem
Gedächtnisklassifizierung
Nach Level geordnet
Zwischenspeicher
Haupterinnerung
Hilfsspeicher
Nach Medien sortieren
magnetische Oberfläche
Band
Scheibe
magnetischer Kern
Halbleiter
CD
Klassifiziert nach Zugriffsmethode
RAM – Arbeitsspeicher
ROM – Nur-Lese-Speicher
Moderne Erinnerungen können elektrisch gelöscht werden
Speicher mit seriellem Zugriff
Klassifizierung nach Informationsspeicherbarkeit
Im ausgeschalteten Zustand flüchtig
RAM
nicht flüchtig
Rom
magnetische Oberfläche
CD
Kennzahlen zur Speicherleistung
Lagerung
Anzahl der gespeicherten Wörter × Wortlänge
Speichergeschwindigkeit
Zugriffszeit
Der Zeitraum vom Beginn des Zugriffs bis zum Abschluss des Zugriffs
Aufbewahrungszeitraum
Zugriffszeit Erholungszeitraum
Hauptspeicherbandbreite
Datenübertragungsrate
Die maximale Anzahl von Nachrichten pro Sekunde, die in den Hauptspeicher ein- und aus ihm herausgehen
mehrstufiges Lagersystem
CPU-Cache-Hauptspeicher-Hilfsspeicher
Die Datenübertragung vor CPU und Cache erfolgt durch die Hardware (unsichtbar)
Die Verbindung zwischen Hauptspeicher und Sekundärspeicher wird durch die Hardware und das Betriebssystem hergestellt (für den Anwendungsprogrammierer nicht sichtbar)
Haupterinnerung
Arbeitsspeicher
RAM
Cache wird durch SRAM implementiert
SRAM
statischer Direktzugriffsspeicher
bistabiles Flip-Flop
zerstörungsfreies Auslesen
Hohe Kosten, hohe Geschwindigkeit, geringe Integration
Der Hauptspeicher wird durch DRAM implementiert
DRAM
Dynamischer Direktzugriffsspeicher
Gate-Kapazität
Ab und zu muss man sich erfrischen
Zentralisierte Aktualisierung
Verwenden Sie eine feste Zeit, um den Kondensator aufzufrischen
Todeszeit
Vereinzelte Aktualisierung
Verteilen Sie die Aktualisierung jeder Zeile auf verschiedene Zyklen
keine tote Zone
Asynchrone Aktualisierung
Aktualisierungszeitraum geteilt durch die Anzahl der Zeilen Erfrischen Sie sich von Zeit zu Zeit
Maximale Intervallzeit 2 ms
Es ist Zeit zu sterben
Niedrige Kosten, langsame Geschwindigkeit, hohe Integration
Adress-Pin-Multiplexing
Rom
Rom
Merkmale
Einfache Struktur
nicht flüchtig
Einstufung
MROM-Maskenmuster-Nur-Lese-Speicher
Unveränderlicher Inhalt
PROM einmalig programmierbarer Nur-Lese-Speicher
Einmal geschrieben, kann es nicht mehr geändert werden
EPROM löschbarer programmierbarer Nur-Lese-Speicher
Wiederbeschreibbar, begrenzte Programmierzeiten, lange Schreibzeit
Flash-Speicher (Flash-Speicher)
Langfristige Speicherung von Informationen
Schnelles Löschen und Umschreiben online
CD-ROM
CD-ROM
SSD-Solid-State-Laufwerk
Langfristige Speicherung von Informationen
Schnell löschen, neu schreiben
paralleler Speicher
Dual-Port-Speicher
räumliche Parallelität
Mehrkörper-Parallelspeicher
Zeitparallelität
Crossover höherer Ordnung (sequentieller Modus)
serieller Zugriff
Sequentielles Gedächtnis
Interleaving niedriger Ordnung (Interleaving-Adressierungsmodus)
Die höherwertige interne Adresse wird zur Dekodierung an das niederwertige Modul gesendet.
Pipeline-Ansatz
Zugriffszyklusbit T für den Zugriff auf ein Wort Der Busübertragungszyklus ist r
Anzahl Kreuzmodule ≥ T/r
Die für den kontinuierlichen Zugriff auf m Wörter erforderliche Zeit beträgt T (m-1)/r
Hauptspeicher und CPU-Anbindung
Die Datenleitung ist bidirektional Adresszeilen sind unidirektional
Kapazitätserweiterung
Worterweiterung
2/4-Decoderfunktion: Chipauswahl
Bit-Erweiterung
Das Chipauswahlsignal cs sollte mit allen Chips verknüpft sein
Verbindung zwischen Speicher und CPU
Hohe Chipauswahlleitung, niedrige Adressleitung
① Adresszeile
② Datenkabel
③ IO-Leitung
④ Chip-Auswahlleitung
Externer Speicher
Scheibe
Mindestleseeinheit, ein Sektor
Merkmale
① Niedrige Kosten und große Kapazität
②Langzeitlagerung
③Zerstörungsfreie Auslesung
Einstufung
Festplattenspeicher
Lagerfläche
Magnetkopf (Anzahl der Aufnahmeseiten)
Eine Aufnahmefläche entspricht einem Magnetkopf
Zylinder
Wie viele Titel befinden sich auf jedem Plattenteller?
Sektor
Wie viele Sektoren gibt es auf jeder Strecke?
Liegt im selben Sektor → alle Daten können in einem Speicherzugriff ausgelesen werden
Leistung
durchschnittliche Zugriffszeit
Zeit suchen
Die Zeit, die der Kopf benötigt, um sich zur Zielspur zu bewegen
Verzögerung
Die Zeit, die der Magnetkopf benötigt, um die Lese- und Schreibsektoren zu lokalisieren
Übertragungszeit
Zeit, Daten zu übertragen
Sektorzeit abfragen
Zeit suchen/2
Datenübertragungsrate
Umdrehungen pro Sekunde × Kapazität jeder Spur n Bits
Lese- und Schreibvorgänge erfolgen seriell
Disk-Array
RAID0
Keine Redundanz, keine Prüfsumme
RAID1
Spiegelplattenarray
gegenseitige Unterstützung
RAID2
Fehler beim Korrigieren des Hamming-Code-Disk-Arrays
RAID3
Bit-Kreuzparitätsprüfung
RAID4
Blockkreuzparität
RAID5
Paritätsprüfung ohne unabhängige Überprüfung
SSD-Flash-Speicher
Kein Unterschied zur U-Disk
Zufälliges Schreiben ist langsam
Es wird zu Verschleiß kommen
Cache-Cache
Arbeitsprinzip
Die CPU gibt eine Speicherzugriffsanforderung aus. Wenn sich die physische Adresse des Hauptspeichers im Cache befindet, wird sie getroffen und der Cache wird direkt gelesen. Wenn der Cache fehlschlägt, muss er dennoch auf den Hauptspeicher zugreifen und ihn aus dem Hauptspeicher in den Cache laden.
Cache-Blocklänge, auch Zeilenlänge genannt
Unsichtbar für alle Programmierer
Zuordnungsmethode von Cache und Hauptspeicher
direkte Zuordnung
Die niedrigste Trefferquote und der kürzeste Zeitaufwand
Assoziative Zuordnung festlegen
Tag und Gruppennummer bilden die Hauptspeicherblocknummer
Unter der Annahme, dass jede Gruppe r Cache-Zeilen hat, wird dies als r-Wege-Set-Assoziativ bezeichnet r fungiert als Gruppe
Die Anzahl der Komparatoren im Cache beträgt ebenfalls r
Cache-Kapazität (Bit) = Anzahl der Zeilen × (Daten pro Zeile, gültige Bits, schmutzige Bits, Ersatzsteuerbits, Flag-Bits)
Die Einheit jeder Datenzeile ist Bit
Schmutzige Teile (konsequente Wartung)
Rückschreibmethode
Steuerbit ersetzen
Bei Verwendung des Ersetzungsalgorithmus ist dieses Bit Bei Verwendung der Zufallsersetzungsstrategie ist dieses Bit nicht verfügbar
Ersetzungsalgorithmus
① Zufallsalgorithmus
② First-In-First-Out-Algorithmus
Ersetzen Sie zuerst die älteste Zeile
③ Zuletzt verwendeter Algorithmus (Prinzip der Lokalität) LRU
Ersetzen Sie kürzlich nicht besuchte Zeilen
④ LFU wird am seltensten verwendet
vollständig assoziative Abbildung
Die höchste Trefferquote und die längste benötigte Zeit
Cache-Schreibstrategie
①
Vollständige Schreibmethode (direktes Schreiben)
Hohe Sicherheit
CPU-Schreibtreffer im Cache
Daten müssen gleichzeitig in den Hauptspeicher und den Cache geschrieben werden Wenn ein bestimmter Block ersetzt werden muss, überschreiben Sie ihn direkt mit dem neuen Block
Schreibpuffer
Um den Zeitverlust beim Schreiben direkt in den Hauptspeicher zu reduzieren
Die CPU schreibt gleichzeitig Daten in den Cache und den Schreibpuffer. Schreiben Sie den Puffer und dann den Inhalt in den Hauptspeicher
nicht schreibende Zuweisungsmethode
CPU-Schreibfehler im Cache
Beim Schreiben in den Hauptspeicher wird kein Blockabgleich durchgeführt
②
Rückschreibmethode (Rückschreibmethode)
für intensiv
CPU-Schreibtreffer im Cache
Schreibt Daten nur in den Cache, nicht sofort in den Hauptspeicher Schreibt nur in den Hauptspeicher, wenn dieser Block ausgelagert wird
Schreibzuweisungsmethode
CPU-Schreibfehler im Cache
Laden Sie den Hauptspeicherblock in den Cache und aktualisieren Sie dann den Cache-Block
Nachteil: Bei jedem Fehler muss ein Block aus dem Hauptspeicher gelesen werden.
virtueller Speicher
Logische Adresse (virtuelle Adresse) für die Benutzerprogrammierung Die Hauptspeichereinheit ist die physikalische Adresse (reale Adresse)
Virtuelle Adresse = Seitennummer des virtuellen Speichers innerhalb der Seite
Reale Adresse = Hauptspeicherseitennummer innerhalb der Seite
Die CPU verwendet virtuelle Speicheradressen, um über Hilfshardware die Zuordnungsbeziehung zwischen virtuellen und realen Adressen herauszufinden. Wenn es sich im Hauptspeicher befindet, erfolgt die Adresskonvertierung Wenn es sich nicht im Hauptspeicher befindet, wird es in den Hauptspeicher ausgelagert und von der CPU darauf zugegriffen. Ist der Hauptspeicher voll, kommt der Ersetzungsalgorithmus zum Einsatz
Fehlende Treffer haben große Auswirkungen auf die Systemleistung.
Verwenden Sie vollständig assoziatives Mapping, um die Trefferquote zu verbessern
Rückschreibmethode
Unsichtbar für Anwendungsprogrammierer, sichtbar für Systemprogrammierer
Einstufung
Seitenspeicher
in Seiten
Seitentabelle
Suchen Sie den entsprechenden Seitentabelleneintrag basierend auf der virtuellen Seitennummer in den hohen Bits der virtuellen Adresse.
Schneller Tabellen-TLB
Besteht aus assoziativem Gedächtnis
Adressierung von Inhalten
Verwenden Sie gruppenassoziativ oder vollständig assoziativ
TLB-Tag
Vollständig zugeordnete virtuelle Seitenzahl
Set-assoziatives High-Bit für die virtuelle Seitennummer
mehrstufiges Lagersystem
Die Beziehung zwischen TLB, Seite und Cache
Der TLB speichert eine Teilkopie der Seite
Der Cache speichert eine Kopie eines Teils des Hauptspeichers
Wenn der TLB trifft, muss die Seite treffen. Wenn der TLB fehlt, kann die Seite trotzdem treffen. Wenn die Seite fehlt, müssen sowohl TLB als auch Cache fehlen.
Cache-Fehler werden von der Hardware verursacht Die fehlende Seite wird durch die Software vervollständigt (Ausnahmehandler für fehlende Betriebssystemseite) Die TLB-Löschung kann sowohl in der Hardware als auch in der Software erfolgen
segmentierter Speicher
Segmentnummer, Segmentadresse, Zusammensetzung
Segmenttabellendatensätze: ① erste Adresse des Segments ② Ladebit ③ Segmentlänge
segmentierter Speicher
Mit Seite als Grundübertragungseinheit
① Abschnittsnummer ② Seitennummer innerhalb des Abschnitts ③ Adresse innerhalb der Seite
Kapitel Vier Anweisung
Befehlssatzarchitektur ISA
Hauptinhalt: Befehlsformat, Datentyp und -format, Operandenspeichermethode, Anzahl der für das Programm zugänglichen Register und deren Nummern Speicherplatzgröße und Adressierungsmodus, Adressierungsmodus, Befehlsausführungskontrollmodus usw.
Befehlsformat
Operationscode OP Adresscode A
Die Befehlswortlänge ist ein ganzzahliges Vielfaches von Bytes
Einstufung
Nulladressenanweisung
Nur Opcode op
Betriebsanweisungen: kein Betrieb, Herunterfahren, Herunterfahren unterbrechen Arithmetische Anweisungen werden in Stapelcomputern verwendet (die Operanden kommen von der Oberseite des Stapels und der Oberseite des zweiten Stapels).
ein Adressbefehl
Einzeloperandenbefehl mit nur Zieloperanden
Das Ergebnis wird wieder an der ursprünglichen Adresse gespeichert
Zwei-Operanden-Anweisungen mit implizit vereinbarten Zieloperanden
Ein weiterer Operand wird von ACC durch eine implizite Adressierungsvereinbarung bereitgestellt. Das Operationsergebnis wird im ACC gespeichert
Zwei Adressanweisungen
Geben Sie den Zieloperanden und den Quelloperanden an
Das Ergebnis wird an der Zieloperandenadresse gespeichert
Drei Adressanweisungen
Geben Sie den Zieloperanden, den Quelloperanden und das Ergebnis an
Greifen Sie viermal auf den Speicher zu: einmal Befehl abrufen, zweimal Operanden abrufen, einmal Ergebnis speichern
Vier Adressanweisungen
op, Zieloperand, Quelloperand, Ergebnis, nächste Adresse
Der Operationscode besteht aus 8 Bits und die 4 Adresscodes sind jeweils 6 Bits lang.
Erweitertes Opcode-Anweisungsformat
① Der kurze Opcode darf nicht mit dem vorherigen Teil des langen Opcodes identisch sein
② Die Operationscodes jeder Anweisung werden nicht wiederholt.
Erweiterungsmodus
Alle Einsen sind für die nächste Adressbefehlserweiterung reserviert.
Operationstyp
① Datenübertragung
② Arithmetische und logische Operationen
③ Schichtbetrieb
④ Übertragungsvorgang
bedingungslose Übertragung
auf jeden Fall ausführen
bedingte Übertragung
Unter bestimmten Bedingungen ausführen
Der Unterschied zwischen Übertragungsanweisungen und Anrufanweisungen
Der aufrufende Befehl speichert die nächste Befehlsadresse (Rücksprungadresse). Der Übertragungsbefehl kehrt nicht zur Ausführung zurück
⑤ Eingabe- und Ausgabeoperationen
Anweisungen zur Programmsteuerung
bedingungslose Übertragung
bedingte Übertragung
Unterprogrammaufruf
Befehl zurückgeben
Schleifenanweisungen
Privilegierte Anweisungen
Für Betriebssysteme und Systemsoftware
Für Benutzer nicht verfügbar
Befehlsadressierungsmodus
Anweisungsadressierung
sequentielle Adressierung
PC-Programmzähler 1 bildet den nächsten Befehl
Adressierung überspringen
Umsetzung durch Übertragungsanweisungen
Der aktuelle Befehl ändert den PC-Wert und der nächste Befehl wird weiterhin über den PC gegeben.
Datenadressierung
Einstufung
implizite Adressierung
Der andere Operand eines Einzeladressenbefehls kann durch implizite Adressierung, abgeleitet von ACC, erhalten werden
Programmspezifikation
sofortige Ansprache
Das Adressfeld gibt direkt den Operanden selbst an, wobei die Zweierkomplementdarstellung verwendet wird.
Komfortabel
Direkte Ansprache
EA=A
Die Anzahl der Bits in A bestimmt den Adressbereich des Operanden
Reduzierte Befehlslänge
1 Zugang
Indirekte Adressierung
EA = (A)
Eine indirekte Adresse erfordert zwei Speicherzugriffe
Erleichtert die Erweiterung des Adressbereichs
Adressierung registrieren
EA = Ri
Geben Sie direkt die Registernummer an
Die Ausführungsphase greift nicht auf den Hauptspeicher zu, sondern nur auf Register.
Die Länge des Adresscodes ist klein (verkürzt)
Registrieren Sie die indirekte Adressierung
EA = (Ri)
Ri ist kein Operand, sondern die Adresse der Hauptspeichereinheit, in der sich die Operation befindet.
Zugriff auf den Speicher erforderlich
Operanden liegen im Hauptspeicher
relative Adressierung
EA = (PC) A
A ist die Verschiebung relativ zum aktuellen PC-Wert, ausgedrückt als Komplement
für Überweisungsanweisungen
1 Zugang
Basisadressierung
EA = (BR) A
BR wird für das Mehrkanaldesign verwendet und ist das Basisadressregister (sichtbar).
1 Zugang
indizierte Adressierung
Effektive Adresse = formale Adresse Ein Indexregister IX EA = (IX)A
Benutzerorientiert
Umgang mit Array-Problemen
1 Zugang
Stack-Adressierung
zuletzt rein, zuerst raus
Codedarstellung auf Maschinenebene
Montageformat
AT&T-Format
Der erste ist der Quelloperand, der zweite ist der Zieloperand. Die Richtung ist von links nach rechts, was natürlich ist
Registern wird % vorangestellt, und unmittelbaren Nummern wird $ vorangestellt.
Die Speicheradressierung verwendet ()
Intel-Format
Der erste ist der Zieloperand, der zweite ist der Quelloperand. Richtung von rechts nach links
Register und Sofortnummern müssen nicht vorangestellt werden
Die Speicheradressierung verwendet [ ]
Verglichen
Allgemeine Befehle
Intel-Format
Blick von rechts nach links
Datenübertragungsklasse
MOV-Anweisung
Kopieren Sie einen Wert in einen anderen
zB: mov eax, ebx Kopieren Sie den EBX-Wert nach EAX
Push-Anweisung
Zum Stapeln drücken
pop-Befehl
Pop
Arithmetische und logische Operationen
add/sub-Befehl
Addition und Subtraktion
Speichern Sie das Ergebnis unter der ersten Zahl
zB: sub eax, 10 eax - 10 → eax
Inc/Dec-Anweisungen (erhöhen/verringern)
Selbstzunehmend und selbstvermindernd
imul-Direktive (Multiplikation)
Multiplikation symbolischer Zahlen
Das Ergebnis wird im ersten Operanden gespeichert, der ein Register sein muss
zB: imul eax, [var] eax × [var] → eax
zB: imul esi, edx, 25 25 × edx → esi
idiv-Direktive (Aufteilung)
Division symbolischer Zahlen
Es gibt nur einen Operanden, den Divisor
zB: idiv ebx
und/oder/xor Anweisungen
UND, ODER, XOR
Das Ergebnis wird im ersten Operanden abgelegt
zB: und eax, 0 fH Die ersten 28 Bits von eax sind 0 und die letzten 4 Bits bleiben unverändert.
keine Anweisung
Bit-Flip
0→1, 1→0
neg-Anweisung (Negativ)
Nimm das Negative
zB: neg eax -eax→eax
shl/shr-Befehl (Schicht)
Logische Verschiebung nach links, logische Verschiebung nach rechts
Der erste Operand repräsentiert das Ausführungsobjekt Die zweite Zahl gibt die Anzahl der Schichten an
Beispiel: shl eax, 1 eax verschiebt sich logisch um 1 Bit nach links shr ebx, cl ebx verschiebt sich logisch um n Bits nach rechts (n ist der Wert in cl)
Kontrollflussklasse
jmp-Befehl
Transferanweisung
jcondition-Anweisung
bedingte Übertragungsanweisungen
cmp/test-Befehl
cmp-Vergleichswertgröße test führt eine bitweise UND-Operation an den Operanden durch
Call/Ret-Anweisung
Unterprogrammaufruf und Rückkehr
CISC und RISC
CISC
komplexes Befehlssystem
RISC
Optimiertes Befehlssystem
Verglichen
Kapitel fünf CPU
CPU-Struktur
Operator
Arithmetisch-logische Operationseinheit ALU
Arithmetische und logische Operationen
Notizblock
Aus dem Hauptspeicher gelesene Daten vorübergehend speichern
Akkumulationsregister ACC
ALU-Ergebnisinformationen vorübergehend speichern
Allgemeines Register X
Ermöglicht Benutzern die freie Programmierung und kann Daten und Adressen speichern.
Entspricht der Maschinenwortlänge
sichtbar
Programmstatuswortregister PSW
Behalten Sie verschiedene Statusinformationen der Ergebnisse
sichtbar
Schalthebel
Führen Sie Schiebeoperationen an Operanden oder Operationsergebnissen durch
Gegen-CT
Steuern Sie die Anzahl der Schritte für Multiplikations- und Divisionsoperationen
Regler
Programmzähler PC
Gibt die Speicheradresse im Hauptspeicher der auszuführenden Anweisung an.
Die Anzahl der Bits entspricht der Anzahl der Speicheradressbits Die Speicheradresse hängt von der Speicherkapazität ab
sichtbar
Befehlsregister IR
Speichern Sie den aktuell ausgeführten Befehl
Die gleiche Länge wie die Länge des Befehlsworts
können nicht durch Universalregister ersetzt werden
Befehlsdecoder
Dekodieren Sie den Opcode
Unsichtbar
Speicheradressregister MAR
Speichern Sie die Adresse der Hauptspeichereinheit
Unsichtbar
Speicherdatenregister MDR
Speichern Sie Informationen, die in den Hauptspeicher geschrieben oder daraus gelesen werden
Unsichtbar
Zeitmesssystem
Wird zur Erzeugung verschiedener Zeitsignale verwendet
Signalgenerator
CPU-Funktion
Der Controller ist für die Koordinierung und Steuerung der Befehlssequenz (Abrufen, Analysieren, Ausführen) des von jeder Komponente des Computers ausgeführten Programms verantwortlich. Rechner verarbeiten Daten
① Befehlssteuerung, Abschluss der Vorgänge zum Abrufen, Analysieren und Ausführen von Anweisungen
② Betriebssteuerung
③ Zeitkontrolle
④ Datenverarbeitung
⑤ Verarbeitung unterbrechen
Befehlsausführungsprozess
Unterrichtszyklus
Die Zeit, die zum Abrufen und Ausführen einer Anweisung benötigt wird
Dargestellt durch mehrere Maschinenzyklen
Maschinenzyklus
Feste Länge
Unfixierte Länge
Befehlsabruf, indirekte Adresse, Ausführung, Interrupt
Abrufzyklus
Je nach PC-Inhalt wird der Befehlscode aus dem Hauptspeicher abgerufen und im IR abgelegt
Der PC speichert die Adresse des Befehls. Entsprechend dieser Adresse wird der Befehl aus der entsprechenden Speichereinheit abgerufen und im IR abgelegt.
PC 1 beim Abrufen
Anweisungen werden automatisch von der Maschine abgerufen
indirekter Adresszyklus
Rufen Sie die effektive Adresse des Operanden ab
Senden Sie den Adresscode des Befehls an MAR und geben Sie einen Lesebefehl an den Adressbus aus, um die effektive Adresse zu erhalten, und speichern Sie ihn schließlich im MDR.
Zwei Zugänge
Ausführungszyklus
Nehmen Sie den Operanden und erzeugen Sie das Ergebnis durch die ALU-Operation gemäß dem Opcode des Befehlsworts von IR
Unterbrechungszyklus
Behandeln Sie die Interrupt-Anfrage
Aktionsplan
einzelner Befehlszyklus
mehrere Befehlszyklen
Pipeline-Lösung
Datenweg
Funktion
Datenübertragungsweg zwischen Funktionskomponenten
Beschreibt, wo die Informationen beginnen, welches Register oder welchen Multiplexer sie durchlaufen und an welches Register sie schließlich übertragen werden.
gesteuert durch Steuereinheit
Grundstruktur
CPU-interner Einzelbusmodus
CPU-interner Multi-Bus-Modus
Die Ein- und Ausgangsports aller Register sind mit mehreren gemeinsamen Pfaden verbunden
Dedizierter Datenpfadansatz
Lesen Sie den Finger
(PC)→MÄRZ 1→R MEM (MAR)→MDR (MDR)→IR
(MDR)→MÄRZ 1→R MEM (MAR)→MDR (MDR)→Y (ACC) (Y)→Z (Z)→ACC
Regler
festverdrahteter Controller
Steuergerät
IR
Das Opcode-Feld der Anweisung ist das Eingangssignal an die Steuereinheit
FR (Flaggenregister)
Rückmeldungsinformationen von der Ausführungseinheit
Zeitliche Koordinierung
Beat-Generator
Erzeugen Sie Maschinenperiodensignale und Schwebungssignale
Die Steuereinheit akzeptiert auch Steuersignale vom Systembus, wie z. B. Interrupts, DMA
Mikrooperationen
In einem Maschinenzyklus können mehrere Mikrooperationen durchgeführt werden
bringen
(PC)→MÄRZ 1→R M(MAR)→MDR (MDR)→IR (PC) 1→PC
indirekte Adresse
Ad(IR)→MAR 1→R M(MAR)→MDR
implementieren
nicht abrufbar
CLA
ACC löschen
CoM
Negieren
SHR
arithmetische Rechtsverschiebung
CSL
Radeln Sie nach links
STP
abschalten
Zugang
Zusatz Ad(IR)→MAR M(MAR)→MDR (MDR) (ACC)→ACC STA X Store-Anweisung Ad(IR)→MAR, 1→Speicher schreiben (ACC)→MDR (MDR)→M(MAR) LDA X-Abrufanweisung Ad(IR)→MAR,1→R M(MAR)→MDR (MDR)→ACC
überweisen
JMP X(bedingungslose Übertragung) Ad(IR)→PC BAN X (bedingte Übertragung)
Kontroll-Methode
Synchrone Steuermethode
einheitliche Uhr
Asynchrone Steuerungsmethode
Jede Komponente arbeitet mit ihrer eigenen Geschwindigkeit
gemeinsame Kontrollmethode
Die meisten verwenden synchron, einige verwenden asynchron
mikroprogrammierter Controller
Verwenden Sie Speicherlogik, um Mikrooperationssignale zu kodieren
Eine Maschinenanweisung wird als Mikroprogramm geschrieben und jedes Mikroprogramm enthält mehrere Mikroanweisungen. Eine Maschinenanweisung kann in eine Folge von Mikrooperationen zerlegt werden (die grundlegendste und kann nicht weiter unterteilt werden).
Normalerweise entspricht ein Mikroprogrammzyklus einem Befehlszyklus
Es soll die Synchronisation des gesamten Maschinensteuersignals sicherstellen.
Mikroanweisungen werden in der Steuerspeichereinheit gespeichert
Mikrobefehle sind die Steuersignale von Mikrooperationen, und Mikrooperationen sind die Ausführungsprozesse von Mikrobefehlen.
Der Hauptspeicher dient der Speicherung von Daten und Programmen und wird außerhalb der CPU mittels RAM implementiert. Der Steuerspeicher CM wird zum Speichern von Mikroprogrammen verwendet. Er ist mit einem ROM (EPROM) innerhalb der CPU implementiert und wird entsprechend der Adresse des Mikrobefehls aufgerufen.
Struktur
Arbeitsprozess
Mikroanweisungen abrufen
Aus dem Opcode-Feld des Maschinenbefehls generiert die Mikroadressenbildungskomponente die dem Maschinenbefehl entsprechende Mikroprogramm-Eintragsadresse und sendet sie an CMAR.
Rufen Sie die entsprechenden Mikroanweisungen einzeln vom CM ab und führen Sie sie aus
Kehren Sie zur Mikroprogramm-Eintragsadresse zurück und wiederholen Sie den Vorgang
Codierung
direkte Kontrolle
Felddirektkodierungsmethode
Das Mikrobefehlsfeld ist in mehrere Felder unterteilt, Sich gegenseitig ausschließende Mikrobefehle werden im selben Feld platziert, und Kompatibilitätsbefehle werden in verschiedenen Feldern platziert.
Alle 0 bedeuten keine Operation
Methode zur indirekten Kodierung von Feldern
Ein Mikrobefehl für ein Feld wird von einem Mikrobefehl für ein anderes Feld interpretiert. Verkürzen Sie die Länge des Mikrobefehlsworts
Methode zur Bildung von Mikrobefehlsadressen
Beurteilungsmethode
Gegeben durch die Adresse unter der Mikroanweisung
Auf Maschinenanweisungen basierende Opcodes
inkrementelle Zählung
Zeichengesetz
Cyber-Recht
Hardware-Gesetz
Mikrobefehlsformat
horizontale Mikroanweisungen
Starke Parallelbetriebsfähigkeit
Kurze Ausführungszeit
vertikale Mikroanweisungen
Es kann nur eine Grundoperation parallel ausgeführt werden
lange Ausführungszeit
Gemischte Mikroanweisungen
Verglichen
Ausnahmen und Unterbrechungen
abnormal
Unerwartete Ereignisse, die innerhalb der CPU generiert werden, werden Ausnahmen (interne Interrupts) genannt.
Zum Beispiel: Hardwarefehler-Interrupt (Speicherprüfungsfehler, Busfehler) Programmatische Ausnahmen (Division durch 0, Überlauf, Haltepunkt, Einzelschrittverfolgung, unzulässige Anweisung, Stapelüberlauf, Adresse außerhalb der Grenzen, Seitenfehler)
Interner Interrupt ist ein nicht maskierbarer Interrupt
Die abnormale Erkennung wird von der CPU selbst durchgeführt
Einstufung
Programmierter Interrupt (Software-Interrupt)
Fehler
Fehlender Abschnitt
Fehlende Seite
Laden Sie die erforderlichen Segmente oder Seiten von der Festplatte in den Hauptspeicher und kehren Sie zur fehlgeschlagenen Anweisung zurück, um die Ausführung fortzusetzen.
Ungültiger Opcode
Teiler ist 0
Der Fehler kann nicht über den Ausnahmehandler behoben werden (der Handler muss noch aufgerufen werden), die Ausführung kann nicht zum Haltepunkt zurückgegeben werden und der Prozess wird direkt beendet.
sich selbst eine Falle stellen
Haltepunkteinstellungen für das Programm-Debugging. Rufen Sie das Kernelprogramm des Betriebssystems automatisch zur bedingungslosen oder bedingten Ausführung auf
Beenden (Hardware-Interrupt)
Controller-Fehler, Speicherüberprüfungsfehler usw.
Rufen Sie die Interrupt-Serviceroutine auf und starten Sie das System neu
Externer Interrupt (Hardware-Interrupt)
Ein Gerät außerhalb der CPU, das eine Interrupt-Anfrage an die CPU sendet, wird als Interrupt (externer Interrupt) bezeichnet.
Beispiel: E/A-Interrupt vom E/A-Gerät ausgegeben (Tastatureingabe, Drucker hat kein Papier mehr) Besonderes Ereignis (der Benutzer drückt die Esc-Taste und der Timer erreicht die Zeit)
Die CPU muss Interrupt-Quelleninformationen über die Interrupt-Anforderungsleitung erhalten
Einstufung
Maskierbarer Interrupt (niedrige Priorität)
Über die maskierbare Interrupt-Anforderungsleitung INTR wird eine Interrupt-Anforderung an die CPU ausgegeben. Die CPU kann maskieren oder nicht maskieren, indem sie das entsprechende Maskenwort im Interrupt-Controller setzt. Maskierte Interrupt-Anfragen werden nicht an die CPU gesendet
Nicht maskierbarer Interrupt (hohe Priorität)
Beispiel: Stromausfall
Über die dedizierte, nicht maskierbare Interrupt-Anforderungsleitung NMI an die CPU ausgegebene Interrupt-Anforderung
Reaktionsprozess
Der gesamte Antwortvorgang kann nicht unterbrochen werden
Schalten Sie Interrupts aus
Deaktivieren Sie entsprechende neue Interrupts, indem Sie das Interrupt-Freigabebit IF-Flip-Flop setzen.
Haltepunkte und Programmstatus speichern
Um an die unterbrochene Stelle zurückkehren zu können, um die Ausführung fortzusetzen, nachdem die Ausnahme- und Interrupt-Verarbeitung abgeschlossen ist.
Identifizieren Sie Ausnahmen und Unterbrechungen und gehen Sie zum entsprechenden Programm
Identifikationsmethode
Software-Identifizierung
Die CPU legt ein Ausnahmestatusregister fest, um die Ursache der Ausnahme aufzuzeichnen. Fragen Sie das Ausnahmestatusregister in der Reihenfolge der Priorität ab und gehen Sie dann zum entsprechenden Handler im Kernel
Hardware-Identifizierung
vektorisierter Interrupt
Die erste Adresse einer Ausnahme oder eines Interrupts wird als Interrupt-Vektor bezeichnet. Alle Interrupt-Vektoren werden in der Interrupt-Vektortabelle platziert. Jedem Interrupt oder jeder Ausnahme entspricht eine Interrupt-Typnummer.
Anweisungspipeline
Definition
Eine Anweisung ist in mehrere Phasen unterteilt, wobei jede Phase durch die entsprechende Funktionskomponente abgeschlossen wird
Erfordern
Die Anweisungslänge sollte gleich sein Reguläres Befehlsformat Mit Lade-/Speicherbefehlen können keine anderen Register auf den Speicher zugreifen. Daten und Anweisungen werden im Speicher ausgerichtet
Abenteuer am Fließband
① Strukturabenteuer
Mehrere Anweisungen konkurrieren gleichzeitig um dieselbe Ressource
Lösung 1) Nachfolgende Anweisungen aussetzen 2) Datenspeicher und Befehlsspeicher getrennt einrichten
② Datenabenteuer
Der nächste Befehl verwendet das Berechnungsergebnis des aktuellen Befehls und die beiden Befehle führen zu Datenkonflikten.
Lesen nach Schreiben
lesen und Schreiben
schreibe nach dem anderen
Lösung 1) Unterbrechen Sie Anweisungen und nachfolgende Anweisungen, bei denen datenbezogene Konflikte auftreten, für einen oder mehrere Zyklen 2) Richten Sie relevante Datenpfade ein (Datenbypass-Technologie) und senden Sie die Operationsergebnisse schnell an das Register, sobald sie vorliegen 3) Passen Sie die Reihenfolge der Anweisungen an
③ Kontrolliere das Abenteuer
Übertragungsanweisungen, Anrufe, Rücksendungen usw. verändern den PC-Wert und führen zu einer Unterbrechung des Datenflusses.
Lösung 1) Vorhersagen von Verzweigungen für Übertragungsanweisungen und Generierung von Übertragungszieladressen so früh wie möglich 2) Zielanweisungen in zwei Kontrollflussrichtungen vorab abrufen, erfolgreich und erfolglos.
Pipeline-Leistungsindikatoren
Pipeline-Durchsatz
Beschleunigung der Pipeline
Fortschrittliche Pipeline-Technologie
superskalare Pipeline
Dynamische Multi-Emissions-Technologie
Kombiniert mit dynamischer Pipeline-Planungstechnologie, durch dynamische Verzweigungsvorhersage und andere Mittel Pro Taktzyklus können mehrere unabhängige Befehle gleichzeitig ausgeführt werden
Sehr lange Anweisungsworttechnologie
Statische Multi-Emissions-Technologie
Kombinieren Sie mehrere Befehle, die parallel ausgeführt werden können, zu einem sehr langen Befehlswort mit mehreren Opcodes
Super-Pipeline-Technologie
Funktionssegmente sind in mehrere unterteilt
Multiprozessor
Einzelner Befehlsstrom, einzelner Datenstrom SISD
seriell
Ein Prozessor und ein Speicher
sequentielle Ausführung
SIMD mit einem einzelnen Befehlsstrom und mehreren Datenströmen
Datenparallele Technologie
Vektorprozessor
MISD mit mehreren Anweisungen und einem einzelnen Datenstrom
ist nicht vorhanden
Multiple Instruction Multiple Data Streams MIMD
Paralleles Rechnen
Hardware-Multithreading
Feinkörniges Multithreading
Multithreading erfolgt abwechselnd und kreuzweise ausgeführt
Ähnlich wie bei der Zeitscheibenrotation
Grobkörniges Multithreading
Wechseln Sie Threads nur, wenn ein Thread einen großen Overhead hat
Gleichzeitiges Multithreading
Im selben Taktzyklus werden mehrere Anweisungen in mehreren verschiedenen Threads zur Ausführung ausgegeben.
Shared-Memory-Multiprozessor (SMP)
Durch die gemeinsame Nutzung eines physischen Adressraums können Sie Programme unabhängig voneinander in Ihrem eigenen virtuellen Adressraum ausführen
Einheitlicher Speicherzugriff UMA
Wie der Prozessor mit dem gemeinsam genutzten Speicher verbunden ist
Ungleichmäßiger Speicherzugriff NUMA
Kombinationslogikschaltungen und sequentielle Logikschaltungen
Kombinierte Logikschaltungen verfügen nicht über eine einheitliche Taktsteuerung Sequentielle Logikschaltungen müssen im Takt arbeiten
Kombinierte Logikschaltungen enthalten keine Speicherzellen zum Speichern von Signalen Sequentielle Logikschaltungen enthalten Speicherzellen, die Signale speichern
Kapitel Sechs Bus
Eine öffentliche Informationsübertragungsleitung, die von mehreren Komponenten zeitgesteuert genutzt werden kann
Pünktlich senden, gleichzeitig empfangen
Busklassifizierung
On-Chip-Bus
Der Bus im Chip
System Bus
Adressbus
Ein Einwegbus, der von der CPU zum Auswählen der Hauptspeichereinheitsadresse und der E/A-Portadresse verwendet wird und nicht zurückübertragen werden kann.
Datenbus
Dateninformationen übertragen, bidirektionale Leitung
Steuerbus
I/O-Bus
Schließen Sie IO-Geräte mit niedriger bis mittlerer Geschwindigkeit an
Datenkabel
Übertragen Sie den Inhalt des Datenpufferregisters und des Befehls-/Statusregisters
Adresszeile
Portadresse zur Übertragung der mit der CPU ausgetauschten Daten
Steuerleitung
Lese- und Schreibsignale senden
Kommunikationsbus
externer Bus
Ein Bus, der Informationen zwischen Computersystemen oder zwischen Computersystemen und anderen Systemen überträgt
Systembusstruktur
Einzelbusstruktur
Dual-Bus-Struktur
Der Hauptspeicherbus dient der Datenübertragung zwischen CPU, Hauptspeicher und Kanälen Der IO-Bus dient der Datenübertragung zwischen externen Geräten und Kanälen
Struktur mit drei Bussen
Hauptspeicherbus IO-Bus DMA-Bus
Busstandard
IST EIN
Industriestandard-Architektur
EISA
erweiterte isa für 32-Bit-CPUs
VESA
Verband für Videoelektronikstandards 32-Bit-Lokalbus
PCI
Anbindung externer Geräte
Hochleistungsfähiger 32- oder 64-Bit-Bus
Plug-and-Play
Gehört zum örtlichen Bus
AGP
beschleunigter Grafikport
Gehört zum örtlichen Bus
PCI-E
Die neuesten Busschnittstellenstandards
seriell
Ersetzen Sie PCI, AGP
RS-232C
serieller Kommunikationsbus
USB
Universeller serieller Bus
PCMCIA
Laptop-Schnittstelle
IDE
Integrierte Geräteschaltung
SCSI
Schnittstelle für ein kleines Computersystem
SATA
serielle fortschrittliche Technologie
Leistung
Busübertragungszyklus
Besteht aus mehreren Bustaktzyklen
Bustaktzyklus
Busbetriebsfrequenz
= Taktfrequenz/N
Bustaktfrequenz
Der Kehrwert der Bustaktperiode
Busbandbreite
= Bus-Betriebsfrequenz × (Busbreite/8)
Bustransaktion
fragen
Schlichtung
Adressierung
Übertragung
befreit
Burst-Übertragung (Burst-Übertragung)
Senden Sie zuerst die Adresse und dann die Daten Sie müssen die Adresse nur einmal übermitteln, die Folgedaten werden fortlaufend gesendet.
Timing-Modus
Synchroner Timing-Modus
Das System verwendet ein einheitliches Taktsignal
Hohe Übertragungseffizienz
Schlechte Zuverlässigkeit
Asynchroner Timing-Modus
Timing per Handshake-Signal
Kein Verriegelungsmodus
Halbverzahnte Methode
Vollständige Verriegelungsmethode
Bus-Arbitrierungssteuerung (Bus-Schlichtung)
zentralisiert
Kette
Schaltungsdesign
Das Gerät, das dem Bus am nächsten ist, hat die höchste Priorität
Einfache Erweiterung der Ausrüstung
Empfindlich gegenüber Stromkreisfehlern
Verwenden Sie nur zwei Drähte, um zu bestimmen, welchen Bus ein Gerät verwendet
Zähler-Timing
Schaltungsdesign
Die Zählung beginnt bei 0
Feste Priorität
Die Zählung beginnt am Endpunkt
Die Prioritäten sind gleich
Der Zählerwert wird vom Programm festgelegt
Variable Priorität
Komplexe Kontrolle
Nehmen Sie log₂n-Zeilen
unabhängige Anfrage
Schaltungsdesign
schnelle Antwort
Flexible Prioritätensteuerung
Die Bussteuerung ist kompliziert
Nimm 2n Zeilen
verteilt
Die Steuerlogik ist auf verschiedene an den Bus angeschlossene Geräte verteilt
Kapitel VII Input-Output
IO-System
IO-Hardware
IO-Geräte werden über den Gerätecontroller an den Mainboard-Systembus angeschlossen
externes Gerät
Eingabegerät
Tastatur Maus
Ausgabegerät
Monitor
Bildschirmgröße
Auflösung
Graustufen
Je mehr Graustufen vorhanden sind, desto realistischer ist das Bild
8-Bit (256 Stufen) → 256 Farben
Aktualisierung
Aktualisierungsrate
Speicher anzeigen
VRAM-Kapazität = Auflösung × Anzahl der Graustufenbits VRAM-Bandbreite = Auflösung × Anzahl der Graustufenbits × Bildrate
Drucker
Klassifizierung nach Arbeitsmethode
Nadeldrucker
Nadeldrucker
Tintenstrahldrucker
Laserdrucker
In einem Computer belegt ein interner Code für chinesische Schriftzeichen 2B im Hauptspeicher.
Schnittstelle
Ein logisches Gerät, das die Datenübertragung zwischen Peripheriegeräten und dem Host koordiniert
Eingabegerät
Ausgabegerät
Externer Speicher
IO-Software
Treiber
Benutzerprogramm
Managementprogramm
IO-Steuerungsmethode
Programmabfragemethode
Die CPU prüft kontinuierlich durch das Programm, ob das IO-Device bereit ist
Sobald die CPU IO startet, muss sie die Ausführung des aktuellen Programms stoppen.
Merkmale
Die CPU weist ein Stepping-Warte-Phänomen auf
Wiederholen Sie den Vorgang so lange, bis er abgeschlossen ist
CPU und IO seriell funktionieren
Programmunterbrechungsmodus
Wenn das E/A-Gerät bereit ist, senden Sie eine Interrupt-Anfrage an die CPU
Funktion
CPU- und IO-Parallelität
Umgang mit Hardwarefehlern und Softwarefehlern
Menschliche interaktion mit dem Computer
Mehrere Programme, Time-Sharing-Vorgänge
Arbeitsprozess
Die Interrupt-Reaktion erfolgt am Ende einer Befehlsausführung
Unterbrechungsanforderung
Interrupt-Antwort-Arbitrierung
Nicht maskierbarer Interrupt > Interne Ausnahme > Maskierbarer Interrupt
Interrupt-Antwortbedingungen
Die Interrupt-Quelle hat eine Interrupt-Anfrage
CPU-Offen-Interrupt
Eine Anweisung wird ausgeführt
Interrupt-Vektor
Die Eingangsadresse des Interrupt-Programms
Bestimmen Sie den Interrupt-Typ
Nachdem die CPU auf den Interrupt reagiert hat, ermittelt sie die Interrupt-Typnummer, indem sie die Interrupt-Quelle identifiziert und die Adresse des entsprechenden Interrupt-Vektors berechnet. Anschließend wird entsprechend dieser Adresse die Eintragsadresse des Interrupt-Serviceprogramms aus der Interrupt-Vektortabelle entnommen, an den PC gesendet und anschließend das Interrupt-Serviceprogramm ausgeführt.
Reaktionspriorität
Erfolgt über die Hardware-Warteschlange
Verarbeitungspriorität
Dynamische Anpassung mithilfe der Interrupt-Maskierungstechnologie
Maskenwort unterbrechen
Verarbeitungsprozess unterbrechen
mehrere Interrupts
DMA-Modus direkter Speicherzugriff
Direkter Datenpfad zwischen Hauptspeicher und IO-Geräten
Zwischen Hauptspeicher und der DMA-Schnittstelle besteht ein direkter Datenpfad
logischer Weg
Eine Methode zur Steuerung der Informationsübertragung vollständig durch Hardware
Bei der Datenübertragung erfolgt die Ermittlung der Hauptspeicheradresse direkt durch die Hardwareschaltung.
Der Hauptspeicher muss einen dedizierten Puffer öffnen, um Peripheriedaten rechtzeitig bereitzustellen und zu empfangen.
DMA muss vor der Übertragung vom Programm vorverarbeitet und nach Abschluss der Übertragung per Interrupt nachverarbeitet werden.
Die DMA-Antwort erfolgt nach einer Bustransaktion und der DMA hat eine größere Kontrolle als die CPU.
DMA-Übertragungsmethode
1) Stoppen Sie den CPU-Zugriff auf den Speicher
2) Regelmäßige Veruntreuung
3) DMA und CPU greifen abwechselnd auf den Speicher zu
DMA-Übertragungsprozess
1) Die Vorverarbeitung beansprucht CPU Die CPU führt die notwendigen Vorbereitungen durch
Unter anderem kann DMA das Benutzerprogramm nicht direkt kontaktieren und verwendet den Gerätetreiber als Vermittler.
2) Die Datenübertragung beansprucht keine CPU Vollständig gesteuert durch DMA-Hardware
3) Die Nachbearbeitung beansprucht CPU Der DMA-Controller sendet eine Interrupt-Anfrage an die CPU
Kanalmodus
Wenn der Host einen E/A-Befehl ausführt, startet er den entsprechenden Kanal, führt das Kanalprogramm aus und schließt den E/A-Vorgang ab.
Kanalprozessor, ein Coprozessor, der speziell für die E/A-Verwaltung verwendet wird, mit Interrupt-, DMA- und Programmsteuerungsfunktionen
Das Kanalprogramm liegt im Hauptspeicher, wird vom Kanal ausgeführt und kann nur in einem IO-System mit einem Kanal ausgeführt werden
Am effizientesten
IO-Schnittstelle (IO-Controller)
Funktion
Adressdekodierung, Geräteauswahl
Kommunikation zwischen Host und Peripheriegeräten
Datenpuffer
Konvertierung des Signalformats
Steuerbefehle und Statusinformationen übertragen
Grundstruktur
Die E/A-Schnittstelle ist über den E/A-Bus auf der Hostseite mit dem Speicher und der CPU verbunden.
Ports sind Register, die zum Lesen und Schreiben in Schnittstellenschaltungen verwendet werden. Mehrere Ports und Steuerlogik bilden zusammen eine Schnittstelle
Der E/A-Befehl ist ein privilegierter Befehl, der von der zugrunde liegenden E/A-Software des Betriebssystemkerns verwendet wird.
Typ
Geteilt nach Datenübertragungsmethode
seriell
parallel
Geteilt nach Kontrollmethode
Programmschnittstelle
Interrupt-Schnittstelle
DMA-Schnittstelle
Geteilt nach Funktion
Programmierbar
Nicht programmierbar
IO-Port
Speicher, auf den die CPU in der Schnittstellenschaltung direkt zugreift
Adressierung
Einheitliche Adressierung
Speicherzuordnung
Vom Adresscode unterscheiden
Behandeln Sie E/A-Ports als Speichereinheiten für die Adresszuweisung
Verwenden Sie einheitliche Speicherzugriffsanweisungen, um auf E/A-Ports zuzugreifen
Unabhängige Adressierung
IO-Mapping-Methode
Richten Sie spezielle E/A-Anweisungen für den Zugriff ein
Beim Ausführen einer Anweisung verwendet die CPU Adressleitungen, um den IO-Port auszuwählen Verwenden Sie Datenleitungen, um Daten zwischen CPU-Registern und E/A-Ports zu übertragen