Rechnerarchitekturen und Mikrosystemtechnik

Ähnliche Dokumente
4 Rechnerarchitektur RAM

Modul IP7: Rechnerstrukturen

Einleitung Performance Netzwerk Leistungsaufnahme Skalierbarkeit Sicherheit Zuverlässigkeit Kompatibilität. Ziele und Maße. Dr.-Ing.

Einleitung. Dr.-Ing. Volkmar Sieh WS 2005/2006. Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg

Übersicht. Einleitung. Übersicht. Architektur. Dr.-Ing. Volkmar Sieh WS 2008/2009

Übersicht. Ziele und Maße. Leistungsgrößen. Übersicht. Dr.-Ing. Volkmar Sieh WS 2008/2009. Leistungsgrößen wichtig für

Einleitung. Dr.-Ing. Volkmar Sieh. Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2006/2007

N Bit Binärzahlen. Stelle: Binär-Digit:

Grundlagen der Rechnerarchitektur. Einführung

Instruktionssatz-Architektur

3. Mikroarchitekturen

Grundlagen der Rechnerarchitektur

Technische Grundlagen der Informatik 2 SS Einleitung. R. Hoffmann FG Rechnerarchitektur Technische Universität Darmstadt E-1

Rechneraufbau und Rechnerstrukturen

Beispiele von Branch Delay Slot Schedules

Systeme 1: Architektur

Vorlesung Rechnerarchitektur. Einführung

Der von Neumann Computer

Technische Informatik - Eine Einführung

Teil VIII Von Neumann Rechner 1

2 Rechnerarchitekturen

Quiz. Gegeben sei ein 16KB Cache mit 32 Byte Blockgröße. Wie verteilen sich die Bits einer 32 Bit Adresse auf: Tag Index Byte Offset.

Grundlagen der Rechnerarchitektur. MIPS Assembler

Datenpfad einer einfachen MIPS CPU

Johann Wolfgang Goethe-Universität

Kurs Rechnerarchitektur (RA) im SS Informatik 12 Informatik 12. Tel.: Tel.: Sprechstunde: Mo, Willkommen!

Technische Informatik 2

Prozessorarchitektur. Kapitel 1 - Wiederholung. M. Schölzel

Cache Grundlagen. Schreibender Cache Zugriff. SS 2012 Grundlagen der Rechnerarchitektur Speicher 22

2. Computer (Hardware) K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16

Teil 1: Prozessorstrukturen

Datenpfad einer einfachen MIPS CPU

Seminar Parallele Rechnerarchitekturen SS04 \ SIMD Implementierung aktueller Prozessoren 2 (Dominik Tamm) \ Inhalt. Seite 1

Aufbau und Funktionsweise eines Computers

Rechneraufbau und Rechnerstrukturen

Martin Stiller, Fakultät Informatik, Institut für Technische Informatik. LLVA: Eine virtuelle Befehlssatzarchitektur

Projekt: Entwurf eines Mikrorechners

Rechnerorganisation. (10,11) Informationskodierung (12,13,14) TECHNISCHE UNIVERSITÄT ILMENAU. IHS, H.- D. Wuttke `09

CPU Speicher I/O. Abbildung 11.1: Kommunikation über Busse

Spezifikation von Kommunikationssystemen


Kap.2 Befehlsschnittstelle. Prozessoren, externe Sicht

Modul InfB-RS: Rechnerstrukturen

x Inhaltsverzeichnis 2. von NEUMANN-Rechner Grundkonzept Interne und externe Busse Prozessorregister Stackpointer

Rechneraufbau und Rechnerstrukturen

Inhaltsangabe. 2.1 DieCPU Der Speicher Die Busse Klassifikation der von-neumann-rechner... 37

Betriebssysteme Vorstellung

Grundlagen der Rechnerarchitektur. Einführung

Virtueller Speicher und Memory Management

Kapitel 5. Parallelverarbeitung. Formen der Parallelität

Was ist Rechnerleistung

Echtzeit-Multitasking

Cache Blöcke und Offsets

Echtzeit-Multitasking

Parallel Computing. Einsatzmöglichkeiten und Grenzen. Prof. Dr. Nikolaus Wulff

Prinzipieller Aufbau und Funktionsweise eines Prozessors

Struktur der CPU (1) Die Adress- und Datenpfad der CPU: Befehl holen. Vorlesung Rechnerarchitektur und Rechnertechnik SS Memory Adress Register

System-Architektur und -Software

Grundlagen der Informationsverarbeitung:

Grundlagen der Rechnerarchitektur

Generation 5: Invisible Computers (ab 1993)

Datenpfad einer einfachen MIPS CPU

Datenpfaderweiterung Der Single Cycle Datenpfad des MIPS Prozessors soll um die Instruktion min $t0, $t1, $t2 erweitert werden, welche den kleineren

Allgemeine Lösung mittels Hazard Detection Unit

Rechnergrundlagen SS Vorlesung

Vorlesung 1 Medizininformatik. Sommersemester 2017

Teil 2: Rechnerorganisation

Teil 1: Prozessorstrukturen

Lehrveranstaltung: PR Rechnerorganisation Blatt 8. Thomas Aichholzer

3. Rechnerarchitektur

1 Aufgaben Wie funktioniert ein Computer. a) Welche Spannungen werden von PC-Netzteilen bereitgestellt? 5W, 12W,

Arbeitsfolien - Teil 4 CISC und RISC

Untersuchung und Vorstellung moderner Grafikchiparchitekturen

Tutorium Rechnerorganisation

Technische Informatik II

Inhalt. Prozessoren. Curriculum Manfred Wilfling. 28. November HTBLA Kaindorf. M. Wilfling (HTBLA Kaindorf) CPUs 28. November / 9

Optimierungen der Lattice Boltzmann Methode auf x86-64 basierten Architekturen

Grundlagen der Rechnerarchitektur. Speicher

2.1 Rechnersichten 2.2 Rechnerorganisation: Aufbau und Funktionsweise

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung

Proseminar Rechnerarchitekturen. Parallelcomputer: Multiprozessorsysteme

Arithmetik, Register und Speicherzugriff. Grundlagen der Rechnerarchitektur Assembler 9

Assembler am Beispiel der MIPS Architektur

Seminar: Multi-Core Architectures and Programming

Neue Prozessor-Architekturen für Desktop-PC

Vorlesung: Rechnerstrukturen, Teil 2 (Modul IP7)

Übung 7 Rechnerstrukturen

PC/XT/AT ASSEMBLER-BUCH

Digitaltechnik und Rechnerstrukturen Lothar Thiele Institut für Technische Informatik und Kommunikationsnetze ETH Zürich 1.

2.2 Rechnerorganisation: Aufbau und Funktionsweise

Rechner Architektur. Martin Gülck

Grundlagen der Rechnerarchitektur. Ein und Ausgabe

Vorstellung (Wdh. für die Neuen )

RST-Labor WS06/07 GPGPU. General Purpose Computation On Graphics Processing Units. (Grafikkarten-Programmierung) Von: Marc Blunck

Transkript:

64-613 RAM 64-613 Rechnerarchitekturen und Mikrosystemtechnik http://tams.informatik.uni-hamburg.de/ lectures/2009ws/vorlesung/ram Andreas Mäder Fakultät für Mathematik, Informatik und Naturwissenschaften Technische Aspekte Multimodaler Systeme Wintersemester 2009/2010 A. Mäder 1

4 Rechnerarchitektur 64-613 RAM Gliederung 1. Mikroelektronik 2. Mikrosysteme 3. VLSI- und Systementwurf 4. Rechnerarchitektur Einleitung Bewertung von Architekturen und Rechnersystemen Klassifikation von Rechnern Instruction Set Architecture Pipelining Explizite Parallelverarbeitung Speicherhierarchie Bussysteme A. Mäder 437

4.1 Rechnerarchitektur - Einleitung 64-613 RAM Schnittstellen zu anderen Inhalten des Studiums Architekturschichten A. Mäder 438

4.1 Rechnerarchitektur - Einleitung 64-613 RAM Schnittstellen zu anderen Inhalten des Studiums (cont.) Sehr starke Wechselwirkungen der Rechnerarchitektur mit anderen Bereichen der Informatik Rechnerorganisation Betriebssysteme Compilerbau Warteschlangentheorie Der Bereich der Rechnerarchitektur liefert genug Stoff für mehrere eigene Vorlesungen, deshalb kann hier nur einführende Übersicht folgen A. Mäder 439

4.1 Rechnerarchitektur - Einleitung 64-613 RAM Schnittstellen zu anderen Inhalten des Studiums (cont.) Literatur besonders diese D. Patterson, J. Hennessy: Rechnerorganisation und -entwurf; Die Hardware/Software-Schnittstelle [PH05] D. Patterson, J. Hennessy: Computer Organization and Design; The Hardware/Software Interface [PH09] J. Hennessy, D. Patterson: Rechnerarchitektur; Analyse, Entwurf, Implementierung, Bewertung J. Hennessy, D. Patterson: Computer architecture; A quantitative approach A. Tanenbaum: Computerarchitektur; Strukturen, Konzepte, Grundlagen [HP94] [HP07] [Tan06] A. Mäder 440

4.1 Rechnerarchitektur - Einleitung 64-613 RAM Schnittstellen zu anderen Inhalten des Studiums (cont.) http://de.wikipedia.org und http://en.wikipedia.org C. Märtin: Einführung in die Rechnerarchitektur: Prozessoren und Systeme D. Comer: Essentials of Computer Architecture W. Oberschelp, G. Vossen: Rechneraufbau und Rechnerstrukturen M. Dal Cin: Rechnerarchitektur [Mär03] [Com05] [OV06] [DC96] A. Mäder 441

4.1 Rechnerarchitektur - Einleitung 64-613 RAM Was tun mit Moore s Law? A. Mäder 442

4.1 Rechnerarchitektur - Einleitung 64-613 RAM Was tun mit Moore s Law? (cont.) Universalrechner: CPUs, Mikrocontroller... A. Mäder 443

4.1 Rechnerarchitektur - Einleitung 64-613 RAM Was tun mit Moore s Law? (cont.) reguläre Strukturen: alle Arten von RAM... im Folgenden geht es um die Frage, nach welchen Prinzipien Prozessoren aufgebaut sind und damit: wie man sie entwirft A. Mäder 444

4.1 Rechnerarchitektur - Einleitung 64-613 RAM Was ist Rechnerarchitektur? Definitionen 1. The term architecture is used here to describe the attributes of a system as seen by the programmer, i.e., the conceptual structure and functional behaviour, as distinct from the organization and data flow and control, the logical and the physical implementation. [Amdahl, Blaauw, Brooks] 2. The study of computer architecture is the study of the organization and interconnection of components of computer systems. Computer architects construct computers from basic building blocks such as memories, arithmetic units and buses. A. Mäder 445

4.1 Rechnerarchitektur - Einleitung 64-613 RAM Was ist Rechnerarchitektur? (cont.) From these building blocks the computer architect can construct anyone of a number of different types of computers, ranging from the smallest hand-held pocket-calculator to the largest ultra-fast super computer. The functional behaviour of the components of one computer are similar to that of any other computer, whether it be ultra-small or ultra-fast. By this we mean that a memory performs the storage function, an adder does addition, and an input/output interface passes data from a processor to the outside world, regardless of the nature of the computer in which they are embedded. The major differences between computers lie in the way of the modules are connected together, and the way the computer system is controlled by the programs. In short, computer architecture is the discipline devoted to the design of highly specific and individual computers from a collection of common building blocks. [Stone] A. Mäder 446

4.1 Rechnerarchitektur - Einleitung 64-613 RAM Was ist Rechnerarchitektur? (cont.) Zwei Aspekte der Rechnerarchitektur 1. Operationsprinzip: das funktionelle Verhalten der Architektur = Programmierschnittstelle = ISA Instruction Set Architecture 2. Hardwarestruktur: beschrieben durch Art und Anzahl der Hardware-Betriebsmittel sowie die sie verbindenden Kommunikationseinrichtungen = Mikroarchitektur, beispielsweise von-neumann Architektur A. Mäder 447

4.1 Rechnerarchitektur - Einleitung 64-613 RAM von-neumann Architektur Historie: 1945 entwickelt (John von Neumann) Abstrakte Maschine mit minimalem Hardwareaufwand Komponenten zentralen Recheneinheit: CPU logisch unterteilt in 1. Datenprozessor / Rechenwerk / Operationswerk 2. Befehlsprozessor / Leitwerk / Steuerwerk Speicher für Daten und Befehle, fortlaufend adressiert Ein/Ausgabe-Einheit zur Anbindung peripherer Geräte Bussystem(e) verbinden diese Komponenten die Struktur ist unabhängig von dem Problem, das Problem wird durch austauschbaren Speicherinhalt (Programm) beschrieben A. Mäder 448

4.1 Rechnerarchitektur - Einleitung 64-613 RAM von-neumann Architektur (cont.) A. Mäder 449

4.1 Rechnerarchitektur - Einleitung 64-613 RAM von-neumann Architektur (cont.) Paradigma der Programmverarbeitung Programmanfang ersten Befehl aus dem Speicher holen Programm als Sequenz elementarer Anweisungen (Befehle) als Bitvektoren im Speicher codiert Interpretation (Operanden, Befehle und Adressen) ergibt sich aus dem Kontext (der Adresse) zeitsequenzielle Ausführung der Instruktionen Befehl in das Befehlsregister bringen Ausführung eventueller Adressänderungen und ggf. Auswertung weiterer Angaben im Befehl eventuell Operanden aus dem Speicher holen Umsetzen des Operationscodes in Steueranweisungen Operation ausführen, Befehlszähler um 1 erhöhen oder Sprungadresse laden nächsten Befehl aus dem Speicher holen Programmende? Ja Ende Nein A. Mäder 450

4.1 Rechnerarchitektur - Einleitung 64-613 RAM von-neumann Architektur (cont.) von-neumann Flaschenhals : Zugriff auf Speicher... vieles davon gilt Heute noch, außer parallele, statt sequentieller Befehlsabarbeitung Stichwort: superskalare Prozessoren dynamisch veränderte Abarbeitungsreihenfolge Stichwort: out-of-order execution häufig getrennte Daten- und Instruktionsspeicher Stichwort: Harvard-Architektur Speicherhierarchie, Caches etc. A. Mäder 451

4.2 Rechnerarchitektur - Bewertung von Architekturen und Rechnersystemen 64-613 RAM Kriterien beim Entwurf Architekt sucht beste Lösung im Suchraum möglicher Entwürfe Kriterien guter Architekturen: hohe Rechenleistung zuverlässig, robust modular, skalierbar einfach handhabbar, programmierbar orthogonal ausgewogen wirtschaftlich, adäquat... A. Mäder 452

4.2 Rechnerarchitektur - Bewertung von Architekturen und Rechnersystemen 64-613 RAM Kriterien beim Entwurf (cont.) Skalierbarkeit Hinzufügen weiterer Module (ohne zusätzliche Änderungen) verbessert das System Erweiterbarkeit, Wirtschaftlichkeit Orthogonalität Jedes Modul hat eine definierte Funktionalität; keine zwei Module bieten die gleiche Funktionalität Wartbarkeit, Kosten, Handhabbarkeit Adäquatheit Die Kosten eines Moduls sind adäquat zur Funktion Performance, Kosten Virtualität Elimination physikalischer Grenzen: virtueller Prozessor, virtueller Speicher, virtuelle Kanäle... skalierbar, ausbaubar, einfache Programmierung A. Mäder 453

4.2 Rechnerarchitektur - Bewertung von Architekturen und Rechnersystemen 64-613 RAM Kriterien beim Entwurf (cont.) Transparenz unwichtige Details werden verborgen einfache Programmierung Performance-Transparenz Änderung der System-Konfiguration ohne die Funktionalität zu beeinflussen Skalierbarkeit, Wartbarkeit, Zuverlässigkeit Größentransparenz Erweiterung des System, so dass sich die Performance verbessert Skalierbarkeit, Kosten Fehlertransparenz System verbirgt, maskiert oder toleriert Fehler Zuverlässigkeit Die Punkte sind hier für die Mikroarchitektur formuliert, gelten aber gleichermaßen für die ISA A. Mäder 454

4.2 Rechnerarchitektur - Bewertung von Architekturen und Rechnersystemen 64-613 RAM Kriterien zur Architekturbewertung Kenngrößen zur Bewertung Taktfrequenz Werte die sich aus Eigenschaften der Architektur ergeben Ausführungszeiten von Programmen Durchsätze statistische Größen... Die Wahl der Kenngrößen hängt entscheidend von der jeweiligen Zielsetzung ab A. Mäder 455

4.2 Rechnerarchitektur - Bewertung von Architekturen und Rechnersystemen 64-613 RAM Kriterien zur Architekturbewertung (cont.) Verfahren zur Bestimmung der Kenngrößen Benchmarking: Laufzeitmessung bestehender Programme Standard Benchmarks SPEC Standard Performance Evaluation Corporation http://www.spec.org TPC Transaction Processing Performance Council http://www.tpc.org profilspezifische Benchmarks: SysMark, PCmark, Winbench etc. benutzereigene Anwendungsszenarien Monitoring: Messungen während des Betriebs Modelltheoretische Verfahren: Analytische Modelle, Simulation... A. Mäder 456

4.2 Rechnerarchitektur - Bewertung von Architekturen und Rechnersystemen 64-613 RAM Kenngrößen Taktfrequenz In den letzten Jahren erfolgreich beworben! für die Leistungsbewertung aber völlig ungeeignet theoretische Werte MIPS Million Instructions Per Second MFLOPS Million Floating Point Operations Per Second keine Angabe über die Art der Instruktionen und deren Ausführungszeit nicht direkt vergleichbar innerhalb einer Prozessorfamilie sinnvoll A. Mäder 457

4.2 Rechnerarchitektur - Bewertung von Architekturen und Rechnersystemen 64-613 RAM Kenngrößen (cont.) Ausführungszeit Benutzer: Wie lange braucht mein Programm? Gesamtzeit: Rechenzeit + Ein-/Ausgabe, Platten- und Speicherzugriffe... CPU-Zeit: Unterteilung in System- und Benutzer-Zeit Unix time-befehl: 597.07u 0.15s 9:57.61 99.9% 597.07 user CPU time [sec.] 0.15 system CPU time 9:57.61 elapsed time 99.9 CPU/elapsed [%] A. Mäder 458

4.2 Rechnerarchitektur - Bewertung von Architekturen und Rechnersystemen 64-613 RAM Kenngrößen (cont.) Theoretische Berechnung der CPU-Zeit (user CPU time) CPU-Zeit = IC CPI T IC Anzahl auszuführender Instruktionen Instruction Count CPI mittlere Anzahl Takte pro Instruktionen Cycles per Instruction T Taktperiode IC kleiner: weniger Instruktionen bessere Algorithmen bessere Compiler mächtigerer Befehlssatz A. Mäder 459

4.2 Rechnerarchitektur - Bewertung von Architekturen und Rechnersystemen 64-613 RAM Kenngrößen (cont.) CPI kleiner: weniger Takte pro Instruktion parallel Befehle ausführen: VLIW... parallel Teile der Befehle bearbeiten: Pipelining, Superskalar... T kleiner: höhere Taktfrequenz Technologie genauere Untersuchung wenn CPI über die Haufigkeiten und Zyklenanzahl einzelner Befehle berechnet wird so lassen sich beispielsweise alternative Befehlssätze miteinander vergleichen A. Mäder 460

4.2 Rechnerarchitektur - Bewertung von Architekturen und Rechnersystemen 64-613 RAM Kenngrößen (cont.) CPU-Durchsatz RZ-Betreiber Wie viele Aufträge kann die Maschine gleichzeitig verarbeiten? Wie lange braucht ein Job im Mittel? Wie viel Arbeit kann so pro Tag erledigt werden? Latenzzeit: Wie lange dauert es, bis mein Job bearbeitet wird? Antwortzeit: Wie lange rechnet mein Job? Modellierung durch Warteschlangentheorie: Markov-Ketten, stochastische Petri-Netze... A. Mäder 461

4.2 Rechnerarchitektur - Bewertung von Architekturen und Rechnersystemen 64-613 RAM Kenngrößen (cont.) statistische Werte zur Zuverlässigkeit Betriebssicherheit des Systems: Quality of Service Fehlerrate: Fehlerursachen pro Zeiteinheit Ausfallrate: Ausfälle pro Zeiteinheit Fault: Fehlerursache Error: fehlerhafter Zustand Failure: ein Ausfall ist aufgetreten MTTF MTBF MTTR MTBR Mean Time To Failure Mean Time Between Failures Mean Time To Repair Mean Time Between Repairs A. Mäder 462

4.2 Rechnerarchitektur - Bewertung von Architekturen und Rechnersystemen 64-613 RAM Kenngrößen (cont.) Überlebenswahrscheinlichkeit, Reliability Maß für kontinuierlichen korrekten Service Wahrscheinlichkeit, dass System nach Zeit t noch funktioniert, wenn es zum Zeitpunkt t 0 funktioniert hat: R(t) = e λt zeitunabhängige Ausfallrate: λ Verfügbarkeit, Availability Maß für korrekten Service, u.u. mit Unterbrechungen Wahrscheinlichkeit, dass System zum Zeitpunkt t funktioniert: A(t) = konstant Sicherheit, Safety Maß für Service ohne katastrophale Fehler Wahrscheinlichkeit, dass System trotz internem Fehler keinen (katastrophalen) Ausfall hat A. Mäder 463

4.2 Rechnerarchitektur - Bewertung von Architekturen und Rechnersystemen 64-613 RAM Kenngrößen (cont.) Robustheit, Robustness Maß für das korrekte Systemverhalten trotz fehlerhafter Eingaben Wahrscheinlichkeit, dass System trotz internem Fehler nicht ausfällt und keine falschen Ausgaben produziert Sicherheit, Security Maß für den Aufwand um unerlaubten Zugriff auf Informationen zu verhindern Wartbarkeit, Maintainability Maß für den Aufwand das System funktionsfähig zu halten A. Mäder 464

4.2 Rechnerarchitektur - Bewertung von Architekturen und Rechnersystemen 64-613 RAM Bewertung von Maßnahmen Wie wirken sich Verbesserungen der Rechnerarchitektur aus? Speed-Up: Verhältnis von Ausführungsszeiten vor und nach der Verbesserung Speed-Up = T vorverbesserung /T nachverbesserung werden nur Teile der Berechnung beschleunigt, Faktor F : T = T ohneeffekt + T miteffekt T n = T v,o + T v,m /F Verbesserung den Normalfall, den häufigsten Fall beschleunigen, um den größten Speed-Up zu erreichen A. Mäder 465

4.2 Rechnerarchitektur - Bewertung von Architekturen und Rechnersystemen 64-613 RAM Bewertung von Maßnahmen (cont.) Amdahlsches Gesetz (s.u.) Speed-Up = 1 (1 β)+β/f Verbesserung 10 Speed-Up mit β = T v,m /T v 1/((1-beta)+beta/10) 8 6 4 2 F Verbesserung = 10 beta 0 0 0.2 0.4 0.6 0.8 1 A. Mäder 466

4.2 Rechnerarchitektur - Bewertung von Architekturen und Rechnersystemen 64-613 RAM Bewertung von Maßnahmen (cont.) Amdahlsches Gesetz Beschleunigung der Bearbeitung durch Parallelausführung mit N Prozessoren (Gene Amdahl 67) 1 Speed-Up = (1 β)+f k (N)+β/N 1 (1 β) N # Prozessoren als Verbesserungsfaktor β Anteil parallelisierbarer Berechnung 1 β Anteil nicht parallelisierbarer Berechnung f k () Kommunikationsoverhead zwischen den Prozessoren Aufgaben verteilen Arbeit koordinieren Ergebnisse zusammensammeln A. Mäder 467

4.2 Rechnerarchitektur - Bewertung von Architekturen und Rechnersystemen 64-613 RAM Bewertung von Maßnahmen (cont.) Welche Auswirkungen hat das in der Praxis? N β Speed-up 2 0,40 1,25 4 0,40 1,43 4536 0,80 5,00 9072 0,99 98,92 Enttäuschend: zwei Prozessoren sind nicht doppelt so schnell... immerhin bei Multitasking und mehreren Prozessen kommt man auf große β A. Mäder 468

4.2 Rechnerarchitektur - Bewertung von Architekturen und Rechnersystemen 64-613 RAM Bewertung von Maßnahmen (cont.) 100 Speed-Up 1/(1-beta) 80 60 40 20 0 beta 0 0.2 0.4 0.6 0.8 1 F Verbesserung = A. Mäder 469

4.2 Rechnerarchitektur - Bewertung von Architekturen und Rechnersystemen 64-613 RAM Bewertung von Maßnahmen (cont.) 10 8 Speed-Up n 1/((1-0.9)+0.9/n) 1/((1-0.8)+0.8/n) 1/((1-0.5)+0.5/n) 6 4 2 0 N 1 2 3 4 5 6 7 8 9 10 A. Mäder 470

4.2 Rechnerarchitektur - Bewertung von Architekturen und Rechnersystemen 64-613 RAM Bewertung von Maßnahmen (cont.) Gustafsonsches Gesetz Abhängigkeit von N Umkehrung von Amdahl s Gesetz " β Speed-Up eines Parallelrechners gegenüber einem ein-prozessor Rechner T n = T v,o + N T v,m Speed-Up = T v,o + N T v,m T v,o + T v,m = 1 + (N 1)β mit β = T v,m T v,o + T v,m A. Mäder 471

4.3 Rechnerarchitektur - Klassifikation von Rechnern 64-613 RAM Klassifikation Klassifikation nach Flynn Unterscheidung nach Kontroll- und Datenfluss SI Single Instruction MI Multiple Instruction SD Single Data MD Multiple Data Klassen: SISD, SIMD, MIMD A. Mäder 472

4.3 Rechnerarchitektur - Klassifikation von Rechnern 64-613 RAM Klassifikation (cont.) SISD Single Instruction Stream, Single Data Stream Abhängig von der Speicheranbindung von-neumann / Princeton-Architektur ein gemeinsamer Bus für Instruktionen und Daten Harvard-Architektur Instruktionen und Daten haben getrennte Busse Speicher Princeton Harvard Daten Instruktionen CPU A. Mäder 473

4.3 Rechnerarchitektur - Klassifikation von Rechnern 64-613 RAM Klassifikation (cont.) SIMD Single Instruction Stream, Multiple Data Streams Feldrechner Vektorrechner Speicher PE PE CPU Control A. Mäder 474

4.3 Rechnerarchitektur - Klassifikation von Rechnern 64-613 RAM Klassifikation (cont.) Beispiele Mathematik: Vektor-Rechenoperationen Grafik: Pixel-Operationen Intel Streaming SIMD Extensions A. Mäder 475

4.3 Rechnerarchitektur - Klassifikation von Rechnern 64-613 RAM Klassifikation (cont.) MIMD Multiple Instruction Streams, Multiple Data Streams Parallelrechner: CPUs/Prozessorelemente als Knoten Rechner-Cluster: Speicher Computer als Knoten CPU A. Mäder 476

4.3 Rechnerarchitektur - Klassifikation von Rechnern 64-613 RAM Klassifikation (cont.) genauere Unterteilung folgt im Abschnitt über Parallelrechner A. Mäder 477

4.3 Rechnerarchitektur - Klassifikation von Rechnern 64-613 RAM Klassifikation (cont.) Allgemeine Klassifikationskriterien Operationsprinzip Struktur Leistung Einsatzgebiet Rechner- / Prozessorfamilien... A. Mäder 478

4.4 Rechnerarchitektur - Instruction Set Architecture 64-613 RAM Instruction Set Architecture ISA Instruction Set Architecture Schnittstelle zur Hardware für Programmierer/Compiler Definiert durch konzeptionelle Struktur funktionales Verhalten Compilerschnittstelle legt fest, was Compiler ausdrücken kann Wortschatz des Compilers definiert was Hardware ausführen können muss A. Mäder 479

4.4 Rechnerarchitektur - Instruction Set Architecture 64-613 RAM Instruction Set Architecture (cont.) Programmierer-Sicht des Computers Wie werden Daten und Datenstrukturen repräsentiert? Wo können Daten gespeichert werden? Wie kann auf die Daten zugegriffen werden? Welche Operationen können auf den Daten ausgeführt werden? Wie sind die Instruktionen kodiert? Wie ist die Organisation der (sichtbaren) Register?... A. Mäder 480

4.4 Rechnerarchitektur - Instruction Set Architecture 64-613 RAM Instruction Set Architecture (cont.) Anwendungsprogrammierer / User-Level direkte I/O-Befehle nicht erlaubt kein Zugriff auf Speicherverwaltung (Segmentierung / Paging) kein Zugriff auf Interrupt-, Exception- und System-Call-Handling stattdessen System-Calls (Betriebs-) Systemprogrammierer / System-Level direkte I/O-Befehle erlaubt Zugriff auf Segmentierung / Paging Zugriff auf Interrupt-, Exception- und System-Call-Handling System-Calls nicht möglich A. Mäder 481

4.4 Rechnerarchitektur - Instruction Set Architecture 64-613 RAM Instruction Set Architecture (cont.) Kompatibilität von ISA Erweiterung bestehender ISA (Bildung von Obermengen) + Abwärtskompatibilität Prozessorfamilien: Intel, Sparc, MIPS... + lange Software Lebensdauer neue (bessere) Architekturen sind schwierig einzuführen A. Mäder 482

4.4 Rechnerarchitektur - Instruction Set Architecture 64-613 RAM Inhalte einer ISA Syntax Argumente der Befehle und Addressierungsarten Codierung Semantik Definition der Auswirkung bei Ausführung Daten Binärdarstellung Interpretation Speicherung Befehle Formate der Befehle Befehlsklassen Adressierungsarten A. Mäder 483

4.4 Rechnerarchitektur - Instruction Set Architecture 64-613 RAM ISA Daten Datenworte Architekturabhängige Speicherwortlängen Bit 0, 1 Nibble 4 Bits Byte 8 Bits Half Word 16 Bits Word 16 Bits 32 Bits Long Word 32 Bits 64 Bits Quad Word 64 Bits... A. Mäder 484

4.4 Rechnerarchitektur - Instruction Set Architecture 64-613 RAM ISA Daten (cont.) Datentypen Interpretation der Worte Character ASCII 7 Bit Code... Decimal BCD-Ziffern: paarweise in 8 Bits... Integer 2er-Komplement... Floating-Point IEEE 754: Fliesskommastandard einfache, doppelte, erweiterte Genauigkeit...... A. Mäder 485

4.4 Rechnerarchitektur - Instruction Set Architecture 64-613 RAM ISA Daten (cont.) Verteilung von Wortlängen und Datentypen A. Mäder 486

4.4 Rechnerarchitektur - Instruction Set Architecture 64-613 RAM ISA Daten (cont.) Zuordnung der Datentypen zu Speicheradressen Hauptspeicher meist Byte-adressiert aber größere Wortbreite (z.b. 32-bit) Byte Reihenfolge / Endian Big-Endian Little-Endian 8-bit Typ 0x1a 0x2b 0x3c 0x4d 0x4d 0x3c 0x2b 0x1a 16-bit Typ 0x1a2b 0x3c4d 0x3c4d 0x1a2b Speicheradressen Wort im Speicher 0x1a2b3c4d A. Mäder 487