ca1-1 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-2 Overzicht Een beetje geschiedenis Het von Neumann model –Logisch zicht –Fysiek zicht Abstractieniveaus in computersystemen Architectuur vs. organisatie Hardwarecomponenten
ca1-3 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-4 Algoritme Toestand Transformaties controle
ca1-5 Uitvoering van een algoritme controle transformaties toestand
ca1-6 Automatiseringsgeschiedenis Automatisering van de toestand: extern toestandsgeheugen –Vingers, keitjes, knoopjes –Telraam (13e eeuw; China) –geschreven symbolen Wolfsbeenderen 5000 v.C. Steentijdperk
ca1-7 Automatiseringsgeschiedenis Automatisering van de transformaties –Zeventiende eeuw –Rekenlat (1622) –Mechanische calculatoren 1642 sommen Blaise Pascal 1622 William Schickard 1673 producten Gotfried Leibniz
ca1-8 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-9 The difference engine Charles Babbage ( ) decimalen Eenvoudige wiskundige bewerkingen
ca1-10 The analytical engine Ada Lovelace ( ) Charles Babbage ( )
ca1-11 Automatiseringsgeschiedenis Echte doorbraak in de automatisering van de controle –Ontwikkelingen in de telefonie (begin 20e eeuw) –Konrad Zuse: eerste elektromechanisme computer: Z1 ( , 1989) –Mauchly & Eckert: eerste computer: ENIAC: Electronic Numerical Integrator And Computer (1946) –John von Neumann: eerste stored program computer: EDVAC (1949)
ca1-12 Z-1 ( ,1989-) Mechanisch Konrad Zuse ( ) 1 vermenigvuldiging = 5s
ca1-13 Z-3 (1941) met relais Deutsches Museum in München Vermenigvuldiging: 3s Eerste volwaardige elektromechanische computer Plankalkül (1945) Rekende binair
ca1-14 Harvard Mark I (1944) met relais IBM automatic sequence controlled calculator (ASCC) Howard Aiken ( ) "Only six electronic digital computers would be required to satisfy the computing needs of the entire United States." — Howard Aiken Optelling = 6s
ca1-15 Eerste bug: 9 september 1947 – Mark II
ca1-16 “I think there is a world market for maybe five computers” Thomas Watson ( ) IBM Chairman 1943
ca1-17 ENIAC : Electronic Numerical Integrator And Computer (14 feb 1946) MauchlyEckert 14 vermenigvuldigingen per s 23 m 2, 30 ton, buizen, 200 kW
ca1-18 "Computers in the future may weigh no more than 1.5 tons.“ — Popular Mechanics, 1949
ca1-19 Programmeren van de ENIAC
ca1-20 rekeneenheid programmagegevens computer geheugen Logisch zicht ENIAC Toestand Transformaties controle
ca1-21 Electronic Discrete Variable Automatic Computer John von Neumann ( ) 300 vermenigvuldigingen per s 1949 EDVAC
ca1-22 rekeneenheid programmagegevens computer geheugen Logisch zicht EDVAC Toestand Transformaties controle Het ontstaan van software
ca1-23 Overzicht Een beetje geschiedenis Het von Neumann model –Logisch zicht –Fysiek zicht Abstractieniveaus in computersystemen Architectuur vs. Organisatie Hardwarecomponenten
ca1-24 Von Neumann-machine Logisch zicht Geheugen R, S Controle klok instructies data O1 O2 ALU
ca1-25 Von Neumann-machine Fysiek zicht Invoer/Uitvoer Controle klok registers Geheugen CVE adres controle data ALU BUS cache
ca1-26 Overzicht Een beetje geschiedenis Het von Neumann model –Logisch zicht –Fysiek zicht Abstractieniveaus in computersystemen Architectuur vs. organisatie Hardwarecomponenten
ca1-27 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-28 Lagen Toepassingsprogramma’s Hoog-niveauprogrammeertalen Machinetaal Datapad + Controlepad RTL-niveau Poortnetwerken Transistors en verbindingen
ca1-29 Lagen Toepassingsprogramma’s Hoog-niveauprogrammeertalen Machinetaal Datapad + Controlepad RTL-niveau Poortnetwerken Transistors en verbindingen Door de programmeur Door codegeneratoren
ca1-30 Lagen Toepassingsprogramma’s Hoog-niveauprogrammeertalen Machinetaal Datapad + Controlepad RTL-niveau Poortnetwerken Transistors en verbindingen Door de compiler (= vertaler)
ca1-31 Lagen Toepassingsprogramma’s Hoog-niveauprogrammeertalen Machinetaal Datapad + Controlepad RTL-niveau Poortnetwerken Transistors en verbindingen Controle-eenheid
ca1-32 Lagen Toepassingsprogramma’s Hoog-niveauprogrammeertalen Machinetaal Datapad + Controlepad RTL-niveau Poortnetwerken Transistors en verbindingen Micro-architectuur
ca1-33 Lagen Toepassingsprogramma’s Hoog-niveauprogrammeertalen Machinetaal Datapad + Controlepad RTL-niveau Poortnetwerken Transistors en verbindingen VHDL-compiler (vhsic hardware description language)
ca1-34 Lagen Toepassingsprogramma’s Hoog-niveauprogrammeertalen Machinetaal Datapad + Controlepad RTL-niveau Poortnetwerken Transistors en verbindingen Chip-ontwerper Routing-software
ca1-35 Overzicht Een beetje geschiedenis Het von Neumann model –Logisch zicht –Fysiek zicht Abstractieniveaus in computersystemen Architectuur vs. organisatie Hardwarecomponenten
ca1-36 Lagen Toepassingsprogramma’s Hoog-niveauprogrammeertalen Machinetaal Datapad + Controlepad RTL-niveau Poortnetwerken Transistors en verbindingen Archi- tectuur Organi- satie
ca1-37 Organisatie Architectuur vs. Organisatie Organisatie 1 Organisatie 2 Organisatie 3 Architectuur Hardware/software interface “zichtbaar” “onzichtbaar” Architectuur 1 Architectuur 2
ca1-38 Compatibiliteit Toepassingsprogramma’s Hoog-niveauprogrammeertalen Machinetaal Hardware 1 Hardware 2 Hardware 3 Binaire compatibiliteit
ca1-39 Compatibiliteit Toepassingsprogramma’s Machinetaal1 Hardware 1 Hardware 2 Hardware 3 Machinetaal2 Machinetaal3 Broncodecompatibiliteit Hoog-niveauprogrammeertalen
ca1-40 Platform Machinetaal Hardware Besturingssysteem Toepassingsprogramma’s
ca1-41 porteren Porteren Toepassingsprogramma’s OS 1 Machinetaal 1 Hardware 1 OS 2 Machinetaal 2 Hardware 2 Hoog-niveauprogrammeertalen Platform 1Platform 2
ca1-42 Emulatie Toepassingsprogramma’s Machinetaal 1 Hardware Machinetaal 2 Hoog-niveauprogrammeertalen Emulatie
ca1-43 Java Virtuele Machine Toepassingsprogramma Java bytecode (class-files) Hardware Machinetaal Java (java-files) Java virtuele machine (JVM) Interpreter (=vertolker) Java virtuele machine (JVM) Interpreter (=vertolker)
ca1-44 Java Virtuele Machine Toepassingsprogramma Java (java-files) Machinetaal1 Hardware 1 Hardware 2 Hardware 3 Machinetaal2 Machinetaal3 JVM 1 JVM 2 JVM 3 Bytecodecompatibel Java bytecode (class-files)
ca1-45 Voorbeelden interpreters Java virtuele machine.NET Visual Basic interpreter Web-browser Postscript interpreter Pdf-interpreter Perl interpreter Lisp, Prolog …
ca1-46 Overzicht Een beetje geschiedenis Het von Neumann model –Logisch zicht –Fysiek zicht Abstractieniveaus in computersystemen Architectuur vs. organisatie Hardwarecomponenten
ca1-47 Moederbord
ca1-48 Processor
Socket ca1-49
ca1-50 Koeler
Warmtegeleiding ca1-51
ca1-52 Chipset Integreert verschillende functies: klokgenerator, busregelaar, timer, onderbrekingsregelaar, DMA-regelaar, klok, toetsenbordregelaar
Systeemarchitectuur ca1-53
ca1-54
ca1-55 Geheugenmodules
ca1-56 Geheugemodules op het moederbord
ca1-57 PCI -kaart (Peripheral Component Interconnect)
ca1-58 PCI-slots
ca1-59 PCI express
ca1-60 PCI-Express slots
ca1-61 Harde schijf
ca1-62 EIDE (Enhanced Integrated Device Electronics)
ca1-63 Harde schijf met EIDE connector
Harde schijf met SATA connector ca1-64
Videokaart ca1-65 NVIDIA GeForce 9800 GTX
ca1-66 Moederbord PCI-slots Chip-set Geheugen slots SATA IDE Processorslot
ca1-67 Pauze