Technische Grundlagen der Informatik

Transcription

Technische Grundlagen der Informatik
Technische Grundlagen der
Informatik
WS 2008/2009
16. Vorlesung
Klaus Kasper
WS 2008/2009
Technische Grundlagen der Informatik
1
Inhalt
• Wiederholung: Gleitkommadarstellung
– Konstruktion
K
ki
– Normalisierte / denormalisierte Zahlen
•
•
•
•
ROM
Realisierung digitaler Lösungen
Programmierbare
g
Logikbausteine
g
ispLEVER
WS 2008/2009
Technische Grundlagen der Informatik
2
Zahlendarstellung
WS 2008/2009
Technische Grundlagen der Informatik
3
Festkomma Darstellung
Festkomma-Darstellung
• Verwendung von n+1 Vorkommastellen und
m Nachkommastellen zur Darstellung
Darstellung.
• Bedingt durch die Reservierung von m Bit für
Nachkommastellen ist das Intervall zwischen
größter und kleinster darstellbarer Zahl sehr
kl i
klein.
• Wie könnte es vergrößert werden?
• Durch
D h eine
i R
Reduktion
d kti d
der Bit fü
für
Nachkommastellen.
• Bessere Lösung: Gleitende Position des
Binärkommas.
WS 2008/2009
Technische Grundlagen der Informatik
4
Gleitkomma-Darstellung
g
• Anforderung:
g Für betragsmäßig
g
gg
große Zahlen
soll die Anzahl der Nachkommastellen reduziert werden und bei betragsmäßig
g
g kleinen
Zahlen soll die Zahl der Vorkommastellen
reduziert werden.
• Bei der Gleitkomma-Darstellung (engl
(engl.::
floating point representation) wird die Zahl a
mit Hilfe der Mantisse m und dem
Exponenten e zu einer Basis b dargestellt.
WS 2008/2009
Technische Grundlagen der Informatik
5
Beispiel
p
−123 i 10
Mantisse: -123
123
−7
= −0,
0 0000123
Exponent: -7
7
Basis: 10
Alternative Darstellungen
−6
−12,3 i 10 = −1, 23 i 10
−5
keine Eindeutigkeit in der Darstellung
WS 2008/2009
Technische Grundlagen der Informatik
6
Übung
Wie viele Nachkommastellen hat 1,25 * 10-2?
Wie viele Nachkommastellen hat 1,25 * 102?
1,25 * 10-2 = 0,0125
1,25 * 102 = 125,0
WS 2008/2009
Technische Grundlagen der Informatik
7
Normalisierte Gleitkommazahlen
In der normalisierten Darstellung hat die
Mantisse exakt eine Vorkommastelle.
± m0 , m1 ... m p −1 i b e , wobei m0 = 1
Für die Darstellung der Mantisse wird eine
feste Zahl von Stellen verabredet.
Für den
Fü
d E
Exponenten
t wird
i d ein
i W
Wertebereich
t b i h
[emin,emax] verabredet.
WS 2008/2009
Technische Grundlagen der Informatik
8
Übung
g
Annahmen: Wir haben eine normalisierte Darstellung.
Die Mantisse hat 2 Nachkommastellen in binärer
Darstellung. Der Exponent hat 3 bit inklusiv Vorzeichen. Als Basis wird 10 gewählt.
Berechnen Sie für benachbarte Zahlen:
- das betragsmäßig kleinste Intervall.
- das betragsmäßig größte Intervall.
0,25 * 10-3 = 0,00025
0 25 * 103 = 250
0,25
WS 2008/2009
Technische Grundlagen der Informatik
9
Darstellung der Null?
• Auf Grund der Verabredung für die
Mantisse kann m = 0,0 nicht dargestellt
werden.
• Daher wird die Null folgendermaßen
dargestellt:
10ib
1,
WS 2008/2009
emin
i −1
Technische Grundlagen der Informatik
10
Übung
Notieren
N
ti
Si
Sie bitt
bitte di
die normalisierten
li i t Gl
Gleitkommazahlen,
itk
hl
die auf der Basis der bisherigen Ausführungen bei Verwendung von 2 Nachkommabits (x,xx)
(x xx) für die Mantisse,
Mantisse
emin=-1, emax=2 und b=2 dargestellt werden können. Stellen
Sie die Liste bitte in Dezimaldarstellung auf.
1,00*2-2
0
1,00*21 2
-1
,
1,00*2
0,5
,
1 2,5
,
,
1,01*2
1,01*2-1
0,625
1,10*21 3,0
1,10*2-1
0,75
1,11*21
1,11*2-1
0,875
1,00*22 4
1,00*20
1,0
1,01*22 5
1,01*20
1,25
1,10*22 6
1,10*20
1,5
1,11*22
1,11*2
1
11*20
1 75
1,75
WS 2008/2009
3,5
Problem?
7
Technische Grundlagen der Informatik
11
Denormalisierte Zahlen
1,00*20 – 1,11*2-1 = ?
In unserem Zahlensystem lautet das Ergebnis: 1,00 * 2-2
Anweisung: if (X != Y) then Z = 1/(X
1/(X-Y)
Y)
0 und Y=1,11*2
-1?
Was p
passiert für den Fall X=1,00*2
,
,
Laufzeitfehler, da durch 0 geteilt wird!
Für e=emin wird m0=0 zugelassen.
Die so eingeführten Zahlen werden als denormalisierte
oder subnormale Zahlen bezeichnet.
bezeichnet
WS 2008/2009
Technische Grundlagen der Informatik
12
Übung (erweitert)
Notieren Sie bitte die normalisierten und denormalisierten
Gleitkommazahlen,, die auf der Basis der bisherigen
g
Ausführungen bei Verwendung von 2 Nachkommabits (x,xx)
für die Mantisse, emin=-1, emax=2 und b=2 dargestellt werden
können. Stellen
S
S die Liste bitte in Dezimaldarstellung auf.
Sie
f
WS 2008/2009
Technische Grundlagen der Informatik
13
Erweitertes Beispiel
1,00*2-2
0
1,00*21 2
0,01*2-1
0,125
1,01*21 2,5
0,10*2-1
0,25
1,10*21 3,0
0,11*2-1
0,375
1,11*21
1,00*2-1
0,5
1,00*22 4
1,01*2-1
0,625
1,01*22 5
1,10*2-1
0,75
1,10*22 6
1,11*2-1
0,875
1,11*22
1,00*2
1
00*20
10
1,0
1,01*20
1,25
1 10*2
1,10
20
15
1,5
1,11*20
1,75
WS 2008/2009
Technische Grundlagen der Informatik
3,5
7
14
Definition eines GleitkommaGleitkomma
Zahlensystems
•
•
•
•
•
Basis (base, radix) b >= 2
Mantissenlänge (precision) p >= 2
kleinster Exponent emin < 0
größter Exponent emax > 0
N
Normalisierungsindikator
li i
i dik t d
denorm,
hierbei handelt es sich um einen
W h h it
Wahrheitswert
t (true
(t
b d t t dass
bedeutet,
d
denormalisierte Zahlen enthalten sind)
WS 2008/2009
Technische Grundlagen der Informatik
15
Beispiele
• Ei
Ein Gl
Gleitkomma-Zahlensystem
itk
Z hl
t
kkann
durch F(b,p,emin,emax,denorm) definiert
werden.
d
• Intel x86-Prozessoren einfach genau:
g
F(2,24,-126,127,true)
• Intel x86-Prozessoren
x86 Prozessoren doppelt genau:
F(2,53,-1022,1023,true)
• Die beiden Beispiele folgen der IEEE
Norm 754.
WS 2008/2009
Technische Grundlagen der Informatik
16
IEEE, single
g p
precision I
• F(2,24,-126,127,true)
( , ,
,
,
)
• ca. 4,26 * 109 normalisierte und ca. 1,7 * 107
denormalisierte Gleitkommazahlen können
dargestellt werden
, * 10-38
• kleinster Wert ca. 1,18
• größter Wert ca. 3,40 * 1038
• IEEE 754 Norm für Gleitkommazahlen wurde
erst im Jahr 1989 verabschiedet.
• Sie ist als IEC 559:1989 auch internationale
Norm.
WS 2008/2009
Technische Grundlagen der Informatik
17
IEEE, single precision II
Z = ( −1)S iM i2E −O ,
wobei O = 127
WS 2008/2009
Technische Grundlagen der Informatik
18
IEEE single precision (Beispiel)
IEEE,
Beispiel: 45.625
45 62510
• Fraktion f = 01101101 (beachte 1.01101101)
bit 0-22
• dargestellter Exponent e = 10000100
bit 23
23-30
30
• Vorzeichen s = 0
bit 31
Damit ist die Darstellung im IEEE 754-Format mit einfacher
Genauigkeit (single precision):
0100 0010 0011 0110 1000 0000 0000 0000
WS 2008/2009
Technische Grundlagen der Informatik
19
Rundung
• In der Mathematik sind die reellen Zahlen
unendlich.
dli h JJedes
d Gl
Gleitkomma-Zahlensystem
itk
Z hl
t
hat endlich viele Elemente.
• Daher müssen Verfahren zur Rundung
realisiert werden, nicht nur für Zahlen die
kleiner oder größer sind als die Extremwerte.
g der Rundung
g resultiert
• Bei der Durchführung
ein Rundungsfehler.
WS 2008/2009
Technische Grundlagen der Informatik
20
Festwertspeicher (ROM)
• Auf einen typischen ROM wird während
des Betriebs ausschließlich lesend
zugegriffen.
• Die Programmierung (Schreiben) eines
ROM ist deutlich aufwändiger als der
Lesezugriff.
• Der Aufbau eines ROM entspricht
hinsichtlich der Matrixanordnung der
Speicherzellen und der Adressverwaltung
dem Aufbau eines RAM.
WS 2008/2009
Technische Grundlagen der Informatik
21
Maskenprogrammierte ROM
• Für große Stückzahlen werden bei der
Herstellung der Speicher die
g g
Information fest eingegeben.
• Die zu speichernde Information wird
mittels einer Metallisierungsmaske
eingebracht.
• Beispiel: Haushaltsgeräte
WS 2008/2009
Technische Grundlagen der Informatik
22
Programmierbare
g
ROM ((PROM))
• Mit spe
speziellen
iellen Programmiergeräten
können PROM vom Anwender
programmiert werden.
• Die Programmierung erfolgt durch die
Herstellung von Verbindungen (AntiFuse) oder durch die Trennung von
Verbindungen (Fuse).
• Die Programmierung ist irreversibel.
WS 2008/2009
Technische Grundlagen der Informatik
23
UV-löschbares PROM (EPROM)
• EPROMS können mit speziellen Geräten
programmiert und gelöscht werden.
• Für die Programmierung wird eine Spannung
von ca. 20 Volt benötigt.
• Bei
B id
der P
Programmierung
i
werden
d mit
i Hilf
Hilfe d
des
Avalanche-Effektes (Lawineneffektes)
elektrische Ladungen injiziert
injiziert.
• Für die Löschung wird entsprechend
energiereiches
g
Licht benötigt.
g
• Die Löschung dauert einige Minuten.
• Der Baustein muss i.a. zur Löschung
g aus der
Schaltung entfernt werden.
WS 2008/2009
Technische Grundlagen der Informatik
24
Elektrisch lösch- und programmierbare ROM
(EEPROM)
• Der Baustein kann für den Löschvorgang in der
Schaltung verbleiben.
• Für den Löschvorgang wird eine Spannung von ca. 20
Volt benötigt.
• Für Programmierung und Löschung wird der
Tunneleffekt ausgenutzt.
• Jedem Schreibvorgang wird ein Löschvorgang
vorgeschaltet.
vorgeschaltet
• Der Schreibvorgang für ein Byte benötigt ca. 10 ms.
• Anzahl von Lösch-/Schreibzyklen:
Lösch /Schreibzyklen: ca
ca. 10000
• Speicherdauer: mindestens 10 Jahre
WS 2008/2009
Technische Grundlagen der Informatik
25
Floating-Gate-Technologie
für EEPROM
EEPROM-Speichertransistor
Speichertransistor
WS 2008/2009
Technische Grundlagen der Informatik
26
Flash-Speicher
• Weiterentwicklung der EEPROMs.
• Im Fall des Flash
Flash-Speichers
Speichers wir im Unterschied
zu EEPROMS der Speicher blockweise (!)
gelöscht.
• In
I ersten Realisierungen
R li i
wurde
d d
der S
Speicher
i h mit
i
einem Flash (Blitz) vollständig gelöscht.
• Ein Block umfasst ca
ca. 0
0,5
5 KB – 128 KB
KB.
• Der direkte Zugriff auf einzelne Bytes ist
prinzipiell nicht möglich
möglich. Dies entspricht dem
Prinzip von Massenspeichern, die eine typische
Blockgröße von 512 Byte haben.
• Moderne Typen kommen mit 5 Volt als
Programmier- und Löschspannung aus.
WS 2008/2009
Technische Grundlagen der Informatik
27
Aktuelle Flash-Speicher
p
Lesen/Schreiben Kapazität
p
Memory Stick
10/3 MB/s
8 GB (16 GB)
CompactFlash (CF)
20/20 MB/s
8 GB (32 GB)
SecureDigital Card (SD)
20/15 MB/s
16 GB (32 GB)
USB-2.0-Stick
33/15 MB/s
32 GB (64 GB)
Solid-State Disk (SSD)
175/100 MB/s
(250/170 MB/s)
32 GB (256 GB)
MultimediaCard (MMC)
15/15 MB/s
1 GB (4 GB)
WS 2008/2009
Technische Grundlagen der Informatik
28
Zum Vergleich
Speichertyp
Speichertakt Bezeichnung Bandbreite
SDRAM
133 MHz
PC133
1,1 GB/s
DDR266
133 MHz
PC2100
2,1 GB/s
DDR400
200 MHz
PC3200
3,2 GB/s
DDR2-400
100 MHz
PC2-3200
3,2 GB/s
DDR2-533
133 MHz
PC2-4300
4,3 GB/s
DDR2-1066
266 MHz
PC2-8500
8,5 GB/s
DDR3 1066
DDR3-1066
133 MH
MHz
PC3 8500
PC3-8500
8 5 GB/
8,5
GB/s
DDR3-1333
166 MHz
PC3-10600
10,6 GB/s
DDR3-1600
200 MHz
PC3-12800
12 8 GB/s
12,8
PC3200: 200 MHz ∗ 8 Byte ∗ 2 Zugriffe/Takt = 3200 MByte/s
WS 2008/2009
Technische Grundlagen der Informatik
29
Fazit
Eigenschaften
g
SRAM
DRAM
EEPROM
FLASH FRAM/
MRAM
Nichtflüchtig
nein
nein
ja
ja
ja
kleine Zellenmaße
nein
ja
nein
ja
ja
Wortweise les-/schreibbar
ja
ja
ja
nein
ja
geringer Leistungsbedarf
ja
ja
nein
nein
ja
schneller Schreibzugriff
ja
ja
nein
nein
ja
1015 Schreibzyklen
ja
ja
nein
nein
ja
Kostengünstig
nein
ja
nein
ja
ja
WS 2008/2009
Technische Grundlagen der Informatik
30
Realisierung digitaler Systeme
WS 2008/2009
Technische Grundlagen der Informatik
31
Realisierung digitaler
Lösungen
• Full Custom IC
• ASIC (Application Specific Integrated
Circuit)
• Bausteine mit programmierbarer Logik
WS 2008/2009
Technische Grundlagen der Informatik
32
Full Custom IC (Integrated
Circuit))
• individuelle Entwicklung eines digitalen
Systems
• lange Entwicklungszeiten
• sehr große Stückzahlen
• individuelle Fertigung
• geringer Stückpreis
WS 2008/2009
Technische Grundlagen der Informatik
33
Application Specific Integrated
Circuit (ASIC)
• Hersteller stellt umfangreiche
mfangreiche
Bibliotheken für Funktionen
• verkürzte Entwicklungszeiten
• Schaltung wird mit einer HardwareHardware
Beschreibungssprache beschrieben
• Hersteller realisiert Schaltung auf der
Basis eines adäquaten ASIC
• große
ß Stückzahlen
Stü k hl
• g
günstiger
g Stückpreis
p
WS 2008/2009
Technische Grundlagen der Informatik
34
Programmierbare Logik
• Hersteller bieten programmierbare
Logik-Bausteine an
• Lösung wird vom Anwender entwickelt
• hohe Flexibilität
• kleine Stückzahlen
• hoher Stückpreis
WS 2008/2009
Technische Grundlagen der Informatik
35
Programmierbare Bausteine
• PLD (P
(Programmable
bl L
Logic
i D
Device)
i )
• programmierbare
g
Logikelemente
g
((seit
Mitte der 70er)
• PLD stellen eine logische Grundstruktur
zur Verfügung, die vom Entwickler nach
Bedarf konfiguriert (programmiert)
werden kann.
• Für hoch integrierte PLD stehen
Beschreibungssprachen zur Verfügung.
WS 2008/2009
Technische Grundlagen der Informatik
36
Verfahren zur Programmierung
• PROM (Programmable Read Only Memory)Memory)
Prinzip: Durchbrennen einer Sicherung
((Fuse)) oder Entfernen einer Isolierung
g
(Antifuse), Programmierung ist irreversibel
)
p
• EPROM ((Erasable PROM)-Prinzip:
Programmierung kann durch Bestrahlung mit
UV-Licht wieder gelöscht werden
• EEPROM (Electrical Erasable PROM)Prinzip: Programmierung kann durch
elektrische
l kt i h IImpulse
l wieder
i d gelöscht
lö ht werden
d
WS 2008/2009
Technische Grundlagen der Informatik
37
Typisierung
• PAL (Programmable Array Logic):
Programmierbare UND-Matrix, feste OderMatrix von einem Hersteller auch als GAL
Matrix,
(Generic Array Logic) bezeichnet
• PLE (Programmable Logic Element):
Programmierbare Oder-Matrix, feste Und-Matrix
• PLA (Programmable Logic Array):
Programmierbare UND-Matrix
UND Matrix und
programmierbare ODER-Matrix
WS 2008/2009
Technische Grundlagen der Informatik
38
Prinzip
p PAL
Frei programmierbare
UND-GATTER
Fest verschaltete
ODER-Gatter
WS 2008/2009
Technische Grundlagen der Informatik
39
Beispiel
p PAL
Y 1 = ( X 2 ∧ X 3)) ∨ ( X 1 ∧ X 2 ∧ X 3)) ∨ X 1
Y 2 = ( X 1 ∧ X 2 ∧ X 3) ∨
( X 1 ∧ X 2 ∧ X 3) ∨
( X 1 ∧ X 2)
WS 2008/2009
Technische Grundlagen der Informatik
40
PLA Struktur
D C B A Y1
Y2
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
1
0
0
1
1
1
1
0
1
0
1
1
0
0
1
1
0
0
0
1
0
0
0
1
0
1
0
1
0
1
1
1
0
1
1
0
0
1
1
0
0
0
1
1
1
0
1
1
0
1
1
1
1
0
1
WS 2008/2009
Die mit der Wahrheitstabelle definierten
B l
Booleschen
h F
Funktionen
kti
sollen
ll mit
it d
der unten
t
dargestellten PLA-Struktur realisiert werden.
Technische Grundlagen der Informatik
41
PLA Struktur
Y1
B
Y2
A
A
0 0 1 *
0 0 0 *
0 1 * 0
1 0 0 *
1 1 * 0
1 *
1 0
B
D
1 0 1 *
0 * 0 1
C
WS 2008/2009
D
C
Technische Grundlagen der Informatik
42
PLA Struktur
Y1 = ( A ∧ C ∧ D ) ∨ ( A ∧ B ∧ D ) ∨ ( A ∧ B ∧ C )
Y2 = ( A ∧ B ∧ C ) ∨ ( A ∧ B ∧ D ) ∨ ( A ∧ B ∧ C ) ∨ ( A ∧ C ∧ D )
WS 2008/2009
Technische Grundlagen der Informatik
43
Erweiterung
• Einfache PAL Elemente haben
mindestens 8 Ein- und Ausgänge
• Moderne PAL Bausteine verfügen über
komplexe programmierbare
komplexe,
Makrozellen
• die
di A
Ausgänge
ä
verfügen
fü
üb
über R
Register
i t
• die Ausgänge können zurück gekoppelt
werden
WS 2008/2009
Technische Grundlagen der Informatik
44
CPLD (Complex Programmable
L i D
Logic
Device)
i )
• komplexe PLDs mit einer Block-Struktur
• jeder Block entspricht einem einfachen PAL
• die Blöcke werden über eine programmierb
bare
S
Schaltmatrix
h lt t i miteinander
it i
d verbunden
b d
• ein einzelner Block enthält typischerweise
yp
ca. 50 Eingänge und 10-20 Ausgänge
• jeder Ausgang kann aus 10-15
10 15 Produkt
Produkttermen gebildet werden
WS 2008/2009
Technische Grundlagen der Informatik
45
FPGA (Field Programmable Gate
Array)
• frei programmierbarer Logikschaltkreis
• aus einzelnen Logikblöcken (CLBs
Configurable Logic Blocks) aufgebaut
• in den einzelnen Blöcken werden einfache
Operationen und auch Flip-Flop-Logik
Flip Flop Logik zur
Verfügung gestellt
• teilweise werden FPGAs ausschließlich über
Look-Up Tabellen realisiert
• hohe Komplexität
• Selbstkonfigurierende Systeme werden
möglich
WS 2008/2009
Technische Grundlagen der Informatik
46
CPLD vs. FPGA
CPLD
FPGA
Wenige
g Logikblöcke
g
mit g
großer
Anzahl an Makrozellen
Viele Logikblöcke
g
mit
kombinatorischer Logik
Kurze Wege
Lange Wege
Platzierung und Routing fest
vorgegeben
Platzierung und Routing variabel
S h lt it einfach
Schaltzeiten
i f h vorhersagbar
h
b
Schaltzeiten
S
h lt it sind
i d von d
der G
Größe
öß
des Designs sowie Platzierung
und Routing abhängig
Hohe Taktfrequenzen unabhängig
von der konkreten Schaltung
Taktfrequenz ist von der Größe der
Schaltung abhängig
Kleine und mittelgroße
Schaltungen
g
Für sehr komplexe Schaltungen
geeignet
g
g
WS 2008/2009
Technische Grundlagen der Informatik
47
Programmierung (CPLD, FPGA)
Beispiel:
ispLEVER
WS 2008/2009
Technische Grundlagen der Informatik
48
Programmierung
g
g
•
•
•
•
•
ISP (In System Programming)
HDL (Hardware Description Language)
VHDL (VHSIC HDL)
VHSIC (Very High Speed Integrated Circuit)
p
q
Abel ((Advanced Boolean Expression/Equation
Language)
• Abel wurde in den 80er Jahren entwickelt und ist
für kleinere Schaltungen hinreichend.
g sind die weltweit am meisten
• VHDL und Verilog
genutzten Hardware-Beschreibungssprachen und
sind beide von IEEE standardisiert.
WS 2008/2009
Technische Grundlagen der Informatik
49