72
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! 22 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 7.3Realisierung,von,Monomen,und,Polynomen Realisierung,von

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Rechnerstrukturen,,Teil,1 …...technische universität! 22 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 7.3Realisierung,von,Monomen,und,Polynomen Realisierung,von

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! 22 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 7.3Realisierung,von,Monomen,und,Polynomen Realisierung,von

-­‐ 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! 22 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 7.3Realisierung,von,Monomen,und,Polynomen Realisierung,von

-­‐ 3 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

7.  Programmierbare  Bausteine7. Programmierbare  Bausteine

1. Einleitung

2. Grundbausteine

3. Realisierung  von  Monomen  und  Polynomen

4. PLA  als  Speicher

5. Software  PLAs

Page 4: Rechnerstrukturen,,Teil,1 …...technische universität! 22 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 7.3Realisierung,von,Monomen,und,Polynomen Realisierung,von

-­‐ 4 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

7.1  EinleitungRealisierung  von  Schaltnetzen

Gedanken  zur  Anwendung

1.  Problem

2.  boolesche  Funktion

3.  Schaltnetz-­‐Entwurf

4.  Schaltnetz-­‐Realisierung

Realisierungen• hoch-­‐integrierte  Schaltung

teuer Lohnt  sich  nur  bei  großen  Stückzahlen.• direkte  Umsetzung  mit  Gattern

umständlich

Page 5: Rechnerstrukturen,,Teil,1 …...technische universität! 22 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 7.3Realisierung,von,Monomen,und,Polynomen Realisierung,von

-­‐ 5 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

7.1  EinleitungRealisierung  mit  Gattern

Page 6: Rechnerstrukturen,,Teil,1 …...technische universität! 22 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 7.3Realisierung,von,Monomen,und,Polynomen Realisierung,von

-­‐ 6 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

7.1  EinleitungRealisierung  mit  Gattern

Quelle:  en.wikibooks.org/wiki/Microprocessor_Design/ALU,  Autor:  Poil

Page 7: Rechnerstrukturen,,Teil,1 …...technische universität! 22 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 7.3Realisierung,von,Monomen,und,Polynomen Realisierung,von

-­‐ 7 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

7.1  EinleitungRealisierung  mit  Gattern

Page 8: Rechnerstrukturen,,Teil,1 …...technische universität! 22 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 7.3Realisierung,von,Monomen,und,Polynomen Realisierung,von

-­‐ 8 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

7.1  EinleitungAlternative  Realisierung  durch

• massenhaft  produzierte• darum  preisgünstige• nach  der  Fertigstellung  in  ihrer  Funktion  noch  beeinflussbare• funktional  vollständige• also  universelle Standardbausteine

Programmable Logic Array  (PLA)

Varianten PAL,  PROM,  FPGA,  .  .  .(zum  Teil  eingeschränkte  Funktionalität)

Page 9: Rechnerstrukturen,,Teil,1 …...technische universität! 22 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 7.3Realisierung,von,Monomen,und,Polynomen Realisierung,von

-­‐ 9 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

7.1  EinleitungProgrammable Logic Array  (PLA)  Datenblatt  von  Lattice

Page 10: Rechnerstrukturen,,Teil,1 …...technische universität! 22 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 7.3Realisierung,von,Monomen,und,Polynomen Realisierung,von

-­‐ 10 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

7.  Programmierbare  Bausteine7. Programmierbare  Bausteine

1. Einleitung

2. Grundbausteine

3. Realisierung  von  Monomen  und  Polynomen

4. PLA  als  Speicher

5. Software  PLAs

Page 11: Rechnerstrukturen,,Teil,1 …...technische universität! 22 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 7.3Realisierung,von,Monomen,und,Polynomen Realisierung,von

-­‐ 11 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

7.2  GrundbausteinePLA  Grundbausteine

Funktional  vollständig?

Name Typ 𝒇𝟏 𝒙,𝒚 𝒇𝟐 𝒙, 𝒚Identer 0 y xAddierer 1 x ∨ 𝑦 xMultiplizierer 2 y x ∧ yNegat-­‐Multiplizierer 3 y x ∧ 𝑦

Page 12: Rechnerstrukturen,,Teil,1 …...technische universität! 22 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 7.3Realisierung,von,Monomen,und,Polynomen Realisierung,von

-­‐ 12 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

7.2  GrundbausteinePLA  Grundbausteine

Funktional  vollständig!• UND-­‐Verknüpfung:   Typ  2,  𝑓- 𝑥, 𝑦 = 𝑥 ∧ 𝑦• ODER-­‐Verknüpfung: Typ  1,  𝑓0 𝑥, 𝑦 = 𝑥 ∨ 𝑦• Negation: Typ  3,  𝑓- 1, 𝑦 = 1 ∧ 𝑦 = 𝑦

Name Typ 𝒇𝟏 𝒙, 𝒚 𝒇𝟐 𝒙,𝒚Identer 0 𝑦 𝑥Addierer 1 𝑥 ∨ 𝑦 𝑥Multiplizierer 2 𝑦 𝑥 ∧ 𝑦Negat-­‐Multiplizierer 3 𝑦 𝑥 ∧ 𝑦

Page 13: Rechnerstrukturen,,Teil,1 …...technische universität! 22 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 7.3Realisierung,von,Monomen,und,Polynomen Realisierung,von

-­‐ 13 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

7.2  GrundbausteineAufbau  eines  PLA

Page 14: Rechnerstrukturen,,Teil,1 …...technische universität! 22 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 7.3Realisierung,von,Monomen,und,Polynomen Realisierung,von

-­‐ 14 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

7.2  Grundbausteine

PLA  für  f :  {0,  1}𝟑  →  {0,  1}

Wie  wählt  man  die  Bausteintypen?

Page 15: Rechnerstrukturen,,Teil,1 …...technische universität! 22 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 7.3Realisierung,von,Monomen,und,Polynomen Realisierung,von

-­‐ 15 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

7.  Programmierbare  Bausteine7. Programmierbare  Bausteine

1. Einleitung

2. Grundbausteine

3. Realisierung  von  Monomen  und  Polynomen

4. PLA  als  Speicher

5. Software  PLAs

Page 16: Rechnerstrukturen,,Teil,1 …...technische universität! 22 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 7.3Realisierung,von,Monomen,und,Polynomen Realisierung,von

-­‐ 16 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

7.3  Realisierung  von  Monomen  und  PolynomenAuswahl  der  Bausteine

Feststellung jede  Funktion  als  Polynom  darstellbar

Erinnerung   Polynom  =  Disjunktion  einiger  Monome

Erster  Schritt• Wie  realisieren  wir  Monome?• exemplarisch  am  Beispiel  𝑥1𝑥25 𝑥4

Page 17: Rechnerstrukturen,,Teil,1 …...technische universität! 22 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 7.3Realisierung,von,Monomen,und,Polynomen Realisierung,von

-­‐ 17 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

7.3  Realisierung  von  Monomen  und  PolynomenRealisierung  von  Monomen

Beispiel:  Monom  𝑥1𝑥25 𝑥4

Name Typ 𝒇𝒓 𝒐, 𝒍 𝒇𝒖 𝒐,𝒍Identer 0 𝑙 𝑜Addierer 1 𝑙 ∨ 𝑜 𝑜Multiplizierer 2 𝑙 𝑜 ∧ 𝑙Negat-­‐Multiplizierer 3 𝑙 𝑜 ∧ 𝑙

x 1

1

x 4

x 3

x 2

Page 18: Rechnerstrukturen,,Teil,1 …...technische universität! 22 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 7.3Realisierung,von,Monomen,und,Polynomen Realisierung,von

-­‐ 18 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

7.3  Realisierung  von  Monomen  und  PolynomenRealisierung  von  Monomen

Beispiel:  Monom  𝑥1𝑥25 𝑥4

Name Typ 𝒇𝒓 𝒐, 𝒍 𝒇𝒖 𝒐,𝒍Identer 0 𝑙 𝑜Addierer 1 𝑙 ∨ 𝑜 𝑜Multiplizierer 2 𝒍 𝒐 ∧ 𝒍Negat-­‐Multiplizierer 3 𝑙 𝑜 ∧ 𝑙

x 1 x 1

1

2

x 4

x 3

x 2

1 ∧ 𝑥1 = 𝑥1

Page 19: Rechnerstrukturen,,Teil,1 …...technische universität! 22 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 7.3Realisierung,von,Monomen,und,Polynomen Realisierung,von

-­‐ 19 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

7.3  Realisierung  von  Monomen  und  PolynomenRealisierung  von  Monomen

Beispiel:  Monom  𝑥1𝑥25 𝑥4

Name Typ 𝒇𝒓 𝒐, 𝒍 𝒇𝒖 𝒐,𝒍Identer 0 𝑙 𝑜Addierer 1 𝑙 ∨ 𝑜 𝑜Multiplizierer 2 𝑙 𝑜 ∧ 𝑙Negat-­‐Multiplizierer 3 𝒍 𝒐 ∧ 𝒍

1 ∧ 𝑥1 = 𝑥1

x 1 x 1

1

2

3

x 4

x 3

x 2 x 2

𝑥1 ∧ 𝑥2 = 𝑥1𝑥2

Page 20: Rechnerstrukturen,,Teil,1 …...technische universität! 22 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 7.3Realisierung,von,Monomen,und,Polynomen Realisierung,von

-­‐ 20 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

7.3  Realisierung  von  Monomen  und  PolynomenRealisierung  von  Monomen

Beispiel:  Monom  𝑥1𝑥25 𝑥4

Name Typ 𝒇𝒓 𝒐, 𝒍 𝒇𝒖 𝒐,𝒍Identer 0 𝒍 𝒐Addierer 1 𝑙 ∨ 𝑜 𝑜Multiplizierer 2 𝑙 𝑜 ∧ 𝑙Negat-­‐Multiplizierer 3 𝑙 𝑜 ∧ 𝑙

1 ∧ 𝑥1 = 𝑥1

𝑥1 ∧ 𝑥2 = 𝑥1𝑥2

x 1 x 1

1

2

3

0

x 4

x 3 x 3

x 2 x 2

𝑥1𝑥2

Page 21: Rechnerstrukturen,,Teil,1 …...technische universität! 22 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 7.3Realisierung,von,Monomen,und,Polynomen Realisierung,von

-­‐ 21 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

7.3  Realisierung  von  Monomen  und  PolynomenRealisierung  von  Monomen

Beispiel:  Monom  𝑥1𝑥25 𝑥4

Name Typ 𝒇𝒓 𝒐, 𝒍 𝒇𝒖 𝒐,𝒍Identer 0 𝑙 𝑜Addierer 1 𝑙 ∨ 𝑜 𝑜Multiplizierer 2 𝒍 𝒐 ∧ 𝒍Negat-­‐Multiplizierer 3 𝑙 𝑜 ∧ 𝑙

1 ∧ 𝑥1 = 𝑥1

𝑥1 ∧ 𝑥2 = 𝑥1𝑥2

𝑥1𝑥2

x 1 x 1

1

2

3

0

2x 4 x 4

x 3 x 3

x 2 x 2

𝑥1𝑥2  ∧ 𝑥4 = 𝑥1𝑥2𝑥4

Page 22: Rechnerstrukturen,,Teil,1 …...technische universität! 22 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 7.3Realisierung,von,Monomen,und,Polynomen Realisierung,von

-­‐ 22 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

7.3  Realisierung  von  Monomen  und  PolynomenRealisierung  von  Monomen

Beispiel:  Monom  𝑥1𝑥25 𝑥4

Name Typ 𝒇𝒓 𝒐, 𝒍 𝒇𝒖 𝒐,𝒍Identer 0 𝑙 𝑜Addierer 1 𝑙 ∨ 𝑜 𝑜Multiplizierer 2 𝒍 𝒐 ∧ 𝒍Negat-­‐Multiplizierer 3 𝑙 𝑜 ∧ 𝑙

1 ∧ 𝑥1 = 𝑥1

𝑥1 ∧ 𝑥2 = 𝑥1𝑥2

𝑥1𝑥2

𝑥1𝑥2  ∧ 𝑥4 = 𝑥1𝑥2𝑥4

x 1 x 1

1

2

3

0

2x 4 x 4

x 3 x 3

x 2 x 2

Monomrealisierung• falls  Variable  fehlt Typ  0• falls  𝑥𝑖 vorkommt Typ  2• falls  𝑥𝑖5 vorkommt   Typ  3

Page 23: Rechnerstrukturen,,Teil,1 …...technische universität! 22 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 7.3Realisierung,von,Monomen,und,Polynomen Realisierung,von

-­‐ 23 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

7.3  Realisierung  von  Monomen  und  PolynomenRealisierung  von  Polynomen

Beobachtung• für  f  :  {0,  1}>  →  {0,  1}• k verschiedene  Monomem1,  m2,  .  .  .  ,  mk• in  n Zeilen  und  k Spalten  realisierbar

Wie  können  wir  f  realisieren,  z.B.  f  =  m1∨m2∨m4?

Page 24: Rechnerstrukturen,,Teil,1 …...technische universität! 22 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 7.3Realisierung,von,Monomen,und,Polynomen Realisierung,von

-­‐ 24 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

7.3  Realisierung  von  Monomen  und  PolynomenRealisierung  von  Polynomen

Beispiel:  Polynom  f  =  m1∨m2∨m4

Name Typ 𝒇𝒓 𝒐, 𝒍 𝒇𝒖 𝒐,𝒍Identer 0 𝑙 𝑜Addierer 1 𝑙 ∨ 𝑜 𝑜Multiplizierer 2 𝑙 𝑜 ∧ 𝑙Negat-­‐Multiplizierer 3 𝑙 𝑜 ∧ 𝑙

m1 m2 m3 m4

0

Page 25: Rechnerstrukturen,,Teil,1 …...technische universität! 22 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 7.3Realisierung,von,Monomen,und,Polynomen Realisierung,von

-­‐ 25 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

7.3  Realisierung  von  Monomen  und  PolynomenRealisierung  von  Polynomen

Beispiel:  Polynom  f  =  m1 ∨m2 ∨m4

Name Typ 𝒇𝒓 𝒐, 𝒍 𝒇𝒖 𝒐,𝒍Identer 0 𝑙 𝑜Addierer 1 𝒍 ∨ 𝒐 𝒐Multiplizierer 2 𝑙 𝑜 ∧ 𝑙Negat-­‐Multiplizierer 3 𝑙 𝑜 ∧ 𝑙

0 ∨ 𝑚0 = 𝑚0

m1 m2 m3 m4

0 1

Page 26: Rechnerstrukturen,,Teil,1 …...technische universität! 22 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 7.3Realisierung,von,Monomen,und,Polynomen Realisierung,von

-­‐ 26 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

7.3  Realisierung  von  Monomen  und  PolynomenRealisierung  von  Polynomen

Beispiel:  Polynom  f  =  m1 ∨m2 ∨m4

Name Typ 𝒇𝒓 𝒐, 𝒍 𝒇𝒖 𝒐,𝒍Identer 0 𝑙 𝑜Addierer 1 𝒍 ∨ 𝒐 𝒐Multiplizierer 2 𝑙 𝑜 ∧ 𝑙Negat-­‐Multiplizierer 3 𝑙 𝑜 ∧ 𝑙

𝑚0

m1 m2 m3 m4

0 1 1𝑚0 ∨ 𝑚-

Page 27: Rechnerstrukturen,,Teil,1 …...technische universität! 22 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 7.3Realisierung,von,Monomen,und,Polynomen Realisierung,von

-­‐ 27 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

7.3  Realisierung  von  Monomen  und  PolynomenRealisierung  von  Polynomen

Beispiel:  Polynom  f  =  m1 ∨m2 ∨m4

Name Typ 𝒇𝒓 𝒐, 𝒍 𝒇𝒖 𝒐,𝒍Identer 0 𝒍 𝒐Addierer 1 𝑙 ∨ 𝑜 𝑜Multiplizierer 2 𝑙 𝑜 ∧ 𝑙Negat-­‐Multiplizierer 3 𝑙 𝑜 ∧ 𝑙

𝑚0 𝑚0 ∨ 𝑚-

m1 m2 m3 m4

0 1 1 0𝑚0 ∨ 𝑚-

Page 28: Rechnerstrukturen,,Teil,1 …...technische universität! 22 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 7.3Realisierung,von,Monomen,und,Polynomen Realisierung,von

-­‐ 28 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

7.3  Realisierung  von  Monomen  und  PolynomenRealisierung  von  Polynomen

Beispiel:  Polynom  f  =  m1 ∨m2 ∨m4

Name Typ 𝒇𝒓 𝒐, 𝒍 𝒇𝒖 𝒐,𝒍Identer 0 𝒍 𝒐Addierer 1 𝑙 ∨ 𝑜 𝑜Multiplizierer 2 𝑙 𝑜 ∧ 𝑙Negat-­‐Multiplizierer 3 𝑙 𝑜 ∧ 𝑙

𝑚0 𝑚0 ∨ 𝑚- 𝑚0 ∨ 𝑚-

𝑚0 ∨ 𝑚- ∨ 𝑚A

m1 m2 m3 m4

0 1 1 10

Page 29: Rechnerstrukturen,,Teil,1 …...technische universität! 22 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 7.3Realisierung,von,Monomen,und,Polynomen Realisierung,von

-­‐ 29 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

7.3  Realisierung  von  Monomen  und  PolynomenRealisierung  von  Polynomen

Beispiel:  Polynom  f  =  m1 ∨m2 ∨m4

Warum  ein  Grundbaustein  für  das  Weglassen  eines  Monoms?

Name Typ 𝒇𝒓 𝒐, 𝒍 𝒇𝒖 𝒐,𝒍Identer 0 𝒍 𝒐Addierer 1 𝑙 ∨ 𝑜 𝑜Multiplizierer 2 𝑙 𝑜 ∧ 𝑙Negat-­‐Multiplizierer 3 𝑙 𝑜 ∧ 𝑙

𝑚0 𝑚0 ∨ 𝑚- 𝑚0 ∨ 𝑚-

𝑚0 ∨ 𝑚- ∨ 𝑚A

m1 m2 m3 m4

0 1 1 10

Page 30: Rechnerstrukturen,,Teil,1 …...technische universität! 22 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 7.3Realisierung,von,Monomen,und,Polynomen Realisierung,von

-­‐ 30 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

7.3  Realisierung  von  Monomen  und  PolynomenRealisierung  von  Polynomen

Beispiel:  Polynom  f  =  m1 ∨m2 ∨m4

Warum  ein  Grundbaustein  für  das  Weglassen  eines  Monoms?

Name Typ 𝒇𝒓 𝒐, 𝒍 𝒇𝒖 𝒐,𝒍Identer 0 𝒍 𝒐Addierer 1 𝑙 ∨ 𝑜 𝑜Multiplizierer 2 𝑙 𝑜 ∧ 𝑙Negat-­‐Multiplizierer 3 𝑙 𝑜 ∧ 𝑙

𝑚0 𝑚0 ∨ 𝑚- 𝑚0 ∨ 𝑚-

𝑚0 ∨ 𝑚- ∨ 𝑚A

m1

m1

m2

m2

m3

m3

m4

m4

0 1 1 10

Page 31: Rechnerstrukturen,,Teil,1 …...technische universität! 22 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 7.3Realisierung,von,Monomen,und,Polynomen Realisierung,von

-­‐ 31 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

7.3  Realisierung  von  Monomen  und  PolynomenPLA:  ein  konkretes  Beispiel

Page 32: Rechnerstrukturen,,Teil,1 …...technische universität! 22 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 7.3Realisierung,von,Monomen,und,Polynomen Realisierung,von

-­‐ 32 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

7.3  Realisierung  von  Monomen  und  PolynomenPLA:  ein  konkretes  Beispiel

Page 33: Rechnerstrukturen,,Teil,1 …...technische universität! 22 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 7.3Realisierung,von,Monomen,und,Polynomen Realisierung,von

-­‐ 33 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

7.3  Realisierung  von  Monomen  und  PolynomenRealisierung  von  Polynomen

Beobachtung  1• für  f  :  {0,  1}>  →  {0,  1}• k  verschiedene  Monomem1,  m2,  .  .  .  ,  mk• in  n+1 Zeilen  und  k Spalten  realisierbar

Beobachtung  2• Wir  können  jede  Funktion  f  :  {0,  1}>  →  {0,  1}B,• für  deren  Polynom insgesamt  k  Implikanten ausreichen,• mit  einem  PLA  mit  n  +  m  Zeilen  und  k Spalten  realisieren.

Page 34: Rechnerstrukturen,,Teil,1 …...technische universität! 22 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 7.3Realisierung,von,Monomen,und,Polynomen Realisierung,von

-­‐ 34 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

7.  Programmierbare  Bausteine7. Programmierbare  Bausteine

1. Einleitung

2. Grundbausteine

3. Realisierung  von  Monomen  und  Polynomen

4. PLA  als  Speicher

5. Software  PLAs

Page 35: Rechnerstrukturen,,Teil,1 …...technische universität! 22 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 7.3Realisierung,von,Monomen,und,Polynomen Realisierung,von

-­‐ 35 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

7.4  PLA  als  SpeicherPLA  als  ROM

Aufgabe: Speichere  2> „Wörter“  der  Länge  m.

w0 =  w0,0w0,1w0,2 ·∙  ·∙  ·∙  w0,m−1  ∈ {0,  1}B  

w1 =  w1,0w1,1w1,2 ·∙  ·∙  ·∙  w1,m−1  ∈ {0,  1}B  

w2 =  w2,0w2,1w2,2 ·∙  ·∙  ·∙  w2,m−1  ∈ {0,  1}B  

⋮ ⋮ ⋮w2

n−1  =  w2

n−1,0w2

n−1,1w2

n−1,2  ·∙  ·∙  ·∙  w2

n−1,m−1  ∈ {0,  1}B  

Benutze PLAmit  n  +  m  Zeilen,  2> Spalten

Beobachtung   m·∙2>  Zellen  für  m·∙2> zu  speichernde  Bits

mindestens  erforderlich

Adressierung   mit  jeweils  n  Bits  in  n  zusätzlichen    Zeilen

Page 36: Rechnerstrukturen,,Teil,1 …...technische universität! 22 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 7.3Realisierung,von,Monomen,und,Polynomen Realisierung,von

-­‐ 36 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

7.4  PLA  als  SpeicherBeispiel

n  =  3,  m  =  6

2D =  8  Wörter

jeweils  6  Bits

Page 37: Rechnerstrukturen,,Teil,1 …...technische universität! 22 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 7.3Realisierung,von,Monomen,und,Polynomen Realisierung,von

-­‐ 37 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

7.4  PLA  als  SpeicherBeispiel

n  =  3,  m  =  6

2D =  8  Wörter

jeweils  6  Bits

Page 38: Rechnerstrukturen,,Teil,1 …...technische universität! 22 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 7.3Realisierung,von,Monomen,und,Polynomen Realisierung,von

-­‐ 38 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

7.4  PLA  als  SpeicherBeispiel

n  =  3,  m  =  6

2D =  8  Wörter

jeweils  6  Bits

Beispiel

lies  w5

Page 39: Rechnerstrukturen,,Teil,1 …...technische universität! 22 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 7.3Realisierung,von,Monomen,und,Polynomen Realisierung,von

-­‐ 39 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

7.4  PLA  als  SpeicherBeispiel

n  =  3,  m  =  6

2D =  8  Wörter

jeweils  6  Bits

Beispiel

lies  w5

5  =  (101)2x2 =  1

x1 =  0

x0 =  1

Page 40: Rechnerstrukturen,,Teil,1 …...technische universität! 22 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 7.3Realisierung,von,Monomen,und,Polynomen Realisierung,von

-­‐ 40 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

7.4  PLA  als  SpeicherBeispiel

n  =  3,  m  =  6

2D =  8  Wörter

jeweils  6  Bits

Beispiel

lies  w5

5  =  (101)2x2 =  1

x1 =  0

x0 =  1

Page 41: Rechnerstrukturen,,Teil,1 …...technische universität! 22 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 7.3Realisierung,von,Monomen,und,Polynomen Realisierung,von

-­‐ 41 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

7.4  PLA  als  SpeicherBeispiel

n  =  3,  m  =  6

2D =  8  Wörter

jeweils  6  Bits

Beispiel

lies  w5

5  =  (101)2x2 =  1

x1 =  0

x0 =  1

Page 42: Rechnerstrukturen,,Teil,1 …...technische universität! 22 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 7.3Realisierung,von,Monomen,und,Polynomen Realisierung,von

-­‐ 42 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

7.4  PLA  als  SpeicherBeispiel

n  =  3,  m  =  6

2D =  8  Wörter

jeweils  6  Bits

Beispiel

lies  w5

5  =  (101)2x2 =  1

x1 =  0

x0 =  1

Page 43: Rechnerstrukturen,,Teil,1 …...technische universität! 22 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 7.3Realisierung,von,Monomen,und,Polynomen Realisierung,von

-­‐ 43 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

7.4  PLA  als  SpeicherBeispiel

n  =  3,  m  =  6

2D =  8  Wörter

jeweils  6  Bits

Beispiel

lies  w5 :  5  =  (101)2

x2 =  1  x1 =  0    x0 =  1

AnmerkungPLAs  mit  festem  UND-­‐Teil  werden  als  PROM  verkauft.

Page 44: Rechnerstrukturen,,Teil,1 …...technische universität! 22 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 7.3Realisierung,von,Monomen,und,Polynomen Realisierung,von

-­‐ 44 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

7.4  PLA  als  SpeicherZwischen-­‐Fazit  PLAs

PLAs  sind  preiswerte,  universelle  Bausteine,  die• beliebige  boolesche  Funktionen  leicht  realisierbar  machen,• Minimalpolynomdarstellungenmotivieren,• Speicherung  von  2> Wörtern  der  Länge  m  in  einem  

(n  +  m)  × 2>  -­‐PLA  erlauben.

Nachteil nur  einmal  programmierbar

Wie  kann  man  PLAs  beliebig  neu  programmierbar  machen?

Page 45: Rechnerstrukturen,,Teil,1 …...technische universität! 22 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 7.3Realisierung,von,Monomen,und,Polynomen Realisierung,von

-­‐ 45 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

7.  Programmierbare  Bausteine7. Programmierbare  Bausteine

1. Einleitung

2. Grundbausteine

3. Realisierung  von  Monomen  und  Polynomen

4. PLA  als  Speicher

5. Software  PLAs

Page 46: Rechnerstrukturen,,Teil,1 …...technische universität! 22 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 7.3Realisierung,von,Monomen,und,Polynomen Realisierung,von

-­‐ 46 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

7.5  Software  PLAsSoftware-­‐PLAs

Beobachtung vier  verschiedene  Typen,  mit  zwei  Bits  codierbar

Idee• erweitere  PLA-­‐Baustein  um  zwei  zusätzliche  Eingaben,• die  den  Baustein-­‐Typ  codieren

Page 47: Rechnerstrukturen,,Teil,1 …...technische universität! 22 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 7.3Realisierung,von,Monomen,und,Polynomen Realisierung,von

-­‐ 47 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

7.5  Software  PLAsSoftware-­‐PLAs

Beobachtung vier  verschiedene  Typen,  mit  zwei  Bits  codierbar

Idee• erweitere  PLA-­‐Baustein  um  zwei  zusätzliche  Eingaben,• die  den  Baustein-­‐Typ  codieren

Lösung f1 und  f2 als  Funktionen  von  (s,  t,  x,  y)  darstellen• f1(s,  t,  x,  y)  =  y ∨  �̅�t  x• f2(s,  t,  x,  y)  =  �̅�x ∨  𝑡̅𝑥𝑦 ∨  𝑡𝑥𝑦M

Page 48: Rechnerstrukturen,,Teil,1 …...technische universität! 22 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 7.3Realisierung,von,Monomen,und,Polynomen Realisierung,von

-­‐ 48 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

7.5  Software  PLAsDarstellung  von  f1 und  f2 als  Funktionen

Vorgehensweise

Typ 𝒇𝟏 𝒙,𝒚 𝒇𝟐 𝒙, 𝒚0 y x1 x ∨ 𝑦 x2 y x ∧ y3 y x ∧ 𝑦

Page 49: Rechnerstrukturen,,Teil,1 …...technische universität! 22 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 7.3Realisierung,von,Monomen,und,Polynomen Realisierung,von

-­‐ 49 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

7.5  Software  PLAsDarstellung  von  f1 und  f2 als  Funktionen

Vorgehensweise

1. Nachdenken  über  Kodierungen

2. Funktionstabelle

3. KV-­‐Diagramm  erstellen

4. KV-­‐Diagramm  bearbeiten

5. Primimplikanten aufstellen

6. Minimale  Überdeckung  finden

7. Schaltung  realisieren

Typ 𝒇𝟏 𝒙,𝒚 𝒇𝟐 𝒙, 𝒚0 y x1 x ∨ 𝑦 x2 y x ∧ y3 y x ∧ 𝑦

Page 50: Rechnerstrukturen,,Teil,1 …...technische universität! 22 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 7.3Realisierung,von,Monomen,und,Polynomen Realisierung,von

-­‐ 50 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

7.5  Software  PLAsDarstellung  von  f1 und  f2 als  Funktionen

1. Nachdenken  über  Kodierungen

Typ 𝒇𝟏 𝒙,𝒚 𝒇𝟐 𝒙, 𝒚0 y x1 x ∨ 𝑦 x2 y x ∧ y3 y x ∧ 𝑦

Page 51: Rechnerstrukturen,,Teil,1 …...technische universität! 22 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 7.3Realisierung,von,Monomen,und,Polynomen Realisierung,von

-­‐ 51 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

7.5  Software  PLAsDarstellung  von  f1 und  f2 als  Funktionen

1. Nachdenken  über  Kodierungen

• Wir  betrachten  beide  Funktionen  getrennt

• 4  unterschiedliche  Funktionen• Kodierung  der  Funktion  mittels  zwei  Bits  (s,  t)• jede  Funktion  hat  zusätzlich  zwei  Eingangsvariablen  (x,  y)• f1 und  f2 haben  dann    jeweils  4  Eingangsvariablen  (s,  t,  x,  y)• f1 und  f2 haben  dann    jeweils  1  Ausgangsvariable

Typ 𝒇𝟏 𝒙,𝒚 𝒇𝟐 𝒙, 𝒚0 y x1 x ∨ 𝑦 x2 y x ∧ y3 y x ∧ 𝑦

Page 52: Rechnerstrukturen,,Teil,1 …...technische universität! 22 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 7.3Realisierung,von,Monomen,und,Polynomen Realisierung,von

-­‐ 52 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

7.5  Software  PLAsDarstellung  von  f1 und  f2 als  Funktionen

Vorgehensweise

1. Nachdenken  über  Kodierungen

2. Funktionstabelle

3. KV-­‐Diagramm  erstellen

4. KV-­‐Diagramm  bearbeiten

5. Primimplikanten aufstellen

6. Minimale  Überdeckung  finden

7. Schaltung  realisieren

Typ 𝒇𝟏 𝒙,𝒚 𝒇𝟐 𝒙, 𝒚0 y x1 x ∨ 𝑦 x2 y x ∧ y3 y x ∧ 𝑦

Page 53: Rechnerstrukturen,,Teil,1 …...technische universität! 22 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 7.3Realisierung,von,Monomen,und,Polynomen Realisierung,von

-­‐ 53 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

7.5  Software  PLAsDarstellung  von  f1 und  f2 als  Funktionen

2. Funktionstabelle

Typ 𝒇𝟏 𝒙,𝒚 𝒇𝟐 𝒙, 𝒚0 y x1 x ∨ 𝑦 x2 y x ∧ y3 y x ∧ 𝑦

s t x y 𝒇𝟏0 0 0 0

0 0 0 1

0 0 1 0

0 0 1 1

0 1 0 0

0 1 0 1

0 1 1 0

0 1 1 1

s t x y 𝒇𝟏1 0 0 0

1 0 0 1

1 0 1 0

1 0 1 1

1 1 0 0

1 1 0 1

1 1 1 0

1 1 1 1

Page 54: Rechnerstrukturen,,Teil,1 …...technische universität! 22 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 7.3Realisierung,von,Monomen,und,Polynomen Realisierung,von

-­‐ 54 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

7.5  Software  PLAsDarstellung  von  f1 und  f2 als  Funktionen

Vorgehensweise

1. Nachdenken  über  Kodierungen

2. Funktionstabelle

3. KV-­‐Diagramm  erstellen

4. KV-­‐Diagramm  bearbeiten

5. Primimplikanten aufstellen

6. Minimale  Überdeckung  finden

7. Schaltung  realisieren

Typ 𝒇𝟏 𝒙,𝒚 𝒇𝟐 𝒙, 𝒚0 y x1 x ∨ 𝑦 x2 y x ∧ y3 y x ∧ 𝑦

Page 55: Rechnerstrukturen,,Teil,1 …...technische universität! 22 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 7.3Realisierung,von,Monomen,und,Polynomen Realisierung,von

-­‐ 55 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

7.5  Software  PLAsDarstellung  von  f1 und  f2 als  Funktionen

3. KV-­‐Diagramm  erstellen  (1.  Hälfte)

Typ 𝒇𝟏 𝒙,𝒚 𝒇𝟐 𝒙, 𝒚0 y x1 x ∨ 𝑦 x2 y x ∧ y3 y x ∧ 𝑦

s t x y 𝒇𝟏0 0 0 0 0

0 0 0 1 1

0 0 1 0 0

0 0 1 1 1

0 1 0 0 0

0 1 0 1 1

0 1 1 0 1

0 1 1 1 1

Page 56: Rechnerstrukturen,,Teil,1 …...technische universität! 22 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 7.3Realisierung,von,Monomen,und,Polynomen Realisierung,von

-­‐ 56 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

7.5  Software  PLAsDarstellung  von  f1 und  f2 als  Funktionen

3. KV-­‐Diagramm  erstellen  (1.  Hälfte)

Typ 𝒇𝟏 𝒙,𝒚 𝒇𝟐 𝒙, 𝒚0 y x1 x ∨ 𝑦 x2 y x ∧ y3 y x ∧ 𝑦

s t x y 𝒇𝟏0 0 0 0 0

0 0 0 1 1

0 0 1 0 0

0 0 1 1 1

0 1 0 0 0

0 1 0 1 1

0 1 1 0 1

0 1 1 1 1

s  t

00 01 11 10

00

x  y01

11

10

Page 57: Rechnerstrukturen,,Teil,1 …...technische universität! 22 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 7.3Realisierung,von,Monomen,und,Polynomen Realisierung,von

-­‐ 57 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

7.5  Software  PLAsDarstellung  von  f1 und  f2 als  Funktionen

3. KV-­‐Diagramm  erstellen  (2.  Hälfte)

Typ 𝒇𝟏 𝒙,𝒚 𝒇𝟐 𝒙, 𝒚0 y x1 x ∨ 𝑦 x2 y x ∧ y3 y x ∧ 𝑦

s  t

00 01 11 10

00 0 0

x  y01 1 1

11 1 1

10 0 1

s t x y 𝒇𝟏1 0 0 0 0

1 0 0 1 1

1 0 1 0 0

1 0 1 1 1

1 1 0 0 0

1 1 0 1 1

1 1 1 0 0

1 1 1 1 1

Page 58: Rechnerstrukturen,,Teil,1 …...technische universität! 22 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 7.3Realisierung,von,Monomen,und,Polynomen Realisierung,von

-­‐ 58 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

7.5  Software  PLAsDarstellung  von  f1 und  f2 als  Funktionen

3. KV-­‐Diagramm  erstellen  (2.  Hälfte)

Typ 𝒇𝟏 𝒙,𝒚 𝒇𝟐 𝒙, 𝒚0 y x1 x ∨ 𝑦 x2 y x ∧ y3 y x ∧ 𝑦

s  t

00 01 11 10

00 0 0 0 0

x  y01 1 1 1 1

11 1 1 1 1

10 0 1 0 0

s t x y 𝒇𝟏1 0 0 0 0

1 0 0 1 1

1 0 1 0 0

1 0 1 1 1

1 1 0 0 0

1 1 0 1 1

1 1 1 0 0

1 1 1 1 1

Page 59: Rechnerstrukturen,,Teil,1 …...technische universität! 22 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 7.3Realisierung,von,Monomen,und,Polynomen Realisierung,von

-­‐ 59 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

7.5  Software  PLAsDarstellung  von  f1 und  f2 als  Funktionen

Vorgehensweise

1. Nachdenken  über  Kodierungen

2. Funktionstabelle

3. KV-­‐Diagramm  erstellen

4. KV-­‐Diagramm  bearbeiten

5. Primimplikanten aufstellen

6. Minimale  Überdeckung  finden

7. Schaltung  realisieren

Typ 𝒇𝟏 𝒙,𝒚 𝒇𝟐 𝒙, 𝒚0 y x1 x ∨ 𝑦 x2 y x ∧ y3 y x ∧ 𝑦

Page 60: Rechnerstrukturen,,Teil,1 …...technische universität! 22 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 7.3Realisierung,von,Monomen,und,Polynomen Realisierung,von

-­‐ 60 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

7.5  Software  PLAsDarstellung  von  f1 und  f2 als  Funktionen

4. KV-­‐Diagramm  bearbeiten

Typ 𝒇𝟏 𝒙,𝒚 𝒇𝟐 𝒙, 𝒚0 y x1 x ∨ 𝑦 x2 y x ∧ y3 y x ∧ 𝑦

s  t

00 01 11 10

00 0 0 0 0

x  y01 1 1 1 1

11 1 1 1 1

10 0 1 0 0

Page 61: Rechnerstrukturen,,Teil,1 …...technische universität! 22 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 7.3Realisierung,von,Monomen,und,Polynomen Realisierung,von

-­‐ 61 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

7.5  Software  PLAsDarstellung  von  f1 und  f2 als  Funktionen

4. KV-­‐Diagramm  bearbeiten

Typ 𝒇𝟏 𝒙,𝒚 𝒇𝟐 𝒙, 𝒚0 y x1 x ∨ 𝑦 x2 y x ∧ y3 y x ∧ 𝑦

s  t

00 01 11 10

00 0 0 0 0

x  y01 1 1 1 1

11 1 1 1 1

10 0 1 0 0

Page 62: Rechnerstrukturen,,Teil,1 …...technische universität! 22 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 7.3Realisierung,von,Monomen,und,Polynomen Realisierung,von

-­‐ 62 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

7.5  Software  PLAsDarstellung  von  f1 und  f2 als  Funktionen

Vorgehensweise

1. Nachdenken  über  Kodierungen

2. Funktionstabelle

3. KV-­‐Diagramm  erstellen

4. KV-­‐Diagramm  bearbeiten

5. Primimplikanten aufstellen

6. Minimale  Überdeckung  finden

7. Schaltung  realisieren

Typ 𝒇𝟏 𝒙,𝒚 𝒇𝟐 𝒙, 𝒚0 y x1 x ∨ 𝑦 x2 y x ∧ y3 y x ∧ 𝑦

Page 63: Rechnerstrukturen,,Teil,1 …...technische universität! 22 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 7.3Realisierung,von,Monomen,und,Polynomen Realisierung,von

-­‐ 63 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

7.5  Software  PLAsDarstellung  von  f1 und  f2 als  Funktionen

5. Primimplikanten aufstellen

Typ 𝒇𝟏 𝒙,𝒚 𝒇𝟐 𝒙, 𝒚0 y x1 x ∨ 𝑦 x2 y x ∧ y3 y x ∧ 𝑦

s  t

00 01 11 10

00 0 0 0 0

x  y01 1 1 1 1

11 1 1 1 1

10 0 1 0 0

Page 64: Rechnerstrukturen,,Teil,1 …...technische universität! 22 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 7.3Realisierung,von,Monomen,und,Polynomen Realisierung,von

-­‐ 64 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

7.5  Software  PLAsDarstellung  von  f1 und  f2 als  Funktionen

5. Primimplikanten aufstellen

Typ 𝒇𝟏 𝒙,𝒚 𝒇𝟐 𝒙, 𝒚0 y x1 x ∨ 𝑦 x2 y x ∧ y3 y x ∧ 𝑦

s  t

00 01 11 10

00 0 0 0 0

x  y01 1 1 1 1

11 1 1 1 1

10 0 1 0 0

𝒚

𝒔𝒕𝒙

Page 65: Rechnerstrukturen,,Teil,1 …...technische universität! 22 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 7.3Realisierung,von,Monomen,und,Polynomen Realisierung,von

-­‐ 65 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

7.5  Software  PLAsDarstellung  von  f1 und  f2 als  Funktionen

Vorgehensweise

1. Nachdenken  über  Kodierungen

2. Funktionstabelle

3. KV-­‐Diagramm  erstellen

4. KV-­‐Diagramm  bearbeiten

5. Primimplikanten aufstellen

6. Minimale  Überdeckung  finden

7. Schaltung  realisieren

Typ 𝒇𝟏 𝒙,𝒚 𝒇𝟐 𝒙, 𝒚0 y x1 x ∨ 𝑦 x2 y x ∧ y3 y x ∧ 𝑦

Page 66: Rechnerstrukturen,,Teil,1 …...technische universität! 22 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 7.3Realisierung,von,Monomen,und,Polynomen Realisierung,von

-­‐ 66 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

7.5  Software  PLAsDarstellung  von  f1 und  f2 als  Funktionen

6. Minimale  Überdeckung  finden

Typ 𝒇𝟏 𝒙,𝒚 𝒇𝟐 𝒙, 𝒚0 y x1 x ∨ 𝑦 x2 y x ∧ y3 y x ∧ 𝑦

s  t

00 01 11 10

00 0 0 0 0

x  y01 1 1 1 1

11 1 1 1 1

10 0 1 0 0

minimale  Überdeckung

𝒇𝟏 𝒔, 𝒕, 𝒙, 𝒚 = 𝒚 ∨ 𝒔𝒕𝒙

𝒚

𝒔𝒕𝒙

Page 67: Rechnerstrukturen,,Teil,1 …...technische universität! 22 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 7.3Realisierung,von,Monomen,und,Polynomen Realisierung,von

-­‐ 67 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

7.5  Software  PLAsDarstellung  von  f1 und  f2 als  Funktionen

Vorgehensweise

1. Nachdenken  über  Kodierungen

2. Funktionstabelle

3. KV-­‐Diagramm  erstellen

4. KV-­‐Diagramm  bearbeiten

5. Primimplikanten aufstellen

6. Minimale  Überdeckung  finden

7. Schaltung  realisieren

Typ 𝒇𝟏 𝒙,𝒚 𝒇𝟐 𝒙, 𝒚0 y x1 x ∨ 𝑦 x2 y x ∧ y3 y x ∧ 𝑦

Page 68: Rechnerstrukturen,,Teil,1 …...technische universität! 22 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 7.3Realisierung,von,Monomen,und,Polynomen Realisierung,von

-­‐ 68 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

7.5  Software  PLAsDarstellung  von  f1 und  f2 als  Funktionen

7. Schaltung  realisieren

Typ 𝒇𝟏 𝒙,𝒚 𝒇𝟐 𝒙, 𝒚0 y x1 x ∨ 𝑦 x2 y x ∧ y3 y x ∧ 𝑦

𝒇𝟏 𝒔, 𝒕, 𝒙, 𝒚 = 𝒚 ∨ 𝒔𝒕𝒙

f 1

s

txy

>1&

1

Page 69: Rechnerstrukturen,,Teil,1 …...technische universität! 22 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 7.3Realisierung,von,Monomen,und,Polynomen Realisierung,von

-­‐ 69 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

7.5  Software  PLAsDarstellung  von  f1 und  f2 als  Funktionen

Vorgehensweise  analog  für  f2

1. Nachdenken  über  Kodierungen

2. Funktionstabelle

3. KV-­‐Diagramm  erstellen

4. KV-­‐Diagramm  bearbeiten

5. Primimplikanten aufstellen

6. Minimale  Überdeckung  finden

7. Schaltung  realisieren

Typ 𝒇𝟏 𝒙,𝒚 𝒇𝟐 𝒙, 𝒚0 y x1 x ∨ 𝑦 x2 y x ∧ y3 y x ∧ 𝑦

Page 70: Rechnerstrukturen,,Teil,1 …...technische universität! 22 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 7.3Realisierung,von,Monomen,und,Polynomen Realisierung,von

-­‐ 70 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

7.5  Software  PLAsSoftware-­‐PLAs

Bemerkung  zum  Einsatz

Beobachtung• für  ein  n  × m-­‐PLA  werden  zur  Programmierung• 2nm Bits  gebraucht.• Man  kann  diese  2nm Bits  gut  in  einem  PROM  speichern.

Fazit

• einfache  und  günstige  Realisierung  von  booleschen  Funktionen

• besonders  geeignet  für  kleine  Stückzahlen

• besonders  geeignet  bei  nur  temporärem  Gebrauch

Page 71: Rechnerstrukturen,,Teil,1 …...technische universität! 22 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 7.3Realisierung,von,Monomen,und,Polynomen Realisierung,von

-­‐ 71 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

7.5  Software  PLAsVarianten  von  PLAs

• PAL  (ProgrammableArray  Logic)• PLA• nur  UND-­‐Array  ist  programmierbar• einmal  programmierbar

• GAL  (Generic Array  Logic)• PLA• nur  UND-­‐Array  ist  programmierbar• löschbar  (UV-­‐Licht  oder  elektrisch)

• CPLD  (Complex Programmable  Logic Device)• programmierbare  AND/OR-­‐Matrix• programmierbare  Rückkopplung• Ein-­‐/Ausgabeblöcke  aus  Registern

• FPGA  (Field  ProgrammableGate  Array)• ähnlich  CPLD,  aber  beliebige  Funktion  im  Grundbaustein  realisierbar

Page 72: Rechnerstrukturen,,Teil,1 …...technische universität! 22 ! dortmund fakultätfür informatik Rechnerstrukturen(Teil 1) TUDortmund 7.3Realisierung,von,Monomen,und,Polynomen Realisierung,von

-­‐ 72 -­‐technische universitätdortmund

fakultät fürinformatik Rechnerstrukturen (Teil 1)

TU  Dortmund

7.  Programmierbare  Bausteine7. Programmierbare  Bausteine

1. Einleitung

2. Grundbausteine

3. Realisierung  von  Monomen  und  Polynomen

4. PLA  als  Speicher

5. Software  PLAs