diginf0506 ve05 ppt by ow1i5I

VIEWS: 3 PAGES: 40

									Von-Neumann-Rechner / Rechenwerk


        • Aufgaben:
           • Durchführung arithmetischer und logischer Verknüpfungen
              (daher auch der Name Arithmetic Logical Unit)
        • Steuerwerk und Rechenwerk werden zusammen auch als CPU
          zusammengefasst.
        • Alle arithmetischen Operationen können zurückgeführt werden
          auf die Basisoperatoren
           • Verschieben der Stellen im Register
           • Bitweises Komplementieren
           • Addieren
        • Daher: wesentliche Bestandteile des Rechenwerks sind
          Addierwerk und Komplementierer

        • Abbildung

DigInf 05/06                                                            1
Von-Neumann-Rechner / Rechenwerk


               Abbildung




DigInf 05/06                       2
Von-Neumann-Rechner / Speicher


        • Aufgaben:
           • Aufbewahren von Daten auf der Ebene von Bits
             (zusammengefasst in der Aufbewahrungseinheit Byte (oder
             Vielfaches von Byte))
           • Lokalisierung eines Byte erfolgt über Adresse

        • Der Vorgang der Lokalisierung einer Speicherzelle und des
          Abfragens/Veränderns ihres Inhalts heißt Zugriff.

        • Wichtige Begriffe in diesem Kontext:
           • Zugriffszeit (in der Regel zwischen 5 und 500 ns)
           • Zugriffsart: RAM (Random Access Memory), ROM (Read Only
             Memory)
           • Speichertyp: Hauptspeicher (RAM), externe Speicher
           • Speicherkapazität

DigInf 05/06                                                           3
Von-Neumann-Prinzipien


        • 5 Funktionseinheiten (siehe oben)
        • Struktur unabhängig von Problem (ohne Programm nicht arbeitsfähig)
        • Programme, Daten, Zwischen-, Endergebnisse liegen im gleichen
          Speicher
        • Speicher ist in gleichgroße, fortlaufend nummerierte Zellen unterteilt
        • Aufeinanderfolgende Befehle eines Programms werden in
          aufeinanderfolgenden Speicherzellen abgelegt. Ansprechen des
          nächsten Befehls geschieht durch das Steuerwerk aus durch
          Inkrementieren der Befehlsadresse
        • Sprungbefehle erlauben Abweichungen zwischen Bearbeitungs- und
          Speicherungsreihenfolge
        • Das Rechenwerk versteht zumindest die folgenden Befehle:
            • Arithmetische und logische
            • Transportbefehle (vom Speicher zum Rechenwerk, etc.)
            • Bedingte Sprünge
        • Alle Daten werden binär codiert
DigInf 05/06                                                                       4
Rechnerarchitekturen / Boolesche
Algebra

        • George Boole (1815-1864): formale Begründung der Logik
        • Arithmetische und logische Operationen auf der Basis von
          Wahrheitswerten (true/false)
        • Abbildung der logischen Werte auf den Zustand elektronischer
          Schaltungen:
        • In einem einfachen Stromkreis (Batterie B, Widerstand R (oder
          Lämpchen L), Schalter S) können wir ein Bit durch die am Widerstand
          (am Lämpchen) anliegende Spannung darstellen:
            • S geöffnet, Spannung an R = 0 (entspricht Bit hat Wert 0)
            • S geschlossen, Spannung an R = 5V (entspricht Bit hat Wert 1) *




               * unter Annahme von UB = 5V


DigInf 05/06                                                                    5
Rechnerarchitekturen / Boolesche
Algebra

        • Ersetzen des Schalters S durch 2 Schalter S1 und S2


                           L
                                                    L




               UND                       ODER




DigInf 05/06                                                    6
Rechnerarchitekturen /
Boolesche Algebra

  • Aufbauend auf den Elementarschaltern werden neue Schaltglieder durch
    Serien und Parallelschaltung beschrieben.
  • Jedes Schaltglied erhält einen Eingang und einen Ausgang und können so in
    natürlicher Weise verbunden werden.
  • Sind S1 und S2 Schaltglieder, so erhält man durch Parallelschaltung das
    Schaltglied S1  S2 und durch Serienschaltung S1  S2




  • Auf Grund des Verhaltens

               ODER                   
                                                   UND



      wird die Parallelschaltung auch als Oder-Schaltung und die Serienschaltung
      auch als Und-Schaltung bezeichnet.


DigInf 05/06                                                                       7
Serien-parallele Terme


  •    Bezeichnet man die elementaren Ein-Aus-Schalter mit Variablen x,y,z, ..., so
       lässt sich jeder serien-parallele Schaltkreis durch einen Serien-Parallel-
       Schaltterm (kurz SP-Term) beschreiben.

  •    Definition:
      (i) 0 und 1 sind SP-Terme.
      (ii) Jede Variable ist ein SP-Term.
      (iii) Sind t1 und t2 SP-Terme, dann auch t1  t2 und t1  t2.

  - Beispiel: Schaltkreis zu x  (y  z) mit zugehöriger Schalttabelle
                                                                      yz   x  (y  z)
                                                                                   




                                       




DigInf 05/06                                                                              8
Schaltfunktionen


  • Eine Schaltfunktion ist eine n-stellige Operation auf der Menge {0,1},
    also eine Abbildung:
      f: {0,1}n  {0,1}
  • Jeder SP-Term beschreibt über seine Schalttabelle eine
    Schaltfunktion.
  • Mehrere SP-Terme können dieselbe Schaltfunktion beschreiben:




                 x  (y  z)                  (x  y)  (x  z)




DigInf 05/06                                                                 9
Gleichungen


  • Die Gültigkeit von Gleichungen, bei denen auf beiden Seiten SP-
    Terme stehen, lässt sich durch Vergleich der zugehörigen
    Schaltfunktionen zeigen.


                        yz   x  (yz)   xy   xz   (x  y)  (x  z)




DigInf 05/06                                                              10
Gleichungen


  Oder auch durch Rechnen gemäß der folgenden Regeln:

      • Idempotenz:        xx=x
                           xx=x
      • Kommutativität:    xy=yx
                           xy=yx
      • Assoziativität:    x  (y  z) = (x  y)  z
                           x  (y  z) = (x  y)  z
      • Absorption:        x  (x  y) = x
                           x  (x  y) = x
      • Distributivität:   x  (y  z) = (x  y)  (x  z)
                           x  (y  z) = (x  y)  (x  z)

  Eine Struktur, die diesen Regeln folgt, heißt distributiver Verband.

DigInf 05/06                                                             11
Dualität

  Zwei spezielle Schaltglieder:
    • der immer geschlossene Schaltkreis 1
    • der immer offene Schaltkreis 0
    • Charakterisiert durch die Gleichungen:
      • x0=x                    x1=x
      • x1=1                    x0=0


  • Vertauschen wir  und  sowie 0 und 1 in einem Term t,
    so erhalten wir den zu t dualen Term td.

  • Es gilt:
       (i)     tdd = t
       (ii)    t1 = t2  t1d = t2d


DigInf 05/06                                                 12
Dualität

  • Behauptung zur Dualität / vgl. Übungsblatt 1




DigInf 05/06                                       13
Monotonie


  Wir wissen: jeder Term beschreibt eine Schaltfunktion.
  Frage: Lässt sich mit Termen jede denkbare Schaltfunktion realisieren?
  Überlegung: ein geschlossenes Schaltglied lässt sich durch das
     Anschließen weiter Schalter nicht öffnen!
        f: {0,1}n  {0,1}
        f(b1, ...,bi, ..., bn) = 1  f(b1, ...,1, ..., bn) = 1
  Setzt man die natürliche Ordnung 0  1 komponentenweise fort auf
     {0,1}n durch
      (b1, ..., bn)  (c1, ..., cn)  bi  ci  1  i  n
  so erkennen wir, dass jede durch einen SP-Schaltkreis realisierte
     Schaltfunktion f im folgenden Sinne monoton ist
         (b1, ..., bn)  (c1, ..., cn)  f(b1, ..., bn)  f(c1, ..., cn)
  Beweis durch Induktion über den Aufbau von Termen:


DigInf 05/06                                                               14
Monotonie / Bew. Per Induktion




DigInf 05/06                     15
Negation


  Beispiel einer Schaltung, die nicht durch eine SP-Schaltung realisierbar ist:
  Wechselschaltung:
            Lampe soll von 2 verschiedenen Schaltern
            unabhängig ein- und ausgeschaltet werden.
  Diese Schaltung lässt sich durch eine der folgenden Schalttabellen festlegen:
            x y Lampe
            0 0      0
            0 1      1
           1 0       1
           1 1       0
  oder      0 0      1
            0 1      0
            1 0      0
            1 1      1
  Beide Schalttabellen beschreiben Schaltfunktionen, die nicht monoton sind und
     gemäß des Monotoniebeweises deshalb auch nicht durch SP-Schaltungen
     realisiert werden können.
DigInf 05/06                                                                      16
Negation


  Einfachste nicht monotone Schaltfunktion ist die folgende:
           x      f(x)
           0       1
           1       0
  Definition: Ist S ein Schaltglied, so sei S dasjenige Schaltglied,
     das genau dann offen ist, wenn S geschlossen ist.
     S heißt Negation von S.

  Im elektrischen Schaltkreis lässt sich die
     Negation durch ein Relais realisieren.                      
     Fließt Strom durch S, so wird durch die
     Magnetwirkung einer Spule der
     Schalter S geöffnet
     (Realisierung mit Transistoren einfacher!).

DigInf 05/06                                                            17
Boolesche Terme


  Ein Schaltkreis, in dem neben Serien- und Parallelschaltung auch noch die
      Negation verwendet werden darf, heißt boolesche Schaltung. Der einer
      booleschen Schaltung entsprechende Term heißt boolescher Term.
  Definition:
     (i) 0 und 1 sind boolesche Terme.
     (ii) Jede Variable ist ein boolescher Term.
     (iii) Sind t1 und t2 boolesche Terme, dann auch t1  t2 und t1  t2 und t1

  Gleichungen zum Verhalten der Negation:
                                                        Nachrechnen!
            de Morgan:       (x  y) = x  y
                             (x  y) = x  y
           Komplement:       x  x = 1
                             x  x = 0
                             x = x
  Eine distributiver Verband mit einer solchen Negation heißt boolesche Algebra.



DigInf 05/06                                                                       18
Realisierung von Schaltfunktionen


  Gesucht: zu einer gegebenen Schaltfunktion der entsprechende
    boolesche Terme.
  Definition:
    Ein Literal ist eine Variable oder eine negierte Variable.
    Ein Monom ist eine Konjunktion (Und-Verknüpfung) von Literalen.

  Beispiel: Realisierung einer Schaltfunktion,
    die es erlaubt, eine Lampe von drei
    Schaltern x,y,z unabhängig ein- und
    auszuschalten.
    Die Schaltfunktion g sieht dann
    folgendermaßen aus:




DigInf 05/06                                                          19
Realisierung von Schaltfunktionen


   g liefert an 4 Stellen den Wert 1. Sie lässt sich als Disjunktion von 4
       Monomen m1,m2,m3,m4 schreiben:
                                             




                                TODO




   Darstellung der Monome:
      m1 = (xyz), m2 = (xyz), m3 = (xyz), m4 = (xyz)
   Somit g(x,y,z) =
      m1m2m3m4 = (xyz)  (xyz)  (xyz)  (xyz)
   Diese Beschreibung heißt disjunktive Normalform (DNF).
DigInf 05/06                                                                 20
Realisierung von Schaltfunktionen

 Unter der DNF versteht man eine Disjunktion von Monomen, in denen
    jeweils jede Variable vorkommt (negiert oder nicht negiert).
 Zu jeder Schaltfunktion gibt es genau eine DNF und die lässt sich auf die
    beschriebene Weise ermitteln.
 Insgesamt: Jede Schaltfunktion lässt sich durch einen booleschen Term
    realisieren.
 Die DNF wird umso komplizierter je mehr 1-Stellen die Schaltfunktion hat.
 Falls mehr 1-Stellen als 0-Stellen, dann wird eher die Konjunktive
    Normalform (KNF) verwendet.
 Definition: Unter einer Elementarsumme verstehen wir eine Disjunktion
    (Oder-Verknüpfung) von Literalen.
 Die Schaltfunktion einer Elementarsumme ergibt genau für einen Input
    eine 0, sonst immer 1. Sind e1 und e2 Elementarsummen, so hat die
    Konjunktion e1  e2 genau dort eine 0, wo e1 oder e2 eine 0 haben.
 Beliebige Schaltfunktionen kann man daher als Konjunktion von
    Elementarsummen schreiben.
DigInf 05/06                                                             21
Realisierung von Schaltfunktionen


   Beispiel:                             Zerlegung in Elementarsummen:
                                                                               




   g(x,y,z) = e1  e2  e3 = (x  y  z)  (x  y   z)  (x  y  z)

DigInf 05/06                                                                        22
Digitale Logik

   Realisierung beliebiger Funktionen f: {0,1}m  {0,1}n




   Jedes solche Schaltglied kann aus n Schaltgliedern mit je einem Ausgang
     aufgebaut werden. Es reicht daher, dass wir alle Schaltfunktionen
     fi : {0,1}m  {0,1} realisieren können.




DigInf 05/06                                                            23
Transistoren als Schalter

   Als Elementarschalter werden in der Praxis Transistoren eingesetzt. Ein
      Transistor hat einen Eingang (source), einen Ausgang (drain) und
      einen Steuereingang (gate). Legt man eine Spannung zwischen source
      und drain, so fließt nur Strom, falls auch eine Spannung zwischen
      source und gate besteht.

   In einem Stromkreis, bestehend aus einem Transistor und einem
      Widerstand R zwischen den Polen einer Spannungsquelle, kann man
      den Transistor als Schalter auffassen, der von einer Spannung
      zwischen g und s eingeschaltet wird.




DigInf 05/06                                                            24
Transistoren als Schalter

   Ist Vext die externe Spannung (zwischen + und -), so
       kann man Vout, die Spannung zwischen d und s,
       in Abhängigkeit von Vin, der Spannung zwischen
       g und s, tabellieren. Wir erhalten unter
       Bezeichnung von Vext mit 1:
              Vin Vout
              0 Vext
             Vext 0
   Betrachten wir stattdessen als Ausgangsspannung
       die an R abfallende Spannung VR, so hat man
       das komplementäre Verhalten,
       denn VR = Vext – Vout
             Vin VR
              0 0
             Vext Vext

DigInf 05/06                                              25
Schaltfunktionen NAND und NOR




    x   y      NAND (x,y)   NOR (x,y)
    0   0         1            1
    0   1         1            0
    1   0         1            0
    1   1         0            0


DigInf 05/06                            26
Schaltfunktionen AND und OR




    x   y      AND (x,y)   OR (x,y)
    0   0         0          0
    0   1         0          1
    1   0         0          1
    1   1         1          1


DigInf 05/06                          27
Gattersymbole

  Die grundlegenden Schaltglieder stellt man durch Gattersymbole dar,
     wobei nur noch die Input- und Output-Leitungen gezeichnet werden.

 x              z               z=x     x          z               z = x

       Puffer                               NOT
                    x   y   z                          x   y   z
                    0   0   0                          0   0   1
  x                                     x
                z   0   1   1   z=xy              z   0   1   0
  y                                     y              1   0   0
                                                                   z = (x  y)
                    1   0   1
                                                       1   1   0
         OR         1   1   1               NOR
                                                       x   y   z
                    x   y   z
                                                       0   0   1
                    0   0   0           x
 x
                z   0   1   0   z=xy              z   0   1   1
                                                                   z = (x  y)
 y                                      y              1   0   1
                    1   0   0
                                                       1   1   0
                    1   1   1
        AND                                 NAND
DigInf 05/06                                                                      28
Alte Gattersymbole




DigInf 05/06         29
Gattersymbole für weitere wichtige
Schaltungen
                          x   y   z
                          0   0   0
                          0   1   1
                          1   0   1
                          1   1   0
               XOR




                                             = (x  c)  (y  c)




                        z = (x  c)  (y  c)
                        Mit anderen Worten:
                        z = if c then x else y
               MUX

DigInf 05/06                                                        30
Halbaddierer




               x   y   c   s
               0   0   0   0
               0   1   0   1
               1   0   0   1
               1   1   1   0


DigInf 05/06                   31
Volladdierer




   Zusätzlich werden ci (carry-in) und
   co (carry-out) berücksichtigt.




DigInf 05/06                             32
Addierwerk

  Mit einer Kaskade von n-1 Volladdierern und einem Halbaddierer kann man ein
  Addierwerk zusammenbauen, das 2 n-stellige Binärzahlen addiert. Jeder Ein-Bit-
  Addierer ist dabei für eine Ziffernposition verantwortlich.




DigInf 05/06                                                                       33
Rückgekoppelte Schaltungen
Unsere bisherigen Bausteine haben bisher Signale umgewandelt, aber
  nicht gespeichert. Das reicht offensichtlich gerade für persistente Daten
  nicht aus!
Rückgekoppelte Schaltungen können ein Gedächtnis haben.
                                  Rückgekoppeltes OR-Gatter
                                  Einmal 1, immer 1




                                  Eine Speicherzelle sollte zwischen 0 und
                                  1 wechseln und beide Werte dauerhaft
                                  speichern können (je nach Bedarf).
                                  Genau das kann ein Flip-Flop.




DigInf 05/06                                                                  34
Gleichungen Flip-Flop


  q = (r  q)    und             q = (s  q)

  r = 0  q = q , also q = q
  s = 0  q = q , also q = q

  Mit anderen Worten: Aus r oder s gleich null folgt, dass an q immer das
     Komplement von q anliegt.
  Im praktischen Einsatz wird r = s = 1 nicht benutzt, sodass immer  q = q
     gilt.

  Für r = s = 0 ist das Gleichungssystem unterbestimmt: q=0 oder q=1 sind
    gültige Lösungen. Beide Lösungen sind stabil.
  Wenn genau an einem der beiden Eingänge eine 1 anliegt, hat das
    Gleichungssystem genau eine Lösung (r=1  q=0, s=1  q=1)

DigInf 05/06                                                                35
Betrieb Flip-Flop


Demzufolge wird ein RS-Flip-Flop folgendermaßen betrieben:

•    Ruhezustand: r=s=0
•    Impuls 1 auf s (set) setzt q auf 1.
•    Ein Impuls 1 auf r (reset) setzt q auf 0.
•    Fällt der Impuls auf r oder s wieder auf 0 ab, so bleibt der vorige Wert
     von q erhalten.




DigInf 05/06                                                                    36
Schalter, Codierer, Decodierer


                                                         Ein-/Ausschalter




                                                          Speicherzelle




        Aufbauend auf einem RS-Flip-Flop.
        Zusätzliche Schaltglieder zur Auswahl einer bestimmten
        Speicherzelle aus vielen Zellen.
        Select stellt sicher, dass nur was an OUT ankommt, wenn Select=1.
        Schalter an Eingängen erfordern, dass Zelle zum Schreiben bereit
        ist.
DigInf 05/06                                                                37
Schalter, Codierer, Decodierer


   Eine Gruppe von Speicherzellen heißt Register.
   Da nie einzelne Bits, sondern nur Wörter angesprochen werden,
   werden die Select- und die Write-Eingänge verbunden (vgl.
   folgendes 4 Bit Register).




DigInf 05/06                                                       38
ALU




   1-Bit-ALU (3 Eingänge zur Kodierung von 8
   Operationen), zwei Operanden (x,y), ein Carry
   (ci), ein Ergebnis (z), ein Übertrags-Carry (ci+1).




DigInf 05/06                                             39
ALU



               Detailschaltung
               1-Bit-ALU




                 4-Bit-ALU




DigInf 05/06                     40

								
To top