De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

Hardware en Software dr. Boris Rogge 16 oktober 2003.

Verwante presentaties


Presentatie over: "Hardware en Software dr. Boris Rogge 16 oktober 2003."— Transcript van de presentatie:

1 Hardware en Software dr. Boris Rogge 16 oktober 2003

2 Hardware Algemeen Overzicht

3 Hardware & Software -- Basisbegrippen
Overzicht Geschiedenis van de computer Bits en bytes Organisatie van een computersysteem Hardware op het Internet Vragen en discussie 19/09/2018 Hardware & Software -- Basisbegrippen

4 Mijlpalen in de computer-architectuur
Mechanische computers (…-’45) Elektronenbuizen (’45-’55) Transistoren (’55-’65) Geïntegreerde circuits (’65-’80) Personal Computers (’80-…) 19/09/2018 Hardware & Software -- Basisbegrippen

5 Enkele belangrijke namen
Pascal (1642): Mechanisch rekentoestel Babbage ( ): Concepten ! Difference Engine Analytical Engine Ontstaan IBM (1924) ENIAC (1946): Electronic Numerical Integrator and Computer Eerste volledig elektronische computer berekeningen per seconde Berekening ballistische trajecten 19/09/2018 Hardware & Software -- Basisbegrippen

6 Hardware & Software -- Basisbegrippen
Belangrijke data (II) Von Neumann Machine (1949) Eerste computer met magnetische tape Mogelijkheid om programma’s in te laden Ontwikkeling diverse programmeertalen in jaren 50-60 Ontstaan Intel (1964), Microsoft (1975) en Apple (1976) VLSI (1972): Very Large Scale Integration (> componenten) 19/09/2018 Hardware & Software -- Basisbegrippen

7 Very Large Scale Integration
Jaar Aantal transistoren 8088 (XT) 80286 (AT) 80386 DX 80486 DX Pentium Pentium II Pentium III 19/09/2018 Hardware & Software -- Basisbegrippen

8 Hardware & Software -- Basisbegrippen
Wet van Moore Aantal transistoren per chip verdubbelt elke 18 maand De wet is eveneens toepasbaar op andere parameters, zoals het computergeheugen, # instructies per seconde,... 19/09/2018 Hardware & Software -- Basisbegrippen

9 Hardware & Software -- Basisbegrippen
Binair talstelsel Het alfabet : 0 en 1 (bit) Bv.: Enkele bewerkingen 1 1 OF EN 19/09/2018 Hardware & Software -- Basisbegrippen

10 Hardware & Software -- Basisbegrippen
Voorstelling van getallen 8 bits samenvoegen  1 byte Bv.: / / / / / / Oorspronkelijke standaardeenheid binnen een computer Conversie: binair  decimaal Conversie: getal  alfabet (ASCII) 19/09/2018 Hardware & Software -- Basisbegrippen

11 Hardware & Software -- Basisbegrippen
Conversie: binair  decimaal 1000 100 10 1 Decimaal 1 6 9 100 + 60 + 9 Binair 128 64 32 16 8 4 2 1 1 1 1 1 128 + 32 + 8 + 1 = 169 19/09/2018 Hardware & Software -- Basisbegrippen

12 Hardware & Software -- Basisbegrippen
Conversie: decimaal  ASCII ... ... ... 65 A 66 B 67 C 68 D 69 E 70 F 71 G ... ... ... 19/09/2018 Hardware & Software -- Basisbegrippen

13 Hardware & Software -- Basisbegrippen
19/09/2018 Hardware & Software -- Basisbegrippen

14 Hardware & Software -- Basisbegrippen
Bits en Bytes 1 bit 1 byte 1 kilobyte 1 megabyte 1 gigabyte 1 of 0 8 bits 1024 bytes 1024 kbytes 1024 Mbytes 1 megabyte = bytes 1 gigabyte = bytes 19/09/2018 Hardware & Software -- Basisbegrippen

15 Organisatie van een computersysteem
Blokschema Centrale verwerkingseenheid De bus en het geheugen I/O of Input/Output Massa-opslag Printers Netwerkconnecties Seriële communicatie 19/09/2018 Hardware & Software -- Basisbegrippen

16 Hardware & Software -- Basisbegrippen
Blokschema 19/09/2018 Hardware & Software -- Basisbegrippen

17 Centrale verwerkingseenheid (CVE)
Bestaat uit verschillende delen: Controle-eenheid (CU) Reken-eenheid (ALU) Registers Caches Pinnen (communicatie) 19/09/2018 Hardware & Software -- Basisbegrippen

18 Hardware & Software -- Basisbegrippen
Blokschema Processor 19/09/2018 Hardware & Software -- Basisbegrippen

19 Hardware & Software -- Basisbegrippen
De Bus Verzameling parallelle draden Data- en Controlelijnen Verbindt alle interne onderdelen van een computersysteem Bepaalt mee de snelheid van een computersysteem 19/09/2018 Hardware & Software -- Basisbegrippen

20 Hardware & Software -- Basisbegrippen
De geheugenpiramide Essentieel voor de werking van computer Caches Registers Snelheid RAM Extern geheugen Hoeveelheid 19/09/2018 Hardware & Software -- Basisbegrippen

21 Hardware & Software -- Basisbegrippen
Het interne geheugen Caches Geheugen op de processor ROM : Read Only Memory Ingebakken in de chip Niet volatiel Nodig om systeem op te starten RAM : Random Access Memory Snel maar duur (relatief) Volatiel 19/09/2018 Hardware & Software -- Basisbegrippen

22 Fysische implementatie
19/09/2018 Hardware & Software -- Basisbegrippen

23 Hardware & Software -- Basisbegrippen
Nieuwe Technieken Gepijplijnde processoren Multimedia processoren met specifieke instructies voor video-toepassingen 3D-animaties (oa. games) spraakverwerking Meerdere processoren binnen eenzelfde computer Nieuwe bustechnieken 19/09/2018 Hardware & Software -- Basisbegrippen

24 Hardware & Software -- Basisbegrippen
I/O of Input/Output Interne I/O Hard disks Videokaarten Externe I/O (Randapparaten) Printers Interactieve I/O (toetsenbord/muis) Scherm Seriële communicatie Netwerkconnecties 19/09/2018 Hardware & Software -- Basisbegrippen

25 Het externe geheugen = opslagmedia
Harde schijf (grootte-orde 80 GB) goedkoop en grote opslagcapaciteit blijvend CD-ROM en DVD-ROM (grootte-orde 1 tot enkele GB) grote opslagcapaciteit Diskette station (< 1,44 MB) traag en beperkte opslagcapaciteit ZIP-drive (< 250 MB) sneller en medium opslagcapaciteit 19/09/2018 Hardware & Software -- Basisbegrippen

26 Hard disks : goniometrie
Spoor Sector Blok 19/09/2018 Hardware & Software -- Basisbegrippen

27 Hard disks : goniometrie
Schijven Koppen Aandrijfas 19/09/2018 Hardware & Software -- Basisbegrippen

28 Hardware & Software -- Basisbegrippen
Printers Karakterdrukkers Matrix printer Paginadrukkers Inkjet printer Laser printer 19/09/2018 Hardware & Software -- Basisbegrippen

29 Karakterdrukker: matrixprinter
19/09/2018 Hardware & Software -- Basisbegrippen

30 Inkjetprinter Relatief snel Betaalbaar voor kleur
Allround-toepassingen Thermisch Drop-On-Demand principe Verwarmings- element Technologie gebruikt in HP Deskjet, Epson Stylus 19/09/2018 Hardware & Software -- Basisbegrippen

31 Hardware & Software -- Basisbegrippen
Laserprinter Snel Hoge kwaliteit Bureau-toepassingen Spiegel Laser Roterende trommel Toner Warme rollen Invoer Uitvoer 19/09/2018 Hardware & Software -- Basisbegrippen

32 Hardware & Software -- Basisbegrippen
Seriële Communicatie ‘Trage’ verbinding met de ‘buitenwereld’ RS-232 USB (Universal Serial Bus) Verschillende toepassingen Muisbesturing Synchronisatie handheld devices Modem (modulator/demodulator) verbinding tussen computers over een telefoonlijn snelheid uitgedrukt in baud  bits/seconde 19/09/2018 Hardware & Software -- Basisbegrippen

33 Seriële communicatie (voorbeeld)
19/09/2018 Hardware & Software -- Basisbegrippen

34 Hardware & Software -- Basisbegrippen
Netwerkconnecties LAN : Local Area Network Communicatie via netwerkkaart Netwerk dat zich op één lokatie bevindt WAN : Wide Area Network Netwerk dat zich over verschillende lokaties uitstrekt (verbindt verschillende LAN’s) Communicatie via modem of huurlijn (leased line) Stijgende interesse dankzij het Internet 19/09/2018 Hardware & Software -- Basisbegrippen

35 Soorten netwerkimplementaties
Coax-netwerken (ringvormig) Gangbare snelheden 10 Mbits UTP-netwerken (stervormig) UTP = Unshielded Twisted Pair Snelheden van 10 en/of 100 Mbits basis voor huidige netwerken in bedrijven Glasvezelnetwerken Snelheden van orde Gbits 19/09/2018 Hardware & Software -- Basisbegrippen

36 Hardware & Software -- Basisbegrippen
Coax-netwerk (ring) 19/09/2018 Hardware & Software -- Basisbegrippen

37 Hardware & Software -- Basisbegrippen
UTP-netwerk (ster) 19/09/2018 Hardware & Software -- Basisbegrippen

38 Hardware & Software -- Basisbegrippen
Besluit Hardware kent een erg snelle evolutie Wet van Moore wordt nog steeds gerespecteerd Netwerken 19/09/2018 Hardware & Software -- Basisbegrippen

39 Software Algemeen Overzicht

40 Hardware & Software -- Basisbegrippen
Overzicht Basisbegrippen De taal van de computer Soorten programmeertalen Het programmeren De software Besluit 19/09/2018 Hardware & Software -- Basisbegrippen

41 Hardware & Software -- Basisbegrippen
Algoritme Automaat Computer Programma & programmeren 19/09/2018 Hardware & Software -- Basisbegrippen

42 Hardware & Software -- Basisbegrippen
Algoritme Een algoritme is de combinatie van datastructuren en acties, die in een eindig aantal bewerkingen het gestelde probleem oplost, of melding maakt van het falen ervan. Algoritme ruwe informatie nuttige informatie 19/09/2018 Hardware & Software -- Basisbegrippen

43 Hardware & Software -- Basisbegrippen
Automaat Een automaat is een vaste implementatie van een algoritme. De realisatie van één operatie. Een machine geconcipieerd en gerealiseerd voor één opdracht. Hoe ingewikkeld die opdracht ook moge zijn. 19/09/2018 Hardware & Software -- Basisbegrippen

44 Hardware & Software -- Basisbegrippen
Computer Een machine die in staat is, onder beheer van een programma, zich zo te configureren dat elke willekeurige, maar correct definieerbare operatie kan worden uitgevoerd. 19/09/2018 Hardware & Software -- Basisbegrippen

45 Hardware & Software -- Basisbegrippen
Programma Een programma is een computer- implementatie van een algoritme.  Programmeren : het vertalen van de datastructuren en de acties van het algoritme in een taal die verstaanbaar is voor de computer. 19/09/2018 Hardware & Software -- Basisbegrippen

46 Hardware & Software -- Basisbegrippen
De taal van de computer Binair talstelsel Voorstelling van getallen Voorstelling van letters en symbolen 19/09/2018 Hardware & Software -- Basisbegrippen

47 Hardware & Software -- Basisbegrippen
Binair talstelsel Het alfabet : 0 en 1 (bit) Bv.: Enkele bewerkingen 1 1 OF EN 19/09/2018 Hardware & Software -- Basisbegrippen

48 Hardware & Software -- Basisbegrippen
Voorstelling van getallen 8 bits samenvoegen  1 byte Bv.: / / / / / / Oorspronkelijke standaardeenheid binnen een computer Conversie: binair  decimaal Conversie: getal  alfabet (ASCII) 19/09/2018 Hardware & Software -- Basisbegrippen

49 Hardware & Software -- Basisbegrippen
Conversie: binair  decimaal 1000 100 10 1 Decimaal 1 6 9 100 + 60 + 9 Binair 128 64 32 16 8 4 2 1 1 1 1 1 128 + 32 + 8 + 1 = 169 19/09/2018 Hardware & Software -- Basisbegrippen

50 Hardware & Software -- Basisbegrippen
Conversie: decimaal  ASCII ... ... ... 65 A 66 B 67 C 68 D 69 E 70 F 71 G ... ... ... 19/09/2018 Hardware & Software -- Basisbegrippen

51 Hardware & Software -- Basisbegrippen
Programmeertalen Doel van een programmeertaal Soorten programmeertalen Machinetaal (1GL) Assembler (2GL) Hogere programmeertalen (3GL) Vierde generatietalen (4GL) Vijfde generatietalen (5GL) 19/09/2018 Hardware & Software -- Basisbegrippen

52 Hardware & Software -- Basisbegrippen
Probleemgerichte taal 5 Vertaling (compiler) Assembleertaal 4 Vertaling (assembler) Besturings- systeemmachine 3 Gedeeltelijke interpretatie Conventionele machine 2 Interpretatie (microprogramma) Microprogamma 1 Microprogramma door hardware uitgevoerd (Niet echt een programma) Digitale logica 19/09/2018 Hardware & Software -- Basisbegrippen

53 Hardware & Software -- Basisbegrippen
Doel v/e programmeertaal Algoritme vertalen in een door de computer verstaanbaar formaat Heeft een grammatica Heeft een semantiek Meerniveausmachine Moderne computers worden logisch voorgesteld door verschillende niveaus om de complexiteit beheersen 19/09/2018 Hardware & Software -- Basisbegrippen

54 Hardware & Software -- Basisbegrippen
Machinetaal Laagste niveau Zeer moeilijk door mensen te lezen en schrijven Makkelijk en snel door de computer te interpreteren Vb. : 19/09/2018 Hardware & Software -- Basisbegrippen

55 Hardware & Software -- Basisbegrippen
Assembler Niveau net boven machinetaal Beter verstaanbaar voor de specialist (gebruik van symbolen) Geeft een grote controle over de computer (belangrijk voor snelheid) Voorbeeld instructie ADD 10, R1 MOVE R1, R2 19/09/2018 Hardware & Software -- Basisbegrippen

56 Hardware & Software -- Basisbegrippen
Hogere programmeertalen Talen met een hoog abstractie niveau Goed verstaanbaar voor de programmeur Elke taal heeft zijn eigen sterke en zwakke punten. Bijgevolg zijn ze meer of minder geschikt voor een bepaalde toepassingen C/C++, Pascal, Fortran, JAVA, ... 19/09/2018 Hardware & Software -- Basisbegrippen

57 Hardware & Software -- Basisbegrippen
Vierde generatietalen Eerder een verzameling van hulpmiddelen dan een gestructureerde taal Gericht op de eindgebruiker en zijn problemen Ondersteund door programmageneratoren 19/09/2018 Hardware & Software -- Basisbegrippen

58 Hardware & Software -- Basisbegrippen
Vijfde generatietalen Talen die worden gebruikt binnen het domein van de artificiële intelligentie en expertsystemen Niet procedurale talen Beschrijvende talen Prolog, Lisp, Huskel, ... 19/09/2018 Hardware & Software -- Basisbegrippen

59 Hardware & Software -- Basisbegrippen
Programmeren Wat is programmeren ? Stappen bij het ontwikkelen van een programma Compileren en Interpreteren Gebruik van bibliotheken Foutvrij maken van een programma Verschillende manieren van programmeren 19/09/2018 Hardware & Software -- Basisbegrippen

60 Hardware & Software -- Basisbegrippen
Wat is programmeren ? Een algoritme uitdrukken in een programmeertaal Acties op een logische manier ordenen zodat het beoogde resultaat bereikt wordt Datastructuren voorzien waarin gegevens zullen worden opgeslagen 19/09/2018 Hardware & Software -- Basisbegrippen

61 Hardware & Software -- Basisbegrippen
Opeenvolgende stappen Probleemstelling gebruiker Analyse van het probleem Ontwikkelen van een algoritme Ontwerp van een programma Implementatie van de programma Testen van het programma Feedback van de gebruiker 19/09/2018 Hardware & Software -- Basisbegrippen

62 Hardware & Software -- Basisbegrippen
Compileren for(i=0;i<10;i++) { printf(“Hallo”) } Programma code Compiler (omzetten van het code naar machinetaal) Uitvoerbaar programma Programma uitvoeren Vb.: C, C++, Pascal, JAVA, VB, ... 19/09/2018 Hardware & Software -- Basisbegrippen

63 Hardware & Software -- Basisbegrippen
Interpreteren for(i=0;i<10;i++) { printf(“Hallo”) } Programma code Interpreter (omzetten van het code naar machinetaal) Programma uitvoeren Vb.: Basic, Visual Basic, Scripting talen 19/09/2018 Hardware & Software -- Basisbegrippen

64 Hybride taal (JAVA) for(i=0;i<10;i++) Programma code {
printf(“Hallo”) } Programma code Compileren (omzetten van het programma naar bytecode) BYTEC 1 BYTEC 2 BYTEC 3 BYTEC 4 Virtuele machine Interpreteren (omzetten van de bytecode naar machinecode) Programma uitvoeren 19/09/2018 Hardware & Software -- Basisbegrippen

65 Hardware & Software -- Basisbegrippen
Bibliotheken (linken) Programma code Gebruik maken van delen van een ander programma Compiler (omzetten van het code naar machinetaal) Intermediar bestand Bibliotheek Dynamisch Statisch Linker Uitvoerbaar programma 19/09/2018 Hardware & Software -- Basisbegrippen

66 Hardware & Software -- Basisbegrippen
Debuggen Het foutvrij maken van een programma Het verwijderen van logische fouten uit een programma Herkent geen syntactische fouten Vaak een moeilijk en tijdrovend proces 19/09/2018 Hardware & Software -- Basisbegrippen

67 Hardware & Software -- Basisbegrippen
Proceduraal  OO String vb = “voorbeeld” …. toupper(vb); toupper(string aString) { l = lengte(aString); for i=0 to i<l aString[i] = H(aString[i]) } String vb = “voorbeeld” …. vb.toupper() string::toupper() { l = lengte(); for i=0 to i<l aString[i] = H(aString[i]) } 19/09/2018 Hardware & Software -- Basisbegrippen

68 Hardware & Software -- Basisbegrippen
Bronbestanden en uitvoerbare bestanden Programma, software en automatisering Systeemsoftware Applicatiesoftware Device-Drivers 19/09/2018 Hardware & Software -- Basisbegrippen

69 Hardware & Software -- Basisbegrippen
Source en object code Bronbestanden: het programma zoals het door de programmeur werd geschreven (source code) Uitvoerbare bestanden: gecompileerde versie van de bronbestanden (binaire vorm) (object code) 19/09/2018 Hardware & Software -- Basisbegrippen

70 Hardware & Software -- Basisbegrippen
Enkele definities Programma: reeks van instructies die door de computer dienen verwerkt te worden Software: verzamelnaam voor alle programma’s is software Automatisering: Een volledig proces om tot de uitvoering van een bepaalde activiteit te komen 19/09/2018 Hardware & Software -- Basisbegrippen

71 Hardware & Software -- Basisbegrippen
Systeemsoftware Besturingssysteem: verzorgt de basisfuncties gedeelte systeemprogrammatuur stuurprogramma’s command processor Biedt een aantal diensten aan applicatiesoftware Zorgt ervoor dat de computer bruikbaar wordt 19/09/2018 Hardware & Software -- Basisbegrippen

72 Hardware & Software -- Basisbegrippen
Eigenschappen OS Single/Multi tasking Single/multi user Realtime Grafische interface Commandolijn Vb: MSDOS, UNIX, Windows, LINUX, MACINTOSH 19/09/2018 Hardware & Software -- Basisbegrippen

73 Hardware & Software -- Basisbegrippen
Tussenlaag: drivers Vormen de interface tussen de software en de hardware Erg gespecialiseerde vorm van software Deze software leunt erg dicht aan bij de hardware Specificatie van de hardware nodig om te kunnen implementeren 19/09/2018 Hardware & Software -- Basisbegrippen

74 Hardware & Software -- Basisbegrippen
Applicatie-software Applicaties ontworpen om een specifiek probleem op te lossen tekstverwerker spreadsheet databank internetbrowser standaardoplossingen  maatwerk 19/09/2018 Hardware & Software -- Basisbegrippen

75 Hardware & Software -- Basisbegrippen
Kan software foutloos ? Volgende tabel beschrijft de fout-frequentie bij ervaren programmeurs Project grootte Aantal fouten per lijnen <2K 0-25 2K-16K 0-40 16K-64K 0.5-50 64K-512K 2-70 512K of meer 4-100 19/09/2018 Hardware & Software -- Basisbegrippen

76 Hardware & Software -- Basisbegrippen
Productiviteit Kan een software pakket op tijd worden afgeleverd? Project grootte Aantal lijnen code per maand <2K 2K-16K 16K-64K 64K-512K 67-500 512K of meer 36-250 19/09/2018 Hardware & Software -- Basisbegrippen

77 Hardware & Software -- Basisbegrippen
Besluit Complex samenspel van verschillende factoren besturingssysteem en applicatiesoftware besturingssysteem en hardware (randapparaten) applicatiesoftware onderling Tijdsintensief proces om “foutloze” software te ontwikkelen 19/09/2018 Hardware & Software -- Basisbegrippen


Download ppt "Hardware en Software dr. Boris Rogge 16 oktober 2003."

Verwante presentaties


Ads door Google