Seminararbeit Wintersemester 2012/2013

Größe: px
Ab Seite anzeigen:

Download "Seminararbeit Wintersemester 2012/2013"

Transkript

1 Seminararbeit Wintersemester 2012/2013 Thema: Auslegung der Pipelines aktueller Prozessoren Verfasser: Daniel Weisensee Betreuender Professor: Prof. Dr. Albrecht Ditzinger Hochschule Karlsruhe - Technik und Wirtschaft Studiengang Informatik (Bachelor) Datum: 10. Dezember 2012 Hochschule Karlsruhe Technik und Wirtschaft University of Applied Sciences Moltkestr Karlsruhe Persönliche Daten: Daniel Weisensee Georg-Friedrich-Str Karlsruhe Matrikelnummer: weda1013@hs-karlsruhe.de

2 Die vorliegende Seminararbeit befasst sich mit dem Konzept des Befehls-Pipelinings in Mikroprozessoren. Nach einer kurzen Einführung in die Arbeitsweise eines Prozessors, wird das Pipelining definiert, das entscheidend zu deren Leistungsfähigkeit beiträgt. Von den Grundlagen ausgehend erfolgt eine Hinführung zum Grundprinzip moderner Pipeline-Architekturen, die den Grad der Parallelität eines Eingabeprogramms zu steigern versuchen und durch superskalare Ausführung effizient ausnutzen können. Der Schwerpunkt der Arbeit liegt auf der ausführlichen Erläuterung der ARMv7, Intel Sandy-Bridge und AMD Bulldozer Architekturen. Nach Bildung des notwendigen Rahmens, werden die einzelnen Pipelinestrukturen detailliert behandelt. Weiterhin werden untereinander Vergleiche gezogen und die Leistungsfähigkeit der jeweiligen Architekturen diskutiert. Es wird offensichtlich, dass sich die grundlegenden Konzepte oftmals ähneln, eine effiziente Ausbalancierung der Pipeline allerdings schwierig ist. In einem Fazit wird ein Ausblick auf mögliche zukünftige Entwicklungen gegeben.

3 Inhaltsverzeichnis 1. Einführung Arbeitsweise einer CPU Pipelining Definition des Befehls-Pipelining Pipeline Performance Konflikte Superpipelining Superskalarität Instruction-Level Parallelism Grundprinzip moderner Pipeline-Architekturen ARMv7 Architektur ARM Cortex-A Pipeline Performance ARM Cortex-A Pipeline Performance ARM Cortex-A Pipeline Performance Intel Sandy-Bridge Architektur Entwicklung seit Intel Core i Sandy-Bridge Pipeline Performance Ivy-Bridge Architektur AMD Bulldozer Architektur Architektur Bulldozer Pipeline Performance Piledriver Architektur Fazit 34 3

4 Abbildungsverzeichnis 2.1. Befehlsverarbeitung ohne Pipelining (Wikipedia [7]) Befehlsverarbeitung mit Pipelining (Wikipedia [7]) Superskalare Befehlsausführung (Stallings [1]) ARM Cortex-A8 Pipeline (Hennessy, Patterson [2]) ARM Cortex-A8 Befehlsholpipeline (Stallings [1]) ARM Cortex-A8 Dekodierpipeline (Hennessy, Patterson [2]) ARM Cortex-A8 Ausführungspipeline (Stallings [1]) ARM Cortex-A9 Architektur (ARM Technical Reference [13]) ARM Cortex-A15 MPCore Architektur (ARM Technical Reference [14]) Entwicklung der Pipelinestufen bei Intel CPUs Intel Sandy-Bridge Fetchpipeline (realworldtech [20]) Intel Sandy-Bridge Dekodierpipeline (realworldtech [20]) Intel Sandy-Bridge Dispatchpipeline (realworldtech [20]) Intel Sandy-Bridge Ausführungspipeline (realworldtech [20]) Intel Sandy-Bridge Speichereinheit (realworldtech [20]) AMD Bulldozer Modul (AnandTech [25]) AMD Bulldozer Fetchpipeline (realworldtech [23]) AMD Bulldozer Dekodierpipeline (realworldtech [23]) AMD Bulldozer Dispatchpipeline (realworldtech [23]) AMD Bulldozer Ausführungspipeline (realworldtech [23]) AMD Bulldozer Speichereinheit (realworldtech [23]) Central Processing Units 4

5 1. Einführung Diese Seminararbeit handelt von der Auslegung der Pipelines aktueller Prozessoren. Mikroprozessoren sind in der Gegenwart hochgradig spezialisiert. Befehls-Pipelines stellen eines der Kernkonzepte dar, mit dessen Hilfe die Leistung heutiger CPUs möglich wird. Nach einem einführenden Blick auf die allgemeine Arbeitsweise einer CPU, wird das Pipelining definiert und ausführlich erläutert. Fortschrittliche Konzepte werden vorgestellt, wodurch eine Hinleitung zu aktuellen Prozessoren erfolgt. Der Hauptteil dieser Ausarbeitung besteht aus der ausführlichen Beschreibung und dem Vergleich einiger aktueller Realisierungen, den Mikroarchitekturen von ARM 1, Intel und AMD Arbeitsweise einer CPU Eine CPU arbeitet die Maschinenanweisungen eines Programms sequentiell ab. Dazu ist die Zusamenarbeit der Bauteile Operationswerk, Steuerwerk und dem Registersatz erforderlich. Eine einzelne Anweisung besitzt unterschiedliche Komplexität, allgemein kann sie jedoch in eine Menge von Teiloperationen zerlegt werden, die nacheinander ausgeführt werden. Im klassischen Sinne sind dies die folgenden Befehlsphasen (Vgl. Hoffmann, S.319 [4]): A - Fetch B - Decode C - Execute Der Arbeitsspeicher wird mit dem Befehlszähler adressiert und der Befehl eingelesen. Der Befehlszähler wird danach inkrementiert. Der Befehl wird im Steuerwerk dekodiert und notwendige Operanden nachgeladen. Das Rechenwerk verknüpft die Operanden miteinander. D - Write Back Das Rechenergebnis wird je nach Befehl in den Speicher, in ein Register oder den Befehlszähler zurückgeschrieben. Die Abbildung 2.1 illustriert diesen Instruktionszyklus, der außerdem einem CPU Takt entsprechen kann. Die sequentielle Abarbeitung garantiert die korrekte Ausführung des Programms, ist allerdings nicht effizient, da zu einem beliebigen Zeitpunkt nur ein bestimmter Teil der Hardware arbeitet und die restlichen Bauteile keinen Nutzen erbringen. 1 früher: Advanced RISC Machines, Ltd. 2 Advanced Micro Devices, Inc. 5

6 2. Pipelining In diesem Kapitel wird das Konzept der Befehls-Pipeline definiert, weiterentwickelt und fortschrittliche Implementierungstechniken vorgestellt. Abbildung 2.1.: Befehlsverarbeitung ohne Pipelining (Wikipedia [7]) 2.1. Definition des Befehls-Pipelining Das Befehls-Pipeling ist eine Implementierungstechnik, welche die Zerlegung einer Instruktion in Teilschritte ausnutzt und vergleichbar mit der Fließbandfertigung von Automobilen funktioniert. Eine Pipeline Architektur besteht folglich aus einer Anzahl unabhängiger Verarbeitungseinheiten, die jeweils eine Befehlsphase übernehmen. Die Befehlsabarbeitung erfolgt nun, indem ein Befehl nacheinander diese Einheiten durchläuft. Zwischenergebnisse werden über Register zwischen benachbarten Stufen weitergereicht. Abbildung 2.2.: Befehlsverarbeitung mit Pipelining (Wikipedia [7]) Sobald ein Befehl von der Befehlsholphase (Fetch) in die Dekodierphase (Decode) übergeht, kann bereits der nächste Befehl geholt werden. So wird eine Überlappung bzw. Parallelität der Befehlsabarbeitung erreicht (siehe Abbildung 2.2). Es sind jederzeit mehrere Instruktionen gleichzeitig in Bearbeitung, wodurch die Leistung in Form des Durchsatzes des Prozessors erheblich gesteigert wird. Ein einzelner Befehl benötigt genauso viel Ausführungszeit, wie zuvor. Ein Vorteil entsteht durch die parallele Ausführung einer Folge von Befehlen. 6

7 2. Pipelining 2.2. Pipeline Performance Der Prozessortakt entspricht der Zykluszeit τ der Pipeline. Diese beträgt τ = max i [τ i ] + d wobei τ i der Ausführungszeit der i.ten Pipelinestufe und d der Verzögerung des Speicherelements entspricht (Vgl. Stallings, S.450 [1]). Daraus lässt sich bereits schließen, dass eine ausgewogene Balance der Pipelinestufen entscheidend ist, um eine gute Effizienz zu erzielen. Der Speed-Up (Leistungsgewinn) für eine k-stufige Pipelinearchitektur und n auszuführende Befehle ist in Relation zur Ausführung ohne Pipeline definiert als S k = T 1,n T k,n = nkτ [k + (n 1)]τ (Vgl. Stallings, S.450 [1]) Für n gegen unendlich nähert sich der Speed-Up im besten Fall der Stufenanzahl k an. Das Potenzial für einen besseren Speed-Up wächst also mit der Anzahl der Pipelinestufen, dem gegenüber stehen steigende Hardwarekomplexität und stärkere Auswirkungen von Konflikten im Befehlsstrom, die in Kapitel 2.3 betrachtet werden. Weiterhin relevant ist der CPI 1 Wert einer Prozessorarchitektur. Bei einer Architektur mit einer Pipeline wird idealerweise ein Befehl pro Prozessortakt fertig, was einem CPI von 1 entspricht. CPI ist eine Messgröße der Durchsatzeffizienz einer CPU und ist definiert als der Quotient aus der Anzahl der benötigten Taktzyklen und der Anzahl der Instruktionen eines Programms Konflikte Dies führt unmittelbar zu der Frage, welche Faktoren die Pipeline ausbremsen. Während der überlappten Befehlsausführung kann es zu Situationen kommen, in denen die Abarbeitung eines Befehls verzögert werden muss. Alle nachfolgenden Befehle müssen ebenfalls angehalten werden, sodass es zu einer sogenannten Pipeline Bubble kommt. Es gibt im Allgemeinen folgende Konflikttypen: Ressourcenkonflikte Ressourcenkonflikte treten auf, wenn ein Hardwarebauteil von mehr als einem Befehl zu einem Zeitpunkt benötigt wird. Als Beispiel seien Zugriffe auf den Speicher in verschiedenen Befehlsphasen genannt. Als Gegenmaßnahme kommen Reservierungstabellen zum Einsatz. 1 Cycles per Instruction 7

8 2. Pipelining Datenkonflikte Datenkonflikte entstehen durch Datenabhängigkeiten im Code, z.b. wenn ein nachfolgender Befehl das Ergebnis einer vorherigen Berechnung benötigt. Es wird unterschieden in RAW 2 (echte Abhängigkeit, siehe Tabelle 2.1) und den beiden künstlichen Abhängigkeiten WAR 3 (Gegenabhängigkeit) und WAW 4 (Ausgabeabhängigkeit). Die beiden letzteren enstehen im Zusammenhang mit superskalarer Ausführung (siehe 2.5) und können durch spezielle Maßnahmen, wie dem Register Renaming weitestgehend aufgelöst werden. Add R2, R1 Sub R3, R2 Tabelle 2.1.: Beispiel einer echten Abhängigkeit Steuerflusskonflikte Dieser Art von Konflikt kommt eine besondere Bedeutung zu. Es handelt sich hierbei um Sprungbefehle, unterschieden in unbedingte und bedingte Sprünge. Unbedingte Sprünge sind vergleichsweise unproblematisch, da das Sprungziel spätestens nach der Dekodierphase bekannt ist und in den Instruktionszähler geladen werden kann. Bedingte Sprünge hingegen müssen zunächst ausgeführt werden, bevor entschieden ist, ob der Sprung ausgeführt wird oder nicht. Dadurch müssen nachfolgende Befehle immer warten, bis das Ergebnis des bedingten Sprungs bekannt ist. Eine Gegenmaßnahme ist die Sprungzielvorhersage, die in Prozessoren eminent wichtig für eine gute Leistung ist. Die Sprungzielvorhersage versucht, das Ergebnis der Bedingung eines Sprungs und die nächste Adresse vorherzusagen. Diesem Ergebnis folgend wird der Kontrollfluss angepasst und die nachfolgenden Befehle in der Pipeline verarbeitet. Stellt sich die Vorhersage als korrekt heraus, kann die Pipeline mit voller Auslastung weiterarbeiten. War die Vorhersage allerdings falsch, muss die Pipeline geleert (Pipeline Flush) und neu aufgebaut werden. Wurden bereits falsche Befehle ausgeführt, so müssen diese rückgängig gemacht werden. Die daraus resultierenden verlorenen Taktzyklen werden als Misprediction Penalty bezeichnet Superpipelining Superpipelining setzt auf die Idee eines höheren Speed-Ups durch eine höhere Anzahl an Pipelinstufen, wie in 2.2 gezeigt. Durch die feinere Zerlegung der Befehlsphasen muss jede Phase ein kleineres Arbeitspaket erledigen, sodass die Taktzeit verkürzt werden kann 2 Read After Write 3 Write After Read 4 Write After Write 8

9 2. Pipelining und folglich der Parallelitätsgrad steigt. Diese Technik stößt allerdings an Grenzen, da die Hardwarekomplexität pro zusätzlicher Stufe stark ansteigt (Vgl. Stallings, S.449 [1]). Weiterhin steigt die Wahrscheinlichkeit eines Konflikts und die Misprediction Penalty. Dies führt dazu, dass es für eine gegebene Architektur und einen zugehörigen Befehlssatz eine optimale Anzahl an Stufen gibt. Ein weiteres Erhöhen der Stufenanzahl reduziert die Gesamtperformance. ( Advanced Computer Architecture Folien 7/8-3 [5]) 2.5. Superskalarität Superskalare Prozessoren führen eine neue Form der Parallelität ein. Instruktionen werden nebenläufig und unabhängig voneinander in mehreren Pipelines ausgeführt. Funktionale Einheiten stehen mehrfach zur Verfügung. Pro Taktzyklus können nun mehrere Befehle gleichzeitig initiiert werden. Dementsprechend werden idealerweise auch mehrere Befehle fertig, sodass bei zwei Pipelines der ideale CPI = 0,5 ist. Nachteilig ist der immense Anstieg des Hardwareaufwands durch die Mehrfachauslegung und die komplexere spekulative Ausführung, welche umfassende Kontrollmechanismen erfordert Instruction-Level Parallelism Moderne Prozessoren kombinieren Superpipelining und Superskalarität und arbeiten demnach temporal und räumlich zunehmend parallel (Vgl. Hoffmann, S.351 [4]). Sie nutzen den ILP 5 eines Programms aus, welcher beschreibt, in welchem Maße ein Programm parallel ausführbar ist. Bestimmt wird dies durch die Häufigkeit des Auftretens von echten Datenabhängigkeiten (siehe Tabelle 2.1) und Steuerflussabhängigkeiten im Code (Vgl. Stallings, S.529 [1]). Um die Parallelität zu verbessern, können zunächst Compiler einige Optimierungen vornehmen. Zur Laufzeit kann dann eine Reihe von Hardwaretechniken versuchen, den Grad der parallelen Ausführung weiter zu steigern. Kernkonzept ist hierbei die sogenannte out-of-order execution, die mit dem bereits genannten Register Renaming weiter verbessert werden kann. Die out-of-order execution erlaubt die Umsortierung von Befehlen. Unabhängige Befehle können in beliebiger Reihenfolge ausgeführt werden, Datenabhängigkeiten müssen beachtet werden. Folglich kann ein Programm in völlig anderer Reihenfolge abgearbeitet werden, solange sichergestellt ist, dass das Resultat identisch ist mit der sequentiellen Ausführung. Dies ist nur bezogen auf die Ausführung auf einem einzelnen Prozessorkern, der nach außen hin den Eindruck einer strikt sequentiellen Abarbeitung vermuten ließe. Das Vervielfachen des Kerns und damit der gesamten Pipelinearchitektur, ist der Gegenstand von Mehrkernprozessoren. 5 Instruction-Level Parallelism 9

10 2. Pipelining 2.7. Grundprinzip moderner Pipeline-Architekturen Aus den bisherigen Betrachtungen lässt sich auf die in Abbildung 2.3 abstrakt dargestellte Arbeitsweise moderner Mikroprozessoren schließen. Im ersten Schritt werden Befehle des statischen Programms eingelesen und nach der Sprungzielvorhersage in einem Buffer abgelegt. Die Sprungzielvorhersage bestimmt, von welcher Adresse als nächstes Befehle geholt werden. Die Befehle werden dekodiert, optimiert und sind bereit zur Ausführung, sobald alle Ressourcen zur Verfügung stehen. Ein Scheduler teilt sie dynamisch passenden, freien funktionalen Einheiten zu, die die Befehle ausführen. Die fertigen Befehle werden in einem weiteren Buffer hinterlegt und in die korrekte Reihenfolge gebracht. Es wird sichergestellt, dass das Ergebnis mit der sequentiellen Ausführung des Programms übereinstimmt. In diesem Zusammenhang kann man auch von der Aufteilung der Pipeline in Front- End und Back-End sprechen. Das Front-End ist dafür verantwortlich, den Befehlsstrom einzulesen, Befehle zu dekodieren und bereitzustellen. Das Back-End umfasst die out-of-order Ausführung, angefangen von der Zuteilung über die eigentliche Ausführung und das Sortieren und Abschließen der Befehle. Die Gesamtperformance hängt entscheidend mit davon ab, ob das Front-End schnell genug Befehle produzieren kann. Abbildung 2.3.: Superskalare Befehlsausführung (Stallings [1]) 10

11 3. ARMv7 Architektur ARM entwirft RISC 1 basierte Prozessoren und vergibt Lizenzen für deren Fertigung. In diesem Kapitel wird die ARMv7 Architektur anhand der Cortex-A Serie, ARMs Anwendungsprozessorserie für den Embedded Bereich, die auf komplexe Betriebssysteme und Applikationen ausgelegt ist, untersucht. Der Reihe nach werden die Modelle A8, A9 und A15 erläutert und verglichen. RISC setzt auf einen simplen Befehlssatz, mit wenigen Adressierungsarten und Load/Store (Lade/Speicher) Architektur. Aus diesen Eigenschaften lässt sich ableiten, dass RISC sehr gut für eine Pipelineverarbeitung mit ausbalancierten Stufen und hohem Takt geeignet ist ARM Cortex-A8 Der ARM Cortex-A8 wurde 2005 vorgestellt und kommt z.b. in Apple s A4 System-ona-Chip zum Einsatz, das im ipad und dem iphone 4 verbaut ist. Der Prozessor besteht aus einem Kern mit einer Taktung zwischen 600 MHz 2 und etwas mehr als 1 GHz 3. Optional ist eine NEON Einheit, die SIMD 4 - und Fließkommabefehle in einer zusätzlichen 10-stufigen Pipeline verarbeiten kann. Sie ist hier aber nicht Bestandteil näherer Betrachtungen (Vgl. Wikipedia [10]) Pipeline Die Befehls-Pipeline (Abbildung 3.1) des A8 ist eine reine Ganzzahl-Pipeline (Integer) und besteht aus 13 Stufen, welche auf drei funktionale Einheiten, die Befehlshol-, die Dekodier- und die Ausführungseinheit, verteilt sind. Es wird eine in-order-execution implementiert, d.h. der Befehlsstrom wird nicht umsortiert, um die Komplexität und damit die Leistungsaufnahme mit 300 mw 5 sehr gering zu halten. In jedem Takt werden bis zu zwei Befehle zwischen den funktionalen Einheiten weitergereicht, die Pipeline ist also dual bzw. zweifach superskalar. Erstmalig kommt Superskalarität bei ARM zum Einsatz. Die Misprediction Penalty beträgt 13 Taktzyklen. 1 Reduced Instruction Set Computer 2 Megahertz 3 Gigahertz 4 Single Instruction Multiple Data 5 Milliwatt 11

12 3. ARMv7 Architektur Abbildung 3.1.: ARM Cortex-A8 Pipeline (Hennessy, Patterson [2]) Befehlsholeinheit Die Befehlsholeinheit sagt den Befehlsstrom voraus und kümmert sich um das Holen der Befehle (Fetch) und deren Bereitstellung in der zwölf Einträge fassenden Instruction Queue. Je Taktzyklus können bis zu vier Befehle eingelesen werden. Die Einheit besteht streng genommen aus drei Stufen, was eine Gesamtpipelinelänge von 14 Stufen ergäbe. Aus historischen Gründen beginnt eine ARM Pipeline allerdings mit dem Zugriff auf den Instruktionscache, also in der Stufe F1. Der Instruktionscache bzw. L1 6 -Cache liegt innerhalb dieser Einheit. Die Instruction Queue ist ein Konzept, welches darauf beruht, eingelesene Befehle in einer Warteschlange der weiteren Pipeline vorzuhalten. Das Ziel durch diese Entkopplung liegt darin, der folgenden Dekodierphase immer genügend Befehle zur Verfügung zu stellen, um eine hohe Auslastung zu erzielen. Die Fetchpipeline (Abbildung 3.2) besteht aus den folgenden Schritten: F0 Die AGU 7 erzeugt eine neue Adresse, entweder durch Inkrementieren des Programmzählers oder aus einer Sprungzielvorhersage eines vorherigen Befehls. F1 Der L1-Cache wird adressiert und maximal vier Befehle ausgelesen. Nebenläufig wird geprüft, ob die nächste zu generierende Adresse auf einer Sprungzielvorhersage beruhen soll. F2 Die Befehle werden in der Instruction Queue abgelegt. Im Falle einer Sprungvorhersage wird die neue Zieladresse an die AGU gesendet. 6 Level 1 7 Adressgenerierungseinheit 12

13 3. ARMv7 Architektur Abbildung 3.2.: ARM Cortex-A8 Befehlsholpipeline (Stallings [1]) Dekodiereinheit Die Dekodiereinheit implementiert die fünfstufige Dekodierpipeline (Abbildung 3.3). Sie dekodiert die entgegengenommenen Befehle und bereitet sie zur Ausführung vor. Durch die duale Auslegung ist es möglich, zwei Befehle gleichzeitig in jeder Stufe zu dekodieren. Aufgrund der in-order Eigenschaft muss allerdings die korrekte Reihenfolge beachtet werden. Der ältere Befehl befindet sich deshalb immer in der ersten Pipeline. Kommt diese zum Stillstand, so muss auch die zweite Pipeline warten (Vgl. Stallings, S.547 [1]). Abbildung 3.3.: ARM Cortex-A8 Dekodierpipeline (Hennessy, Patterson [2]) Die Dekodierpipeline besteht aus den folgenden Stufen: D0 Dekomprimierung spezieller Thumb Befehle in 32-Bit ARM Instruktionen. Anschließend wird eine vorläufige Dekodierfunktion ausgeführt. D1 Abschließen der Dekodierung. Einige wenige Befehle müssen in mehrere Teilbefehle zerlegt und rückgekoppelt werden. D2 Lesen und Schreiben von Befehlen in eine Warteschlange zur Entkopplung, damit der Ausführungspipeline möglichst of zwei ausführbare Befehle bereit stehen. D3 Einteilung der Befehlsausführung und Überprüfung der Datenabhängigkeiten. Zwei abhängige Befehle werden an dieser Stelle serialisiert. Das Scoreboard prognostiziert, wann die Operanden bereit sind, was durch Cache Hits und Misses beeinflusst wird. 13

14 3. ARMv7 Architektur D4 Dekodierung der Statussignale für Integer-ALU bzw. Load/Store Einheiten. Ausführungseinheit Die Ausführungseinheit (siehe Abbildung 3.4) ist aus zwei Integer ALU 8 s, einem Integer Multiplizierer und einem Adressgenerator für Load/Store Befehle aufgebaut. Diese Einheiten werden an die Pipelines 0 und 1 gebunden. Der Adressgenerator kann beliebig für eine der beiden Pipelines arbeiten, der Multiplizierer hingegen ist fest an Pipeline 0 gebunden. Die Ausführungspipeline bekommt nun pro Takt zwei Befehle zur Ausführung übergeben. In diversen Konfliktsituationen ist dies aber nicht möglich, sodass nur ein einzelner oder gar kein Befehl übergeben werden kann. Die Einhaltung der korrekten Befehlsreihenfolge ist obligatorisch, weshalb sich der ältere Befehl in Pipeline 0 wiederfindet. Neben Datenabhängigkeiten kommt Ressourcenkonflikten, bedingt durch die beschränkte Anzahl an funktionalen Einheiten, hierbei eine Bedeutung zu. Beispielsweise kann die Ausführungseinheit nur einen Multiplikationsbefehl ausgeben. Liegen zwei solche Befehle vor, kann nur der erste Befehl gestartet werden. Außerdem ist der Multiplizierer nur über Pipeline 0 zu erreichen, woraus folgende Situation entstehen kann: Wenn INST 0 der Pipeline 0 zugewiesen wird und INST 1 einer Multiplikation entspricht, muss der zweite Befehl ebenfalls bis zum nächsten Takt warten, bevor er freigegeben werden kann. Integer-ALU Anweisungen durchlaufen dabei diese Stufen: E0 Bis zu sechs Register mit den Operanden werden ausgelesen. E1 Bitverschiebung / Rotation der Operanden durch den Barrel Shifter, falls nötig. E2 Die ALU verknüpft die Operanden. E3 Führt eine Sättigung (Grenzwertbetrachtung) des Ergebnisses durch, falls nötig. E4 Änderungen im Kontrollfluss durch falsche Sprungvorhersage und Exceptions werden erkannt. E5 Die Ergebnisse werden in den Registersatz zurückgeschrieben. Die Multiplikationspipeline führt zunächst in drei Schritten die Multiplikation aus und anschließend eine Akkumulation, bevor das Ergebnis zurückgeschieben wird. Die Load/Store Pipeline generiert zunächst die Speicheradresse, mit der im nächsten Schritt die Caches bzw. der Arbeitsspeicher adressiert werden. In der Phase E3 werden die Daten vorbereitet und formatiert, bevor eventuelle Updates auf den L2 9 -Cache ausgeführt werden und schließlich die Ergebnisse in den Registersatz geschrieben werden. 8 Arithmetisch-logische Einheit 9 Level 2 14

15 3. ARMv7 Architektur Abbildung 3.4.: ARM Cortex-A8 Ausführungspipeline (Stallings [1]) Performance Als zweifach superskalarer Prozessor liegt der ideale CPI bei einem Wert von 0,5. Wartezyklen entstehen durch die bereits erläuterten Konflikte. Durch die in-order Ausführung hat der A8 keine Möglichkeiten, die Ausnutzung des ILP zu verbessern. Optimierungen könnte nur der Compiler vornehmen, weshalb sich jeder Konflikt auf die Performance niederschlägt. Enorme Auswirkungen haben außerdem Speicherverzögerungen in Form von Cache Misses bei der Bereitstellung der Befehlsoperanden, da die gesamte Ausführung verzögert werden muss. Die Autoren Hennessy und Patterson untersuchen anhand des Minnespec Benchmarks den real erreichbaren CPI Wert. Beispielsweise erlangen sie für das Packprogramm gzip einen Wert von etwa 1,8 und für den C Compiler gcc etwa 2,0. Sie zeigen dabei, dass der Großteil dieses Performanceverlustes durch Verzögerungen in der Pipeline, bedingt durch die in-order-execution, kommt. Der ARM Cortex-A8 bewegt sicht folglich weit entfernt von seinem idealen Durchsatz (Vgl. Hennessy, Patterson, S.235 [2]). Laut einer ARM Präsentation erreicht der A8 jedoch einen durchschnittlichen CPI von 1,1 (Vgl. ARM [9]). Im Dhrystone Benchmark werden 2,0 DMIPS 10 /MHz erreicht (Vgl. Wikipedia [10]) ARM Cortex-A9 Das Nachfolgermodell ARM Cortex-A9 erschien als Einkerner oder unter dem Namen A9 MPCore mit mehreren Kernen (zwei oder vier) und wurde von Apple im A5 SoC 11 verbaut, der im ipad 2 und dem iphone 4S werkelt. Der maximale Takt kann, je nach Modellvariante, zwischen 800 MHz und 2 GHz liegen. Die NEON Einheit und eine Fließkommaeinheit einfacher und doppelter Genauigkeit sind weiterhin optional verfügbar. 10 Dhrystone Million Instructions per Second 11 System-on-a-chip 15

16 3. ARMv7 Architektur Pipeline Im Vergleich zum Cortex-A8 hat sich die Piplinearchitektur wesentlich verändert. ARM setzt nun auf eine out-of-order Ausführung. Die Pipeline arbeitet spekulativ und weiterhin zweifach superskalar. Die Pipelinelänge liegt nur noch zwischen acht bis elf Stufen. Abbildung 3.5 zeigt die Mikroarchitektur des A9 mit ihren funktionalen Einheiten. Eine granulare Unterteilung in konkrete Pipelinestufen ist nicht mehr ohne Weiteres möglich. Abbildung 3.5.: ARM Cortex-A9 Architektur (ARM Technical Reference [13]) Befehlsholeinheit Die prinzipielle Arbeitsweise ist identisch zur Befehlsholeinheit des Cortex-A8, die Sprungzielvorhersage wurde jedoch verbessert. Außerdem können bis zu vier Cache Lines pro Takt aus dem Instruktionscache eingelesen werden, wodurch die Auswirkungen von Speicherverzögerungen reduziert werden (Vgl. ARM White Paper, S.6 [12]). Dekodiereinheit Die Dekodiereinheit nimmt zwei bis vier Befehle entgegen und startet deren Dekodierung. Sie besteht aus zwei unabhängigen Einheiten, sodass je Takt die Dekodierung von zwei Instruktionen abgeschlossen werden kann (Vgl. ARM White Paper, S.6 [12]). 16

17 3. ARMv7 Architektur Register Renaming Einheit Diese Einheit erhöht den Grad der Parallelität der Befehle und bereitet so eine effiziente out-of-order Ausführung vor. Das bereits genannte Register Renaming löst durch Umbenennen von physikalischen Registeradressen die künstlichen Datenabhängigkeiten auf. Als weitere Maßnahme werden Schleifen ausgerollt (Loop Unrolling), um deren Iterationen parallel auszuführen (Vgl. ARM White Paper, S.6 [12]). Dispatcheinheit Hier findet die eigentliche out-of-order Zuteilung (Scheduling) statt. Die zur Ausführung bereitstehenden Befehle in der Instruction Queue werden auf Konflikte geprüft. Befehle, die zur Ausführung freigegeben wurden, werden dynamisch und spekulativ auf die Ausführungspipelines verteilt. Außerdem sorgt eine Kontrollstruktur, die von der Writebackeinheit über die korrekte Ausführung eines Befehls informiert wird, für den Abschluss des Befehls (Commit) und das Entfernen aus der Warteschlange. Ausführungseinheit Die Ausführungeinheit ist dreifach superskalar und besteht aus zwei ALUs, einem Multiplizierer, einer Load/Store Einheit und optional wird die NEON- und Fließkommaeinheit über die Load/Store Pipeline integriert. Abhängige Load/Store Befehle können in das Speichersystem weitergeleitet und dort unabhängig weiter bearbeitet werden, wodurch ein Stocken der Pipeline verhindert wird (Vgl. ARM White Paper, S.6 [12]). Writebackeinheit Diese Einheit ist in ihrer Komplexität gestiegen, da nun die ausgeführten Befehle in beliebiger Reihenfolge eintreffen. Die Befehle werden sortiert (Reorder) und es wird sichergestellt, dass die Ausführung korrekt ablief. Die Dispatcheinheit wird darüber verständigt. Dann erfolgt das Rückschreiben der Ergebnisse in die Register Performance ARM verspricht einen großen Leistungssprung zwischen dem Cortex-A8 und dem Cortex- A9 Einkerner, der in der out-of-order Ausführung begründet liegt. Durch deren aufwändige Implementierung und Optimierung wird eine dynamische Umsortierung der Befehle vorgenommen und das Potenzial zur parallelen Ausführung verbessert. Die Anzahl der Wartezyklen soll somit deutlich reduziert werden und folglich der erreichbare CPI Wert näher am Idealwert liegen. Hennessy und Patterson belegen anhand eines Benchmarks unter möglichst identischen Bedingungen, dass der A9 etwa um den Faktor 1,28 schneller als der A8 ist (Vgl. Hennessy, Patterson, S.236 [2]). ARM selbst gibt eine Leistungssteigerung des Einkerners von über 50% im Vergleich zum A8 an (Vgl. ARM [11]). Im Dhrystone Benchmark werden nun 2,5 DMIPS/MHz pro Kern erreicht, was einer Steigerung von 25% entspricht (Vgl. ARM White Paper, S.5 [12]). 17

18 3. ARMv7 Architektur 3.3. ARM Cortex-A15 Die neueste Modellreihe der Cortex-A Familie wurde im Jahre 2011 vorgestellt, erste Produkte mit diesem Chip erscheinen momentan auf dem Markt. Ein erneut starker Leistungszuwachs führt dazu, dass der A15 zunächst in größeren mobilen Geräten eingesetzt wird, so z.b. im Google Chromebook und dem Nexus 10 Tablet Computer (Vgl. Wikipedia [15]). Der Apple A6, welcher im iphone 5 zum Einsatz kommt, hat zwei Kerne integriert, die einige Features des A15 übernehmen, allerdings generell eine Apple Eigenentwicklung ist (Vgl. Wikipedia [17]). Der Prozessor bietet variabel ein bis vier Kerne pro Cluster und ein bis zwei Cluster pro Chip. Maximal können dadurch acht Kerne auf einem Chip verbaut sein, deren Taktfrequenz bis zu 2,5 GHz betragen kann (Vgl. Wikipedia [15]). Jeder Kern hat eine eigene NEON- und Fließkommarecheneinheit fest integriert. ARM geht nun also verstärkt den Weg hin zu Mehrkernprozessoren, d.h. der Integration mehrerer Kerne auf einem Chip. Abbildung 3.6.: ARM Cortex-A15 MPCore Architektur (ARM Technical Reference [14]) 18

19 3. ARMv7 Architektur Pipeline An der inzwischen bewährten out-of-order Ausführung hält ARM fest, die grundlegende Architektur bestehend aus den einzelnen Funktionseinheiten ist ähnlich, wie anhand Abbildung 3.6 zu erkennen ist. Allerdings wurde die Abarbeitung in feinere Schritte zerlegt, weshalb die Anzahl der Stufen für Ganzzahlberechnungen auf 15 und für Fließkommaberechnungen auf angestiegen ist. Die Dekodiereinheit und die Ausführungseinheit ist weiterhin zweifach respektive dreifach superskalar ausgelegt (Vgl. Wikipedia [15]. Befehlsholeinheit Die Sprungzielvorhersage wurde überarbeitet und arbeitet nun statisch und dynamisch. Dekodiereinheit Bis zu zwei Befehle pro Takt werden fertig dekodiert. Das Register Renaming wurde in die Dekodierstufe integriert und bereitet durch Entfernen der künstlichen Datenabhängigkeiten auf die anschließende dynamische Verteilung der Befehle vor. Neu hinzugekommen ist der Loop Buffer, welcher die dekodierten Befehle kurzer Schleifenkörper speichert und somit eine einmalige Dekodierung von Schleifen genügt. Dispatcheinheit Die Dispatcheinheit nimmt das dynamische out-of-order Scheduling vor und kontrolliert nach der Ausführung den Commitzustand der Anweisungen. Es besteht eine direkte Anbindung zum Registersatz, welcher die Ergebnisse aufnimmt. Ausführungseinheit Die Ausführungseinheit ist nun konzipiert aus einer Integereinheit, welche zwei symmetrische ALUs, einen Multiplizierer und eine Divisionsschaltung besitzt und über zwei Pipelines erreichbar ist. NEON- und Fließkommaeinheit sind fest integriert und übernehmen SIMD- und Gleitkommaanweisungen. Die Load/Store Einheit umfasst den L1- Cache. Insgesamt stehen drei Pipelines zur Befehlsverteilung zur Verfügung. Writebackeinheit Der Befehlsstrom wird sortiert und die korrekte Ausführung sichergestellt Performance Offiziellen Angaben von ARM zufolge erreicht der Cortex-A15 im Vergleich zu einem Cortex-A9 Chip bei gleicher Anzahl Kerne und Takt etwa 40% mehr Leistung (Vgl. Wikipedia [15]). Im Dhrystone Benchmark werden mindestens 3,5 DMIPS/MHz pro Kern erreicht, je nach Implementierung scheinen bis zu 4,01 DMIPS/MHz pro Kern möglich zu sein, was einer Steigerung von 40 bis 60% entspräche (Vgl. Wikipedia [16]). 19

20 4. Intel Sandy-Bridge Architektur In diesem Kapitel wird ein Blick auf die x86-prozessoren (auch IA-32 1 ) mit CISC 2 Befehlssatz von Intel geworfen, deren Modell Intel 4004 aus dem Jahre 1971 als erster vollständiger Prozessor auf einem Chip gilt. Intel ist heute stark im PC 3 - und Serverbereich tätig und hält im Segment der PC-Mikroprozessoren einen Marktanteil von ungefähr 80% (Vgl. Wikipedia [18]). Zunächst wird durch die Darstellung der Entwicklung über mehrere CPU Generationen hinweg ein angemessener Rahmen geschaffen, bevor die aktuelle Sandy-Bridge Architektur detailliert dargelegt wird. Ein CISC Befehlssatz besteht aus vielen, mitunter komplexen Befehlen, vielen Adressierungsarten und Speicheroperanden können direkt in die Befehle kodiert werden. Die Befehle besitzen eine variable Bitlänge und haben in der Ausführung sehr differenzierende Befehlsphasen, was eine Pipelineimplementierung erheblich erschwert. Der Lösungsansatz besteht aus der Zerlegung der Befehle in Mikrooperationen fester Länge Entwicklung seit 1989 Vor dem Einstieg in die aktuelle Architektur ist ein Blick auf deren Vorgänger hilfreich, da sich wichtige Schlüsse ziehen und dadurch Designentscheidungen begründen lassen. Die Abbildung 4.1 zeigt exemplarisch auf der x-achse einige Prozessoren und Mikroarchitekturen aufsteigend nach ihrem Erscheinungsjahr und auf der y-achse deren Pipelinelänge für die Verarbeitung von Integerinstruktionen (Vgl. Hoffmann, S.350 [4]). Es ist zu beachten, dass einzelne Prozessormodelle und ganze Architekturen, welche in mehreren Modellreihen zum Einsatz kommen können, vermischt wurden. Weiterhin variiert die Pipelinelänge je nach Befehlsart, z.b. Ganzzahl, Fließkommazahl, Lade/Speicher, was eine konsistente Betrachtung erschwert. Im Kern soll die Abbildung aufzeigen, dass Intel eine Zunahme der Stufenanzahl anstrebte, um dadurch einen sehr hohen Kerntakt zu erzielen. Dies zeigt sich sehr deutlich innerhalb der Pentium IV Familie und ist zurückzuführen auf die Intel-NetBurst- Mikroarchitektur. In der Spitze mussten die Befehle durch eine 31-stufige Pipeline wandern. Den damit verbundenen negativen Effekten wurde ein hoher Aufwand in der Sprungzielvorhersage gegenüber gestellt, um möglichst selten die Pipeline leeren zu müssen. Allerdings resultierte daraus insgesamt eine sehr hohe Leistungsaufnahme und ein 1 Intel Architecture 32-Bit 2 Complex Instruction Set Computer 3 Personal Computer 20

21 4. Intel Sandy-Bridge Architektur Abbildung 4.1.: Entwicklung der Pipelinestufen bei Intel CPUs ineffizientes Verhältnis von Performance zu Watt. Intel wurde zu Alternativen gezwungen und präsentierte mit der Core-Mikroarchitektur eine 14-stufige Pipeline, welche die P6 Architektur des Pentium III fortentwickelte und den Grundstein für nachfolgende Generationen legte. Bereits zwei Jahre später wurde die Nehalem Architektur als Weiterentwicklung vorgestellt. Dieses Kapitel fokussiert Sandy-Bridge, eine Neuentwicklung von Grund auf, obwohl dies gemessen an der Pipelinelänge zunächst nicht offensichtlich erscheint folgte mit Ivy-Bridge eine Überarbeitung, deren Neuerungen ebenfalls kurz erläutert werden Intel Core i7 Die 2008 vorgestellte, aktuelle Core i Serie umfasst die Modellreihen i3, i5 und i7. Sie ist ausgelegt für den Desktop- und Performancemarkt mit Taktraten von 1,06 bis 3,06 GHz (Vgl. Wikipedia [19]). Die späteren Darstellungen und Einschätzungen zur Performance beziehen sich konkret auf die i7 Reihe. Der Zusammenhang zwischen Architektur und Modellreihe stellt sich wie folgt dar: Die i7 CPUs basierten zunächst auf der Nehalem- (1. Generation), ab 2011 auf der Sandy-Bridge- (2. Generation) und seit 2012 auf der Ivy-Bridge-Architektur (3. Generation). In einem Chip verbaut werden zwei bis acht Kerne, wobei manche Varianten mit zwei Threads (Aktivitätsträger) pro Kern arbeiten. Ein Vergleich zu den bereits behandelten ARM Prozessoren verbietet sich aufgrund der verschiedenen Anwendungsgebiete. Der Stromverbrauch eines Core i Prozessors liegt beispielsweise um ein Vielfaches höher. Möglich ist ein Vergleich zu AMD und deren Bulldozer Architektur, welche im nächsten Kapitel vorgestellt wird Sandy-Bridge Pipeline Betrachtet man den Kern der Architektur, die Pipeline, so findet man eine plausible Pipelinetiefe von 14 Stufen vor. Eine falsche Sprungzielvorhersage verursacht eine Misprediction Penalty von etwa 15 Taktzyklen. Laut Fog werden dank des neuen Mi- 21

22 4. Intel Sandy-Bridge Architektur kroopscaches einige Taktzyklen gegenüber dem Nehalem eingespart (Vgl. Fog [6]). Die Sprungzielvorhersage mit verbundener out-of-order Ausführung agiert sehr aggressiv und hochspekulativ. Intel s Absichten beruhen auf einem hohen Befehlsdurchsatz durch eine Kombination aus superskalarer Ausführung und hohen Taktfrequenzen. Die folgenden Abschnitte erläutern ausführlich die Pipelinestrukturen. Denkt man sich die Abbildungen untereinander, ergibt sich die gesamte Pipeline, wobei die konkreten, einzelnen Stufen aufgrund der abstrakten Darstellung nicht direkt erkennbar sind Befehlsholpipeline Abbildung 4.2 zeigt die Fetchpipeline. Die Sprungzielvorhersage ist sehr umfangreich und aufwändig. Nachdem eine Adresse berechnet wurde, wird zunächst über den neuen 8- Wege Mikrooperationscache versucht, auf bereits fertig dekodierte Mikrooperationen zu stoßen, wodurch im Falle eines Treffers alle weiteren Stufen der Fetch- und Dekodierphase eingespart werden. Andernfalls wird der L1-Instruktionscache adressiert und ein Paket von 16 Bytes in den Buffer des Vordekodierers transferiert. Abbildung 4.2.: Intel Sandy-Bridge Fetchpipeline (realworldtech [20]) Der Vordekodierer markiert die Grenzen von bis zu sechs einzelnen x86 Befehlen pro Takt und sucht nach unbedingten Sprüngen, bis die 16 Byte abgearbeitet sind. Diese Aufgabe ist nicht trivial, da jeder Befehl zwischen einem und 17 Byte lang sein kann. Desweiteren wird die sogenannte Macro-op Fusion ausgeführt, die Instruktionspaare miteinander verschmilzt, beispielsweise einen Vergleich (Compare) mit folgender Verzweigung (Branch). Die identifizierten x86 Instruktionen werden in der mindestens 18 Einträge fassenden Instruction Queue abgelegt und sind damit bereit zur Dekodierung Dekodierpipeline Die Dekodiereinheiten (siehe Abbildung 4.3) können insgesamt bis zu vier x86 Instruktionen entgegennehmen und zerlegen diese in Mikrooperationen fester Länge, die nativ in der Hardware ausgeführt werden können. Diese klassische Zerlegung wurde 1997 mit dem Pentium Pro eingeführt. Einfache Befehle werden in genau eine Mikrooperation übersetzt, komplexe Befehle hingegen in eine Sequenz von bis zu vier Mikrooperationen. 22

23 4. Intel Sandy-Bridge Architektur Alternativ zu diesen Schaltungen können mikroprogrammierte Befehle in vier Mikrooperationen pro Takt zerlegt werden, die die Befehlssequenz vollständig ist. Eine Technik namens Micro-Fusion fasst einige Operationspaare in eine einzige Mikrooperation zusammen. Unabhängig von der Konfiguration können maximal vier Mikrooperationen pro Takt erzeugt werden, die in der richtigen Reihenfolge in den 28 Einträge fassenden Dekodierbuffer und den Mikroopcache abgelegt werden. Abbildung 4.3.: Intel Sandy-Bridge Dekodierpipeline (realworldtech [20]) Der Mikroopcache kann gleichzeitig die Leistung erhöhen und den Strombedarf verringern, indem bereits dekodierte Befehlsketten direkt mit ebenfalls bis zu vier Operationen pro Takt in den Dekodierbuffer transferiert werden (Vgl. realworldtech [20]). Er ist eine innovative Weiterentwicklung des Loop Stream Detectors des Nehalem, der Schleifen erkennen konnte und Befehle innerhalb des Schleifenkörpers nur einmalig dekodierte Out-of-order Dispatchpipeline An dieser Stelle erfolgt der Übergang in das Back-End der Pipeline. Bisher wurden die Befehle in-order geholt und dekodiert. Nun wird die out-of-order Ausführung vorbereitet, initiiert und überwacht (siehe Abbildung 4.4). Die Befehle werden zunächst in-order aus dem Dekodierbuffer gelesen, egal ob Integer-, Fließkomma- oder SIMD-Befehl. Jeder Befehl erhält einen Eintrag im Reorder Buffer (ROB 4 ) sowie entsprechend seinem Befehlstyp in einem der beiden Physical Register Files, die bereits im Pentium IV zum Einsatz kamen und in Sandy-Bridge wieder eingeführt wurden. Diese beiden Bauteile kontrollieren die out-of-order Ausführung sehr genau, indem ihr Zustand protokolliert wird. Sie führen alle nötigen Daten für einen Befehl zusammen und nehmen das Register Renaming vor, um den ILP zu erhöhen. Integerbefehle werden im PRF 5, Fließkommaund SIMD-Befehle werden im FP 6 Pendant gehalten. Intel hat diese Strukturen sehr großzügig ausgelegt. Das Physical Register File (PRF) speichert alle Datenwerte der spekulativ umbenannten Register und der tatsächlichen architekturiellen Register. 4 Reorder Buffer 5 Physical Register File 6 Floating Point 23

24 4. Intel Sandy-Bridge Architektur Abbildung 4.4.: Intel Sandy-Bridge Dispatchpipeline (realworldtech [20]) Der Reorder Buffer ist eine Art Statusarray, das einen Zeiger auf den zugehörigen Eintrag im PRF und Informationen zu der Mikrooperation in Ausführung hält. Die Operation wird bis zu ihrem Abschluss überwacht und erst entfernt, nachdem die korrekte Reihenfolge der Ausführung sichergestellt wurde. Pro Takt können vier Befehle endgültig beendet werden (Retirement). Anschließend sind die Befehle bereit beliebig gemäß ihrer Abhängigkeiten ausgeführt zu werden. Ein gemeinsamer 54-Einträge Scheduler (Reservierungsstation) nimmt die Mikrooperationen entgegen, wo sie auf ihre Ausführung warten. Sobald eine Anweisung konfliktfrei und damit bereit zur Ausführung ist, wird sie einer entsprechenden Ausführungseinheit zugewiesen. Pro Takt können bis zu sechs solcher Zuweisungen geschehen Ausführungspipeline Der Scheduler verteilt die ältesten, bereiten Befehle auf sechs Ports, die zu den Ausführungseinheiten führen. Arithmetische und logische Einheiten sind an die Ports 0, 1 und 5 (siehe Abbildung 4.5) und Speichereinheiten an die Ports 2, 3 und 4 (siehe Abbildung 4.6) angebunden. Es wird unterschieden in drei Typen von Rechenbefehlen: 1. Integer 2. SIMD Integer 3. Fließkomma (skalar oder SIMD) Passend dazu bietet jeder der drei Ports eine entsprechende Ausführungseinheit pro Befehlstyp. Dies sorgt für eine flexible Verteilung der Mikrooperationen. Alle Datenpfade haben eine Breite von lediglich 128 Bit, obwohl der Befehlssatz 256 Bit Befehle, z.b. AVX 7 anbietet, welche meistens in eine einzelne Mikrooperation zerlegt werden. Um die 256 Bit Funktionseinheiten der Ports zu erreichen, werden die Datenpfade der SIMD Einheiten mitverwendet und somit zwei 128 Bit Blöcke transferiert (Vgl. realworldtech [20]). 7 Advanced Vector Extensions 24

25 4. Intel Sandy-Bridge Architektur Abbildung 4.5.: Intel Sandy-Bridge Ausführungspipeline (realworldtech [20]) Speicherpipeline Speicherbefehle werden vom Scheduler an die Ports 2, 3 und 4 weitergereicht und finden damit Anbindung an das Speichersystem. Zwei Adressgenerierungseinheiten (AGUs) generieren die Speicheradressen, die in dem 64 Einträge fassenden Ladebuffer oder dem 36 Einträge fassenden Speicherbuffer abgelegt werden. Speicherbefehle mit direkter Speicheradressierung im Befehl werden über Port 4 in eine separate Speichereinheit und von dort direkt in den Speicherbuffer geschrieben. Abbildung 4.6.: Intel Sandy-Bridge Speichereinheit (realworldtech [20]) Von den Buffern aus werden die Befehle beginnend mit dem L1-Cache in die Speicherhierarchie übergeben. Die TLB 8 s speichern den Zusammenhang zwischen logischer und physikalischer Adresse. Da insgesamt Speicher für 100 Befehle zur Verfügung steht, können folglich 100 Speicheroperationen parallel durch die Speicherhierarchie verarbeitet werden (Vgl. realworldtech [20]). Diese hohe Zahl ist notwendig, da Speicherzugriffe viele Taktzyklen benötigen können, insbesondere, wenn sie im Stack nach unten durchgereicht werden, um die angeforderten Daten zu beschaffen. Dieses Phänomen ist als Speicherlücke bekannt. Für die ersten Stufen L1 und L2 beträgt die Latenz lediglich 4 bzw. 11 Zyklen, steigt dann aber rapide an. (Vgl. ht4u [24]). 8 Translation Lookaside Buffer 25

26 4. Intel Sandy-Bridge Architektur 4.4. Performance In diesem Abschnitt wird versucht, eine Einschätzung bzgl. der Leistung der Sandy- Bridge Architektur zu geben. Augenmerk während des Designs war eine möglichst effiziente Performance pro Kern. Unterstützt Sandy-Bridge zwar zwei Threads, so wiegt als Prozessor für den Desktopbereich die Leistung in einem einzelnen Thread dennoch schwer. Das Front-End ist in x86 Prozessoren begründet durch die Zerlegung der Instruktionen in Mikrooperationen traditionell aufwändig. Intel gelingt es durch den Einsatz des Mikroopcaches Optimierungen vorzunehmen, die sich sehr positiv auf die Gesamtperformance auswirken. Aussagen von Intel zufolge fasst der Cache bis zu Mikrooperationen und die Hitrate liegt bei 80% (Vgl. ht4u.net [21] und Fog [6]). Aufgrund der hohen Komplexität des Prozessors ist es schwierig, tiefgreifende Aussagen zu treffen, wodurch Potenzial verloren geht und die Lücke zwischen idealem und realem CPI entsteht. Die Autoren Hennessy und Patterson stellen die Menge an verschwendeter Arbeit dar, d.h. Mikrooperationen, die ausgeführt und später verworfen werden. Klargestellt wird dabei, dass relativ wenig Verzögerungen durch Instruktionen auftreten, die nicht vom Scheduler zugeteilt werden können. Die Pipeline arbeitet generell sehr performant. Stattdessen rücken andere Faktoren zunehmend in den Vordergrund: Fehlerhafte Sprungzielvorhersage und Cache Misses über alle Levels hinweg (Vgl. Hennessy, Patterson, S.239 [2]). Betrachtet man den SPECCPU2006 benchmark, so ergibt sich im Schnitt ein CPI von 1,06 für Ganzzahlberechnungen und 0,89 für Fließkommazahlberechnungen. Die Varianz ist allerdings hoch (Vgl. Hennessy, Patterson, S.240 [2]). Fog versucht in seinen experimentellen Untersuchungen Flaschenhälse aufzuzeigen. Das Front-End war in früheren Architekturen ein bedeutender Engpass. Im Falle, dass der kritische Codebereich in den neuen Mikroopcache passt, bringt dies signifikante Entlastung. Weiterhin ist die Sprungzielvorhersage immer noch kritisch zu betrachten, wobei sich insbesondere die Vorhersage von Schleifen verschlechtert hat. Natives Multithreading kann zu Verbesserungen bei Speicherverzögerungen führen (Vgl. Fog [6]) Ivy-Bridge Architektur Die neueste Prozessorgeneration basiert auf der Ivy-Bridge Architektur, welche ein Update von Sandy-Bridge darstellt und deren wichtigste Neuerung die 22 Nanometer Fertigung ist. Bezogen auf die Architektur eines einzelnen Kerns werden nur einzelne Optimierungen vorgenommen. Wichtigste Features sind die noch aggressivere Sprungvorhersage und Durchsatzsteigerungen in der Berechnung von Divisionen. Insgesamt verbessert sich die CPI Kennzahl leicht (Vgl. computerbase [22]). 26

27 5. AMD Bulldozer Architektur AMD produziert ebenfalls x86-prozessoren und konkurriert mit Intel um Marktanteile. Die Bulldozer Architektur wurde 2011 vorgestellt, verfolgt innovative Ideen und zielt verstärkt auf den Serverbereich ab. AMD versucht somit Intel s Schatten zu verlassen. Bulldozer ist eine umfassende Neuentwicklung, ihre Vorgänger sind die K8 (Bsp. Athlon 64) und K10 (Bsp. Phenom) Architekturen. Erhältliche Prozessoren auf dem Markt mit der neuen Architektur sind AMD FX für den Desktopbereich und AMD Opteron für Serversysteme. Die Taktraten des FX liegen mit 3,1 GHz bis 4,2 GHz in einem hohen Bereich Architektur AMD weicht von der Fokussierung auf Einzelthread Performance ab und stellt stattdessen den aggregierten Durchsatz in den Vordergrund (Vgl. realworldtech [20]). Dafür führte AMD sogenannte Module (siehe Abbildung 5.1) ein. Ein Modul verfügt über zwei unabhängige Integer Einheiten, genannt Cluster, mit jeweils zwei ALUs und AGUs. Dazu gesellt sich eine 256-Bit FPU 1, die bei Bedarf in zwei 128-Bit Einheiten aufgesplittet werden kann. Direkte Speicherzugriffe unterstützt sie nicht, sondern verwendet die Speicherpipeline der Integer Cluster mit. Lediglich einmal vorhanden sind das Front-End, bestehend aus Fetch- und Dekodierpipeline sowie der L2-Cache. Ein Modul ist optimiert auf die Ausführung von zwei Threads, die jeweils an ein Cluster gebunden sind. Abbildung 5.1.: AMD Bulldozer Modul (AnandTech [25]) 1 Floating Point Unit 27

28 5. AMD Bulldozer Architektur Das Bestriebssystem erkennt ein Modul als zwei logische Kerne und ein kompletter Prozessor besteht nach dem Baukastenprinzip aus einer Anzahl an Modulen, maximal sind dies aktuell vier. Folglich stehen dann acht logische Kerne zur Verfügung. Clustered-Integer-Core Das von AMD verwendete Prinzip wurde erstmals von DEC 2 entwickelt. Ein Modul ist ein Mittelweg zwischen einem echten Dualcore und einem Singlecore mit SMT 3 (z.b. Intel Hyper-Threading). Es besteht aus verschiedenen einfach und doppelt vorhandenen Einheiten, die sich manche Ressourcen teilen müssen. Integer-Ausführungseinheiten sind beispielsweise doppelt und unabhängig voneinander, Fetch- und Dekodiereinheiten nur einfach vorhanden. AMD verfolgt damit das Ziel, gewisse redundante Ressourcen zu vermeiden und dadurch ohne Performanceverlust Chipfläche und Strombedarf einzusparen Bulldozer Pipeline Nach der Erläuterung des Modulkonzeptes, ist es nun möglich, die Pipeline eines Moduls näher zu untersuchen. AMD wählte den Weg eines höheren Takts und verlängerte die Pipeline im Vergleich zu seiner Vorgängerarchitektur deutlich, wobei diese mit zwölf Stufen vergleichsweise kurz ausfiel. Die genaue Pipelinelänge des Bulldozers ist jedoch unbekannt (Vgl. ht4u [24]). AMD überarbeitete die Sprungzielvorhersage, die aufgrund der relativ tiefen Pipeline sehr kritisch ist, um deren Genauigkeit zu erhöhen. Eine falsche Vorhersage wird bestraft mit 20 Taktyklen für bedingte und indirekte Verzweigungen und 15 Zyklen im Falle von unbedingten Sprüngen. Beide Cluster teilen sich das Front-End, welches folglich multi-threaded (mehrfädig) arbeitet. Das Umschalten zwischen den Threads kostet einen Zyklus, die Arbitrierung erfolgt nach einer Menge an Einflussfaktoren. Die einzelnen Stufen werden entkoppelt durch Warteschlangen Befehlsholpipeline Die Befehlsholpipeline (siehe Abbildung 5.2) ist dafür verantwortlich, für beide Cluster innerhalb eines Moduls Befehle zu holen. Im ersten Schritt erfolgt die Sprungzielvorhersage, die relative Instruktionszeiger (RIP 4 ) produziert und für jeden Thread in eine entsprechende Warteschlange ablegt. Sie ist also entkoppelt vom eigentlichen Fetchvorgang, sodass sie voraus arbeiten kann, was ihre gemeinsame Verwendung unterstützt. Außerdem wird es durch die frühe Adressenvorhersage möglich, ein Prefetching der Befehlsblöcke in den L1-Instruktionscache vorzunehmen. Im nächsten Schritt adressiert die Befehlsholeinheit eben diesen L1-Instruktionscache und die TLBs mit einer berechneten Adresse aus den Warteschlangen. Eine Cache Line ist 512 Bit = 64 Byte lang, jedoch können pro Zyklus nur 32 Byte in den Instruktionbuffer geladen werden, sodass ein Fet- 2 Digital Equipment Corporation 3 Simultaneous Multithreading 4 Relative Instruction Pointer 28

29 5. AMD Bulldozer Architektur chvorgang zwei Takte lang dauert. Jeder Instruktionsbuffer enthält 16 Einträge zu je 16 Byte an x86 Anweisungen (Vgl. realworldtech [23]). Abbildung 5.2.: AMD Bulldozer Fetchpipeline (realworldtech [23]) Dekodierpipeline Die Dekodierstufe (siehe Abbildung 5.3) ist prinzipiell vergleichbar mit Intel s Sandy Bridge. AMD muss ebenfalls eine Konvertierung der x86 Instruktionen in eine interne Struktur vornehmen. Die verwendete Terminologie unterscheidet sich allerdings. Eine AMD Makrooperation ist ein interner Befehl fixer Länge, der eine arithmetische und eine Speicheroperation kombinieren kann (realworldtech [23]) und in der Verwaltung eingesetzt wird. Eine Mikrooperation ist eine einfachere Operation fester Länge, die entweder eine Arithmetik- oder eine Speicherfunktion beinhaltet (realworldtech [23]) und nativ in den funktionalen Ausführungseinheiten ausgeführt wird. Abbildung 5.3.: AMD Bulldozer Dekodierpipeline (realworldtech [23]) Die Dekodierung beginnt mit der Untersuchung von zwei 16 Byte Paketen. In Einzelfällen kann nur das erste Paket untersucht werden. Eine Verschmelzung eines Vergleichs mit folgendem Sprung in einen Befehl wird erstmalig bei AMD vorgenommen. Die Dekodiereinheiten übersetzen anschließend jede gefundene Instruktion in ein bis zwei Makrooperationen und legen sie in einem Buffer ab. Pro Takt können maximal vier Befehle dekodiert werden. Alternativ kann eine separate Einheit mikroprogrammierte Befehle über mehrere Takte hinweg in eine Sequenz zerlegen, was aber die restlichen Dekodierer in dieser Zeit blockiert. 29

30 5. AMD Bulldozer Architektur Out-of-order Dispatchpipeline An diesem Punkt erfolgt der Übergang der Ressourcenteilung des Front-Ends in die dual ausgelegten Integer Cluster, die jeweils einen eigenen logischen Kern darstellen. Zusätzlich gibt es eine separate, aber abhängige Fließkommaeinheit. Abbildung 5.4.: AMD Bulldozer Dispatchpipeline (realworldtech [23]) Abbildung 5.4 stellt die Dispatchpipeline dar. Die zum Einsatz kommenden Verfahren können mit Sandy-Bridge verglichen werden (siehe 4.3.3). Je Takt wird eine Gruppe von maximal vier Makrooperationen an eines der beiden Cluster transferiert und dort in der Retirement Queue abgelegt, die für die Buchhaltung während der out-of-order Ausführung zuständig ist und einen Zeiger auf den neu erzeugten Eintrag im entsprechenden PRF enthält. In den Physical Register Files findet das Register Renaming statt. Durch diese Datenstrukturen wird es möglich, das Retirement oder notwendiges Rückgängigmachen von Änderungen (Rollback) sparsamer auszuführen, da statt dem Verschieben von Daten Pointermanipulationen ausreichend sind. Vier Operationen können in jedem Taktzyklus abgeschlossen werden. Nach dieser Vorbereitung werden die Operationen in den Schedulern abgelegt, wo sie auf die notwendigen Ressourcen, wie beispielsweise Operanden warten. Fließkommaeinheit Die Fließkommaeinheit verfügt über einen eigenen Scheduler, Register File und Ausführungseinheiten für Floating-Point und SIMD Befehle. Diese Aufteilung nimmt AMD traditionell vor. Die FPU ist allerdings abhängig von den Integer Clustern, weshalb Befehle auch nicht direkt zu ihr fließen. Diese Abhängigkeit ist sehr anschaulich in Abbildung 5.4 dargestellt, deren linke Seite innerhalb der Fließkommaeinheit und rechte Seite innerhalb eines Integer Clusters liegt. Die Abhängigkeit entsteht durch die Ausführungskontrolle der Retirement Queue, die innerhalb eines Cluster liegt Ausführungspipeline Entsprechend der zuvor erläuterten Terminologie, wird während der Ausführunsphase von Mikrooperationen gesprochen. Ausgehend von den zwei unterschiedlichen Schedulern, gibt es funktionale Einheiten für Ganzzahlen und für Fließkommazahlen. 30

31 5. AMD Bulldozer Architektur Integer Pipelines Der Integer Scheduler verteilt pro Takt maximal die vier ältesten, bereiten Mikrooperationen auf vier Pipelines. Zur Verfügung stehen zwei ALUs (siehe Abbildung 5.5) und zwei AGUs (siehe Abbildung 5.6). Auf die Speicherhierarchie wird im nächsten Abschnitt eingegangen. Die ALU Einheiten können jeweils die gebräuchlichsten Integeroperationen ausführen. Die beiden ALU Pipelines unterscheiden sich jedoch insofern, dass die erste ein Bauteil zur Division (ohne Pipeline) von Ganzzahlen enthält, das eine variable Anzahl an Takten benötigt, und außerdem eine Schaltung für spezielle Zählerbefehle implementiert ist. Die zweite Pipeline enthält einen Multiplizierer, der selbst eine Pipeline aufweist, und sie führt kombinierte Verzweigungsbefehle aus. Abbildung 5.5.: AMD Bulldozer Ausführungspipeline (realworldtech [23]) Floating-Point Pipelines Dem Floating Point Scheduler ist ebenfalls der Zugriff auf vier Pipelines mit angebundenen 128 Bit funktionalen Einheiten möglich. Essentiell sind die beiden FMAC 5 Schaltungen, die Additionen, Multiplikationen und zusätzlich sogar Divisions- und Wurzelberechnungen ausführen können. Beide Pipelines bieten zusätzlich noch spezielle Einheiten für seltenere Befehle. AVX Instruktionen von 256 Bit Länge werden in zwei Schritte zerlegt, welche entweder vom Scheduler hintereinander zugeteilt oder optimalerweise parallel den beiden FMACs übergeben werden können. Die Pipelines 3 und 4 sind auf SIMD Anweisungen jeglicher Art ausgelegt. Die dritte Pipeline enthält zusätzlich noch ein Speichermodul, das Speicherbefehle an die Speicherpipeline weiterreicht. Da es auf jedem Modul zwei Integer Cluster und eine Floating-Point Einheit gibt, die jeweils vier Anweisungen verteilen können, ist es im besten Fall möglich, pro Takt bis zu 16 unabhängige Mikrooperationen zu beginnen Speicherpipeline Der Aufbau des Speichersystems (siehe Abbildung 5.6) ähnelt relativ stark ihrem Pendant in Sandy-Bridge, ist jedoch im Detail kleiner ausgelegt. Zwei symmetrische AGUs generieren Adressen und legen sie in den entsprechenden Warteschlangen für Lade- oder Speicherbefehle ab, die 40 respektive 24 Einträge fassen können. Parallel in der Speicherhierarchie verarbeitet werden können dadurch bis zu 64 Befehle. Bei Sandy-Bridge sind dies 100. Dem L1-Cache ist es theoretisch möglich, 5 Floating Point Multiply Accumulate 31

32 5. AMD Bulldozer Architektur pro Takt zwei Lade- und einen Speicherbefehl abzuschließen, wobei dieser Durchsatz in der Praxis durch Konflikte eingeschränkt wird und ohnehin nur zwei Adressen pro Takt von den AGUs erzeugt werden. Der L1-Cache ist write-through ausgelegt, d.h. Änderungen werden unmittelbar an den L2-Cache durchgereicht. Dieser wird zwischen beiden Clustern geteilt und ist mit 2 Megabyte vergleichsweise groß ausgelegt. Die Load- Use Latenz, die beschreibt, wie lange es ab der Speicheranfrage dauert, bis das Ergebnis vorliegt, beträgt bei den L1- und L2-Caches vier bzw. 21 Taktzyklen (Vgl. ht4u [24]). Abbildung 5.6.: AMD Bulldozer Speichereinheit (realworldtech [23]) 5.3. Performance Anhand einer Leistungsuntersuchung wird aufgezeigt, wie effizient die Pipelinearchitektur des Bolldozers funkioniert Leistung auf Modulebene Interessant ist zunächst das Leistungsverhalten des neuen Modulkonzeptes. Laut AMD benötigt ein Modul rund 20% mehr an Fläche gegenüber einem klassischen Kern, die Leistung jedoch soll 180% des einzelnen Kerns erreichen. Intel s Hypterthreading bringt in einem Sandy-Bridge Kern nur etwa 20-30% Steigerung (Vgl. ht4u [24]). Im Benchmark eines Moduls mit einem laufenden Thread gegen ein Modul mit zwei laufenden Threads zeigt sich in der Praxis die Auswirkung des Modulkonzeptes. Im Mittel wurde ein Vorteil von 33% erzielt. Stark parallelisierte Anwendungen verzeichnen Verbesserungen von 60 bis 70%, andere profitiert hingegen gar nicht (Vgl. ht4u [24]). Außerdem sei erwähnt, dass die effiziente Nutzung eines Moduls, das im Betriebssystem mit zwei Kernen registiert wird, entscheidend vom Thread Scheduling auf Betriebs- 32

Die Mikroprogrammebene eines Rechners

Die Mikroprogrammebene eines Rechners Die Mikroprogrammebene eines Rechners Das Abarbeiten eines Arbeitszyklus eines einzelnen Befehls besteht selbst wieder aus verschiedenen Schritten, z.b. Befehl holen Befehl dekodieren Operanden holen etc.

Mehr

Lösungsvorschlag zur 4. Übung

Lösungsvorschlag zur 4. Übung Prof. Frederik Armknecht Sascha Müller Daniel Mäurer Grundlagen der Informatik 3 Wintersemester 09/10 Lösungsvorschlag zur 4. Übung 1 Präsenzübungen 1.1 Schnelltest a) Welche Aussagen zu Bewertungskriterien

Mehr

Primzahlen und RSA-Verschlüsselung

Primzahlen und RSA-Verschlüsselung Primzahlen und RSA-Verschlüsselung Michael Fütterer und Jonathan Zachhuber 1 Einiges zu Primzahlen Ein paar Definitionen: Wir bezeichnen mit Z die Menge der positiven und negativen ganzen Zahlen, also

Mehr

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als

Mehr

Berechnung der Erhöhung der Durchschnittsprämien

Berechnung der Erhöhung der Durchschnittsprämien Wolfram Fischer Berechnung der Erhöhung der Durchschnittsprämien Oktober 2004 1 Zusammenfassung Zur Berechnung der Durchschnittsprämien wird das gesamte gemeldete Prämienvolumen Zusammenfassung durch die

Mehr

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem Fachbericht zum Thema: Anforderungen an ein Datenbanksystem von André Franken 1 Inhaltsverzeichnis 1 Inhaltsverzeichnis 1 2 Einführung 2 2.1 Gründe für den Einsatz von DB-Systemen 2 2.2 Definition: Datenbank

Mehr

Grundlagen verteilter Systeme

Grundlagen verteilter Systeme Universität Augsburg Insitut für Informatik Prof. Dr. Bernhard Bauer Wolf Fischer Christian Saad Wintersemester 08/09 Übungsblatt 3 12.11.08 Grundlagen verteilter Systeme Lösungsvorschlag Aufgabe 1: a)

Mehr

Das große ElterngeldPlus 1x1. Alles über das ElterngeldPlus. Wer kann ElterngeldPlus beantragen? ElterngeldPlus verstehen ein paar einleitende Fakten

Das große ElterngeldPlus 1x1. Alles über das ElterngeldPlus. Wer kann ElterngeldPlus beantragen? ElterngeldPlus verstehen ein paar einleitende Fakten Das große x -4 Alles über das Wer kann beantragen? Generell kann jeder beantragen! Eltern (Mütter UND Väter), die schon während ihrer Elternzeit wieder in Teilzeit arbeiten möchten. Eltern, die während

Mehr

1 topologisches Sortieren

1 topologisches Sortieren Wolfgang Hönig / Andreas Ecke WS 09/0 topologisches Sortieren. Überblick. Solange noch Knoten vorhanden: a) Suche Knoten v, zu dem keine Kante führt (Falls nicht vorhanden keine topologische Sortierung

Mehr

geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Gehen wir einmal davon aus, dass die von uns angenommenen

geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Gehen wir einmal davon aus, dass die von uns angenommenen geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Vollständigkeit halber aufgeführt. Gehen wir einmal davon aus, dass die von uns angenommenen 70% im Beispiel exakt berechnet sind. Was würde

Mehr

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders

Mehr

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum C A R L V O N O S S I E T Z K Y Agile Vorgehensmodelle in der Softwareentwicklung: Scrum Johannes Diemke Vortrag im Rahmen der Projektgruppe Oldenburger Robot Soccer Team im Wintersemester 2009/2010 Was

Mehr

1 Mathematische Grundlagen

1 Mathematische Grundlagen Mathematische Grundlagen - 1-1 Mathematische Grundlagen Der Begriff der Menge ist einer der grundlegenden Begriffe in der Mathematik. Mengen dienen dazu, Dinge oder Objekte zu einer Einheit zusammenzufassen.

Mehr

Datensicherung. Beschreibung der Datensicherung

Datensicherung. Beschreibung der Datensicherung Datensicherung Mit dem Datensicherungsprogramm können Sie Ihre persönlichen Daten problemlos Sichern. Es ist möglich eine komplette Datensicherung durchzuführen, aber auch nur die neuen und geänderten

Mehr

Programme im Griff Was bringt Ihnen dieses Kapitel?

Programme im Griff Was bringt Ihnen dieses Kapitel? 3-8272-5838-3 Windows Me 2 Programme im Griff Was bringt Ihnen dieses Kapitel? Wenn Sie unter Windows arbeiten (z.b. einen Brief schreiben, etwas ausdrucken oder ein Fenster öffnen), steckt letztendlich

Mehr

Processors for mobile devices

Processors for mobile devices Christopher Titel, Vorname, Pockrandt Name Fachbereich Abteilung, Fachbereich für Mathematik oder und Institut Informatik Processors for mobile devices DailyTech Vergleich von aktuellen Prozessoren Unterschiede

Mehr

Speicher in der Cloud

Speicher in der Cloud Speicher in der Cloud Kostenbremse, Sicherheitsrisiko oder Basis für die unternehmensweite Kollaboration? von Cornelius Höchel-Winter 2013 ComConsult Research GmbH, Aachen 3 SYNCHRONISATION TEUFELSZEUG

Mehr

Ausgewählte Kapitel eingebetteter Systeme

Ausgewählte Kapitel eingebetteter Systeme Ausgewählte Kapitel eingebetteter Systeme Verfahren zur Bestimmung der WCET Andreas Kaiser Friedrich-Alexander University Erlangen-Nuremberg Übersicht Wieso WCET Berechnung? Methoden zur Bestimmung der

Mehr

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus: Übungsbuch für den Grundkurs mit Tipps und Lösungen: Analysis

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus: Übungsbuch für den Grundkurs mit Tipps und Lösungen: Analysis Unterrichtsmaterialien in digitaler und in gedruckter Form Auszug aus: Übungsbuch für den Grundkurs mit Tipps und Lösungen: Analysis Das komplette Material finden Sie hier: Download bei School-Scout.de

Mehr

Kapitel 3 Frames Seite 1

Kapitel 3 Frames Seite 1 Kapitel 3 Frames Seite 1 3 Frames 3.1 Allgemeines Mit Frames teilt man eine HTML-Seite in mehrere Bereiche ein. Eine Seite, die mit Frames aufgeteilt ist, besteht aus mehreren Einzelseiten, die sich den

Mehr

EasyWk DAS Schwimmwettkampfprogramm

EasyWk DAS Schwimmwettkampfprogramm EasyWk DAS Schwimmwettkampfprogramm Arbeiten mit OMEGA ARES 21 EasyWk - DAS Schwimmwettkampfprogramm 1 Einleitung Diese Präsentation dient zur Darstellung der Zusammenarbeit zwischen EasyWk und der Zeitmessanlage

Mehr

icloud nicht neu, aber doch irgendwie anders

icloud nicht neu, aber doch irgendwie anders Kapitel 6 In diesem Kapitel zeigen wir Ihnen, welche Dienste die icloud beim Abgleich von Dateien und Informationen anbietet. Sie lernen icloud Drive kennen, den Fotostream, den icloud-schlüsselbund und

Mehr

Grundlagen der Theoretischen Informatik, SoSe 2008

Grundlagen der Theoretischen Informatik, SoSe 2008 1. Aufgabenblatt zur Vorlesung Grundlagen der Theoretischen Informatik, SoSe 2008 (Dr. Frank Hoffmann) Lösung von Manuel Jain und Benjamin Bortfeldt Aufgabe 2 Zustandsdiagramme (6 Punkte, wird korrigiert)

Mehr

Auszug aus der Auswertung der Befragung zur Ermittlung der IT-Basiskompetenz

Auszug aus der Auswertung der Befragung zur Ermittlung der IT-Basiskompetenz Auszug aus der Auswertung der Befragung zur Ermittlung der IT-Basiskompetenz Wir arbeiten in Strukturen von gestern mit Methoden von heute an Problemen von morgen, vorwiegend mit Menschen, die die Strukturen

Mehr

3 ORDNER UND DATEIEN. 3.1 Ordner

3 ORDNER UND DATEIEN. 3.1 Ordner Ordner und Dateien PC-EINSTEIGER 3 ORDNER UND DATEIEN Themen in diesem Kapitel: Erstellung von Ordnern bzw Dateien Umbenennen von Datei- und Ordnernamen Speicherung von Daten 3.1 Ordner Ordner sind wie

Mehr

Kap 4. 4 Die Mikroprogrammebene eines Rechners

Kap 4. 4 Die Mikroprogrammebene eines Rechners 4 Die Mikroprogrammebene eines Rechners Das Abarbeiten eines Arbeitszyklus eines einzelnen Befehls besteht selbst wieder aus verschiedenen Schritten (Befehl holen, Befehl dekodieren, Operanden holen etc.).

Mehr

Das Prinzip an einem alltäglichen Beispiel

Das Prinzip an einem alltäglichen Beispiel 3.2 Pipelining Ziel: Performanzsteigerung é Prinzip der Fließbandverarbeitung é Probleme bei Fließbandverarbeitung BB TI I 3.2/1 Das Prinzip an einem alltäglichen Beispiel é Sie kommen aus dem Urlaub und

Mehr

Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER

Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER Abamsoft Finos in Verbindung mit der Webshopanbindung wurde speziell auf die Shop-Software shop to date von DATA BECKER abgestimmt. Mit

Mehr

RS-Flip Flop, D-Flip Flop, J-K-Flip Flop, Zählschaltungen

RS-Flip Flop, D-Flip Flop, J-K-Flip Flop, Zählschaltungen Elektronik Praktikum / Digitaler Teil Name: Jens Wiechula, Philipp Fischer Leitung: Prof. Dr. U. Lynen Protokoll: Philipp Fischer Versuch: 3 Datum: 24.06.01 RS-Flip Flop, D-Flip Flop, J-K-Flip Flop, Zählschaltungen

Mehr

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3 Handbuch Fischertechnik-Einzelteiltabelle V3.7.3 von Markus Mack Stand: Samstag, 17. April 2004 Inhaltsverzeichnis 1. Systemvorraussetzungen...3 2. Installation und Start...3 3. Anpassen der Tabelle...3

Mehr

IT-Governance und Social, Mobile und Cloud Computing: Ein Management Framework... Bachelorarbeit

IT-Governance und Social, Mobile und Cloud Computing: Ein Management Framework... Bachelorarbeit IT-Governance und Social, Mobile und Cloud Computing: Ein Management Framework... Bachelorarbeit zur Erlangung des akademischen Grades Bachelor of Science (B.Sc.) im Studiengang Wirtschaftswissenschaft

Mehr

Lineare Gleichungssysteme

Lineare Gleichungssysteme Lineare Gleichungssysteme 1 Zwei Gleichungen mit zwei Unbekannten Es kommt häufig vor, dass man nicht mit einer Variablen alleine auskommt, um ein Problem zu lösen. Das folgende Beispiel soll dies verdeutlichen

Mehr

Systeme 1. Kapitel 6. Nebenläufigkeit und wechselseitiger Ausschluss

Systeme 1. Kapitel 6. Nebenläufigkeit und wechselseitiger Ausschluss Systeme 1 Kapitel 6 Nebenläufigkeit und wechselseitiger Ausschluss Threads Die Adressräume verschiedener Prozesse sind getrennt und geschützt gegen den Zugriff anderer Prozesse. Threads sind leichtgewichtige

Mehr

Einrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me

Einrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me Einrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me Bevor Sie die Platte zum ersten Mal benutzen können, muss sie noch partitioniert und formatiert werden! Vorher zeigt sich die Festplatte

Mehr

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang sysplus.ch outlook - mail-grundlagen Seite 1/8 Outlook Mail-Grundlagen Posteingang Es gibt verschiedene Möglichkeiten, um zum Posteingang zu gelangen. Man kann links im Outlook-Fenster auf die Schaltfläche

Mehr

Lieber SPAMRobin -Kunde!

Lieber SPAMRobin -Kunde! Lieber SPAMRobin -Kunde! Wir freuen uns, dass Sie sich für SPAMRobin entschieden haben. Mit diesem Leitfaden möchten wir Ihnen die Kontoeinrichtung erleichtern und die Funktionen näher bringen. Bitte führen

Mehr

Software Engineering. Sommersemester 2012, Dr. Andreas Metzger

Software Engineering. Sommersemester 2012, Dr. Andreas Metzger Software Engineering (Übungsblatt 2) Sommersemester 2012, Dr. Andreas Metzger Übungsblatt-Themen: Prinzip, Technik, Methode und Werkzeug; Arten von Wartung; Modularität (Kohäsion/ Kopplung); Inkrementelle

Mehr

Teil VIII Von Neumann Rechner 1

Teil VIII Von Neumann Rechner 1 Teil VIII Von Neumann Rechner 1 Grundlegende Architektur Zentraleinheit: Central Processing Unit (CPU) Ausführen von Befehlen und Ablaufsteuerung Speicher: Memory Ablage von Daten und Programmen Read Only

Mehr

Tevalo Handbuch v 1.1 vom 10.11.2011

Tevalo Handbuch v 1.1 vom 10.11.2011 Tevalo Handbuch v 1.1 vom 10.11.2011 Inhalt Registrierung... 3 Kennwort vergessen... 3 Startseite nach dem Login... 4 Umfrage erstellen... 4 Fragebogen Vorschau... 7 Umfrage fertigstellen... 7 Öffentliche

Mehr

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten In dem Virtuellen Seminarordner werden für die Teilnehmerinnen und Teilnehmer des Seminars alle für das Seminar wichtigen Informationen,

Mehr

Lernwerkstatt 9 privat- Freischaltung

Lernwerkstatt 9 privat- Freischaltung Was tun, wenn mein Rechner immer wieder die Freischaltung der Lernwerkstatt 9 privat verliert und ich die Ursache dafür nicht finden kann? Normalerweise genügt es, genau eine einzige online-freischaltung

Mehr

Anwenderdokumentation AccountPlus GWUPSTAT.EXE

Anwenderdokumentation AccountPlus GWUPSTAT.EXE AccountPlus Inhaltsverzeichnis Inhaltsverzeichnis Anwenderdokumentation AccountPlus GWUPSTAT.EXE (vorläufig) ab Version 6.01 INHALTSVERZEICHNIS...1 1 ALLGEMEINES...2 2 INSTALLATION UND PROGRAMMAUFRUF...2

Mehr

Kurzeinführung LABTALK

Kurzeinführung LABTALK Kurzeinführung LABTALK Mit der Interpreter-Sprache LabTalk, die von ORIGIN zur Verfügung gestellt wird, können bequem Datenmanipulationen sowie Zugriffe direkt auf das Programm (Veränderungen der Oberfläche,

Mehr

Fehler und Probleme bei Auswahl und Installation eines Dokumentenmanagement Systems

Fehler und Probleme bei Auswahl und Installation eines Dokumentenmanagement Systems Fehler und Probleme bei Auswahl und Installation eines Dokumentenmanagement Systems Name: Bruno Handler Funktion: Marketing/Vertrieb Organisation: AXAVIA Software GmbH Liebe Leserinnen und liebe Leser,

Mehr

Informationen zum neuen Studmail häufige Fragen

Informationen zum neuen Studmail häufige Fragen 1 Stand: 15.01.2013 Informationen zum neuen Studmail häufige Fragen (Dokument wird bei Bedarf laufend erweitert) Problem: Einloggen funktioniert, aber der Browser lädt dann ewig und zeigt nichts an Lösung:

Mehr

Einführung in. Logische Schaltungen

Einführung in. Logische Schaltungen Einführung in Logische Schaltungen 1/7 Inhaltsverzeichnis 1. Einführung 1. Was sind logische Schaltungen 2. Grundlegende Elemente 3. Weitere Elemente 4. Beispiel einer logischen Schaltung 2. Notation von

Mehr

SharePoint Demonstration

SharePoint Demonstration SharePoint Demonstration Was zeigt die Demonstration? Diese Demonstration soll den modernen Zugriff auf Daten und Informationen veranschaulichen und zeigen welche Vorteile sich dadurch in der Zusammenarbeit

Mehr

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen: VBA Programmierung mit Excel Schleifen 1/6 Erweiterung der Aufgabe Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen: Es müssen also 11 (B L) x 35 = 385 Zellen berücksichtigt

Mehr

Microsoft PowerPoint 2013 Folien gemeinsam nutzen

Microsoft PowerPoint 2013 Folien gemeinsam nutzen Hochschulrechenzentrum Justus-Liebig-Universität Gießen Microsoft PowerPoint 2013 Folien gemeinsam nutzen Folien gemeinsam nutzen in PowerPoint 2013 Seite 1 von 4 Inhaltsverzeichnis Einleitung... 2 Einzelne

Mehr

Anwendungsbeispiele. Neuerungen in den E-Mails. Webling ist ein Produkt der Firma:

Anwendungsbeispiele. Neuerungen in den E-Mails. Webling ist ein Produkt der Firma: Anwendungsbeispiele Neuerungen in den E-Mails Webling ist ein Produkt der Firma: Inhaltsverzeichnis 1 Neuerungen in den E- Mails 2 Was gibt es neues? 3 E- Mail Designs 4 Bilder in E- Mails einfügen 1 Neuerungen

Mehr

Einführung in die Systemprogrammierung

Einführung in die Systemprogrammierung Einführung in die Systemprogrammierung Speedup: Grundlagen der Performanz Prof. Dr. Christoph Reichenbach Fachbereich 12 / Institut für Informatik 30. April 2015 Eine Aufgabe aus der Praxis Gegeben ein

Mehr

Informationssystemanalyse Problemstellung 2 1. Trotz aller Methoden, Techniken usw. zeigen Untersuchungen sehr negative Ergebnisse:

Informationssystemanalyse Problemstellung 2 1. Trotz aller Methoden, Techniken usw. zeigen Untersuchungen sehr negative Ergebnisse: Informationssystemanalyse Problemstellung 2 1 Problemstellung Trotz aller Methoden, Techniken usw. zeigen Untersuchungen sehr negative Ergebnisse: große Software-Systeme werden im Schnitt ein Jahr zu spät

Mehr

Ist Fernsehen schädlich für die eigene Meinung oder fördert es unabhängig zu denken?

Ist Fernsehen schädlich für die eigene Meinung oder fördert es unabhängig zu denken? UErörterung zu dem Thema Ist Fernsehen schädlich für die eigene Meinung oder fördert es unabhängig zu denken? 2000 by christoph hoffmann Seite I Gliederung 1. In zu großen Mengen ist alles schädlich. 2.

Mehr

Rechner Architektur. Martin Gülck

Rechner Architektur. Martin Gülck Rechner Architektur Martin Gülck Grundlage Jeder Rechner wird aus einzelnen Komponenten zusammengesetzt Sie werden auf dem Mainboard zusammengefügt (dt.: Hauptplatine) Mainboard wird auch als Motherboard

Mehr

Lösungshinweise zur Einsendearbeit 2 SS 2011

Lösungshinweise zur Einsendearbeit 2 SS 2011 Lösungshinweise zur Einsendearbeit 2 zum Kurs 41500, Finanzwirtschaft: Grundlagen, SS2011 1 Lösungshinweise zur Einsendearbeit 2 SS 2011 Finanzwirtschaft: Grundlagen, Kurs 41500 Aufgabe Finanzierungsbeziehungen

Mehr

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Dateiname: ecdl5_01_00_documentation_standard.doc Speicherdatum: 14.02.2005 ECDL 2003 Basic Modul 5 Datenbank - Grundlagen

Mehr

Zeichen bei Zahlen entschlüsseln

Zeichen bei Zahlen entschlüsseln Zeichen bei Zahlen entschlüsseln In diesem Kapitel... Verwendung des Zahlenstrahls Absolut richtige Bestimmung von absoluten Werten Operationen bei Zahlen mit Vorzeichen: Addieren, Subtrahieren, Multiplizieren

Mehr

Plotten von Linien ( nach Jack Bresenham, 1962 )

Plotten von Linien ( nach Jack Bresenham, 1962 ) Plotten von Linien ( nach Jack Bresenham, 1962 ) Ac Eine auf dem Bildschirm darzustellende Linie sieht treppenförmig aus, weil der Computer Linien aus einzelnen (meist quadratischen) Bildpunkten, Pixels

Mehr

In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken.

In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken. In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access Die Grundlagen der Datenbanken kurspc15 Inhaltsverzeichnis Access... Fehler! Textmarke nicht

Mehr

PTV VISWALK TIPPS UND TRICKS PTV VISWALK TIPPS UND TRICKS: VERWENDUNG DICHTEBASIERTER TEILROUTEN

PTV VISWALK TIPPS UND TRICKS PTV VISWALK TIPPS UND TRICKS: VERWENDUNG DICHTEBASIERTER TEILROUTEN PTV VISWALK TIPPS UND TRICKS PTV VISWALK TIPPS UND TRICKS: VERWENDUNG DICHTEBASIERTER TEILROUTEN Karlsruhe, April 2015 Verwendung dichte-basierter Teilrouten Stellen Sie sich vor, in einem belebten Gebäude,

Mehr

Einfache Varianzanalyse für abhängige

Einfache Varianzanalyse für abhängige Einfache Varianzanalyse für abhängige Stichproben Wie beim t-test gibt es auch bei der VA eine Alternative für abhängige Stichproben. Anmerkung: Was man unter abhängigen Stichproben versteht und wie diese

Mehr

GEORG.NET Anbindung an Ihr ACTIVE-DIRECTORY

GEORG.NET Anbindung an Ihr ACTIVE-DIRECTORY GEORG.NET Anbindung an Ihr ACTIVE-DIRECTORY Vorteile der Verwendung eines ACTIVE-DIRECTORY Automatische GEORG Anmeldung über bereits erfolgte Anmeldung am Betriebssystem o Sie können sich jederzeit als

Mehr

WinWerk. Prozess 4 Akonto. KMU Ratgeber AG. Inhaltsverzeichnis. Im Ifang 16 8307 Effretikon

WinWerk. Prozess 4 Akonto. KMU Ratgeber AG. Inhaltsverzeichnis. Im Ifang 16 8307 Effretikon Prozess 4 Akonto WinWerk 8307 Effretikon Telefon: 052-740 11 11 Telefax: 052 740 11 71 E-Mail info@kmuratgeber.ch Internet: www.winwerk.ch Inhaltsverzeichnis 1 Akonto... 2 1.1 Allgemein... 2 2 Akontobeträge

Mehr

40-Tage-Wunder- Kurs. Umarme, was Du nicht ändern kannst.

40-Tage-Wunder- Kurs. Umarme, was Du nicht ändern kannst. 40-Tage-Wunder- Kurs Umarme, was Du nicht ändern kannst. Das sagt Wikipedia: Als Wunder (griechisch thauma) gilt umgangssprachlich ein Ereignis, dessen Zustandekommen man sich nicht erklären kann, so dass

Mehr

HOWTO Update von MRG1 auf MRG2 bei gleichzeitigem Update auf Magento CE 1.4 / Magento EE 1.8

HOWTO Update von MRG1 auf MRG2 bei gleichzeitigem Update auf Magento CE 1.4 / Magento EE 1.8 Update von MRG1 auf MRG2 bei gleichzeitigem Update auf Magento CE 1.4 / Magento EE 1.8 Schritt 1: Altes Modul-Paket vollständig deinstallieren Die neuen MRG-Module sind aus dem Scope local in den Scope

Mehr

Lizenzierung von System Center 2012

Lizenzierung von System Center 2012 Lizenzierung von System Center 2012 Mit den Microsoft System Center-Produkten lassen sich Endgeräte wie Server, Clients und mobile Geräte mit unterschiedlichen Betriebssystemen verwalten. Verwalten im

Mehr

Online Newsletter III

Online Newsletter III Online Newsletter III Hallo zusammen! Aus aktuellem Anlass wurde ein neuer Newsletter fällig. Die wichtigste Neuerung betrifft unseren Webshop mit dem Namen ehbshop! Am Montag 17.10.11 wurde die Testphase

Mehr

Vermögensbildung: Sparen und Wertsteigerung bei Immobilien liegen vorn

Vermögensbildung: Sparen und Wertsteigerung bei Immobilien liegen vorn An die Redaktionen von Presse, Funk und Fernsehen 32 02. 09. 2002 Vermögensbildung: Sparen und Wertsteigerung bei Immobilien liegen vorn Das aktive Sparen ist nach wie vor die wichtigste Einflussgröße

Mehr

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Zählen und Zahlbereiche Übungsblatt 1 1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Für alle m, n N gilt m + n = n + m. in den Satz umschreiben:

Mehr

Überprüfung der digital signierten E-Rechnung

Überprüfung der digital signierten E-Rechnung Überprüfung der digital signierten E-Rechnung Aufgrund des BMF-Erlasses vom Juli 2005 (BMF-010219/0183-IV/9/2005) gelten ab 01.01.2006 nur noch jene elektronischen Rechnungen als vorsteuerabzugspflichtig,

Mehr

Wir unterscheiden folgende drei Schritte im Design paralleler Algorithmen:

Wir unterscheiden folgende drei Schritte im Design paralleler Algorithmen: 1 Parallele Algorithmen Grundlagen Parallele Algorithmen Grundlagen Wir unterscheiden folgende drei Schritte im Design paralleler Algorithmen: Dekomposition eines Problems in unabhängige Teilaufgaben.

Mehr

Barcodedatei importieren

Barcodedatei importieren Barcodedatei importieren Inhaltsverzeichnis 1 Schnittstelle Barcodedatei importieren... 2 1.1 Funktion... 2 1.2 Konfiguration... 2 1.2.1 Lizenz... 2 1.2.2 Einstellungen... 2 1.2.3 Vorarbeiten... 3 1.2.3.1

Mehr

1 Aufgaben zu Wie funktioniert ein Computer?

1 Aufgaben zu Wie funktioniert ein Computer? 71 1 Aufgaben zu Wie funktioniert ein Computer? Netzteil a) Welche Spannungen werden von PC-Netzteilen bereitgestellt? 3.3 V, 5 V, 12 V, -5 V, -12 V. b) Warum können PC-Netzteile hohe Leistungen liefern,

Mehr

Projektmanagement in der Spieleentwicklung

Projektmanagement in der Spieleentwicklung Projektmanagement in der Spieleentwicklung Inhalt 1. Warum brauche ich ein Projekt-Management? 2. Die Charaktere des Projektmanagement - Mastermind - Producer - Projektleiter 3. Schnittstellen definieren

Mehr

! " # $ " % & Nicki Wruck worldwidewruck 08.02.2006

!  # $  % & Nicki Wruck worldwidewruck 08.02.2006 !"# $ " %& Nicki Wruck worldwidewruck 08.02.2006 Wer kennt die Problematik nicht? Die.pst Datei von Outlook wird unübersichtlich groß, das Starten und Beenden dauert immer länger. Hat man dann noch die.pst

Mehr

Mikrocontroller Grundlagen. Markus Koch April 2011

Mikrocontroller Grundlagen. Markus Koch April 2011 Mikrocontroller Grundlagen Markus Koch April 2011 Übersicht Was ist ein Mikrocontroller Aufbau (CPU/RAM/ROM/Takt/Peripherie) Unterschied zum Mikroprozessor Unterschiede der Controllerarten Unterschiede

Mehr

IBM Software Demos Tivoli Provisioning Manager for OS Deployment

IBM Software Demos Tivoli Provisioning Manager for OS Deployment Für viele Unternehmen steht ein Wechsel zu Microsoft Windows Vista an. Doch auch für gut vorbereitete Unternehmen ist der Übergang zu einem neuen Betriebssystem stets ein Wagnis. ist eine benutzerfreundliche,

Mehr

infach Geld FBV Ihr Weg zum finanzellen Erfolg Florian Mock

infach Geld FBV Ihr Weg zum finanzellen Erfolg Florian Mock infach Ihr Weg zum finanzellen Erfolg Geld Florian Mock FBV Die Grundlagen für finanziellen Erfolg Denn Sie müssten anschließend wieder vom Gehaltskonto Rückzahlungen in Höhe der Entnahmen vornehmen, um

Mehr

4 Aufzählungen und Listen erstellen

4 Aufzählungen und Listen erstellen 4 4 Aufzählungen und Listen erstellen Beim Strukturieren von Dokumenten und Inhalten stellen Listen und Aufzählungen wichtige Werkzeuge dar. Mit ihnen lässt sich so ziemlich alles sortieren, was auf einer

Mehr

Eine der Aktien hat immer einen höheren Gewinn als die andere Aktie. Ihre Aufgabe ist es diese auszuwählen.

Eine der Aktien hat immer einen höheren Gewinn als die andere Aktie. Ihre Aufgabe ist es diese auszuwählen. Instruktionen am Anfang von Experiment 1 (auf Papier ausgeteilt: grünmarkierte Textstellen zeigen den Instruktionstext in der jeweiligen Bedingung an; Kommentare sind gelb markiert.) Stellen Sie sich vor,

Mehr

FlowFact Alle Versionen

FlowFact Alle Versionen Training FlowFact Alle Versionen Stand: 29.09.2005 Rechnung schreiben Einführung Wie Sie inzwischen wissen, können die unterschiedlichsten Daten über verknüpfte Fenster miteinander verbunden werden. Für

Mehr

Senkung des technischen Zinssatzes und des Umwandlungssatzes

Senkung des technischen Zinssatzes und des Umwandlungssatzes Senkung des technischen Zinssatzes und des Umwandlungssatzes Was ist ein Umwandlungssatz? Die PKE führt für jede versicherte Person ein individuelles Konto. Diesem werden die Beiträge, allfällige Einlagen

Mehr

Online Schulung Anmerkungen zur Durchführung

Online Schulung Anmerkungen zur Durchführung Online Schulung Anmerkungen zur Durchführung 1.0 Einleitung Vielen Dank, dass Sie sich für die Online Schulung von SoloProtect entschieden haben. Nachfolgend finden Sie Informationen für Identicomnutzer

Mehr

PowerPoint 2010 Mit Folienmastern arbeiten

PowerPoint 2010 Mit Folienmastern arbeiten PP.002, Version 1.1 07.04.2015 Kurzanleitung PowerPoint 2010 Mit Folienmastern arbeiten Der Folienmaster ist die Vorlage für sämtliche Folien einer Präsentation. Er bestimmt das Design, die Farben, die

Mehr

Manager. von Peter Pfeifer, Waltraud Pfeifer, Burkhard Münchhagen. Spielanleitung

Manager. von Peter Pfeifer, Waltraud Pfeifer, Burkhard Münchhagen. Spielanleitung Manager von Peter Pfeifer, Waltraud Pfeifer, Burkhard Münchhagen Spielanleitung Manager Ein rasantes Wirtschaftsspiel für 3 bis 6 Spieler. Das Glück Ihrer Firma liegt in Ihren Händen! Bestehen Sie gegen

Mehr

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse 11 13. 501322 Lösung 10 Punkte

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse 11 13. 501322 Lösung 10 Punkte 50. Mathematik-Olympiade. Stufe (Regionalrunde) Klasse 3 Lösungen c 00 Aufgabenausschuss des Mathematik-Olympiaden e.v. www.mathematik-olympiaden.de. Alle Rechte vorbehalten. 503 Lösung 0 Punkte Es seien

Mehr

Wie halte ich Ordnung auf meiner Festplatte?

Wie halte ich Ordnung auf meiner Festplatte? Wie halte ich Ordnung auf meiner Festplatte? Was hältst du von folgender Ordnung? Du hast zu Hause einen Schrank. Alles was dir im Wege ist, Zeitungen, Briefe, schmutzige Wäsche, Essensreste, Küchenabfälle,

Mehr

Konfiguration VLAN's. Konfiguration VLAN's IACBOX.COM. Version 2.0.1 Deutsch 01.07.2014

Konfiguration VLAN's. Konfiguration VLAN's IACBOX.COM. Version 2.0.1 Deutsch 01.07.2014 Konfiguration VLAN's Version 2.0.1 Deutsch 01.07.2014 In diesem HOWTO wird die Konfiguration der VLAN's für das Surf-LAN der IAC-BOX beschrieben. Konfiguration VLAN's TITEL Inhaltsverzeichnis Inhaltsverzeichnis...

Mehr

ARCO Software - Anleitung zur Umstellung der MWSt

ARCO Software - Anleitung zur Umstellung der MWSt ARCO Software - Anleitung zur Umstellung der MWSt Wieder einmal beschert uns die Bundesverwaltung auf Ende Jahr mit zusätzlicher Arbeit, statt mit den immer wieder versprochenen Erleichterungen für KMU.

Mehr

20. Algorithmus der Woche Online-Algorithmen: Was ist es wert, die Zukunft zu kennen? Das Ski-Problem

20. Algorithmus der Woche Online-Algorithmen: Was ist es wert, die Zukunft zu kennen? Das Ski-Problem 20. Algorithmus der Woche Online-Algorithmen: Was ist es wert, die Zukunft zu kennen? Das Ski-Problem Autor Susanne Albers, Universität Freiburg Swen Schmelzer, Universität Freiburg In diesem Jahr möchte

Mehr

Kapiteltests zum Leitprogramm Binäre Suchbäume

Kapiteltests zum Leitprogramm Binäre Suchbäume Kapiteltests zum Leitprogramm Binäre Suchbäume Björn Steffen Timur Erdag überarbeitet von Christina Class Binäre Suchbäume Kapiteltests für das ETH-Leitprogramm Adressaten und Institutionen Das Leitprogramm

Mehr

Wie optimiert man die Werbungserkennung von Ad- Detective?

Wie optimiert man die Werbungserkennung von Ad- Detective? Wie optimiert man die Werbungserkennung von Ad- Detective? Die Ad-Detective-Werbe-Erkennung von VideiReDo basiert auf der Erkennung von Schwarzwerten / scharzen Bildern, die die Werbeblöcke abgrenzen.

Mehr

Gutes Leben was ist das?

Gutes Leben was ist das? Lukas Bayer Jahrgangsstufe 12 Im Hirschgarten 1 67435 Neustadt Kurfürst-Ruprecht-Gymnasium Landwehrstraße22 67433 Neustadt a. d. Weinstraße Gutes Leben was ist das? Gutes Leben für alle was genau ist das

Mehr

Reporting Services und SharePoint 2010 Teil 1

Reporting Services und SharePoint 2010 Teil 1 Reporting Services und SharePoint 2010 Teil 1 Abstract Bei der Verwendung der Reporting Services in Zusammenhang mit SharePoint 2010 stellt sich immer wieder die Frage bei der Installation: Wo und Wie?

Mehr

Einführung in die technische Informatik

Einführung in die technische Informatik Einführung in die technische Informatik Christopher Kruegel chris@auto.tuwien.ac.at http://www.auto.tuwien.ac.at/~chris Betriebssysteme Aufgaben Management von Ressourcen Präsentation einer einheitlichen

Mehr

Eine Logikschaltung zur Addition zweier Zahlen

Eine Logikschaltung zur Addition zweier Zahlen Eine Logikschaltung zur Addition zweier Zahlen Grundlegender Ansatz für die Umsetzung arithmetischer Operationen als elektronische Schaltung ist die Darstellung von Zahlen im Binärsystem. Eine Logikschaltung

Mehr

Der Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = 0.51129 Euro ergeben.

Der Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = 0.51129 Euro ergeben. Aufgabe 1.30 : Schreibe ein Programm DM_in_Euro.java zur Umrechnung eines DM-Betrags in Euro unter Verwendung einer Konstanten für den Umrechnungsfaktor. Das Programm soll den DM-Betrag als Parameter verarbeiten.

Mehr

Zusammenführen mehrerer Dokumente zu einem PDF In drei Abschnitten erstellen Sie ein Dokument aus mehreren Einzeldokumenten:

Zusammenführen mehrerer Dokumente zu einem PDF In drei Abschnitten erstellen Sie ein Dokument aus mehreren Einzeldokumenten: Zusammenführen mehrerer Dokumente zu einem PDF In drei Abschnitten erstellen Sie ein Dokument aus mehreren Einzeldokumenten: 1. Das erste Dokument drucken 2. Weitere Dokumente hinzufügen 3. Alle Dokumente

Mehr

Effiziente Prozesse. Die Formel 1 und die Druckindustrie

Effiziente Prozesse. Die Formel 1 und die Druckindustrie Die Formel 1 und die Druckindustrie Was hat die Formel 1 mit der Druckindustrie zu tun? Nun: dass ein Formel-1-Ferrari eine hohe Anziehungskraft hat, ist nicht zu bestreiten. Und dass dies auch für die

Mehr

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes.

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes. Binäre Bäume Definition: Ein binärer Baum T besteht aus einer Menge von Knoten, die durch eine Vater-Kind-Beziehung wie folgt strukturiert ist: 1. Es gibt genau einen hervorgehobenen Knoten r T, die Wurzel

Mehr