Technische Grundlagen der Informatik – Kapitel 5

vlsi.informatik.tu.darmstadt.de

Technische Grundlagen der Informatik – Kapitel 5

Technische Grundlagen

der InformatikKapitel 5

Prof. Dr. Sorin A. Huss

Fachbereich Informatik

TU Darmstadt


Kapitel 5: Themen

• Speicherarchitekturen

• RAM-, ROM-Speicher

• Flash-Speicher

• Logikimplementierung mittels Speicherfeldern

• Logikfelder PLD und FPGA

• Entwurfsablauf für FPGAs

WS 10/11 | Technische Grundlagen der Informatik - Kapitel 5 - Prof. Sorin A. Huss | 2


Speicherfelder

• Können effizient größere Datenmengen speichern

• Drei weitverbreitete Typen:

• Dynamischer Speicher mit wahlfreiem Zugriff

• (Dynamic random access memory, DRAM)

• Statischer Speicher mit wahlfreiem Zugriff

• (Static random access memory, SRAM)

• Nur-Lesespeicher (Read only memory, ROM)

• An jede N-bit Adresse kann ein M-bit breites Datum geschrieben werden

Adresse

N

Feld

M

Daten

WS 10/11 | Technische Grundlagen der Informatik - Kapitel 5 - Prof. Sorin A. Huss | 3


Speicherfelder

• Zweidimensionales Feld von Bit-Zellen

• Jede Bit-Zelle speichert ein Bit

• Feld mit N Adressbits und M Datenbits:

• 2 N Zeilen und M Spalten

• Tiefe: Anzahl von Zeilen (Anzahl von Worten)

• Breite: Anzahl von Spalten (Bitbreite eines Wortes)

• Feldgröße: Tiefe × Breite = 2 N × M

Adresse

Daten

Adresse

N

Feld

Adresse

2

Feld

11

10

01

0 1 0

1 0 0

1 1 0

Tiefe

M

3

00

0 1 1

Daten

Daten

Breite

WS 10/11 | Technische Grundlagen der Informatik - Kapitel 5 - Prof. Sorin A. Huss | 4


Beispiel: Speicherfeld

• 2 2 × 3-Bit Feld

• Anzahl Worte: 4

• Wortbreite: 3-Bit

• Beispiel: 3-Bit gespeichert an Adresse 2’b10 ist 3’b100

Beispiel:

Adresse Daten

Adresse

2

Feld

11

10

01

0 1 0

1 0 0

1 1 0

Tiefe

3

00

0 1 1

Daten

Breite

WS 10/11 | Technische Grundlagen der Informatik - Kapitel 5 - Prof. Sorin A. Huss | 5


Speicherfelder

Adresse

10

1024-Wort x

32-bit

Feld

32

Daten

WS 10/11 | Technische Grundlagen der Informatik - Kapitel 5 - Prof. Sorin A. Huss | 6


Bit-Zellen für Speicherfelder

Beispiel:

wordline

stored

bit

bitline

bitline =

bitline =

wordline = 1

stored

bit = 0

wordline = 0

stored

bit = 0

bitline =

bitline =

wordline = 1

stored

bit = 1

wordline = 0

stored

bit = 1

(a)

(b)

WS 10/11 | Technische Grundlagen der Informatik - Kapitel 5 - Prof. Sorin A. Huss | 7


Aufbau von Speicherfeldern aus Bit-Zellen

Beispiel:

wordline

stored

bit

bitline

wordline = 1

stored

bit = 0

bitline = 0

wordline = 0

stored

bit = 0

bitline =

Z

wordline = 1

stored

bit = 1

bitline =

1

wordline = 0

stored

bit = 1

bitline =

Z

(a)

(b)

WS 10/11 | Technische Grundlagen der Informatik - Kapitel 5 - Prof. Sorin A. Huss | 8


Aufbau von Speicherfeldern

• Wordline:

• Vergleichbar mit Enable-Signal

• Erlaubt Zugriff auf eine Zeile des Speichers zum Lesen oder Schreiben

• Entspricht genau einer eindeutigen Adresse

• Maximal eine Wordline ist zu jedem Zeitpunkt HIGH

2:4

Decoder

bitline 2

bitline 1

bitline 0

11

wordline 3

Adresse

2

stored

bit = 0

stored

bit = 1

stored

bit = 0

10

wordline 2

01

wordline 1

stored

bit = 1

stored

bit = 0

stored

bit = 0

stored

bit = 1

stored

bit = 1

stored

bit = 0

00

wordline 0

stored

bit = 0

stored

bit = 1

stored

bit = 1

WS 10/11 | Technische Grundlagen der Informatik - Kapitel 5 - Prof. Sorin A. Huss | 9

Data 2

Data 1

Data 0


Arten von Speicher: Historische Sicht

• Speicher mit wahlfreiem Zugriff (RAM)

• Nur-Lese Speicher (ROM)

WS 10/11 | Technische Grundlagen der Informatik - Kapitel 5 - Prof. Sorin A. Huss | 10


RAM: Random-Access Memory

• Flüchtig: Speicherinhalte gehen bei Verlust der Betriebsspannung

verloren

• Kann i.d.R. gleich schnell gelesen und geschrieben werden

• Zugriff auf beliebige Adressen mit ähnlicher Verzögerung möglich

• Hauptspeicher moderner Computer ist dynamisches RAM (DRAM)

• Aktuell & genauer: DDR3-SDRAM

• Double Data Rate 3 - Synchronous Dynamic Random Access Memory

• Name „RAM“ ist historisch gewachsen

• Früher unterschiedliche Zugriffszeiten auf unterschiedliche Adressen

• Bandspeicher, Trommelspeicher, Ultraschall-Laufzeitspeicher, …

WS 10/11 | Technische Grundlagen der Informatik - Kapitel 5 - Prof. Sorin A. Huss | 11


ROM: Read-Only Memory

• Nicht-flüchtig: Erhält Speicherinhalt auch ohne Betriebsspannung

• Schnell lesbar

• Schreibbar nur sehr langsam (wenn überhaupt)

• Flash-Speicher ist in diesem Sinne ein ROM

• Kameras

• Handys

• MP3-Player

• Auch hier Nomenklatur „ROM“ historisch

• Auch aus ROMs kann von beliebigen Adressen gelesen werden

• Es gibt auch schreibbare Arten von ROMs

• PROMs, EPROMs, EEPROMs, Flash

WS 10/11 | Technische Grundlagen der Informatik - Kapitel 5 - Prof. Sorin A. Huss | 12


Arten von RAM

• Zwei wesentliche Typen:

• Dynamisches RAM (DRAM)

• Statisches RAM (SRAM)

• Verwenden unterschiedliche Speichertechniken in den Bit-Zellen:

• DRAM: Kondensator

• SRAM: Kreuzgekoppelte Inverter

WS 10/11 | Technische Grundlagen der Informatik - Kapitel 5 - Prof. Sorin A. Huss | 13


Robert Dennard, 1932 -

• Erfand 1966 bei IBM das DRAM

• Anfangs große Skepsis, ob diese

Technik praktikabel sei

• Seit Mitte der 1970er Jahre ist

DRAM die am weitesten

verbreitete Speichertechnik in

Computern

WS 10/11 | Technische Grundlagen der Informatik - Kapitel 5 - Prof. Sorin A. Huss | 14


DRAM Bit-Zelle

• Datenbit wird als Ladezustand eines Kondensators gespeichert

• Dynamisch: Der Speicherwert muss periodisch neu geschrieben werden

• Auffrischung alle paar Millisekunden erforderlich (üblich: 64ms)

• Kondensator verliert Ladung durch Leckströme

• … und beim Auslesen

wordline

stored

bit

bitline

wordline

stored

bit

bitline

WS 10/11 | Technische Grundlagen der Informatik - Kapitel 5 - Prof. Sorin A. Huss | 15


DRAM Bit-Zelle

bitline

bitline

wordline

gespeicherter

Wert = 1

+ +

wordline

gespeicherter

Wert = 0

WS 10/11 | Technische Grundlagen der Informatik - Kapitel 5 - Prof. Sorin A. Huss | 16


SRAM Bit-Zelle

• Datenbit wird als Zustand von

rückgekoppelten Invertern gespeichert

bitline

• Statisch: Keine Auffrischung

erforderlich

• Inverter treiben Werte auf gültige

Logikpegel

wordline

stored

bit

wordline

bitline

bitline

WS 10/11 | Technische Grundlagen der Informatik - Kapitel 5 - Prof. Sorin A. Huss | 17


Speicherfelder

2:4

Decoder

bitline 2

bitline 1

bitline 0

Adresse

2

11

10

01

00

wordline 3

wordline 2

wordline 1

wordline 0

stored

bit = 0

stored

bit = 1

stored

bit = 1

stored

bit = 0

stored

bit = 1

stored

bit = 0

stored

bit = 1

stored

bit = 1

stored

bit = 0

stored

bit = 0

stored

bit = 0

stored

bit = 1

Data 2

Data 1

Data 0

DRAM Bit-Zelle:

bitline

wordline

SRAM Bit-Zelle:

wordline

bitline

bitline

WS 10/11 | Technische Grundlagen der Informatik - Kapitel 5 - Prof. Sorin A. Huss | 18


ROMs: Aufbau der Bit-Zellen

2:4

Decoder

11

wordline

bitline

Adresse

2

10

=

Bit-Zelle

speichert 0

01

bitline

00

Data2

Data1

Data0

=

wordline

Bit-Zelle

speichert 1

Bitlines sind schwach auf HIGH getrieben

WS 10/11 | Technische Grundlagen der Informatik - Kapitel 5 - Prof. Sorin A. Huss | 19


Fujio Masuoka, 1944-

• Entwickelte Speicher und schnelle Schaltungen

bei Toshiba von 1971-1994

• Erfand Flash-Speicher als eigenes

ungenehmigtes Projekt in den späten 1970ern

• An Wochenenden und abends…

• Löschvorgang erinnerte ihn an Kamerablitz

• Deshalb Flash-Speicher!

• Toshiba kommerzialisierte Technik nur

zögerlich

• Erste kommerzielle Chips von Intel in 1988

• Flash-Produkte haben großen Erfolg

• Derzeit USD 25 Milliarden Umsatz / Jahr

WS 10/11 | Technische Grundlagen der Informatik - Kapitel 5 - Prof. Sorin A. Huss | 20


Flash-Speicher: Bit-Zelle

Quelle:Wikipedia

WS 10/11 | Technische Grundlagen der Informatik - Kapitel 5 - Prof. Sorin A. Huss | 21


ROMs als Datenspeicher

Adresse

2

2:4

Decoder

11

10

01

Adresse

11

10

01

Daten

0 1 0

1 0 0

1 1 0

Tiefe

00

00

0 1 1

Data 2

Data 1

Data 0

Breite

WS 10/11 | Technische Grundlagen der Informatik - Kapitel 5 - Prof. Sorin A. Huss | 22


ROMs als Wertetabellen für boolesche Logik

Adresse

2

2:4

Decoder

11

10

Data 2 = A 1 A 0

Data 1 = A 1 + A 0

01

Data 0 = A 1 A 0

00

Data 2

Data 1

Data 0

WS 10/11 | Technische Grundlagen der Informatik - Kapitel 5 - Prof. Sorin A. Huss | 23


Beispiel: Logik aus ROMs

• Implementierung der folgenden logischen Funktionen durch 2 2 × 3-bit ROM:

• X = AB

• Y = A + B

• Z = AB

Adresse

2

2:4

Decoder

11

10

01

00

Data 2

Data 1

Data 0

WS 10/11 | Technische Grundlagen der Informatik - Kapitel 5 - Prof. Sorin A. Huss | 24


Beispiel: Logik aus ROMs

• Implementierung der folgenden logischen Funktionen durch 2 2 × 3-bit ROM:

• X = AB

• Y = A + B

• Z = AB

A, B

2

2:4

Decoder

11

10

01

00

X

Y

Z

WS 10/11 | Technische Grundlagen der Informatik - Kapitel 5 - Prof. Sorin A. Huss | 25


Logik aus beliebigem Speicherfeld

2:4

Decoder

11

wordline 3

2

Adresse

wordline

10

2

wordline 1

01

wordline

00

0

Data 2 = A 1 A 0

Data 1 = A 1 + A 0

Data 0 = A 1 A 0

stored

bit = 0

stored

bit = 1

stored

bit = 1

stored

bit = 0

bitline 2

bitline 1

bitline 0

stored

bit = 1

stored

bit = 0

stored

bit = 1

stored

bit = 1

stored

bit = 0

stored

bit = 0

stored

bit = 0

stored

bit = 1

Data 2

Data 1

Data 0

WS 10/11 | Technische Grundlagen der Informatik - Kapitel 5 - Prof. Sorin A. Huss | 26


Logik aus beliebigem Speicherfeld

• Implementierung der folgenden logischen Funktionen durch 2 2 × 3-bit RAM:

• X = AB

• Y = A + B

• Z = AB

2:4

Decoder

bitline 2

bitline 1

bitline 0

11

wordline 3

A, B

2

10

wordline 2

stored

bit = 1

stored

bit = 1

stored

bit = 0

01

wordline 1

stored

bit = 0

stored

bit = 1

stored

bit = 1

stored

bit = 0

stored

bit = 1

stored

bit = 0

00

wordline 0

stored

bit = 0

stored

bit = 0

stored

bit = 0

Andere Funktion nur durch Ändern der Speicherinhalte

X Y Z

WS 10/11 | Technische Grundlagen der Informatik - Kapitel 5 - Prof. Sorin A. Huss | 27


Logik aus beliebigen Speicherfeldern

• Speicherfelder speichern Wertetabellen

• Lookup-Tables (LUTs)

4-Wort x 1-bit Speicherfeld

• Wort aus Eingangsvariablen bildet Adresse

• Für jede Kombination von Eingangsvariablen

ist Funktionsergebnis abgespeichert

Wertetabelle

A B Y

0 0 0

0 1 0

1 0 0

1 1 1

A

B

2:4

Decoder

00

A 1

A 0

01

10

11

stored

bit = 0

stored

bit = 0

stored

bit = 0

stored

bit = 1

bitline

Y

WS 10/11 | Technische Grundlagen der Informatik - Kapitel 5 - Prof. Sorin A. Huss | 28


Multi-Port-Speicher

• Port: Zusammengehörige Anschlüsse für Adresse und Datum

• Drei-Port Speicher

• 2 Lese-Ports (A1/RD1, A2/RD2)

• 1 Schreib-Port (A3/WD3, Signal WE3 löst Schreiben aus)

• Kleine Multi-Port-Speicher werden als Registerfelder bezeichnet

• Werden z.B. in Prozessoren eingesetzt

CLK

N

N

A1

A2

WE3

RD1

RD2

M

M

N

M

A3

WD3

Array

WS 10/11 | Technische Grundlagen der Informatik - Kapitel 5 - Prof. Sorin A. Huss | 29


Speicherfeld in VHDL

-- 256 x 3b Speicher mit einem Schreib/Lese-Port

library IEEE; use IEEE.STD_LOGIC_1164.all;

use IEEE.STD_LOGIC_UNSIGNED.all;

entity dmem is

port(clk, we: in STD_LOGIC;

a: in STD_LOGIC_VECTOR(7 downto 0);

di: in STD_LOGIC_VECTOR(2 downto 0);

do: out STD_LOGIC_VECTOR(2 downto 0));

end;

architecture synth of dmem is

type ram_type is ARRAY(255 downto 0) of STD_LOGIC_VECTOR(2 downto 0);

signal ram: ram_type;

begin

process (clk)

begin

if clk'event and clk = '1' then

if we = '1' then

ram(conv_integer(a))


Logikfelder (logic arrays)

• Programmable Logic Arrays (PLAs)

• AND Feld gefolgt von OR Feld

• Kann nur kombinatorische Logik realisieren

• Feste interne Verbindungen, spezialisiert für DNF (SoP-Form)

• Field Programmable Gate Arrays (FPGAs)

• Feld von konfigurierbaren Logikblöcken (CLBs)

• Können kombinatorische und sequentielle Logik realisieren

• Programmierbare Verbindungsknoten zwischen Schaltungselementen

WS 10/11 | Technische Grundlagen der Informatik - Kapitel 5 - Prof. Sorin A. Huss | 31


Boolesche Funktionen mit PLAs: Wiederholung

• X = ABC + ABC

• Y = AB

Eingänge

M

AND

Feld

Implikanten

N

OR

Feld

P

Ausgänge

A B C

OR-Feld

ABC

ABC

AB

AND-Feld

WS 10/11 | Technische Grundlagen der Informatik - Kapitel 5 - Prof. Sorin A. Huss | 32

X

Y


PLAs: Vereinfachte Schreibweise

Eingänge

M

AND

Feld

Implikanten

N

OR

Feld

A B C

P

Ausgänge

OR-Feld

ABC

ABC

AB

AND-Feld

WS 10/11 | Technische Grundlagen der Informatik - Kapitel 5 - Prof. Sorin A. Huss | 33

X

Y


FPGAs: Field Programmable Gate Arrays

• Bestehen grundsätzlich aus:

• CLBs (Configurable Logic Blocks): Realisieren kombinatorische und sequentielle Logik

• Konfigurierbare Logikblöcke

• IOBs (Input/Output Blocks): Schnittstelle vom Chip zur Außenwelt

• Ein-/Ausgabeblöcke

• Programmierbares Verbindungsnetz: verbindet CLBs und IOBs

• Kann flexibel Verbindungen je nach Bedarf der aktuellen Schaltung herstellen

• Reale FPGAs enthalten oftmals noch weitere Arten von Blöcken

• RAM

• Multiplizierer

• Manipulation von Taktsignalen (DCM)

• Sehr schnelle serielle Verbindungen (11 Gb/s)

• Komplette Mikroprozessoren

• …

WS 10/11 | Technische Grundlagen der Informatik - Kapitel 5 - Prof. Sorin A. Huss | 34


Struktur eines Xilinx Spartan 3 FPGA

WS 10/11 | Technische Grundlagen der Informatik - Kapitel 5 - Prof. Sorin A. Huss | 35


Konfigurierbare Logikblöcke (CLBs)

• Bestehen im wesentlichen aus:

• LUTs (lookup tables): realisieren kombinatorische Funktionen

• Flip-Flops: realisieren sequentielle Funktionen

• Multiplexern: Verbinden LUTs und Flip-Flops

WS 10/11 | Technische Grundlagen der Informatik - Kapitel 5 - Prof. Sorin A. Huss | 36


Xilinx Spartan 3 CLB

WS 10/11 | Technische Grundlagen der Informatik - Kapitel 5 - Prof. Sorin A. Huss | 37


Xilinx Spartan CLB

WS 10/11 | Technische Grundlagen der Informatik - Kapitel 5 - Prof. Sorin A. Huss | 38


Xilinx Spartan 3 CLB

• Ein Spartan 3 CLB enthält:

• 2 LUTs:

• F-LUT (2 4 x 1-bit LUT)

• G-LUT (2 4 x 1-bit LUT)

• 2 sequentielle Ausgänge:

• XQ

• YQ

• 2 kombinatorische Ausgänge:

• X

• Y

WS 10/11 | Technische Grundlagen der Informatik - Kapitel 5 - Prof. Sorin A. Huss | 39


Beispiel: Kombinatorische Logik mit CLBs

• Berechnung der folgenden Funktionen mit dem Spartan 3 CLB

• X = ABC + ABC

• Y = AB

WS 10/11 | Technische Grundlagen der Informatik - Kapitel 5 - Prof. Sorin A. Huss | 40


Beispiel: Kombinatorische Logik mit CLBs

• Berechnung der folgenden Funktionen mit dem Spartan 3 CLB

• X = ABC + ABC

• Y = AB

F4

X

X

X

X

X

X

X

x

(A) (B) (C) (X)

F3

0

0

0

0

1

1

1

1

F2 F1 F

0 0 0

0 1 1

1 0 0

1 1 0

0 0

0 1

1 0

1 1

0

0

1

0

G4

X

X

X

X

G3

X

X

X

X

(A) (B) (Y)

G2 G1 G

0 0 0

0 1 0

1 0 1

1 1 0

0

0

A

B

0

A

B

C

G4

G3

G2

G1

F4

F3

F2

F1

G

F

Y

X

WS 10/11 | Technische Grundlagen der Informatik - Kapitel 5 - Prof. Sorin A. Huss | 41


Entwurfsfluß für FPGAs

• Wird in der Regel durch Entwurfswerkzeuge unterstützt

• Beispiel: Xilinx ISE

• Ist in der Regel ein iterativer Prozess:

• Planen

• Implementieren

• Simulieren

• Wiederhole …

• Entwickler denkt nach

• Entwickler gibt Entwurf als Schaltplan oder HDL-Beschreibung ein

• Entwickler wertet Simulationsergebnisse aus

• Wenn Simulation zufriedenstellend: Synthetisiere Entwurf in Netzliste

• Bilde Netzliste auf FPGA-Konfiguration ab (CLBs, IOBs, Verbindungsnetz)

• Lade Konfigurationsdaten (bit stream) auf FPGA

• Teste Schaltung nun in realer Hardware

WS 10/11 | Technische Grundlagen der Informatik - Kapitel 5 - Prof. Sorin A. Huss | 42

Weitere Magazine dieses Users
Ähnliche Magazine