Inhoud 1 Wat houdt dit boek in? 2 Voor wie is dit boek bestemd? 3 Welke vooropleiding wordt de student geacht te hebben? 4 Leerdoelen 5 Opbouw van de leerstof 6 Inzet in het onderwijs 6.1 Zelfstudie 6.2 Mogelijkheden bij verschillende leermethoden 6.3 Flexibiliteit 6.4 Aanbevolen methode voor het huidige, meer competentiegerichte onderwijs 7 FAQ s Copyright Wolters-Noordhoff 2001 1
1 Wat houdt dit boek in? Het boek dient verschillende doelen. 1 Het geeft een tamelijk volledig beeld van de techniek die ten grondslag ligt aan de werking van de computer. 2 Het introduceert en verklaart een groot aantal begrippen, kernwoorden en acroniemen zoals die in de computertechniek en daaraan rakende vakgebieden gebruikt worden. 3 Het schetst de de samenhang van en geeft een inleiding in vakgebieden als Digitale techniek, Computerarchitectuur, Operating systems, Programmeren en Datacommunicatie. Waar gaat dit boek niet over? Dit boek is niet specifiek en gaat daarom alleen in op algemene technieken. Specifieke eigenschappen van programma's zoals u die nodig hebt om met een bepaald merk computer of een bepaalde applicatie te gaan werken staan er dus niet in. Computervaardigheden zoals in het ECDL omschreven worden maken dus geen deel uit van dit boek! 2 Voor wie is dit boek bestemd? Het boek is bestemd voor het eerste en/of tweede leerjaar van het Hoger Beroepsonderwijs. In de eerste instantie is het geschreven om gebruikt te worden bij de opleidingen Bedrijfskundige en Hogere Informatica: HIO, BI en I&I. Ook bij opleidingen in andere technische richtingen waar men zich niet tevreden stelt met het gebruik van de computers maar precies wil weten hoe het werkt is het bruikbaar. Ik denk hierbij aan de AOT, Technische Natuurkunde en het Hoger Labaratoriumonderwijs. Bij Elektrotechniek en Technische Computerkunde kan het in het eerste leerjaar gebruikt worden. Wanneer later de verschillende vakgebieden worden uitgediept, is een groot aantal basisbegrippen en de onderlinge samenhang al bekend. 3 Welke vooropleiding wordt de student geacht te hebben? In principe is geen vooropleiding noodzakelijk, maar wat wel helpt is: enig technisch inzicht (niet meer dan voor een BI-student noodzakelijk is), een algemene interesse hebben voor de werking van apparaten, toegang hebben tot een computer zodat een aantal aspecten van het geleerde teruggevonden kan worden en getoetst. het verworven hebben, dan wel tegelijkertijd verwerven, van inleidende computervaardigheden zoals bijvoorbeeld het ECDL (European Computer Driver Licence) of gedeelten daarvan.. Leerdoelen Na bestudering heeft de student: een helder inzicht verkregen in de werking van een computer, voldoende kennis van woorden en uitdrukkingen om de meeste artikelen op het gebied van computerarchitectuur te kunnen lezen, voldoende kennis om een zinnig gesprek te kunnen voeren met specialisten op de verschillende deelgebieden, Computers, organisatie - architectuur - communicatie, docentenhandleiding 2
voldoende kennis om het grootste deel van de technische gegevens van computers en computersystemen te begrijpen en op hun waarde te schatten, en weet hij of zij wat vakgebieden als digitale techniek, systeemontwerp, computerarchitectuur, datacommunicatie, programmeren en operating systems inhouden en hoe deze onderling samenhangen. 5 Opbouw van de leerstof De computer wordt beschouwd als een gelaagd systeem (figuur 1). Na een inleiding over codering in hoofdstuk 1 worden de verschillende lagen "bottom up" behandeld. Van iedere laag wordt juist voldoende behandeld om de bouwstenen voor de volgende laag duidelijk te laten worden. Application High level language Assembly language Operating system Machinecode Microcode Digitale logica Figuur 1. Conceptuele lagen van het computersysteem Hoofdstuk 2 gaat over de digitale logica met daarbij de belangrijkste schakelingen die bij computers gebruikt worden. Op de organisatie van het geheugen wordt uitgebreid ingegaan, als voorbereiding voor de verklaring van de werking van de CPU. Hoofdstuk 3 behandelt de processor, op microcode- en machinecodeniveau. Als voorbeeldprocessor dient hier de ZEP1, de 'Zeer Eenvoudige Processor', die opgebouwd is uit de in de vorige paragraaf behandelde componenten. In het eerste deel van het hoofdstuk wordt de interne werking van de processor behandeld; in het tweede wordt een inleiding gegeven in de opbouw en de werking van machine-instructies. In het derde deel komen I/O-schakelingen en de interruptafhandeling aan de orde. Hoofdstuk 4 gaat over randapparatuur. Harde en zachte schijven, printers, scanners, CRT- en LCD- schermen zijn hier het belangrijkste onderwerp. Hier krijgt Copyright Wolters-Noordhoff 2001 3
de computer 'handen en voeten' en wordt duidelijk welke zaken het operating system heeft af te handelen. Hoofdstuk 5 behandelt het operating system. Als eerste wordt ingegaan op de gelaagdheid van het computersysteem (dit wordt pas in dit hoofdstuk gedaan, om de student eerst de gelegenheid te geven voldoende achtergrond op te doen). Vervolgens wordt ingegaan op de geschiedenis van de computer en de functies die in de opeenvolgende generaties door het operating system verricht moesten worden. Daarna komen de eigenschappen van een modern OS aan de orde. Hoofdstuk 6 gaat in op programmeertalen. Na de principiële werking van assemblers, compilers en interpreters worden voorbeelden gegeven van verschillende programmeertalen, van Fortran tot Java, om de ontwikkeling van de talen en de verschillende concepten die er aan ten grondslag liggen te overzien. Hoofdstuk 7 behandelt moderne computerarchitecturen en parallelle systemen. Hierbij wordt ingegaan op de manier waarop de huidige processor probeert tegemoet te komen aan de alsmaar toenemende eisen die aan de snelheid worden gesteld. Hoofdstuk 8 geeft een overzicht van datacommunicatie en de computernetwerken die daarvan het resultaat zijn. Dit hoofdstuk staat in zekere zin op zichzelf, maar maakt wel gebruik van de terminologie die in eerdere hoofdstukken gedefinieerd is. Ook hier is een van de belangrijkste concepten de conceptuele gelaagdheid die nodig is om systemen met elkaar te laten werken. Het OSI-model, TCP-IP en het Internet komen hierbij aan de orde. Hoofdstuk 9 ten slotte geeft de antwoorden op alle vragen. 6 Inzet in het onderwijs 6.1 Zelfstudie De stof is zodanig beschreven dat de student deze in principe zelf kan bestuderen. Inleidingen van de docent lijken echter erg nuttig, vooral bij de eerste drie hoofdstukken, waar begrippen en concepten behandeld worden die voor sommige studenten volstrekt nieuw zullen zijn. Omdat in de huidige, meer competentiegerichte curricula minder colleges worden gegeven en meer van de student zelf gevraagd wordt, is in de derde druk van het boek aan ieder hoofdstuk een lijst met kernbegrippen toegevoegd die door de student als een soort repertitorium gebruikt kunnen worden. Om die reden zijn ook de antwoorden van alle opgaven opgenomen. 6.2 Mogelijkheden bij verschillende leermethoden Het boek is in het verleden op verschillende manieren gebruikt: 1 Als uitgebreid collegediktaat. De docent behandelt in min of meer interactieve colleges de stof. Studenten krijgen opdrachten mee naar huis. Aan het eind van het blok wordt tentamen gehouden. De stof van de eerste zeven hoofdstukken wordt het best verdeeld over 2 blokken van respectievelijk 60 en 40 SBU. Computers, organisatie - architectuur - communicatie, docentenhandleiding 4
Deze manier van werken kan nog steeds voor bepaalde groepen studenten geschikt zijn. De volgende tabel geeft een indicatie voor wat betreft het aantal colleges en het aantal studentbelastingsuren (SBU). Een college wordt geacht 45 minuten te duren. De stof wordt verdeeld geacht te zijn in drie modules: A, B en C. Hoofdstuk Colleges SBU SBU cumulatief Modules A1 6 12 12 A2 6 12 24 A3 12 32 56 60 (inclusief tentamen) (24) B4 4 8 8 B5 6 15 23 B6 4 8 31 B7 2 5 36 40 (inclusief tentamen) (16) C8 12 36 36 40 (inclusief tentamen) Het laatste hoofdstuk is een module op zichzelf. Deze kan worden worden uitgebreid met een aantal zoekopdrachten op Internet: de in dit hoofdstuk behandelde thema s zijn in overvloed te vinden en het gebruik van een browser past geheel bij de behandelde stof. 2 Als achtergrondinformatie bij opdrachten die in het kader van project- en probleemgeoriënteerd onderwijs aan de studenten worden verstrekt. Omdat de methode er wel vanuit gaat dat de eerste drie hoofdstukken in volgorde doorlopen worden, is het van belang de opdrachten hiervoor kleinschalig en zo mogelijk gesloten te houden. Bij hoofdstuk 3 kan de ZEP2-simulator op verschillende manieren voor dit doel worden ingezet. Het zelf ontwerpen van een enkele machine-instructie en een programma van enkele regels in assembler dwingen de student alle fasen van de processoropbouw te doorlopen. Vanaf hoofdstuk 4 zijn opdrachten mogelijk met een meer open karakter en kan de volgorde zonodig worden veranderd. De in tabel 1 genoemde SBU-tijden moeten uiteraard worden aangepast wanneer de opdrachten hiertoe aanleiding geven. 6.3 Flexibiliteit Hoofdstuk 1 tot en met 3 kunnen het best opeenvolgend worden doorlopen. Daarop volgende hoofdstukken kunnen een verschillende volgorde hebben wanneer dat in het curriculum past. Wanneer de verdeling in modules van de vorige paragraaf wordt gehanteerd, ontstaan de mogelijkheden zoals in figuur 2 geschetst. In principe kan met hoofdstuk 8 zelfs al begonnen worden na hoofdstuk 1, maar dit wordt niet aanbevolen. De totale verwerkingstijd moet verder niet te kort worden genomen in verband met de verwerkingstijd die nodig is bij het zich eigen maken van de verschillende concepten in het boek. Copyright Wolters-Noordhoff 2001 5
A1 A2 A3 A1 A2 A3 A1 A2 A3 B4 B5 B6 B7 B4 B5 B6 B7 C8 B4, B5, B6, B7 C8 C8 Figuur 2: Verschillende doorloopmogelijkheden 6.4 Aanbevolen methode voor het huidige, meer competentiegerichte onderwijs Hierna worden enkele voorbeelden genoemd van opdrachten die de studenten kunnen meekrijgen naar aanleiding van de verschillende onderwerpen in de opeenvolgende hoofdstukken. Het hoeft geen betoog dat deze opdrachten moeten aansluiten bij de soort opleiding, het curriculum, de fase van het curriculum waarin de studenten verkeren, enzovoort. Ik noem hier voorbeelden zoals ik ze bij HI en BI heb toegepast. Doe hoofdstuk 1 en 2 aan de hand van enkele colleges en kleine, gerichte opdrachten van het type zoals de opgaven in het boek zelf. Geef vervolgens een inleiding over hoofdstuk 3 en geef de studenten enkele opdrachten met de ZEP2-simulator. Sluit hoofdstuk 1 t/m 3 af met een tentamen om te zorgen dat alle studenten in ieder geval de basisbegrippen kennen. Laat de studenten hoofdstuk 4 zelf doorlezen en geef ze, al dan niet groepsgewijs, een opdracht een bepaalde soort randapparaat te onderzoeken. Het verslagje moet ten minste vermelden welke soort interface dat met de computer heeft, welke soort opdrachten heen en weer gaan, welke standaarden ervoor bestaan, hoe de mechanische werking is, wat de nieuwste ontwikkelingen zijn (op Internet zoeken), enzovoort. Hoofdstuk 5: Deze zou aan de hand van een opdracht in de vorm van een case kunnen worden doorgenomen. Gegeven een computer en wat relevante (en eventueel niet-relevante!) technische data, gegeven een aantal gevraagde functionaliteiten: welke zijn de eigenschappen die het operating system moet vertonen? Hierbij moeten keuzen worden gemaakt op het gebied van geheugenindeling en virtueel geheugen, multi-procesen multi-user-faciliteiten, spooling en dergelijke. Een korte inleiding in bijvoorbeeld UNIX en een middagje practische oefening zijn ook mogelijkheden die aansluiten bij het onderwerp. Computers, organisatie - architectuur - communicatie, docentenhandleiding 6
Hoofdstuk 6: Laat de student een taalvoorbeeld uit het boek kiezen en aan de rest van de groep uitleggen hoe het programma werkt. Afhankelijk van de facilititeiten en de soort opleiding kan hier ook een mini-cursus in één van de hogere programmeertalen gegeven worden. Een assemblerprogrammaatje kan met de ZEP2-simulator worden gemaakt. Hoofdstuk 7: de student kan op Internet de gegevens van de nieuwste processoren opzoeken en de daarbij gebruikte terminologie verklaren. Hoofdstuk 8. Deze heb ik in het verleden wel vergezeld laten gaan van enkele lezingen van mensen van buiten die vertelden over verschillende soorten specifieke netwerken. Ook zijn opdrachten mogelijk op het gebied van computernetwerken en datacommunicatie, die via Internet eenvoudig beantwoord kunnen worden. Afhankelijk van de eigen configuratie en de medewerking die de helpdesk wil leveren, vormt de opdracht om het computernetwerk van het instituut zelf in kaart te brengen meestal ook een goed aanknopingspunt. Als het zelf opzetten van een eenvoudig netwerkje tot de mogelijkheden behoort is dit een goede praktijkoefening, afhankelijk van wat verder in het leerplan van de opleiding is opgenomen. Ook een korte inleiding in, en een middag praktijk met, een netwerk operating system als Novell kan worden toegepast. Wanneer het past in het curriculum kan een opdracht een eenvoudige pagina in HTML en/of XML te ontwerpen een leuke opdracht zijn. 7 FAQ s 1 Heeft het eigenlijk zin nog iets te weten van het inwendige van een computer? Dit heeft zin voor : alle mensen die zich beroepsmatig bezig zullen houden met - informatiebeheer, - systeemontwikkeling in brede zin, - hardware (aanschaf, samenstelling, ontwikkeling) - netwerkbeheer, - de inzet van computers voor speciale doeleinden, alle anderen die met deze mensen beroepshhalve over deze onderwerpen moeten kunnen praten, allen die gewoon willen weten hoe de systemen werken die ze gebruiken. 2 Welke vooropleiding is nodig om het boek te kunnen volgen? VO, MBO of soortgelijke opleidingen bieden voldoende niveau. 3 Kan ik met een computer aan de slag wanneer ik dit boek gelezen heb? Neen, daarvoor zijn andersoortige handleidingen. 4 Is het boek geschikt voor zelfstudie? Ja. 5 Moet het boek in volgorde worden doorlopen? De eerste drie hoofdstukken wel, daarna is keuze mogelijk (zie figuur 2). 6 Kan het gebruikt worden als naslagwerk? Ja, dankzij een algemene index en lijsten met kernbegrippen bij de hoofdstukken. Copyright Wolters-Noordhoff 2001 7
7 Op welke manier kan het ingezet worden bij competentiegericht onderwijs? Zie paragraaf 6.3 en 6.4. Naast de beschreven manieren is natuurlijk ook integratie met andere vakgebieden mogelijk, maar die vallen buiten het bestek van dit boek. 8 Moet de docent alles uitleggen of kunnen de studenten zelf een gedeelte doen? Uitleg is vooral nuttig bij de eerste drie hoofdstukken. Daarna kunnen de studenten het meeste zelf doen. De ZEP-simulator is te gebruiken bij hoofdstuk 3 en 5. 9 Hoeveel SBU staan er voor de verschillende hoofdstukken in? Zie tabel 1. 10 Hoeveel DBU houden de verschillende hoofdstukken in? Wanneer conventionele colleges worden gegeven geeft tabel 1 een redelijke indicatie. In alle andere gevallen hangt dat zeer af van de aard van de opdrachten die worden opgegeven. 11 Wat is de zin van het bijgeleverde simulatieprogramma en is het noodzakelijk dit te gebruiken? Het simulatieprogramma geeft inzicht in de werking van: - uitvoering van instructies, ook op microcodeniveau ( register transfer niveau), - de interne werking van een CPU (endo-architectuur), - de externe werking van de CPU (exo-architectuur), - instructieformaten, - adresseringsmodes, - gebruik van een stack, - een assembleertaal, - een assembleerprogramma, - het aanroepen van het O.S. - enzovoort. Het programma hoeft niet noodzakelijk gebruikt, maar levert voor docent en student uitstekend aanvullend materiaal op. 12 Moet het hele boek worden doorgewerkt of is het ook mogelijk gedeelten te gebruiken? Hoofdstuk 1 t/m 3 moeten geheel worden doorlopen. Hoofdstukken 4 tot en met 7 kunnen (gedeeltelijk) worden weggelaten, afhankelijk van de toepassing in het curriculum. Hoofdstuk 7, Computernetwerken, is een min of meer zelfstandige inleiding in de datacommunicatie. Het kan afzonderlijk gegeven worden (in een volgend studiejaar bijvoorbeeld) dan wel eventueel weggelaten of alleen als naslagwerk gebruikt. 13 Waarom worden bij digitale techniek geen schakelalgebra en Karnaughdiagrammen behandeld? Dit hangt samen met de filosofie van het boek: niet meer behandelen dan nodig is voor het begrip van de volgende laag. De twee genoemde disciplines zijn meer gericht op het ontwerp van schakelingen; voor het boek is het begrijpen van een waarheidstabel echter voldoende. De opgave in het boek de eigenschappen van een bepaalde schakeling te bewijzen aan de hand van waarheidstabellen dienen dit begrip. Wanneer, zoals bij opleidingen Elektrotechniek en Computertechniek, Computers, organisatie - architectuur - communicatie, docentenhandleiding 8
het curriculum expliciet digitale techniek vraagt, is dit niet voldoende en moeten deze onderwerpen elders behandeld worden. Ditzelfde geldt eigenlijk ook voor sequentiële schakelingen; de inleiding hiervan wordt daarom in dit boek via enkele opgaven behandeld. Bepaalde categorieën studenten kunnen deze dan gewoon overslaan. 14 Waarom wordt relatief veel ruimte gegeven aan microcode en weinig aan assembler? De gebruikte microcode gaat niet verder dan Register1 := Register2 en ALUfunctie. Deze twee begrippen zijn de sleutels waarmee de werking van de processor begrepen kan worden. Assembleren heeft daarbij ook wel nut, maar in beperktere mate. Dieper ingaan op de assembler is bovendien alleen leuk voor de student wanneer ook practicum gedaan kan worden en dit vereist weer dat een échte processor tamelijk uitgebreid onder de loupe wordt genomen. Dat valt buiten het doel en de mogelijkheden van dit boek: de ervaring leert dat voor het werken met een enkele processor al een compleet boek vereist is! Voor docenten die toch meer aandacht aan een assembler willen besteden, is de ZEP2-simulator zeer geschikt: de programmeeromgeving is gemakkelijk te gebruiken, de processor sluit nauw aan bij het boek en er zijn voldoende instructies en adresseringswijzen in huis om de student een goed beeld te geven van een dergelijke omgeving. De programmeer -opgaven in het boek kunnen, indien gewenst, daarmee worden uitgevoerd. 15 Zijn er complete (proef)tentamens te krijgen? De stof kan nogal flexibel worden ingezet: voor verschillende opleidingen, in verschillende tempi, met verschillende diepgang. Om die reden is niet in tentamens voorzien. Wanneer de vraag groot blijkt, zal een gebruikersgroep worden gestart waar de deelnemende docenten tentamens, casussen, ZEP2- programma's en andere leerstof kunnen uitwisselen. 14 Wat is het e-mailadres van de auteur? fdijkstra@hsbos.nl 15 Hoe kom ik aan een nieuwe release van het simulatieprogramma? Als een docent naam, instituut en e-mailadres opstuurt naar het adres van de auteur, zal hij of zij op de hoogte worden gehouden van nieuwe ontwikkelingen en eventuele nieuwe releases ontvangen. 16 Is het ZEP2-programma in het 'free domain'? Versie 1.0 mag vrij worden gebruikt en gekopiëerd. Voor latere releases wordt een voorbehoud gemaakt. Copyright Wolters-Noordhoff 2001 9