• Keine Ergebnisse gefunden

Wie hilft uns das jetzt weiter?

N/A
N/A
Protected

Academic year: 2022

Aktie "Wie hilft uns das jetzt weiter?"

Copied!
27
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Carry‐Lookahead‐Adder

Grundlagen der Rechnerarchitektur ‐Logik und Arithmetik 52

Mittels der Generate‐ und Propagate‐Ausdrücke lässt ich dann für  jede Stelle i der Carry (Übertrag) für die Stelle i+1 definieren:

Für einen 4‐Stelligen Addierer ergibt sich damit:

Wie hilft uns das jetzt weiter?

(2)

Carry‐Lookahead‐Adder

Wie hilft uns das jetzt weiter?

Expandieren durch Substitution:

Laufzeit: O(1), aber die hohe Anzahl der benötigten Gatter limitiert die Größe  eines solchen Bausteins. (Lösung: zusammenfassen mehrerer CLA zu einer  Gruppe)

(3)

Logische Bausteine

Sequentielle Schaltungen

Grundlagen der Rechnerarchitektur ‐Logik und Arithmetik 54

(4)

Sequentielle Schaltungen

Kombinatorische Schaltungen Sequentielle Schaltungen

… …

n Eingänge m Ausgänge

Ausgänge hängen nur von den  Eingängen ab. Wie schon 

gezeigt, ist dies durch eine  Wahrheitstabelle beschreibbar.

Zustand

n Eingänge m Ausgänge

Ausgänge hängen von den  Eingängen und dem aktuellen  Zustand des Bausteins ab. Wie  kann man dieses Verhalten  beschreiben?

(5)

Zustandsautomat

Grundlagen der Rechnerarchitektur ‐Logik und Arithmetik 56

Zustand 00

Zustand 01

Zustand 10

Eingabe 00 / Ausgabe 11 Eingabe 10 / Ausgabe 01 Eingabe 11 / Ausgabe 10

Eingabe 11 / Ausgabe 00 Eingabe 01 / Ausgabe 00

2 ‐ Bit   Eing abe 2 ‐ Bit   Ausg abe

Ein Beispiel:

(6)

Speichern von Zuständen

Bildquelle: David A. Patterson und John L. Hennessy, „Computer Organization and Design“, Fourth Edition, 2012

R S altes Q neues Q

0 0 0

0 0 1

0 1 0

0 1 1

1 0 0

1 0 1

Speichern eines Bits am Beispiel R‐S‐Latch (S=Set, R=Reset)

Beobachtung: das Speichern von Zustand  erfordert Rückkopplungen (d.h. Ausgang  ist wieder Eingang) in der Schaltung.

(7)

Speichern von Zuständen

Grundlagen der Rechnerarchitektur ‐Logik und Arithmetik 58

Erweiterung eines R‐S‐Latch zu einem D‐Latch (D=Data, C=Clock) C D altes Q neues Q

0 0 0

0 0 1

0 1 0

0 1 1

1 0 0

1 0 1

1 1 0

1 1 1

R S altes Q neues Q

0 0 0 0

0 0 1 1

0 1 0 1

0 1 1 1

1 0 0 0

1 0 1 0

R

S

(8)

Beispiel

Ergebnis ist ein Bit

Eingang n Bit

Kombinatorische Schaltung

Zeit

Wir wollen das Ergebnis einer kombinatorischen Schaltung in einem  D‐Latch speichern. Q soll wohldefiniert entweder den Inhalt vor 

oder nach der „Berechnung“ speichern. 

D‐Latch D (Daten)

Q

NOT(Q) C (Clock)

Problem: Wann liegt das Ergebnis‐Bit stabil an D an? 

Bildquelle: Symbole kopiert aus David A. Patterson und John L. Hennessy, „Computer Organization and Design“, Fourth Edition, 2012

(9)

Lösung: Taktung

Grundlagen der Rechnerarchitektur ‐Logik und Arithmetik 60

Ergebnis ist ein Bit

Eingang n Bit

Kombinatorische Schaltung

Zeit

Wir wollen das Ergebnis einer kombinatorischen Schaltung in einem  D‐Latch speichern. Q soll wohldefiniert entweder den Inhalt vor 

oder nach der „Berechnung“ speichern. 

D‐Latch D (Daten)

Q

NOT(Q) C (Clock)

Letztes Clock‐Signal

Nächstes Clock‐Signal Takt‐Zyklus

Bildquelle: Symbole kopiert aus David A. Patterson und John L. Hennessy, „Computer Organization and Design“, Fourth Edition, 2012

(10)

D‐Latches sind Transparent bzgl. Taktsignal

R

S

D

C

Q

(11)

D‐Flip‐Flop (ist nicht transparent)

Grundlagen der Rechnerarchitektur ‐Logik und Arithmetik 62

Ausgang ändert sich nur bei einer fallenden Taktflanke.

D Latch D

C

Q D

Latch D

C D Q

C

!Q

D

C

Q

(12)

Logische Bausteine

Blockschaltdiagramme

(13)

Bausteine als Black‐Box

Grundlagen der Rechnerarchitektur ‐Logik und Arithmetik 64

Wir haben jetzt einige Basisbausteine kennen gelernt.

In dieser Vorlesung sind wir mit Blockschaltbildern in der Regel eine  Abstraktionsebene höher.

Die betrachteten Bausteine sind „Kästen“ mit Eingangsleitungen und 

Ausgangsleitungen. Die Leitungen können entweder Daten (Datenleitungen) oder  Steuersignale (Steuerleitungen) transportieren.

Wie die Bausteine der Blockschaltbilder intern mit Grundbausteinen aufgebaut sind  und wie die Taktung der einzelnen Bausteine genau abläuft betrachten wir in dieser  Vorlesung nicht weiter. 

Bemerkung: In Blockschaltbildern  wird das für sequentielle Bausteine  erforderliche Clock‐Signal häufig der  Übersicht halber weg gelassen.

Baustein

Ausgangsleitungen Eingangsleitungen

Beispiel eines abstrakten Bausteins

(14)

Verschaltung von Bausteinen

n Bits Einzelne Leitung

Bus (lassen häufig die Markierung n‐Bits weg)

Verbinden von Bauelementen Datenflussrichtung

Eingabe eines logischen Bausteins Ausgabe

eines logischen Bausteins

Kreuzungen und Verbindungen Beispiel

Leitungen kreuzen sich, sind aber nicht verbunden

Verbindungen außerhalb der

Leitungsendpunkte sind durch einen

Punkt gekennzeichnet.

Baustein A

Baustein B

Baustein C

(15)

Arithmetische, logische Einheit (ALU)

Grundlagen der Rechnerarchitektur ‐Logik und Arithmetik 66

ALU

Zero (1) Result (n) Overflow (1) ALU Operation (k)

CarryOut (1) A (n)

B (n)

Angabe in Klammern  ist die Anzahl Bits.

Beispiel‐Funktionen AND

OR NOT

Addition Subtraktion Vergleich

Ggf. ist die ALU auf  eine Operation  festgelegt. Dann  Entfällt der Eingang  und ALU wird mit  dem Namen der  Operation ersetzt.

Kombinatorisch?

Sequentiell?

(16)

Register und Shift‐Register

Speichert n Bits Eingang (n)

Ausgang (n)

Shift (1) Load (1) Reset (1)

Kombinatorisch?

Sequentiell?

(17)

Control

Grundlagen der Rechnerarchitektur ‐Logik und Arithmetik 68

Kombinatorisch?

Sequentiell?

Control

Ein Baustein der das Zusammenarbeiten von anderen Bausteinen koordiniert.

In Abhängigkeit der Eingänge werden die passenden Steuerleitungen geschaltet.

Ausgänge sind Steuerleitungen  in andere Bausteine Eingänge sind 

Datenleitungen aus  anderen Bausteinen

(18)

Control Beispiel

Grundlagen der Rechnerarchitektur ‐Logik und Arithmetik 69 4‐Bit‐Register R1

Store R1 4‐Bit‐Register R2

R2 Bit 0

Control

Zero

Store R2

SUB

Control soll folgenden Algorithmus implementieren:

wenn R2 gerade und R1-R2=0, dann R1 = 0

wenn R2 ungerade und R1-R2!=0, dann R2 = R1-R2

sonst

R1 = R1-R2

R2 Bit 0

Zero Store R1

Store R2

0 0

0 1

1 0

1 1

Control wird als kombinatorische  Schaltung realisiert.

Hierzu die Wahrheitstabelle:

Anhand der Wahrheitstabelle  wird dann die Schaltung gebaut.

Rückgekoppelte Register haben  immer einen wohldefinierten  Zustand, da Register nur zur  Clock‐Flanke aktualisiert werden.

Eingabe Ausgabe

(19)

Darstellung von Algorithmen

Grundlagen der Rechnerarchitektur ‐Logik und Arithmetik 70

(20)

Pseudo‐Code‐Darstellungen

Elementaranweisungen

Variablenzuweisungen, z.B.:

x = 42

Arithmetik, z.B.:

y = 10

x = (42 + y) * 20

Das Symbol „=“ beinhaltet implizit eine zeitliche Abfolge, damit ist  z.B. sinnvoll:

x = x + 1

Abkürzende Schreibweise für voriges Konstrukt: x++

Allgemein: als Elementaranweisung betrachten wir jede 

Anweisung, die auf der betrachteten Abstraktionsebene nicht 

weiter sinnvoll in eine Folge von einfacheren Anweisungen 

unterteilbar ist.

(21)

Felder

Grundlagen der Rechnerarchitektur ‐Logik und Arithmetik 72

Felder für den Zugriff auf den Speicher, z.B.: A[]

Zugriff auf ite Speicherstelle: A[i]

Beispiel:

0x0f00 : 14 A[0]

0x0f01 : 15 A[1]

0x0f02 : 42 A[2]

0x0f03 : 43 A[3]

...

...

0x0f0f : 255 A[15]

(22)

Sequenz von Elementaranweisungen

Setze i auf i+1 Setze j auf 2*i

usw.

Jedes Programm beginnt an einer Stelle und terminiert  (hoffentlich) irgendwann.

Im Flussdiagramm ist Beginn und Ende des Programms  mit den ovalen Symbolen dargestellt.

Im Beispiel also „Start“ und „Ende“.

Das einfachste Programm arbeitet einfach eine  Sequenz von elementaren Anweisungen ab.

Im Flussdiagramm wird so eine Sequenz durch ein  Rechteck dargestellt.

Die Abarbeitungsrichtung des Programms wird durch  die Pfeile gekennzeichnet.

Start

Ende

(23)

If‐then‐else

Grundlagen der Rechnerarchitektur ‐Logik und Arithmetik 74

if‐then‐else am Beispiel:

if(i<10) then

<Code-Block 1>

else

<Code-Block 2>

Ist  i<10?

Code‐Block 1 Code‐Block 2 ja

nein

(24)

Switch‐Statement

Switch‐Statement am  Beispiel:

switch(i) case 1:

<Code-Block 1>

case 2:

<Code-Block 2>

...

defaut:

<Code-Block n>

i=1?

Code‐Block 2 Code‐Block 1 ja

Code‐Block n i=2?

nein

ja

nein

...

(25)

For‐Schleife

Grundlagen der Rechnerarchitektur ‐Logik und Arithmetik 76

For‐Schleife am Beispiel:

for(i=0; i<10; i++) {

<das innere der Schleife>

}

Bedeutet:

• Initialisiere i mit 0

• Führe das innere der Schleife aus

• Erhöhe i um eins

• Wiederhole wenn immer noch i<10

Ist  i<10?

Ende Start

Innere der Schleife Setze i auf 0

Erhöhe i um 1 ja

nein

(26)

While‐Schleife

While‐Schleife an Beispiel:

i=0

while(i<10) {

<das innere

der Schleife>

i++

}

Bedeutet:

• Initialisiere i mit 0

• Führe das innere der Schleife aus

• Erhöhe i um eins

• Wiederhole wenn immer noch i<10

Ist  i<10?

Ende Start

Innere der Schleife Setze i auf 0

Erhöhe i um 1 ja

nein

(27)

Gegeben seien die ganzzahligen Variablen n und m.

Bestimme größtes k welches n

k

< m erfüllt:

Beispiel

Grundlagen der Rechnerarchitektur ‐Logik und Arithmetik 78

Referenzen

ÄHNLICHE DOKUMENTE

nehmung zugänglich ist. Es kann seinen Ursprung teilweise auch außerhalb haben und demnach auch Raum- oder Lagebezeichnungen mit einschließen. Das geschichtliche Werden, das zu

Niembaum, Azadirachta indica kein entsprechendes pflanzliches Präparat registriert Akne Teebaum, Melaleuca alternifolia kein entsprechendes pflanzliches Präparat registriert

Logikrätsel Musik Pfiffige Logicals zum Training des logischen Denkens – Bestell-Nr.. Alle

gerade Logikrätsel machen nicht nur Spaß, sondern sie erhöhen auch die geis - tige Fitness – und das nicht nur bei Kindern und Jugendlichen, sondern bis ins hohe Alter.. Durch

Weder das Werk als Ganzes noch seine Teile dürfen ohne Einwilligung des Verlages einge scannt, an Dritte weitergeleitet, in ein Netzwerk wie Internet oder Intranet eingestellt

Weder das Werk als Ganzes noch seine Teile dürfen ohne Einwilligung des Verlages einge- scannt, an Dritte weitergeleitet, in ein Netzwerk wie Internet oder Intranet eingestellt

Eingabe eines logischen Bausteins Ausgabe. eines

Wer es als pädago- gisch uninteressant ansieht, die (theoretisch präzise prognostizierte oder erklärte) Erziehungswirksamkeit eines säuberlich zu isolieren versuchten Impulses,