Sie sind auf Seite 1von 12

2.

7 Zentrale Entwurfsprinzipien und nichtfunktionale


Anforderungen

2.7.1 Spezialisierungstechniken vs. Flexibilität

 Spezialisierte Systeme erreichen höhere Effizienz hinsichtlich


 Kosten, Verarbeitungsleistung
 Einhaltung von Randbedingungen
Zeitbedingungen, Verlustleistung, Sicherheit, Gewicht, Größe, ...
 Spezialisierung ist teuer: Entwicklungszeit/-kosten
 Spezialisierung schränkt Anpassbarkeit ein
 Anwendung für Systemklassen: mehrere Standards, Produktlinien
 spätere Wiederverwendung in anderen Produkten
 späte Änderung der Spezifikation
 späte Fehlerbehebung
 kontrolliertes Maß an Flexibilität erforderlich
 Spezialisierung und Flexibilität sind widerstrebende Ziele
 zentrales Problem im Entwurf eingebetteter Systeme
2- 185

Spezialisierungstechniken
 aus den bisherigen Betrachtungen lassen sich unterschiedliche
Spezialisierungstechniken ableiten
 Spezialisierung des Befehlssatzes
 Spezialisierung der Funktionseinheiten und Datenpfade
 Spezialisierung der Speicherstruktur
 Spezialisierung der Verbindungsstrukturen
 Spezialisierung der Ablaufsteuerung

2- 186
Komponentenorientierte Spezialisierung - Zusammenspiel

 die Spezialisierungstechniken können nicht isoliert betrachtet werden,


sondern müssen aufeinander abgestimmt werden, um einen effizienten
Entwurf zu erreichen
(Bsp: Spezialregister behindern den Kontextwechsel)
 häufig wird die Wahl durch Vorgaben eingeschränkt (verfügbare
Datenpfadmodule und Speicher, Befehlssatzkompatibilität, ...)
 ein wichtiger Unterschied zur klassischen Datentechnik, in der meist
eine gezielte Erhöhung der Rechenleistung durch Amdahl‘s Law
erfolgt, gibt es hier auch den umgekehrten Weg eines gezielten
„Downsizing“ der Rechenleistung auf die geforderte Rechenzeit bzw.
Reaktionszeit (Antwortzeit), um Kosten und Verlustleistung zu
reduzieren (Beispiel: M3)
 in diesem „Downsizing“ steckt ein besonders Risiko für die Flexibilität
der Architektur

2- 187

Komponentenübergreifende Spezialisierung

 in der klassischen Datentechnik werden bevorzugt homogene


Parallelarchitekturen aus gleichen Komponenten eingesetzt
 vereinfacht den Entwurf, den Betrieb und die Programmierung
 in eingebetteten Systemen werden dagegen meist heterogene
Parallelarchitekturen aus verschiedenen Komponenten verwendet
 Ergebnis der Spezialisierung unterschiedlicher Komponenten auf
Anwendungsteile mit unterschiedlichen Eigenschaften
Bsp: Smartphone: Audiokanal, Mobilkanal, Multimedia, Graphik,
Steuerung, ...
 einige Anwendungen eignen sich aber für eine besonders große
homogene Parallelität und werden dann mit spezialisierten homogenen
Many-Core-Prozessoren hoher Parallelität ausgeführt
Bsp. KalRay MPPA
 damit unterliegt auch die Kooperation zwischen Komponenten der
Spezialisierung
 mit der Spezialisierung der Komponenten wird die Verteilung der
Anwendungsteile und ihrer Daten wesentlich beeinflusst und wird
damit ebenfalls zum Objekt der Spezialisierung
2- 188
2.7.2 Energieverbrauch
 relevante Größen: Energieverbrauch, Leistungsaufnahme, Temperatur
 Gründe für Minimierung des Energieverbrauchs
 begrenzte Batteriekapazität mobiler Geräte
 zentrales Entwurfsziel für alle Mobiltelefone
 Reduzierung des Primärenergieverbrauchs
 Beispiel: vernetzter Haushalt 100W permanente Leistungsaufnahme nur
Elektronik, ca. 1000kWh/Jahr
 Gründe für Minimierung der max. Leistungsaufnahme
 Kosten der Stromversorgung
 Lastbeschränkung der Energiequelle (z.B. Solar)
 Temperaturentwicklung (Überhitzung)
 Quelle des Energieverbrauchs
 statische Leckströme
 dynamische Last

2- 189

Dynamischer Energieverbrauch


E LH  U B   I a ( t )dt  U B  QC L  U B  C L
2

t0

E HL  0 H
L
ID
Pdynamic    U B  C L  f s
2

T
Edynamic   Pdynamic dt
0

 α Switching Activity
 Prozent aller Gatter, die in einem Zyklus schalten
 fs Schaltfrequenz (clock rate)
 T Gesamtdauer der Ausführung

2-190
Verringerung des dynamischen Energieverbrauchs 1/2
T

Pdynamic    U B  C L  f s
2
Edynamic   Pdynamic dt
0
 Verringerung UB
 möglich, aber verringerte Rechenleistung
 Verringerung der Schwellspannung Vt zur Erhöhung von ID
nur begrenzt möglich wegen exponentiell wachsender
Leckströme
 Verringerung von UB wann immer die volle Rechenleistung nicht
benötigt
erfordert gleichzeitige Reduktion der Taktrate (linear)
Dynamic voltage and frequency scaling DVFS
 Beobachtung
 bei DVFS skaliert Pdynamic proportional zu UB³ , aber Edynamic nur
proportional zu UB² (Rechenzeit steigt proportional zu Taktzyklus)
 eine Verringerung der Taktrate allein hat daher keinen Einfluss
auf Edynamic
2- 191

Verringerung des dynamischen Energieverbrauchs 2/2

 Verringerung der Schaltungsaktivität 


 kleinere und kompaktere Schaltungen durch Spezialisierung
 Verringerung des Steueraufwands durch einfache Steuerung
 Fester Ablauf statt Programmierung, einfache Abläufe statt superskalar (vgl.
CORTEX M)
 Clock Gating: Abschaltung der Taktung ungenutzter Schaltungsteile

2- 192
Dynamic Voltage and Frequency Scaling

 change a processor’s supply voltage and speed during runtime


 sophisticated approach to reach fast adaptation

operating system activity monitor


Clk
voltage scheduler variable clock DVFS
oscillator CPU
power mode control
DC – DC
converter
power supply

 example: “speed-step”
 several defined voltages
external
(faster switching) power supply

2-193

Verringerung des statischen Energieverbrauchs

 Leckströme lassen sich verringern durch


 hohe Schwellspannungen Ut – oder regelbare Schwellspannungen
„adaptive body bias“
 Power Gating – Unterbrechen der Stromzufuhr in Schaltungsteilen
 Option: Einfügen von Retention-Registern mit eigener Stromversorgung, um
den Zustand zu erhalten - aufwendig

2- 194
Power Gating

Physical Design: Logic Block


External Footer SLEEP
Switch Footer Switch

Global
GND Grid

source:
VGND Puri et al. IBM, DAC 2005
Macro/Core
M1 metal

Virtual Footer Switch


Grid M2 metal
Location 2-195

Konflikte bei Verringerung des Energieverbrauchs

 Dynamic Voltage and Frequency Scaling (DVFS)


 Minimierung der Taktfrequenz, um gerade noch die notwendige
Rechenleistung zu garantieren
 Minimierung der Spannung über lokale Spannungsregelung, um die
Taktfrequenz zu erreichen
 Power Gating
 Maximierung der Taktfrequenz, um möglichst schnell Abschalten zu
können
 Widerspruch statische – dynamische Verlustleistung
 Verteilung der Anwendungen auf mehrere Komponenten mit
Minimierung der Taktfrequenz und Betriebsspannungen
 Konzentration der Anwendungen auf wenige Komponenten zur
Anwendung von Power Gating
 Optimierungsproblem!
 Anmerkung: mit neueren Technologien sinkt UB,max näher an Ut, so dass
nur wenig Spielraum für Senkung von UB bleibt

2- 196
Statische Verlustleistung wird begrenzender Faktor

Quelle: ITRS 2010

 heterogene Architekturen für mobile Anwendungen


 abschaltbare Performance Cores und Speicher
 zusätzliche energieeffiziente Cores und Speicher für aktive Low-Power
Betriebsmodi
2-197

Energiedichte wird zum begrenzenden Faktor für Rechenleistung

 abnehmende mittlere Taktfrequenz oder Nutzung  („dark Silicon“)


 Spezialisierung mit energieeffizienten domänenspezifischen
Beschleunigern

2-198
Energieverbrauch - Zusammenfassung
 hochrelevantes Problem – aktives Forschungsthema seit mehr als 20
Jahren
 unterschiedliche Aspekte: Energie, Verlustleistung, Temperatur
 vielfältige Methoden, von der Schaltkreis bis zur Systemebene
 Spezialisierung ist wieder eine effiziente Methode
 konträre Anforderungen aus der Minimierung der statischen und
dynamischen Verlustleistung führen zu einem Optimierungsproblem

2-199

2.7.3 Modellanforderungen an Zuverlässigkeit


 die Modelle haben sehr unterschiedliche Anforderungen an die
Zuverlässigkeit einer Plattform
 Fehler in der Funktion sind grundsätzlich nicht tolerierbar,
Unterschiede bei Datenverlust und Timingfehler
 Automaten, StateCharts, ...
 Datenverlust: Fehlfunktion, evtl. Deadlock
 Timingfehler: Fehler nur, wenn Zeit Teil der Funktionalität
 Datenflussgraphen, Petri-Netze
 Datenverlust: dauerhafte Fehlfunktion, evtl. Deadlock
 Timingfehler: Auswirkungen nur an den Schnittstellen nach außen
 zeitaktivierte Prozessen
 Datenverlust: Rechnen mit falschem Datenwert, kein Deadlock, kein
dauerhafter Einfluss
 Timingfehler: evtl. Rechnen mit falschem Datenwert
 Unterschied muss bei Implementierung berücksichtigt werden!

2- 200
2.8 Historische Betrachtungen – „Lessons Learned“
 gelegentlich führt eine hohe Spezialisierung zu praktischen Problemen
 die Zusammenhänge sind dabei oft komplex
 solche Beispiele bringen zusätzliche Erkenntnisse
 Beispiel: TMS320C80 – ein früher Multicore-DSP (1995)

2- 201

Example: TMS320C80 - multiprocessor on a chip

DSPs 32bit Master-Proc. 32bit

Advanced Advanced Advanced Advanced VC


DSP3 DSP2 DSP1 DSP0 FPU
L G I L G I L G I L G I
MP
32 64 32 64 32 64 32 64 32
32 32 32 32 C/D I
TAP

Switch 32 64
126x32bit
64
64
Instruction Cache

Instruction Cache

Instruction Cache

Instruction Cache

Instruction Cache
Instruction Cache
Parameter RAM

Parameter RAM

Parameter RAM

Parameter RAM

Parameter RAM

TC
Data Cache
Data Cache
Data RAM2
Data RAM1
Data RAM0

Data RAM2
Data RAM1
Data RAM0

Data RAM2
Data RAM1
Data RAM0

Data RAM2
Data RAM1
Data RAM0

Memory
50kB

2-202
TMS320C80 cont´d

 4x32 bit integer DSPs, 1x32 bit


floating point master DSP

 complex memory architecture


 local registers in the DSPs
 4 x 2 Kbytes data RAM banks (512 words/bank) reduce
access conflicts per processor
 2Kbyte instruction cache per processor (256 words)
 much higher concurrency in memory access
than DSP processors before

 almost complete crossbar switch


reduces communication constraints and shared memory access
conflicts
 focus on high internal memory and communication
bandwidth
to avoid stalling DSPs
2-203

TMS320C80 cont´d

 master controller: 32 bit RISC processor with floating point


pipeline
 integer DSPs:
 specialized to video applications:
specialized bit-level functions for video applications
(pixel expander, mask generator)
 subword parallelism
 zero loop overhead with loop stack for 3 nested loops
 2 address units with linear addressing
 load/store architecture
 DSP architecture supports small (256 words) , simple
computation
intensive programs on small data sets
Processor is targeted to video (multi media) application
but: memories cannot even hold a single picture!

2-204
TMS320C80: data locality exploitation
Solution:
processor uses spatial or temporal locality of video processing
algorithms
TMS memory
video signal contents:window
TMS memory
contents:
line buffer

t external
frame
buffer

temporal locality spatial locality


(filters,...)

 requires powerful I/O-processor

2-205

TMS320C80 DMA processor

Transfer controller (TC):


DMA processor for "patch" transfer

Start Address

Patch Q

Patch P

Memory Patch R

2-206
TMS320C80: summary

 single chip multiprocessor specialized to computation intensive


DSP algorithms with high data locality and rather simple functions
(or high program locality), such as most video applications
 high internal memory bandwidth (2,4 Gbyte/s data)
in contrast to a standard microprocessor I/O rate
(160 Mbyte/s: reduces cost of packaging), transfer controller
 a large number memory banks allows to configure internal buffers:
pipelining of subfunctions: appropriate for signal flow graph
implementation
func 1 func 2 func 3
buffer buffer
ADSP ADSP ADSP
1 2 3

buffer

 high emphasis on flexible connectivity

2-207

TMS320C80 - the down side

 One of the early multiprocessor on-chip architectures


 problems:
 large crossbar does not scale to larger architectures
 timing (50 MHz clock only)
 space (quadratic)
 complex data transfer scheduling competing with program I/O
 complex manual algorithm partitioning and programming requried
 too specialized to particular applications of video processing with fixed
control flow, less suitable for modern data dependent algorithms, such
as MPEG4
 was discontinued after first generation
 today:
Network-on-chip with internal bridges and routers increases
throughput (see ST Spidergon)

2-208

Das könnte Ihnen auch gefallen