Computerarchitectuur - UGent

advertisement
Les 1: Inleiding
Computer Science is a science of abstraction -creating the right model for a
problem and devising the appropriate mechanizable techniques to solve it.
- A. Aho and J. Ullman
ca1-1
Overzicht
• Een beetje geschiedenis
• Het von Neumann model
– Logisch zicht
– Fysiek zicht
• Abstractieniveaus in computersystemen
• Architectuur vs. organisatie
• Hardwarecomponenten
ca1-2
Een beetje geschiedenis
• Computer = rekenaar
• Materiële ondersteuning van rekenen is
zeer oud
• Essentieel bij deze ondersteuning:
algoritme
een recept om via een
opeenvolging van kleine
transformaties een
resultaat te berekenen
ca1-3
Algoritme
Transformaties
controle
Toestand
ca1-4
Uitvoering van een
algoritme
controle
transformaties
toestand
1
1181
+++
+ 237
14 1 8
ca1-5
Automatiseringsgeschiedenis
• Automatisering van de toestand: extern
toestandsgeheugen
– Vingers, keitjes, knoopjes
– Telraam (13e eeuw; China)
– geschreven symbolen
Wolfsbeenderen
5000 v.C.
Steentijdperk ca1-6
Automatiseringsgeschiedenis
• Automatisering van de transformaties
– Zeventiende eeuw
– Rekenlat (1622)
– Mechanische calculatoren
1622
William Schickard
1642 sommen
Blaise Pascal
1673 producten
Gotfried Leibniz
ca1-7
Automatiseringsgeschiedenis
• Automatisering van
de controle
– Jacquardweefgetouw
met ponskaarten
(begin 19e eeuw)
– Babbage: eerste
samenvoeging van
toestand,
transformatie en
controle in één
model.
Speeltrommel beiaard
1659, Belfort Gent
ca1-8
The difference engine
18226 decimalen
Eenvoudige
wiskundige
bewerkingen
Charles Babbage
(1791-1871)
http://www.youtube.com/watch?v=0anIyVGeWOI
http://www.youtube.com/watch?v=BlbQsKpq3Ak
ca1-9
The analytical engine
Charles Babbage
(1791-1871)
Ada Lovelace
(1815-1852)
1837ca1-10
Automatiseringsgeschiedenis
• Echte doorbraak in de automatisering
van de controle
– Ontwikkelingen in de telefonie (begin 20e
eeuw)
– Konrad Zuse: eerste elektromechanisme
computer: Z1 (1938-1943, 1989)
– Mauchly & Eckert: eerste computer:
ENIAC: Electronic Numerical Integrator
And Computer (1946)
– John von Neumann: eerste stored program
computer: EDVAC (1949)
ca1-11
Z-1 (1938-1943,1989-)
Mechanisch
Konrad Zuse
(1910-1995)
1 vermenigvuldiging = 5s
ca1-12
Z-3 (1941) met relais
Eerste volwaardige
elektromechanische
computer
Plankalkül (1945)
Rekende binair
Vermenigvuldiging: 3s
Deutsches Museum in München
ca1-13
Harvard Mark I (1944)
met relais
IBM automatic
sequence
controlled
calculator (ASCC)
Howard
Aiken (19001973)
Optelling = 6s
"Only six electronic digital computers would be required to
satisfy the computing needs of the entire United States."
— Howard Aiken
ca1-14
Eerste bug: 9 september
1947 – Mark II
ca1-15
“I think there is a world market
for maybe five computers”
1943
Thomas Watson (1874 - 1956)
IBM Chairman
ca1-16
ENIAC: Electronic Numerical
Integrator And Computer (14 feb
1946)
Mauchly
Eckert
23 m2, 30 ton,
17468 buizen,
200 kW
14 vermenigvuldigingen per s
ca1-17
"Computers in the future may weigh no
more than 1.5 tons.“
— Popular Mechanics, 1949
ca1-18
Programmeren van de ENIAC
ca1-19
Logisch zicht ENIAC
Transformaties
rekeneenheid
controle
Toestand
programma
gegevens
ca1-20
Electronic Discrete Variable
Automatic Computer
EDVAC
1949
John von
Neumann
(1903-1957)
300 vermenigvuldigingen per s
ca1-21
Logisch zicht EDVAC
Transformaties
rekeneenheid
controle
Toestand
programma
gegevens
Het ontstaan van
software
ca1-22
Overzicht
• Een beetje geschiedenis
• Het von Neumann model
– Logisch zicht
– Fysiek zicht
• Abstractieniveaus in computersystemen
• Architectuur vs. Organisatie
• Hardwarecomponenten
ca1-23
Von Neumann-machine
Logisch zicht
O1
O2
R, S
Controle
data
Geheugen
instructies
klok
ca1-24
Von Neumann-machine
Fysiek zicht
BUS
adres
data
controle
CVE
Controle
klok
cache
registers
Geheugen
Invoer/Uitvoer
ca1-25
Overzicht
• Een beetje geschiedenis
• Het von Neumann model
– Logisch zicht
– Fysiek zicht
• Abstractieniveaus in computersystemen
• Architectuur vs. organisatie
• Hardwarecomponenten
ca1-26
Abstractieniveaus
• Een computersysteem bestaat uit een
hiërarchie van lagen
• Elke laag heeft een goed gedefinieerde
interface naar de bovenliggende en
onderliggende lagen
• Essentieel bij de ondersteuning van
opwaartste compatibiliteit
ca1-27
Lagen
Toepassingsprogramma’s
Hoog-niveauprogrammeertalen
Machinetaal
Datapad + Controlepad
RTL-niveau
Poortnetwerken
Transistors en verbindingen
ca1-28
Lagen
Toepassingsprogramma’s
Door de programmeur
Door codegeneratoren
Hoog-niveauprogrammeertalen
Machinetaal
Datapad + Controlepad
RTL-niveau
Poortnetwerken
Transistors en verbindingen
ca1-29
Lagen
Toepassingsprogramma’s
Hoog-niveauprogrammeertalen
Door de compiler (= vertaler)
Machinetaal
Datapad + Controlepad
RTL-niveau
Poortnetwerken
Transistors en verbindingen
ca1-30
Lagen
Toepassingsprogramma’s
Hoog-niveauprogrammeertalen
Machinetaal
Controle-eenheid
Datapad + Controlepad
RTL-niveau
Poortnetwerken
Transistors en verbindingen
ca1-31
Lagen
Toepassingsprogramma’s
Hoog-niveauprogrammeertalen
Machinetaal
Datapad + Controlepad
Micro-architectuur
RTL-niveau
Poortnetwerken
Transistors en verbindingen
ca1-32
Lagen
Toepassingsprogramma’s
Hoog-niveauprogrammeertalen
Machinetaal
Datapad + Controlepad
RTL-niveau
VHDL-compiler
(vhsic hardware description language)
Poortnetwerken
Transistors en verbindingen
ca1-33
Lagen
Toepassingsprogramma’s
Hoog-niveauprogrammeertalen
Machinetaal
Datapad + Controlepad
RTL-niveau
Poortnetwerken
Chip-ontwerper
Routing-software
Transistors en verbindingen
ca1-34
Overzicht
• Een beetje geschiedenis
• Het von Neumann model
– Logisch zicht
– Fysiek zicht
• Abstractieniveaus in computersystemen
• Architectuur vs. organisatie
• Hardwarecomponenten
ca1-35
Lagen
Toepassingsprogramma’s
Hoog-niveauprogrammeertalen
Architectuur
Machinetaal
Datapad + Controlepad
RTL-niveau
Poortnetwerken
Organisatie
Transistors en verbindingen
ca1-36
Architectuur vs. Organisatie
“zichtbaar”
Architectuur
Architectuur
1
Architectuur 2
Hardware/software interface
Organisatie 1
Organisatie
Organisatie2
Organisatie 3
“onzichtbaar”
ca1-37
Compatibiliteit
Toepassingsprogramma’s
Hoog-niveauprogrammeertalen
Binaire compatibiliteit
Machinetaal
Hardware 1
Hardware 2
Hardware 3
ca1-38
Compatibiliteit
Toepassingsprogramma’s
Broncodecompatibiliteit
Hoog-niveauprogrammeertalen
Machinetaal1 Machinetaal2 Machinetaal3
Hardware 1
Hardware 2
Hardware 3
ca1-39
Platform
Toepassingsprogramma’s
Besturingssysteem
Machinetaal
Hardware
ca1-40
Porteren
Toepassingsprogramma’s
Hoog-niveauprogrammeertalen
porteren
OS 1
OS 2
Machinetaal 1
Hardware 1
Machinetaal 2
Hardware 2
Platform 1
Platform 2
ca1-41
Emulatie
Toepassingsprogramma’s
Hoog-niveauprogrammeertalen
Machinetaal 1
Emulatie
Machinetaal 2
Hardware
ca1-42
Java Virtuele Machine
Toepassingsprogramma
Java (java-files)
Java bytecode (class-files)
Java virtuele machine (JVM)
Interpreter (=vertolker)
Machinetaal
Hardware
ca1-43
Java Virtuele Machine
Toepassingsprogramma
Java (java-files)
Bytecodecompatibel
Java bytecode (class-files)
JVM 1
JVM 2
JVM 3
Machinetaal1 Machinetaal2 Machinetaal3
Hardware 1
Hardware 2
Hardware 3
ca1-44
Voorbeelden interpreters
•
•
•
•
•
•
•
•
•
Java virtuele machine
.NET
Visual Basic interpreter
Web-browser
Postscript interpreter
Pdf-interpreter
Perl interpreter
Lisp, Prolog
…
ca1-45
Overzicht
• Een beetje geschiedenis
• Het von Neumann model
– Logisch zicht
– Fysiek zicht
• Abstractieniveaus in computersystemen
• Architectuur vs. organisatie
• Hardwarecomponenten
ca1-46
Moederbord
ca1-47
Processor
ca1-48
Socket
ca1-49
Koeler
ca1-50
Warmtegeleiding
ca1-51
Chipset
Integreert verschillende
functies:
klokgenerator,
busregelaar, timer,
onderbrekingsregelaar,
DMA-regelaar, klok,
toetsenbordregelaar
ca1-52
Systeemarchitectuur
ca1-53
ca1-54
Geheugenmodules
ca1-55
Geheugemodules op het
moederbord
ca1-56
PCI-kaart (Peripheral
Component Interconnect)
ca1-57
PCI-slots
ca1-58
PCI express
ca1-59
PCI-Express slots
ca1-60
Harde schijf
ca1-61
EIDE (Enhanced Integrated
Device Electronics)
ca1-62
Harde schijf met EIDE
connector
ca1-63
Harde schijf met SATA
connector
ca1-64
Videokaart
NVIDIA GeForce 9800 GTX
ca1-65
Processorslot
Moederbord
Chip-set
PCI-slots
Geheugen
slots
IDE
SATA
ca1-66
Pauze
ca1-67
Download