Rechnernetze und Organisation

Ähnliche Dokumente
Grundlagen der Rechnerarchitektur

Instruktionssatz-Architektur

Benchmarking Intel Pentium III-S vs. Intel Pentium 4

Computer-Architektur Ein Überblick

Die Mikroprogrammebene eines Rechners

Rechner Architektur. Martin Gülck

Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2012 / Vorlesung 9, Dienstag 18.

Umsetzung in aktuellen Prozessoren

Implementierung: Direkt abgebildeter Cache

DATEN UND BEFEHLSFORMATE, ADDRESSIERUNGSARTEN UND MASCHINEN- PROGRAMMIERUNGSKONZEPTE

L3. Datenmanipulation

Frank Kuchta Markus Rüger

Grundlagen der Rechnerarchitektur

Vorlesung "Struktur von Mikrorechnern" (CBS)

Karlsruher Institut für Technologie

moderne Prozessoren Jan Krüger

Technische Informatik 2 Adressierungsarten

Mikroprozessor als universeller digitaler Baustein

Das Prinzip an einem alltäglichen Beispiel

Johann Wolfgang Goethe-Universität

Einführung in die Programmierung mit C++

Kap 4. 4 Die Mikroprogrammebene eines Rechners

Convey, Hybrid-Core Computing

Energiesparmechanismen des

Aufbau von modernen Computersystemen

Intel 80x86 symmetrische Multiprozessorsysteme. Eine Präsentation im Rahmen des Seminars Parallele Rechnerarchitekturen von Bernhard Witte

Java-Prozessoren. Die Java Virtual Machine spezifiziert... Java Instruktions-Satz. Datentypen. Operanden-Stack. Konstanten-Pool.

Rechnerorganisation 2 TOY. Karl C. Posch. co1.ro_2003. Karl.Posch@iaik.tugraz.at

2.2 Rechnerorganisation: Aufbau und Funktionsweise

x86 Assembler Praktische Einführung Sebastian Lackner Michael Müller 3. Juni 2013

IA64 vs x Felix von Leitner 28. Dezember 2002

Name: ES2 Klausur Thema: ARM Name: Punkte: Note:

Microcontroller Architectures and Examples

Hyperthreads in Itanium - Prozessoren

Codesigned Virtual Machines

Aufbau und Funktionsweise eines Computers

Memory Management Units in High-Performance Processors

ARM Cortex-M Prozessoren. Referat von Peter Voser Embedded Development GmbH

Assembler-Programmierung

Referat Mobile Prozessoren

Vorlesung: Technische Informatik 3

Memory Models. 17. September 2012

Evolution des x86 Befehlssatzes und seiner Erweiterungen

IT für Führungskräfte. Zentraleinheiten Gruppe 2 - CPU 1

Samsungs Exynos 5 Dual

Einführung in die technische Informatik

Rechnerarchitektur und Betriebssysteme (CS201): Multiprogramming und -Tasking Flynn-Klassifikation, ILP, VLIW

Virtueller Speicher. SS 2012 Grundlagen der Rechnerarchitektur Speicher 44

11.0 Rechnerarchitekturen

Systemanforderungen Verlage & Akzidenzdruck

1 Einleitung zum RISC Prozessor

Einführung in (Intel) 80x86 Assembler. Einführung in (Intel) 80x86 Assembler Wintersemester 2008/09 1 / 26

INDEX. Netzwerk Überblick. Benötigte Komponenten für: Windows Server Windows Server 2008 R2. Windows Server 2012

7a. Rechnerarchitektur und Grundzüge der Assemblerprogrammierung

Programmierung Paralleler Prozesse

Xeon, Opteron, UltraSPARC höher, schneller, weiter?

Systemanforderungen Verlage & Akzidenzdruck

Teil VIII Von Neumann Rechner 1

Eine Einführung in die Architektur moderner Graphikprozessoren

Compiler: Vom Code zum Maschinen-Code. C Programmierung - Vorlesung 2 Hochschule Regensburg Universitätsstraße 31, Regensburg

Multicore Herausforderungen an das Software-Engineering. Prof. Dr.-Ing. Michael Uelschen Hochschule Osnabrück

Systemanforderungen Verlage & Akzidenzdruck

Technische Voraussetzungen

World of Warcraft. Mindestvoraussetzungen

6. CPU, die Zweite. Ausgangspunkt. Stand der Technik. Vorlesung Rechnerstrukturen Wintersemester 2002/03. Tanenbaum-CPU. 3 sichtbare Register

Betriebssystembau. 7. Übung. Michael Engel Arbeitsgruppe Eingebettete Systemsoftware. Lehrstuhl für Informatik 12 TU Dortmund

Mikrocomputertechnik. Einadressmaschine

Technische Informatik 1

Ein Computer zum Selbstbauen

Brückenkurs / Computer

Ein kleiner Einblick in die Welt der Supercomputer. Christian Krohn

Mikroprozessor bzw. CPU (Central Processing. - Steuerwerk (Control Unit) - Rechenwerk bzw. ALU (Arithmetic Logic Unit)

Technische Voraussetzungen

TIn 1: Feedback Laboratories. Lecture 4 Data transfer. Question: What is the IP? Institut für Embedded Systems. Institut für Embedded Systems

Was machen wir heute? Betriebssysteme Tutorium 2. Organisatorisches. Frage 2.1.a. Theorieblätter Abgabe. Antwort. Probleme mit OS/161?

Binärcodierung elementarer Datentypen: Darstellung negativer Zahlen

HW/SW Codesign 5 - Performance

Systemvoraussetzungen

Grundlagen der Rechnerarchitektur. Einführung

Grundlagen der Informatik III Wintersemester 2010/2011

Systemanforderungen Verlage & Akzidenzdruck

Assembler-Programme. Systemprogrammierung (37-023) Elementare Komponenten eines Assembler-Programmes

Sicheres C Programmieren in Embedded Systemen ARM II (ARM7TMDI [1] ) Wintersemester

Compilerbau Instruktionsauswahl 168. Instruktionsauswahl

COMPILER & CODE ANALYSE. Eine Einführung in die Code Analyse auf Grundlage von Compilern und deren Optimierung. 1

Mobile Prozessoren. Ein Vergleich zwischen Intel Silvermont, ARM Cortex-A und AMD Temash. Hochschule Darmstadt

CPU-Update. Wie Äpfel zu Melonen werden. best OpenSystems Day April Unterföhring

Embedded-Linux-Seminare. Linux als Betriebssystem

CHARON-AXP Alpha Hardwarevirtualisierung

Multiuser Client/Server Systeme

UltraSPARC T1 (Niagara)

Einführung in die Systemprogrammierung

Exklusive Preisliste für Nur für Sie!! Ihr exone Systemhauspartner Friedrich Ritschel GmbH & Co. KG Herr Jacobsen edv@ritschelkg.

Chip Level Multithreading

LiSARD: LabVIEW integrated Softcore Architecture for Reconfigurable Devices

Computer in Meiderich Computer in Meiderich. terra Mobile PAD 1060T - Das original Windows 8.1 Tablet! Mit optionaler Tastatur!

Computerarchitektur. Andrew S.Tanenbaum James Goodman BIBLIOTHEK. Strukturen Konzepte Grundlagen. Pearson Studium

4D Server v12 64-bit Version BETA VERSION

Produkte und Preise TERRA PC

Kapitel 6 Speicherverwaltung Seite 1 zum Teil nach: Silberschatz&Galbin, Operating System Concepts, Addison-Wesley)

Transkript:

Pentium 1

Übersicht Motivation Architektur Instruktions-Set Adressierungsarten Geschichte Verbesserung und Erweiterungen 2

Motivation Verständnis von Prozessoren: Warum Pentium statt kleiner CPU? Pentium zwar komplex aber weit verbreitet Bis 2001: 500 Mio mal verkauft Vorherrschend im Desktopbereich Quasi-Standard Foto Advanced Modular Computers Foto Intel 3

Eigenschaften 32-Bit Prozessor IA-32 Architektur (= x86) Unterschiedliche Bezeichnungen für selbes Instruktions-Set CISC-Instruktionen (complex instruction-set computing) Viele Befehle Uneinheitliches Befehls-Format» Variable Länge 1 16 Byte 2-Adressformat x86-instruktionen werden nicht direkt ausgeführt RISC-ähnliche Mikro-Architektur Ab Pentium PRO Übersetzung von CISC-Instruktionen in Mikroinstruktionen Für Kompatibilität 3 Mikro-Instruktionen pro Takt ausführbar 4

Architektur: Pentium-4 256-bit wide, core clock Instruction TLB Dynamic Branch Predictor 4096 Entries Grafik F. Schramm Bus Interface Unit - 64-bit 100 MHz/ 133 MHz/ 200MHz Quad Pumped L2- Cache - L2-Cache Control-Unit Micro Code ROM Micro Instruction Sequencer Slow ALU Complex Instr. Instruction Decode ExecutionTrace Cache 12.000 μops Allocate Ressources / Rename Registers Integer / Floating Point μop Queue Integer Schedulers Integer Register File Port 1 Port 0 Port 2 Port 3 2xALU Simple Instr. 2xALU Simple Instr. 256-bit wide, core clock Hardware Data Prefetch 2xAGU Store Address Unit 2xAGU Load Address Unit Trace Cache Branch Predictor 4096 entry BTB Memory μop Queue Floating Point Schedulers FP Store FP Move L1 Data Cache 8/16 KByte, 4-way Floating Point Register File Port 0 Port 1 Fmul FAdd SSE SSE2 SSE3 MMX 5

Architektur: Pipeline Sehr viele Pipeline-Stufen 20 bzw. 31 Stufen je nach P4-Version Für hohe Taktraten Fetch-Execute Dauert 20 (31) Takte Pipeline schwierig zu füllen 1 2 3 4 5 TC Nxt IP TC Fetch DriveAlloc Stalls senken Pipeline-Auslastung P4 braucht gleich viele Takte wie P3 6 7 8 9 Rename Que 10 Sch TC Nxt = trace cache next instruction pointer TC Fectch = trace cache fetch Rename = register renaming Que = micro-op queuing Sch = micro-op scheduling Disp = dispatch RF = register file Ex = execute Flgs = flags BrCk = branch check 11 Sch 12 Sch 13 Disp 14 Disp 15 RF Grafik F. Schramm 16 RF 17 Ex 18 19 20 Flgs BrCkDrive 6

Instruktions-Set IA-32 (x86) Instruktions-Set 32-Bit Instruktionen; 32-Bit Adressraum Variable Länge von Instruktionen: 1-16 Bytes Keine Load-Store Architektur Operand kann im Speicher liegen Instruktionen können Speicher ändern 2 Adress-Befehle Ziel ist auch Quelle ADD EAX, [1234] Bedingte Sprungbefehle Prüfen Statusbits in Flag-Register Unterschiedliche Levels Level 0: Betriebssystem Level 3: User-Programm Operationsmodi für Rückwärts-Kompatibilität Real mode: 16-Bit Prozessor ohne Memory-Protection 7

Instruktionen x86-instruktionen Data transfer instructions (MOV) binary arithmetic (ADD, SUB) logical instructions (AND, OR) shift and rotate (ROR, SAR) bit and byte instructions (BTS, SETE) control transfer instructions (JMP, LOOP, CALL) string instructions (MOVS, SCAS) flag control instructions (STD, STI) segment register instructions (LDS) miscellaneous instructions (LEA, NOP, CPUID) 8

Instruktionsformat Kompliziertes und unübersichtliches Format Viele 1-Byte Opcodes Ursprünglich nur 1-Byte Opcodes Prefixes möglich Für andere Wortbreite oder Wiederholung Offset = Base + + Index*Scale + + Displacement 0,1 Byte 0,1 Byte 0,1,2,4 Byte 0,1,2,4 Byte SIB Dekodierung von Instruktionen ist schwierig ModR/M, SIB, Displacement, Immediate: Für Adressierung der Operanden 24 Adressierungsarten 0-4 Byte Prefix 1-2 Byte Opcode ModR/M Displacement Immediate 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 Reg/ Mod R/M Scale Index Base Opcode 9

Register ExX-Register Mischung aus General-Purpose und Special-Purpose Register EAX: Accumulator EBX: Base-Register ECX: Count-Register Special: Für Loops EDX: Data-Register Special: Für Multiplikation / Division Weiters EBP: Base-Pointer Foto Intel Zeigt auf Stackbeginn ESI, EDI: Source- und Destination-Register ESP: Stack-Pointer EFLAGS: Flags 10

Adressierungsarten Adressierung: Auswahl von Operanden einer Instruktion Wo sind Operanden gespeichert Immediate Addressing: MOV EAX, 1234 Daten direkt angeben statt Adresse Direkte Adressierung: MOV EAX, [1234] Angabe der (32-Bit) Speicheradresse Register-Adressierung: MOV EAX, EBX Register enthält Operand Register-indirekte Adressierung: MOV EAX, [EBX] Register enthält Adresse des Operanden Pointer Indizierte Adressierung: MOV EAX, table[ebx] Basisadresse + Offset aus Register Foto Intel Indizierte Register-Indirekte Adressierung mit Displacement IA-32 Spezialität: MOV EAX, table[ebx*4 + 1] 11

Gleitkomma-Unterstützung Ursprünglich als Co-Prozessor (x87) Seit 80486 mit Prozessor integriert Wird immer mehr durch SSE-Instruktionen abgelöst Funktionsumfang Konstanten: 1, 0, Pi, E Integer-Konvertierung Arithmetisch: Add, Sub, Mult, Div, Sqrt, Transzendent: Sin, Tan, Log 2,... Vergleichsoperationen Stack-orientiert Operanden liegen am Stack Eigener Stack für FPU Foto Cyrix 12

Geschichte Jahr Prozessor Trans. MHz Memory 1974 8080 6k 2 64 kb 1978 8088 29k 5-8 1 MB Original IBM-PC 1981 80286 134k 8-12 16 MB 1985 80386 275k -33 4 GB 32-Bit Prozessor 1993 Pentium 3.1M -233 4 GB 2 Instruktions-Pipelines 2000 P4 42M -3800 4 GB MMX, SSE, Hyperthreading,... 2006 Duo Core 151M -2100 13

Verbesserung: Cache Cache Puffert Daten und Instruktionen Vermeidet langsame Speicherzugriffe Caches mit 2 oder 3 Levels Getrennter Instruktions- und Datencache L1: 2*16 kb Arbeitet auf vollem Prozessortakt Instruktionen werden beim Laden dekodiert L1 speichert Mikro-Operationen Second-Level (L2) Cache 1 MB für Instruktion und Daten gemeinsam Keine Dekodierung; Speicherabbild L3 Cache Optional; 2 MB; Für Multi-Prozessor-Betrieb wichtig 14

Verbesserung: Super-skalare Pipeline P4: Netburst Architecture 2 ALUs, 2 Registersätze Hyperthreading: Schneller Taskwechsel Parallele Abarbeitung von 2 Threads möglich RISC-ähnliche Architektur im Pentium-Kern Instruktions-Dekodierung bereits vor L1 Cache Out-of-order Execution Umordnung von Instruktionen Um Pipeline-Stalls zu vermeiden Tiefe der Pipeline: 20 30 Stufen Ermöglicht hohe Taktraten Aber: Aufwändige Sprungvorhersage Speculative Execution Superscalar Hyper-Threading Grafik F. Schramm 15

Verbesserung: Instruktionserweiterungen FPU: Floating-Point Unit Gleitkommaarithmetik MMX: Multi-Media Extensions Für Audio- und Video-Operations SIMD-Schema: Single Instruction Multiple Data 1 Instruktion für 4*16-Bit in 64-Bit Register SSE: Streaming SIMD Extension Beschleunigt 3D-Grafik 128-Bit Wortbreite; Integer- und Gleitkommaoperationen Single- (32-Bit) und Double- (64-Bit) Precision Floats 16

Verbesserung: 64-Bit Erweiterung EM64T = AMD64 64-Bit Erweiterung Von AMD entwickelt - Von Intel zögernd übernommen Intel wollte IA-64 Entwicklung nicht schwächen Mehr als 4 GB Speicher adressierbar 256 TB (48-Bit virtuelle Adressen) Ineffizientere Speichernutzung durch 64-Bit Wortbreite X86-64 Instruktions-Set Weiterentwicklung von IA-32 Verbreiterung der Register auf 64 Bit» RAX, RBX,... 8 zusätzliche Register:» R8,... R15 32-Bit (und 16-Bit) Instruktionen bleiben erhalten Softwareunterstützung Zuerst für Linux Windows: ab Windows Vista Foto AMD 17

Verbesserung: Dual-Core Dual-Core Technologie Symmetrisches Multi-Processing Auf selbem Chip Zur Performance-Steigerung Da Taktratensteigerung nicht mehr aussichtsreich 1,4-1,8-fache Steigerung möglich Für Multitasking und Multi-Threading sinnvoll» Alte Software hat keinen Vorteil Produkte Intel Core Duo 2 Pentium-Chips auf einem Die Pentium-D 2 Dies in einem Gehäuse AMD Athlon-64 FX2 2 Athlon-64 auf einem Die Foto Intel Logo Intel Logo AMD 18

Nachteile Viel Historie Rückwärts-kompatibel bis 8086 16-Bit CPU Wenige Register Viele langsame Speicherzugriffe Special-purpose Register CISC-Instruktions-Set Kompliziertes Instruction-Encoding Beschleunigungstechniken ziemlich ausgereizt Sehr tiefe Pipeline Out-of-Order Execution und Branch-Prediction kompliziert Komplexität in Hardware statt in Compiler Leistungsverbrauch: ~ 100 Watt Hitze, Akkulaufzeit Foto CPU-World Foto Cool Master 19

Itanium-2 IA-64 Architektur Als Nachfolge von IA-32 (Pentium) gedacht Von Intel und HP entwickelt Keine Weiterentwicklung von IA-32 sondern grundauf neu EPIC: Explicitly Parallel Instruction Computing 64-Bit Architektur Komplexität in Compiler Muss Ausführungseinheiten gut auslasten 128 General-purpose Register 32 statisch, 96 als Stack Weiters 128 Gleitkomma- und 128 Applikations-Register 128-Bit Instruktionsformat (VLIW: very long instruction word) Bestehend aus 3 41-Bit Instruktionen plus Ausführungsinfo Vermeiden von bedingten Sprüngen Durch konditionale Befehle Fehlende Unterstützung von Microsoft Möchte Windows nicht nach IA-64 Portieren; x86-64 bevorzugt Foto Intel Foto Intel 20

Konkurrenz Prozessoren mit x86 (IA-32) Instruktionsset Hauptproduzenten AMD: K6, Athlon, Athlon-64, Athlon-64 FX2 Dual-Core Technologie Geringere Taktrate als Intel aber selbe Performance Intel: Pentium-4, Celeron, Xeon Weiters Transmeta: Crusoe, Efficeon VLIW-Prozessor-Kern mit On-Chip -Compiler» Übersetzt x86-instruktionen in native Instruktionen» Auch für andere Instruktions-Sets geeignet Ausbleibender kommerzieller Erfolg Via (füher Cyrix): C3, C7 Stromsparende CPUs für lüfterlose Systeme Integrierte Grafikkarte Foto AMD Foto Transmeta 21

Zusammenfassung Pentium Sehr leistungsstarker Prozessor Kompliziertes Instruktions-Set Keine Performance-Sprünge mehr erwartbar Literatur: Rob Williams, Computer Systems Architecture, Addision-Wesley, 2001: Kapitel 7, 11. Andrew S. Tanenbaum, Structured Computer Organization, 5th edition, Pearson, 2006. 22