Einführung

Informationsverarbeitung

Die Digitaltechnik ist die Grundlage der Elektronischen Datenverarbeitung (EDV). Die Applikationen der EDV sind vielfältig:

  • Numerik
  • Steuerung von Maschinen
  • Reaktive Systeme mit Benutzerinteraktion
  • Digitale Signalverarbeitung
  • Programmgesteuerte Automaten Generische Mikroprozessoren!
  • Kommunikation

Die Informationsverarbeitung erfordert eine Mensch-Maschine Schnittstelle, d.h. die Kodierung von Informationen zu Daten, die eigentliche Datenverarbeitung, und die anschließende Rückgewinnung der Informationen aus Daten, wie in Abb. 1 gezeigt ist.

Informationsverarbeitung


figedv


Abb. 1. Informations- und Datenverarbeitung

Logik

Die Repräsentation und Kodierung von Informationen erfolgt durch Bitfolgen im Binärzahlensystem. Ein Bit enthält die Informationsmenge bestehend aus zwei Elementen:

{wahr,falsch}, {hell,dunkel}, {x0,x1} usw.
  • Die Kodierung dieser Informationsmenge und technische Umsetzung erfolgt durch Ãœbergang von logischen auf technologische Größen wie Spannungen oder Ströme:
{1,0} → {H,L} → {3.3V,0V}

Logik

  • Ausgangspunkt und Motivation für anwendungs- und problemorientierte Digitallogik liegt in generischer Rechnerarchitektur und herkömmlichen programmbasierten Problemlösungen begründet.

Generisches Datenverarbeitungssystem Programmsteuerung

  • Generische EDV und Programmsteuerung bedeuten Einschränkung bei Optimierungsmöglichkeiten Die Maschine ist universell!

  • Dazu soll das Schichtenmodell einer konventionellen Datenverarbeitungsanlage näher betrachtet werden.

Generische EDV

figedvschichten

ISA Ebenen

Abstraktion ISA: Instruction Set Architecture

Die Instruktionsebene eines Mikroprozessors kann mit zwei unterschiedlichen Architekturen implementiert werden:

  1. Direkt mit digitaler Logik realisiert;

    • RISC Prozessoren
  2. Mikroarchitektur: Transformation von komplexen Maschinenbefehlen in eine Untermenge einfacher Maschinenbefehle (sequenzielle Komposition) Microcode

    • CISC Prozessoren
    • Vorteil: Microcode kann aktualisiert werden (Fehlerbeseitigung!)

ISA Ebenen

Man unterscheidet:

RISC

Reduced Instruction Set Computer Architektur

Kleine Instruktionsmenge besteht aus einfachen Operationen meist mit konstanter Instruktionslänge. Können auf ISA Mikroarchitektur verzichten (z.B. SUN Sparc, Motorola/IBM PowerPC, ARM)

CISC

Complex Instruction Set Computer Architektur

Große Instruktionsmenge mit komplexen Operationen und meist variabler Instruktionslänge ISA Mikroarchitektur bei vielen CISC-Prozessoren (z.B. Intel X86/X64 Pentium usw.);

ISA Ebenen

  • Die Betriebssystemebene ermöglicht die Abstraktion der Rechnerarchitektur, die ISA-Ebene ermöglicht die Abstraktion von der Digitallogikebene.

  • Ein klassisches Mikroprozessorsystem arbeitet ein Maschinenprogramm ( Ablaufvorschrift) sequenziell ab Limitierung!

  • Die einzelnen Instruktionen eines Maschinenprogramms werden in unterschiedlichen Werken im Mikroprozessor verarbeitet.

  • Zum näheren Verständnis der Programmsteuerung muss der Aufbau und die Architektur einer generischen von-Neumann-Anlage näher betrachtet werden.

Von-Neumann Rechner: Architektur

figneumann

Von-Neumann Rechner: Architektur

Die Rechnerarchitektur ist unterteilt in

  • das Rechenwerk,
  • das Leitwerk und ein
  • Satz allgemeiner Register (temporäre Datenspeicher).

Das Leitwerk enthält folgende spezielle Register:

BZ: Befehlzähler

Zeigt auf Speicheradresse des nächsten auszuführenden Maschinenbefehls.

BR: Befehlsregister

Enthält Kodierung des aktuell ausgeführten Befehls.

SR: Statusregister

Enthält Informationen über aktuelle oder bereits ausgeführte Operationen, wie Zero-oder Carry-Bits, und beeinflusst die Programmausführung (z.B. bedingte Verzweigung).

Von-Neumann Rechner: Architektur

  • Das Rechenwerk, das Leitwerk und der Registersatz sind über einen Daten- und Adressbus mit einem (einzigen) Hauptspeicher verbunden, dessen Speicherzellen über die Adresse ausgewählt werden.

  • Der Hauptspeicher enthält:

    • Programmbefehle (Code)
    • Programmdaten (Daten {Eingabe, Ausgabe, Zwischenergebnisse}) Limitierung
  • Ein Bussystem ist eine Gruppe von elektrischen Signalleitungen zur Datenübertragung, und verbindet mehrere Kommunikationsteilnehmer. Bei einem Datenaustausch auf einem Bus ist immer ein Teilnehmer schreibend und ein anderer lesend aktiv. Limitierung

Von-Neumann Rechner: Programmierung

  • Hello World Programm in Hochsprache C:
    main() { printf("hello, world\n"); }
  • Maschinenprogramm Assembler für den ZX81 (ca. 1981, Zilog Z80)
            CALL SPRINT
            DEFM HELLO WORLD.
            DEFB FF
            RET
    SPRINT    POP HL
            LD A,(HL)
            INC HL
            PUSH HL
            CP FF
            RET Z
            CALL PRINT
            JR SPRINT

Speicherhierarchie

  • In einem Datenverarbeitungssystem gibt es verschiedene Speichertechnologien und Architekturen
  • Einzelne Register sind i.A. direkt an Verarbeitungseinheiten gekoppelt, und bieten die kürzeste Zugriffszeit (schnell), bei niedriger Speicherdichte
  • RAM Blöcke als adressierbare Register Files können eng an die Verarbeitungseinheiten gekoppelt sein (z.B. Cache Speicher), bei mittlerer Zugriffszeit und Speicherdichte, oder als externer Speicher über einen Speicherbus bei hoher Zugriffszeit und Speicherdichte.

Speicherhierarchie eines SoC Designs [ECSOC,Rowen,2004]