Statischer Speicher - Schaltsymbol

Ähnliche Dokumente
9 Multiplexer und Code-Umsetzer

Algorithmen II Vorlesung am

a. Flipflop (taktflankengesteuert) Wdh. Signalverläufe beim D-FF

Versuch D3: Busse, Speicher und Ampelsteuerung mit Speicher

A.3. A.3 Spezielle Schaltnetze Prof. Dr. Rainer Manthey Informatik II 1

Statische Timing-Analyse

Übung zur Vorlesung Algorithmische Geometrie

Statische Timing-Analyse

Bericht. Digitallabor. Hochschule Karlsruhe N1. Aufgabe 5.6 Stoppuhr. Teilnehmer: Natalia Springer, Tong Cha. Datum:

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

Systemorientierte Informatik 1

16 Latches und Flipflops (Bistabile Kippstufen)

Integrierte Schaltungen

Abschnitt 18: Effizientes Suchen in Mengen

Einführung in die technische Informatik

Prof. Dr. Heinrich Müller; Dr. Frank Weichert 7. September 2015

Grundbegriffe der Informatik

Vorlesung 4 BETWEENNESS CENTRALITY

Informationsverarbeitung auf Bitebene

Speicherregister/Latches (1) 1

13 Programmierbare Speicher- und Logikbausteine

Algorithmentheorie Maximale Flüsse

Datenstrukturen & Algorithmen Lösungen zu Blatt 6 FS 14

Datenstrukturen & Algorithmen

1. Übung aus Digitaltechnik Aufgabe. Die folgende CMOS-Anordnung weist einen Fehler auf:

Vollständiger Graph. Definition 1.5. Sei G =(V,E) ein Graph. Gilt {v, w} E für alle v, w V,v w, dann heißt G vollständig (complete).

Digital Design Entwicklung der DRAMs. Richard Roth / FB Informatik und Mathematik Speicher 1

Integrierte Schaltungen

Binary Decision Diagrams (Einführung)

WS 2009/10. Diskrete Strukturen

Matrixbildung mit Speicherzellen Zugriff über Multiplexer und Demultiplexer

Musterlösungen. zu den Übungsaufgaben vom

Alle bislang betrachteten Sortieralgorithmen hatten (worst-case) Laufzeit Ω(nlog(n)).

Test integrierter Schaltungen

GAL 16V8. 4. Laboreinheit - Hardwarepraktikum SS 2002 VCC / +5V. Eingang / Clock. 8 konfigurierbare Ausgangszellen. 8 Eingänge GND / 0V.

2. Berechnungsmächtigkeit von Zellularautomaten. Ziele Simulation von Schaltwerken Simulation von Turingmaschinen

2.2 Rechnerorganisation: Aufbau und Funktionsweise

Klausur Informatik-Propädeutikum (Niedermeier/Hartung/Nichterlein, Wintersemester 2012/13)

Grundbegriffe der Informatik

Kapitel 4: Minimal spannende Bäume Gliederung der Vorlesung

Flipflops. asynchron: Q t Q t+t

Theoretische Informatik 1 WS 2007/2008. Prof. Dr. Rainer Lütticke

Kapitel 4: Minimale spannende Bäume Gliederung der Vorlesung

2.5.1 Das Basis-Flipflop

Speicherung digitaler Signale

Rechnerstrukturen Winter WICHTIGE SCHALTNETZE. (c) Peter Sturm, University of Trier 1

t r Lineare Codierung von Binärbbäumen (Wörter über dem Alphabet {, }) Beispiel code( ) = code(, t l, t r ) = code(t l ) code(t r )

Das Briefträgerproblem

3 Arithmetische Schaltungen

9 Flipflops (FF) Basis-FF. (Auffang-FF, Latch) praxis verstehen chancen erkennen zukunft gestalten 9-1

Grundlagen der Digitaltechnik GD. Aufgaben und Musterlösungen

Computersysteme. 2. Grundlagen Digitaler Schaltungen 2.15 Fan-In und Fan-Out 2.16 Standard-Schaltnetze

Labor Grundlagen der Elektrotechnik

Digitaltechnik. 6 Speicherelemente. Revision 1.4

Wintersemester 2001/2002. Hardwarepraktikum. Versuch 4: Sequentielle Systeme 1. - Toralf Zemlin - Swen Steinmann - Sebastian Neubert

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

a) Wie viele ROM-Bausteine benötigen Sie für den Aufbau des 64x16 ROMs? c) Wie viele Bytes Daten können im 64x16 ROM insgesamt gespeichert werden?

Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume?

23. November Betweenness Centrality Closeness Centrality. H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 108

Übung Algorithmen I

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

Getaktete Schaltungen

zugehöriger Text bei Oberschelp/Vossen:

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

2.11 Kontextfreie Grammatiken und Parsebäume

15 Optimales Kodieren

Serielle Kommunikation mit dem Arduino. Teil 1: Das Serial Peripheral Interface (SPI)

2 i. i=0. und beweisen Sie mittels eines geeigneten Verfahrens die Korrektheit der geschlossenen Form.

SMP Übung 2 1. Aufgabe

Binäre Suchbäume. Mengen, Funktionalität, Binäre Suchbäume, Heaps, Treaps

Wiederholung zu Flüssen

Suchen und Sortieren Sortieren. Heaps

Schaltwerke Schaltwerk

Grundlagen der Informationverarbeitung

Halbleiterspeicher. Halbleiterspeicher Michael Kuhfahl 1

Tietze, Schenk: Halbleiterschaltungstechnik (Kap. 10) Keller / Paul: Hardwaredesign (Kap. 5) L. Borucki: Digitaltechnik (Kap.

3.1 Konstruktion von minimalen Spannbäumen Es gibt zwei Prinzipien für die Konstruktion von minimalen Spannbäumen (Tarjan): blaue Regel rote Regel

6.0 Speicherelemente, Flip-Flops, sequentielle Schaltungen

Felix Brandt, Jan Johannsen. Vorlesung im Wintersemester 2008/09

13. Binäre Suchbäume

Einführung in die technische Informatik

Literatur. Dominating Set (DS) Dominating Sets in Sensornetzen. Problem Minimum Dominating Set (MDS)

Prozess-rechner. auch im Büro. Automation und Prozessrechentechnik. Prozessrechner. Sommersemester Prozess I/O. zu und von anderen Rechnern

Klausur Algorithmen und Datenstrukturen

Graphentheorie. Eulersche Graphen. Eulersche Graphen. Eulersche Graphen. Rainer Schrader. 14. November Gliederung.

TINA. Teach-In Applikationssoftware. LinMot. Tel: Fax; office@linmot.com Internet:

Referat zum Thema Huffman-Codes

Lernziele: Ausgleichstechniken für binäre Bäume verstehen und einsetzen können.

Algorithmen und Datenstrukturen in der Bioinformatik Viertes Übungsblatt WS 05/06 Musterlösung

Integrierte Schaltungen

GTI ÜBUNG 10 FLIPFLOPS UND AUTOMATEN

Versuch 3: Sequenzielle Logik

8 Diskrete Optimierung

4 Greedy-Algorithmen (gierige Algorithmen)

3.1.1 Die Variante T1 und ein Entscheidungsverfahren für die Aussagenlogik

Übungen zu Architektur Eingebetteter Systeme. Teil 1: Grundlagen. Blatt 5 1.1: VHDL 28./

Theoretische Informatik SS 03 Übung 3

Dank. 1 Ableitungsbäume. 2 Umformung von Grammatiken. 3 Normalformen. 4 Pumping-Lemma für kontextfreie Sprachen. 5 Pushdown-Automaten (PDAs)

Transkript:

12.3 SRAM Bernd Becker Technische Informatik II Statischer Speicher - Schaltsymbol SRAM A n D out W D in BB TI II 12.3/2 1

Ein N-Bit SRAM Sei n N, N = 2 n Ein N-Bit statischer Speicher oder SRAM (static random access memory) hat:! n Eingänge A = (A n-1,..., A 0 ) Adresse! Dateneingang D in, Datenausgang D out! Kontrollsignal W write BB TI II 12.3/3 N-Bit SRAM (ff)! Der Speicher enthält N Speicherzellen L 0,..., L N-1, die je ein Bit speichern können.! Zelle L <A> wird mit Hilfe der Adresse A ausgewählt. An D out erscheint der Inhalt von L <A>. Durch Schreibpuls an W wird D in nach L <A> übernommen. BB TI II 12.3/4 2

N-Bit SRAM (ff)! EinN s SRAM besteht aus s N-Bit SRAMs mit gemeinsamen Adress- und Schreibsignalen.! s heißt Bitbreite des N s SRAMs! Ein SRAM besteht im Prinzip aus 3 Hilfsschaltkreisen 1. mehrfaches OR 2. Treiberbäume 3. Dekodierer BB TI II 12.3/5 Schaltbild eines SRAMs: Details werden jetzt entwickelt! W D in F N F N Y 0 G 0 N N D-Latch D Q D Q i G i n A D W n O N D out W i W Y i Y N-1 G N-1 3

Mehrfaches OR Ein N-faches OR O N mit N = 2 n ist ein Schaltkreis, der N-faches Oder berechnet. O 2 = " balancierter Baum BB TI II 12.3/7 Mehrfaches OR (ff) X 0 X 0 X 1 O N/2 X N/2-1 O N = X N/2 X N-1 O N/2 X N-1 Verzögerungszeit ρ(n) von O N : 3.0 n ρ(n) 6.6 n OR min max t PLH 3.0 6.6 t PHL 3.0 6.3 4

Treiberbäume Ein Treiber ist ein Gatter mit einem Eingang X und einem Ausgang Y, das die Identität Y = X berechnet. Symbol: X Y BB TI II 12.3/9 Verzögerungszeiten bei Treibern Es gelten folgende Verzögerungszeiten für Treiber (74F244): min max t PLH 2.5 6.2 t PHL 2.5 6.5 BB TI II 12.3/10 5

Zweck von Treibern Zweck: Überwinden von Fanout-Beschränkungen Beispiel: Fanout- Beschränkung = 3 " Wir betrachten Fanout-Beschränkungen 10 und konstruieren deshalb Bäume mit Verzweigungsgrad 10. Beachte: Hier versteht man unter einem Baum einen (In-)Baum, d.h. einen azyklischen Graphen G = (V, E) mit! genau einer Quelle w und indeg(v) = 1 für alle v V \ {w}! Blätter = Knoten v V mit outdeg(v) = 0! innere Knoten = Knoten v V mit outdeg(v) 1 (Kantenrichtung umgekehrt wie (out-)baum!!) BB TI II 12.3/12 6

Bemerkung Für Baum B sei L(B) = Anzahl der Blätter I(B) = Anzahl innerer Knoten BB TI II 12.3/13 Betrachte 10-näre Bäume B 0 : B 1 :... 10 B s :... B s-1 B s-1 10 Stück BB TI II 12.3/14 7

Betrachte 10-äre Bäume (ff) s L(B ) = 10 s I(B ) = s s 1 i= 0 i 10 s 10 1 = 10 1 < L(B s) 9 " Benutze B s zum x-fachen Vervielfältigen eines Signals mit x = 10 s. Innere Knoten des Baumes werden durch Treiber ersetzt " Treiberbaum mit Fanoutbeschränkung 10 BB TI II 12.3/15 Mögliches Problem Ist x mit 10 s-1 < x < 10 s keine Zehnerpotenz, so konstruiere einen Baum T(x, s), der x Blätter hat und bei dem alle Pfade von der Wurzel zu einem Blatt Länge s haben. Idee: Fülle Bäume von links her 10-är auf und sorge zusätzlich für gleiche Tiefe der Blätter! (Beispiel dazu in der Vorlesung) BB TI II 12.3/16 8

Lemma 12.2 s N und x [1,..., 10 s ] gibt es einen Baum T(x, s) mit Ausgangsgrad 10 an jedem inneren Knoten und den folgenden Eigenschaften: 1. T(x, s) hat x Blätter x 2. I (T(x, s)) + s 9 3. Alle Pfade von der Wurzel zu einem Blatt haben Länge s. Beweis: Induktion über s " Übungen BB TI II 12.3/17 Verzögerungszeit bei Treiberbäumen! Für x N betrachte λ(x) = log 10 x und konstruiere T(x, λ(x)). log x! Wegen log 10 x = und 3 < log10 < 4 log10 1 1 log x < λ(x) < log x + 1 ( ) 4 3 BB TI II 12.3/18 9

Verzögerungszeit bei Treiberbäumen (ff)! Ersetze in T(x, λ(x)) jeden inneren Knoten durch Treiber " Schaltkreis F x mit 1 Eingang und x Ausgängen. Symbol: F x x " Verzögerungszeit τ(x) von F x : 2.5 λ(x) τ(x) 6.5 λ(x) und wegen ( ) 0.625 log x τ(x) < 2.2 log x + 6.5 min max t PLH 2.5 6.2 t PHL 2.5 6.5 BB TI II 12.3/19 Verzögerungszeit bei Treiberbäumen (ff)! Invertierender Treiberbaum /F x : Ersetze in F x Treiber an der Wurzel durch Inverter " Gegenüber F x minimale Verzögerungszeit um 1 ns geringer, maximale Verzögerungszeit um 0.5 ns. Symbol: /F x x BB TI II 12.3/20 10

Definition Sei n N, N = 2 n. Ein n-bit-dekodierer D n ist ein Schaltkreis, der die Funktion d: B n B N berechnet, wobei gilt: 1, falls < a >= i d i (a) = i = 0,..., N - 1 0, sonst ( d i (a) ist Bit i des N-Tupels d(a). ) BB TI II 12.3/21 Dekodierer - Konstruktionsidee Baue D n rekursiv aus D n-1 und Zusatzlogik. d 0 a 0 D 1 = d 1 a 0 d 0 d 1 a 0 d 0... D n... = (siehe nächste Folie) a n-1 d N-1 BB TI II 12.3/22 11

n-bit-dekodierer d 0 a 0 d 0 D n-1 d i /F N/2 N/2 d i a n-2 d N/2-1 d N/2-1 a n-1 N/2 F N/2 d N/2 d N/2+i d N-1 Verzögerungszeit beim Dekodierer Obere Abschätzung für Verzögerungszeit δ(n) von D n : δ(1) 6.0, δ(2) 6.6 + max{ 6.0, τ(2) } 2 6.6 δ(n) 6.6 + max{ δ(n-1), τ(2 n-1 ) } 6.6 + max{ δ(n-1), 2.2(n-1) + 6.5 } Durch Induktion folgt: δ(n) 6.6 n 6.6(n-1) nach I.V. BB TI II 12.3/24 12

Aufbau eines SRAM W D in A n SRAM D out Das SRAM besteht aus N = 2 n D-Latches L 0,..., L N-1. BB TI II 12.3/25 Schreib- und Lese-Vorgang Lesen: An D out soll der Inhalt von L <A> ausgegeben werden. Schreiben: Bei Schreibpuls W soll D in nach L <A> übernommen werden. BB TI II 12.3/26 13

Schaltbild eines SRAMs W D in F N F N Y 0 G 0 N N D-Latch D Q D Q i G i n A D W n O N D out W i W Y i Y N-1 G N-1 Bemerkungen zur Schaltung! Die vorige Schaltung realisiert ein SRAM funktionell.! Timing-Analyse nötig, um zu klären, wie lange jeweilige Signale anliegen müssen für zeitlich korrektes Verhalten. BB TI II 12.3/28 14

Timing-Analyse für Lesezugriff A Y i G i D out 0 6.6n 2.5 6.6(n+1) 3n+2.5 6.6(2n+1) 0 t acc t Timing-Analyse für Lesezugriff (ff) Adresse stabil bei t = 0. " Y i stabil zur Zeit t 1 = δ(n) = ( 0, 6.6n ) Decoder W D in F N F N Y 0 G N N 0 D-Latch D D Q Q i G n i A D W n O N D out W i W Y i Y N-1 G N-1 BB TI II 12.3/30 15

Timing-Analyse für Lesezugriff A Y i 0 6.6n 0 t Timing-Analyse für Lesezugriff (ff) Adresse stabil bei t = 0. " Y i stabil zur Zeit t 1 = δ(n) = ( 0, 6.6n ) Decoder " G i stabil zur Zeit t 2 = t 1 + ( 2.5, 6.6 ) AND = ( 2.5, 6.6(n+1) ) W D in F N F N Y 0 N N G 0 D D-Latch D Q Q i n G i A D n W O D N ou W i W t Y i Y N-1 G N- 1 BB TI II 12.3/32 16

Timing-Analyse für Lesezugriff A 0 6.6n Y i 2.5 6.6(n+1) G i 0 t Timing-Analyse für Lesezugriff (ff) Adresse stabil bei t = 0. " Y i stabil zur Zeit t 1 = δ(n) = ( 0, 6.6n ) Decoder " G i stabil zur Zeit t 2 = t 1 + ( 2.5, 6.6 ) AND = ( 2.5, 6.6(n+1) ) " D out stabil zur Zeit t acc?? BB TI II 12.3/34 17

Schaltbild eines SRAMs W D in F N F N Y 0 G 0 N N D-Latch D Q D Q i G i n A D W n O N D out W i W Y i Y N-1 G N-1 Timing-Analyse für Lesezugriff (ff) Adresse stabil bei t = 0. " Y i stabil zur Zeit t 1 = δ(n) = ( 0, 6.6n ) Decoder " G i stabil zur Zeit t 2 = t 1 + ( 2.5, 6.6 ) AND = ( 2.5, 6.6(n+1) ) " D out stabil zur Zeit t acc = t 2 + ρ(n) OR-Baum = ( 3n+2.5, 6.6(2n+1) ) t acc = Lesezugriffszeit BB TI II 12.3/36 18

Timing-Analyse für Lesezugriff A 0 6.6n Y i 2.5 6.6(n+1) G i D out 3n+2.5 6.6(2n+1) 0 t acc t Timing-Analyse für Schreibzugriff Der Schreibzugriff basiert auf folgenden Parametern:! Das Schreibsignal W wird von 0 bis w aktiviert BB TI II 12.3/38 19

Timing-Diagramm W 0 w t Timing-Analyse für Schreibzugriff Der Schreibzugriff basiert auf folgenden Parametern:! Das Schreibsignal W wird von 0 bis w aktiviert! Adressen werden stabil gehalten von t SAW bis Zeit w + t HWA BB TI II 12.3/40 20

Timing-Diagramm A W t SAW t HWA 0 w t Timing-Analyse für Schreibzugriff Der Schreibzugriff basiert auf folgenden Parametern:! Das Schreibsignal W wird von 0 bis w aktiviert! Adressen werden stabil gehalten von t SAW bis Zeit w + t HWA! D in wird stabil gehalten von t SDW bis w + t HWD BB TI II 12.3/42 21

Timing-Diagramm A W t SAW t HWA D in t SDW t HWD 0 w t Timing-Analyse für Schreibzugriff Der Schreibzugriff basiert auf folgenden Parametern:! Das Schreibsignal W wird von 0 bis w aktiviert! Adressen werden stabil gehalten von t SAW bis Zeit w + t HWA! D in wird stabil gehalten von t SDW bis w + t HWD! Die neuen Daten sind zur Zeit t PWD an D out beobachtbar BB TI II 12.3/44 22

Timing-Diagramm A W t SAW t HWA D in t SDW t HWD t PWD D out 0 w t Symbole und Bezeichnungen Symbol Bezeichnung min max w Schreibpulsweite 1.575n + 35.8 I. t SAW Setup-Zeit von A bis W 5.975n + 11.3 II. t HWA Hold-Zeit von A nach W 2.2n + 17.8 II. t SDW Setup-Zeit von D bis W 1.575n + 19.8 III. t HWD Hold-Zeit von D nach W 1.575n + 23.8 IV. t PWD Verzögerungszeit von W bis D 3.625n + 9.4 8.8n + 36.6 23

Korrektheit Man kann zeigen, dass der Schreibzyklus mit den gegebenen Parameterwerten gelingt. Beweis: " Übungen Analoge Zeiten werden für den Betrieb von anderen SRAMs angegeben. (siehe auch Datenblatt) BB TI II 12.3/47 Bemerkung zum Korrektheitsbeweis (1): Schaltbild eines SRAMs W D in F N F N Y 0 G 0 N N D-Latch D Q D Q i G i n A D W n O N D out W i W Y i Y N-1 G N-1 24

Bemerkung zum Korrektheitsbeweis (2): I. Schreibpulsweite für D-Latch muss ausreichend sein. II. Auf Signalen W i (individuelle Schreibsignale) dürfen keine Spikes entstehen. III. Setup-Zeiten der D-Latches sind zu erfüllen. IV. Hold-Zeiten der D-Latches sind zu erfüllen. BB TI II 12.3/49 Bemerkung zum Korrektheitsbeweis (3): Timing-Diagramm A W W t SAW t 1 t 6 t 2 Y i t 5 t 7 W i t SDW t HWD D in t 3 t 9 D Q i t 12 t PWD t HWA D out 0 w t 25

Zum Schluss von 12.3: Tristate-Treiber und Busse Tristate-Treiber sind Treiber mit Eingangssignal X und zusätzlichem Signal /OE, dem Output Enable Signal Schaltsymbol: X Y /OE BB TI II 12.3/51 Tristate-Treiber (ff) Am Ausgang Y erscheint X, Y = Z, falls /OE = 0 falls /OE = 1 Z bezeichnet einen Zustand hoher Impedanz (high Z, Z) BB TI II 12.3/52 26

Tristate-Treiber (ff) Ein Tristate-Treiber, dessen Ausgang mit Leitung l verbunden ist und sich im Zustand Z befindet, verhält sich so, als sei die Verbindung zu l unterbrochen! Man sagt: Der Treiber ist disabled. (Gegensatz: enabled) BB TI II 12.3/53 n-bit-treiber n Treiber mit gemeinsamen /OE sind n-bit-treiber Beispiel: 74F244 enthält 2 4-Bit-Treiber Im Gegensatz zu Ausgängen üblicher Gatter kann man Ausgänge von Tristate-Treibern zusammenschalten. Man muss dafür sorgen, dass zu jeder Zeit höchstens ein Treiber enabled ist. BB TI II 12.3/54 27

Busse Ein Bus ist eine Leitung, die mehrere Treiberausgänge verbindet. /OE 1... /OE k Bus n-bit breiter Bus = n-bit Treiber mit n Leitungen verbunden BB TI II 12.3/55 Zeitverhalten von Tristate-Treibern Enable-Zeit t PZX = Zeit vom Aktivieren von /OE bis zum Durchschalten Disable-Zeit t PXZ = Zeit vom Deaktivieren von /OE bis zum Isolieren des Ausgangs BB TI II 12.3/56 28

Zeitangaben zu Treibern Treiber 74F244 min max t PZL Enable-Zeiten 2.0 8.0 t PZH Enable-Zeiten 2.0 6.7 t PLZ Disable-Zeiten 2.0 7.0 t PHZ Disable-Zeiten 2.0 7.0 t PLH Umschaltverzögerung bei /OE = 0 2.5 6.2 t PHL Umschaltverzögerung bei /OE = 0 2.5 6.5 BB TI II 12.3/57 Vergleich: Bus vs. Mux k Tristate-Treiber, die durch einen Bus verbunden sind, wirken ähnlich wie ein k-fach-multiplexer. Vorteile Bus gegenüber Multiplexer:! leicht erweiterbar (siehe Bus im PC mit Steckkarten)! Datentransport in verschiedene Richtungen zu verschiedenen Zeiten BB TI II 12.3/58 29

Problem Vermeidung von Bus Contention d.h. nie 2 Treiber auf einem Bus gleichzeitig enablen!! BB TI II 12.3/59 Beispiel zur Verwendung SRAM mit gemeinsamem Dateneingang und ausgang: A D in /DOE 2 W D out /DOE 1 Bus BB TI II 12.3/60 30