Vorlesung: Rechnerstrukturen, Teil 2 (Modul IP7)
Transcript of Vorlesung: Rechnerstrukturen, Teil 2 (Modul IP7)
Arbeitsbereich TAMSFachbereich Informatik Vorlesung: Rechnerstrukturen, Teil 2 (Modul IP7)
Vorlesung: Rechnerstrukturen, Teil 2 (Modul IP7)
J. Zhang
Universitat Hamburg
Fachbereich Informatik
AB Technische Aspekte Multimodaler Systeme
10. Januar 2003
10. Januar 2003
Arbeitsbereich TAMSFachbereich Informatik Vorlesung: Rechnerstrukturen, Teil 2 (Modul IP7)
Inhaltsverzeichnis1. Allgemeine Informationen . . . . . . . . . . . . . . . . . . . . . 3
2. Einfuhrung in die Rechnerarchitektur . . . . . . . . . . . . . . . 4
“Moore’s Law” . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Beschreibungsebenen . . . . . . . . . . . . . . . . . . . . . . . . 12
Rechnerstrukturen . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Wie rechnet ein Rechner? . . . . . . . . . . . . . . . . . . . . . . 31
10. Januar 2003
Arbeitsbereich TAMSFachbereich Informatik Kapitel: Allgemeine Informationen
Allgemeine Informationen
Vorlesung (1): Di. u. Do. 10:00 c.t - 11:00Pause: 11:00 - 11:10Vorlesung (2): 11:10 - 11:55Raum: Phil AWeb: http://tams-www.informatik.uni-hamburg.de/lehre/
Name: Prof. Dr. Jianwei ZhangBuro: F308E-mail: [email protected]: Donnerstag 15:00 - 16:00Sekretariat: Tatjana TetsisBuro: F311E-mail: [email protected]
Seite 310. Januar 2003
Arbeitsbereich TAMSFachbereich Informatik Kapitel: Einfuhrung in die Rechnerarchitektur
Einfuhrung in die Rechnerarchitektur
Rapide sich veranderndes Gebiet:
l Vakuum Rohre Transistor IC VLSI
l verdoppelt sich alle 1,5 Jahre (“Moore’s Law”):
F Speicherkapazitat
F Prozssorgeschwindigkeit (durch Fortschritt in der Technologie und derOrganisation)
Seite 410. Januar 2003
Arbeitsbereich TAMSFachbereich Informatik Kapitel: Einfuhrung in die Rechnerarchitektur
Uberblick der Entwicklungsgeschichte
Seite 510. Januar 2003
Arbeitsbereich TAMSFachbereich Informatik
Kapitel: Einfuhrung in die RechnerarchitekturAbschnitt: “Moore’s Law”
“Moore’s Law”
Umgangssprachliche Formulierung:
Bei konstanten Kosten verdoppelt sich die Rechenleistung einesMikroprozessors alle 18 Monate.
Bemerkungen:
l Moores Vermutung bestatigt sich seit 1975.
l Moores ursprungliche Aussage betrifft die Steigerungsrate fur dieAnzahl der Schaltkreise auf einem Chip.
l Moores Vermutung wird allgemein als “Moore’s Law” bezeichnet.
Seite 610. Januar 2003
Arbeitsbereich TAMSFachbereich Informatik
Kapitel: Einfuhrung in die RechnerarchitekturAbschnitt: “Moore’s Law”
“Moore’s Law” – FormelL(t) = L(0) × 2t/18
Die Zeit t wird in Monaten gemessen.
L(t) = Leistung zum Zeitpunkt t.
L(0) = Leistung zum Zeitpunkt 0.
Einige Formelwerte:
Jahr 1: 1,5874Jahr 2: 2,51984Jahr 3: 4Jahr 5: 10,0794Jahr 6: 16Jahr 7: 25,3984Jahr 8: 40,3175
Seite 710. Januar 2003
Arbeitsbereich TAMSFachbereich Informatik
Kapitel: Einfuhrung in die RechnerarchitekturAbschnitt: “Moore’s Law”
Leistungssteigerung der Spitzenrechner seit 1993Jahr Rechner Linpackleistung Zahl der
in Gflop/s Prozessoren
1993 Fujitsu NWT 124 140
1994 Intel Paragon XP/S MP 281 6.768
1995 Intel Paragon XP/S MP 281 6.768
1996 Hitachi CP-PACS 368 2.048
1997 Intel ASCI Red (200 MHz Pentium Pro) 1.338 9.152
1998 ASCI Blue-Pacific (IBM SP 640E) 2.144 5.808
1999 ASCI Intel Red (Pentium II Xeon) 2.379 9.632
2000 ASCI White, IBM (SP Power 3) 4.903 7.424
2001 ASCI White, IBM (SP Power 3) 7.226 7.424
2002 Earth Simulator, NEC 35.610 5.104
Seite 810. Januar 2003
Arbeitsbereich TAMSFachbereich Informatik
Kapitel: Einfuhrung in die RechnerarchitekturAbschnitt: Motivation
MotivationWas Sie lernen werden:
l wie Computer funktionieren, als grundlegende Basis
l wie man ihre Leistung analysiert (und wie nicht)
l Fragen moderner Prozessoren (Caches, Pipelines)
Warum sollte man diese Dinge lernen?
l Sie wollen Computerwissenschaftler werden
l Sie wollen Software entwickeln, die praktisch genutzt wird (daherbrauchen wir Leistung)
l Hardware wird immer enger mit Software als Embedded Systemsgekoppelt
l Sie mussen Verkaufsentscheidungen treffen oder einen “Expertenrat”abgeben
Seite 910. Januar 2003
Arbeitsbereich TAMSFachbereich Informatik
Kapitel: Einfuhrung in die RechnerarchitekturAbschnitt: Motivation
Bereiche der Technischen Informatik
Mechatronik, Robotik, Echtzeit-Regelung, Prozeßrechentechnik,Embedded-Systems. Der Rest liegt in Anwendungsfeldern derMikroelektronik.
Seite 1010. Januar 2003
Arbeitsbereich TAMSFachbereich Informatik
Kapitel: Einfuhrung in die RechnerarchitekturAbschnitt: Motivation
Motivation - 2Was zieht uns an:
l Veranderung
l Es ist aufregend
l Es wird noch aufregender
l Große Bedeutung fur alle anderen Aspekte der E-Technik undInformatik
Seite 1110. Januar 2003
Arbeitsbereich TAMSFachbereich Informatik
Kapitel: Einfuhrung in die RechnerarchitekturAbschnitt: Beschreibungsebenen
Beschreibungsebenen – eine Schichten-Ansicht
Application programs
Processor Main memory I/O devices
Operating system
Software
Hardware
Seite 1210. Januar 2003
Arbeitsbereich TAMSFachbereich Informatik
Kapitel: Einfuhrung in die RechnerarchitekturAbschnitt: Beschreibungsebenen
Von einem Betriebssystem gelieferte Abstraktionen
Processor Main memory I/O devices
Processes
Files
Virtual memory
Seite 1310. Januar 2003
Arbeitsbereich TAMSFachbereich Informatik
Kapitel: Einfuhrung in die RechnerarchitekturAbschnitt: Beschreibungsebenen
Befehlssatzarchitektur (ISA)Befehlssatzarchitektur: Instruction Set Architecture (ISA):
die vom Programmierer betrachteten Attribute der konzeptionellenStruktur
+ des funktionellen Verhaltens, die beinhalten:
l Organisation des programmierbaren Speichers
l Datentypen und Datenstrukturen: Codierungen und Darstellungen
l Befehlssatz
l Befehlsformate
l Modelle fur Befehls- und Datenzugriffe
l Ausnahmebedingungen
Seite 1410. Januar 2003
Arbeitsbereich TAMSFachbereich Informatik
Kapitel: Einfuhrung in die RechnerarchitekturAbschnitt: Beschreibungsebenen
Der Befehlssatz: Ein kritisches Interface
Seite 1510. Januar 2003
Arbeitsbereich TAMSFachbereich Informatik
Kapitel: Einfuhrung in die RechnerarchitekturAbschnitt: Beschreibungsebenen
Sichtweise des Logikdesigners
ISA EBENEFuntionseinheiten u. V erbindungen
Seite 1610. Januar 2003
Arbeitsbereich TAMSFachbereich Informatik
Kapitel: Einfuhrung in die RechnerarchitekturAbschnitt: Beschreibungsebenen
Beispiele fur Befehlssatzarchitekturen
Digital Alpha 1992-97HP PA-RISC 1986-96Sun Sparc (v8, v9) 1987-95SGI MIPS (MIPS I, II, III, IV, V) 1986 - 96Intel (8086, 80286, 80386, 80486, Pentium, MMX, ...) 1978 -Motorola/IBM/Apple (PowerPC 602/603/604/740/750/7400) 1993 -IA 64 2000
Seite 1710. Januar 2003
Arbeitsbereich TAMSFachbereich Informatik
Kapitel: Einfuhrung in die RechnerarchitekturAbschnitt: Beschreibungsebenen
Das Kompilierungssystem
Pre-
processor(cpp)
hello.i Compiler(cc1)
hello.s Assembler(as)
hello.o Linker(ld)
hellohello.c
Source
program
(text)
Modified
source
program
(text)
Assembly
program
(text)
Relocatable
object
programs
(binary)
Executable
object
program
(binary)
printf.o
Seite 1810. Januar 2003
Arbeitsbereich TAMSFachbereich Informatik
Kapitel: Einfuhrung in die RechnerarchitekturAbschnitt: Beschreibungsebenen
Reprasentationsebenen
Seite 1910. Januar 2003
Arbeitsbereich TAMSFachbereich Informatik
Kapitel: Einfuhrung in die RechnerarchitekturAbschnitt: Beschreibungsebenen
AssemblerIn Assembler werden Sie selten ein Programm schreiben mussen.
Das Verstandnis des Assemblers ist unerlasslich fur dasVerstandnis des Ausfuhrungsmodells auf der Maschinenebene:
l Programmverhalten bei Fehlern
F Das High-Level Sprachmodell ist dort nicht anwendbar
l Die Programmleistung verstarken
F Die Ursachen fur Programm-Ineffizienz verstehen
l Systemsoftware implementieren
F Der Compiler hat den Maschinencode als Ziel
F Die Betriebssysteme mussen den Prozesszustand verwalten
Seite 2010. Januar 2003
Arbeitsbereich TAMSFachbereich Informatik
Kapitel: Einfuhrung in die RechnerarchitekturAbschnitt: Beschreibungsebenen
Ausfuhrungszyklus
Seite 2110. Januar 2003
Arbeitsbereich TAMSFachbereich Informatik
Kapitel: Einfuhrung in die RechnerarchitekturAbschnitt: Rechnerstrukturen
Rechnerstrukturen
Bestandteile eines Rechners:
l Input (Maus, Keyboard)
l Output (Bildschirm, Drucker)
l Speicher (Laufwerke, DRAM, SRAM, CD)
l Netzwerk
Unser primarer Schwerpunkt: der Prozessor (Datenpfad und Kontrolle)
l wird mit Hilfe von Millionen Transistoren implementiert
l ist unmoglich durch die Untersuchung jedes einzelnen Transistors zuverstehen
l Wir brauchen...
Seite 2210. Januar 2003
Arbeitsbereich TAMSFachbereich Informatik
Kapitel: Einfuhrung in die RechnerarchitekturAbschnitt: Rechnerstrukturen
Rechnerstrukturen - Weitere Betrachtung
Rechnerstrukturen =
l Rechnerarchitektur
l Implementierung
Rechnerarchitektur =
l Schnittstelle zwischen Rechner und Benutzer =
F Befehlssatzarchitektur
F Maschinenorganisation
Implementierung
l Hardware-Aufbau von Komponenten, die die Rechnerarchitekturrealisieren
l Speichereinheiten, Recheneinheiten, Verbindungssysteme,...
Seite 2310. Januar 2003
Arbeitsbereich TAMSFachbereich Informatik
Kapitel: Einfuhrung in die RechnerarchitekturAbschnitt: Rechnerstrukturen
Was umfasst der Begriff Rechnerstrukturen?“Praktische Informatik”
Rechnerstrukturen
l Koordination vieler Abstraktionsebenen der Beschreibung
l Berucksichtigung standig wechselnder außerer Einflusse
l Entwurf, Leistungsmessung, Leistungsbewertung
Seite 2410. Januar 2003
Arbeitsbereich TAMSFachbereich Informatik
Kapitel: Einfuhrung in die RechnerarchitekturAbschnitt: Rechnerstrukturen
Maschinenorganisationl Fahigkeiten und Leistung der prinzipiellen Funktionseinheiten
F (z.B., Registers, ALU, Shifters,...)
l Verbindungen zwischen diesen Einheiten
l Informationsfluss zwischen den Komponenten
l Logik und Methoden zur Realisierung des Informationsflusses
l “Choreographie” der Funktionseinheiten
l Beschreibung auf Register-Transfer-Ebene (Register Transfer Level(RTL))
Seite 2510. Januar 2003
Arbeitsbereich TAMSFachbereich Informatik
Kapitel: Einfuhrung in die RechnerarchitekturAbschnitt: Rechnerstrukturen
von Neumann ArchitekturCharakteristika:
1. Daten und Befehle liegen im gleichen Schreib-Lese-Speicher.
2. Der Zugriff auf Speicherinhalte erfolgt uber die Adresse derSpeicherzelle, Speicherinhalte sind nicht typisiert.
3. Die Programmausfuhrung erfolgt sequentiell, Befehl fur Befehl.
Seite 2610. Januar 2003
Arbeitsbereich TAMSFachbereich Informatik
Kapitel: Einfuhrung in die RechnerarchitekturAbschnitt: Rechnerstrukturen
Treibende Krafte auf Rechnerstrukturenl Technologie
l Anwendungen
l Programmiersprachen
l Betriebssysteme
l Geschichte
Seite 2710. Januar 2003
Arbeitsbereich TAMSFachbereich Informatik
Kapitel: Einfuhrung in die RechnerarchitekturAbschnitt: Rechnerstrukturen
Technologiel Gegen 1985 enstehen Ein-Chip 32-Bit Prozessoren und
Single-Board-Computer
F Workstations, PCs, Multiprozessoren basieren seither auf dieserTechnik
l Mit den neu auf dem Markt erscheinenden Prozessoren istMainframe-Leistung auf einem Chip verfugbar
Seite 2810. Januar 2003
Arbeitsbereich TAMSFachbereich Informatik
Kapitel: Einfuhrung in die RechnerarchitekturAbschnitt: Rechnerstrukturen
Technologiebedingtes Wachstum in Zahlen
l Prozessor
F Transistorzahl: ca 30% pro Jahr (heute ca. 100 Mio.)
F Taktrate: ca 20 % pro Jahr
l Speicher
F DRAM Kapazitat: ca 60% pro Jahr (4x alle 3 Jahre)
F Zugriffsgeschwindigkeit: ca. 10 % pro Jahr
F Kosten pro Bit: sinken um ca. 25% pro Jahr
l Plattenspeicher
F Kapazitatssteigerung: ca. 60% pro Jahr
Seite 2910. Januar 2003
Arbeitsbereich TAMSFachbereich Informatik
Kapitel: Einfuhrung in die RechnerarchitekturAbschnitt: Rechnerstrukturen
Beispiel: Der PowerPC 7540 (G4)
Geschwindigkeit bis 1,2 GHZBusfrequenz 133 MHzBus Interface 64 BitsL1 Cache 32/32 kByteL2 Cache 256 kByteProzess 0,18 µmUint 1,3 - 1,6VUI/O 1,8V / 2,5 VLeistung 21,3 W / 1 GHzPerformance 2280 Drystone
MPS @ 1GHz
Seite 3010. Januar 2003
Arbeitsbereich TAMSFachbereich Informatik
Kapitel: Einfuhrung in die RechnerarchitekturAbschnitt: Wie rechnet ein Rechner?
Wie rechnet ein Rechner?
l Datenpfad und Steuerwerk
l Choreografie der Funktionseinheiten
l Caches und Speicherhierarchien
l Wie man Daten sicher verwahrt
l Ein-/Ausgabe und Netzwerke
l “Hello World” - Wie man mit Rechnern kommuniziert
Seite 3110. Januar 2003
Arbeitsbereich TAMSFachbereich Informatik
Kapitel: Einfuhrung in die RechnerarchitekturAbschnitt: Wie rechnet ein Rechner?
Hardwareorganisation eines typischen Systems
Main
memoryI/O
bridgeBus interface
ALU
Register file
CPU
System bus Memory bus
Disk controller
Graphicsadapter
USBcontroller
Mouse Keyboard Display
Disk
I/O bus Expansion slots forother devices suchas network adapters
hello executable
stored on disk
PC
Seite 3210. Januar 2003
Arbeitsbereich TAMSFachbereich Informatik
Kapitel: Einfuhrung in die RechnerarchitekturAbschnitt: Wie rechnet ein Rechner?
Lesen
Mainmemory
I/O bridge
Bus interface
ALU
Register file
CPU
System bus Memory bus
Disk controller
Graphicsadapter
USBcontroller
Mouse Keyboard Display
Disk
I/O bus Expansion slots forother devices suchas network adapters
PC
"hello"
User
types
"hello"
Seite 3310. Januar 2003
Arbeitsbereich TAMSFachbereich Informatik
Kapitel: Einfuhrung in die RechnerarchitekturAbschnitt: Wie rechnet ein Rechner?
Laden
Mainmemory
I/O bridge
Bus interface
ALU
Register file
CPU
System bus Memory bus
Disk
controller
Graphicsadapter
USBcontroller
Mouse Keyboard Display
Disk
I/O bus Expansion slots forother devices suchas network adapters
hello executable
stored on disk
PC
hello code
"hello,world\n"
Seite 3410. Januar 2003
Arbeitsbereich TAMSFachbereich Informatik
Kapitel: Einfuhrung in die RechnerarchitekturAbschnitt: Wie rechnet ein Rechner?
Schreiben
Mainmemory
I/O bridge
Bus interface
ALU
Register file
CPU
System bus Memory bus
Disk controller
Graphics
adapter
USBcontroller
Mouse Keyboard Display
Disk
I/O bus Expansion slots forother devices suchas network adapters
hello executable
stored on disk
PC
hello code
"hello,world\n"
"hello,world\n"
Seite 3510. Januar 2003
Arbeitsbereich TAMSFachbereich Informatik
Kapitel: Einfuhrung in die RechnerarchitekturAbschnitt: Wie rechnet ein Rechner?
Cache-Speicher
Mainmemory
(DRAM)
Memorybridge
Bus interfaceL2 cache(SRAM)
ALU
Register file
CPU chip
Cache bus System bus Memory bus
L1 cache
(SRAM)
Seite 3610. Januar 2003
Arbeitsbereich TAMSFachbereich Informatik
Kapitel: Einfuhrung in die RechnerarchitekturAbschnitt: Wie rechnet ein Rechner?
Beispiel einer Speicher-Hierarchie
Registers
On-chip L1cache (SRAM)
Main memory(DRAM)
Local secondary storage(local disks)
Larger,
slower,
and
cheaper
(per byte)storage
devices
Remote secondary storage(distributed file systems, Web servers)
Local disks hold filesretrieved from disks on
remote network servers.
Main memory holds disk
blocks retrieved from local
disks.
Off-chip L2
cache (SRAM)
L1 cache holds cache lines retrieved
from the L2 cache.
CPU registers hold words retrieved from
cache memory.
L2 cache holds cache lines
retrieved from memory.
L0:
L1:
L2:
L3:
L4:
L5:
Smaller,
faster,
and
costlier(per byte)
storage
devices
Seite 3710. Januar 2003
Arbeitsbereich TAMSFachbereich Informatik
Kapitel: Einfuhrung in die RechnerarchitekturAbschnitt: Wie rechnet ein Rechner?
Der Speicher ist wichtigl Der Speicher ist nicht unbegrenzt
F Er muss zugeteilt und verwaltet werden.
F Viele Anwendungen werden vom Speicher dominiert.
l Fehler, die auf den Speicher verweisen, sind besondersgefahrlich
F Auswirkungen sind sowohl zeitlich als auch raumlich entfernt
l Speicherleistung ist nicht gleichbleibend
F Cache und Virtual Memory Auswirkungen konnen dieProgrammleistung stark beeinflussen
F Die Anpassung des Programms an das Speichersystem kann dieGeschwindigkeit bedeutend verbessern
Seite 3810. Januar 2003
Arbeitsbereich TAMSFachbereich Informatik
Kapitel: Einfuhrung in die RechnerarchitekturAbschnitt: Wie rechnet ein Rechner?
Erganzende LiteraturZur Rechnerarchitektur (1. Teil)
Literatur
[1] Randal E. Bryant and David O’Hallaron. Computer Systems. PearsonEducation, Inc., New Jersey, 2003.
[2] David A. Patterson and John L. Hennessy. Computer Organization andDesign. The Hardware / Software Interface. Morgan KaufmannPublishers, Inc., San Francisco, 1998.
[3] Andrew S. Tanenbaum. Computerarchitektur. Pearson StudiumMunchen, 2006.
Seite 3910. Januar 2003