6: De Virtuele Computer Flashcards
Wat is de kracht van een computer?
De kracht van een computer is niet toe te wijzen aan zijn complexiteit, maar wel aan het feit dat de computer in staat is om eenvoudige opdrachten aan een zeer hoog tempo uit te voeren.
Wat zijn de noodzakelijke elementen om een vereenvoudigde computer voor te stellen volgens de von Neumann architectuur?
- Postbussen (adressen)
- Rekenmachine
- Teller
- Bediende
- In-vakje
- Uit-vakje
Wat is de operaction code?
De opcode is het het instructiegedeelte van de instructie.
Over welke instructieset beschikt de virtuele computer in het handboek?
- LOAD
- STORE
- ADD
- SUBTRACT
- INPUT (Read)
- OUTPUT (Print)
- HALT
- SKIP ON CONDITION
- JUMP
LOAD (117)
De bediende wandelt naar het adres van de postbus dat in de instructie te vinden is (17).
Hij leest het getal met drie cijfers dat in de postbus te vinden is en wandelt naar de rekenmachine om het getal in te toetsen.
Het getal in de postbus (17) blijft ongewijzigd. De inhoud van de display van de rekenmachine verandert echter wel.
STORE (234)
Dit is het omgekeerde van de LOAD-instructie.
De bediende leest de inhoud van het scherm van de rekenmachine.
Hij schrijft het resultaat op een blad papier en legt het in de postbus waarvan het adres in de STORE-instructie te vinden is (34).
De inhoud van de display van de rekenmachine blijft hierbij ongewijzigd, maar de inhoud van de postbus met adres 34 wordt vervangen door de nieuwe waarde.
ADD (347)
Deze instructie lijkt erg goed op de LOAD-instructie.
De bediende loopt naar de postbus waarvan het adres in de instructie staat (47).
Hij leest het getal dat op het briefje in de postbus te vinden is en gaat naar de rekenmachine.
Hij telt het getal op bij het getal dat al in de rekenmachine stond.
De inhoud van de postbus zelf blijft ongewijzigd.
SUBTRACT (453)
Identiek aan de instructie ADD, met dat verschil dat de waarde uit de postbus (53) afgetrokken wordt van het getal op de rekenmachine.
INPUT (5xx)
De bediende gaat naar het in-bakje en neemt het blad met de instructie.
Als er meer dan één instructie ligt, neemt hij de eerste uit de reeks.
Hij gaat ermee naar de rekenmachine en toetst het getal in.
Het getal is niet langer te vinden in het in-bakje, en de inhoud van de rekenmachine is vervangen door wat er in de instructie stond.
Deze instructie gebruikt geen postbus. Het adresgedeelte in de instructie speelt geen rol. Het mag dan ook om het even welke waarde hebben.
OUTPUT (6xx)
De bediende gaat naar de rekenmachine, schrijft de inhoud van de display op een blad papier en legt dat blad in het uit-bakje.
De inhoud van de rekenmachine blijft hierbij onveranderd.
Ook hier speelt het adresgedeelte in de instructie geen rol.
HALT (7xx)
De bediende stopt.
Ook hier is het adresgedeelte van de instructie van geen belang.
SKIP ON CONDITION (8xx)
De bediende gaat naar de rekenmachine en bekijkt het getal dat op de display staat.
Als het getal aan een bepaalde voorwaarde voldoet, zal hij de teller met één extra verhogen zodat hij over de volgende instructie heen springt. Als aan de voorwaarde niet voldoen is, gaat hij gewoon naar de volgende instructie.
Bij deze instructie zullen de twee cijfers die normaal voor het adres gebruikt worden, nu dienen om de voorwaarde te bepalen.
Bij wijze van voorbeeld kiezen we er drie:
JUMP (9xx)
Met deze instructie gaat de bediende naar de teller en stelt de waarde ervan in zoals weergegeven in het adresveld van de instructie. Dit betekent dat de volgende uit te voeren instructie op dat adres te vinden is.
Merk op dat ook hier het adresveld voor een ander doel gebruikt wordt. De bediende zal op dat adres geen gegevens, maar wel een instructie moeten ophalen.
Schrijf een eenvoudig script die twee getallen met elkaar optelt.
Wat is een mnemonic?
Een afkorting van een instructie.