hardware vs. software - ein erster vergleich€¦ · “hardware ist der oberbegriff für alle...

26
Hardware vs. Software - ein erster Vergleich

Upload: others

Post on 16-Jun-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Hardware vs. Software - ein erster Vergleich€¦ · “Hardware ist der Oberbegriff für alle mechanischen, elektrischen und elektronischen Komponenten, Baugruppen und Ausrüstungen

Hardware vs. Software- ein erster Vergleich

Page 2: Hardware vs. Software - ein erster Vergleich€¦ · “Hardware ist der Oberbegriff für alle mechanischen, elektrischen und elektronischen Komponenten, Baugruppen und Ausrüstungen

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

Page 3: Hardware vs. Software - ein erster Vergleich€¦ · “Hardware ist der Oberbegriff für alle mechanischen, elektrischen und elektronischen Komponenten, Baugruppen und Ausrüstungen

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.

Page 4: Hardware vs. Software - ein erster Vergleich€¦ · “Hardware ist der Oberbegriff für alle mechanischen, elektrischen und elektronischen Komponenten, Baugruppen und Ausrüstungen

Software

● Definition● Hardware/Software Interface ist entscheident

– Compiler, Interpreter, Verifizierbarkeit

● Beeinflusst direkt:– Kosten

– Performance

– Sicherheit

Page 5: Hardware vs. Software - ein erster Vergleich€¦ · “Hardware ist der Oberbegriff für alle mechanischen, elektrischen und elektronischen Komponenten, Baugruppen und Ausrüstungen

Software Lösung: Beispiel

● C Programm● Keine Software ohne Hardware● Verschiedene Abstraktionsgrade

– Maschinennahe Software

– Implementierungen in einer Hochsprache

Page 6: Hardware vs. Software - ein erster Vergleich€¦ · “Hardware ist der Oberbegriff für alle mechanischen, elektrischen und elektronischen Komponenten, Baugruppen und Ausrüstungen

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

Page 7: Hardware vs. Software - ein erster Vergleich€¦ · “Hardware ist der Oberbegriff für alle mechanischen, elektrischen und elektronischen Komponenten, Baugruppen und Ausrüstungen

Implementierung in SW/HW?

“Hardware-like” “Software-like”Performance Handling von hoher Komplexität

Energieeffizienz Senken von Designkosten

Page 8: Hardware vs. Software - ein erster Vergleich€¦ · “Hardware ist der Oberbegriff für alle mechanischen, elektrischen und elektronischen Komponenten, Baugruppen und Ausrüstungen

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

Page 9: Hardware vs. Software - ein erster Vergleich€¦ · “Hardware ist der Oberbegriff für alle mechanischen, elektrischen und elektronischen Komponenten, Baugruppen und Ausrüstungen

Partitioning

Page 10: Hardware vs. Software - ein erster Vergleich€¦ · “Hardware ist der Oberbegriff für alle mechanischen, elektrischen und elektronischen Komponenten, Baugruppen und Ausrüstungen

Partitioning (contd)

● NP-hard● Hauptsächlich manuell● Die Möglichkeiten der Automatisierung des

Partitioning werden seit über 26 Jahren untersucht

Page 11: Hardware vs. Software - ein erster Vergleich€¦ · “Hardware ist der Oberbegriff für alle mechanischen, elektrischen und elektronischen Komponenten, Baugruppen und Ausrüstungen

Automatisiertes Partitioning- Co-Design Ladder

- Frank Vahid, Greg Stitt – Hardware/Software Partitionig

Page 12: Hardware vs. Software - ein erster Vergleich€¦ · “Hardware ist der Oberbegriff für alle mechanischen, elektrischen und elektronischen Komponenten, Baugruppen und Ausrüstungen

HW/SW Entwurf - Vergleich

- Marco Platzner, Lothar Thiele, ETH Zürich - Hardware/Software Codesign

Page 13: Hardware vs. Software - ein erster Vergleich€¦ · “Hardware ist der Oberbegriff für alle mechanischen, elektrischen und elektronischen Komponenten, Baugruppen und Ausrüstungen

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

Page 14: Hardware vs. Software - ein erster Vergleich€¦ · “Hardware ist der Oberbegriff für alle mechanischen, elektrischen und elektronischen Komponenten, Baugruppen und Ausrüstungen

HW/SW Entwurf - Gemeinsamkeiten

● Erfassen und Simulieren● Grobe Blockstruktur = Spezifikation

– Verfeinerung:

– HW: Logik/Transistor Diagramme

– SW: Assembler

● Simulation, Emulation, Validierung

Page 15: Hardware vs. Software - ein erster Vergleich€¦ · “Hardware ist der Oberbegriff für alle mechanischen, elektrischen und elektronischen Komponenten, Baugruppen und Ausrüstungen

Tools

● Teure Hardwaretools (Xilinx, Altera, …)● Günstige/Gratis Softwaretools

Page 16: Hardware vs. Software - ein erster Vergleich€¦ · “Hardware ist der Oberbegriff für alle mechanischen, elektrischen und elektronischen Komponenten, Baugruppen und Ausrüstungen

Kosten FPGA/ASIC

Page 17: Hardware vs. Software - ein erster Vergleich€¦ · “Hardware ist der Oberbegriff für alle mechanischen, elektrischen und elektronischen Komponenten, Baugruppen und Ausrüstungen

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

Page 18: Hardware vs. Software - ein erster Vergleich€¦ · “Hardware ist der Oberbegriff für alle mechanischen, elektrischen und elektronischen Komponenten, Baugruppen und Ausrüstungen

Maintenance

● Abhängigkeiten– Umgebung

– Zugriffsmöglichkeiten

– Einsatzgebiet

– Alterung

– Laufzeitverhalten

Page 19: Hardware vs. Software - ein erster Vergleich€¦ · “Hardware ist der Oberbegriff für alle mechanischen, elektrischen und elektronischen Komponenten, Baugruppen und Ausrüstungen

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

Page 20: Hardware vs. Software - ein erster Vergleich€¦ · “Hardware ist der Oberbegriff für alle mechanischen, elektrischen und elektronischen Komponenten, Baugruppen und Ausrüstungen

Software Tracing

- Jonas Trümper, Stefan Voigt, Fürgen Döllner- Maintenance of Embedded Systems: Supporting

Program Comprehension Using Dynamic Analysis

Page 21: Hardware vs. Software - ein erster Vergleich€¦ · “Hardware ist der Oberbegriff für alle mechanischen, elektrischen und elektronischen Komponenten, Baugruppen und Ausrüstungen

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

Page 22: Hardware vs. Software - ein erster Vergleich€¦ · “Hardware ist der Oberbegriff für alle mechanischen, elektrischen und elektronischen Komponenten, Baugruppen und Ausrüstungen

Hardware vs. SoftwareNachteile

Hardware SoftwareAufwändige Verifikation Schwierige Verifikation

Hoher Entwicklungsaufwand Unterschiedlichste Standards

Teure Tools Schwierige Koordination der Entwicklung

Page 23: Hardware vs. Software - ein erster Vergleich€¦ · “Hardware ist der Oberbegriff für alle mechanischen, elektrischen und elektronischen Komponenten, Baugruppen und Ausrüstungen

Bsp. CRC

● HW: Schieberegister + XOR Operationen– Leichte Implementierung

– Hohe Geschwindigkeit

● SW: Bit Maskierungen, Shifts, XOR Operationen,...– Schwierigere Implementierung

– Teurer Overhead

Page 24: Hardware vs. Software - ein erster Vergleich€¦ · “Hardware ist der Oberbegriff für alle mechanischen, elektrischen und elektronischen Komponenten, Baugruppen und Ausrüstungen

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

Page 25: Hardware vs. Software - ein erster Vergleich€¦ · “Hardware ist der Oberbegriff für alle mechanischen, elektrischen und elektronischen Komponenten, Baugruppen und Ausrüstungen

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.

Page 26: Hardware vs. Software - ein erster Vergleich€¦ · “Hardware ist der Oberbegriff für alle mechanischen, elektrischen und elektronischen Komponenten, Baugruppen und Ausrüstungen

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