234
fakultät für informatik technische universität dortmund Rechnerstrukturen, Teil 1 Vorlesung 4 SWS WS 19/20 Prof. Dr. JianJia Chen Fakultät für Informatik – Technische Universität Dortmund [email protected] http://ls12www.cs.tudortmund.de

Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

fakultät   für  informatiktechnische  universität  dortmund

Rechnerstrukturen,  Teil  1

Vorlesung            4  SWS            WS  19/20

Prof.  Dr.  Jian-­‐Jia  ChenFakultät  für  Informatik  – Technische  Universität  Dortmund

jian-­‐[email protected]­‐dortmund.dehttp://ls12-­‐www.cs.tu-­‐dortmund.de

Page 2: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 2 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

Übersicht1. Organisatorisches

2. Einleitung

3. Repräsentation  von  Daten

4. Boolesche  Funktionen  und  Schaltnetze

5. Rechnerarithmetik

6. Optimierung  von  Schaltnetzen

7. Programmierbare  Bausteine

8. Synchrone  Schaltwerke

Page 3: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 3 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.  Synchrone  Schaltwerke8. Synchrone  Schaltwerke

1. Einleitung

2. Bistabile  Kippstufe

3. Automaten

4. Synchrone  Schaltwerke

5. Serienaddierwerke

6. Speicher  &  Schieberegister

7. Takt

Page 4: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 4 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.1  EinleitungSequenzielle  Schaltungen

Beobachtung

• Das  ist  kein Schaltnetz.

• Es  ist  eine  ”baubare“  Schaltung.

• Was  passiert  in  dieser  Schaltung?

Page 5: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 5 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.1  EinleitungEine  konkrete  sequenzielle  Schaltung

Was  passiert  in  dieser  Schaltung?𝑥 𝑦 𝑥  ∨  𝑦0 0 10 1 01 0 11 1 1

Page 6: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 6 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

𝑥 𝑦 𝑥  ∨  𝑦0 0 10 1 01 0 11 1 1

8.1  EinleitungEine  konkrete  sequenzielle  Schaltung

Was  passiert  in  dieser  Schaltung?

Page 7: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 7 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.1  EinleitungEine  konkrete  sequenzielle  Schaltung

Was  passiert  in  dieser  Schaltung?𝑥 𝑦 𝑥  ∨  𝑦0 0 10 1 01 0 11 1 1

Page 8: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 8 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.1  EinleitungEine  konkrete  sequenzielle  Schaltung

Was  passiert  in  dieser  Schaltung?  Offensichtlich  stabil.𝑥 𝑦 𝑥  ∨  𝑦0 0 10 1 01 0 11 1 1

Page 9: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 9 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.1  EinleitungEine  konkrete  sequenzielle  Schaltung

Was  passiert  in  dieser  Schaltung?𝑥 𝑦 𝑥  ∨  𝑦0 0 10 1 01 0 11 1 1

Page 10: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 10 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.1  EinleitungEine  konkrete  sequenzielle  Schaltung

Was  passiert  in  dieser  Schaltung?𝑥 𝑦 𝑥  ∨  𝑦0 0 10 1 01 0 11 1 1

Page 11: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 11 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.1  EinleitungEine  konkrete  sequenzielle  Schaltung

Was  passiert  in  dieser  Schaltung?𝑥 𝑦 𝑥  ∨  𝑦0 0 10 1 01 0 11 1 1

Page 12: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 12 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.1  EinleitungEine  konkrete  sequenzielle  Schaltung

Was  passiert  in  dieser  Schaltung?𝑥 𝑦 𝑥  ∨  𝑦0 0 10 1 01 0 11 1 1

Page 13: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 13 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.1  EinleitungEine  konkrete  sequenzielle  Schaltung

Was  passiert  in  dieser  Schaltung?𝑥 𝑦 𝑥  ∨  𝑦0 0 10 1 01 0 11 1 1

Page 14: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 14 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.1  EinleitungEine  konkrete  sequenzielle  Schaltung

Was  passiert  in  dieser  Schaltung?𝑥 𝑦 𝑥  ∨  𝑦0 0 10 1 01 0 11 1 1

Page 15: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 15 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.1  EinleitungEine  konkrete  sequenzielle  Schaltung

Was  passiert  in  dieser  Schaltung?

Beobachtung und  immer  so  weiter.  .  .

natürlich   in  der  Realität  viel  schneller

darum  heißt  die  Schaltung  Flimmerschaltung

𝑥 𝑦 𝑥  ∨  𝑦0 0 10 1 01 0 11 1 1

Page 16: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 16 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.1  EinleitungBewertung  des  Effekts

Unkontrolliertes Flimmern  ist  sehr  unschön.

Also  Kreise  konsequent  verbieten?

Wozu  können  Kreise  gut  sein?

Beobachtung   Ausgänge  werden  zu  Eingaben.  .  .

etwas  anders   Man  kann  schon  Berechnetes  noch  einmal  ”sehen“.

Einsicht   Das  realisiert  so  etwas  wie  Speicher.

Page 17: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 17 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.  Synchrone  Schaltwerke8. Synchrone  Schaltwerke

1. Einleitung

2. Bistabile  Kippstufe

3. Automaten

4. Synchrone  Schaltwerke

5. Serienaddierwerke

6. Speicher  &  Schieberegister

7. Takt

Page 18: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 18 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.2  Bistabile  Kippstufe  (engl.  Flip-­‐Flop)Ein  zweites  Beispiel

𝑥 𝑦 𝑥𝑦0 0 10 1 11 0 11 1 0

𝑅' 𝑆' 𝑃'*∆ 𝑄'*∆ 𝑃'*-∆ 𝑄'*-∆0 00 11 01 1

Page 19: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 19 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.2  Bistabile  KippstufeEin  zweites  Beispiel

𝑅' 𝑆' 𝑃'*∆ 𝑄'*∆ 𝑃'*-∆ 𝑄'*-∆0 00 11 01 1

𝑥 𝑦 𝑥𝑦0 0 10 1 11 0 11 1 0

Page 20: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 20 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.2  Bistabile  KippstufeEin  zweites  Beispiel

𝑥 𝑦 𝑥𝑦0 0 10 1 11 0 11 1 0

𝑅' 𝑆' 𝑃'*∆ 𝑄'*∆ 𝑃'*-∆ 𝑄'*-∆0 0 1 10 11 01 1

Page 21: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 21 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.2  Bistabile  KippstufeEin  zweites  Beispiel

𝑥 𝑦 𝑥𝑦0 0 10 1 11 0 11 1 0

𝑅' 𝑆' 𝑃'*∆ 𝑄'*∆ 𝑃'*-∆ 𝑄'*-∆0 0 1 1 1 10 11 01 1

Page 22: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 22 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.2  Bistabile  KippstufeEin  zweites  Beispiel

𝑅' 𝑆' 𝑃'*∆ 𝑄'*∆ 𝑃'*-∆ 𝑄'*-∆0 0 1 1 1 10 11 01 1

𝑥 𝑦 𝑥𝑦0 0 10 1 11 0 11 1 0

Page 23: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 23 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.2  Bistabile  KippstufeEin  zweites  Beispiel

𝑅' 𝑆' 𝑃'*∆ 𝑄'*∆ 𝑃'*-∆ 𝑄'*-∆0 0 1 1 1 10 11 01 1

𝑥 𝑦 𝑥𝑦0 0 10 1 11 0 11 1 0

Page 24: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 24 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.2  Bistabile  KippstufeEin  zweites  Beispiel

𝑅' 𝑆' 𝑃'*∆ 𝑄'*∆ 𝑃'*-∆ 𝑄'*-∆0 0 1 1 1 10 11 01 1

𝑥 𝑦 𝑥𝑦0 0 10 1 11 0 11 1 0

Page 25: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 25 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.2  Bistabile  KippstufeEin  zweites  Beispiel

𝑅' 𝑆' 𝑃'*∆ 𝑄'*∆ 𝑃'*-∆ 𝑄'*-∆0 0 1 1 1 10 1 1 01 01 1

𝑥 𝑦 𝑥𝑦0 0 10 1 11 0 11 1 0

Page 26: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 26 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.2  Bistabile  KippstufeEin  zweites  Beispiel

𝑅' 𝑆' 𝑃'*∆ 𝑄'*∆ 𝑃'*-∆ 𝑄'*-∆0 0 1 1 1 10 1 1 0 1 01 01 1

𝑥 𝑦 𝑥𝑦0 0 10 1 11 0 11 1 0

Page 27: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 27 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.2  Bistabile  KippstufeEin  zweites  Beispiel

𝑅' 𝑆' 𝑃'*∆ 𝑄'*∆ 𝑃'*-∆ 𝑄'*-∆0 0 1 1 1 10 1 1 0 1 01 01 1

𝑥 𝑦 𝑥𝑦0 0 10 1 11 0 11 1 0

Page 28: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 28 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.2  Bistabile  KippstufeEin  zweites  Beispiel

𝑅' 𝑆' 𝑃'*∆ 𝑄'*∆ 𝑃'*-∆ 𝑄'*-∆0 0 1 1 1 10 1 1 0 1 01 01 1

𝑥 𝑦 𝑥𝑦0 0 10 1 11 0 11 1 0

Page 29: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 29 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.2  Bistabile  KippstufeEin  zweites  Beispiel

𝑥 𝑦 𝑥𝑦0 0 10 1 11 0 11 1 0

𝑅' 𝑆' 𝑃'*∆ 𝑄'*∆ 𝑃'*-∆ 𝑄'*-∆0 0 1 1 1 10 1 1 0 1 01 0 𝑄' 11 1

Page 30: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 30 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.2  Bistabile  KippstufeEin  zweites  Beispiel

𝑥 𝑦 𝑥𝑦0 0 10 1 11 0 11 1 0

𝑅' 𝑆' 𝑃'*∆ 𝑄'*∆ 𝑃'*-∆ 𝑄'*-∆0 0 1 1 1 10 1 1 0 1 01 0 𝑄' 1 0 11 1

Page 31: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 31 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.2  Bistabile  KippstufeEin  zweites  Beispiel

𝑥 𝑦 𝑥𝑦0 0 10 1 11 0 11 1 0

𝑅' 𝑆' 𝑃'*∆ 𝑄'*∆ 𝑃'*-∆ 𝑄'*-∆0 0 1 1 1 10 1 1 0 1 01 0 𝑄' 1 0 11 1

Page 32: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 32 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.2  Bistabile  KippstufeEin  zweites  Beispiel

𝑥 𝑦 𝑥𝑦0 0 10 1 11 0 11 1 0

𝑅' 𝑆' 𝑃'*∆ 𝑄'*∆ 𝑃'*-∆ 𝑄'*-∆0 0 1 1 1 10 1 1 0 1 01 0 𝑄' 1 0 11 1

Page 33: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 33 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.2  Bistabile  KippstufeEin  zweites  Beispiel

𝑥 𝑦 𝑥𝑦0 0 10 1 11 0 11 1 0

𝑅' 𝑆' 𝑃'*∆ 𝑄'*∆ 𝑃'*-∆ 𝑄'*-∆0 0 1 1 1 10 1 1 0 1 01 0 𝑄' 1 0 11 1 𝑄' 𝑄'

Page 34: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 34 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.2  Bistabile  KippstufeEin  zweites  Beispiel

𝑥 𝑦 𝑥𝑦0 0 10 1 11 0 11 1 0

𝑅' 𝑆' 𝑃'*∆ 𝑄'*∆ 𝑃'*-∆ 𝑄'*-∆0 0 1 1 1 10 1 1 0 1 01 0 𝑄' 1 0 11 1 𝑄' 𝑄' 𝑄' 𝑄'

Page 35: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 35 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.2  Bistabile  KippstufeEin  zweites  Beispiel

𝑥 𝑦 𝑥𝑦0 0 10 1 11 0 11 1 0

𝑅' 𝑆' 𝑃'*∆ 𝑄'*∆ 𝑃'*-∆ 𝑄'*-∆0 0 1 1 1 10 1 1 𝑃'. 1 01 0 0 1 0 11 1 𝑃' 𝑃'. 𝑃' 𝑃'.

Page 36: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 36 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.2  Bistabile  KippstufeBi-­‐stabile  NAND-­‐Kippstufe

Anmerkung

heißt  auch  Latch

positiv   kippt,  flimmert  nicht

negativ Verhalten  hängt  von  Schaltzeiten  der  beiden  Gatter  ab

genauer  beobachtet   Verhalten  hängt  manchmal  

von  Schaltzeiten  der  beiden  Gatter  ab

Page 37: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 37 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.2  Bistabile  KippstufeAnalyse  der  bi-­‐stabilen  NAND-­‐Kippstufe

1.  Fall oberes  NAND-­Gatter  schneller

𝑅' 𝑆' 𝑃'*∆ 𝑄'*∆ 𝑃'*-∆ 𝑄'*-∆0 0 1 1 1 10 1 1 0 1 01 0 𝑄' 1 0 11 1 𝑄' 𝑄' 𝑄' 𝑄'

Page 38: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 38 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.2  Bistabile  KippstufeAnalyse  der  bi-­‐stabilen  NAND-­‐Kippstufe

1.  Fall oberes  NAND-­Gatter  schneller

𝑅' 𝑆' 𝑃'*∆ 𝑄'*∆ 𝑃'*-∆ 𝑄'*-∆0 0 1 1 1 10 1 1 0 1 01 0 𝑄' 1 0 11 1 𝑄' 𝑄' 𝑄' 𝑄'

𝑃'*-∆ = 𝑅𝑄'*∆

Page 39: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 39 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.2  Bistabile  KippstufeAnalyse  der  bi-­‐stabilen  NAND-­‐Kippstufe

1.  Fall oberes  NAND-­Gatter  schneller

𝑅' 𝑆' 𝑃'*∆ 𝑄'*∆ 𝑃'*-∆ 𝑄'*-∆0 0 1 1 1 10 1 1 0 1 01 0 𝑄' 1 0 11 1 𝑄' 𝑄' 𝑄' 𝑄'

𝑃'*-∆ = 𝑅𝑄'*∆ = 𝑅0  ⋁ 𝑄'*∆ = 𝑅0 ∨ 𝑆𝑃'*∆ = 𝑅0 ∨ 𝑆𝑃'*∆

=  𝑅0  ∨ S𝑅𝑄' = 𝑅0  ∨ 𝑆(𝑅0 ∨ 𝑄') = 𝑅0  ∨  𝑆𝑅0 ∨ 𝑆𝑄'

= 𝑅0  ∨ 𝑆𝑄'

Page 40: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 40 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.2  Bistabile  KippstufeAnalyse  der  bi-­‐stabilen  NAND-­‐Kippstufe

2.  Fall unteres  NAND-­Gatter  schneller

𝑅' 𝑆' 𝑃'*∆ 𝑄'*∆ 𝑃'*-∆ 𝑄'*-∆0 0 1 1 1 10 1 1 𝑃'. 1 01 0 0 1 0 11 1 𝑃' 𝑃'. 𝑃' 𝑃'.

Page 41: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 41 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.2  Bistabile  KippstufeAnalyse  der  bi-­‐stabilen  NAND-­‐Kippstufe

2.  Fall unteres  NAND-­Gatter  schneller

𝑅' 𝑆' 𝑃'*∆ 𝑄'*∆ 𝑃'*-∆ 𝑄'*-∆0 0 1 1 1 10 1 1 𝑃'. 1 01 0 0 1 0 11 1 𝑃' 𝑃'. 𝑃' 𝑃'.

𝑃'*-∆ = 𝑅𝑄'*-∆

Page 42: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 42 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.2  Bistabile  KippstufeAnalyse  der  bi-­‐stabilen  NAND-­‐Kippstufe

𝑃'*-∆ = 𝑅𝑄'*-∆ = 𝑅0  ∨ 𝑄'*-∆ = 𝑅0 ∨ 𝑆𝑃'*∆ = 𝑅0 ∨ 𝑆𝑃'*∆

=  𝑅0  ∨ S𝑅𝑄'*∆ = 𝑅0  ∨ 𝑆(𝑅0 ∨ 𝑄'*∆) = 𝑅0  ∨  𝑆𝑅0 ∨ 𝑆𝑄'*∆

= 𝑅0  ∨ 𝑆𝑄'*∆ = 𝑅0 ∨ S𝑆𝑃' = 𝑅0   ∨  𝑆𝑆𝑃' = 𝑅0   ∨  𝑆𝑃'

2.  Fall unteres  NAND-­Gatter  schneller

𝑅' 𝑆' 𝑃'*∆ 𝑄'*∆ 𝑃'*-∆ 𝑄'*-∆0 0 1 1 1 10 1 1 𝑃'. 1 01 0 0 1 0 11 1 𝑃' 𝑃'. 𝑃' 𝑃'.

Page 43: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 43 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.2  Bistabile  KippstufeFazit  zum  Ausgang  P  der  bi-­‐stabilen  NAND-­‐Kippstufe

1.  Fall   oberes  NAND-­‐Gatter  schneller

2.  Fall   unteres  NAND-­‐Gatter  schneller

Beobachtung   Wenn  𝑃' = 𝑄' ,  ist  das  Verhalten  an  𝑃'stabil,  also  von  den  Schaltzeiten  der  Gatter  unabhängig.

Was  ist  mit  dem  anderen  Ausgang?

𝑃'*-∆ = 𝑅  . ∨ 𝑆𝑄'

𝑃'*-∆ = 𝑅  . ∨ 𝑆𝑃'

Page 44: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 44 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.2  Bistabile  KippstufeAnalyse  der  bi-­‐stabilen  NAND-­‐Kippstufe

1.  Fall oberes  NAND-­Gatter  schneller

𝑅' 𝑆' 𝑃'*∆ 𝑄'*∆ 𝑃'*-∆ 𝑄'*-∆0 0 1 1 1 10 1 1 0 1 01 0 𝑄' 1 0 11 1 𝑄' 𝑄' 𝑄' 𝑄'

𝑄'*-∆ = 𝑆𝑃'*-∆ = 𝑆̅  ∨ 𝑃'*-∆ = 𝑆̅ ∨ 𝑅𝑄'*∆ = 𝑆̅ ∨ 𝑅𝑄'*∆

=  𝑆̅  ∨ 𝑅𝑆𝑃'*∆ = 𝑆̅  ∨ 𝑅(𝑆̅ ∨ 𝑃'*∆) = 𝑆̅  ∨  𝑅𝑆̅ ∨ 𝑅𝑃'*∆

= 𝑆̅  ∨ 𝑅𝑃'*∆ = 𝑆̅   ∨  𝑅𝑅𝑄' = 𝑆̅  ⋁𝑅𝑅𝑄' = 𝑆̅  ⋁𝑅𝑄'

Page 45: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 45 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.2  Bistabile  KippstufeAnalyse  der  bi-­‐stabilen  NAND-­‐Kippstufe

2.  Fall unteres  NAND-­Gatter  schneller

𝑅' 𝑆' 𝑃'*∆ 𝑄'*∆ 𝑃'*-∆ 𝑄'*-∆0 0 1 1 1 10 1 1 𝑃'. 1 01 0 0 1 0 11 1 𝑃' 𝑃'. 𝑃' 𝑃'.

𝑄'*-∆ = 𝑆𝑃'*∆ = 𝑆̅  ∨ 𝑃'*∆ = 𝑆̅ ∨ 𝑅𝑄'*∆ = 𝑆̅ ∨ 𝑅𝑄'*∆

=  𝑆̅  ∨ 𝑅𝑆𝑃' = 𝑆̅  ∨ 𝑅(𝑆̅ ∨ 𝑃'. ) = 𝑆̅  ∨ 𝑅𝑆̅ ∨ 𝑅𝑃'.

= 𝑆̅  ∨ 𝑅𝑃'.

Page 46: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 46 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.2  Bistabile  KippstufeFazit  der  Analyse  der  bi-­‐stabilen  NAND-­‐Kippstufe

1.  Fall   oberes  NAND-­‐Gatter  schneller

2.  Fall   unteres  NAND-­‐Gatter  schneller

also Wenn  𝑄' = 𝑃'. ,  so  ist  das  Verhalten

stabil,  von  den  Schaltzeiten  der  Gatter  unabhängig.

also Forderung𝑃' ≠ 𝑄'

𝑃'*-∆ = 𝑅0  ∨ 𝑆𝑄'𝑄'*-∆ = 𝑆   ∨ 𝑅𝑄'

𝑃'*-∆ = 𝑅0  ∨ 𝑆𝑃'𝑄'*-∆ = 𝑆   ∨ 𝑅𝑃'.

Page 47: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 47 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.2  Bistabile  KippstufeWertetabelle  bi-­‐stabile  NAND-­‐Kippstufe

oberes  Gatter  schneller                unteres  Gatter  schneller

𝑅' 𝑆' 𝑃'*-∆ 𝑄'*-∆ 𝑃'*-∆ 𝑄'*-∆0 0 1 1 1 10 1 1 0 1 01 0 0 1 0 11 1 𝑄' 𝑄' 𝑃' 𝑃'.

Page 48: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 48 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.2  Bistabile  Kippstufe

Beobachtung   Wir  müssen  nur  R  =  S  =  0  ausschließen,  damit  die  Forderung  𝑃' ≠ 𝑄' gilt.

Wertetabelle  bi-­‐stabile  NAND-­‐Kippstufe

oberes  Gatter  schneller                unteres  Gatter  schneller

𝑅' 𝑆' 𝑃'*-∆ 𝑄'*-∆ 𝑃'*-∆ 𝑄'*-∆0 0 1 1 1 10 1 1 0 1 01 0 0 1 0 11 1 𝑄' 𝑄' 𝑃' 𝑃'.

Page 49: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 49 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.2  Bistabile  Kippstufe

• (R,  S)  =  (0,  1)  setzt  P  =  1• (R,  S)  =  (1,  0)  setzt  P  =  0• (R,  S)  =  (1,  1)  lässt  P  unverändertFazit Bi-­‐stabile  NAND-­‐Kippstufe  realisiert  1-­‐Bit-­‐Speicher!

Beobachtung   Wir  müssen  nur  R  =  S  =  0  ausschließen.

Wertetabelle  bi-­‐stabile  NAND-­‐Kippstufe

oberes  Gatter  schneller                unteres  Gatter  schneller

𝑅' 𝑆' 𝑃'*-∆ 𝑄'*-∆ 𝑃'*-∆ 𝑄'*-∆0 0 1 1 1 10 1 1 0 1 01 0 0 1 0 11 1 𝑄' 𝑄' 𝑃' 𝑃'.

𝑅' 𝑆' 𝑃'*-∆ 𝑄'*-∆0 1 1 01 0 0 11 1 𝑃' 𝑃'.

Page 50: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 50 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.2  Bistabile  KippstufeErstes  Fazit  zu  sequenziellen  Schaltungen

Bi-­‐stabile  NAND-­‐Kippstufe  realisiert  1-­‐Bit-­‐Speicher.

Beobachtung

• Kreise  in  „Schaltnetzen“  manchmal  sinnvoll

• neue  Funktionalität

• Analyse  schwierig

Wunsch   strukturierter  Entwurf

Page 51: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 51 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.  Synchrone  Schaltwerke8. Synchrone  Schaltwerke

1. Einleitung

2. Bistabile  Kippstufe

3. Automaten

4. Synchrone  Schaltwerke

5. Serienaddierwerke

6. Speicher  &  Schieberegister

7. Takt

Page 52: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 52 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.3  AutomatenAutomaten

Wunsch   formales  Modell  eines  Automaten

Was  ist  überhaupt  ein  Automat?

Beispiele• Getränke-­‐Automat• einfache  Ampelsteuerung• Steuerung  einer  Waschmaschine

Gegenbeispiele• Geldspielautomat  (wegen  der  Zufalls-­‐Komponente)• Computer  (zu  komplex)• Mensch  (für  uns  nicht  formal  beschreibbar)

Page 53: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 53 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.3  AutomatenAutomatenmodell

Grobbeschreibung• verarbeitet  eine  Eingabe• erzeugt  eine  Ausgabe• ist  in  einem  Zustand• arbeitet  in  Takten• arbeitet  deterministisch  (exakt  vorhersagbar)

jetzt   exakte,  formale  Beschreibung

Page 54: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 54 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.3  AutomatenDefinition  Mealy-­‐Automat

Ein  Mealy-­‐Automat  𝑀 = (𝑄, 𝑞;,Σ, ∆, 𝛿, 𝜆) ist  definiert  durch:

• endliche  Zustandsmenge𝑄

• Startzustand𝑞; ∈ 𝑄

• endliches  Eingabealphabet Σ

• endliches  Ausgabealphabet ∆

• Zustandsüberführungsfunktion  𝛿 ∶ 𝑄  ×  Σ   → 𝑄

• Ausgabefunktion  𝜆 ∶ 𝑄  ×  Σ   →  ∆ ∪ {𝜀}

Definition

Page 55: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 55 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.3  AutomatenDefinition  Mealy-­‐Automat

Ein  Mealy-­‐Automat  𝑀 = (𝑄, 𝑞;,Σ, ∆, 𝛿, 𝜆) ist  definiert  durch:

• endliche  Zustandsmenge𝑄

• Startzustand𝑞; ∈ 𝑄

• endliches  Eingabealphabet Σ

• endliches  Ausgabealphabet ∆

• Zustandsüberführungsfunktion  𝛿 ∶ 𝑄  ×  Σ   → 𝑄

• Ausgabefunktion  𝜆 ∶ 𝑄  ×  Σ   →  ∆ ∪ {𝜀}

• In  einem  Taktmit  aktuellem  Zustand  q und  Eingabesymbol  w• schreibt der  Automat  𝜆 𝑞,𝑤 ,• wechselt der  Automat  in  den  Zustand  𝛿 𝑞, 𝑤 .

Definition

Page 56: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 56 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.3  AutomatenBeispiel  Mealy-­‐Automat

𝑄 = {𝑞0, 𝑞1, 𝑞2},   ∑ = {0, 1},   ∆  = {𝑎, 𝑏, 𝑐}

Eingabe   0  1  0  0   Ausgabe

aktueller  Zustand Eingabe Folge-­‐

zustand Ausgabe

𝒒 ∈ 𝑸 𝒘 ∈ ∑ 𝜹(𝒒, 𝒘) λ(𝒒, 𝒘)

𝑞; 0 𝑞Q a𝑞; 1 𝑞- c𝑞Q 0 𝑞; c𝑞Q 1 𝑞- b𝑞- 0 𝑞Q a𝑞- 1 𝑞; b

Page 57: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 57 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.3  AutomatenBeispiel  Mealy-­‐Automat

𝑄 = {𝑞0, 𝑞1, 𝑞2},   ∑ = {0, 1},   ∆  = {𝑎, 𝑏, 𝑐}

Eingabe   0  1  0  0   Ausgabe

Page 58: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 58 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.3  AutomatenBeispiel  Mealy-­‐Automat

𝑄 = {𝑞0, 𝑞1, 𝑞2}, ∑ = {0, 1},∆  = {𝑎, 𝑏, 𝑐}

Eingabe   0  1  0  0   Ausgabe

Page 59: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 59 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.3  AutomatenBeispiel  Mealy-­‐Automat

𝑄 = {𝑞0, 𝑞1, 𝑞2}, ∑ = {0, 1},∆  = {𝑎, 𝑏, 𝑐}

Eingabe   0  1  0  0   Ausgabe

Page 60: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 60 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.3  AutomatenBeispiel  Mealy-­‐Automat

𝑄 = {𝑞0, 𝑞1, 𝑞2}, ∑ = {0, 1},∆  = {𝑎, 𝑏, 𝑐}

Eingabe   0  1  0  0   Ausgabe a

Page 61: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 61 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.3  AutomatenBeispiel  Mealy-­‐Automat

𝑄 = {𝑞0, 𝑞1, 𝑞2}, ∑ = {0, 1},∆  = {𝑎, 𝑏, 𝑐}

Eingabe   0  1  0  0   Ausgabe a  b

Page 62: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 62 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.3  AutomatenBeispiel  Mealy-­‐Automat

𝑄 = {𝑞0, 𝑞1, 𝑞2}, ∑ = {0, 1},∆  = {𝑎, 𝑏, 𝑐}

Eingabe   0  1  0  0   Ausgabe a  b

Page 63: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 63 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.3  AutomatenBeispiel  Mealy-­‐Automat

𝑄 = {𝑞0, 𝑞1, 𝑞2}, ∑ = {0, 1},∆  = {𝑎, 𝑏, 𝑐}

Eingabe   0  1  0  0   Ausgabe a  b  a

Page 64: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 64 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.3  AutomatenBeispiel  Mealy-­‐Automat

𝑄 = {𝑞0, 𝑞1, 𝑞2}, ∑ = {0, 1},∆  = {𝑎, 𝑏, 𝑐}

Eingabe   0  1  0  0   Ausgabe a  b  a

Page 65: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 65 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.3  AutomatenBeispiel  Mealy-­‐Automat

𝑄 = {𝑞0, 𝑞1, 𝑞2}, ∑ = {0, 1},∆  = {𝑎, 𝑏, 𝑐}

Eingabe   0  1  0  0   Ausgabe a  b  a

Page 66: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 66 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.3  AutomatenBeispiel  Mealy-­‐Automat

𝑄 = {𝑞0, 𝑞1, 𝑞2}, ∑ = {0, 1},∆  = {𝑎, 𝑏, 𝑐}

Eingabe   0  1  0  0   Ausgabe a  b  a  c

Page 67: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 67 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.3  AutomatenÄquivalenz  von  Automaten

Zwei  Mealy-­‐Automaten  heißen    äquivalent,  wenn  sie  für  jede

Eingabe  𝑤 ∈ ∑∗ die  gleiche  Ausgabe  𝑎 ∈ ∆∗ erzeugen.

Beobachtung• Äquivalente  Automaten  können  unterschiedlich  groß  sein.• Man  wünscht  sich  möglichst  kleine  Automaten.• Komplexer  Problemkreis,

• umfasst  auch  effiziente  Minimierung  von  Automaten• Näher  i.  d.  Theoretischen  Informatik  (GTI)

Hier:  noch  ein  anderes  (ähnliches!)  Automaten-­‐Modell

Definition

Page 68: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 68 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.3  AutomatenDefinition  Moore-­‐Automat

Zwei  Mealy-­‐Automaten  heißen    äquivalent,  wenn  sie  für  jede

Ein  Moore-­‐Automat  𝑀 = (𝑄, 𝑞0, ∑, ∆, 𝛿, 𝜆)  ist  definiert  durch:

• endliche  Zustandsmenge𝑄

• Startzustand𝑞0 ∈ 𝑄

• endliches  Eingabealphabet ∑• endliches  Ausgabealphabet ∆

• Zustandsüberführungsfunktion 𝛿 ∶ 𝑄×∑ → 𝑄

• Ausgabefunktion 𝜆: 𝑄 → ∆ ∪ {𝜀}

Definition

Page 69: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 69 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.3  AutomatenDefinition  Moore-­‐Automat

Zwei  Mealy-­‐Automaten  heißen    äquivalent,  wenn  sie  für  jede

Ein  Moore-­‐Automat  𝑀 = (𝑄, 𝑞0, ∑, ∆, 𝛿, 𝜆)  ist  definiert  durch:

• endliche  Zustandsmenge𝑄

• Startzustand𝑞0 ∈ 𝑄

• endliches  Eingabealphabet ∑• endliches  Ausgabealphabet ∆

• Zustandsüberführungsfunktion 𝛿 ∶ 𝑄×∑ → 𝑄

• Ausgabefunktion 𝜆: 𝑄 → ∆ ∪ {𝜀}

In  einem  Taktmit  aktuellem  Zustand  q und  Eingabesymbol  w• schreibt  der  Automat    𝜆(𝛿(𝑞,𝑤)),• wechselt  der  Automat  in  den  Zustand  𝛿(𝑞,𝑤).

Definition

Page 70: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 70 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.3  AutomatenDefinition  Moore-­‐Automat  (Unterschied  zum  Mealy-­‐Automat)

Zwei  Mealy-­‐Automaten  heißen    äquivalent,  wenn  sie  für  jede

Ein  Moore-­‐Automat  𝑀 = (𝑄, 𝑞0, ∑, ∆, 𝛿, 𝜆)  ist  definiert  durch:

• endliche  Zustandsmenge𝑄

• Startzustand𝑞0 ∈ 𝑄

• endliches  Eingabealphabet ∑• endliches  Ausgabealphabet ∆

• Zustandsüberführungsfunktion 𝛿 ∶ 𝑄×∑ → 𝑄

• Ausgabefunktion 𝜆: 𝑄 → ∆ ∪ {𝜀}

In  einem  Taktmit  aktuellem  Zustand  q und  Eingabesymbol  w• schreibt  der  Automat    𝜆(𝛿(𝑞,𝑤)),• wechselt  der  Automat  in  den  Zustand  𝛿(𝑞,𝑤).

Definition

𝜆 ∶ 𝑄  ×  Σ   →  ∆ ∪ {𝜀}

Page 71: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 71 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.3  AutomatenMealy-­‐ und  Moore-­‐Automaten

Beobachtung   Zu  jedem  Moore-­‐Automaten  gibt  es  einen  äquivalenten  Mealy-­‐Automaten.

denn   zu  Moore-­‐Automat  𝐴 = (𝑄, 𝑞0, ∑, ∆, 𝛿, 𝜆)  

ist Mealy-­‐Automat  𝐴′ = (𝑄, 𝑞0, ∑, ∆, 𝛿, 𝜆‘)  

mit  𝜆′(𝑞,𝑤) ≔ 𝜆(𝛿(𝑞,𝑤))

offensichtlich  äquivalent

Page 72: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 72 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.3  AutomatenMealy-­‐ und  Moore-­‐Automaten

Beobachtung   Zu  jedem  Mealy-­‐Automaten  gibt  es  eine  äquivalenten  Moore-­‐Automaten.

denn   zu  Mealy-­‐Automaten  𝐴 = (𝑄, 𝑞0, ∑, ∆, 𝛿, 𝜆)

ist Moore-­‐Automat𝐴′ = (𝑄‘, 𝑞0‘, ∑, ∆, 𝛿‘, 𝜆‘)

mit  𝑄′ ≔ 𝑄×(∆ ∪ {𝜀}),  𝑞0‘ ≔ (𝑞0, 𝜀),

𝛿′(𝑞′,𝑤) = 𝛿′((𝑞, 𝑣), 𝑤)  ≔ (𝛿(𝑞,𝑤), 𝜆(𝑞,𝑤)),

𝜆(𝛿(𝑞′,𝑤)) = 𝜆′((𝑞, 𝑣))  ≔ 𝑣

äquivalent

Page 73: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 73 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.3  AutomatenEinfacher  Beispiel-­‐Automat

Aufgabe   einfache  „Datenglättung“

Filtere  isolierte  Bits  aus  Datenstrom  aus.

Es  gilt ∑ ≔ {0, 1}, ∆  ≔ {0, 1}

Mealy-­‐Automat

mit  𝑄 ≔ {0, 1, ? },  𝑞0 ≔ 0

Page 74: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 74 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.3  AutomatenÄquivalente  Automaten  „Bit-­‐Filter“

Page 75: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 75 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.  Synchrone  Schaltwerke8. Synchrone  Schaltwerke

1. Einleitung

2. Bistabile  Kippstufe

3. Automaten

4. Synchrone  Schaltwerke

5. Serienaddierwerke

6. Speicher  &  Schieberegister

7. Takt

Page 76: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 76 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.4  Synchrone  SchaltwerkeAutomaten  &  Schaltungen:  Synchr.  Schaltwerke

Erinnerung bi-­‐stabile  NAND-­‐Kippstufe

𝑹𝒕 𝑺𝒕 𝑷𝒕*𝟐∆ 𝑸𝒕*𝟐∆0 1 1 01 0 0 11 1  P̀ 𝑃'.

𝑄   = 0, 1 , 𝑞; = 0∑   = 01, 10, 11∆      = 0, 1

10/0

Page 77: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 77 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.4  Synchrone  SchaltwerkeVergleich  Automat  und  NAND-­‐Kippstufe

𝑹𝒕 𝑺𝒕 𝑷𝒕*𝟐∆ 𝑸𝒕*𝟐∆0 1 1 01 0 0 11 1  P̀ 𝑃'.

𝑄   = 0, 1 , 𝑞; = 0∑   = 01, 10, 11∆      = 0, 1

nicht  getaktet

getaktet

10/0

Page 78: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 78 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.4  Synchrone  SchaltwerkeSynchrone  Schaltwerke

ab  jetzt   getaktete  Schaltwerke

also   Führe  Taktsignal  T  ein

verschiedene  technische  Möglichkeiten

• Pegelsteuerung:   aktiv,  wenn  1  anliegt

• positive  Flankensteuerung:   aktiv,  wenn  Wechsel  von  0  nach  1

• negative  Flankensteuerung:  aktiv,  wenn  Wechsel  von  1  nach  0

digital-­‐logische  Ebene technisches  Detail  ignorieren

Page 79: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 79 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.4  Synchrone  SchaltwerkeRS-­‐Flip-­‐Flop

𝑹𝒕 𝑺𝒕 𝑷𝒕*𝟐∆ 𝑸𝒕*𝟐∆0 0 nicht  erlaubt0 1 1 01 0 0 11 1 𝑄' 𝑄'

Zustandstabelle  NAND-­Kippstufe

𝑹 𝑺 𝑸0 0 𝑄0 1 11 0 01 1  nicht  erlaubt

𝒙 𝒚 𝒙𝒚0 0 10 1 11 0 11 1 0

Wertetabelle  NAND

Page 80: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 80 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.4  Synchrone  SchaltwerkeD-­‐Flip-­‐Flop

Page 81: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 81 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.4  Synchrone  SchaltwerkeD-­‐Flip-­‐Flop

Page 82: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 82 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.4  Synchrone  SchaltwerkeJK-­‐Flip-­‐Flop

Page 83: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 83 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.4  Synchrone  SchaltwerkeT-­‐Flip-­‐Flop

Page 84: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 84 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.4  Synchrone  SchaltwerkeFlip-­‐Flops

Wir  haben   also  hier  4  verschiedene  Flip-­‐Flop-­‐Typen

Wozu  brauchen  wir  eigentlich  Flip-­‐Flops?

klar   Realisierung  von  Speicher

Was  müssen  wir  für  den  Einsatz  als  Speicher  wissen?

klar   gezielte  Änderung  von  Speicherinhalten

also   Zustandstabellen  eigentlich  nicht interessant

besser   Ansteuertabellen

Page 85: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 85 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.4  Synchrone  SchaltwerkeFlip-­‐Flops

etwas  präziser

Zustandstabelle Ansteuertabelle

Eingabe  ⇒ Zustand Ist-­‐Zustand,  ⇒ Eingabe

Soll-­‐Zustand

Anmerkung   Ansteuertabellen  können

„don’t care“  enthalten

Page 86: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 86 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.4  Synchrone  SchaltwerkeAnsteuertabelle  D-­‐Flip-­‐Flop

Zustandstabelle Ansteuertabelle

Beobachtung Ansteuerung  D  vom  alten  Zustand  unabhängig

Page 87: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 87 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.4  Synchrone  SchaltwerkeAnsteuertabelle  T-­‐Flip-­‐Flop

Zustandstabelle Ansteuertabelle

Beobachtung Kenntnis  des  „alten“  Zustands  erforderlich

Page 88: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 88 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.4  Synchrone  SchaltwerkeAnsteuertabelle  RS-­‐Flip-­‐Flop

Zustandstabelle Ansteuertabelle

Beobachtung wenn  Zustand  nicht  wechselt,  

gibt  es  Freiheit in  der  Ansteuerung

Page 89: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 89 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.4  Synchrone  SchaltwerkeAnsteuertabelle  JK-­‐Flip-­‐Flop

Zustandstabelle Ansteuertabelle

Beobachtung immer  Freiheit in  der  Ansteuerung

Page 90: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 90 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.4  Synchrone  SchaltwerkeUnvollständig  definierte  Ansteuerfunktionen

Wir  haben   für  RS-­‐Flip-­‐Flops  und  JK-­‐Flip-­‐Flops

nur  partiell  definierte  Ansteuerfunktionen

Ist  das  ungünstig?

Nein!

Erinnerung   Minimalpolynome  für  partiell  definierte  Funktionen

Erinnerung   Realisierungen  können  wesentlich  einfacher  sein

Erinnerung   Minimalpolynom  für  partiell  definiertes  f  

durch  PI  für  f1 und  Überdeckung  von  f0

Page 91: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 91 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.4  Synchrone  SchaltwerkeHuffmann Schaltwerk-­‐Modell

ein  allgemeines,  formales  Schaltwerkmodell

Beobachtung   führt  Gelerntes  über  Schaltnetze,  Flip-­‐Flops  und  Automaten  sinnvoll  zusammen

Page 92: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 92 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.4  Synchrone  SchaltwerkeHuffmann Schaltwerk-­‐Modell

Etwas  detaillierter

Page 93: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 93 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.4  Synchrone  SchaltwerkeSchaltwerk-­‐Entwurf

Wunsch   strukturierter  Schaltwerk-­‐Entwurf

Was  können  wir  überhaupt  als  Schaltwerk  realisieren?

klar   alles,  was  als  Automat  beschrieben  werden  kann

zum  Beispiel• Getränke-­‐Automat• Ampelsteuerung• Waschmaschinen-­‐Steuerung• .  .  .

Anmerkung   Heuristiken und  Erfahrung  sind  wichtig

Page 94: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 94 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.  Synchrone  Schaltwerke8. Synchrone  Schaltwerke

1. Einleitung

2. Bistabile  Kippstufe

3. Automaten

4. Synchrone  Schaltwerke

5. Serienaddierwerke

6. Speicher  &  Schieberegister

7. Takt

Page 95: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 95 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.5  SerienaddierwerkeSchritte  beim  Schaltwerk-­‐Entwurf

0. Verstehen der  Aufgabe

1. Spezifikation  des  Verhaltens (z.B.  als  Mealy-­‐Automat)

2. Wahl  der  Coderierung von  Eingaben,  Zuständen,  Ausgaben

3. Wertetabellemit  Eingaben,  Zustand,  Ausgaben,  neuem  Zustand

4. Wahl  der  Flip-­‐Flop-­‐Typen

5. Ergänzung  der  Wertetabelle  um  die  Flip-­‐Flop-­‐Ansteuerung

6. Entwurf  passender  boolescher  Funktionen

7. Entwurf  passender  Schaltnetze

8. Entwurf  vollständiges  getaktetes  Schaltwerk

Page 96: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 96 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.5  SerienaddierwerkeBeispiel  zum  Schaltwerk-­‐Entwurf

zur  Einführung   ein  „praktisches“  Beispiel

hilfreich   besonders  gut  verstandenes  Problem

Aufgabe   Addition  von  zwei  Betragszahlen

Erinnerung   wir  haben

Verfahren   Größe   Tiefe• Schul-­‐Methode     ≈ 5n   ≈ 2n• Carry-­‐Look-­‐Ahead     ≈ 𝑛- ≈  2  log2 n

jetzt   klein  und  flach  mit  einem  Schaltwerk

aber  extrem  langsam

Page 97: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 97 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.5  SerienaddierwerkeEntwurf  Addierwerk:  Schritt  0

Schritt  0   Verstehen der  Aufgabe

Wunsch   Summanden  bitweiseeingeben

Summe  bitweise erhalten

Offensichtlich geht  nur  von  rechts  nach  links

Was  muss  man  sich  merken?• nur  den  aktuellen  Übertrag• also  1  Bit

Page 98: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 98 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.5  SerienaddierwerkeEntwurf  Addierwerk:  Schritt  1

Schritt  1   Spezifikation  des  Verhaltens

Entscheidung   Beschreibung  durch  Mealy-­‐Automat

Eingabealphabet     ∑=  {00,  01,  10,  11}

Ausgabealphabet     ∆=  {0,  1} Summenbit

Zustandsmenge   Q  =  {0,  1} Übertragsbit

Page 99: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 99 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.5  SerienaddierwerkeEntwurf  Addierwerk:  Schritt  2

Schritt  2   Wahl  der  Codierung:    Eingaben,  Zuständen,  Ausgaben

Beobachtung im  Allgemeinen  (fast)  jede  Freiheit

hier   kanonische  Codierung  naheliegend

Page 100: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 100 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.5  SerienaddierwerkeEntwurf  Addierwerk:  Schritt  3

Schritt  3   Wertetabelle Eingaben,  Zustand,  neuer  Zustand,  Ausgaben

naheliegend Eingaben  heißen  x,  y;  alter  Zustand  heißt  caltneuer  Zustand  heißt  cneu;  Ausgabe  heißt  s

Page 101: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 101 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.5  SerienaddierwerkeEntwurf  Addierwerk:  Schritt  4

Schritt  4   Wahl  der  Flip-­‐Flop-­‐Typen

Entscheidung JK-­‐Flip-­‐Flops

Anmerkung• nicht  viele  überzeugende  Gründe• weil  es  besonders  viele  Freiheiten  erlaubt• weil  der  Zustandswechsel  nichts  nahelegt• weil  es  oft  benutzt  wird

Page 102: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 102 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.5  SerienaddierwerkeEntwurf  Addierwerk:  Schritt  5

Schritt  5   Ergänzung  der  Wertetabelle  um  Flip-­‐Flop-­‐Ansteuerung

Ansteuertabelle  JK-­‐Flip-­‐Flop

Page 103: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 103 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.5  SerienaddierwerkeEntwurf  Addierwerk:  Schritt  6    

Schritt  6   Entwurf  passender  boolescher  Funktionen

Page 104: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 104 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.5  SerienaddierwerkeEntwurf  Addierwerk:  Schritt  6    

Schritt  6   Entwurf  passender  boolescher  Funktionen

Page 105: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 105 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.5  SerienaddierwerkeEntwurf  Addierwerk:  Schritt  6    

Schritt  6   Entwurf  passender  boolescher  Funktionen

Page 106: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 106 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.5  SerienaddierwerkeEntwurf  Addierwerk:  Schritt  6    

Schritt  6   Entwurf  passender  boolescher  Funktionen

Page 107: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 107 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.5  SerienaddierwerkeEntwurf  Addierwerk:  Schritt  6    

Schritt  6   Entwurf  passender  boolescher  Funktionen

Page 108: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 108 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.5  SerienaddierwerkeEntwurf  Addierwerk:  Schritt  6    

Schritt  6   Entwurf  passender  boolescher  Funktionen

Page 109: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 109 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.5  SerienaddierwerkeEntwurf  Addierwerk:  Schritt  6    

Schritt  6   Entwurf  passender  boolescher  Funktionen

Page 110: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 110 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.5  SerienaddierwerkeEntwurf  Addierwerk:  Schritt  6    

Schritt  6   Entwurf  passender  boolescher  Funktionen

Page 111: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 111 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.5  SerienaddierwerkeEntwurf  Addierwerk:  Schritt  6    

Schritt  6   Entwurf  passender  boolescher  Funktionen

Page 112: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 112 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.5  SerienaddierwerkeEntwurf  Addierwerk:  Schritt  6    

Schritt  6   Entwurf  passender  boolescher  Funktionen

Page 113: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 113 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.5  SerienaddierwerkeEntwurf  Addierwerk:  Schritt  6    

Schritt  6   Entwurf  passender  boolescher  Funktionen

Page 114: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 114 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.5  SerienaddierwerkeEntwurf  Addierwerk:  Schritt  6    

Schritt  6   Entwurf  passender  boolescher  Funktionen

Page 115: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 115 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.5  SerienaddierwerkeEntwurf  Addierwerk:  Schritt  6    

Schritt  6   Entwurf  passender  boolescher  Funktionen

Page 116: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 116 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.5  SerienaddierwerkeEntwurf  Addierwerk:  Schritt  6    

Schritt  6   Entwurf  passender  boolescher  Funktionen

Page 117: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 117 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.5  SerienaddierwerkeEntwurf  Addierwerk:  Schritt  6    

Schritt  6   Entwurf  passender  boolescher  Funktionen

Page 118: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 118 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.5  SerienaddierwerkeEntwurf  Addierwerk:  Schritt  6    

Schritt  6   Entwurf  passender  boolescher  Funktionen

Page 119: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 119 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.5  SerienaddierwerkeEntwurf  Addierwerk:  Schritt  7    

Schritt  7   Entwurf  passender  Schaltnetze

Page 120: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 120 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.5  SerienaddierwerkeEntwurf  Addierwerk:  Schritt  8  

Schritt  8   Entwurf  des  vollständigen  Schaltwerks

Page 121: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 121 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.5  SerienaddierwerkeEntwurf  Addierwerk:  Schritt  8  

Schritt  8   Entwurf  des  vollständigen  Schaltwerks

Page 122: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 122 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.5  SerienaddierwerkeEntwurf  Addierwerk:  Schritt  8  

Schritt  8   Entwurf  des  vollständigen  Schaltwerks

Page 123: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 123 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.5  SerienaddierwerkeEntwurf  Addierwerk:  Schritt  8  

Schritt  8   Entwurf  des  vollständigen  Schaltwerks

Page 124: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 124 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.5  SerienaddierwerkeEntwurf  Addierwerk:  Schritt  8  

Schritt  8   Entwurf  des  vollständigen  Schaltwerks

0

Page 125: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 125 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.5  SerienaddierwerkeEntwurf  Addierwerk:  Schritt  8  

Schritt  8   Entwurf  des  vollständigen  Schaltwerks

Page 126: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 126 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.5  SerienaddierwerkeEntwurf  Addierwerk:  Schritt  8  

Schritt  8   Entwurf  des  vollständigen  Schaltwerks

Page 127: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 127 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.5  SerienaddierwerkeEntwurf  Addierwerk:  Schritt  8  

Schritt  8   Entwurf  des  vollständigen  Schaltwerks

0

Page 128: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 128 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.5  SerienaddierwerkeEntwurf  Addierwerk:  Schritt  8  

Schritt  8   Entwurf  des  vollständigen  Schaltwerks

Page 129: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 129 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.5  SerienaddierwerkeEntwurf  Addierwerk:  Schritt  8  

Schritt  8   Entwurf  des  vollständigen  Schaltwerks

Page 130: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 130 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.5  SerienaddierwerkeEntwurf  Addierwerk:  Schritt  8  

Schritt  8   Entwurf  des  vollständigen  Schaltwerks

0

Page 131: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 131 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.5  SerienaddierwerkeEntwurf  Addierwerk:  Schritt  8  

Schritt  8   Entwurf  des  vollständigen  Schaltwerks

Page 132: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 132 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.5  SerienaddierwerkeEntwurf  Addierwerk:  Schritt  8  

Schritt  8   Entwurf  des  vollständigen  Schaltwerks

Page 133: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 133 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.5  SerienaddierwerkeEntwurf  Addierwerk:  Schritt  8  

Schritt  8   Entwurf  des  vollständigen  Schaltwerks

1

Page 134: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 134 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.5  SerienaddierwerkeEntwurf  Addierwerk:  Schritt  8  

Schritt  8   Entwurf  des  vollständigen  Schaltwerks

Page 135: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 135 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.5  SerienaddierwerkeEntwurf  Addierwerk:  Schritt  8  

Schritt  8   Entwurf  des  vollständigen  Schaltwerks

Page 136: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 136 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.5  SerienaddierwerkeEntwurf  Addierwerk:  Schritt  8  

Schritt  8   Entwurf  des  vollständigen  Schaltwerks

0

Page 137: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 137 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.5  SerienaddierwerkeEntwurf  Addierwerk:  Schritt  8  

Schritt  8   Entwurf  des  vollständigen  Schaltwerks

Page 138: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 138 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.5  SerienaddierwerkeEntwurf  Addierwerk:  Schritt  8  

Schritt  8   Entwurf  des  vollständigen  Schaltwerks

Page 139: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 139 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.5  SerienaddierwerkeEntwurf  Addierwerk:  Schritt  8  

Schritt  8   Entwurf  des  vollständigen  Schaltwerks

1

Page 140: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 140 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.5  SerienaddierwerkeEntwurf  Addierwerk:  Schritt  8  

Schritt  8   Entwurf  des  vollständigen  Schaltwerks

Page 141: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 141 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.5  SerienaddierwerkeEntwurf  Addierwerk:  Schritt  8  

Schritt  8   Entwurf  des  vollständigen  Schaltwerks

Beobachtung Eingabe  (0,0)  im  letzten  Takt  wichtig

Page 142: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 142 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.5  SerienaddierwerkeEntwurf  Addierwerk:  Schritt  8  

Schritt  8   Entwurf  des  vollständigen  Schaltwerks

Beobachtung Eingabe  (0,0)  im  letzten  Takt  wichtig

Initialisierung?

Page 143: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 143 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.5  SerienaddierwerkeEntwurf  Addierwerk:  Schritt  8  

Schritt  8   Entwurf  des  vollständigen  Schaltwerks

Beobachtung Eingabe  (0,0)  im  letzten  Takt  wichtig

Initialisierung Eingabe  (0,0)

Page 144: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 144 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.5  SerienaddierwerkeInitialisierung Eingabe  (0,0)

Ziel:  Löschen  des  Übertrags  𝑄qrs• 𝑄qrs = 0   für  (J,  K)  =  (0,*)  oder  (J,  K)=(*,1)

à (J,K)  =  (0,1)

• (J,K)  =  (0,1)à (x,y)  =  (0,0)

Page 145: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 145 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.5  SerienaddierwerkeUnser  Addierwerk:  Serien-­‐Addierer

Fazit• addiert  beliebig  lange  Betragszahlen• ist  sehr  klein  und  flach• ist  sehr  leicht  zu  initialisieren• ist  extrem  langsam

Warum  ist  das  Schaltwerk  so  langsam?

bereits  bekannt wegen  der  Überträge

Müssen    Überträge  so  lange  dauern?

bekannt   im  Allgemeinen  nicht  (siehe  Addierer)

aber Bei  bit-­‐weiser  Eingabe  schon!

Page 146: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 146 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.5  SerienaddierwerkeÜber  unsere  Modelle

Wir  wissen  schon   Überträge  werden  nur  manchmal  

lange  weitergereicht.

Kann  man  ein  Schaltwerk  bauen,  dass  nur  manchmal  langsam  ist?

Problem unsere  Automaten  können  das  zunächst  nicht

Beobachtung   bei  Mealy-­‐ und  Moore-­‐Automat  bestimmt

Länge  der  Eingabe  die  Anzahl  der  Rechentakte

darum  Modifikation  des  Automatenmodells

Page 147: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 147 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.5  SerienaddierwerkeÜber  unsere  Modelle

darum  Modifikation  des  Automatenmodells

neu   Erlaube  leere  Eingabe  ε und

signalisiere  Ende  der  Rechnung  durch  Rechenende-­‐Zeichen

Beobachtung   Das  ist  fundamental  neu  für  uns.

Rechenzeit  kann  von  der  Eingabe  abhängen

(nicht  nur  von  der  Eingabelänge).

Page 148: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 148 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.5  SerienaddierwerkeAuf  dem  Weg  zum  besseren  Addierwerk

Wie  wollen  wir  vorgehen?

Beobachtung   Eingaben  müssen  sofort  ganz  zur  Verfügung  stehen

sonst  kann  man  nicht  schneller  sein

also   Eingabealphabet    ∑=  {0,  1}-q

bekannte  Idee   zur  Lösung Ersetze  x  und  y  durch  xʹ′  und  yʹ′  mit  

x  +  y  =  xʹ′  +  yʹ′  so  lange,  bis  yʹ′  =  0  gilt.

Page 149: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 149 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.5  SerienaddierwerkeEine  gute  Idee  verallgemeinern

Erinnerung   Wir  kennen  das  schon  vom  Halbaddierer.  .  .

Klar Das  funktioniert  auch  für  alle  n Stellen  parallel.

Page 150: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 150 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.5  SerienaddierwerkeEine  gute  Idee  verallgemeinern

Erinnerung   Wir  kennen  das  schon  vom  Halbaddierer.  .  .

Klar Das  funktioniert  auch  für  alle  n Stellen  parallel.

Fortschritt?

Page 151: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 151 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.5  SerienaddierwerkeEine  gute  Idee  verallgemeinern

Erinnerung   Wir  kennen  das  schon  vom  Halbaddierer.  .  .

Klar Das  funktioniert  auch  für  alle  n Stellen  parallel.

Fortschritt? in  y hinten  „neue“  0  also  nach    ≤ n Takten  y =  0

Page 152: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 152 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.5  SerienaddierwerkeNoch  offene  Fragen

Was  ist  mit  dem Ü?

klar   potenziell  kann  in  jedem  Takt  vorne  ein  Überlauf  entstehen

Also  bis  zu  n  Überläufe  speichern?

zum  Glück   nein

Wir  wissen   höchstens  1  Überlauf  insgesamt

Wann  ist  die  Rechnung  fertig?

klar   Rechnung  fertig  ,  y  =  0

Also „done“  d  =  𝑦0  ˅  𝑦1˅   …˅  𝑦qwQ =  ¬⋁ 𝑦𝑖qwQyz;

jetzt   unsere  Ideen  zusammensetzen

Page 153: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 153 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.5  SerienaddierwerkeDas  von  Neumann-­‐Addierwerk    nach  John  von  Neumann  (1903–1957)

Ideen• Schaltwerk  bekommt  direkt  Summanden  komplett• Eingabe  ε  wird  erlaubt• Rechenende-­‐Zeichen  signalisiert  Ende  der  Rechnung• in  jedem  Takt  ersetze  x,  y durch  xʹ′,  yʹ′mit  x  + y  = xʹ′  + yʹ′• Ersetzung  stellenweise  mit  Halbaddierern

HoffnungAddierwerk  ist  oft  schnell

Page 154: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 154 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.5  SerienaddierwerkeSchematische  Darstellung  von  Neumann-­‐Addierwerk  für  n =  3

Die  𝑥y und  𝑦y und  Ü (in  der  Abbildung  mit  𝑜 bezeichnet)  sind  Speicher,  die  mit  Flip-­‐Flops  realisiert  werden

Page 155: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 155 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.5  SerienaddierwerkeIst  das  Addierwerk  denn  jetzt  wirklich  schnell?

Frage Welche  Eingaben  dauern  lange?1.  Versuch   viele  Überträge  exemplarisch  für  n =  6: 111111  +  111111

Ü 𝑥𝟓 𝑥𝟒 𝑥𝟑 𝑥𝟐 𝑥𝟏 𝑥𝟎0 1 1 1 1 1 1

1 1 1 1 1 1𝑦𝟓 𝑦𝟒 𝑦𝟑 𝑦𝟐 𝑦𝟏 𝑦𝟎

Page 156: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 156 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.5  SerienaddierwerkeIst  das  Addierwerk  denn  jetzt  wirklich  schnell?

Frage Welche  Eingaben  dauern  lange?1.  Versuch   viele  Überträge  exemplarisch  für  n =  6: 111111  +  111111

Ü 𝑥𝟓 𝑥𝟒 𝑥𝟑 𝑥𝟐 𝑥𝟏 𝑥𝟎0 1 1 1 1 1 1

1 1 1 1 1 1𝑦𝟓 𝑦𝟒 𝑦𝟑 𝑦𝟐 𝑦𝟏 𝑦𝟎

Ü 𝑥𝟓 𝑥𝟒 𝑥𝟑 𝑥𝟐 𝑥𝟏 𝑥𝟎1 0 0 0 0 0 0

1 1 1 1 1 0𝑦𝟓 𝑦𝟒 𝑦𝟑 𝑦𝟐 𝑦𝟏 𝑦𝟎

Page 157: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 157 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.5  SerienaddierwerkeIst  das  Addierwerk  denn  jetzt  wirklich  schnell?

Frage Welche  Eingaben  dauern  lange?1.  Versuch   viele  Überträge  exemplarisch  für  n =  6: 111111  +  111111

Ü 𝑥𝟓 𝑥𝟒 𝑥𝟑 𝑥𝟐 𝑥𝟏 𝑥𝟎0 1 1 1 1 1 1

1 1 1 1 1 1𝑦𝟓 𝑦𝟒 𝑦𝟑 𝑦𝟐 𝑦𝟏 𝑦𝟎

Ü 𝑥𝟓 𝑥𝟒 𝑥𝟑 𝑥𝟐 𝑥𝟏 𝑥𝟎1 0 0 0 0 0 0

1 1 1 1 1 0𝑦𝟓 𝑦𝟒 𝑦𝟑 𝑦𝟐 𝑦𝟏 𝑦𝟎

Ü 𝑥𝟓 𝑥𝟒 𝑥𝟑 𝑥𝟐 𝑥𝟏 𝑥𝟎1 1 1 1 1 1 0

0 0 0 0 0 0𝑦𝟓 𝑦𝟒 𝑦𝟑 𝑦𝟐 𝑦𝟏 𝑦𝟎

Page 158: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 158 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.5  SerienaddierwerkeIst  das  Addierwerk  denn  jetzt  wirklich  schnell?

Frage Welche  Eingaben  dauern  lange?1.  Versuch   viele  Überträge  exemplarisch  für  n =  6: 111111  +  111111

Beobachtung nach  nur  zwei  Takten  fertig  à schnellErinnerung bzgl.  Übertrag  schwierig:  0  +  1,  1  +  0

Ü 𝑥𝟓 𝑥𝟒 𝑥𝟑 𝑥𝟐 𝑥𝟏 𝑥𝟎0 1 1 1 1 1 1

1 1 1 1 1 1𝑦𝟓 𝑦𝟒 𝑦𝟑 𝑦𝟐 𝑦𝟏 𝑦𝟎

Ü 𝑥𝟓 𝑥𝟒 𝑥𝟑 𝑥𝟐 𝑥𝟏 𝑥𝟎1 0 0 0 0 0 0

1 1 1 1 1 0𝑦𝟓 𝑦𝟒 𝑦𝟑 𝑦𝟐 𝑦𝟏 𝑦𝟎

Ü 𝑥𝟓 𝑥𝟒 𝑥𝟑 𝑥𝟐 𝑥𝟏 𝑥𝟎1 1 1 1 1 1 0

0 0 0 0 0 0𝑦𝟓 𝑦𝟒 𝑦𝟑 𝑦𝟐 𝑦𝟏 𝑦𝟎

Page 159: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 159 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.5  SerienaddierwerkeIst  das  Addierwerk  denn  jetzt  wirklich  schnell?

Frage Welche  Eingaben  dauern  lange?2.  Versuch   0+1,  1+0  exemplarisch  für  n =  6: 000000  +  111111

Ü 𝑥𝟓 𝑥𝟒 𝑥𝟑 𝑥𝟐 𝑥𝟏 𝑥𝟎0 0 0 0 0 0 0

1 1 1 1 1 1𝑦𝟓 𝑦𝟒 𝑦𝟑 𝑦𝟐 𝑦𝟏 𝑦𝟎

Page 160: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 160 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.5  SerienaddierwerkeIst  das  Addierwerk  denn  jetzt  wirklich  schnell?

Frage Welche  Eingaben  dauern  lange?2.  Versuch   0+1,  1+0  exemplarisch  für  n =  6: 000000  +  111111

Ü 𝑥𝟓 𝑥𝟒 𝑥𝟑 𝑥𝟐 𝑥𝟏 𝑥𝟎0 0 0 0 0 0 0

1 1 1 1 1 1𝑦𝟓 𝑦𝟒 𝑦𝟑 𝑦𝟐 𝑦𝟏 𝑦𝟎

Ü 𝑥𝟓 𝑥𝟒 𝑥𝟑 𝑥𝟐 𝑥𝟏 𝑥𝟎0 1 1 1 1 1 1

0 0 0 0 0 0𝑦𝟓 𝑦𝟒 𝑦𝟑 𝑦𝟐 𝑦𝟏 𝑦𝟎

Page 161: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 161 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.5  SerienaddierwerkeIst  das  Addierwerk  denn  jetzt  wirklich  schnell?

Frage Welche  Eingaben  dauern  lange?2.  Versuch   0+1,  1+0  exemplarisch  für  n =  6: 000000  +  111111

Beobachtung nach  nur  einem  Takten  fertig  à sehr schnell

Offensichtlich 111111  +  000000  wäre  sofort  fertig

Vermutung Überträge  mit  langen  Wegen  dauern  lange

Frage Was  ist  die  "worst case"  Eingabe?

Ü 𝑥𝟓 𝑥𝟒 𝑥𝟑 𝑥𝟐 𝑥𝟏 𝑥𝟎0 0 0 0 0 0 0

1 1 1 1 1 1𝑦𝟓 𝑦𝟒 𝑦𝟑 𝑦𝟐 𝑦𝟏 𝑦𝟎

Ü 𝑥𝟓 𝑥𝟒 𝑥𝟑 𝑥𝟐 𝑥𝟏 𝑥𝟎0 1 1 1 1 1 1

0 0 0 0 0 0𝑦𝟓 𝑦𝟒 𝑦𝟑 𝑦𝟐 𝑦𝟏 𝑦𝟎

Page 162: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 162 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.5  Serienaddierwerke"worst case"  Eingabe  für  das  von  Neumann  Addierwerk

Ü 𝑥𝟓 𝑥𝟒 𝑥𝟑 𝑥𝟐 𝑥𝟏 𝑥𝟎0 1 1 1 1 1 1

0 0 0 0 0 1

𝑦𝟓 𝑦𝟒 𝑦𝟑 𝑦𝟐 𝑦𝟏 𝑦𝟎

Page 163: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 163 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.5  Serienaddierwerke"worst case"  Eingabe  für  das  von  Neumann  Addierwerk

Ü 𝑥𝟓 𝑥𝟒 𝑥𝟑 𝑥𝟐 𝑥𝟏 𝑥𝟎0 1 1 1 1 1 1

0 0 0 0 0 1

𝑦𝟓 𝑦𝟒 𝑦𝟑 𝑦𝟐 𝑦𝟏 𝑦𝟎

Ü 𝑥𝟓 𝑥𝟒 𝑥𝟑 𝑥𝟐 𝑥𝟏 𝑥𝟎0 1 1 1 1 1 0

0 0 0 0 1 0

𝑦𝟓 𝑦𝟒 𝑦𝟑 𝑦𝟐 𝑦𝟏 𝑦𝟎

Page 164: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 164 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.5  Serienaddierwerke"worst case"  Eingabe  für  das  von  Neumann  Addierwerk

Ü 𝑥𝟓 𝑥𝟒 𝑥𝟑 𝑥𝟐 𝑥𝟏 𝑥𝟎0 1 1 1 1 1 1

0 0 0 0 0 1

𝑦𝟓 𝑦𝟒 𝑦𝟑 𝑦𝟐 𝑦𝟏 𝑦𝟎

Ü 𝑥𝟓 𝑥𝟒 𝑥𝟑 𝑥𝟐 𝑥𝟏 𝑥𝟎0 1 1 1 1 1 0

0 0 0 0 1 0

𝑦𝟓 𝑦𝟒 𝑦𝟑 𝑦𝟐 𝑦𝟏 𝑦𝟎

Ü 𝑥𝟓 𝑥𝟒 𝑥𝟑 𝑥𝟐 𝑥𝟏 𝑥𝟎0 1 1 1 1 0 0

0 0 0 1 0 0

𝑦𝟓 𝑦𝟒 𝑦𝟑 𝑦𝟐 𝑦𝟏 𝑦𝟎

Page 165: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 165 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.5  Serienaddierwerke"worst case"  Eingabe  für  das  von  Neumann  Addierwerk

Ü 𝑥𝟓 𝑥𝟒 𝑥𝟑 𝑥𝟐 𝑥𝟏 𝑥𝟎0 1 1 1 1 1 1

0 0 0 0 0 1

𝑦𝟓 𝑦𝟒 𝑦𝟑 𝑦𝟐 𝑦𝟏 𝑦𝟎

Ü 𝑥𝟓 𝑥𝟒 𝑥𝟑 𝑥𝟐 𝑥𝟏 𝑥𝟎0 1 1 1 1 1 0

0 0 0 0 1 0

𝑦𝟓 𝑦𝟒 𝑦𝟑 𝑦𝟐 𝑦𝟏 𝑦𝟎

Ü 𝑥𝟓 𝑥𝟒 𝑥𝟑 𝑥𝟐 𝑥𝟏 𝑥𝟎0 1 1 1 1 0 0

0 0 0 1 0 0

𝑦𝟓 𝑦𝟒 𝑦𝟑 𝑦𝟐 𝑦𝟏 𝑦𝟎

Ü 𝑥𝟓 𝑥𝟒 𝑥𝟑 𝑥𝟐 𝑥𝟏 𝑥𝟎0 1 1 1 0 0 0

0 0 1 0 0 0

𝑦𝟓 𝑦𝟒 𝑦𝟑 𝑦𝟐 𝑦𝟏 𝑦𝟎

⟹⟹

Page 166: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 166 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.5  Serienaddierwerke"worst case"  Eingabe  für  das  von  Neumann  Addierwerk

Ü 𝑥𝟓 𝑥𝟒 𝑥𝟑 𝑥𝟐 𝑥𝟏 𝑥𝟎0 1 1 1 1 1 1

0 0 0 0 0 1

𝑦𝟓 𝑦𝟒 𝑦𝟑 𝑦𝟐 𝑦𝟏 𝑦𝟎

Ü 𝑥𝟓 𝑥𝟒 𝑥𝟑 𝑥𝟐 𝑥𝟏 𝑥𝟎0 1 1 1 1 1 0

0 0 0 0 1 0

𝑦𝟓 𝑦𝟒 𝑦𝟑 𝑦𝟐 𝑦𝟏 𝑦𝟎

Ü 𝑥𝟓 𝑥𝟒 𝑥𝟑 𝑥𝟐 𝑥𝟏 𝑥𝟎0 1 1 1 1 0 0

0 0 0 1 0 0

𝑦𝟓 𝑦𝟒 𝑦𝟑 𝑦𝟐 𝑦𝟏 𝑦𝟎

Ü 𝑥𝟓 𝑥𝟒 𝑥𝟑 𝑥𝟐 𝑥𝟏 𝑥𝟎0 1 1 0 0 0 0

0 1 0 0 0 0

𝑦𝟓 𝑦𝟒 𝑦𝟑 𝑦𝟐 𝑦𝟏 𝑦𝟎

Ü 𝑥𝟓 𝑥𝟒 𝑥𝟑 𝑥𝟐 𝑥𝟏 𝑥𝟎0 1 1 1 0 0 0

0 0 1 0 0 0

𝑦𝟓 𝑦𝟒 𝑦𝟑 𝑦𝟐 𝑦𝟏 𝑦𝟎

⟹⟹

Page 167: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 167 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.5  Serienaddierwerke"worst case"  Eingabe  für  das  von  Neumann  Addierwerk

Ü 𝑥𝟓 𝑥𝟒 𝑥𝟑 𝑥𝟐 𝑥𝟏 𝑥𝟎0 1 1 1 1 1 1

0 0 0 0 0 1

𝑦𝟓 𝑦𝟒 𝑦𝟑 𝑦𝟐 𝑦𝟏 𝑦𝟎

Ü 𝑥𝟓 𝑥𝟒 𝑥𝟑 𝑥𝟐 𝑥𝟏 𝑥𝟎0 1 1 1 1 1 0

0 0 0 0 1 0

𝑦𝟓 𝑦𝟒 𝑦𝟑 𝑦𝟐 𝑦𝟏 𝑦𝟎

Ü 𝑥𝟓 𝑥𝟒 𝑥𝟑 𝑥𝟐 𝑥𝟏 𝑥𝟎0 1 1 1 1 0 0

0 0 0 1 0 0

𝑦𝟓 𝑦𝟒 𝑦𝟑 𝑦𝟐 𝑦𝟏 𝑦𝟎

Ü 𝑥𝟓 𝑥𝟒 𝑥𝟑 𝑥𝟐 𝑥𝟏 𝑥𝟎0 1 1 0 0 0 0

0 1 0 0 0 0

𝑦𝟓 𝑦𝟒 𝑦𝟑 𝑦𝟐 𝑦𝟏 𝑦𝟎

Ü 𝑥𝟓 𝑥𝟒 𝑥𝟑 𝑥𝟐 𝑥𝟏 𝑥𝟎0 1 1 1 0 0 0

0 0 1 0 0 0

𝑦𝟓 𝑦𝟒 𝑦𝟑 𝑦𝟐 𝑦𝟏 𝑦𝟎

Ü 𝑥𝟓 𝑥𝟒 𝑥𝟑 𝑥𝟐 𝑥𝟏 𝑥𝟎0 1 0 0 0 0 0

1 0 0 0 0 0

𝑦𝟓 𝑦𝟒 𝑦𝟑 𝑦𝟐 𝑦𝟏 𝑦𝟎

Page 168: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 168 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.5  Serienaddierwerke"worst case"  Eingabe  für  das  von  Neumann  Addierwerk

Ü 𝑥𝟓 𝑥𝟒 𝑥𝟑 𝑥𝟐 𝑥𝟏 𝑥𝟎0 1 1 1 1 1 1

0 0 0 0 0 1

𝑦𝟓 𝑦𝟒 𝑦𝟑 𝑦𝟐 𝑦𝟏 𝑦𝟎

Ü 𝑥𝟓 𝑥𝟒 𝑥𝟑 𝑥𝟐 𝑥𝟏 𝑥𝟎0 1 1 1 1 1 0

0 0 0 0 1 0

𝑦𝟓 𝑦𝟒 𝑦𝟑 𝑦𝟐 𝑦𝟏 𝑦𝟎

Ü 𝑥𝟓 𝑥𝟒 𝑥𝟑 𝑥𝟐 𝑥𝟏 𝑥𝟎0 1 1 1 1 0 0

0 0 0 1 0 0

𝑦𝟓 𝑦𝟒 𝑦𝟑 𝑦𝟐 𝑦𝟏 𝑦𝟎

Ü 𝑥𝟓 𝑥𝟒 𝑥𝟑 𝑥𝟐 𝑥𝟏 𝑥𝟎0 1 1 0 0 0 0

0 1 0 0 0 0

𝑦𝟓 𝑦𝟒 𝑦𝟑 𝑦𝟐 𝑦𝟏 𝑦𝟎

Ü 𝑥𝟓 𝑥𝟒 𝑥𝟑 𝑥𝟐 𝑥𝟏 𝑥𝟎1 0 0 0 0 0 0

0 0 0 0 0 0

𝑦𝟓 𝑦𝟒 𝑦𝟑 𝑦𝟐 𝑦𝟏 𝑦𝟎

Ü 𝑥𝟓 𝑥𝟒 𝑥𝟑 𝑥𝟐 𝑥𝟏 𝑥𝟎0 1 1 1 0 0 0

0 0 1 0 0 0

𝑦𝟓 𝑦𝟒 𝑦𝟑 𝑦𝟐 𝑦𝟏 𝑦𝟎

Ü 𝑥𝟓 𝑥𝟒 𝑥𝟑 𝑥𝟐 𝑥𝟏 𝑥𝟎0 1 0 0 0 0 0

1 0 0 0 0 0

𝑦𝟓 𝑦𝟒 𝑦𝟑 𝑦𝟐 𝑦𝟏 𝑦𝟎

Page 169: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 169 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.5  Serienaddierwerke"worst case"  Eingabe  für  das  von  Neumann  Addierwerk

extrem  langsam

Ü 𝑥𝟓 𝑥𝟒 𝑥𝟑 𝑥𝟐 𝑥𝟏 𝑥𝟎0 1 1 1 1 1 1

0 0 0 0 0 1

𝑦𝟓 𝑦𝟒 𝑦𝟑 𝑦𝟐 𝑦𝟏 𝑦𝟎

Ü 𝑥𝟓 𝑥𝟒 𝑥𝟑 𝑥𝟐 𝑥𝟏 𝑥𝟎0 1 1 1 1 1 0

0 0 0 0 1 0

𝑦𝟓 𝑦𝟒 𝑦𝟑 𝑦𝟐 𝑦𝟏 𝑦𝟎

Ü 𝑥𝟓 𝑥𝟒 𝑥𝟑 𝑥𝟐 𝑥𝟏 𝑥𝟎0 1 1 1 1 0 0

0 0 0 1 0 0

𝑦𝟓 𝑦𝟒 𝑦𝟑 𝑦𝟐 𝑦𝟏 𝑦𝟎

Ü 𝑥𝟓 𝑥𝟒 𝑥𝟑 𝑥𝟐 𝑥𝟏 𝑥𝟎0 1 1 0 0 0 0

0 1 0 0 0 0

𝑦𝟓 𝑦𝟒 𝑦𝟑 𝑦𝟐 𝑦𝟏 𝑦𝟎

Ü 𝑥𝟓 𝑥𝟒 𝑥𝟑 𝑥𝟐 𝑥𝟏 𝑥𝟎1 0 0 0 0 0 0

0 0 0 0 0 0

𝑦𝟓 𝑦𝟒 𝑦𝟑 𝑦𝟐 𝑦𝟏 𝑦𝟎

Ü 𝑥𝟓 𝑥𝟒 𝑥𝟑 𝑥𝟐 𝑥𝟏 𝑥𝟎0 1 1 1 0 0 0

0 0 1 0 0 0

𝑦𝟓 𝑦𝟒 𝑦𝟑 𝑦𝟐 𝑦𝟏 𝑦𝟎

Ü 𝑥𝟓 𝑥𝟒 𝑥𝟑 𝑥𝟐 𝑥𝟏 𝑥𝟎0 1 0 0 0 0 0

1 0 0 0 0 0

𝑦𝟓 𝑦𝟒 𝑦𝟑 𝑦𝟐 𝑦𝟏 𝑦𝟎

Page 170: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 170 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.5  SerienaddierwerkeAnalyse  des  von  Neumann-­‐Addierwerks

Beobachtung 111  ·∙  ·∙  ·∙  111  +  000  ·∙  ·∙  ·∙  000  ⟹ 0  Takte extrem  schnellBeobachtung   111  ·∙  ·∙  ·∙  111  +  000  ·∙  ·∙  ·∙  001  ⟹ n  Takte extrem  langsam

Ist  das  von  Neumann-­‐Addierwerk  schnell  oder  langsam?• Best  Case   schnell  (0  Takte)• Worst Case   langsam  (n  Takte)• 0  Takte   Glücklicher  Zufall?  • n  Takte   Seltenes  Unglück?

Was  ist  typisch?• Antwort  Average-­‐Case-­‐Analyse• d.  h.  durchschnittliche  Rechenzeit• Problem:    Welche  Verteilung  über  die  Eingaben  nehmen  wir  an?

Page 171: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 171 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.5  SerienaddierwerkeAverage-­‐Case-­‐Analyse

Average-­‐Case-­‐Rechenzeit  durchschnittliche  Rechenzeit• bei  Gewichtung  der  Eingaben• nach  ihrer  Wahrscheinlichkeit  bei  gegebener• Wahrscheinlichkeitsverteilung  über  den  Eingaben

ProblemWelche  Verteilung  ist  angemessen?• meist  betrachtet  Gleichverteilung• Vorsicht: reale  Daten  fast  nie  gleichverteilt• trotzdem  hier  Annahme  Gleichverteilung

Gleichverteilung bedeutet• alle  Eingaben  gleichwahrscheinlich• an  jeder  Position  0  und  1  mit  Wahrscheinlichkeit    ½• alle  Positionen  unabhängig

Page 172: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 172 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.5  SerienaddierwerkeAverage-­‐Case-­‐Analyse    (ungenau!)

Start Typische Eingabe  der  Länge  2n bei  Gleichverteilung:• je  50% 0-­‐ und  1-­‐Stellen  • d.h.  n/2 1-­‐en  pro  Summand

Verarbeitung:  nach  1  Takt  ...

• Überträge  (𝑦):  Wir  erwarten  1  an  𝑦y*Q,  wenn  vorher  1  sowohl  an  𝑥y als  auch  an  𝑦y ,  d.h.  mit  Wahrscheinlichkeit  1/4⇒ Erwarten  nach  1  Takt  n/4 1-­‐en  in  y

• Ergebnis  (𝑥):  Wir  erwarten  1  in  𝑥y,  wenn  vorher  01  oder  10  in  𝑥y,  𝑦y ,  d.h.  in  50%  der  Fälle⇒ Erwarten  nach  1  Takt  weiterhin  n/2 1-­‐en  in  𝒙

• ⇒ Erwarten:  Anzahl  1-­‐en  in  𝒚 halbiert  sich  je  Takt  (in  𝒙 unverändert)

Fazit:  Erwarten  Rechenende  nach  log-(𝑛) Takten  

Page 173: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 173 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.5  SerienaddierwerkeMoore-­‐Automat  zum  von  Neumann-­‐Addierwerk

Ziel Beschreibung  eines  Moore-­‐Automaten  zum  von  Neumann-­‐Addierwerk  zur  Addition  von  zwei  n-­‐Bit-­‐Zahlen

Erweiterung  des  Automatenmodells  um  ε-­‐Eingaben im  folgenden  Sinn

• bei  Eingabe  von  x𝑦wird  aktuelle  Rechnung  unterbrochen  und  mitBerechnung von  x + 𝑦  begonnen

• bei  Eingabe  von  ε wird  aktuelle  Rechnung  fortgesetzt

• Ausgabe  ist  "−",  falls  Rechnung  noch  nicht  beendet

• Ausgabe  ist  Summe  der  Eingabezahlen,  wenn  fertig  berechnet

Page 174: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 174 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.5  SerienaddierwerkeSchematische  Darstellung  von  Neumann-­‐Addierwerk  für  n =  3

Page 175: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 175 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.  Synchrone  Schaltwerke8. Synchrone  Schaltwerke

1. Einleitung

2. Bistabile  Kippstufe

3. Automaten

4. Synchrone  Schaltwerke

5. Serienaddierwerke

6. Speicher  &  Schieberegister

7. Takt

Page 176: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 176 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.6  Speicher  &  SchieberegisterSpeicher

Erinnerung Wir  können  in  einem  Flip-­‐Flop  ein  Bit  speichern.

Beobachtung• 1-­‐Bit-­‐Speicher  reichen  uns  nicht.• Wir  können  in  k Flips-­‐Flops  k Bits  speichern.

Wie  organisieren wir  das  so,  dass  der  Zugriff  bequem  ist?• exemplarisch  Speicher  für  3-­‐Bit-­‐Wörter• Warum  3?  Passt  bequem  auf  eine  Folie

Anmerkung Auch  3-­‐Bit-­‐Speicher  reicht  in  der  Praxis  nicht  aus.

Page 177: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 177 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.6  Speicher  &  SchieberegisterSpeichern  eines  3-­‐Bit-­‐Wortes

Wie  können  wir  mehr  als  nur  ein  Wort  speichern?

RD  =  1  Speicherinhalt   lesenRD  =  0  Speicherinhalt   schreiben

Page 178: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 178 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.6  Speicher  &  SchieberegisterSpeichern  von  zwei  3-­‐Bit-­‐Worten RD  =  1  Speicherinhalt   lesen

RD  =  0  Speicherinhalt   schreiben

Page 179: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 179 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.6  Speicher  &  SchieberegisterSpeichern  von  zwei  3-­‐Bit-­‐Worten

Beobachtung:  Oberes  und  unteres  Wort  stets  identisch

RD  =  1  Speicherinhalt   lesenRD  =  0  Speicherinhalt   schreiben

Page 180: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 180 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.6  Speicher  &  SchieberegisterSpeichern  von  zwei  3-­‐Bit-­‐Worten

Offensichtlich Die  Speicherwörter  müssen  getrennt  ansprechbar  sein• wir  wollen  ein  Wort  wahlfrei  adressieren.• wir  brauchen  eine  Adressleitung  A0.

Interpretation• A0  =  0  Wort  w0  adressiert  zum  Lesen  oder  Schreiben• A0  =  1  Wort  w1  adressiert  zum  Lesen  oder  Schreiben

RD  bestimmt,  ob  gelesen  oder  geschrieben  wird• RD  =  1  Speicherinhalt  lesen• RD  =  0  Speicherinhalt  schreiben

Page 181: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 181 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.6  Speicher  &  SchieberegisterSpeichern  von  zwei  3-­‐Bit-­‐Worten RD  =  1  Speicherinhalt   lesen

RD  =  0  Speicherinhalt   schreiben

Page 182: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 182 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.6  Speicher  &  SchieberegisterSpeichererweiterungen

angenommen Schaltung  zur  Speicherung  von  zwei  3-­‐Bit-­‐Wörtern  existiert

angenommen Speicher  reicht  im  Betrieb  nicht  aus

Wunsch Speichererweiterung

Beachte  Speichererweiterung bedeutet• weiteren  Speicherbaustein  (gleicher  Art)  hinzufügen• nicht  vorhandenen  Speicherbaustein  durch  größeren

Speicherbaustein  ersetzen

Wie  können  wir  das  unterstützen?• Idee  zusätzliche  Eingabe• Chip  Selected  (CS)

Page 183: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 183 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.6  Speicher  &  SchieberegisterSpeichern  von  zwei  3-­‐Bit-­‐Worten RD  =  1  Speicherinhalt   lesen

RD  =  0  Speicherinhalt   schreiben

Page 184: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 184 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.6  Speicher  &  SchieberegisterBeispiel    w1  :=  1  0  1 RD  =  1  Speicherinhalt   lesen

RD  =  0  Speicherinhalt   schreiben

Page 185: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 185 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.6  Speicher  &  SchieberegisterBeispiel    w1  :=  1  0  1 RD  =  1  Speicherinhalt   lesen

RD  =  0  Speicherinhalt   schreiben

1 0 1

Page 186: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 186 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.6  Speicher  &  SchieberegisterBeispiel    Lies  w1 RD  =  1  Speicherinhalt   lesen

RD  =  0  Speicherinhalt   schreiben

1 0 1

Page 187: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 187 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.6  Speicher  &  SchieberegisterBeispiel    Lies  w1 RD  =  1  Speicherinhalt   lesen

RD  =  0  Speicherinhalt   schreiben

Page 188: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 188 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.6  Speicher  &  SchieberegisterRealistischere  Speichergrößen

Beobachtung Speichergröße  "2  Wörter"  ist  nicht  realistisch

auch  nicht  bei  Benutzung  mehrerer  Bausteine

Wie  kommen  wir  zu  realistischen  Speichergrößen?• größere  Wortlänge  funktioniert  im  Prinzip  gleich• Wie  verallgemeinern  wir  auf  >  2  Wörter?

Page 189: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 189 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.6  Speicher  &  SchieberegisterSpeicher  für  zwei  3-­‐Bit  Wörter

Word  Select  Line

Page 190: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 190 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.6  Speicher  &  SchieberegisterWord  Select  Lines  für vier Wörter

Page 191: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 191 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.6  Speicher  &  SchieberegisterSpeicher  für  viele  Wörter

allgemein 2�  Wörter  speichern

Offensichtlich 𝑘 Adressleitungen  benötigt

zunächst formale  Beschreibung  als  boolesche  Funktion

𝑓: 0,1 � → 0,1 -�

mit  𝑓   𝐴;, 𝐴Q,… , 𝐴�wQ = 𝑠;,𝑠Q,… , 𝑠-�wQ

mit  𝑠y = �1 falls 𝐴�wQ, 𝐴�w-,… , 𝐴; - = 𝑖0 sonst  

Name  der  Funktion   Decoder

genauer  𝑘×2� -­‐Decoder

Page 192: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 192 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.6  Speicher  &  SchieberegisterDecoder

Nachdenken Kommt  uns  das  nicht  bekannt  vor?

Page 193: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 193 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.6  Speicher  &  Schieberegister

Page 194: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 194 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.6  Speicher  &  SchieberegisterUnd-­‐Teil  realisiert  einen  Decoder

Page 195: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 195 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.6  Speicher  &  SchieberegisterDemultiplexerErinnerung  

• 𝑀𝑈𝑋�: 0,1 �*-� → 0,1• 𝑀𝑈𝑋� 𝑦Q, 𝑦-,… , 𝑦�, 𝑥;, 𝑥Q,… , 𝑥-�wQ = 𝑥 ��,��,…,�� �

Erinnerung• 𝐷𝐸𝐶𝑂𝐷𝐸�: 0,1 � → 0,1 -� mit• 𝐷𝐸𝐶𝑂𝐷𝐸� 𝐴;, 𝐴Q,… , 𝐴�wQ = 𝑠;, 𝑠Q,… , 𝑠-�wQ mit

• 𝑠y = �1 falls 𝐴�wQ, 𝐴�w-,… , 𝐴; - = 𝑖0 sonst  

Demultiplexer• 𝐷𝐸𝑀𝑈𝑋�: 0,1 �*Q → 0,1 -� mit• 𝐷𝐸𝑀𝑈𝑋� 𝑥, 𝐴;, 𝐴Q,… , 𝐴�wQ =

(𝑥 ∧ 𝐷𝐸𝐶𝑂𝐷𝐸� 𝐴;, 𝐴Q,… , 𝐴�wQ ;,𝑥 ∧ 𝐷𝐸𝐶𝑂𝐷𝐸� 𝐴;, 𝐴Q, … , 𝐴�wQ Q, ...  ,

𝑥 ∧ 𝐷𝐸𝐶𝑂𝐷𝐸� 𝐴;, 𝐴Q, … , 𝐴�wQ -�wQ)

Page 196: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 196 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.6  Speicher  &  SchieberegisterSpeicher

Realisiert man  Speicher  wirklich  so?• nicht  für  Hauptspeicher  von  Rechnern• kompaktere  Lösung  mittels  DRAM  (dynamic random access memory)  

möglich• tatsächlich  typische  SRAM-­‐Realisierung  (SRAM  =  static RAM)

Eigenschaften• dauerhaft• schnell• Zugriffszeit  von  Daten  unabhängig• teuer• hoher  Stromverbrauch

Bemerkung typisch  für  Cache-­‐ oder  Register-­‐Speicher

Page 197: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 197 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.6  Speicher  &  Schieberegister1-­‐Mbit  (128  K  × 8)  Static  RAM

Rechnungen• Anzahl  der  Flip-­‐Flops:   128 �  1024 �  8  =  1.048.576• 1  MByte  à 8  ICs 1  GByteà 8.096  ICs• 8  ICs  à 27,12  € 8.096  ICs  à 13.358,40  € (Mengenrabatt!)• 8  ICs  à 640  mA 8.096  ICs  à 647,68  A                  (Stromaufnahme)

Page 198: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 198 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.6  Speicher  &  SchieberegisterSpezielle  Speicher:  Register

Beobachtung• in  Computern  meist  keine  direkte  Speichermanipulation• stattdessen  spezielle,  direkt  der  CPU  zugehörige  Speicherzellen• Register

Register• Register  sind  auch  nur  Flip-­‐Flops• aber  spezielle  Funktionalität      gesonderte  Betrachtung• wir  betrachten  Schieberegister

Page 199: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 199 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

Warum  sind  Register  wichtig?  Latenzzeiten  für  Speicherzugriffe:

• Register:  0  Takte

• primärer  Cache:  2  – 3  Takte  • sekundärer  Cache:  8  – 10  Takte

• Arbeitsspeicher  (Seite  in  TLB):  75  – 200  Takte• Arbeitsspeicher  (Seite  nicht  in  TLB,  aber  im  RAM):  >  2000  Takte• Massenspeicher  (Seite  ausgelagert):  einige  100  Millionen  Takte

8.6  Speicher  &  Schieberegister

Page 200: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 200 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.6  Speicher  &  SchieberegisterSchieberegister

Funktion  Speicherinhalte  nach  links  oder  rechts  verschieben

FrageWas  machen  wir  an  den  Rändern?

00 111

00 111

?00 111

Page 201: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 201 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.6  Speicher  &  SchieberegisterSchieberegister

Möglichkeit  1:  zyklisch  verschieben

Möglichkeit  2:  Wert  verbrauchen  und  auffüllen

00 111

00 11 1

{0,1}00 11

Page 202: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 202 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.6  Speicher  &  SchieberegisterMealy-­‐Automat  zum  nicht-­‐zyklischen  Schieberegister.

Warum  gerade  drei  Bits?• klein  genug,  um  auf  die  Folie  zu  passen• groß  genug,  um  alles  Wichtige  zu  enthalten

• Bit  am  linken  Rand• Bit  am  rechten  Rand• mittleres  Bit

Eingänge• d (direction)  Schieberichtung  (d  =  0≝  links,  d  =  1≝  rechts)• x aufzufüllender  Wert

Vereinfachung• betrachten  nicht  Ein-­‐/Ausgänge  zum• Schreiben/Lesen  des  Registers  als  Ganzem

Page 203: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 203 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.6  Speicher  &  SchieberegisterMealy-­‐Automat  zum  nicht-­‐zyklischen  Schieberegister

Eingabealphabet Σ = 00,01,10,11

Interpretation:    𝑑𝑥 ∈ Σ

Ausgabealphabet Δ = ∅

d.  h.:  ∀𝑞 ∈ 𝑄,𝑤 ∈ Σ ∶  𝜆 𝑞,𝑤 = 𝜀

Zustände 𝑄 = 000, 001, 010, 011, 100, 101, 110, 111

Interpretation:  Registerinhalte

Startzustand 𝑞; = 000

Page 204: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 204 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.6  Speicher  &  SchieberegisterMealy-­‐Automat  zum  nicht-­‐zyklischen  Schieberegister

Zustandsübergangsfunktion

𝛿:𝑄×Σ → 𝑄

𝑞 ∈ 𝑄 𝑤 ∈ 𝛴 𝛿 𝑞, 𝑤 ∈ 𝑄000 00 000

000 01 001

000 10 000

000 11 100

001 01 011

... ... ...

111 11 111

Page 205: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 205 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.6  Speicher  &  SchieberegisterMealy-­‐Automat  zum  nicht-­‐zyklischen  Schieberegister

Σ = 00,01,10,11 ,   𝑑𝑥 ∈ Σ,  (d  =  0≝  links,  d  =  1≝  rechts)

Δ = ∅,   𝜆 𝑞, 𝑤 = 𝜀,   𝑄 = 0,1 ¢,   𝑞; = 000

Page 206: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 206 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.6  Speicher  &  SchieberegisterSchaltwerk-­‐Synthese  abgekürzt

Codierung• 𝑤 = 𝑑𝑥 durch  𝑑 und  𝑥• 𝑞 = 𝑞£𝑞¤𝑞¥ ∈ 0,1 ¢ durch  𝑞£,  𝑞¤ und  𝑞¥

Müssen  wir  jetzt  Tabellen  aufstellen?  Nein,  wir  dürfen  auch  nachdenken.

Strukturverständnis zum  linken  Bit• 1.  Fall: d  =  0≝  links

𝑞£(qrs) = 𝑞¤• 2.  Fall: d  =  1≝  rechts

𝑞£(qrs) = 𝑥

à 𝑞£(qrs) = 𝑑𝑞¤ ∨ 𝑑𝑥

Page 207: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 207 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.6  Speicher  &  SchieberegisterSchaltwerk-­‐Synthese  abgekürzt

Strukturverständnis zum  rechten  Bit• 1.  Fall: d  =  0≝  links

𝑞¥(qrs) = 𝑥• 2.  Fall: d  =  1≝  rechts

𝑞¥(qrs) = 𝑞¤

à 𝑞¥(qrs) = 𝑑𝑥 ∨ 𝑑𝑞¤Strukturverständnis zum  mittleren  Bit

• 1.  Fall: d  =  0≝  links𝑞¤(qrs) = 𝑞¥

• 2.  Fall: d  =  1≝  rechts𝑞¤(qrs) = 𝑞£

à 𝑞¤(qrs) = 𝑑𝑞¥ ∨ 𝑑𝑞£

Page 208: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 208 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.6  Speicher  &  SchieberegisterSchaltwerk-­‐Synthese  abgekürzt

Moment! Hätten  wir  nicht  Flip-­‐Flops  wählen  und  Ansteuerfunktionen  berechnen  müssen?

Einsicht nicht,  wenn  man  D-­‐Flip-­‐Flops  verwendet,  da  wir  nur  speichern  müssen

Ansteuerfunktionen• 𝑞£(qrs) = 𝑑𝑞¤ ∨ 𝑑𝑥• 𝑞¤(qrs) = 𝑑𝑞¥ ∨ 𝑑𝑞£• 𝑞¥(qrs) = 𝑑𝑥 ∨ 𝑑𝑞¤

Page 209: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 209 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.6  Speicher  &  SchieberegisterSchaltwerk  nicht-­‐zyklisches  Schieberegister

Page 210: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 210 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.6  Speicher  &  SchieberegisterZyklisches  Schieberegister

Wir  betrachten  zyklisches  Schieberegister• wieder  für  drei  Bits• wieder  ohne  Daten-­‐Eingabe

Mealy-­‐Automat• wie gehabt𝑄 = 0,1 ¢,  Δ = ∅,  ∀q  ∈ Q,  w  ∈ Σ:  λ(q,  w)  =  ε• anders Σ = 0,1    (weil  x fehlt)• wie  gehabt Interpretation  d  =  0 ≝  links,  d  =  1≝  rechts

Page 211: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 211 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.6  Speicher  &  SchieberegisterMealy-­‐Automat  zyklisches  Schieberegister

Σ = 0,1 ,   𝑤 = 𝑑,   𝑑 =  0≝  links,   𝑑 =  1≝  rechts

Δ = ∅,   𝑄 = 0,1 ¢,           𝑞; = 000  , 𝜆 𝑞, 𝑤 = 𝜀

Page 212: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 212 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.6  Speicher  &  SchieberegisterSchaltwerk-­‐Synthese  abgekürzt

Ansteuerfunktionen  direkt  ableiten  • 𝑞£(qrs) = 𝑑𝑞¤ ∨ 𝑑𝑞¥• 𝑞¤(qrs) = 𝑑𝑞¥ ∨ 𝑑𝑞£• 𝑞¥(qrs) = 𝑑𝑞£ ∨ 𝑑𝑞¤

Schaltwerk  kann  bei  Verwendung  von  D-­‐Flip-­‐Flops  direkt  angegeben  werden

Page 213: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 213 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.6  Speicher  &  SchieberegisterSchaltwerk  zyklisches  Schieberegister

Page 214: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 214 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.6  Speicher  &  SchieberegisterSchieberegister  allgemein

Können  wir  die  Funktionen  für  die  Bits  auch  allgemein  angeben?

Notation   Bits  𝑞qwQ,  𝑞qw-,  .  .  .  ,  𝑞Q,  𝑞;𝑞qwQ am  linken  Rand,  𝑞; am  rechten  Rand

zyklisches Schieberegister𝑞y = 𝑑𝑞 ywQ  𝒎𝒐𝒅  𝒏    ∨      𝑑𝑞 y*Q  𝒎𝒐𝒅  𝒏

nicht-­‐zyklisches Schieberegister

𝑞y = 𝑑𝑞ywQ    ∨    𝑑𝑞y*Q  mit  𝒒w𝟏   = 𝒙 und  𝒒𝒏   = 𝒙 für  den  Rand

Welche  Operationen  können  Schieberegister  realisieren?

Page 215: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 215 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.6  Speicher  &  SchieberegisterWelche  Operationen  können  Schieberegister  realisieren?Multiplikation  bzw.  Division

direkt  mit  Binärzahlen.  .  .

Multiplizieren  heißt• Nullen  passend  schreiben• Zahlen  passend  verschoben kopieren• viele  Zahlen  addieren

Page 216: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 216 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.6  Speicher  &  SchieberegisterDatentransfer

Daten  müssen  gelegentlich  zwischen  Registern  transferiertwerden,  um  z.  B.    Zwischenergebnisse  zu  speichern

Wie kann  man  Daten  von  einem  Register  in  ein  anderes  transferieren?• auf  Leitungen  zwischen  den  Registern• wie  verbindet  man  Register  geschickt?

Kriterien• Einfachheit  (der  technischen  Realisierung)• Sparsamkeit  (im  Sinne  des  Schaltungsaufwands)• Möglichkeit  zum  effizienten  Datenaustausch

Page 217: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 217 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.6  Speicher  &  SchieberegisterRegister  verbinden

eine  Möglichkeit:  paarweise  verbinden

Vorteile• direkter  Datenaustausch,  also  schnell• bis  q -⁄  Registerpaare  gleichzeitig  aktiv,  also  gute  Parallelisierung

Nachteil• 𝑛

2 Verbindungen

• Beispiel   162 = Q¬�Q­- = 120 Verbindungen

• meist  nicht  realisiert

Page 218: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 218 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.6  Speicher  &  SchieberegisterRegister  sparsam  verbinden

andere  Möglichkeit:  alle  Register  mit  einer  gemeinsamen  Leitung  verbinden

Vorteile• nur  eine  Leitung,  also  einfach• Datenaustausch  direkt,  also  schnell

Nachteile• immer  nur  ein  Paar  aktiv,  also  langsam• Steuerlogik  erforderlich,  nicht  ganz  einfach

Name  dieser  Variante:  Bus• häufig  verwendet• Engpass  durch  mehrere  Busse  entschärfbar

Page 219: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 219 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.6  Speicher  &  SchieberegisterBus  für  acht  1-­‐Bit-­‐Register

Page 220: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 220 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.6  Speicher  &  SchieberegisterVerallgemeinerungen

Verallgemeinerung auf  mehr  Register• mehr  Adressleitungen  zum  Adressieren  des  Quell-­‐ und  Zielregisters• größere  Multiplexer  und  Decoder

Verallgemeinerung auf  breitere  Register• je  Register  entsprechend  mehr  Flip-­‐Flops  (je  Bit  ein  Flip-­‐Flop)• entsprechend  mehr  Multiplexer  (je  Bit  ein  Multiplexer)• entsprechend  mehr  Bus-­‐Leitungen  (je  Bit  eine  Bus-­‐Leitung)

Page 221: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 221 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.  Synchrone  Schaltwerke8. Synchrone  Schaltwerke

1. Einleitung

2. Bistabile  Kippstufe

3. Automaten

4. Synchrone  Schaltwerke

5. Serienaddierwerke

6. Speicher  &  Schieberegister

7. Takt

Page 222: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 222 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.7  TaktTaktung  von  Digitalrechnern

Gibt  es  in  einem  Rechner  eigentlich  den  Takt?  JEIN• oft  mehrere  Takte• aber  nur  eine  "Uhr"  zur  Erzeugung  der  Takte

Wie  funktioniert  das?

Einsicht schneller  geht  nicht,  verschoben  oder  langsamer  schon

Langsamer  – Wie  geht  das?• Takt(e)  auslassen• dazu  Zähler  ausreichend• Zähler  wie  jedes  Schaltwerk  realisierbar

Page 223: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 223 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.7  TaktTaktreduktion  mit  Zählern

Idee:   Zähle  Taktimpulse  →  erzeuge  in  jedem  𝑛-­‐ten Takt  einen  neuen  Impuls  für  den  langsameren abgeleiteten  Takt

Erforderlich:  Zähler  modulo𝑛,  d.h.  𝑧 ← 𝑧 + 1  mod  𝑛

Realisierung als  synchrones  Schaltwerk• Zustand  ≝ Zählerstand,  d.h.:  𝑸 = 𝟎, 𝟏,… , 𝒏 − 𝟏

speicherbar  in  log- 𝑛 Bits  /  Flip-­‐Flops• Ausgabe,  z.B.  wenn  Zählerstand  0  erreicht

→  nicht  weiter  betrachtet• Eingabe?  ...  eigentlich  nicht  zwingend  erforderlich,  aber  Umschaltung  

der  Zählrichtung  möglich!⇒ 𝜮 = 𝟎,𝟏   (d.h.  1 ≝vorwärts,  0 ≝  rückwärts  zählen)

Page 224: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 224 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.7  TaktBeispiel:  Zähler  modulo 8Zustandsüberführungsfunktion:  δ 𝑞, 𝑑 = 𝑞 + −1 Qw�  mod  8

Ansteuertabelle

Page 225: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 225 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.7  TaktBeispiel:  Zähler  modulo 8

Flip-­‐Flop  l• 𝑅£ = 𝑑  𝑞£𝑞¤  𝑞¥   ∨ 𝑑  𝑞£  𝑞¤  𝑞¥• 𝑆£ = 𝑑  𝑞£  𝑞¤  𝑞¥   ∨ 𝑑  𝑞£  𝑞¤  𝑞¥

Flip-­‐Flop  m• 𝑅¤ = 𝑑  𝑞¤  𝑞¥ ∨ 𝑑  𝑞¤  𝑞¥ ∨ 𝑑  𝑞¤  𝑞¥ ∨ 𝑞¤  𝑞¥• 𝑆¤ = 𝑅¤

Flip-­‐Flop  r• 𝑅¥ =  𝑞¥• 𝑆¥ = 𝑅¥

Page 226: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 226 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.7  TaktSchaltwerk  des  Zählers  modulo 8

Page 227: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 227 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.7  TaktTaktteilung  Betrachte  Kette  von  T-­‐Flip-­‐Flops  in  asynchroner  Schaltung

Page 228: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 228 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.7  TaktTaktteilung  Betrachte  Kette  von  T-­‐Flip-­‐Flops  in  synchroner  Schaltung

& &

Page 229: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 229 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.  Synchrone  Schaltwerke8. Synchrone  Schaltwerke

1. Einleitung

2. Bistabile  Kippstufe

3. Automaten

4. Synchrone  Schaltwerke

5. Serienaddierwerke

6. Speicher  &  Schieberegister

7. Takt

Page 230: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 230 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

Übersicht1. Organisatorisches

2. Einleitung

3. Repräsentation  von  Daten

4. Boolesche  Funktionen  und  Schaltnetze

5. Rechnerarithmetik

6. Optimierung  von  Schaltnetzen

7. Programmierbare  Bausteine

8. Synchrone  Schaltwerke

Page 231: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 231 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

Appendix

Page 232: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 232 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.5  SerienaddierwerkeMoore-­‐Automat  zum  von  Neumann-­‐Addierwerk

Eingabealphabetalle  möglichen  Paare  von  n-­‐Bit-­‐Zahlen,  außerdem  εΣ ≔ 0,1 -q ∪ {𝜀}

Ausgabealphabetalle  möglichen  Ergebnisse  der  Addition,  außerdem  "−"Δ ≔ 0,1 q*Q ∪ {−}

Zustandsmengealle  möglichen  Zwischenergebnisse  einschließlich  ÜbertragQ ≔ 0,1 -q*Q

Startzustandwillkürlich  𝑞; = 000…000

-q*Q  Nullen= 0-q*Q

Page 233: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 233 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.5  SerienaddierwerkeZustandsüberführungsfunktion  𝛿

Σ = 0,1 -q ∪ {𝜀},  Δ = 0,1 q*Q ∪ {−},  Q = 0,1 -q*Q,  𝑞; = 0-q*Q

1.  Fall Eingabe  𝑤 = 𝑥𝑦 ≠ 𝜀𝛿 𝑞, 𝑤 = 0𝑤 = 0𝑥𝑦

2.  Fall Eingabe  𝑤 = 𝜀Notation aktueller  Zustand  𝑞 = ü𝑥𝑦

𝛿 𝑞, 𝜀 = qº = üº𝑥º𝑦º = ü′𝑥′qwQ𝑥′qw- …𝑥′; 𝑦′qwQ𝑦′qw- …𝑦′;mit• 𝑦′; = 0• 𝑦′y = 𝑥ywQ ∧ 𝑦ywQ für  𝑖 ∈ {1,2,… , 𝑛 − 1}• 𝑥′y = 𝑥y⨁𝑦y für  𝑖 ∈ {0,1,… , 𝑛 − 1}• ü′ = ü ∨ 𝑥qwQ ∧ 𝑦qwQ

Page 234: Rechnerstrukturen,,Teil,1 …...technische universität! 3 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 8.,Synchrone,Schaltwerke 8. Synchrone,Schaltwerke

-­‐ 234 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

8.5  SerienaddierwerkeAusgabefunktion  𝜆

Σ = 0,1 -q ∪ {𝜀},  Δ = 0,1 q*Q ∪ {−},  Q = 0,1 -q*Q,  𝑞; = 0-q*Q

Notation neuer  Zustand  𝛿 𝑞,𝑤 = qº = üº𝑥º𝑦º

1.  Fall 𝑦′ ≠ 0q𝜆 𝛿 𝑞,𝑤 = −

2.  Fall 𝑦º = 0q

𝜆 𝛿 𝑞,𝑤 = üº𝑥′