• Keine Ergebnisse gefunden

1. Technische Grundlagen der Informatik

N/A
N/A
Protected

Academic year: 2022

Aktie "1. Technische Grundlagen der Informatik"

Copied!
29
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Peter Sobe

1. Technische Grundlagen der Informatik

Digitale Systeme und Architektur von Rechnern

 Boolesche Algebra / Aussagenlogik

 Zahlensysteme und interne Informationsdarstellung

(2)

Digitale Systeme

Digitales System:

 Speicherung und Verarbeitung basierend auf wertdiskreten Zuständen

 Werte können eine endliche Menge von Zuständen annehmen

 Binäre (digitale) Systeme basieren auf zwei Zuständen:

 0 und 1 bzw. LOW und HIGH

 bei entsprechender Interpretation auch ‚falsch‘ und ‚wahr‘

 Zahlendarstellung durch binäre Datenworte, z.B. 00101101

für den dezimalen Wert 45

(3)

Peter Sobe

Digitale Systeme

Diskretisierung der Werte:

Bei wertdiskreten Daten werden Werte nur noch in einer endlichen

Stufenanzahl abgebildet werden. Der Wertebereich und die Genauigkeit werden begrenzt. Im Diagramm rechts sind Werte nur noch in Stufen von 10 Einheiten abgebildet.

(4)

Digitale Systeme

Diskretisierung der Zeit (Darstellung und Verarbeitung nur noch zu ausgewählten Zeitpunkten):

Bei zeitdiskreten Daten werden Werte nur noch zu ausgewählten Zeitpunkten dargestellt und verarbeitet. Die zeitliche Auflösung wird

eingeschränkt. Im Diagramm rechts sind Werte nur noch zu Zeitpunkten

(5)

Peter Sobe

Digitale Systeme

Diskretisierung der Zeit und der Werte:

Für digitale Systeme ist es typisch, dass Werte diskret sind und gleichzeitig eine zeitdiskrete Verarbeitung stattfindet. Auch Daten

(Audio, Bilder, Video, Messreihen u.a.) sind digital und damit wert- und zeitdiskret abgebildet.

(6)

Digitale Systeme

Diskretisierung im Zeitbereich:

 Zustände gelten in bestimmten kurzen Perioden

(Taktperiode, Taktphase), danach können neue Zustände eingenommen werden. Für eine Verarbeitung werden damit endlich viele Perioden benötigt.

 Getaktete Systeme, der Takt läuft i.d.R. sehr schnell,

z.B. in einer Frequenz von 1 GHz mit einer Taktperiode von 1 ns (1 Nano, 1 Milliardstel Sekunde)

Diskretisierung im Wertebereich:

 Bit: eine Stelle mit den möglichen Werten 0 und 1

 durch Kombination mehrerer Bits zu s.g. Worten können

größere Wertebereiche abgebildet werden, z.B. 8 Bits für

(7)

Peter Sobe

Digitale Systeme

Eigenschaften:

Die Zustände 0 und 1 sind gut durch elektrischen Spannungen

abzubilden. Je nach Technologie werden spezielle Pegel für 0 und 1 definiert (auch als Low und High bezeichnet)

In der TTL-Schaltungstechnik gelten bei einer Referenzspannung von 5 V die Pegel:

 Eingang Low: U<=0.8 Volt, High U>=2.0 Volt

 Ausgang Low: U<=0.4 Volt, High U>=2.4 Volt Beispiel:

3.5 V 4.8 V 0.7 V

GND 0 V

Eingänge Ausgang

(8)

Digitale Systeme

Für Grundoperationen der Booleschen Algebra existieren diskrete Schaltungen (in mehreren Varianten) und können wie die

Operationen kombiniert werden.

Beispiel: UND-Operation (Konjunktion) a UND b

elektr. Schaltung Schaltalgebra

&

a UND b

b a

a UND b 5V

a

b

(9)

Peter Sobe

Digitale Systeme

Beispiel: ODER-Operation (Disjunktion) a ODER b

elektr. Schaltung Schaltalgebra

a ODER b

b a

a ODER b 5V

a

b

GND

≥1

(10)

Digitale Systeme

Beispiel: NICHT-Operation (Negation) NICHT(a)

elektr. Schaltung Schaltalgebra

NICHT(a) NICHT(a) a

5V

a

(11)

Peter Sobe

Digitale Systeme

Beispiel: NICHT-ODER-Operation (engl. NOR) NICHT (a ODER b)

elektr. Schaltung Schaltalgebra

NICHT(

a ODER b) b

a

a ODER b 5V

a

b

GND

≥1

NICHT ( a ODER b)

(12)

Digitale Systeme

Kombination der Schaltelemente für neue Schaltfunktionen Beispiel: EXKLUSIV-ODER-Operation (XOR)

a XOR b = (a UND NICHT(b)) ODER (NICHT(a) UND b)

Schaltalgebra

a XOR b

b a

=1

a

b

&

&

a XOR b

≥1

(13)

Peter Sobe

Digitale Systeme

Neben logischen Verknüpfungen müssen die Werte (Bits mit Werten 0 oder 1) gespeichert werden.

Realisierung von Speicherzellen auf logischer Ebene durch Flipflops:

Es existieren verschiedene Realisierungsvarianten solcher Flipflops, insbesondere solche mit Berücksichtigung des Taktsignals (weiterer Eingang für clock).

R

S Q

Q

≥1

≥1 Q

S Q

s.g. RS-Flipflop R

(14)

Digitale Systeme

Realisierung von Rechenoperationen durch Grundoperationen, basierend auf einer entsprechenden Kodierung der zu

verknüpfenden Werte

Beispiel: Addition zweier 2-Bit Dualzahlen: s = a+b

VA VA

a1 b1 a0 b0

c0

c_in a1 a0

Zahl a

b1 b0 Zahl b

Zahl s s1 s0

Addierer für mehrere Bit-Stellen Aufbau VA

& =1

& =1

x y c_in

(15)

Peter Sobe

Digitale Systeme

Wesentliche Eigenschaften:

 Diskrete Werte, Wertdarstellung mittels mehrerer Stellen 0 und 1 und entsprechenden Codes (Dualsystem für ganze, positive Zahlen im

einfachsten Fall)

 Speicherung einzelner Bits beispielsweise in Flipflops, Speicherung mehrerer Bits (Datenworte) in Registern

 Weiterleitung der Werte über einzelne elektrische Leitungen, Datenworte über s.g. Bus-Verbindungen

 Taktung durch zeitgerechtes Eingeben und Auslesen

der Werte, Bezug auf Taktsignal mit regelmäßigen 0- und 1-Phasen

 Verarbeitung mehrerer Datenworte durch digitale Schaltungen, z. B. zur Realisierung von Rechenoperationen

(16)

Digitale Systeme

Übergang zu programmierbaren digitalen Rechnern

 programmgestützte Auswahl der jeweils zutreffenden Datenworte zur Verarbeitung durch Freischalten- und Sperren von Leitungen

 programmgestütztes Aktivieren und Deaktivieren von

Speicherorten (Register, Speicheradressen) zum Lesen und Schreiben der Datenworte

 programmgestützte Auswahl der zutreffenden digitalen

Teilschaltungen (z.B. zum Hochzählen, Multiplizieren, Addieren)

 Programm wird im System gespeichert und einzelne Programmaktionen (Instruktionen, Befehle) automatisch nacheinander ausgewählt

(17)

Rechneraufbau: Hardware-Struktur

CPU

Memory RAM

E/A Bridge

Systembus

E/A-Bus

Disk- Controller Netzwerk

Schnittstelle

GPU

(18)

Rechneraufbau: CPU-Struktur

Memory RAM

Systembus

Lade-/Speicher- Einrichtung Steuerwerk

Rechenwerk Daten-

register Spezial-

register

CPU

(19)

Schichtenmodell

 Strukturierung des Rechensystems (Hardware und Software) in mehrere aufeinander liegende Schichten.

 Höhere Schichten benutzen darunter liegende über Schnittstellen

 Nur die Schnittstellen sind nach oben sichtbar, die Implementierung der zugehörigen Schicht bleibt verborgen (’information hiding’).

 Schichten können ausgetauscht werden (unter Beibehaltung ihrer Schnittstelle), ohne dass die darüber liegenden Schichten geändert werden müssen.

Beispiel: Verschiedene Sprachschichten

High-level language level (C):

A = B + C;

Assembly language level (MC68020):

MOVE.W B, D1

ADD.W C, D1

MOVE.W D1, A

(20)

Schichtenmodell

Beispiel: Verschiedene Sprachschichten Anweisung in einer High-Level

Programmiersprache (hier C):

A = B + C;

Assembler Sprache, tieferes Level (hier Motorola MC68020):

MOVE.W B, D1

ADD.W C, D1

MOVE.W D1, A

Automatische Umwandlung durch Übersetzer

(21)

Beispiel 1

Maschinencode (hier MC68020) mit Adressen anstatt Variablen, rechts ist Speicherinhalt in Bits dargestellt

Adr. Befehl Operanden Darstellung innerhalb 32 Bits

1000: MOVE.W (0x2002).W, D1 0011 0010 0011 1000 0010 0000 0000 0010 1004: ADD.W (0x2004).W, D1 1101 0010 0111 1000 0010 0000 0000 0100 1008: MOVE.W D1, (0x2000).W 0011 0001 1100 0001 0010 0000 0000 0000

Adr. Datenwort für Variable Wert der Variablen in Binärdarstellung

2000: A 0000 0000 0000 0000 0000 0000 1001 1000

2002: B 0000 0000 0000 0000 0000 0000 1000 0000

2004: C 0000 0000 0000 0000 0000 0000 0001 1000

Beispiel B: 128, C: 24, ergibt A: 152

(22)

Beispiel 2

Ein C-Programm und das Assemblerprogramm (nahe

Maschinencode für x86, mit Registern anstatt Variablen, x86-

Instruktionen anstatt der C-Anweisungen)

(23)

Schichten

Schnittstellen zwischen den Schichten

 Einzelne Schichten können ausgetauscht werden, sofern die Schnittstellen zu den benachbarten Schichten beibehalten werden.

Elektrische Schaltung Digitale Logik

Mikroarchitektur

Befehlssatz und Speicherarchitektur

Betriebssystem

Laufzeitsystem,

Bibliotheken, Dienste ausführbares Programm

Schnittstelle für ausführbare Programme

(24)

Architektur und Realisierung

Architektur:

 Betrachtung eines Prozessors ausgehend vom äußeren Erscheinungsbild

 legt Art und Weise der Programmierung auf Maschinensprachen- Ebene fest

 definiert Anzahl, Verwendungsmöglichkeiten und Benennung von Registern (Speicherplätze im Prozessor)

 legt Befehle und deren Wirkungsweise fest, Programmiermodell

 Architekturklassen: von-Neumann, Harvard-Architektur, CISC, RISC, VLIW

Realisierungsaspekte:

 Interne Wirkungsweisen, verborgen vor dem Programmiermodell

 Größe und Organisation der Caches

(25)

Umsetzung der IA-32 CISC-Befehle in 1 bis 4 Ops (interne RISC-Befehle)durch Decoder.

Ausführung in supersklarer RISC- Architektur

Trace Execution Cache (TEC) für Ops mit eigener Sprungvorhersage,

3 Ops pro Takt wie Pentium III

Verbesserte Sprungvorhersage für x86- Befehle mit größerem BTB

20-stufige I-Pipe, Taktraten bis über 3 GHz

13 Funktionseinheiten, davon max. 6 gleichzeitig aktivierbar

8 KB Datencache (klein, aber schnell);

Hardware-Prefetching mit Quad Pumped Speicherschnittstelle (3,2 GByte/s)

Befehlssätze (MMX, SSE, SSE2)

Optional: Hyperthreading (SMT)

Mikroarchitektur Pentium 4

(26)

Realisierungsaspekte (1)

Caches

 Kleine, schnelle Pufferspeicher auf CPU-Chip, die oft benutzte Daten aufnehmen

 Ziel: Vermeidung ständiger Zugriffe auf

Speicher, z.B. wenn ein Zähler hochgezählt und der neue Wert immer wieder geschrieben wird

 Annahme: Lokalitätsprinzip,10/90-Regel, wenn 10% der Daten zu 90% Prozent der Aus-

führungszeit benutzt werden, dann würden diese 10% im Cache eine schnellere

Verarbeitung bewirken

 Caches arbeiten transparent zum Programm, d.h. sie müssen durch den Programmierer nicht

CPU

Memory RAM

Cache

Systembus

(27)

Realisierungsaspekte (2)

Peter Sobe 27

Befehlsphasenpipelining

Zeitlich versetzte und überlappende Ausführung mehrerer Befehle

1. Befehl 2. Befehl 3. Befehl 4. Befehl

….

Zeit

(28)

Realisierungsaspekte (3)

Mehrkern-Prozessoren

CPU 1 CPU 2 CPU 3 CPU 4

Memory RAM

E/A Bridge

Cache Cache Cache Cache

 Mehrere CPUs auf einem Chip teilen sich einen gemeinsamen Speicher

 Speicherzugriffskonflikte werden durch Caches abgemindert

(29)

Sichtweise in der Lehrveranstaltung

Algorithmen (Programmablaufpläne und C-Programme) werden für hier dargestellte Rechner konzipiert.

Einschränkungen:

 auf sequentielle Programme (auf einem Prozessorkern)

 keine Programmierung in Maschinenbefehlen bzw.

Assemblersprachen (stattdessen in C)

 auf Realisierungsaspekte (Caches, Pipelining,

Hardware-Threading u.ä.) wird kein Bezug genommen.

Möglichkeiten für weitere Vertiefung über die

Lehrveranstaltung hinaus

Referenzen

ÄHNLICHE DOKUMENTE

§  Diese Register halten den Zustand der Schaltung. §  Register ändern Zustand nur

§  Schritt 2: Berechne G und P Signale für Gruppen von k Spalten (k Bits). §  Schritt 3: Leite C in nun nicht einzelbitweise, sondern in k-Bit

Semesters können erst belegt werden, wenn alle Module des 1. Semesters

Aufgrund des Dichteunterschiedes erreicht die Kontamination die Basis des Grund- wasserleiters nicht, so dass eine sogenannte hängende Wand angeordnet werden kann, bei der nur der

Bei der Berechnung kann zusätzlich unterschieden werden zwischen fossilen Energieträgern wie Öl, Gas oder Kohle und regenerativen Energieträgern wie Holz, das in Form von

Du kannst den Begriff CPU erklären und kennst die drei Schritte, die beim Starten des Computers ausgeführt werden.. Du weisst, was man unter dem Begriff

Der Grund für dieses Phänomen ist etwas schwieriger zu finden, lässt sich aber dadurch erklären, dass bei dem nicht-optimierten Planungsverfahren ein Agent nie zweimal vor einem

Die Deduktionsregeln kann man beweisen, in dem man auf die 4. Schreibweise als Implikati- on übergeht und dann zeigt, dass dieser Ausdruck eine Tautologie ist. Der Nachweis wird