Informatica. Deel II: les 4. geheugen abstractie - GUI Von Neumann. Jan Lemeire Informatica deel II februari mei Parallel Systems: Introduction

Vergelijkbare documenten
Informatica. Deel II & III: les 5. Von Neumann, basis- & slimme algoritmen. Jan Lemeire Informatica deel II & III februari mei 2015

Hoofdstuk 2. De Von Neumann-architectuur

Informatica. Deel II&III: les 4. geheugen set, stacks & queues - interfaces. Jan Lemeire Informatica deel II&III februari mei 2015

Informatica 2e semester

Informatica. 2 e semester: les 7. computerarchitectuur chips lineaire datastructuren. Jan Lemeire Informatica 2 e semester februari mei 2016

Informatica 2e semester

Waarmaken van Leibniz s droom

informatica. hardware. overzicht. moederbord CPU RAM GPU architectuur (vwo)

Informatica 2e semester

Een desktopcomputer kan uit de volgende onderdelen zijn opgebouwd:

De computer als processor

Informatica. Deel II: les 2. Leibniz - erven - digitaal. Jan Lemeire Informatica deel II februari mei Parallel Systems: Introduction

Informatica. Deel II & III: les 5. Basis- & slimme algoritmen. Jan Lemeire Informatica deel II & III februari mei Parallel Systems: Introduction

Informatica 2e semester

Informatica. Deel II: les 1. Java versus Python. Jan Lemeire Informatica deel II februari mei Parallel Systems: Introduction

Informatica 2e semester

Waarmaken van Leibniz s droom

Een desktopcomputer kan uit de volgende onderdelen zijn opgebouwd:

11/05/2015. Deel 1. Hardware en sporendragers. Hardware en sporendragers. Hardware en sporendragers. Hardware en sporendragers

Informatica 2e semester

Windows Basis - Herman Van den Borre 1

COMPUTERVAARDIGHEDEN EN PROGRAMMEREN

Microcontrollers Week 1 Introductie microcontroller Jesse op den Brouw INLMIC/

Informatica 2e semester

RAM geheugens. Jan Genoe KHLim. Situering RAM-geheugens. Geheugens. Halfgeleider Geheugens. Willekeurig toegankelijk geheugen

Theorie Informatica. Inhoud: 1. Systeem 2. Programmeren 3. Informatiesystemen 4. Internet 5. Besturingssystemen 6. Theorie bij praktijk

Informatica. Deel II: les 1. Java versus Python. Jan Lemeire Informatica deel II februari mei Parallel Systems: Introduction

Klas : 5 Industriële ICT Herhalingsvragen reeks 1 PC-techniek

Informatica 2e semester

Mediawijsheid wat zit er in mijn computer?

Verslag: Computer. Naam: Tyrone Ste Luce. Klas: M4B

-Een stukje geschiedenis van de PC (personal computer)

Informatica 2e semester

Digitale en analoge technieken

Harde schijven hebben tegenwoordig zelfs een capaciteit van 4 tot 15 gigabyte. Een gigabyte is 1024 megabyte.

Datatypes Een datatype is de sort van van een waarde van een variabele, veel gebruikte datatypes zijn: String, int, Bool, char en double.

IMP Uitwerking week 13

Informatica. Deel II&III: les 8. Software & binaire bomen. Jan Lemeire Informatica deel II&III februari mei Parallel Systems: Introduction

Naam: Oumaima Bekour Klas: M4b ICT De Lange. Hardware

public Paneel() { knop = new JButton( Klik ); knop.addactionlistener( new KnopHandler() ); tekstvak = new JTextField(10); add(knop); add(tekstvak);

Muziek. Muziek. Analoog rekenen. Hoofdstuk 1: Van analoog naar digitaal. Analoog. Digitaal. Analoog. Gebruik makend van fysische grootheden Cf Babbage

520JHKHXJHQV -DQ*HQRH.+/LP

COMMUNICATIE EN COMPUTER- VAARDIGHEDEN IN DE CHEMIE

2 Algemene opbouw van een computersysteem

computerarchitectuur antwoorden

Hoe werkt een rekenmachine?

Tentamen Computersystemen

Informatica. Deel II: les 3. Electronica Arrays. Jan Lemeire Informatica deel II februari mei Parallel Systems: Introduction

Python (gem=1,86) Java (gem=1,57) Enquete cursus informatica 1e bachelors oefeningen beter aansluiten bij project?

Objectgeorïenteerd werken is gebaseerd op de objecten die door het systeem gemanipuleerd worden.

ROM, het Read Only Memory, dat bestaat uit: - BIOS - CMOS RAM, het Random Acces Memory, ook wel het werkgeheugen genoemd.

De Arduino-microcontroller in de motorvoertuigentechniek (2)

Sequentiële Logica. Processoren 24 november 2014

Digitale technieken Microprocessoren

APPLICATIEBOUW 3E COLLEGE: OBJECT GEORIËNTEERD PROGRAMMEREN, METHODEN, PARAMETERS, SCOPE VAN VARIABELEN. Onderdeel van SmartProducts

7,3. Samenvatting door een scholier 1961 woorden 16 januari keer beoordeeld. Informatica Informatica actief

1 computers (hardware)

von-neumann-architectuur Opbouw van een CPU Processoren 1 december 2014

De AT90CAN microprocessor van ATMEL in de motorvoertuigentechniek (2)

Jen Kegels, Eveline De Wilde, Inge Platteaux, Tamara Van Marcke. Hardware. De computer in een oogopslag. 1 / 11 Cursusontwikkeling

Waarmaken van Leibniz s droom

Tentamen Object Georiënteerd Programmeren TI oktober 2014, Afdeling SCT, Faculteit EWI, TU Delft

Hardware vs. software. Computersystemen. Computersysteem. Computerconfiguratie. Computerconfiguratie. Computerconfiguratie

De sheets zijn gebaseerd op met name hoofdstuk. D. Bell en M. Parr, Java voor studenten, Prentice Hall,

Zelftest Programmeren in Java

Hardware. Robert Groen. Jim van Dijk. 13 september 2013 M44 ITTL

WINDOWS 8. Windows Training voor 50-plussers

computerarchitectuur F. Vonk versie


Modelleren en Programmeren

Kleine cursus PHP5. Auteur: Raymond Moesker

scc = b) CD AB

Modelleren en Programmeren

Hoofdstuk 9. Hashing

RCL Arduino Workshop 1

Overerving & Polymorfisme

Wat zien we in deze cursus

Vakgroep CW KAHO Sint-Lieven

Informatica. Deel II: les 3. Electronica Arrays. Jan Lemeire Informatica deel II februari mei Parallel Systems: Introduction

NAAM: Programmeren 1 Examen 29/08/2012

Computerarchitectuur en Netwerken. Computerarchitectuur

Informatica. Objectgeörienteerd leren programmeren. Van de theorie met BlueJ tot een spelletje met Greenfoot... Bert Van den Abbeele

De samenvatting van hoofdstuk 3 van enigma

Beginselen van programmeren Practicum 1 (Doolhof) : Oplossing

Abstracte klassen & Interfaces

Lt. Bruno de Ras Academiejaar Hardware Study

Geheugenbeheer. ICT Infrastructuren 2 december 2013

STAGEDAG SAM DIEPSTRATEN

Een topprogrammeur in het OO programmeren is Graig Larman. Hij bedacht de volgende zin:

Opgave Tussentijdse Oefeningen Jaarproject I Reeks 4: Lcd Interface & Files

voegtoe: eerst methode bevat gebruiken, alleen toevoegen als bevat() false is

Informatica 2e semester

Vergelijkende test Android PC s (TV Boxen)

Windows Training voor 50-plussers. PC50plus trainingen Eikbosserweg AK Hilversum tel:

Waarmaken van Leibniz s droom

Universiteit van Amsterdam FNWI. Voorbeeld van tussentoets Inleiding programmeren

Inhoudsopgave. Aradhana Gangadien

An Steegen over CMOS en beyond-cmos

Informatica. Deel II&III: les 2. Leibniz - erven - digitaal. Jan Lemeire Informatica deel II&III februari mei Parallel Systems: Introduction

Wat is een grafische gebruikersinterface (GUI)?

Transcriptie:

Informatica Deel II: les 4 geheugen abstractie - GUI Von Neumann Jan Lemeire Informatica deel II februari mei 2014 Parallel Systems: Introduction

Waarmaken van Leibniz s droom (10) Artificiële intelligentie (9) Communicatie & internet (8) Operating system (7) Computatietheorie & Software (6) Efficiënt productieproces (5) Hardware architectuur Electronica: (3) Relais -schakeling, (4) Geheugen (2) Digitaal & binair (1) Het idee Informatica deel III: technologie, historiek en economische aspecten

Hoofdstuk 4: Geheugen

Ponskaarten Beschrijven de programma s Informatica II: les 4 Jan Lemeire Pag. 4 / 66

Moderne ponskaart? Informatica II: les 4 Jan Lemeire Pag. 5 / 66

Magnetische banden zoals muziek- en videocassettes Informatica II: les 9 Jan Lemeire Pag. 6 / 66

Harde schijf Non-volatile, rotating magnetic storage Informatica II: les 4 Jan Lemeire Pag. 7 / 66

Flashgeheugen Non-volatile semiconductor storage 100 1000 faster than disk Smaller, lower power, more robust But more $/GB (between disk and DRAM) Informatica II: les 4 Jan Lemeire Pag. 8 / 66

Hoe electrisch maken? 1. Geleider 1. Weerstand 2. Spoel 3. Verbinden van componenten 2. Isolator (dielectric) 1. Condensator 2. Scheiden van componenten Informatica Extra II: les component 4 nodig Jan Lemeire Pag. 9 / 66

Transistor De spanning -V G bepaalt de geleidbaarheid van de halfgeleider (semiconductor) tussen Source en Drain Te gebruiken als versterker Te gebruiken als relais, voor binaire operaties halfgeleider halfgeleider Informatica II: les 9 Jan Lemeire Pag. 10 / 66

Hoe werkt Flashgeheugen? Electrische lading wordt bewaard in een ingekapselde geleider (de floating gate). 50.000 electronen zijn voldoende, duurt meer dan 10 jaar opdat deze gelekt zijn door de isolator De floating gate bepaalt geleidbaarheid van halfgeleider Control gate Floating gate halfgeleider Flashgeheugen bestaat uit een matrix van cellen Informatica II: les 9 Jan Lemeire Pag. 11 / 66

Op- of ontladen flash bit Op- of ontladen van floating gate gebeurt door isolator via tunneling (kwantum-mechanisch effect) Geactiveerd via hoge spanning op control gate opladen ontladen Floating gate Informatica II: les 9 Jan Lemeire Pag. 12 / 66

Permanent versus volatiel geheugen Permanent: eeuwigdurend Optisch: Ponskaarten en CDs Magnetisch: banden, diskettes en harde schijven Flash-geheugen Optisch & magnetisch enkel sequentieel leesbaar: je moet eerst doorspoelen naar de juiste positie Vluchtig of volatiel: electriciteit nodig om gegevens aktief te behouden Wordt gebruikt als werkgeheugen Random Access Memory (RAM): elke byte kan onmiddellijk gelezen worden, is direct toegankelijk Informatica II: les 4 Jan Lemeire Pag. 13 / 66

Lading bewaren: capaciteit Het geheugen dat de snelste transfer van bits van en naar de processor toelaat is dat type van geheugen waarbij elektrische schakelingen gebruikt worden, waarbij 1 of 0 wordt voorgesteld als de aanof afwezigheid van spanning over een geleider. Maar lading zal langzaam wegvloeien en lekken Informatica II: les 4 Jan Lemeire Pag. 14 / 66

Volatiel geheugen: refreshen! Waarde van geheugen hou je bij op een capaciteit, maar die lading vloeit weg regelmatig weer opladen! Dynamic Random Access Memory (DRAM): elke cel slaat 1 bit op en bestaat uit een capaciteit voor de bitwaarde te bewaren, en een transistor voor refreshen Static Random Access Memory (SRAM): een alternatief bestaande uit enkel transistors. SRAM is sneller, maar neemt meer plaats in en is duurder. Informatica II: les 4 Jan Lemeire Pag. 15 / 66

Werk- versus perifeer geheugen Werk- of primair geheugen: rechtsstreeks bruikbaar in je programma s Elk programma krijgt een deel van het geheugen toegewezen om in te werken Heeft electriciteit nodig, bestaat enkel als computer opstaat, is dus vluchtig of volatiel, dus niet voor het opslaan van permanente gegevens Perifeer of secundair geheugen: om gegevens permanent op te slaan Gebeurt via files Vanuit programma lees en schrijf je files Goedkoop, maar wel traag Informatica II: les 4 Jan Lemeire Pag. 16 / 66

Werkgeheugen: RAM DRAM-geheugenchips in te pluggen zijn in de DDR-slots van het moederbord Het cache geheugen (SRAM) is typisch in de CPU chip zelf ingebouwd en gebruikt hoge snelheidsconnecties zodanig dat de data erin opgeslagen extreem snel kan aangesproken worden. Het DRAM geheugen daarentegen is op afzonderlijke chips ondergebracht en communiceert met de CPU tegen een lagere snelheid. De data aanwezig in het DRAM-geheugen kan dus minder snel aangesproken worden dan de data in het cache geheugen, maar het DRAM-geheugen is veel goedkoper. Men zal daarom kostprijs tegenover performatie afwegen en een klein gedeelte (meestal uitgedrukt in kilobyte) cache geheugen voorzien voor de opslag van essentiële gegevens, terwijl men voor de overige gegevens RAM geheugen zal voorzien (meestal uitgedrukt in megabyte of gigabyte). Er is naast het RAM geheugen ook nog een beperkt gedeelte ROM (afkorting voor Read-only Memory) aanwezig. Read-Only-Memory (ROM) is geheugen waarvan de inhoud permanent is, het kan enkel gelezen worden en niet overschreven. Bovendien verdwijnt de inhoud van dit geheugen niet wanneer de stroom komt weg te vallen. Typisch wordt het ROM geheugen gebruikt om permanente programma's in te stockeren Informatica II: les 9 zoals deze die bv. nodig zijn wanneer de computer wordt aangezet. Jan Lemeire Pag. 17 / 66

Processorchip Dual core CPU chip met aanduiding in blauw van registers. Registers: zeer snel, klein geheugen voor het bijhouden van tussentijdse waarden van berekeningen. Het cache geheugen bevindt zich in het donkere linkergedeelte. Informatica II: les 4 Jan Lemeire Pag. 18 / 66

Capaciteit en energie Snelheid en kost Geheugenhiërarchie Registers kort bij processor Cachegeheugen (SRAM) Werkgeheugen (DRAM) Harde schijf of flash drive ver van processor Jan Lemeire Pag. 19 / 66

Snelheid versus kost Informatica II: les 4 Jan Lemeire Pag. 20 / 66

Hoe werkt Flash geheugen? 1. Geleider 1. Weerstand 2. Spoel 3. Verbinden van componenten 2. Isolator 1. condensator 3. Halfgeleider 1. Versterker: transistor 2. Flashgeheugen Informatica II: les 4 halfgeleider Jan Lemeire Pag. 21 / 66

Vandaag 1. Geheugen 2. Klasse-oefening 3. Abstractie: functies 4. Abstracte klasses 5. GUIs 6. Von Neumann-architectuur

Klasse-oefening

Abstractie: Functie

p. 49 Informatica II: les 3 Jan Lemeire Pag. 26 / 66

p. 51 Functie als object Informatica II: les 3 Jan Lemeire Pag. 27 / 66

Functie: iets abstracts Nulpunt zoeken via een Functie object De methode werkt immers voor alle functies Definiëren wat een functie is: Methode: double f(double x) Hiërarchie van functies Informatica II: les 3 Jan Lemeire Pag. 28 / 66

p. 2 Interfaces Je definieert ze als interface ipv klasse Informatica II: les 3 Jan Lemeire Pag. 29 / 66

public interface Functie { /** geeft functiewaarde in opgegeven punt */ double f(double x); } class Functie1 implements Functie{ public double f(double x) { return 2 *(x - 3); } } class Functie2 implements Functie{ public double f(double x) { return x * x + 12 *(x - 3); } } class Functie3 implements Functie{ public double f(double x) { return - x * x * x / 8 + x * x + 20 *(x - 3); } } p. 50 Informatica II: les 3 Jan Lemeire Pag. 30 / 66

Klasses Informatica II: les 3 Jan Lemeire Pag. 31 / 66

Gebruik Constructor: hier zonder parameters Default constructor: moet je niet definiëren Als je een andere constructor definieert, vervalt deze. Met de andere constructor geef je aan dat je parameters moet meegeven. Functie functie = new Functie2(); double nulpunt = vindnulpunt(a, b, functie); Informatica II: les 3 Jan Lemeire Pag. 32 / 66

Niet in cursus Extra klasses Informatica II: les 3 Jan Lemeire Pag. 33 / 66

class LineaireFunctie implements Functie{ Niet in cursus double m, q; public LineaireFunctie(double m, double q){ this.m = m; this.q = q; } public double f(double x) { return m * x + q; } } class KwadratischeFunctie implements Functie{ double a, b, c; public KwadratischeFunctie(double a, double b, double c){ this.a = a; this.b = b; this.c = c; } public double f(double x) { return a * x * x + b * x + c; } } Functie functie = new KwadratischeFunctie(1, 12, -36); double nulpunt = vindnulpunt(a, b, functie); Informatica II: les 3

Informatica II: les 3 Niet in cursus

Niet in cursus Functie met specifieke parameters class LineaireFunctie implements Functie{ double m, q; public LineaireFunctie(double m, double q){ this.m = m; this.q = q; } public double f(double x) { return m * x + q; } } class Functie1 extends LineaireFunctie{ Functie1(){ super(2, -6); } } Informatica II: les 4 Jan Lemeire Pag. 36 / 66

Niet in cursus class KwadratischeFunctie implements Functie{ double a, b, c; public KwadratischeFunctie(double a, double b, double c){ this.a = a; this.b = b; this.c = c; } public double f(double x) { return a * x * x + b * x + c; } } class Functie2 extends KwadratischeFunctie{ Functie2(){ super(1, 12, -36); } } Informatica II: les 3 Jan Lemeire Pag. 37 / 66

Abstracte klasses

Abstracte klasses en Interfaces p. 2 Tot hier regels van buiten kennen

Polymorfisme Figure Draw() Rectangle Draw() Triangle Draw() De methode is gedeclareerd in de abstracte basisklasse Ze is geïmplementeerd in de verschillende concrete subklasses Dit laat toe dat elke subklasse zijn eigen invulling aan de methode geeft Draw() is een polymorfe functie omdat ze gedefinieerd is in meer dan 1 klasse om hetzelfde doel te bekomen Informatica II: les 4 Jan Lemeire Pag. 42 / 66

Zonder Polymorfisme: Conditional logic Figure object Draw() Draw (string figure) { if figure= Triangle //draw Triangle else if figure= Rectangle //draw Rectangle } Meerdere if-else statements nodig (of swith statement) De oude, procedurele manier van werk Je moet je code veranderen om nieuw type toe te voegen Informatica II: les 4 //Modify Draw() if you add a new figure else if figure = Octagon //draw Octagon Jan Lemeire Pag. 43 / 66

Polymorfisme: gemakkelijke uitbreiding Figure Draw() Add new derived class Je voegt nieuwe klasses toe zonder iets aan de oorspronkelijke te moeten veranderen Rectangle Draw() Octagon Draw() Triangle Draw() Informatica II: les 4 Jan Lemeire Pag. 44 / 66

Graphical User Interface (GUI)

GUI GUI = Graphical User Interface Gebruiken van de java klasses van Swing Online documentatie Toont de kracht van object-georiënteerde talen Zie Encapsulatie Overerving (Inheritance) Abstractie/polymorphisme Informatica II: les 4 Jan Lemeire Pag. 46 / 66

Swing s klassehiërarchie Informatica II: les 4 Jan Lemeire Pag. 47 / 66

Informatica II: les 1 Boek p. 38, 39, 43

Informatica II: les 3

Boek p. 35

Boek p. 45-46

Tekenvoorbeeld Boek p. 69 en volgende public class TekenVoorbeeld extends JFrame { } public TekenVoorbeeld(){ setsize( 400, 200 ); setdefaultcloseoperation( JFrame.EXIT_ON_CLOSE ); settitle( "Voorbeeld 0301" ); setcontentpane( new Paneel() ); setvisible( true ); } public static void main( String args[] ) { JFrame frame = new TekenVoorbeeld(); } Informatica II: les 4 Jan Lemeire Pag. 53 / 66

class Paneel extends JPanel { private int a; private int b; private int antwoord; } public Paneel() { setbackground( Color.WHITE ); a = 174; b = 26; antwoord = a + b; } public void paintcomponent( Graphics g ) { super.paintcomponent( g ); // Zet de waarden van a, b en antwoord op het scherm: g.drawstring( "Overzicht van de berekening:", 40, 20 ); g.drawstring( "a = " + a, 40, 40 ); g.drawstring( "b = " + b, 40, 80 ); g.drawstring( "De som is: " + antwoord, 40, 120 ); g.filloval(40, 20, 10, 10); g.drawoval(40, 40, 10, 10); g.fillrect(40, 80, 10, 10); g.drawrect(40, 120, 10, 10); }

te for Advanced Studies, New Jersey, USA

Hoofdstuk 5: Computerarchitectuur

De ivoren toren van IAS Institute for Advanced Studies (IAS) Voor de grote denkers/wetenschappers, maar niet ingenieurs Op de schoot bij Einstein (op de foto met Gödel, Bekend logicus) Informatica II: les 4 Jan Lemeire Pag. 58 / 66

John Von Neumann wilt een computer bouwen beter dan de ENIAC John Von Neumann Dit is echter tegen de statuten van het IAS, waar je enkel betaald wordt om te denken, niet om experimenten uit te voeren of iets te bouwen. Mede Informatica door II: zijn les 4 warme persoonlijkheid en populariteit mocht hij er toch aan beginnen in één van de kelders. Jan Lemeire Pag. 59 / 66

Programmeren = draadjes versteken, oftewel de hardware veranderen Informatica II: les 4 Jan Lemeire Pag. 60 / 66

Von Neumann verbetert: 1. Stored-program computer Een programma beschrijft wat de machine moet doen Programma ook opslaan in het geheugen (de software) Is ook input van de computer en data 2. Een architectuur voor de logische opdeling van de centrale verwerkingseenheid: de "Central Processing Unit" of CPU. De CPU is het hart van de computer. 3. De instructies van het programma worden één voor één uitgevoerd Informatica II: les 4 Jan Lemeire Pag. 61 / 66

Waarmaken van Leibniz s droom (10) Artificiële intelligentie (9) Communicatie & internet (8) Operating system (7) Computatietheorie & Software (6) Efficiënt productieproces (5) Hardware architectuur Electronica: (3) Relais -schakeling, (4) Geheugen (2) Digitaal & binair (1) Het idee Informatica deel III: technologie, historiek en economische aspecten

De Von Neumann-architectuur Jan Lemeire Pag. 63 / 66

Programma = sequentie van instructies Elke processorcyclus: uitvoeren van 1 instructie Inwendig aangegeven door kloksignaal Klokfrekwentie bepaalt aantal instructies/second (bvb 4GHz) Interne verloop voltages kloksignaal Informatica II: les 4 Jan Lemeire Pag. 64 / 66

Von Neumann-elementen Input Interface: binnenkomende gegevens Voorbeelden: toetsenbord, muis, barcodelezer, internet, Sensoren laten toe fysische grootheden binnen het meetbereik van computers te brengen Vbn: camera s, fotocellen, bewegingssensoren (cf Ipad, WII),... Interrupt ( java-event) vertelt control unit dat er input is Output Interface: uitgaande gegevens Voorbeelden: scherm, printer, internet, kassa, Actuatoren geven aan computers de mogelijkheid rechtstreeks hun fysische omgeving te beïnvloeden Vbn: motoren, elketromagneten, verwarmingselementen,... Informatica II: les 4 Jan Lemeire Pag. 65 / 66

Von Neumann-elementen Data Memory: geheugencellen voor binaire getallen. Elke cel van 1 byte (8 bits) krijgt een adres. Program Memory: opslag van programma. In de praktijk: deel van datageheugen Vroeger: ponskaarten, Toegang tot datageheugen: tot elk vakje, gegevens onmiddellijk beschikbaar Geheugen is een soort van schoolbord (scratchpad) waar de tussenresultaten van de berekeningen worden bijgehouden Voor bewerking wordt data uitgelezen en na bewerking geof overschreven Informatica II: les 4 Jan Lemeire Pag. 66 / 66

Data- en programmageheugen In veel computers vindt men maar één enkel geheugen: het programma- en het gegevensgeheugen zijn fysisch samengesmolten. Beide gaan immers om het bijhouden van bytes, een programma is ook een collectie bytes. Deze samensmelting laat toe om met éénzelfde type van computer zowel grote programma's met maar weinig gegevens, als kleine programma's met veel gegevens te verwerken. Vanzelfsprekend blijven beide geheugens logisch gescheiden: de ene wordt enkel gebruikt voor data, de andere enkel voor het opslaan van het programma. Er wordt voor gezorgd dat er geen data in het programmagedeelte geschreven kan worden en omgekeerd. Dit zou namelijk de bestaande inhoud (verkeerdelijk) overschrijven. Informatica II: les 4 Jan Lemeire Pag. 67 / 66

Von Neumann-elementen Formaat van een rekeninstructie Rekeninstructies bestaan uit een code voor de operatie (OPC), de adressen van de operanden (OP1 & OP2) en het adres naar waar het resultaat (RES) geschreven moet worden Arithmetic Unit voert bewerkingen uit Op data van het geheugen Schrijft data terug naar het geheugen De ALU is het apparaat dat instaat voor de feitelijke verwerking van de informatie. Het is in staat rekenkundige bewerkingen uit te voeren, getallen te vergelijken, enz. De ALU krijgt de operanden (de te bewerken gegevens) uit het Informatica II: les 4 gegevensgeheugen en plaatst de resultaten van de bewerkingen er terug in. Jan Lemeire Pag. 68 / 66

Von Neumann-elementen Control unit houdt bij waar we zitten in het programma (Program Counter) for/while/methodes zorgen ervoor dat een deel van je programma meermaals uitgevoerd kan worden If maakt het mogelijk dat een deel niet uitgevoerd wordt De stuureenheid leest één voor één instructies uit het programmageheugen, decodeert ze en zendt de nodige stuursignalen naar de verschillende onderdelen van de computer om de uitvoering van de instructies te verzekeren. Zo wordt de operatie samen met de adressen van de operanden en het resultaat aan de ALU doorgegeven. De ALU leest de data uit het geheugen (adhv de opgegeven adressen), voert de berekening uit en schrijft Informatica II: les 4 het resultaat terug in het geheugen. Jan Lemeire Pag. 69 / 66

Niet in cursus Voorbeeld: de machten van x 1. Lees x van toetsenbord 2. Initialiseer macht m = x 3. Initialiseer teller t 4. Schrijf macht m 5. Verhoog macht: m = m * x 6. Verhoog teller: t = t + 1 7. Als macht m kleiner dan 1000 en teller t kleiner dan 20, spring naar lijn 4 Jan Lemeire Pag. 70 / 66

Niet in cursus Stap 1: laden van programma Jan Lemeire Pag. 71 / 66

Stap 2: lees toetsenbord 23 Jan Lemeire Pag. 72 / 66

Stap 3: initaliseer variabele Jan Lemeire Pag. 73 / 66

Stap 4: initaliseer variabele t Jan Lemeire Pag. 74 / 66

Stap 5: schrijf waarde Jan Lemeire Pag. 75 / 66

Stap 6: bereken product Jan Lemeire Pag. 76 / 66

Stap 7: verhoog teller Jan Lemeire Pag. 77 / 66

Stap 8: check condities Jan Lemeire Pag. 78 / 66

Herhaal stappen tot eindconditie Geheugen m = 7 ; t = 1 m = 49 ; t = 2 m = 343 ; t = 3 m = 2401 ; t = 4 m = 16807 ; t = 5 Op scherm 7 49 343 2401 Jan Lemeire Pag. 79 / 66