Teil II 2.3 Schaltwerke und Speicherbausteine

Ähnliche Dokumente
Aufbau und Funktionsweise eines Computers - II

In diesem Abschnitt werden wir einige Schaltwerke kennenlernen, die als Basisbauteile überall im Aufbau digitaler Schaltungen verwendet werden.

Digitaltechnik II SS 2007

RO-Tutorien 3 / 6 / 12

In diesem Abschnitt werden wir einige Schaltwerke kennenlernen, die als Basisbauteile überall im Aufbau digitaler Schaltungen verwendet werden.

Mikroprozessortechnik Grundlagen 1

Oliver Liebold. NAND (negierte Undverknüpfung) L L H L H H H L H H H L

Adressierung von Speichern und Eingabe- Ausgabegeräten

Kapitel 5 - Datenübertragung

Integrierte Schaltungen

B Hauptspeicher und Cache

B Hauptspeicher und Cache

Schaltungen Jörg Roth 197

Hochschule Emden / Leer. Ausarbeitung. Speicherung digitaler Signale

Technische Grundlagen der Informatik

Praktikum Digitaltechnik

Eine Schaltung, deren Ausgänge von der Belegung der Eingänge und ihrem inneren Zustand abhängt, wird ein Schaltwerk genannt.

E Hauptspeicher und Cache

E Hauptspeicher und Cache

Versuch D3: Busse, Speicher und Ampelsteuerung mit Speicher

Logik mit Gedächtnis : Sequentielle Logik

Speicher: RAMs, ROMs PROMS, EPROMs, EEPROMs, Flash EPROM

Ein ROM soll aus mehreren ROMs (vgl. Abbildung rechts: Enable-Leitung EN, Adressleitungen ADDR, Datenleitungen DATA) aufgebaut werden.

Tutorium: Einführung in die technische Informatik

Digitaltechnik II SS 2007

Digitaltechnik II SS 2007

Kapitel 2. Elementare Schaltwerke. 2.1 RS-Flipflop

Grundstruktur von Schaltwerken

Grundlagen der Informationsverarbeitung:

Q R. reset (R) set (S) unzulässig! Unkontrollierte Rückkopplung von Gatterausgängen auf Gattereingänge führt zu logisch "inkonsistentem" Verhalten!

Klausuraufgaben: Flip-Flops

Drücken Sie (später) bei Speichere Änderungen in der Bibliothek default? auf Nein.

Grundtypen Flip-Flops

Tutorium Rechnerorganisation

Halbleiterspeicher. Halbleiterspeicher Michael Kuhfahl 1

Paralleles Auslesen linearer Bildsensoren

Paralleles Auslesen linearer Bildsensoren

Handelt es sich um ein taktzustands- oder taktflankengesteuertes D-Flipflop?

Aufgabe 1 Minimieren Sie mit den Gesetzen der Booleschen Algebra 1.1 f a ab ab 1 = + + Aufgabe 2. Aufgabe 3

Multiplexer und Schieberegister

Tutorial Vivado/Verilog Teil 5 Zyklisches Schieberegister

1,8V Flash and SRAM 28F3208W30

Angewandte Physik II: Elektronik

Rechnerstrukturen. 5. Speicher. Inhalt. Vorlesung Rechnerstrukturen Wintersemester 2002/03. (c) Peter Sturm, Universität Trier 1.

Anhang zum Lehrbuch Digitaltechnik, Gehrke, Winzker, Urbanski, Woitowitz, Springer-Verlag, 2016.

Rechnerstrukturen. Michael Engel und Peter Marwedel SS TU Dortmund, Fakultät für Informatik

Füllstandsregelung. Technische Informatik - Digitaltechnik II

Funktionsblöcke

Rechnerstrukturen Winter SPEICHER UND CACHE. (c) Peter Sturm, University of Trier 1

Rechnerstrukturen. Michael Engel und Peter Marwedel. TU Dortmund, Fakultät für Informatik SS 2013

Digitaltechnik Grundlagen 9. Zählschaltungen

- Zustandsvariable z i werden durch binäre Speicherelemente Flipflops FF realisiert, die entweder 1 gesetzt oder auf 0 rückgesetzt werden

Besprechung des 7. Übungsblattes Speicheraufbau Speichertypen DRAM Speicherbelegung

F Programmierbare Logikbausteine

Speicher (1) zur Realisierung eines Rechnerspeichers benötigt man eine Materie mit physikalischen Eigenschaften, die

Entwurf asynchroner Automaten

Grundlagen der Rechnerarchitektur

Sequenzielle Schaltungen (1)

3 Verarbeitung und Speicherung elementarer Daten

Rechnerstrukturen WS 2012/13

F Programmierbare Logikbausteine

Erweiterung von Adressraum und Bit Tiefe

3.1 Schaltwerke als Reihenschaltung von Flipflops

Elektrische Logiksysteme mit Rückführung

Minimierung nach Quine Mc Cluskey

Sequentielle Logik. Einführung in die Technische Informatik Falko Dressler, Stefan Podlipnig Universität Innsbruck

Musterlösungen. zu den Übungsaufgaben vom

DuE-Tutorien 4 und 6. Tutorien zur Vorlesung Digitaltechnik und Entwurfsverfahren Christian A. Mandery. WOCHE 11 AM

Mikroprozessoren Grundlagen AVR-Controller Input / Output (I/O) Interrupt Mathematische Operationen

Ergänzung: RAM und ROM. SS 2012 Grundlagen der Rechnerarchitektur Speicher 72

Logik mit Gedächtnis : Sequentielle Logik

Rechnerstrukturen. Michael Engel und Peter Marwedel. Sommer TU Dortmund, Fakultät für Informatik

FAKULTÄT FÜR INFORMATIK

Grundlagen der Informatik 2. Grundlagen der Digitaltechnik. 5. Digitale Speicherbausteine

Grundlagen der Informationsverarbeitung:

Ergänzen Sie die Werte für y in dem unten angegebenen Ausschnitt der Schaltbelegungstabelle. Falsche Antworten führen zu Punktabzug.

Martin V. Künzli Marcel Meli. Vom Gatter zu VHDL. Eine Einführung in die Digitaltechnik. : iasms!wil5i-8sb*l!f. 3. Auflage. zh aw

Elektrizitätslehre und Elektronik. Halbleiterspeicher

SMP Übung 2 1. Aufgabe

Teil 1: Digitale Logik

Eingebettete Systeme

Digitaltechnik II SS 2007

Grundlagen der Digitaltechnik GD. Aufgaben und Musterlösungen

Zur Multiplikation von Gleitkommazahlen müssen die Mantissen inkl. führender 1, als Festkommazahlen multipliziert werden.

F. Technologische Grundlagen

Digitaltechnik Grundlagen 8. Register

Schaltwerke Schaltwerk

Hardwarepraktikum WS 1997/98. Versuch 5. Sequentielle Systeme II

Teil IV. Schaltwerke

Rechnerorganisation. (10,11) Informationskodierung (12,13,14) TECHNISCHE UNIVERSITÄT ILMENAU. IHS, H.- D. Wuttke 08

Outline Automaten FSM Synthesis FSM in VHDL FSM auf FPGA. State Machines. Marc Reichenbach und Michael Schmidt

Prozessorarchitektur. Kapitel 1 - Wiederholung. M. Schölzel

ERA-Zentralübung 11. Maximilian Bandle LRR TU München Maximilian Bandle LRR TU München ERA-Zentralübung 11

Speichern von Zuständen

Rechnerstrukturen. Michael Engel und Peter Marwedel SS TU Dortmund, Fakultät für Informatik

Rechnerstrukturen. Michael Engel und Peter Marwedel WS 2013/14. TU Dortmund, Fakultät für Informatik

Transkript:

Teil II 2.3 Schaltwerke und Speicherbausteine Themen Abgrenzung zu Schaltnetzen Modellierung von Schaltwerken/Moore-Automaten Aufbau von Schaltwerken Elementare Schaltwerke der Digitaltechnik Flipflops Register Speicherbausteine (RAM) Zählwerke 1

Schaltnetze vs. Schaltwerke Rückblick: Schaltnetze: In einem Schaltnetz gibt es einen gerichteten Signalfluss, von der Eingabe zur Ausgabe hin. Abgesehen von den physikalischen Gatter-Schaltzeiten spielt dabei der Begriff Zeit keine Rolle. Im idealisierten Schaltnetz erfolgt die Ausgabe quasi gleichzeitig mit dem Einspeisen der Eingabewerte. => Bei Schaltnetzen hängt die Ausgabe nur von der aktuellen Eingabe ab. Neue Fragestellung: Was passiert, wenn man eine Rückkopplung einbaut? e 1... e n S-Netz a 1... e m Zeitpunkt t e a t Ein Schaltwerk ist ein Schaltnetz mit Rückkopplung Zeitpunkt t+1 S-Netz a t+1 Ausgabe a t+1 zum Zeitpunkt t+1 hängt ab von der Eingabe e und der rückgekoppelten Ausgabe a t, die zum Zeitpunkt t vorlag. a t+1 = f(e, a t ) 2

Schaltnetze vs. Schaltwerke Schaltwerke: Schaltwerke sind im Wesentlichen rückgekoppelte Schaltnetze. Die Rückführung der Ausgabe erfolgt dabei über ein sog. Verzögerungsglied ( tau ). Die Verzögerungszeit wird dabei so gewählt, dass sie deutlich über den Gatterschaltzeiten liegt, so dass Schaltzustände klar erkennbar sind. Schaltwerk W Verzögerungsglied e(t) z(t) Schaltnetz F g(e(t),z(t)) f (e(t), z(t)) Schaltwerke haben eine Art Gedächtnis. Sie besitzen innere Zustände, mit denen sie sich vorangegangene Eingaben und vorangegangene Ausgaben merken können. => Bei Schaltwerken kann man die Ausgabe zusätzlich von endlich vielen vorausgegangenen Eingaben abhängig machen. 3

Stabile vs. instabile Schaltwerke Schaltverhalten ist sequentiell. Zustand eines Schaltwerkes heißt stabil, falls f(e, z) = z (Rückführung ohne Verzögerungsglieder mögl.) instabil, falls f(e, z) z Schaltwerk W 1 Schaltwerk W 2 τ τ e z & a = f(e, z) e z 1 a = f(e, z) Schaltwerk W1 Schaltwerk W2 Fall 1: Eingabe e = 1 (ständig): => f(e, z) =... 0 1 0 1 0 1... ; Zustand des Schaltwerkes: instabil Fall 2: Eingabe e = 0 (ständig): f(e, z) = 1 (immer); Zustand des Schaltwerks: stabil Falls einmal e = 1 dann immer f(e, z) = 1, d.h. Schaltung merkt sich: e=1 kam einmal 1 vor (so was nennt man Fangregister ) 4

Modellierung einer zeitlichen Abfolge von Zuständen Motivation Ein Schaltwerk lässt sich durch die zeitliche Abfolge der Zustände z 1, z 2,..., z n beschrieben, die es einnehmen kann. Das lässt mittels eines Zustandsübergangsdiagramms übersichtlich grafisch darstellen, wobei man folgende Notation verwendet: Zustand z wird als Kreis dargestellt: z Belegung einer Ausgabeleitung a=0 im Zustand z gibt man so an: z a=0 Zustandsübergang von z i nach z k als Pfeil (Beachte: z k kann gleich z i sein) z i z k z i Ob ein Zustandsübergang erfolgen darf, steuert man über die Belegung von Schaltvariablen. Zum Beispiel: Übergang von z i nach z k nur wenn e=1. z i a=0 e=1 z k a=1 5

Modellierung einer zeitlichen Abfolge von Zuständen Beispiel: Steuerung einer Lauflicht-Kette mit 3 Lampen L 1, L 2, L 3 Zusätzlich gibt es einen Ein/Ausschalter S. Schalter S=1 bedeutet Gerät an. Modellierung durch insgesamt 4 Zustände z 0, z 1, z 2, z 3. L 1 L 2 L 3 z 0 L 1 =0, L 2 =0, L 3 =0 S=0 S=1 alles ausgeschaltet S S=0 z 1 L 1 =1, L 2 =0, L 3 =0 S=1 z 2 L 1 =0, L 2 =1, L 3 =0 eingeschaltet, L 1 leuchtet eingeschaltet, L 2 leuchtet S=0 S=1 z 3 L 1 =0, L 2 =0, L 3 =1 S=1 eingeschaltet, L 3 leuchtet 6

Modellierung eines Schaltwerks als Zustandsübergangsdiagramm / Automat Die grafische Notation zur Beschreibung des Verhalten eines Schaltwerks nennt man auch Moore-Automat (nach E.F. Moore) Ob in einem Moore-Automat ein Zustandsübergang erfolgt, hängt vom aktuellen Zustand des Schaltwerks und der Eingabesignale ab. Beispiel Schaltwerk W 1 Zustände z 1 und z 2 4 Übergänge: von z 1 nach z 2 falls e = 1 von z 1 nach z 1 falls e = 0 von z 2 nach z 1 falls e = 0 von z 2 nach z 1 falls e = 1 e e=0 z τ & a= f(e, z) Automat für W 1 Übergänge als Tabelle: z\e 0 1 z 1 z 1 z 2 z 2 z 1 z 1 z 1 a=1 e=1 e=0 e=1 z 2 a=0 7

Grundlegende Schaltwerke der Digitaltechnik Elementare Speicherelemente (Flipflop-Schaltungen) asynchrone RS-Flipflop synchrone RS-Flipflop D-Flipflop synchrone JK-Flipflop RS-Master-Slave-Flipflop Register Register und Schieberegister Zählwerke Verwendung in Scannern und Digitalkameras Computer-Speicherbausteine 1-Bit-Schreib-Lese-Speicherzellen adressierbare Speicherzellen (RAM) 8

Elementare Speicherelemente Motivation: Ein elementares Speicherelement ist ein Bauteil, das zwischen zwei verschiedenen Zuständen z 1 und z 2 unterscheiden und sich merken kann, in welchem Zustand es sich befindet. => Elementares Speicherelement kann ein 1 Bit speichern, z.b. die Belegung (0 oder 1) einer Schaltvariablen. Anforderungen an ein Schaltwerk zur Speicherung von 1 Bit (F1) (F2) (F3) Speicherung: Schaltwerk muss mindestens zwei stabile Zustände haben. Einschreiben in den Speicher: Schaltwerk muss definierte Einstellung eines Zustands durch Eingangssignale gestatten. Auslesen aus dem Speicher: Speicherinhalt muss an den Schaltwerksausgängen zur Verfügung stehen (entweder in negierter oder nicht negierter Form). 9

Flipflop-Schaltungen Definition: Ein Ein Flipflop ist ist Schaltwerk das das folgende Funktionen bereitstellt: (F1) (F1) Einschreiben von von Information (d.h. (d.h. setzen eines Bits Bits auf auf 0 oder oder 1) 1) (F2) (F2) Speicherung der der Information (F3) (F3) Auslesen der der gespeicherten Information Anmerkungen: Ein Flipflop (FF) hat zwei stabile Zustände. Es verharrt in einem stabilem Zustand, bis durch Anstoß von außen in den anderen stabilen Zustand umgeschaltet wird. Namensgebung betont Fähigkeit zwischen Zuständen hin und her zu schalten: ( Flip -> Flop -> Flip -> Flop -> Flip... ). Je nach technischer Realisierung speichert ein Flipflop binäre Information nur solange eine Versorgungsspannung anliegt. Wird der Strom abgeschaltet, vergisst das FF seinen Zustand. Flipflops gibt es in verschiedenen Ausführungen. 10

Asynchrones RS-Flipflop Einfachstes Speicherelement ist das asynchrone (d.h. ungetaktetes) RS-Flipflop. RS steht für: R: Rücksetzen (Reset) S: Setzen (Set) (angestrebtes) Verhalten des Bauteils: Blockschaltbild: RS-Flipflop S Q R Q Fall 1: Q = x (also x=0 oder x=1) und weder R noch S sind gesetzt (also R=0 und S=0) dann soll Ausgang Q mit x belegt bleiben. Fall 2: Q = x und Eingang S =1 und R=0, dann soll Ausgang Q mit 1 belegt werden (ungeachtet seines vorherigen Werts). Fall 3: Q = x und Eingang S =0 und R=1, dann soll Ausgang Q mit 0 belegt werden (ungeachtet seines vorherigen Werts). Fall 4: Gleichzeitiges Setzen und Rücksetzen (S=1 und R=1) ist nicht erlaubt! 11

R Realisierung mit zwei NOR-Gattern: S Asynchrones RS-Flipflop Q R Q R 1 Q 1 Q Vorsicht! Im Blockschaltbild liegt Ausgang Q dem Eingang S gegenüber! S Q R Q Werte-Tabelle: Q R, Q R : rückgeführte Ausgänge Q und Q S R Q R Q R Q Bemerkungen 0 0 0 1 0 stabiler Zustand: 0 gespeichert 0 0 1 0 1 stabiler Zustand: 1 gespeichert 0 1 0 1 0 stabiler Zustand: 0 rücksetzen 0 1 1 0 0 instabiler Zustand: 0 rücksetzen 1 0 0 1 0 instabiler Zustand: 1 setzen 1 0 1 0 1 stabil Zustand: 1 setzen 1 1 0 1 - unzulässig 1 1 1 0 - unzulässig Instabil bedeutet, dass die Schaltung nur kurzzeitig in diesem Zustand bleibt. Schaltfunktion RS-Flipflop: Q = S + R'Q R 12

Modellierung eines Schaltwerks als Zustandsübergangsdiagramm Idee: Man kann das zeitlicher Verhalten eines Schaltwerks in Form eines Diagramms mit Knoten und gerichteten Kanten darstellen. Solche Diagramme heißen auch endliche Automaten. Knoten repräsentieren stabile Zustände des Schaltwerks. Ein Zustand kann durch ein Tupel von Schaltvariablen beschrieben werden. Kanten stehen für mögliche Ereignisse, die einen Zustandswechsel bewirken. Ereignisse sind beim RS-Flip-Flop das Anlegen neuer Eingabesignale für R und S. R S Q R Q R RS-Flipflop 1 1 Q Q Modellierung des RS-FF als Automat: - es gibt 4 stabile Zustände z 1 S = 0, R = 0 Q = 0 z 4 S = 0, R = 0 Q = 1 S := 1 R := 1 R := 1 R := 0 S := 0 z 2 S = 0, R = 1 Q = 0 S := 0 R := 1 z 3 S = 1, R = 0 Q = 1 S := 1 R := 0 13

Modellierung eines Schaltwerks als Zustandsübergangsdiagramm Gruppierung der stabilen Zustände in: (z 3, z 4 ) Set-Status, Q = 1 (z 1, z 2 ) Reset-Status Q = 0 S Q Q Q Zustand S R Q Q Bemerkungen Werte-Tabelle z 3 1 0 1 0 Set-Status z 4 0 0 1 0 z 2 0 1 0 1 Reset-Status z 1 0 0 0 1-1 1 - - undefiniert z 1 z 2 Automat (ohne Angabe der auslösenden Zustandsübergänge.) z 4 z 3 14

Charakterisierung von Schaltwerken Schwierigkeit insbesondere bei größeren Schaltwerken: Beschreibung und Verfolgung des zeitlichen Signalverlaufs ist abhängig von: der Laufzeit der Signale Verzögerungsglied τ Wechsel von 0 auf 1 bzw. von 1 auf 0 ist nicht schlagartig möglich. => Frage: Wann beobachte man einen Schaltwerkszustand? Abhilfe: Man legt durch Verwendung eines weiteren Signals fest, wann man die an den Eingängen anliegenden Werte ins Schaltwerk übernehmen möchte und wann man die an den Ausgängen liegenden Werte ablesen kann. Das weitere Signal nennt man Taktsignal oder einfach Takt. => getaktete Schaltwerke => Möglichkeit zur Synchronisation von Schaltwerken. 15

Getaktetes Schaltwerk Eigenschaften: Erst beim Takt erscheint das neue z(t) = g( a(t-1), z(t-1) ) am Ausgang des Verzögerungsgliedes. Der Takt wirkt wie eine Schleuse, muss also aus zwei verschiedenen (komplementären) Signalen (oder Ereignissen ) bestehen, damit das Verzögerungsglied stets nur nach einer Seite geöffnet sein kann. Andernfalls: unerwünschter Effekt: Verzögerungsglied transparent. Getaktetes Schaltwerk: Eingaben: e(t) frei wählbar Zustände: z(t) abhängig vom Schaltnetz Ausgaben: a(t) = f(e(t), z(t)) Taktgeber 1 0 t e(t) z(t) Verzögerungsglied Schaltnetz F g(e(t),z(t)) f (e(t), z(t)) 16

Synchrones RS-Flipflop Motivation: Wunsch nach Übernahme einer Information in den Speicher zu frei bestimmbaren, jedoch definierten Zeitpunkten t. Lösung: Erweiterung des RS-Flipflops um Takteingang T, so dass das Einschreiben eines neuen Wertes in den Speicher nur möglich ist, wenn gilt: T = 1 R: Rücksetzen (Reset), S: Setzen (Set) T: Takt (Clock) Gebräuchliche Blockschaltbilder für getaktetes RS-Flipflop S Q T R Q S Q T R Q RS 17

Synchrones RS-Flipflop Synchronisation RS-FF Realisierung der Synchronisation mit AND-Gattern R & 1 Q T Werte-Tabelle T S R Q t Q t+1 0 x x q keine Änderung: Q t+1 = q = Q t 1 0 0 q keine Änderung: Q t+1 = q = Q t 1 0 1 q Q t+1 = 0 Reset-Status 1 1 0 q Q t+1 = 1 Set-Status 1 1 1 q nicht erlaubt! S & 1 Q Schaltfunktion sync. RS-FF: S + R'Q t Q t+1 = für T=1 Q t für T=0 18

D-Flipflop Motivation: Verzögerungselemente, die einen Eingabewert um genau einen Takt verzögert ausgeben, lassen sich sehr einfach mit einem synchronen RS-Flipflop aufbauen. Ein D-Flipflop reicht zu jedem Taktzeitpunkt den Eingabewert d unverändert an den Ausgang Q weiter. Blockschaltbild: D-Flipflop: d T D-FF d Werte-Tabelle D-Flipflop Realisierung mit RS-Flipflop: T d Q t Q t+1 = d t+1 0 x q Q t+1 = q = Q t 1 0 0 Q t+1 = S = 0 1 0 1 Q t+1 = S = 1 d S Q T R Q d 1 1 0 Q t+1 = S = 0 1 1 1 Q t+1 = S = 0 T 19

Verwendung von Flipflops Flipflops zur Speicherung von 1-Bit-Information bilden die Grundlage für jegliche Art von Schaltwerken angefangen bei einfachen Standardschaltwerken bis hin zu komplexen Mikroprozessoren. Einige Beispiele: Standardschaltwerke für die Digitaltechnik Register mit Binäroperationen Zähler-Bausteine arithmetische Rechenwerke für Addition und Multiplikation... n-bit-speicherbausteine, RAM festverdrahtete serielle Automaten z.b. einfache Ampelsteuerung Muster-Erkenner... physische Realisierung so genannter neuronaler Netze... 20

Register Register bestehen aus einer Folge synchroner (D- oder MS-)Flipflops mit derselben Taktleitung. Aus aus n Flipflops bestehende Register können i. Allg. die folgenden Operationen durchführen: (a) Auf-0-Setzen einzelner/aller Flipflops (b) Auf-1-Setzen einzelner/aller Flipflops (c) Invertieren einzelner/aller Ausgänge der Flipflops (d) Schieben (shift): Rechts-Shift q i := q i-1 (i = 2,..., n) falls zusätzlich q 1 := q n zyklischer Rechts-Shift Links-Shift q i := q i+1 (i = 1,..., n-1) falls zusätzlich q n := q 1 zyklischer Links-Shift e D 1 q D 2 1 q D 3 2 q D n 3 q n = q t 21

Symbole für Shift-Operationen Register: q 1 q 2... q n 1 q n Rechts-Shift Zyklischer Rechts-Shift Links-Shift Zyklischer Links-Shift 22

Sequentieller vs. paralleler Ausgang Serieller Ausgang: Nur der Ausgang q n des n-ten Flipflops wird nach außen geführt und bildet den Ausgang des Registers. e D 1 q D 2 1 q D 3 2 q D n 3 q n = q t Paralleler Ausgang: Alle q i der n Flipflops werden nach außen geführt. e D 1 D 2 D 3 D n t ( q 1 q 2 q 3 q n ) = q 23

Schieberegisteranwendung: Auslesen von lichtempfindlichen Zellen in einem CCD-Element In Digitalkameras, Scannern und auch Faxgeräten wird eine Vorlage über ein optisches System auf eine Zeile (Zeilensensor) von Foto- Dioden oder einen CCD-Sensor (CCD = Charge Coupled Device) abgebildet. Die Abtastung der Vorlage erfolgt damit zeilenweise. Zum Abtastzeitpunkt werden die von den Sensoren gelieferten Spannungswerte (interpretiert als 0 oder 1) in ein Schieberegister übernommen und dort zwischengespeichert. Zeilensensor 24

Schieberegisteranwendung: Auslesen eines CCD-Sensors Ein CCD-Sensor besteht aus einem Raster von lichtempfindlichen Zellen (Pixel). Bei Lichteinfall (Photonen) sammeln die Zellen Elektronen (Ladung). Je mehr Licht oder je länger Licht auf die Zelle fällt, desto größer wird die Ladung (= Zahl der Elektronen), die sich in der Zelle sammelt. Frage: wie kann man ein Gitter aus lichtempfindlichen Zellen zeilenweise auslesen? Antwort: in dem man elektrische Ladungen kontrolliert von einem Lichtsensor in ein Schieberegister wandern lässt 25

Auslesen eines CCD-Elements Mit Hilfe von Schieberegistern können die einzelnen lichtempfindlichen Zellen des Sensorfelds ausgelesen werden. Das Auslesen erfolgt dabei z.b. nach dem Interline-Transfer-Prinzip: 1. Belichten des Sensors über einen definierten Zeitraum (Integration). 2. Verschieben der gesammelten Ladung aller Pixelelemente in die benachbarten vertikalen Ausleseregister. 3. Die Ladungen anschließend zeilenweise in das horizontale Schieberegister bringen. 4. Das horizontale Schieberegister entleeren. 5. Nun die nächste Zeile in das horizontale Schieberegister auslesen. 26

Auslesen eines CCD-Elements (Interline-Transfer Prinzip) Quellen: http://de.wikipedia.org/wiki/charge-coupled_device & J. Platte FH-München 27

Schieberegisteranwendung: Auslesen von lichtempfindlichen Zellen in einem CCD-Element 1 2 3 4 5 6 7 8 8x8 Bild 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 Schieberegister 28

Zählwerke In vielen Anwendungen benötigt man Schaltwerke die Zählaufgaben durchführen können. Prinzip: Gezählt werden die Taktimpulse (t =1) der Taktleitung. Es gibt zwei Typen von Zählwerken: (a) Ein Ausgang, der für eine bestimmte Anzahl m von Takten 1 ist. (b) k Ausgänge (a k-1,..., a 0 ), deren Belegung als Binärzahl interpretiert wird, die von 0 auf 2 (m-1) hochgezählt wird. Solche Zähler heißen k-bit-asynchron-aufwärtszähler. Realisierung Typ (a): Verwende m-bit-schieberegister mit parallelen Ausgängen: e D 1 D 2...... D m t q 1 q 2 Überlegung: Eine 1 am Eingang e benötigt m Takte, um durch das Register zu laufen. q m => solange die 1 durchläuft ist eines der q i = 1 29

Zählwerke Realisierung Typ (a): bei einmaliger "1" am Eingang e ist Ausgang a=1 für genau m Takte. danach Ausgabe a=0 bis zur nächsten Eingabe e=1 Werte t 1 0 e a 1 0 1 0 m-takte Zeit Realisierung mit m-bit Schieberegister mit parallelen Ausgängen Eine 1 an e wandert in m Takten durch das Schieberegister e t D 1 D m q m q 1 q 2 1 & a 30

Realisierung Typ (b): k-bit-asynchron-aufwärtszähler Zählwerk mit k Ausgänge (a k-1,..., a 0 ), deren Belegung als Binärzahl interpretiert wird, die von 0 auf 2 (m-1) hochgezählt wird. Überlegung: beim Hochzählen einer Binärzahl a = (a k-1,..., a 0 ) gilt: Stelle a 0 wechselt bei jedem Schritt (d.h. Takt) ihren Wert => realisierbar mit JK-FF, mit R=S=1 (wird nicht weiter behandelt). Stelle a 1 wechselt bei jedem zweiten Takt ihren Wert Stelle a i wechselt bei jedem 2 i -ten Takt ihren Wert => Gesucht ist Schaltwerk, das in Abhängigkeit zum Taktsignal t folgendes Ausgabeverhalten an den Ausgängen (a k-1,..., a 0 ) erzeugt. t a 0 1 0 1 0 a 1 1 0 a 2 1 0 a 3 1 0 Zeit 31

Sequentieller vs. paralleler Eingang Aufbau zum parallelen Laden von n Bits in ein Schieberegister: Takt t = 0: Registerinhalt bleibt unberührt vom Eingabebus t = 1: Register lädt Daten vom Eingabebus Daten-Bus Laderegister Schieberegister D-FF D-FF D-FF D-FF Ladesteuerung: s = 0: Laderegister und Schieberegister entkoppelt a = 1: Daten werden parallel in Schiebe- Register übernommen. t s D-FF D-FF D-FF D-FF q 32

Speicherbausteine Speicher einer Rechenanlage werden aus vielen elementaren Speicherzellen aufgebaut (z.b. 1GB = 8 10 9 Speicherzellen) Anforderung an elementare Speicherzelle: (a) Ermögliche Einschreiben (Modus: Write). In diesem Modus wird die Belegung (1 oder 0) am Eingang in in die Zelle übernommen. (b) Ermögliche Auslesen (Modus: Read) der gespeicherten Information. In diesem Modus wird der in der Zelle gespeicherte Wert (0 oder 1) an den Ausgang gelegt. (c) Ist über eine Select-Leitung adressierbar. Write oder Read ist nur dann möglich, wenn Speicherzelle ausgewählt (select=1) ist. Blockschaltbild der elementaren Speicherzelle (Binary Cell, BC) in BC select out r / w 33

Aufbau einer elementaren, adressierbaren 1-Bit Speicherzelle select 1 für Baustein auswählen, 0 für Baustein deaktiviert in & S R RS- FF Q & out 1 & 1 s r/w in Q out Bemerkung 1 0 x x 0 x übernehmen 1 1 x q q q am Ausgang 0 y x q 0 deaktiviert r / w (Modusauswahl) r/w = 0 für Einschreiben von in r/w = 1 Inhalt am Ausgang out auslesen 34

Aufbau eines RAM-Bausteins aus BCs In einer Rechenanlage fasst man je 2 k (k = 4, 8, 16, 32, 64,...) BCs zu sog. Maschinenwörtern zusammen. Die Zahl k heißt Länge der Maschinenwörter. Der Speicher einer Rechenanlage besteht aus einer Anzahl n von Maschinenwörtern, von denen jedes über eine eindeutige Adresse angesprochen werden kann. solche Speicher heißen RAM (Random Access Memory) Für die n Adressen benötigt man m = log 2 (n) Adressleitungen. Wird ein Maschinenwort über seine Adresse selektiert, so können je nach Modus mit einem Takt k Bits parallel eingeschrieben oder k Bits parallel ausgelesen werden. Dazu sind k Datenleitungen erforderlich, mit denen die Eingabe- und Ausgabeleitungen der k BCs des Maschinenworts verbunden sind. => man muss zwischen Adressleitungen (Adress-Bus) und Datenleitungen (Datenbus) unterscheiden. Adress- und Datenbus können unterschiedliche Breiten haben, z.b. kann gelten k > m. => ein RAM erhält man aus einer matrix-artigen Anordnung von BCs. 35

Aufbau eines RAM-Bausteins aus BC s Beispiel: RAM bestehend aus 4 Maschinenwörtern der Länge 4. 4 Adressen möglich Adresse Memory select 2:4 Decoder BC BC BC BC Daten-Eingabe BC BC BC BC BC BC BC BC BC BC BC BC 2 2 = 4 Wörter 1 Wort = 1 Adresse r / w 1 1 1 1 Daten-Ausgabe 36

Funktionsprinzip des RAM-Bausteins Daten Auslesen (Read) Daten Einschreiben (Write) 1. Schritt Adresse anlegen 1. Schritt Adresse anlegen 2. Schritt READ-Signal aktivieren 2. Schritt Daten an Datenleitung 3. Schritt Datenausgabe durch Speicherbaustein 3. Schritt WRITE-Signal aktivieren 4. Schritt Dateneingabe in Speicherbaustein Blockschaltbild für größere RAMs 2 m Wörter der Länge k. input data address k m DATA ADR RAM 2 m k k output data Memory select r / w ms RW 37

Aufbau eines realen Speicherbausteins Da die Wortbreite gegenüber der Anzahl der Speicherworte sehr klein ist, würde sich bei der vollständigen Decodierung der Adresse eine ungünstige Topologie des Speichers ergeben. Bei 16-Bit-Adressen würde man einen 16: 65 536 Decoder benötigen. Deshalb teilt man die Adressbits und ordnet die Speicherzellen (bzw. Speicherworte) in einer annähernd quadratischen Matrix an. Der Decoder wird in einen Zeilen- und Spaltendecoder aufgeteilt. RAS/CAS. Row Address Strobe, Column Address Strobe. Durch diese Signale wird Zeile (RAS) und Spalte (CAS) der Speicherzelle im RAM angegeben, die ausgelesen werden soll. RAS Speichermatrix Zeilen-Adressdecoder Spalten-Adressdecoder Dateneingang und Datenausgang CAS Lese-/Schreib- Steuersignale Chip-Select-Signal (Chip Enable) Signal-Verstärker (, ) Spaltenschalter 38

SRAM vs. DRAM und Varianten SRAM: schnelle Schaltzeiten, ca. 8 bis 16 mal schneller als DRAM da kein Refresh notwendig ist teurer als DRAM (pro Bit sind 4-6 Transistoren erforderlich) höherer Stromverbrauch Realisierung sowohl in bipolarer Technologie (TTL, ECL) als auch in MOS-(FET-) Technologie DRAM: hohe Integrationsdichte durch einfachen Aufbau der Speicherzelle. (2004: 553 Millionen Transistoren pro Chip. Schätzung für 2007 ca. 1100, weitere Verdoppelung alle 3 Jahre) billiger als statisches RAM gleicher Kapazität (pro Bit 1-3 Transistoren erforderlich) geringere Leistungsaufnahme komplizierter in der Anwendung (wegen Refresh) Realisierung nur in MOS-Technologie. verschiedene DRAM-Varianten 39

Speicherhierarchie in CPU auf Mainboard Prozessor-Register L1 Cache-Speicher L2 Cache-Speicher L3 Cache-Speicher RAM-Arbeitsspeicher Flashcards / USB Preis/Bit Zugriffszeit Kapazität hoch niedrig niedrig extern/periphär Plattenspeicher Platztausch Magnetband niedrig hoch hoch 40

Vorgehen beim Entwurf einfacher Schaltwerke Zur Modellierung von (kleineren) Schaltwerken mit sequentieller Ablaufstruktur geht man nach folgendem Schema vor: 1. Schritt 2. Schritt sequenziellen Ablauf mit Zuständen und Zustandsübergängen modellieren codieren der Zustände (z.b. als Binärzahlen) 3. Schritt DNFs für Schaltfunktionen f und g aufstellen 4. Schritt Schaltfunktionen minimieren (DMFs für f und g) 5. Schritt 6. Schritt Schaltfunktionen mit Gatter und Speicherelementen realisieren Schaltung austesten 41

Programmierbare Schaltwerke Der Aufbau von Schaltwerken kann bequem mittels sog. Programmable Logic Devices (PLD) erfolgen. PLD s sind die Erweiterung von PLAs um Verzögerungs- und Speicher-Elemente (d.h., Flipflops). zum Üben: Lernprogramm für Schaltwerke: Quelle: Lern-CD zum Buch: Rechnergrundlagen. Von der Binärlogik zum Schaltwerk von Rainer Kelch (HS Augsburg). 42