hardware vs. software - ein erster vergleich€¦ · “hardware ist der oberbegriff für alle...
TRANSCRIPT
Hardware vs. Software- ein erster Vergleich
Hardware
“Hardware refers to the physical pieces of a computer...”- https://www.reference.com/
“Die Hardware umfasst alle Bestandteile einer Maschine, insbesondere einer Computeranlage...”- http://definition-online.de/hardware/
Universelle Definition?
“Hardware ist der Oberbegriff für alle mechanischen, elektrischen und elektronischen Komponenten, Baugruppen und Ausrüstungen eines Computers oder eines Systems.”- DIN 44.300
Hardware Lösung: Beispiel
● ARINC664, Part 7– Full duplex switched Ethernet Standard für die
Luftfahrt.
● Beschreibt die Realisierung eines gesamten Systems
● Ohne Software (zB. Switches) nicht funktionsfähig.
Software
● Definition● Hardware/Software Interface ist entscheident
– Compiler, Interpreter, Verifizierbarkeit
● Beeinflusst direkt:– Kosten
– Performance
– Sicherheit
Software Lösung: Beispiel
● C Programm● Keine Software ohne Hardware● Verschiedene Abstraktionsgrade
– Maschinennahe Software
– Implementierungen in einer Hochsprache
Hardware/Software Co-Design
“Hardware/Software Co-Design is the design of cooperating hardware components and software components in a single design effort.”- Patrick Schaumont – A Practical Introduction to Hardware/Software Codesign
● Großes Wissen über Hardware und Software notwendig im Designprozess
● Hauptproblem: Partitioning
Implementierung in SW/HW?
“Hardware-like” “Software-like”Performance Handling von hoher Komplexität
Energieeffizienz Senken von Designkosten
Rolle des FPGA
● Ermöglicht HW/SW Co-Design● Microprozessor und Custom Processor
PRO CONTRAKurze Implementierungszeiten Geringere Taktraten
Geprüftes Silizium Höherer Flächenbedarf
Senkt das Designrisiko Höherer Leistungsbedarf
Rekonfigurierbarkeit
Partitioning
Partitioning (contd)
● NP-hard● Hauptsächlich manuell● Die Möglichkeiten der Automatisierung des
Partitioning werden seit über 26 Jahren untersucht
Automatisiertes Partitioning- Co-Design Ladder
- Frank Vahid, Greg Stitt – Hardware/Software Partitionig
HW/SW Entwurf - Vergleich
- Marco Platzner, Lothar Thiele, ETH Zürich - Hardware/Software Codesign
HW/SW Entwurf – Vergleich (contd)
Hardware SoftwareTräge Flexibel
Nach der Produktion schwer anpassbar Ständige Anpassung möglich
Kostenkurve steigt stark Kostenkurve flach
Viele Testcases Noch mehr Testcases
HW/SW Entwurf - Gemeinsamkeiten
● Erfassen und Simulieren● Grobe Blockstruktur = Spezifikation
– Verfeinerung:
– HW: Logik/Transistor Diagramme
– SW: Assembler
● Simulation, Emulation, Validierung
Tools
● Teure Hardwaretools (Xilinx, Altera, …)● Günstige/Gratis Softwaretools
Kosten FPGA/ASIC
Anforderungen aus offenen Jobausschreibungen
Abgeschlossene Ausbildung
Englisch, Teamfähigkeit
C
Oo Programmierung (C++, Java)
Standards/Protkolle
Matlab Simulink, Embedded Linux, Berufserfahrung
Maschinennahe Programmierung
VHDL, VPGA, Echtzeitsysteme
Analoge Schaltungstechnik, Messtechnik, SPICE
Microcontroller, Skriptsprachen (Python)
Dependable Systems, Verifikation, System Architekturen, Websprachen
0 5 10 15 20 25 30www.karriere.atSuchanfrage: Embedded Systems, Wien/GrazGrundmenge: 27
Maintenance
● Abhängigkeiten– Umgebung
– Zugriffsmöglichkeiten
– Einsatzgebiet
– Alterung
– Laufzeitverhalten
Maintenance (contd.)
● Bsp.: Tracing– Analysiert das Systemverhalten zur Laufzeit
– Aufwändige Analyse
– In Hardware oder Software realisierbar● HW: Embedded Trace Macro Cell (Bsp. )● SW: Für alle Arten von Software verfügbar
Software Tracing
- Jonas Trümper, Stefan Voigt, Fürgen Döllner- Maintenance of Embedded Systems: Supporting
Program Comprehension Using Dynamic Analysis
Hardware vs. SoftwareVorteile
Hardware SoftwareGeschwindigkeit Höhere Abstraktionsebene
Fehlertoleranz Schnellere Entwicklung
Energieverbrauch Vielzahl an Entwicklungstools
Günstige Produktion bei hoher Stückzahl Wartbarkeit
Modulare Wiederverwendbarkeit Leichtere Implementierung komplexer Lösungen
Hardware vs. SoftwareNachteile
Hardware SoftwareAufwändige Verifikation Schwierige Verifikation
Hoher Entwicklungsaufwand Unterschiedlichste Standards
Teure Tools Schwierige Koordination der Entwicklung
Bsp. CRC
● HW: Schieberegister + XOR Operationen– Leichte Implementierung
– Hohe Geschwindigkeit
● SW: Bit Maskierungen, Shifts, XOR Operationen,...– Schwierigere Implementierung
– Teurer Overhead
Bsp. IP Paket Fragmentierung
● HW: Sehr große Anzahl von States– Hohe Komplexität
– Hoher Platzbedarf
– Aufwändige Verifikation
● SW: Viele Verzweigungen– Bessere Übersicht
– Geringere Entwicklungszeit
Quellen
● Greg Stitt, Frank Vahid. Reconfigurable Computing. 2008.
● Rald Gessler. Entwicklung Eingebetteter Systeme. 2014.
● Jürgen Döllner, Jonas Trümper, Stefan Voigt. Maintenance of Embedded Systems: Supporting Program Comprehension using Dynamic Analysis. Hasso-Plattner-Institut, Universität Potsdam. 2012.
Quellen (contd.)
● Patrick Schaumont. A Practical Introduction to Hardware/Software Codesign. 2010.
● Jürgen Teich. Hardware/Software Codesign: The Past, the Present, and Predicting the Future. Proceedings of the IEEE, 100, 2012.
● Matthias Fuch Universität Ulm. Geschichte und Einführung in Aufbau und Arbeitsweise von FPGA.http://www.informatik.uni-ulm.de/ni/Lehre/SS03/ProSemFPGA/Einfuehrung_FPGAs.pdf