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