GPP-Architekturen

Allgemeiner Aufbau

Vergleich der Zielarchitekturen

Rechnerarchitekturen

Interne Architektur definiert die interne Struktur des Prozessors

  • Verschiedene interne Architektur können dieselbe externe Architektur aufweisen(不同的内部架构可以具有相同的外部架构)
  • Computerfamilie

Aufbau eines einfachen Prozessors

主要有Steuerwerk, Speicherwerk, Rechenwerk, Eingabe/Ausgabe Werk

Steuerwerk

Koordination der Komponenten des Prozessors:

  • Versorgung mit Daten und Adressen
  • Selektion von Geräten
  • Auswahl von Operanden und Operationen

Ursprünglich Steuerung durch den Bediener, später Automatisierung durch zeitliche Abfolge von Binärinformationen 开始由操作者控制,之后按照二进制信息自动控制

Speicherwerk

  • Im einfachsten Fall nur einige Registern zur Aufbewahrung von Operanden, Bedingungsvektor und Ergebnis 只有一些用于存储操作数,条件向量和结果的寄存器。

  • Es ist ermöglicht, während der Verarbeitung eine große Zahl von Operanden und (Zwischen-) Ergebnissen bereitzuhalten

  • Die Zahl der verfügbaren Speicherzellen richtet sich nach der Breite des Adressvektors 可用存储单元的数量取决于地址向量的宽度

Rechenwerk

  • Verarbeitung der Daten
  • Bsp. für einfaches Rechenwerk:
    • Arithmetisch: Addition, Subtraktion
    • Logisch: Konjunktion, Disjunktion, Vergleich
    • Komplementbildung
    • Links-/Rechtsverschiebung
    • Links-/Rechtsrotation

Arithmetisch-logische Einheit

  • Üblicherweise Beschränkung auf Funktionen mit zwei Operanden bei gegebener maximalen Stellenzahl 通常仅限于具有两个操作数的函数
    • Genauigkeit (Bitbreite der Architektur)
  • “Carry, Negative, Zero, Overflow” können als Binärwerte in einem Bedingungsvektor („flags“) zur Verfügung gestellt werden

Eingabe-/Ausgabewerk

  • Kommunikation mit dem Benutzer

Von-Neumann-Zyklus(Arbeitsweise工作原理)

  1. FETCH: Befehl aus dem Speicher holen从存储器中取指令
  2. DECODE: Befehl im Steuerwerk dekodieren
  3. FETCH OPERANDS: Operanden aus dem Speicher oder der Peripherie in den Prozessor holen从内存或者外设中获取操作数到处理器中
  4. EXECUTE: Befehl im Rechenwerk ausführen
  5. WRITE BACK: Ergebnis in den Speicher oder die Peripherie(外设) schreiben

Befehlstypen

  1. Transportbefehle

    • Externer Transport (Arbeitsspeicher, E/A-System)

    • Interner Transport (Register-Register)

  2. Verarbeitungsbefehle

    • Arithmetische und logische Befehle

    • Schiebebefehle

    • Vergleichsbefehle

  3. Sprungbefehle

  4. Systembefehle (z.B. Unterbrechungsbearbeitung, Speicherverwaltung)

Speicheranbindung

  • Von Neumann-Architektur:

    • Vorteile: geringer Hardwareaufwand, geringer Speicheraufwand

  • Harvard-Architektur:


    Daten und Programme jeweils in getrennten Speichern

    • Vorteile: Parallele Verarbeitung

哈佛结构是将指令存储器和数据存储器分开的一种存储器结构;而冯.诺依曼结构将指令存储器和数据存储器合在一起的存储器结构。

Q&A

Was ist ein Prozessor?

Ein Prozessor ist ein programmierbares Rechenwerk, die übergebenen Befehlen) andere Maschinen oder elektrische Schaltungen steuert und dabei einen Algorithmus (Prozess)) vorantreibt

Wie ist ein einfacher Prozessor aufgebaut?
Steuerwerk, Speicherwerk, Rechenwerk, Eingabe/Ausgabe Werk

  • Wie ist ein Rechenwerk aufgebaut?
    Es besteht zum einen aus der arithmetisch-logischen Einheit (ALU), zum anderen aus den Arbeitsregistern.

Wie kann die Speicheranbindung klassifiziert werden?
von-Neumann Architektur und Harvard Architektur

  • Ist der Bus unidirektional?

    Für die Harvard-Architektur, Befehls- und Datenspeicher wird über getrennte Busse zugegriffen, also unabhängig und parallel, das ist direktional

    Für Von-Neumann-Architektur, Daten und Befehls Bus ist unidirektional

  • Was ist der Unterschied zwischen primären und sekundären Speicher?

    Harvard-Architektur: Daten und Befehle jeweils in getrennten Speichern

    Von-Neumann-Architektur: gesamte

Klassifikation

Flynn’sche Taxonomie 费林分类法

Je Datenstrom und Instruktionsstrom zwei Klassen: single und multiple

Single Instruction, Single Data (SISD)

  • Von-Neumann-Architektur

    • gemeinsamer Daten- und Instruktions-Speicher
  • Harvard-Architektur

    • getrennter Daten- und Instruktions-Speiche

Single Instruction, Multiple Data (SIMD)

  • Vektorprozessor
    schnelle Ausführung gleichartiger Rechenoperationen auf mehrere gleichzeitig eintreffende oder zur Verfügung stehende Eingangsdatenströme 一个数组或向量处理系统,它可以对不同的数据并行执行相同的操作 4+5 和 3+2

Multiple Instruction, Single Data (MISD)

  • Fehlertolerante, redundante Rechner
    Redundante Datenströme zur Fehlererkennung bzw. –korrektur 这种冗余多用于容错系统

Multiple Instruction, Multiple Data (MIMD)

  • Multiprozessorsysteme (多处理器系统)
    • Führen gleichzeitig verschiedene Operationen auf verschieden gearteten Eingangsdatenströmen durch
    • Nebenläufige Kontrollflüsse
    • Kopplung über Verbindungs-Netzwerke

Q&A

Wie können Prozessoren klassifiziert werden?

Je Datenstrom und Instruktionsstrom zwei Klassen: single und multiple

Welche Beispiele gibt es für die jeweiligen Klassen?

SISD: von-neumann, Harvard-Architekturen

SIMD: Vektorprozessor

MISD: Fehlertolerant Rechner

MIMD: Multiprozessorsystem

Lassen sich alle heutigen Prozessoren eindeutig klassifizieren?

?

General-Purpose Prozessoren (GPP)

Eigenschaften

  • hohe Performanz für großes Anwendungsspektrum, nicht für eine spezielle Anwendung optimiert

    —>universell

  • Größe Leistungsaufnahme, da i.a. hohe Taktraten

GPP: Architekturen

GPP-Arch: Akkumulatormaschine

Die Rechenergebnisse wurden in einem Register, dem Akkumulator (AC), „akkumuliert“

  • LAC m: Lade Wert unter Adresse m in den AC
  • SAC m: Speichere den Inhalt von AC nach Adresse m
  • ADD m: Addiere den Inhalt von AC mit dem Wert unter Adresse m und speichere das Resultat nach AC

BSP: c:=a+b

  • LAC a (从累加器中lade 到ALU)
  • ADD b (b是在存储器中)
  • SAC c

Struktur:

GPP-Arch: Stackmaschine

speichere die Zwischenergebnisse in einen Stack

  • PUSH m Lege den Wert unter Adresse m auf den Stack
  • ADD Addiere die beiden obersten Werte des Stacks, entferne sie und lege die Summe als oberstes Element auf den Stack
  • STORE m Speichere das oberste Element auf dem Stack nach der Adresse m

BSP: c:=a+b

  • PUSH a
  • PUSH b
  • ADD 将堆栈的前两个值相加后,移除这两个值,将和作为顶部元素放入堆栈
  • STORE c 存储到c中

Struktur:

GPP-Arch: Registersatzmaschine

Der Prozessor enthält z.B. 32 Universalregister

Typische Befehle:

  • Datenverarbeitungs-Instruktionen
    • Arithmetic, Logisch, Compare, Move
  • Verzweigungs-Instruktionen
    • Branch
  • Register-Daten-Transfer-Instruktionen
    • Load, Store

Üblich sind Dreiadressbefehle oder Zweiadressbefehle

  • OP DEST, SRC1, SRC2 DEST := SRC1
  • OP SRC2 OP DEST, SRC
    BSP DEST := DEST OP SRC Beispiel: ADD R5, R6 bedeutet R5 := R5 + R6

Struktur:

image-20200609170539201

Q&A

Wie können General Purpose Prozessoren unterschieden werden?

Je nach die Architekturen, z.B. Wie werden Operanden von Befehlen im Prozessor gespeichert, es gibt Akkumulatormaschine, Stackmaschine, Registermaschine

Wovon hängt die Geschwindigkeit eines GPP ab?

Programmgröße, transportierte Daten und Code sowie Ausführungszeiten

Was ist der Nachteil eines RISC Prozessors?

  • Größe Codegröße
  • benötigt mehr Transistoren für Speicherregister
  • Schwerpunkt auf Software