zukunft: auf trägermaterial angeordnet? spins durch ... · prozessortypen / it workstation it...
TRANSCRIPT
Exotische Architekturen / Quanten Computer Nuclear Magnetic Resonance Quantum Computing (NMR QC)
Atome im Molekül angeordnet
Zukunft: auf Trägermaterial angeordnet?
Spins durch Magnetfelder beeinflussbar
Feld 1: Drehung
Feld 2: Präzession oder Flip (NOT-Aktion!)
QBit-Selektion (Adressierung) via Resonanzfrequenz(verschiendartige Atome notwendig)
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 250 / 495
Exotische Architekturen / Quanten Computer Nuclear Magnetic Resonance Quantum Computing (NMR QC)
Abbildung 99: CNOT: Linkes Bit ist das Steuerbit, rechtes Bit das Target-Bit. In den letzten zwei Zeilen sind die Steuerbits 1 und es wird eine
NOT-Operation durchgeführt
CNOT-Gatter: kontrolliertes (”enable”) NOT eines QBits
Kontrolle durch Zustand des benachbarten QBits
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 251 / 495
Prozessortypen /
Ausnutzen von gegenseitiger Beeinflussung benachbarter AtomeGezieltes Kippen und Präzessieren von (benachbarten) Atomen
Abbildung 100: Funktion eines CNOT-Gates, dargestellt in einer Bloch-Sphere
Zur Zeit ist es möglich einige hundert Gatter zusammenzuschalten undmit einer handvoll Spins Operationen durchzuführen. Für einekomerzielle Anwendung ist das natürlich noch zu wenig, doch dieZukunft wird zeigen wie rasch sich dieser Umstand ändern kann.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 252 / 495
Prozessortypen / IT Workstation
Prozessortypen
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 253 / 495
Prozessortypen / IT Workstation
IT Workstation
Intel 4004: 4 Bit, erster Serienprozessor, PMOS, 2250 Transistoren
Intel 8086: Segmentierung (64 kByte), 29.000 Transistoren
Intel 80286 und Nachfolger, kompatible Modelle von AMD,Siemens, etc.
PowerPC: Apple Computer, IBM, embedded Bereich
Erfolgsfaktor der Intel-x86-Schiene: Kompatibilität
Moderne Prozessoren: 90 nm bzw. 65 nm Prozess
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 254 / 495
Prozessortypen / IT Workstation Pentium 4
Abbildung 101: Dual-Core Technik von Intel [1]
Taktrate, Verlustleistung,...?
Pentium D: Multicore (2 cores auf einem Die)
Presler: Multichip (2 einzelne Dies in einem Gehäuse)
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 255 / 495
Prozessortypen / IT Workstation Pentium 4
Pentium 4
Pentium: 2 x 486, superskalarer in-order Prozessor
Pentium Pro: neues Design (out-of-order execution, etc.),verwendet bei P II, P III, Pentium M
Pentium 4: erneut neues Design
Einige Eigenschaften:
Architektur: 90 nm
Cache: 2 MByte L2
Taktfrequenz: bis 3,80 GHz
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 256 / 495
Prozessortypen / IT Workstation Pentium 4
Front-Side-Bus: bis 800 MHz
Hyper-Threading
MMX, SSE2, Prescott: SSE3
Abbildung 102: Pentium 4 Architektur
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 257 / 495
Prozessortypen / IT Workstation AMD Athlon 64
SSE2 Streaming SIMD Extensions Version 2
NetBurst Micro Architecture: 20 stufige Pipeline, Umsortierung,Rapide Execution Engine (REE, repetitive Tasks)
feinere Pipeline: höhere Taktraten (weil Stufen sehr kurz sind)
Frontside-Bus QDR: Vervierfachung des Durchsatzes
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 258 / 495
Prozessortypen / IT Workstation AMD Athlon 64
AMD Athlon 64
Auf i386-Zug aufgesprungen (Kompatibilität)
Zusätzlich 64-Bit-Modus
große, schnelle Caches
Speichercontroller on-chip
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 259 / 495
Prozessortypen / IT Workstation AMD Athlon 64
Abbildung 103: Athlon 64 Architektur [2]
Einige Eigenschaften (Typ Clawhammer):
L1-Cache: 64 + 64 kByte (Daten + Instruktionen)
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 260 / 495
Prozessortypen / IT Workstation PowerPC
L2-Cache: 1024 kByte mit Prozessortakt
MMX, Extended 3DNow!, SSE, SSE2, AMD64, Cool’n’Quiet
HyperTransport mit 800 MHz (HT800)
Fertigungstechnik: 130 nm
Taktfrequenzen: 1,8 - 2,4 GHz
Leistungsaufnahme: 89 W
40 Bit Adresse: 1 TByte
Gefinkelter Cache: Translation Lookaside Buffer, usw.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 261 / 495
Prozessortypen / IT Workstation PowerPC
PowerPC
RISC Prozessor
32- und 64-Bit Varianten (16 EByte linear adressierbar)
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 262 / 495
Prozessortypen / IT Workstation PowerPC
Abbildung 104: PowerPC Architektur [3]
SIMD fähig
2 64-Bit FPUs
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 263 / 495
Prozessortypen / IT Server
Condition Register: Verzweigungsargumente gecached!
Einige Eigenschaften (Typ G5):
Taktrate: 2.7 GHz
Frontside Bus: 1.37 GHz
Speicher: 400 MHz, 128-Bit DDR SDRAM
Virtueller Speicher: 16 EByte
64 kByte L1 instruction cache, 32 kByte L1 data cache (-> Harvard!)
512 kByte internal L2 Cache
kann bis zu 8 Befehle pro Taktzyklus holen
90 nm Struktur
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 264 / 495
Prozessortypen / IT Server Intel Xeon
IT Server
Server bieten Dienst(e) (Services) an
Anforderungen an Qualität des Dienstes (Verfügbarkeit,Performance, etc.)
Qualität direkt mit Geld verbunden
Teilweise höchste Performance Anforderungen
daher Luxus Prozessoren (Multicore RISC, etc.)
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 265 / 495
Prozessortypen / IT Server UltraSparc IV
Intel Xeon
Der Intel Xeon ist in 90 nm (64-Bit) und 130 nm (32-Bit) Strukturerhältlich.
Einige Eigenschaften:
spezieller L1 Cache als Execution Trace Cache
L2 Cache bis zu einer Größe von 2 MByte
L3 Cache bis ebenfalls 2 MByte
Taktrate: bis zu 3.6 GHz
Systembus: max. 800 MHz
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 266 / 495
Prozessortypen / IT Server UltraSparc IV
Netburst Mikroarchitektur
HW-Unterstützung für Multithreading
nicht kompatibel zu Intel Pentium (Chipsatz, PINs, etc.) obwohlähnlich aufgebaut
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 267 / 495
Prozessortypen / IT Server UltraSparc IV
UltraSparc IV
Dual-Thread, Dual Core (2 x UltraSparc III)
Großer Cache
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 268 / 495
Prozessortypen / IT Server UltraSparc IV
Abbildung 105: UltraSparc IV Architektur [4]
Einige Eigenschaften:
L1 Cache: 64 kByte for data cache, 32 kByte for instruction cache
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 269 / 495
Prozessortypen / IT Server Alpha
L2 Cache: 8 MByte
Taktrate: bis zu 2 GHz
Chip Multithreading (Threads können den L2 Cache mit 128-Byteline size ansprechen)
Single clock throughput from on-chip caches
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 270 / 495
Prozessortypen / IT Server Alpha
Alpha
DEC 1992 ”from scratch”
Keine Altlasten, Kompatibilität, etc.
Als wesentliche Punkte der RISC-Architektur werden drei Merkmalerealisiert:
alle Befehlscodes sind gleichmäßig 32 Bit breit
der Zugriff auf den Speicher erfolgt ausschließlich überLoad/Store-Befehle
verschiedene Befehle sind nur dann voneinander abhängig, wennsie auf dieselben Register oder dieselben Speicheradressenzugreifen
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 271 / 495
Prozessortypen / IT Server Alpha
Abbildung 106: Alpha Architektur [5]
für Multiprozessor Systeme ausgelegt
superskalar
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 272 / 495
Prozessortypen / IT Server PA-Risc und Itanium
rein 64 Bit, daher kein Umschalten zu 32 Bit
Einige Eigenschaften (Typ 21264C):
Technologie: 180 nm
Taktrate: 1 GHz
L1 Cache: 64 kByte
L2 Cache: 8 MByte
8 - 64 Bit integers
IEEE 32-Bit und 64-Bit floating point formats
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 273 / 495
Prozessortypen / IT Server PA-Risc und Itanium
PA-Risc und Itanium
Precision Architecture - RISC
erster superskalarer RISC
Einige Eigenschaften:
1 bis 2 MByte Off Chip Cache, der mit Prozessor Takt Frequenzarbeitet
Security und Protection
Zerlegung einer Instruktion in bis zu 5 Segmente (fetch, decode,execute, usw.) und deren parallele Ausführung.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 274 / 495
Prozessortypen / IT Server PA-Risc und Itanium
Debbuging Hilfen
64-Bit Fließkommaberechnungen auch bei 32-Bit Prozessoren
Grafik und Multi-Media Erweiterungen on Chip
Einheitliches umfangreiches Interrupt System
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 275 / 495
Prozessortypen / IT Server MIPS
Abbildung 107: PA-Risc Architektur [5]
Itanium (Intel/HP)
RISC, EPIC (statisches Scheduling = VLIW)
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 276 / 495
Prozessortypen / Mikrocontroller
MIPS
Microprocessor without interlocked pipeline stages
RISC, load/store
Einige Eigenschaften (Typ R12000):
4-way superscalar architecture
5 separate execution units
Out-of-order instruction execution
32 kByte instruction cache
32 kByte data cache
128-Bit dedicated secondary cache bus
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 277 / 495
Prozessortypen / Mikrocontroller
Mikrocontroller
Single-Chip System
Alles Nötige on-chip bzw. in einem Gehäuse
Steueraufgaben usw. in SW billiger als in HW
Besteht aus:
CPU (verschiedenste Typen werden verwendet: RISC, CISC mit4/8/16 oder 32 Bit Datenbusbreite mit bis zu 100 MHz Taktfrequenz)
3 Arten von Speicherinterner Arbeitsspeicher (RAM) zur Programmausführung (meistals SRAM realisiert)
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 278 / 495
Prozessortypen / Mikrocontroller
interner Festspeicher in welchem das Arbeitsprogramm(Firmware ) residiert (meist als ROM oder FLASH-Speicherrealisiert, wobei herstellerseitig programmiertes ROM nur bei sehrgroßen Stückzahlen interessant ist). Heutige Mikrocontroller habenzwischen einigen kByte und 1 bis 2 MByte Speicher.interner nichtflüchtiger Datenspeicher zur Ablage vonKonfigurationen oder aktuellen Prozessparametern (meistens alsEEPROM mit einigen Bytes bis einigen Dutzend kByte realisiert)
Taktgenerator um die Notwendigen Systemtakte zu generieren
Timer und Zähler um Zeitspannen messen und Ereignisse zählenzu können, ohne dass dies die CPU belastet.Input-/Outputperipherie
Analog/Digital-Wandler um Analoge Messwerte einlesen zu könnenLCD-Treiber um Displays direkt ansteuern zu könnenPulsweitenmodulierte Ausgänge (PWM) um z. B. Motoren steuern zukönnenZusätzliche Spezialperipherie je nach Anwendungsgebiet
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 279 / 495
Prozessortypen / Mikrocontroller
Kommunikationsschnittstellen
Einfache serielle Schnittstellen (z. B. RS232, I2C, SPI) um einesimple Kommunikation zu anderen Geräten oder MCU zu erlauben
Bus-Anbindungen (z. B. USB, CAN, Ethernet) um effizienteDatentransfers zu erlauben im Hinblick auf hohe Datenmengen (z. B.USB) oder hohe Zuverlässigkeit (z. B. CAN) Mehr dazu in Kapitel28.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 280 / 495
Prozessortypen / Mikrocontroller
CPU(ALU, Register, Programm counter,
Instruction decoder)
ROM(Programmspeicher)
RAM(Arbeitsspeicher)
Timer / Zähler
Datenspeicher(EEPROM)
I/O Pins(Parallele Schnittst.)
LCD Treiber
Serielle Schnittstelle
CAN Controller
...etc
A/D−Wandler
Taktgenerator
Abbildung 108: Aufbau eines Mikrocontrollers.
Vorteil der integrierten Lösung:
Sehr wenige externe Komponenten notwendig : GeringereKosten
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 281 / 495
Prozessortypen / Mikrocontroller Anwendungen
Sehr breites Anwendungsfeld : Sehr hohe Stückzahlen werdenproduziert, was zu geringen Kosten pro Stück führt.
Einfachere Entwicklung : Alle Verdrahtungen von der CPU zu allenanderen Komponenten sind auf optimale Weise integriert und dieCPU kann direkt alle Komponenten ansprechen und verwenden.
Ein Mikrocontroller besteht also aus einem Mikroprozessor (die CPU)mit zusätzlichem integrierten Speicher und Peripheriebausteinen ineinem Chipgehäuse.
Leistung und Speicher beschränkt
für Steueraufgaben usw. ausreichend
Probleme:
Auswahl des passenden Mikrocontrollers
Beschränkte Ressourcen für Software
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 282 / 495
Prozessortypen / Mikrocontroller Anwendungen
Anwendungen
Haushaltsgeräte (z. B.: Waschmaschinen, Geschirrspüler,Espressomaschine)
Unterhaltungselektronik (z. B.: Fotoapparate, Videorekorder,CD/DVD-Player, Radios, Fernsehgeräte, Fernbedienungen)
Büroelektronik und Computer-Peripheriegeräte (z. B.: Tastatur,Maus, Drucker, Monitore, Scanner)
Kraftfahrzeugen (z. B.: Motorsteuerung, ABS, Airbag, ESP)
Chipkarten (Bankkarte, SIM-Karte im Mobiltelefon)
Mobiltelefone, Digital-Uhren, Wetterstation, Heizungsregler, uvm. . .
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 283 / 495
Prozessortypen / Mikrocontroller Anwendungen
WasserbehälterErhitzungskammer
Füllstands−sensor
Temperatur−sensorHeizspirale
Wasser−pumpe
Kaffee−sieb
Milchschaum−düse
Ventilschalter
MIKROCONTROLLER
Anzeige (LEDs oder LCD Display)Ein/Aus Schalter Bedienungstasten
Abbildung 109: Einsatzbeispiel eines Mikrocontrollers in einer (Espresso-) Kaffeemaschine.
Kostendruck enorm, Wahl des ”minimalen” Typs:
Minimaler Fest- und Arbeitsspeicher, da sehr simple Firmware(Kaffeemaschine kennt nur einen simplen Ablauf)
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 284 / 495
Prozessortypen / Mikrocontroller Beispiele
Digitale Eingänge für:Füllstandsensor (ist noch Wasser im Reservoir, wenn neinProgramm stoppen, ansonsten könnte Heizkammer beschädigtwerden)Bedienungstasten (um 3 bis 4 Tasten einlesen zu können)Ventilschalter (um Erhitzungskammer langsam mit Wasser zubefüllen um Dampf zu erzeugen)
Digitale Ausgänge:Wasserpumpe (Wasser in Erhitzungskammer Pumpen fürKaffee/Dampf)Heizspirale
Analog/Digital-Wandler zur Messung der Wassertemperatur
LCD-Controller zur Anzeige des Betriebszustands (oder einfach nurStatus-LEDs)
Interne Timer werden benötigt um Pump- und Heizzeiten messenzu können.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 285 / 495
Prozessortypen / Mikrocontroller Beispiele
Beispiele
Ursprünge:
70er Jahre, Texas Instruments T1000, 4-Bit
Zilog Z8, Z80 und Nachfolger: 8-Bit Prozessoren
Intel 8051 und Nachfolger
Beispiele:
Atmel:
Atmel AT89 Serie (8-Bit und 16-Bit CPU auf Intels 8051 basierend)Atmel AT90 Serie und ATMega Serie (8-Bit RISC CPU)
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 286 / 495
Prozessortypen / Mikrocontroller Beispiele
Atmel AT91 Serie (32-Bit ARM CPU für High-performanceAnwendungen)
Freescale Semiconductor (vormals Motorola):68HC05, 68HC08, 68HC11 Serie (8-Bit CPU)68HC12, 68HC16 Serie (16-Bit CPU)
Infineon:C500/C800 (8-Bit CISC Kern basierend auf dem 8051 Prozessor)C166 Serie (16-Bit CPU)
Intel:MCS-48 Serie (bekanntester Vertreter: Intel 8048 und 8049 diepraktisch in jeder IBM Tastatur zu finden sind, es sind ebenfalls 8-BitCPUs)i960 (mit 32-Bit RISC CPU)
Microchip:PIC Serie mit einem RISC Kern der 12-, 14- oder 16-BitBefehlsbreite aber normale 8-Bit Datenbreite hat und deshalb als8-Bit Prozessor gilt.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 287 / 495
Prozessortypen / Mikrocontroller Beispiele
Parallax, Inc.:
„BASIC Stamp“ Familie, die aufgrund ihrer Einfachheit und derProgrammiersprache BASIC eigentlich nur im Hobby-Bereichverwendet wird
Philips Semiconductors:
LPC700/900 Serie (Basierend auf dem 8-Bit CISC Kern basierendauf dem 8051 Prozessor)LPC2000 Serie (16- oder 32-Bit ARM CPUs)
Texas Instruments:
MSP430 (16-Bit RISC)
Zilog:
Z8 (8-Bit CPU)
8-Bit Controller dominieren zur Zeit
16- und 32-Bit nur für aufwändige Aufgaben (automotive, etc.)
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 288 / 495
Prozessortypen / Mikrocontroller Beispiele
Interfaces/Vernetzung immer wichtiger
Beispiel Cypress CY8C29x66 PSoC Mixed Signal Array:
12 Rail-to-Rail Analog PSoC Blocks
Up to 14-Bit ADCsUp to 9-Bit DACsProgrammable Gain AmplifiersProgrammable Filters and Comparators
16 Digital PSoC Blocks
8- to 32-Bit Timers, Counters, and PWMsCRC (Cyclic Reduncancy Check) and PRS Modules (PseudoRandom Sequence)Up to 4 Full-Duplex UARTsMultiple SPI Masters or SlavesConnectable to all GPIO Pins
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 289 / 495
Prozessortypen / Mikrocontroller Beispiele
Abbildung 110: Ein Mikrocontroller mit sehr flexiblem Innenleben. Da bleibt kein Wunsch offen...
Beispiel ATMEL AVR Familie:
8-Bit RISC CPU
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 290 / 495
Prozessortypen / Mikrocontroller Beispiele
„single-cycle-execution“: d.h. die meisten Befehle werden innerhalbvon einem Taktzyklus verarbeitet, wofür eine einstufige Pipelinevorhanden ist (man sieht auch hier wie simpel das Konzept ist)
Verschiedenste Betriebsspannungen möglich (1,8 V bis 5,5 V),somit minimaler Aufwand an externen Komponenten zurSpannungsversorgung
FLASH Speicher mit serieller Einspeisung desAnwenderprogramms (kann von jedem PC aus durchgeführtwerden)
Integrierter Taktgenerator, Taktfrequenz 16 MHz bis 20 MHz
Programmierbar in Assembler und C
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 291 / 495
Prozessortypen / Mikrocontroller Die ARM Prozessor Architektur
FLASH RAM EEPROM IO Timer PWM ADC Ser.ATTiny13 1 kByte 64 Bytes 64 Bytes 6 1 2 4 0ATTiny45 4 kByte 256 Bytes 256 Bytes 6 2 4 4 1AT90PWM3 8 kByte 512 Bytes 0.5 kByte 19 2 12 11 1ATMega16 16 kByte 1024 Bytes 0.5 kByte 32 3 4 8 1ATMega2560 256 kByte 8 kByte 4.0 kByte 86 6 16 16 4
Tabelle 10: ATMEL AVR Auszug aus technischen Daten
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 292 / 495
Prozessortypen / Mikrocontroller Die ARM Prozessor Architektur
Die ARM Prozessor Architektur
Acorn RISC Machine, später Advanced RISC Machines
Erfolgreichster Prozessor der Welt
Einfach (RISC), billig, stromsparend, schnell.
Aufbau
Load/Store Architektur, feste Instruktionslänge
Conditional Execution: alle Befehle mit Bedingungen vereint
daher kein explizites Branch notwendig -> Pipeline-freundlich
16 universelle 32-Bit Register
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 293 / 495
Prozessortypen / Mikrocontroller Die ARM Prozessor Architektur
Erste Modelle: 26 Bit Adressen
Bits gespart durch word-aligned Speicher
später aufgegeben
Heute: verschiedene ARM Generationen, u.U. untereinander nichtkompatibel
Abbildung 111: Das PSW des ARM
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 294 / 495
Prozessortypen / Mikrocontroller Die ARM Prozessor Architektur
Die Thumb Erweiterung
Quasi 16 Bit ISA
RISC aufgrund einfacher Befehle sehr speicherhungrig
im embedded Bereich ein Problem
aufwändige, händische Code-Optimierung: 10-20% Ersparnis
komprimierter Code kostet Performance
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 295 / 495
Prozessortypen / Mikrocontroller Die ARM Prozessor Architektur
Abbildung 112: Thumb und Arm Befehl
Thumb-Befehle halb so lang wie normale ARMAusführen in 32 Bit Kern via ”Dekompressor”
Übersetzung ohne Zeitverlust
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 296 / 495
Prozessortypen / Mikrocontroller Die ARM Prozessor Architektur
Thumb ist Submenge des ARM Befehlssatz”Doppelt ge-RISC-t”plus ein paar Zusatzbefehle
EinschränkungenKeine conditional executionweniger Register
Thumb und ARM Code mischbarfür hochperformante Applikationsteile: 32 BitUmschalten während der AusführungPipeline geflushed
30-40% kürzerer Code
ARMs Instruction Set Architecture im Überblick
ARMv4Urahn, kein Thumb
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 297 / 495
Prozessortypen / Mikrocontroller Die ARM Prozessor Architektur
ARMv4Tmit Thumb
ARMv5TEverbesserter Thumb, DSP Befehle
ARMv5TEJJazelle Erweiterung für Java Bytecode, low-power
ARMv6SIMD für Multimedia
ARMv73 Profile: A (application mit Betriebsystem), R (realtime), M(microcontroller, low-power); Thumb-2
Beispiele von ARM Prozessoren:
ARMv4T (ARM7TDMI, StrongARM, ARM9, Amulet)
ARMv5TE (ARM10)
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 298 / 495
Prozessortypen / Mikrocontroller Die ARM Prozessor Architektur
AMBA
AMBA ist ein offener Standard für eine On-Chip Busspezifikation umverschiedenste funktionale Komponenten eines System-on-Chip (SoC)wie Speicher und Peripherieeinheiten miteinander zu verbinden.
AMBA Protokolle
AHB - Advanced Highperformance Bus. Der weit verbreitete AHBBus ist ein offener Standard der für die Verbindung von Prozessor,Speicher, DMA-Controller sowie Peripheriegeräte mit großemDatendurchsatz optimiert worden ist.
APB - Advanced Peripheral Bus. Der AMBA APB Bus ist eineinfaches Bussystem/Protokoll für ”general purpose” I/O.
AXI - Advanced eXtensible Interface. Das AXI ist ein neuesInterface, welches die Leistungsfähigkeit und die Flexibilität desAMBA Bussystems für high-speed on-chip Verbindungendramatisch erhöht.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 299 / 495
Prozessortypen / Mikrocontroller Die ARM Prozessor Architektur
Ein ARM10 Thumb Beispiel: ARM Modell 1020T mit Vector FPU
nur 0,6 mW bei 300 MHz
Harvard Cache mit MMU und TLB
intern 64 Bit Datenbus zum Cache und Coprozessor
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 300 / 495
Prozessortypen / Mikrocontroller Die ARM Prozessor Architektur
Abbildung 113: Die Integer Pipeline des ARM10TDMI
Der ARM10TDMI Kern hat fünf Pipelines:
1 Fetch (Instruction Fetch and Branch Prediction)
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 301 / 495
Prozessortypen / Mikrocontroller Die ARM Prozessor Architektur
2 Instruction Decode and Register Read
3 Execute (Shift and ALU), Adress calculate and Multiply
4 Memory Access / Multiply und
5 Register Write
Pipeline Stufen überlappen teilweise
Branch Prediction Einheit, branch back always taken
Vector Floating Point Unit mit SIMD features
arithmetische Pipeline: multiply-add, komplexeres wird iteriert
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 302 / 495
Prozessortypen / Mikrocontroller Die ARM Prozessor Architektur
Abbildung 114: Arithmetic Pipeline
Anwendungen
Stromsparend: Handhelds, Mobiltelefone, PDAs, etc.
Mobiles Multimedia: Mehr Rechenleistung
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 303 / 495
Prozessortypen / Digitale Signalprozessoren
ARM cores: synthetisierbar, sehr flexibel
ARM ltd. vertreibt Lizenzen und Tools
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 304 / 495
Prozessortypen / Digitale Signalprozessoren Geschichte
Digitale Signalprozessoren
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 305 / 495
Prozessortypen / Digitale Signalprozessoren Grundlagen
Geschichte
80er Jahre: Mobilfunk mit ”normalen” Prozessoren nicht machbar
DSPs sind Spezialentwicklung
Für Datenströme, Signalverarbeitung
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 306 / 495
Prozessortypen / Digitale Signalprozessoren Grundlagen
Grundlagen
Effiziente Arithmetik (z. B. Multiply and Accumulate)
Effiziente Schleifen für Signalflüsse
Mehrere Busse
Spezielle Betriebsmittel (digitale Filter, etc.)
Harvard Architektur
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 307 / 495
Prozessortypen / Digitale Signalprozessoren Grundlagen
DP IP
DM PM
Abbildung 115: Klassische Harvard Architektur bei DSPs
Data & Opcode Fetch in einem Zyklus
evtl. Doppelter Datenspeicher für Zufuhr von 2 Datenströmen
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 308 / 495
Prozessortypen / Digitale Signalprozessoren Grundlagen
Breite Busse, gute interne Caches
DP IP
DM1 DM1 PM
MUX
Abbildung 116: Gedoppelter Datenspeicher DM bei modernen DSPs.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 309 / 495
Prozessortypen / Digitale Signalprozessoren DSP Markt und Anwendungen
Optimierung der Algorithmen hin auf Pipelines, Parallelität, etc.(z. B. FFT)
Festkomma DSPseinfacher aufgebautskalierbare Genauigkeit (Wortlänge)Zweierkomplement
Gleitkomma DSPskomplexerkonstante Genauigkeit (Mantissenlänge)IEEE 754 float format
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 310 / 495
Prozessortypen / Digitale Signalprozessoren DSP Markt und Anwendungen
DSP Markt und Anwendungen
Noch immer stark wachsend
Mobil-Markt
Leader: Texas Instruments, danach Freescale, Intel, Agere, AnalogDevices, etc.
Spezialisierte DSPs:
Algorithmen: Die Art der auszuführenden Algorithmen hatAuswirkungen auf die interne Architektur des Prozessors. Einwichtiges Kriterium ist die Unterscheidung zwischen DSPs die nurmit Festkommazahlen rechnen können und DSPs die auch überRechenwerke für Gleitkommazahlen verfügen.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 311 / 495
Prozessortypen / Digitale Signalprozessoren DSP Markt und Anwendungen
Rechenleistung: Bei DSPs wird die Rechenleistung im Allgemeinennicht in MIPS (Million Instructions per Second) sondern in MMAC(Million Multiply and Accumulate per Second) angegeben. Ein DSPmit 2 MAC Einheiten kann damit im Idealfall z. B. bei 500 MHzbereits 1000 MMAC Rechenoperationen pro Sekunde bearbeiten.
Peripherie: In Abhängigkeit von der Anwendung werden speziellePeripherieelemente benötigt. Das können Signalumsetzer wie A/Dund D/A Wandler sein aber auch Kommunikationsschnittstellen wieEthernet, UART, SPI oder USB
Verlustleistung: Gerade für mobile Anwendungen ist dieVerlustleistung möglichst gering zu halten was durch moderneProzesstechnologien aber auch durch ein ausgeklügeltes PowerManagement (Dynamische Corespannung und Taktfrequenz,Abschaltung von internen Blöcken usw.) erzielt wird.
Steuerfluss- vs. Datenflussorientierung: Die Anwendungen derdigitalen Signalverarbeitung waren im Wesentlichen
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 312 / 495
Prozessortypen / Digitale Signalprozessoren DSP Markt und Anwendungen
datenflussorientiert. Allerdings versucht man gerade bei embeddedRISC/DSP Prozessoren immer mehr steuerflussorientierteArchitekturen zu integrieren.
Kosten: Die Kosten sind ein wesentlichesUnterscheidungskriterium. Diese reichen von wenigen Euro bis hinzu mehreren hundert Euro pro Bauelement
Märkte:
Drahtlose Kommunikation: Signalverarbeitung in Basisstationenund Mobiltelefonen, Wireless LAN etc.
Unterhaltungselektronik im weitesten Sinne: Digitalkameras,Digitaler Rundfunk und Fernsehen, MP3 und MPEG Video Player,Multimediageräte wie PDAs etc.
Automobil- und Industrieelektronik: Motorsteuerungen,Stromversorgungen etc.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 313 / 495
Prozessortypen / Digitale Signalprozessoren Steigerung der Rechenleistung
Drahtgebundene Kommunikation: ISDN, DSL oder Kabelmodems,IP-Telephonie, High speed LANs.
Messtechnik: Medizinische Bildbearbeitung, digitale Hörgeräte,Global Positioning Systems (GPS)
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 314 / 495
Prozessortypen / Digitale Signalprozessoren Die TMS320C5000 Familie (Texas Instruments)
Steigerung der Rechenleistung
Crux mit Rechenleistung und Verlustleistung entschärfen durch:
Parallele Verarbeitung der Daten.
Steigerung der Anzahl der Operationen pro Zeiteinheit.
Erweiterung der Bussysteme.
Aktuell: DSP mit Mikrocontroller Funktionalitäten bzw. umgekehrt
Symmetrische Dual Core: zwei gleiche coresAsymmetrische Dual Core: unterschiedliche cores
Mobilgerät: Betriebsystem, GUI, Webdienste & DSP FunktionennotwendigMit asymmetrischem dual core machbar
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 315 / 495
Prozessortypen / Digitale Signalprozessoren Die TMS320C5000 Familie (Texas Instruments)
Die TMS320C5000 Familie (Texas Instruments)
Festkomma DSP, speichersparender Code
Die wesentlichen Eigenschaften dieser Architektur sind:
16-Bit Festkomma DSP, bis zu 0,25 mW/MIPS, bis zu 600 MMAC
Vier interne Busse und zweifache Adressgeneratoren ermöglichenparallele mehrfache Datenzugriffe und reduzieren denSpeicherflaschenhals.
Ein 17 x 17 Bit Multiplizierer erlaubt 16-Bit vorzeichenbehafteteMultiplikationen in einem Befehlszyklus auszuführen.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 316 / 495
Prozessortypen / Digitale Signalprozessoren Die SHARC Familie (Analog Devices)
Ein 40-Bit Addierer und zwei 40-Bit Akkumulatoren unterstützenkritische parallele Instruktionen die eine Ausführungszeit von einemTaktzyklus haben.
Ein zweiter 40-Bit Addierer am Ausgang des Multiplizierers erlaubtes eine parallele zweifache Addition und eine Multiplikation. Dieswird bei typischen Rechenoperationen für digitale Filter benötigt.
Acht Hilfsregister und ein Software Stack erlauben es den DSPeffizient mit einen angepassten C-Compiler zu programmieren.
Es stehen auch multi-core Versionen (C542x und C544x DSPs)dieser DSP Architektur zur Verfügung.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 317 / 495
Prozessortypen / Digitale Signalprozessoren Die SHARC Familie (Analog Devices)
Die SHARC Familie (Analog Devices)
Gleitkomma DSP
SuperHarvard Architektur (I/O Prozessor)
3 codekompatible Generationen
für z. B. Luxus Audio (hohe Genauigkeit & Dynamik)
Die gemeinsamen Architekturmerkmale der SHARC Familie sind:
32-Bit Gleitkomma DSP, bis zu 400 MHz bei 800 MMACS oder2400 MFLOPS.
32/40-Bit IEEE Gleitkomma Einheit
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 318 / 495
Prozessortypen / Digitale Signalprozessoren Die SHARC Familie (Analog Devices)
32-Bit Festkomma Multiplizierer mit 64-Bit Produkt und 80-BitAkkumulator
Keine Arithmetische Pipeline. Alle Berechnungen laufen in einemZyklus ab.
DMA mit ”Null-Overhead” Hintergrundtransfers ohneProzessorintervention
32 Adresszeiger die 32 Ringbuffer unterstützten
Sechs verschachtelte Ebenen von ”Null-Overhead” Schleifen inHardware
Eine reiche Assembler Syntax die komplexe algebraischeFunktionen unterstützt.
TigerSHARC: sehr leistungsfähig, 2 parallele Recheneinheiten,Multiprozessor Schnittstellen
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 319 / 495
Prozessortypen / Digitale Signalprozessoren Die OMAP Familie (Texas Instruments)
Abbildung 117: Der TigerSHARC DSP hat 2 parallele Recheneinheiten.
Device Links wie einst beim Transputer: Matrix Anordnung
10-stufige Pipeline
kann teure ASICs ersetzen
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 320 / 495
Prozessortypen / Digitale Signalprozessoren Die OMAP Familie (Texas Instruments)
Die OMAP Familie (Texas Instruments)
kein reiner DSP
Kombination RISC und DSP, asymmetrisch
spezialisiert für mobile Multimedia Geräte
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 321 / 495
Prozessortypen / Digitale Signalprozessoren Die OMAP Familie (Texas Instruments)
Abbildung 118: Der OMAP5912.
Die wesentlichen Eigenschaften sind:
ARM:
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 322 / 495
Prozessortypen / Digitale Signalprozessoren Die OMAP Familie (Texas Instruments)
ARM926EJS, 192 MHz 32-Bit RISC CPUMMU (Memory Management Unit)L1 16 kByte, vier-wege BefehlscacheL1 8 kByte, vier-wege Datencache mit Schreibbuffer
C55x DSP Subsystem:
TMS320C55x DSPL1 cache (24 kByte)16 kByte, two-way, set-associative instruction cacheDARAM 64 kByte, zero-wait state, 32-BitSARAM 96 kByte, zero-wait state, 32-BitDMA controller: 6 physikalische Kanäle, fünf Ports.Hardware Beschleuniger für ”motion estimation” (ME), diskrete undinvertierte Kosinus-Transformation (DCT/IDCT), und PixelInterpolation (PI)
Externer Speicherkontroller:
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 323 / 495
Prozessortypen / Digitale Signalprozessoren Blackfin Familie (Analog Devices)
”External memory interface slow” (EMIFS); verbindet externelangsame Speicher (Flash und SRAM)”External memory interface fast” (EMIFF); verbindet externe schnelleSpeicher, 16-Bit SDRAM
ARM9 corebeliebter RISC Prozessor (Thumb, etc.)
TMS320C55x coreklassischer TI DSPrein für Signalverarbeitung
spezialisiert für mobile Multimedia Geräte
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 324 / 495
Prozessortypen / Digitale Signalprozessoren Blackfin Familie (Analog Devices)
Blackfin Familie (Analog Devices)
Analog Devices / Intel
Mobil, Multimedia, Bildverarbeitung
RISC-DSP-Kombination
Single und Dual Core
viele Peripherieoptionen (Interfaces)
Dual Core Excerpt
RISC/DSP oder DSP/DSP Betrieb von Symmetrischen Dual Coresmöglich
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 325 / 495
Prozessortypen / Digitale Signalprozessoren Blackfin Familie (Analog Devices)
Assymetrische haben natürlich ”bessere” bzw. spezialisiertereRISC bzw. Mikrocontroller Fähigkeiten
Zusatzbetriebsmittel: weiterer DMA Controller, Busse,gemeinsamer Speicher, etc.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 326 / 495
Prozessortypen / Digitale Signalprozessoren Blackfin Familie (Analog Devices)
Abbildung 119: Blockschaltbild des Blackfin DSP.
Blackfin:
Dual-MAC-DSP
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 327 / 495
Prozessortypen / Digitale Signalprozessoren Blackfin Familie (Analog Devices)
sauberer RISC (sehr orthogonal)
schnelle L1-Caches
Subsysteme mit eigener MMU, Interrupt Controller, Timer, etc.
Abbildung 120: Interna des Blackfin DSP.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 328 / 495
Prozessortypen / Digitale Signalprozessoren Blackfin Familie (Analog Devices)
Rechenwerk
2 MAC Units
8, 16 oder 32 Bit Daten
eigener DMA Controller für L2 Cache
zweiter DMA Controller für ext. Speicher
Power Management: Takt, core spannung
I/O:
PPI : Parallel Port Interface; DSP spezifisches flexibelkonfigurierbares paralleles Interface (8-16Bit Datenbreite)um verschiedene Peripheriegeräte wie Kameras, Display,A/D Wandler oder D/A Wandler anzuschließen. Die PPISchnittstelle ermöglicht es eine sehr hohe Bandbreite anDaten über DMA zwischen internen Speicher und externerPeripherie zu transferieren.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 329 / 495
Prozessortypen / Digitale Signalprozessoren Blackfin Familie (Analog Devices)
JTAG : Joint Test Action Group. Die 1998 gegründete JTAGbefasst sich mit der Entwicklung Software-Gesteuerter,automatisierter Testung von ASICs. Die vom JTAGentwickelte Methode wurde 1990 vom IEEE als IEEE1149.1 standardisiert. JTAG wird deshalb auch das on-chipdebug Interface bezeichnet, das es erlaubt volle Kontrolleüber die CPU zu erlangen (z. B. Zugriff von außen auf demDaten/Adressbus, auslesen der Register).
UART : Universal Asynchroneous Receiver and Transmitter;Serielle Schnittstelle die fast auf jedem Controllervorhanden ist. SPI: Serial Peripheral Interface; SPI definierteine synchrone serielle Übertragung nach einemMaster-Slave Prinzip. Es gibt eine Clock-, Chip-Select-Data-In- und Data-Out-Leitung, wobei der Master dieeinzelnen Slaves über die Chip-Select-Leitung pollt.
SPORT : Synchronous Serial PORT , weiteres serielles interface für
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 330 / 495
Prozessortypen / Digitale Signalprozessoren Realisierungsbeispiel eines Designs mit dem Blackfin BF533
den point-to-point Anschluss von Peripheriegeräten wiestereo Audio Codecs (I2S) oder für die Kommunikationzwischen Prozessoren. SPI und SPORT können beimBlackfin mit einem Clock von bis zu 100 MBit betriebenwerden.
GPIO : General Purpose Input Output, generische Pins die füreine allgemeine Verwendung zur Verfügung stehen.
Timer : Können mit einem Startwert versehen werden, zählenüblicherweise ”hinunter” (manche auch ”hinauf”) undkönnen bei Ablauf (=0) etwas (z. B. einen Interrupt)auslösen.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 331 / 495
Prozessortypen / Digitale Signalprozessoren Realisierungsbeispiel eines Designs mit dem Blackfin BF533
Realisierungsbeispiel eines Designs mit dem Blackfin BF533
sehr kompakter Fußballroboter
mehrere Blackfin Prozessoren
Stereokameras (60 frames/s)
extrem schnelle Bilderkennung nötig (10 MByte/s)
Vorgehensweise:
Ausnutzung von DMA Kanälen
Optimierung des Codes in Assembler
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 332 / 495
Prozessortypen / Digitale Signalprozessoren Realisierungsbeispiel eines Designs mit dem Blackfin BF533
Ausnutzung der parallelen Recheneinheiten (z. B. Dual MACAccumulate)
Ausnutzung der speziellen Instruktionen des Prozessors
Verwendung von Zero-Loop-Cycle Befehlen
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 333 / 495
Prozessortypen / Digitale Signalprozessoren Realisierungsbeispiel eines Designs mit dem Blackfin BF533
Abbildung 121: Der Tinyphoon Fussballroboter
Bilderkennungssystem für den Tinyphoon Roboter:
Bälle lokalisieren
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 334 / 495
Prozessortypen / Digitale Signalprozessoren Realisierungsbeispiel eines Designs mit dem Blackfin BF533
Abstand und Winkel bestimmen
Softwarekonzept:
Kameradaten via DMA1 in Memory (SD-RAM) und DMA2 ininternes RAM
internes RAM des BF533 reicht nicht für ein ganzes Bild, daherRingbuffer
Kanten/Farbbild via DMA3 ins RAM retour
CPU dabei unbelastet
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 335 / 495
Prozessortypen / Digitale Signalprozessoren Realisierungsbeispiel eines Designs mit dem Blackfin BF533
a.)
b.)
c.)
Abbildung 122: Die Bilderkennung des Tinyphoon Fussballroboters
Blackfin Zero Overhead Loop (in HW!)
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 336 / 495
Prozessortypen / Netzwerkfähige Mikroprozessoren
P0 = 10; // 10 = Anzahl Schleifendurchgänge;LOOP ._loopX1 LC0 = P0; //Initialisierung der SchleifeLOOP_BEGIN ._loopX1; //Schleifenbeginn
//...//LOOP_END ._loopX1; //Schleifenende
Software zur Ballerkennung
Programm sehr klein gehalten
passt ins interne Code RAM -> kein Fetch via ext. Bus
Performance anders nicht machbar...
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 337 / 495
Prozessortypen / Netzwerkfähige Mikroprozessoren Bussysteme
Netzwerkfähige Mikroprozessoren
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 338 / 495
Prozessortypen / Netzwerkfähige Mikroprozessoren Bussysteme
Bussysteme
Vielzahl von Bussysteme
Topologie, Technologie, Qualitäten, etc.
(holprige) Faustregel:
Lange Distanzen, viele Knoten, langsam, extern: seriell
Kurze Distanzen, wenige Knoten, schnell, intern: parallel
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 339 / 495
Prozessortypen / Netzwerkfähige Mikroprozessoren Arten von Bussystemen
Steuereinheit
Serieller Datenbus
Motor Pumpe Sensor
Steuereinheit
Sensor
Abbildung 123: Schmetische Darstellung eines seriellen Datenbusses.
Serielle Busse: 1 Datenleitung, m Handshake-Leitungen (m>=0)
Parallele Busse: n Datenleitung, m Handshake-Leitungen
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 340 / 495
Prozessortypen / Netzwerkfähige Mikroprozessoren Arten von Bussystemen
Arten von Bussystemen
Abbildung 124: Typen von seriellen Datenbussen.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 341 / 495
Prozessortypen / Netzwerkfähige Mikroprozessoren Vorteile und Probleme beim Einsatz netzwerkfähiger MCUs
Busse innerhalb eines Mikrokontrollersystems (z. B. auf einerPlatine):
I2C (Inter-Integrated Circuit)SPI (Serial Peripheral Interface)
Busse auf Feldebene (zwischen ”intelligenten” Sensoren,Aktuatoren und Steuersystemen die jeweils eigenständigeMikrokontrollersysteme sind):
LIN (Local Interconnect Network)CAN (Controller Area Network)LonWorks (LON, Local Operating Network)PROFIBUS (Process Field Bus)
High-Speed Datenbusse (hauptsächlich im PC-Peripherie- bzw.Multimediabereich):
USB (Universal Serial Bus)EthernetIEEE1394
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 342 / 495
Prozessortypen / Smart Cards und Sicherheitscontroller
Vorteile und Probleme beim Einsatz netzwerkfähiger MCUs
CPU entlastet
Standardkonforme Implementierung
Einsatz komplexer Bussysteme möglich
Mögliche Probleme:
Nötige Trancseiver
Notwendigkeit von Protokollstacks
Notwendigkeit von Operating Systems
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 343 / 495
Prozessortypen / Smart Cards und Sicherheitscontroller
Smart Cards und Sicherheitscontroller
Problem: vertrauenswürdige HW
Lösung 1: high security (und high price) Rechenanlage(Wassergraben, Bordgeschütze, etc.)
Lösung 2: Sicherheitscontroller
Sicherheitscontroller
(fast) wie normaler Mikrocontroller
Mit Kommunikationsinterface
Einsatz bei Bankomat, GSM-SIM, Zutrittssystemen, etc.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 344 / 495
Prozessortypen / Smart Cards und Sicherheitscontroller
Stellt sichere HW darDaten und Algorithmen geschütztBis zu gewisser krimineller Energie
CPU
I/O
Crypto
ROM
RAM
EEPROM
Abbildung 125: Aufbau einer Smart Card.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 345 / 495
Prozessortypen / Smart Cards und Sicherheitscontroller Sicherheitsmerkmale
features:
CPU, ROM, RAM, EEPROM
Coprozessor für Krypto-Funktionen
sicheres I/O Interfacekontaktloskontaktbehaftet
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 346 / 495
Prozessortypen / Smart Cards und Sicherheitscontroller Sicherheitsmerkmale
Sicherheitsmerkmale
Physikalische Integrität geschützt durch:
1 chipindividuell gescrambelte (d. h. in ihrer Reihenfolge bzw.Position willkürlich vertauschte) Busleitungen und Speicherzellen,
2 Dummy-Strukturen,
3 die Anlage von Strukturen, die nur nach Zerstörung Zugang zufunktionalen Schichten bieten (z. B. werden Speicherzellen fürSchlüssel nicht in den oberen, optisch sichtbaren undkontaktierbaren Lagen angebracht),
4 Ionen-implantierte ROM (verhindern Auslesen mittels IR- oderUV-Licht),
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 347 / 495
Prozessortypen / Smart Cards und Sicherheitscontroller Sicherheitsmerkmale
5 stromführende Metallisierungsebenen, die den Chip umgeben(Werden diese z. B. durch Ätzen entfernt, ist der Chip nicht mehrfunktionsfähig.),
6 mäanderförmige Leitungen, deren Widerstand gemessen wird unddie bei Betrieb des Chips abgefragt werden,
7 Überwachung der Passivierungschicht (eine Schutzschicht desSiliziumchips, dessen Entfernung z. B. einen Interrupt auslösenkann, der wiederum in Folge Schlüssel löscht, etc.) und
8 die kryptographische Sicherung von Daten in nicht-flüchtigenSpeicherbereichen.
Weiters:
Spannunsversorgung überwacht (Über/Unterspannungen, Spikes,etc.)
Stromverbrauch verschleiert (Stomrauschquellen, stochastischerdummy-code, etc.)
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 348 / 495
Prozessortypen / Smart Cards und Sicherheitscontroller Leistungsmerkmale
Verschlüsselte Kommunikation
Vertrausenswürdige und Zertifizierte Erstellung der Software(Betriebsystem und Anwenderprogramm)
Absicherung der Software (Checksummen, etc.)
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 349 / 495
Prozessortypen / FPGA Prozessoren
Leistungsmerkmale
Chipkartenprozessoren praktisch immer in Chipkartenform
ISO 7816 Protokoll, neu: USB
typisch 8051er Klasse
neu: 32 Bit, 66 MHz, 1 MByte EEPROM und mehr
neu: Webserver on board
3DES, RSA, SHA, MD5, ECC, AES, etc.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 350 / 495
Prozessortypen / FPGA Prozessoren
FPGA Prozessoren
Field Programmable Gate Array (FPGA): frei programmierbarerLogikbaustein
Logikblöcke (Gatter, Flipflops, etc.)
CPU Softcore als Konfiguration
Alte Prozessoren z. B. immer noch machbar
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 351 / 495
Prozessortypen / FPGA Prozessoren FPGA optimierte Prozessoren
Logic elements(programmierbare logischeFunktionen)
Ein−/Ausgänge
FPGA Chip
Mögliche Verbindungswegezwischen Logikelementenuntereinander und mit Ein−/Ausgängen
Abbildung 126: Struktur eines FPGA.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 352 / 495
Prozessortypen / FPGA Prozessoren Selbstrekonfigurierende FPGA-Prozessoren
FPGA optimierte Prozessoren
Softcore CPU
optimiert für FPGA-Eigenschaften
beliebig spezialisierte Rechenwerke möglich
Beispiele:
Von FPGA Herstellern:ALTERA: NIOS II Prozessor (32-Bit RISC Kern)XILINX: MicroBlaze Soft Core Processor (ebenfalls 32-Bit RISC)
Open-Source Projekte:OpenRISC 1000 (32/64-Bit RISC mit speziellen Vektor-Rechner undDSP Erweiterungen)
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 353 / 495
Prozessortypen / FPGA Prozessoren Selbstrekonfigurierende FPGA-Prozessoren
Selbstrekonfigurierende FPGA-Prozessoren
Änderungen während des Betriebs, je nach aktueller Anforderung.
Statische Rekonfiguration: der FPGA-Prozessor muss angehaltenwerden, um Änderungen des Programms zu empfangen. Dazu istentweder ein im FPGA-Gehäuse integrierter oder ein externerklassischer Mikroprozessor notwendig, um die Konfigurationdurchzuführen.
Dynamische Rekonfiguration: der FPGA-Prozessor kann sich selbstwährend des Betriebs neu konfigurieren, da der Programmablaufnicht unterbrochen werden muss. Es muss ein konstanter Kernbestehen bleiben, welcher die Rekonfiguration übernimmt (sieheAbbildung 127).
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 354 / 495
Prozessortypen / FPGA Prozessoren FPGAs mit on-chip Prozessoren
Rekonfigurierbare Logik
Konstanter Kern
Rekonfigurierender FPGA Prozessor
ExternerSpeicher
Interner Speicher
Abbildung 127: Aufbau eines Selbstrekonfigurierenden FPGA-Prozessors.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 355 / 495
Computer Architektur /
FPGAs mit on-chip Prozessoren
Ein Beispiel ist die XILINX Virtex-4 Familie, die es in drei Serien gibt:
LX: high-performance FPGA
SX: signal-processing-optimized (DSP Elemente)
FX: bis zu 2 embedded Power-PCs
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 356 / 495
Computer Architektur / Speicher
Computer Architektur
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 357 / 495
Computer Architektur / Speicher
Speicher
Aspekte:
Speicherkapazität: Die Speicherkapazität gibt die Zahl der Bytesan, die gespeichert werden können. Die Angabe erfolgt in kByte,MByte, oder GByte (Kilo-, Mega-, oder Giga-Byte); diese ist unteranderem wegen der benötigten Anzahl von Adressleitungeninteressant.
Zugriffszeit - Access time: Die Zugriffszeit ist jene Zeit, diezwischen dem Aufruf und dem Abschluss von Lese- oderSchreiboperationen für ein gewünschtes Wort verstreicht. Dabeisind die
Zeit zum Positionieren bzw. Decodieren eines Speicherplatzes
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 358 / 495
Computer Architektur / Speicher
Lese- / Schreibzeit
zu berücksichtigen. Die Beiträge der Teilzeiten zur resultierendenZugriffszeit hängen stark von der betrachteten Speichertechnologieab und können extreme Unterschiede aufweisen. Richtwerte fürheute übliche Zugriffszeiten sind:
HL-Speicher: 5 ns
HD (Hard-Disk): 5 ms
Bandspeicher: einige Sekunden (und mehr!)
Etwaige Probleme sind vorhersehbar, wenn Einheiten mitunterschiedlichen Geschwindigkeiten zusammenarbeiten müssen(Abhilfe: Einsetzen von Pufferspeichern oder Wartezyklen). Beimagnetischen Speichern ist die Zugriffszeit stark von der Positionder Daten auf dem Speichermedium abhängig, weshalb meist einemittlere Zugriffszeit angegeben wird.
Permanenz: Man unterscheidet zwischen flüchtigen Speichern wieHL-Speicher und nichtflüchtige Speichern wie zum Beispiel die
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 359 / 495
Computer Architektur / Speicher
herkömmlichen magnetischen Speicher (Platte, Band), aber auchROM, EPROM, EEPROM, Flash-EPROM, oder optische Speicher(zum Beispiel CD-ROMs). NVRAMs (non-volatile RAMs) sindeigentlich flüchtige SRAMs, retten ihre Daten aber bei power-off inein EEPROM.
Betriebsart: Man unterscheidet zwischen Schreib- /Lesespeichern, Festwertspeichern (nur Lesespeicher) und WORMs(Write Once Read Multiple).
Kriterium beim Lesen:
zerstörendes Lesen: Durch das Lesen des Speichers geht derSpeicherinhalt verloren (zum Beispiel: dynamische HL-Speicher,früher Magnetkerne); zum Erhalten des Inhalts ist immer einLesezyklus mit einem anschließenden Schreibzyklus notwendig.
nichtzerstörendes Lesen: Trotz Lesens bleibt der Speicherinhalterhalten (zum Beispiel: statische HL-Speicher, Magnetplatten,Bänder).
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 360 / 495
Computer Architektur / Speicher Massenspeicher
Zugriffsarten: Neben der Unterscheidung nach byte-, wort-, oderblockweise orientierten Speichern, lassen sich Speicher nochweiter nach Zugriffsarten einteilen:
Adressgesteuerte Zugriffe (speicherplatzbezogen)wahlfrei (random-access-memory, zum Beispiel Hauptspeicher)zyklisch (direct access storage, zum Beispiel Plattenspeicher)sequentiell (sequential access storage, zum Beispiel Bänder)Inhaltsbezogene Zugriffe (assoziative Adressierung, assoziativeSpeicher, Content Addressable Memory = CAM), dieAdressinformation ist ein Teil des Speicherinhaltes.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 361 / 495
Computer Architektur / Speicher Massenspeicher
Massenspeicher
vernachlässigt, Bremser
Klassiker: Magnetische Speicher (Platten, Bänder)
Moderne magnetische Speicher zeichnen sich durch folgendeEigenschaften aus:
Die Speicherung der Informationen erfolgt durch Magnetisierungdes Mediums.
Es sind hohe und höchste Speicherkapazitäten realisierbar.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 362 / 495
Computer Architektur / Speicher Massenspeicher
Die Information ist auf diesen Medien permanent, das heißtunabhängig von einer äußeren Energieversorgung, gespeichert.Die Störanfälligkeit gegenüber magnetischen Feldern sollte bedachtwerden!
Diese Speicher können nichtzerstörend gelesen werden.
Die Speicherkapazitäten hängen bei den Bandspeichern von derBandlänge und der Anzahl der parallel aufgezeichneten Spuren ab;bei den Festplattenspeichern (Hard Disk, HD) ist die Anzahl derübereinander angeordneten Plattenoberflächen, die Anzahl derSpuren (Tracks) pro Oberfläche, die Anzahl der Sektoren pro Spurund schließlich die Anzahl der Bytes pro Sektor maßgebend (sieheAbbildung 128). Als Zylinder bezeichnet man Spuren die exaktübereinander auf verschiedenen Platten angebracht sind.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 363 / 495
Computer Architektur / Speicher Massenspeicher
Abbildung 128: Aufbau eines magnetischen Plattenspeichers. [18, S.680]
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 364 / 495
Computer Architektur / Speicher Massenspeicher
ID−Adr−Mark
Gap Spur−nummer
Seite Sektor−Nummer
Block−größe
CRC Gap
Gap Data−Adr−Mark Datenbytes CRC Gap
Identifikationsfeld
Datenfeld
Abbildung 129: Sektorformat eines magnetischen Plattenspeichers. Vgl. [14, S.352]
Gaps: Ausgleich der Drehzahlschwankungen
heute: Sektorenzahl außen höher um Dichte konstant zu halten
Interleaving
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 365 / 495
Computer Architektur / Speicher Massenspeicher
Verschränkung wegen langsamer Controller
Decodieren, CRC, Buffer, etc.
”Alte” Methode, die man nicht vergessen sollte
Heute: Interleave Faktor 1:1
Abnutzung Festplatte (Luftpolster) / Floppy Disk (schleifen)
Bandlaufwerke
An Bedeutung verloren
Spezialisierte Speichersysteme, große Datenmengen
Streamer Tape Backups durch HDD abgelöst?
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 366 / 495
Computer Architektur / Speicher Hauptspeicher
Abbildung 130: Storage Technologies Corporation PowderHorn [18, S.690]
Optische Laufwerke
CD-ROM, DVD, usw.günstig, zuverlässig (?), write once / eraseable
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 367 / 495
Computer Architektur / Speicher Hauptspeicher
Hauptspeicher
was würden wir ohne ihn tun... (Execute from Flash + Data-SRAM ;-)
RAM
Anbindung über Cache Speicher
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 368 / 495
Computer Architektur / Speicher Hauptspeicher
Abbildung 131: Vergleich zwischen CPU-Performance und Speicherzugriffszeit. 1980 wurde als Bezugsjahr genommen. Man beachte den loga-
rithmischen Maßstab[18, S.391]
DRAMs am besten zu integrieren -> Bevorzugte Technologie
Adressleitungen stiegen -> Multiplexen
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 369 / 495
Computer Architektur / Speicher Hauptspeicher
Column Decoder
Sense amps and I/O
Word line
Bit
line
Row
Decoder
Adress
buffer
Memory array(16384 x 16384)
Storagecell
Data
in
Data
out
A0...A13
Abbildung 132: Interne Organisation eines 256 MBit DRAMs. Nach[18, S.455]
Abbildung 132 zeigt die primäre Organisation eines DRAMs. Dabeierkennt man, dass der Speicherbereich als Matrix organisiert ist. Für256 MBit wird also eine Matrix von 16384 Zeilen und Spalten verwendet,
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 370 / 495
Computer Architektur / Speicher Hauptspeicher
man benötigt 14 Bits für die Zeilenadresse und 14 für dieSpaltenadresse. Die erste Hälfte der Adresse (die zuerst gesendet wird)heisst daher “RAS” (row access strobe), die zweite Hälfte “CAS” (columnaccess strobe). Vgl.[18, S.390ff und 454ff.]
DIMMs: SIMMs mit beidseitigen Kontakten
SO DIMMS mit 72 / 144 Pins, normale mit bis zu 240
Folgende Konzepte zur Beschleunigung des Zugriffs auf dieSpeicherchips wurden über die Jahre entwickelt:
FPM - Fast Page ModeRow-Address bleibt, CAS grast ab...
EDO - Extended Data OutFPM + optimiertes Timing
SDRAM - Synchronous Dynamic RAMTaktleitung, automatisches Weiterzählen der Adresse
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 371 / 495
Computer Architektur / Speicher Cache
DDR SDRAM - Double data ratezweite Taktflanke genutzt
DRDRAM - Direct Rambus DRAM - RAMBUSKein RAS/CAS, Speicherbus
Interleaving: Write after Read DRAM Problem entschärft!
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 372 / 495
Computer Architektur / Speicher Cache
Cache
Problem:
DRAM Hauptspeicher ist DIE Bremse
SRAM ist zu teuer
Was tun?
Statistik: Ablauf-Hotspots im Code
”spatial” und ”temporal” locality: Programmteile räumlich undzeitlich kompakt
Cache soll das ausnutzen
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 373 / 495
Computer Architektur / Speicher Cache
Cache:
schneller SRAM Speicher zwischen CPU und Hauptspeicher
Kopie von oft oder demnächst (?) gebrauchten RAM-Teilen imCache
Cache ”hit”: Kopie des gewünschten Datums im Cache vorhanden-> schneller
Abbildung von großem Hauptspeicher auf kleinen Cache
Frame (die Kopie der Hauptspeicherinhalte)
Tag (die Haupspeicher-Adresse von der der Frame-Inhalt kam)
Flags (dirty, used, etc.)
Tag:
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 374 / 495
Computer Architektur / Speicher Cache
Abbildung HsAddr−> CacheAddr eindeutig, aber nichtumgekehrt: surjektiv
Einfach(st)es Beispiel mit 16 Bit Adressen:
CacheAddr = f (HsAddr) = (HsAddrAND0x000F)
0x1234 wird in der gleichen Cachezeile abgelegt wie 0xabc4
Einbahnstrasse...
TAG sollte zumindest 0x123 enthalten, wenn 0x1234 gemeint istund Zeile 4 verwendet ist.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 375 / 495
Computer Architektur / Speicher Cache
CPU
AddressBuffers
DataBuffers
CacheDirectory
CacheController
Data
Address
Sys
tem
Bus
CacheData
Memory
Abbildung 133: Aufbau eines Cache-Systems [17, S.12]
CPU greift zuerst auf Cache zu -> hit/miss
miss -> Zugriff auf HS, evtl. update für Cache
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 376 / 495
Computer Architektur / Speicher Cache
2 Beispiele:
Voll assoziativer Cache
mit CAM realisiert
Jede (!) Zeile hat Komparator
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 377 / 495
Computer Architektur / Speicher Cache
Comperator
Speicherzelle 0
Comperator
Speicherzelle 0
Comperator
Speicherzelle 0
Komparator
Register 0
Komparator
Register 1
Komparator
Register 2N−1
Komparator
Register 2
Encoder
Match 0
Match 1
Match 2
Match 2N−1
Vergleichs−adresse
N−Bit binär−Ausgabe
Match−Detect
Abbildung 134: Prinzipieller Aufbau eines CAMs bei Anwendung als Cache. nach [17, S.15]
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 378 / 495
Computer Architektur / Speicher Cache
CPU
AddressBuffers
DataBuffers
CAM
CacheController
Data
Address
Sys
tem
Bus
CacheData
Memory
CacheAddress
Compare address
Abbildung 135: Realisierungsmöglichkeit eines “fully associative Cache” mittels eines CAMs als Cache Directory. nach[17, S.17]
vollständig paralleles Suchen
keine Abbildungsvorschrift notwendig, weil nicht ”gesucht” sonderngefunden wird
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 379 / 495
Computer Architektur / Speicher Cache
sehr aufwändige HW -> selten verwendet
Set assoziativer cache
Anzahl der Komparatoren verringert
Tag- und Setbits
6 5 4 3 2 1 07
Tag Set
Abbildung 136: Beispielhafte Teilung der Hauptspeicheradresse in Tag- und Setbits
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 380 / 495
Computer Architektur / Speicher Cache
CPU
AddressBuffers
DataBuffers
Cache−TagDirectory
CacheController
Data
Address
Sys
tem
Bus
CacheData
Memory
tag address
Setaddress
Setaddress
Abbildung 137: Set assoziativer Cache. Nach[17, S.20]
Setbits: Adressierung des Cache
Zwischenstufe Cache-Tag Memory
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 381 / 495
Computer Architektur / Speicher Cache
VT: einfacherer Aufbau mit vielleicht einem bzw. n Komparator(en)
Direct- oder n-way-associative
Mögliche Ersetzungsstrategien sind:
RANDOM: von den möglichen Austauschkandidaten wird einer“zufällig” ausgewählt
LRU (Least Recently Used): im Falle mehrerer Kandidaten wirdjener ausgetauscht, dessen letzter Aufruf am weitesten zurückliegt
u.a.m.
Aktualisierungsstrategien
WRITE-Operationen: Inkonsistenz zwischen HS und Cache
Multiprozessorsysteme?
2 klassische Strategien:
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 382 / 495
Computer Architektur / Speicher Technologien
Copy-Back-Verfahren
Arbeitet nur im CacheErsetzung erst, wenn ”kein Platz mehr ist” (cache miss)
Write-Through-Verfahren
Cache und HS immer konsistentDaten werden einfach weitergereichtGeschwindigkeitsunterschied: Puffer
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 383 / 495
Computer Architektur / Speicher Technologien
Technologien
Festwertspeicher
Klassiker: Einmal beschreiben, das war’s...
VT: geht nicht verloren (bei Spannungsausfall, etc.)
EPROMs, EEPROMs, etc. können gelöscht werden (Licht,elektrisch, etc.)
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 384 / 495
Computer Architektur / Speicher Technologien
Abbildung 138: Querschnitt einer EEPROM-Zelle [11, S.206]
EEPROMs: Aufladen des ”Floating Gate” mit Programmierspannung
SRAM (static random access memory)Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 385 / 495
Computer Architektur / Speicher Technologien
Speicher: Flip-Flops
6 Transistoren
Abbildung 139: 1-Bit-Speicherzelle (Flipflop) eines statischen RAM-Bausteins [14, S.208]
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 386 / 495
Computer Architektur / Speicher Technologien
verlustloses Lesen
schnell, Matrix,
teuer, aufwändig
Abbildung 140: Struktur eines statischen RAM-Bausteins [14, S.207]
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 387 / 495
Computer Architektur / Speicher Technologien
DRAM (dynamic random access memory)
Speicher: Kondensatorladung1 Transistor
Abbildung 141: 1-Bit-Speicherzelle eines dynamischen RAM-Bausteins [14, S.210]
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 388 / 495
Computer Architektur / Speicher Technologien
Zerstörendes Lesen -> Write after Read notwendig
Zykluszeit vergrößert
ohnedies schon groß (Lade/Entladeströme dauern...)
Einfacher Aufbau -> hoch integrierbar
Leckströme -> Refresh notwendig
Auslsen und wieder Beschreiben
Zeilenweise
Blockiert die Zeile nur unwesentlich
burst vs. distributed
selective refresh
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 389 / 495
Computer Architektur / Speicher Technologien
Abbildung 142: Struktur eines dynamischen RAM-Bausteins [14, S.209]
Magnetische Speicher
Magnetische RAMs sind zur Zeit in zwei grundlegenden Technologien inVerwendung:
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 390 / 495
Computer Architektur / Speicher Technologien
MRAMs (Magnetoresistive Random Access Memory)
FeRAMs (Ferroelectric RAM, auch FRAMs genannt)
MRAMs:
permanent und schnell!
stromsparend, geringe Wärme!
basiert auf Magnetisierung von (2) metallischen Schichten
eine Referenz, eine veränderbar
Strukturen nur wenige Atome dick
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 391 / 495
Computer Architektur / Speicher Technologien
Abbildung 143: MRAM [6]
FeRAMs: magnetisierbarer ferroelektrischer Film.
nicht flüchtig
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 392 / 495
Computer Architektur / Speicher Technologien
kein ”refresh”, kein ”write-after-read” nötig
höhere Dichte möglich als FLASH
billiger als FLASH
schneller als FLASH (100 ns Lese- bzw. Schreibzeit)
einfacher integrierbar als FLASH
Lebensdauer über 1010 Sreibzyklen
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 393 / 495
Computer Architektur / Speicher Organisierung
Abbildung 144: Nach dem MRAM ist es nicht vorbei. Schalter- und Speichertechnologie werden permanent weiterentwickelt.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 394 / 495
Computer Architektur / Speicher Organisierung
Organisierung
Dilemma: Speicherbedarf, Kosten, Geschwindigkeit -> Hierarchie
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 395 / 495
Computer Architektur / Speicher Organisierung
Abbildung 145: Beispielhafte Speicherhierarchie. (Die Angaben sind typische Werte und können je nach System beträchtlich davon abweichen.)
Die meisten Daten der oberen Hierarchiestufen sind Abbildungen vonDaten aus niedrigeren Hierarchiestufen. Daraus ergeben sich einigeProbleme:
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 396 / 495
Computer Architektur / Speicher Prinzipien bei der Speicherverwaltung
Dateninkonsistenzen
Geschwindigkeitsunterschiede
Lesen und Schreiben der Daten in Blöcken (Blocktransfersreduzieren den Einfluß von Positionierzeiten)Einsetzen von Pufferspeichern (z. B. die internen Caches vonFestplatten)Zeitlich versetzte (verschränkte) Speicherzugriffe (z. B. Interleavingbei DRAMs)Look-ahead-Techniken, um die demnächst benötigten Datenrechtzeitig bereitzustellen (zum Beispiel Befehls- oderDatenflußanalysen oder entsprechende Voraussagen)Parallele Zugriffe zu mehreren Speichereinheiten. (Solche Methodenwerden unter anderem zum Beispiel bei den Cache-Speichernangewendet)
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 397 / 495
Computer Architektur / Speicher Prinzipien bei der Speicherverwaltung
Prinzipien bei der Speicherverwaltung
Nicht jedes Programm benötigt den gesamten Adressraum
Betriebsystem portioniert den Hauptspeicher
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 398 / 495
Computer Architektur / Speicher Prinzipien bei der Speicherverwaltung
B
C
D
A
C
B
A
D
HauptspeicherLogischeAdresse
0
4K
8K
12K
0
4K
8K
12K
16K
20K
24K
28K
PhysikalischeAdresse
Mapping
Festplatte
Abbildung 146: Logischer und physikalischer Adressraum eines Programms. Nach[18, S.461]
Möglichkeiten:
Unterräume mit festen Größen: Man spricht hier von Seiten bzw.pages (Software-bezogen) oder von frames und Kacheln
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 399 / 495
Computer Architektur / Speicher Virtueller Speicher
(Hardware-bezogen), wobei die begrifflichen Abgrenzungen oftnicht beachtet werden.
Unterräume mit unterschiedlichen (variablen) Größen: Manspricht hier von Segmenten .Problem: Fragmentierung
Eine Lösung des Dilemmas liegt in einer kombiniertenSegment-Seiten-Verwaltung, bei der ein Segment aus einemganzzahligen Vielfachen von Seiten (pages) besteht. DiesesVerfahren wird paged segments genannt.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 400 / 495
Computer Architektur / Speicher MMU
Virtueller Speicher
Mangel an Hauptspeicher
Auslagerung auf Massenspeicher
Reservierter Adressbereich des Massenspeichers alsHauptspeicher ansprechbar
Vergleich mit Cache
Abbildung von Speicher A auf Speicher B
MMU Unterstützung
Mapping Tables
Implementierungsunterschiede zu Cache
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 401 / 495
Computer Architektur / Speicher MMU
MMU
TranslationLookaside
Buffer
(TLB)
Paging Unit
SegmentationUnit
Internal Bus
From PrefetchUnit
To ExternalBus
To Instruction Cache
Abbildung 147: Funktionsblöcke einer möglichen MMU. Nach[25, S.17]
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 402 / 495
Computer Architektur / Speicher MMU
Übersetzen der logischen Adressen in physikalische Adressen
Übertragung der physikalischen Adressen in den Cache oder aufden externen Adress-Bus.
Hardwareunterstützung für Virtual Memory und normales Pagingin der Paging Unit
Hardwareunterstützung für Segmente
Unterstützung für Memory Protection
Implementierung des Translation Lookaside Buffers (auchAddress Translation Cache genannt)
evtl. Unterstützung der Cache-Verwaltung (z. B. bei 68030 unddarüber)
evtl. DRAM Refresh
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 403 / 495
Computer Architektur / Speicher MMU
Virtual Page Number Offset
12 11 031
Physical Page Number Offset
12 11 031
TranslationLookaside
Buffer=
AddressTranslation
Cache
20H
it 20
Miss
12
0
AccessedPage (Frame)
Page Base
Offs
et
Accessed Item
Abbildung 148: Übersetzung der virtuellen in die physikalische Adresse Nach [25, S.58]
Paging Unit / Segmentation Unit mit TLB Beispiel
32-Bit Adressraum, 4 kByte Pages
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 404 / 495
Computer Architektur / Speicher Schutzkonzepte
log. Adresse = Offset + virt. Page Number
Virt. Page Number -> Phys. Page Number
TLB hilft dabei. miss -> page table im RAM
Segmente: pages mit flexibler Größe
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 405 / 495
Computer Architektur / Speicher Schutzkonzepte
Schutzkonzepte
Multitasking, multi-user
Schutz gegen absichtliche und unabsichtliche Bedrohungen
Grenzen für Adressen:
Base≤Address≤Bound
kernel/user process mit unterschiedlichen Zugriffsrechten
system call: umschalten
Virtual Memory für Schutz mitverwenden
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 406 / 495
Computer Architektur / Speicher Schutzkonzepte
Berechtigungsflags für pages
Read only für Code
Speicherbereiche exklusiv für user/kernel Code
Eigene pages table per Prozess
usw -> Deskriptoren
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 407 / 495
Computer Architektur / Speicher Schutzkonzepte
Zugriffsrechte
Objekte
Subjekte
Rij
Oj
Si
Abbildung 149: Eine Objektschutzmatrix ([15])
Beispiel: no-exec bit
Buffer overflow Attacke
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 408 / 495
Computer Architektur / Speicher Schutzkonzepte
Code wird mit speziellen Daten überschrieben
int main(int argc, char **argv){
char zeile[80];zeile[0] = 0;gets(zeile);// diverser anderer code, usw ...return retval;
}
Code wird mit speziellen Daten überschrieben
no-exec für Datenbereich, write only für Code
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 409 / 495
Computer Architektur / Speicher Schutzkonzepte
Beispiel: Protected Mode
ab 80286
Segmentierte Adressen -> aus 16 mach 20 Bit
Segment xxxx xxxx xxxx xxxx 0000+Offset 0000 xxxx xxxx xxxx xxxx---------------------------------Address yyyy yyyy yyyy yyyy yyyyPeter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 410 / 495
Computer Architektur / Speicher Schutzkonzepte
Abbildung 150: Die Segment Register des 80386
Der protected mode eines 80386 bietet hingegen:
32-bit flache Adresse (d. h. 4 GByte linear adressierbar, beim 16-Bitprotected mode immerhin 16 MByte)
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 411 / 495
Computer Architektur / Speicher Schutzkonzepte
64 TByte virtual memory
6 Segment Register, mit einem
Offset und einemSelector, einem Zeiger auf ”segment descriptors”, die
eine start address des Segments (32 Bit),ein offset limit (20 Bit, Grenzen des Segments zum Schutz) undread/write permissions
enthalten.
Der Descriptor Privilege Level (DPL) des 80386 beschreibt, was einProzess tun darf:
PL0: darf so zirka alles, typischerweise für den Kernel
PL1: Rest des Betriebsystems
PL2: I/O Zugriff, für Device drivers
PL3: Userspace Programme
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 412 / 495
Computer Architektur / Speicher Error Correction
PL0 zum Beispiel darf als einziger die Instruktionen HLT oder ein MOVauf control/debug/test Register ausführen. Jeder Level hat seineneigenen Stack, um Sicherheitsbrüche zu vermeiden.
Beispiel: Sicherheitsstrukturen nach der IA-32 (z. B. Pentium)
Ein Deskriptor enthält folgende Daten:
Present bit - Beschreibt, dass der Deskriptor eine gültigephysikalische Adresse enthält.
Base field - Die physikalische Adresse des ersten Bytes einesSegments.
Access bit - Wird für Ersetzungsstrategien verwendet.
Attributes field - Spezifiziert gültige Operationen und dieProtection Levels, die diesen Deskriptor verwenden dürfen.
Limit field - Hier wird die obere Grenze des Segments, also derBound gespeichert.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 413 / 495
Computer Architektur / Speicher Error Correction
MMU überprüft Limits und Sicherheitslevel
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 414 / 495
Computer Architektur / Speicher Error Correction
Error Correction
Fehler sollen erkannt werden
bei Speicherung, Übertragung, Verarbeitung, etc.
-> zusätzliche Prüfinformation
per Codewort oder Block
Hammingdistanz bei binären Daten:
n fehlerhafte Bits erkennen: h=2n+1
Beispiele für einfache Codes:
Parity bits (1-Bit Quersumme)
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 415 / 495
Computer Architektur / Speicher Error Correction
Bei Blöcken horizontal und vertikal
Daten BitsZeilenParityCheck
SpaltenParityCheck
ParityCheck auf die Parity Checks
Abbildung 151: Einfache Blocksicherung durch zweifache Bildung von Paritybits. nach[16, S.354]
Etwas aufwendigere aber sehr gebräuchliche Codes mit Fehlerkorrektursind auch:
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 416 / 495
Software- Hardware Annäherung /
Reed-Solomon Code - Gehöhrt zur Klasse der linearenGruppencodes. Er ist nicht Bit sondern wortbasiert, jedes Wort wirdisomorph auf ein Element eines Galoisfeldes abgebildet.
Cyclic Redundancy Check (CRC) - Der CRC gehört zur Klasseder zyklischen Codes. Er basiert auf Polynomdivisionen auf demRing der Polynome. Der CRC ist relativ leicht in Hardware zuimplementieren und daher sehr beliebt.
CDs: Erkennung und Korrektur
ECC bei DRAMs ebenso
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 417 / 495
Software- Hardware Annäherung / Hochsprachen und deren Abbildung
Software- Hardware Annäherung
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 418 / 495
Software- Hardware Annäherung / Hochsprachen und deren Abbildung C/C++
Hochsprachen und deren Abbildung
HLL: höher, abstrakter als Maschinenspracheursprünglich: Schleifen, Bedingungen, etc.heute: Modularisierung, Kapselung, Vererbung, usw.
Höhere Programmiersprache Assemblersprachelesbar kaum lesbarmaschinenunabhängig maschinenabhängigabstrakte, maschinenunabhängigeDatentypen Datentypen des ProzessorsDatenstrukturen einfache TypenTypüberprüfung möglich Typüberprüfung unmöglich
Tabelle 11: Vergleich höhere Programmiersprache zu Assemblersprache
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 419 / 495
Software- Hardware Annäherung / Hochsprachen und deren Abbildung C/C++
C/C++
C Relativ maschinennahe, C++ OO Erweiterung von C
Eigenschaften von C++:
prozedurale Programmierung (Blockstrukturierung, Funktionen mitPrototypen)
modulare Programmierung (Namespaces zur Einschränkung desSichtbarkeitsbereiches von Namen, Überladen von Funktionen,statische Elemente)
generische Programmierung (Typen und Konstanten als Parameterfür Funktionen und Klassen, Standardbibliothek alsSprachstandard)
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 420 / 495
Software- Hardware Annäherung / Hochsprachen und deren Abbildung C/C++
objektorientierte Programmierung (Klassen, Einfach- undMehrfachvererbung, Polymorphismus)
Auszug aus einem Beispiel:
...struct dataColumns setHeaderNames(char type){
dataColumns tempheader;char *st;string tempname, coordtype;const char *tempappendix;string *colname;
ipdGetStringByName("type",&st);
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 421 / 495
Software- Hardware Annäherung / Hochsprachen und deren Abbildung Java
coordtype = string(st);string colnamerect[] = {"11re","11im"};string colnamepolar[] {"11abs","11arg"};
...return tempheader;
}...
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 422 / 495
Software- Hardware Annäherung / Hochsprachen und deren Abbildung Java
Java
Moderne Sprache mit ”virtueller Maschine”:
Plattformunabhängigkeit
Sicherheit
abstrahierte HW
Multithreading
Applications, Applets
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 423 / 495
Software- Hardware Annäherung / Hochsprachen und deren Abbildung Java
Program Bytecode
Virtual Machine
Java Compiler
Abbildung 152: Struktur von Java mit der Virtual Machine
Auszug aus einem Beispiel:
...public void init() {
setLayout ( myLayout );b1 = new Button("ok");add(b1,"West");
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 424 / 495
Software- Hardware Annäherung / Hochsprachen und deren Abbildung FORTRAN
b2 = new Button("cancel");add(b2,"South");lab = new Label("Hallo!");add(lab,"Center");tf = new TextField("",20);add(tf,"East");setSize(300,200); // or: pack();setVisible(true);
}...
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 425 / 495
Software- Hardware Annäherung / Hochsprachen und deren Abbildung FORTRAN
FORTRAN
weit verbreitet
Numerik
Strenge Syntax und Normung
Auszug aus einem Beispiel:
...real :: sum_x = 0.0 ! die Summe der eingegebenen Datenwertereal :: sum_x_2 = 0.0
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 426 / 495
Software- Hardware Annäherung / Hochsprachen und deren Abbildung FORTRAN
write(*,*) ’Berechnung des Mittelwertes und der Standardabweichung’write(*,*) ’nichtnegativer reeller Datenwerte’write(*,’(A//)’) ’Abbruch nach Eingabe einer negativen Zahl’
dowrite(*,’(A$)’) ’Datenwert eingeben: ’read(*,*) xreal :: sum_x = 0.0 ! die Summe der eingegebenen Datenwertereal :: sum_x_2 = 0.0 ! die Summe der quadrierten Datenwerte
write(*,*) ’Berechnung des Mittelwerts und der Standardabweichung’...n = n + 1sum_x = sum_x + xsum_x_2 = sum_x_2 + x**2
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 427 / 495
Software- Hardware Annäherung / Prozessoren
end do...
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 428 / 495
Software- Hardware Annäherung / Prozessoren
Prozessoren
Warum Hochsprachen?
Wartbarkeit
Portierbarkeit
Leichtere Fehlererkennung
Vorhandene Algorithmen
Höhere Produktivität
Code kann wiederverwendet werden
Heute fast nur noch HLL in Verwendung
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 429 / 495
Software- Hardware Annäherung / Prozessoren
Problem: Lücke HW - HLL
Annäherung von SW-Seite
Compiler oft besser als ”händische” Optimierung
in HLL kann bequem spezifiziert werden, Compiler optimiert für HW
Annäherung von HW-Seite
HW versteht HLL mehr oder weniger
z. B. picoJava Prozessor:
Direkte Ausführung des Java Byte Codes (nicht wie bei einer VirtualMachine mit einem Interpreter)
Thread Synchronisation über Hardwareeinrichtung
Hardwareunterstützung für den Garbage Collector
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 430 / 495
Software- Hardware Annäherung / Prozessoren
Abbildung 153: Architektur des picoJava Prozessors [7]
Optimierung von C++ Code mit out-of-order Trick:
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 431 / 495
Software- Hardware Annäherung / Prozessoren
double list[100];double sum = 0.;for(int i; i < 100; i++) {
sum += list[i];}
Problem: Lange Abhängigkeitskette. -> unterteilen
double list[100];double sum1 = 0.;double sum2 = 0.;for(int i; i < 100; i=i+2) {
sum1 += list[i];sum2 += list[i+1];
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 432 / 495
Software- Hardware Annäherung / Prozessoren
}sum1 += sum2;
Voila! Anderes Beispiel: ”Merge Sort”.
Weitere Beispiele für HW-Annäherung:
FORTH: MISC M17 (Minimum Instruction Set Computer), FRISC-3(Forth Reduced Instruction Set Computer), Harris RTX-2000
JAVA: Picojava, J-1, Patriot Scientific ShBoom PSC1000, JOP(Java Optimized Processor, als FPGA core zu haben!), LavaCORE(ebenso), Imsys Cjip Java Processor, Javelin Stamp (Abb. 154) unddiverse andere
LISP: Scheme-79 lisp, ULM (UnicLisp Machine)
BASIC: PIC Basic Stamp (Abb. 154)
PROLOG: POPE (Parallel Operating Prolog Engine)
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 433 / 495
Software- Hardware Annäherung / Prozessoren
BASIC Stamp Javelin Stamp
Abbildung 154: Die Javelin Stamp und die BASIC Stamp. Der Name Stamp soll auf die geringen ”footprint” hinweisen.
NAP period: eine kurze Zeit (2period ∗ 18ms) schlafen und Stromsparen
SLEEP seconds: ein wenig länger schlafen (ein Hundertstel desStromverbrauchs).
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 434 / 495
Software- Hardware Annäherung / Prozessoren
GOTO
GOSUB
IF
BRANCH
FOR / NEXT
SEROUT / SERIN: serielles Interface.
INPUT / OUTPUT: die Richtung eines Pins deklarieren.
LOW / HIGH: einen Pin treiben.
PULSOUT / PULSIN: einen einzelnen Puls treiben bzw. messen.
usw.
Als Beispiel sei der Code eines einfachen Basic Programms für dieBasic Briefmarke gezeigt.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 435 / 495
Software- Hardware Annäherung / Betriebssysteme, Scheduler
Symbol val = b0begin: for val = 0 to 156
read val,b12serout AB,N2400,(#b12,10,13) ’daten sendennext val
end
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 436 / 495
Software- Hardware Annäherung / Betriebssysteme, Scheduler Betriebssysteme
Betriebssysteme, Scheduler
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 437 / 495
Software- Hardware Annäherung / Betriebssysteme, Scheduler Betriebssysteme
Betriebssysteme
Abstrahiert HW
Trennt/Verbindet HW und SW
Bietet Dienste an SW an
Praktisch: Mit einem Betriebssystem wird der Computer einfacherbedienbar.
Effizient: Durch das Betriebssystem werden die Ressourcen desComputers wesentlich effizienter genutzt.
Entwicklung: Ein Betriebssystem sollte dermaßen konstruiert sein,dass man ohne weitere Probleme (z. B. kein Einfluss auf andereDienste) neue Funktionen entwickeln, testen und einführen kann.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 438 / 495
Software- Hardware Annäherung / Betriebssysteme, Scheduler Betriebssysteme
Programmverwaltung (Prio, Scheduler, Speicher, I/O, etc.)
HW-Zugriff über Treiber (Kapselung, Schutz, Abstrahierung, etc.)
Speicher: Filesystems, Registries, etc.
Multiuser, Multitasking, usw.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 439 / 495
Software- Hardware Annäherung / Betriebssysteme, Scheduler Betriebssysteme
Applikation
Utilities
Betriebssystem
Computer Hardware
Abbildung 155: Ebenen eines Computer Systems
Betriebsysteme führen zu:
Prozesse
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 440 / 495
Software- Hardware Annäherung / Betriebssysteme, Scheduler Scheduling
Speicherverwaltung
Zugriffsschutz
Scheduling und Ressourcenverwaltung
Systemarchitektur
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 441 / 495
Software- Hardware Annäherung / Betriebssysteme, Scheduler Scheduling
Scheduling
Kern des OS. Wichtig:
Antwortzeit
Durchsatz
Prozessorauslastung
...
Drei Ebenen des Schedulings:
Long-term Scheduling:Wird ausgeführt, wenn ein neuer Prozess erzeugt wurde. Dabeiwird die Entscheidung getroffen, ob ein neuer Prozess zu denaktiven Prozessen hinzugefügt werden soll.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 442 / 495
Software- Hardware Annäherung / Betriebssysteme, Scheduler Scheduling
Medium-term Scheduling:Ein- und Auslagern von Prozessen (Memory Management)
Short-term Scheduling:Bestimmung des Prozesses der als nächstes ausgeführt werdensoll.
Selection function (welcher Prozess soll als nächstes verarbeitetwerden):- bisheriger Verweildauer der Prozesse- bisherige Ausführungszeit- gesamte Ausführungszeit
Decision mode:- Non-preemptive (keine externe Unterbrechung von Prozessendurch das Betriebssystem)- Preemptive (Unterbrechung durch das Betriebssystem möglich)
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 443 / 495
Software- Hardware Annäherung / Compiler
First Come First Served
Round Robin
ProzessorQueue
neuer Prozesse Prozess abgearbeitet
Abbildung 156: First Come First Served
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 444 / 495
Software- Hardware Annäherung / Compiler Allgemein
Compiler
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 445 / 495
Software- Hardware Annäherung / Compiler Allgemein
Allgemein
Übersetzt Programm von Sprache A in Sprache B
Zielsprache kann Maschinensprache sein
CompilerQuellprogramm Zielprogramm
Fehlermeldung
Abbildung 157: Compiler
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 446 / 495
Software- Hardware Annäherung / Compiler Allgemein
Der Übersetzungsprozess besteht aus zwei Teilen:
Analyse: zerlegt das Quellprogramm in seine Bestandteile underzeugt eine Zwischendarstellung (z. B. Syntaxbaum) desQuellprogramms
Synthese: konstruiert das gewünschte Zielprogramm aus derZwischendarstellung
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 447 / 495
Software- Hardware Annäherung / Compiler Allgemein
:=
+
*
position
anfangswert
rate 20
Abbildung 158: Syntaxbaum für position := anfangswert + rate * 20
Zusatzprogramme oder -dienste:
Modulverwaltung
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 448 / 495
Software- Hardware Annäherung / Compiler Analyse des Quellprogramms
Makros
Linker
Abbildung 159: Ablauf einer Compilierung
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 449 / 495
Software- Hardware Annäherung / Compiler Analyse des Quellprogramms
Analyse des Quellprogramms
Die Analyse beim Übersetzen des Quellprogrammes besteht aus dreiTeilen:
Lineare Analyse (lexikalische Analyse): Der Strom von Zeichen, ausdenen das Quellprogramm besteht, wird von links nach rechtsgelesen und in Symbole aufgeteilt. Ein Symbol stellt eine Folge vonZeichen dar, die zusammen eine bestimmte Bedeutung haben.
Hierarchische Analyse (Syntaxanalyse): Ihre Aufgabe besteht darin,die Symbole des Quellprogramms zu grammatikalischen Sätzenzusammenzufassen, die der Compiler zur Erzeugung einerAusgabe benutzt.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 450 / 495
Software- Hardware Annäherung / Compiler Phasen eines Compilers
Semantische Analyse: Dieser Teil der Analyse überprüft dasQuellprogramm auf semantische Fehler und sammeltTyp-Informationen für die anschließende Phase derCode-Generierung.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 451 / 495
Software- Hardware Annäherung / Compiler Umgebung eines Compilers
Phasen eines Compilers
1 lexikalische Analyse
2 Syntaxanalyse
3 semantische Analyse
4 Zwischencodeerzeugung
5 Codeoptimierung
6 Codeerzeugung
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 452 / 495
Software- Hardware Annäherung / Assembler Sprache
Umgebung eines Compilers
Präprozessoren erzeugen die Eingabe für einen Compiler. Sie könnenfolgende Funktionen übernehmen:
Makro-Bearbeitung (Makros als Kürzel für größere Konstrukte)Einkopieren von Dateien (#include ...)Rationale Präprozessoren (ältere Sprachen werden durchmodernere Möglichkeiten zur Kontrollflussmanipulation undDatenstrukturierung angereichert)Spracherweiterungen (der Sprache in Form eingebauter Makrosneue Möglichkeiten hinzuzufügen)
Verschiebbarer Maschinencode: keine (fixen) AdressenBinder(=Linker)/Lader: Adressen zuweisen, Libraries einbinden
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 453 / 495
Software- Hardware Annäherung / Assembler Sprache Grundlegende Konzepte eines Assemblers
Assembler Sprache
Reine Übersetzung von Assemblersprache auf Maschinensprache
”humanere” Maschinenprogrammierung
Disassembler möglich
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 454 / 495
Software- Hardware Annäherung / Assembler Sprache Funktionsweise eines Assemblers
Grundlegende Konzepte eines Assemblers
Mnemonics :Beispiel:
MOV R2, R1
Labels : Um Sprünge innerhalb des Programmcodes durchführenzu können, benötigt ein Prozessor Adressangaben. Diese sindmeist mühsam zu berechen und ändern sich beim Einfügen jedesOpcodes aufs Neue.
Macros : Oft muss man kleine Programmabläufe mehrmalswiederholen.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 455 / 495
Software- Hardware Annäherung / Assembler Sprache Funktionsweise eines Assemblers
Funktionsweise eines Assemblers
start:LDI R16, 2MOV R17, R16LDI R16, 3ADD R16, R17LDI R17, 5CP R16, R17BREQ equal
notequal:LDI R18, 0JMP end
equal:LDI R18, 1
end:
1110 0000 0000 00100010 1111 0001 00001110 0000 0000 00110000 1111 0000 00011110 0000 0001 01010001 0111 0000 00011111 0000 0001 10011110 0000 0010 00001001 0100 0000 11000000 0000 0000 10111110 0000 0010 0001
assemblieren
disassemblieren
Beispiel: Laden der konstanten Zahl 5 in das Register R17
LDI R17, 5 1110 0000 0001 0101
Assembler Sprache: Maschinencode:(Abbild des Programmspeichers)
Abbildung 160: Beispiel eines Assemblercodes und übersetztem Maschinencode (AVR Assembler).
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 456 / 495
Software- Hardware Annäherung / Assembler Sprache Vor- und Nachteil bei der Programmerstellung in Assembler
Check auf Korrektheit
Adressen verteilen
Ergebnis: binäre(r) Block(s) plus Startadresse(n), auch als HEX-File
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 457 / 495
Software- Hardware Annäherung / Assembler Sprache Vor- und Nachteil bei der Programmerstellung in Assembler
Vor- und Nachteil bei der Programmerstellung in Assembler
Assembler ist die einzige Programmiersprache die 1-zu-1 inMaschinencode übersetzt wird. Als Programmierer hat man somitdirekten und vollen Zugriff auf alle Register und Funktionen einesProzessors. Programmiert man beispielsweise ein Betriebssystemoder einen Bootloader kommt man nie gänzlich ohne Assembleraus.
In Assembler ist es möglich einen Algorithmus minimal zuimplementieren. In der Regel wird es keinen Compiler geben dereine derart hohe Effizienz erreichen wird.
Kommt es auf jedes Byte an muss man Assembler nehmen: Mussein Programm sehr wenig Speicher verbrauchen, so ist Assembler
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 458 / 495
Software- Hardware Annäherung / Assembler Sprache Wichtige Befehle
die Sprache der Wahl, da kein Compiler so gut optimieren kann wieein guter Programmierer.
Assembler wird schnell unübersichtlich. Handelt es sich umkomplexe Programme, die viele unter-Programme besitzen, kannder Assemblercode sehr schnell unüberschaubar werden. MöglicheFehler wie Mehrfachverwendung von Registern und falscheVerzweigungen können die Folge sein. Solche Fehler können dannsehr schwer zu finden sein. Deshalb ist es bei der Programmierungin Assembler unbedingt notwendig einen strukturiertenProgrammierstil beizubehalten.
Sind höhere Datenstrukturen notwendig die über dieGrunddatentypen des Prozessors hinausgehen, kann Assemblernicht mehr eingesetzt werden. Beispiel: Float Manipulationen aufeinem 8-Bit Prozessor ohne Floating Point Unit.
Komplexe Programmverschachtelungen sind in Assembler nur sehrschwer zu implementieren.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 459 / 495
Software- Hardware Annäherung / Assembler Sprache Wichtige Befehle
Wichtige Befehle
MOV: Kopieren eines Registerinhalts in ein anderes Register.
LOAD : Laden eines Speicherinhalts in ein Register. Hierfür gibt esje nach konkreter Prozessorarchitektur verschiedene Varianten:
Direktes Laden von einer SpeicherstelleIndirektes Laden: Speicherstelle steht in einem Register (alsabsolute Adresse oder relativ zur aktuellen Programmposition)
STORE: Speichern eines Registerinhalts in ein Speicherziel. Auchhier gibt es wie für LOAD verschiedene Varianten.
ADD, SUB: Addition und Subtraktion eines Registerinhalts voneinem anderen.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 460 / 495
Test und Verifikation /
AND, OR: Operation „und“ bzw. „oder“ Bitweise auf zweiRegisterinhalte.
CMP: Vergleich zweier Registerinhalte.
BRANCH : Sprung zu einer Programmstelle, wenn eine gewisseBedingung erfüllt ist. Z. B.: branch if equal
BREQ
JUMP: Sofortiger Sprung zu einer anderen Programmstelle.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 461 / 495
Test und Verifikation /
Test und Verifikation
Zuverlässigkeit, Verfügbarkeit, etc.
abhängig von Einsatzgebiet, Produkt, etc.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 462 / 495
Test und Verifikation / Debug hardware
Anwendung Kosten in USDBrokerage operations 6.450.000
Credit card authorization 2.600.000Ebay 225.000
Amazon.com 180.000Package shipping services 150.000
Home shopping channel 113.000Catalog sales center 90.000
Airline reservation center 89.000Cellular service activation 41.000
On-line network fees 25.000ATM service fees 14.000
Tabelle 12: Die Kosten einer Stunde ”Downtime” ([20])
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 463 / 495
Test und Verifikation / Debug hardware Built in self test (BIST)
Debug hardware
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 464 / 495
Test und Verifikation / Debug hardware Built in self test (BIST)
Built in self test (BIST)
Boundary-Scan für Speichertest
Speichergröße Testzeit64 kByte 1.4 min.256 kByte 23 min.1 MByte 6 Std.
Tabelle 13: Testzeiten bei einem Speicher mit einem 100 MHz Tester und 2N2 Testvektoren
Testzeiten normalerweise nicht vertretbar
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 465 / 495
Test und Verifikation / Debug hardware Built in self test (BIST)
Testen von komplexen ICs de-facto unmöglich
-> Selbsttests
Offline-Selbsttest:Dabei wird der normale Betrieb für das Testen unterbrochen.
Online-Selbsttest:Während des Arbeitens werden die Einheiten überprüft(redundante Codes, modifizierte arithmetische Einheiten).
Strukturmöglichkeiten (Abbildung 161):
1 Pattern-Generator und Pattern-Auswertung direkt am Chip
2 Redundanz am Chip
3 Gesicherte Codes
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 466 / 495
Test und Verifikation / Debug hardware Scan Path
Abbildung 161: Strukturmöglichkeiten BIST [8]
VT: Geschwindigkeit, Machbarkeit
NT: höherer HW-Aufwand, zeitlicher Aufwand
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 467 / 495
Test und Verifikation / Debug hardware Scan Path
Scan Path
Verkettung aller Flip-Flops
Ermöglicht das ”Herausziehen” der internen Zustände
Testprinzip:
1 Scan Mode einschalten und Testmuster eintakten
2 Scan Mode ausschalten, einen oder mehrere Taktschritte laufenlassen
3 Scan Mode wieder einschalten und die beobachtete Systemantwortseriell auslesen
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 468 / 495
Test und Verifikation / Debug hardware Scan Path
Abbildung 162: Scan Path Technik [9]
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 469 / 495
Test und Verifikation / Debug hardware Scan Path
Abbildung 163: Scan Path Element [9]
Mehraufwand:
3 Pins
Spezielle D-Flip-Flops
Zusätzliche HW -> Laufzeiten
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 470 / 495
Test und Verifikation / Boundary Scan
Vorteil:
Automatisiertes Generieren von Test/Vergleichsmustern
Automatisiertes Generieren der Testlogik
Nur 3 Pins
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 471 / 495
Test und Verifikation / Boundary Scan
Boundary Scan
Zum Testen digitaler und analoger Bausteine
Ursprung: Prüfspitzen-Methode immer schwieriger
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 472 / 495
Test und Verifikation / Boundary Scan
Abbildung 164: Einblick in einen Mikrochip mit 256 Pins.
Schlecht zugängliche Testpunkte
Hidden layers (bis zu 20)
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 473 / 495
Test und Verifikation / Boundary Scan
Pincount
Packages wie BGA
Ziel:
1 Testen direkt nach der Bestückung, noch in der Produktionsphase
2 Testen während der Initialisierungsphase, wenn Probleme auftreten
3 Testen bei der Wartung
4 Online-Testen
Standard IEEE 1149 (JTAG)
Weithin akzeptiert bei komplexen Produkten
Mode-Eingang: Nutz/Scan-Daten Umschaltung
Scan-In, Data-Out
Core Logic: die eigentliche Schaltung, Funktion
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 474 / 495
Test und Verifikation / Boundary Scan
Abbildung 165: Boundary Scan Zelle
”Silicon Nails” zwischen Pins und Schaltung
Kette von Registern -> Schieberegister
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 475 / 495
Test und Verifikation / JTAG
Bidirektionale Pins: mehrere Boundary Scan Zellen nötigState Machine in TAP (Test Access Port)Umschalten zwischen Modi
Abbildung 166: Prinzipieller Aufbau eines Boundary-Scan-ICs
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 476 / 495
Test und Verifikation / JTAG Funktionsweise
JTAG
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 477 / 495
Test und Verifikation / JTAG Funktionsweise
Funktionsweise
wichtigste Schnittstelle bei der Entwicklung von Embedded Systems
Downloaden, Testen, usw.
Erfordert Zusatz-HW und JTAG Port auf Target-HW
JTAG-Port: 5 Pins
Boundary Scan, verkettbar
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 478 / 495
Test und Verifikation / JTAG Vorteile
Mikroprozessor 3Mikroprozessor 1 Mikroprozessor 2
TDI
TDO
TMS
TCK
JTAG−Leitungen
TDI TDO TDI TDO TDI TDO
TCK TMS TCK TMS TCK TMS
Embedded System
RSTRESET RESET RESET
Abbildung 167: Schematische Darstellung einer JTAG-chain.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 479 / 495
Test und Verifikation / JTAG Vorteile
Vorteile
Einfache Verbindung : Durch wenige Leitungen können zahlreicheProzessoren auf einmal angesprochen werden.
Debug im fertigen Produkt : Auch wenn ein Prozessor in einemfertigen Produkt eingebaut ist, kann dieser einer Debug-Prozedurunterzogen werden, da jedes hergestellte Exemplar einesJTAG-fähigen Prozessors auch tatsächlich einen JTAG Port besitzt.
Direktzugriff auf alle relevanten Register und I/O möglich : Beieiner guten Debug-Hardware ist es möglich alle Register und I/OPorts eines Mikroprozessors über JTAG abzufragen und zu setzen.
Preisgünstig : Für die meisten Prozessortypen sind sehrpreisgünstige JTAG-zu-PC Verbindungen erhältlich. In der Regel
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 480 / 495
Test und Verifikation / JTAG Nachteile
handelt es sich um kleine Einheiten die über USB an den PCangeschlossen werden. Es gibt jedoch auch Lösungen via Ethernetoder Spezialhardware. ICE Lösungen können hier von den Kostenher bei weitem nicht mithalten.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 481 / 495
Test und Verifikation / JTAG Nachteile
Nachteile
Proprietäre JTAG-Hardware notwendig : In der Regel ist esnotwendig zu jeder Prozessortype eine JTAG-PC „Verbindungsbox“zu erwerben.
Höhere Stückpreise für Prozessoren : Da für JTAG zusätzlicheSchaltkreise am Chip notwendig sind wird die Produktionkomplexer, was sich in höheren Stückpreisen äußert. Da JTAG abermittlerweile sehr weit verbreitet ist, spielt ein solcher Vergleich eineuntergeordnete Rolle.
Der Programmablauf muss unterbrochen werden umDebug-Informationen zu übertragen: Da natürlich ein Serieller Busnie so schnell sein kann, dass jeder Vorgang innerhalb des
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 482 / 495
Test und Verifikation / JTAG JTAG in der Praxis
Prozessors nach außen geführt wird, werden Debug-Informationennur auf Anfrage übertragen. Um beispielsweise den Wert einesRegisters auszulesen muss die CPU somit angehalten werden.Dies kann jedoch zu Problemen führen, wenn das zuuntersuchende Programm gerade eine Kommunikation mit externenKomponenten durchgeführt hat.
Traces nur beschränkt möglich : Der Nachteil eines seriellenDebug-Busses liegt darin, dass ein vollständiges Verfolgen desProgrammablaufs bei hohen Taktraten unmöglich ist. Diesesogenannte „trace“-Funktionalität, die bei In-Circuit Emulatorenmeist vorhanden ist, geht hier verloren. Da moderne Prozessorenjedoch viel zu aufwändige und teuere ICE bräuchten, wurden auchfür JTAG Lösungen entwickelt die „traces“ in beschränktem Umfangermöglichen.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 483 / 495
Test und Verifikation / JTAG JTAG in der Praxis
JTAG in der Praxis
Der Programmablauf muss unterbrochen werden umDebug-Informationen zu bekommen. Dies kann zu großenProblemen führen: Wenn eine Kommunikationsroutine in ihremAblauf unterbrochen wird, kann diese unter Umständen nicht mehrfortgesetzt werden, da externe Komponenten in einen„timeout“-Zustand kommen.
Nicht alle Arten von Breakpoints sind möglich. Möchte man eineProzess debuggen der eine Kommunikation durchführt und es trittbeispielsweise erst bei der 10. Übertragung ein Problem auf, so istes schwierig den Programmablauf erst exakt dort zu unterbrechenum den Fehler untersuchen zu können. Bricht man vorher ab und
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 484 / 495
Test und Verifikation / In-Circuit Emulatoren (ICE)
setzt man das Programm schrittweise fort kann es wiederum zuTimeouts kommen.
Nicht jedes JTAG-Debug-Tool hält was der Hersteller verspricht:Inkompatibilitäten treten oft auf, und bei sehr hohen JTAG-Taktratenkann es bei unausgereiften Produkten oft zu Problemen kommen.Zusätzlich ist man je nach Hersteller oft auf gewisse SoftwareWerkzeuge beschränkt, die nicht unbedingt mit der jeweiligenEntwicklungsumgebung zusammenspielen.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 485 / 495
Test und Verifikation / In-Circuit Emulatoren (ICE)
In-Circuit Emulatoren (ICE)
Ersetzt/Emuliert Target-HW
Bedienung via PC
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 486 / 495
Test und Verifikation / In-Circuit Emulatoren (ICE)
Abbildung 168: Beispiel eines ICE: Hitex AX6811 ICE für 8-Bit Mikrocontroler von Motorola und ST.
Es gibt zwei Arten von ICE:
reine Emulation (flexibel, timing?)
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 487 / 495
Test und Verifikation / Umgebungen
Bond-out Chip Debug-Leitungen (realer, teurer)
”traces”: Programmablauf
Statistik, hot-spots
ICE bei komplexen Designs immer schwieriger
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 488 / 495
Test und Verifikation / Umgebungen
Umgebungen
Herausforderungen:
Temperatur,
Strahlung,
Vibration,
Feuchtigkeit,
usw.
Reduktion der Lebensdauer
”Military” Grade
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 489 / 495
Test und Verifikation / Umgebungen
für Luft- und Raumfahrt, Medizin, etc.
Abbildung 169: Strahlung und geeignete Technologien wie Radiation Tolerant oder Radiation Hard CMOS.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 490 / 495
Test und Verifikation / Umgebungen
http://www.hardwareluxx.de.
http://www.amd.de.
http://pdf.euro.apple.com/pdf/pnP̄MG5techOV/PMG5_TO.pdf.
http://java.sun.com/index.jsp.
http://www.hp.com.
http://www.europhysicsnews.com/full/24/article9/article9.html.
http://www.cs.ualberta.ca/ macg/C429/Extras/picoJava.htm.
http://www.ict.tuwien.ac.at/asicdesign/lehre/384088.html.
http://www.me.tu-cottbus.de/scripts/ske/11-testsysteme.pdf.
http://nobelprize.org/physics/educational/integrated_circuit/history/,2005.
E. Bertagnolli and E. Gornik.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 491 / 495
Test und Verifikation / Umgebungen
Bauelemente der elektronik.Technical report, TU-Wien, 2004.
G. C. Shephard Branko Grunbaum.Tilings and patterns.W. H. Freeman and Co., New York, 33, 1986.
Ramacher U. et. al.Multiprocessor and memory architecture of the neurocomputersynapse-1.In Proc. World Congr. on Neural Networks, Portland, OR, Vol. IV1993, pages 775–778, 1993.
Thomas Flik and Hans Liebig.Mikroprozessortechnik.Springer-Verlag Berlin Heidelberg, vierte edition, 1994.
Wolfgang K. Giloi.Rechnerarchitektur.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 492 / 495
Test und Verifikation / Umgebungen
Springer, 1993.
Ian A. Glover and Peter M. Grant.Digital Communications.Pearson Education Limited, second edition, 2004.
Jim Handy.The Cache Memory Book.Academic Press, Inc. San Diego, second edition, 1998.
John L. Hennessy and David A. Patterson.Computer Architekture A Quantitative Approach.Morgan Kaufmann Publishers, third edition, 2003.
Borut Robic J. Silc and Theo Ungerer.Processor Architecture.Springer, 1999.
R. Kembel.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 493 / 495
Test und Verifikation / Umgebungen
Fibre Channel: A Comprehensive Introduction.2000.
Steven A. Serati Kipp A. Bauchert.Data flow architecture for high-speed optical processors.Society of Photo Instrumentation Engineers, 3386, 1998.
Alexander Klaiber.The technology behind crusoe processors.Technical report, Transmeta Corp., 2000.
Nadrian C. Seeman.Nucleic acid junctions and lattices.Journal of Theoretical Biology, 99, 1982.
Nadrian C. Seeman.Structural dna nanotechnology: A new organizing principle foradvanced nanomaterials.Materials Today, 6, 2003.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 494 / 495
Test und Verifikation / Umgebungen
Daniel Tabak.Advanced Microprocessors.McGraw-Hill, Inc., second edition, 1995.
Erik Winfree.Dna computing by self-assembly.NAE’s The Bridge, 33, 2003.
Peter Palensky / Institut für Computertechnik Mikrocomputer 384.104 VO 2,0 c© 3. Oktober 2006 495 / 495