8: Processor & Geheugen Flashcards
Hoe is het geheugen van een computer gescheiden met de CPU?
Zowel fysisch als functioneel.
Waarom is het geheugen en de CPU sterk met elkaar verbonden?
Veel van de instructies in de instructieset vereisen immers geheugentoegang.
Stel een eenvoudig blokschema van de processor met het geheugen voor.

Waaruit is het schema van de CPU met het geheugen opgebouwd?
Uit drie belangrijke onderdelen:
- de arithmetic/logic unit of ALU,
- de control unit of CU en
- het geheugen.
Welke onderdelen zitten er in een CPU? (schema)
De ALU en de CU zijn een onderdeel van de CPU.
Er is in de processor een input/output of I/O interface voorzien.
Waarvoor is de ALU verantwoordelijk?
De rekenkundige en logische eenheid is het onderdeel van de processor dat gegevens tijdelijk opslaat en er bewerkingen op uitvoert.
Waarvoor is de CU verantwoordelijk?
De controle-eenheid interpreteert en controleert de uitvoering van de instructies.
De controle-eenheid bepaalt welke specifieke instructie moet uitgevoerd worden door het uitlezen van de inhoud van de program counter, die een onderdeel is van de controle-eenheid.
Hoe gebeurt de control van de uitvoering van instructies?
Die controle gebeurt door het uitvoeren van een reeks handelingen die bij de fetch & execute cyclus horen.
Wat is een register?
Een register is een enkelvoudige opslagplaats in de CPU die kan gebruikt worden voor een specifieke taak.
Waarvoor wordt een register gebruikt?
Een register wordt gebruikt om een binaire waarde tijdelijk op te slaan, te bewerken of er berekeningen mee uit te voeren.
Wat bepaalt de specifieke functie van een register in een processor?
De grootte van het register, de manier waarop het aangesloten is en de bewerkingen waarvoor het gebruikt kan worden.
Wat is het verschil tussen een register in de CPU en een register in het geheugen?
Elk register in de CPU is verantwoordelijk voor een specifieke rol.
Dit is in tegenstelling tot het geheugen, waar elke cel identiek is.
Registers verschillen ook van het geheugen op het vlak van adressering. Registers hebben geen adres, maar worden direct door de control unit bestuurd bij de uitvoering van instructies.
Hoe breed kan een register zijn?
Registers kunnen een breedte hebben van één bit tot verschillende bytes.
Op welke verschillende manieren kunnen registers gebruikt worden in een computer?
Afhankelijk van het soort register, kan het gegevens bijhouden die verwerkt worden, een instructie die uitgevoerd wordt bevatten, een geheugen- of I/O-adres bevatten of speciale binaire codes bijhouden.
Deze codes bevatten informatie over de status van de computer, zoals voorwaarden die gebruikt worden bij sprongopdrachten.
Bepaalde registers kunnen voor verschillende taken gebruikt worden, terwijl andere slechts voor één specifieke taak ontworpen werden.
Er bestaan speciale registers voor het bijhouden van floating-point getallen.
Waartussen kan een computer geen onderscheid maken?
Tussen een getal dat gebruikt wordt als numerieke waarde in een programma en een getal dat een instructie voorstelt.
De betekenis wordt door de context bepaald.
Wat kan de inhoud van een register bevatten?
Zowel gegevens als instructies.
Wat is een accumulator?
Bij de processor worden berekeningen uitgevoerd in de accumulator.
Meestal zijn er in een CPU verschillende accumulators, die men ook general-purpose registers (voor de gebruiker zichtbare registers) noemt.
In bepaalde computers worden die general-purpose registers of accumulators beschouwd als een deel van de ALU, bij andere fabrikanten beschouwt men ze als een afzonderlijke registereenheid.
Bij de meeste computers worden die registers eveneens gebruikt om gegevens door te geven tussen verschillende geheugenadressen onderling, en tussen het geheugen en de I/O apparaten.
Over welke belangrijke registers beschikt de controle-eenheid?
- de program counter die het adres van de huidige (of volgende instructie bevat;
- het instructieregister dat de huidige instructie bevat;
- het memory address register of geheugenadresregister (MAR) dat het adres van een geheugenlocatie bevat;
- het memory data register of geheugeninhoudregister (MDR), ook memory buffer register genoemd (MBR), bevat de gegevens die moeten opgeslagen worden in - of uitgelezen worden uit - het geheugenadres dat op dat ogenblik in MAR staat.
Hoewel het MAR en MDR deel uitmaken van de CPU, zijn deze registers functioneel meer verwant met het geheugen zelf.
Wat zijn flags?
Vlaggen zijn regiters van één bit in de controle-eenheid.
Ze laten toe dat de computer speciale condities kan bijhouden zoals bijvoorbeeld rekenkundige carry en overflow.
Soms worden een aantal flags samengevoegd tot wat men een statusregister noemt.
Waarvoor zorgt de I/O-interface in een CPU?
Een I/O-interface verzorgt de in- en uitvoer van gegevens tussen de CPU en de verschillende randapparaten.
Waaruit bestaat een I/O-interface?
Voor de eenvoud zien we de I/O-interface als een paar I/O-registers.
Eén daarvan bevat het adres van het apparaat, terwijl het andere de gegevens bevat. Ze werken net zoals het MAR en het MDR.
Welke primaire soorten handelingen ondersteunen de meeste registers?
- Registers kunnen geladen worden met informatie uit andere locaties, meer in het bijzonder geheugenadressen en registers. Daarbij wordt de vorige inhoud van het register gewist.
- Gegevens uit een andere locatie kunnen opgeteld worden bij, of afgetrokken worden van de inhoud van de waarde in het register. Dan blijft de som of het verschil in het register staan.
- Gegevens kunnen naar links of rechts verschoven of geroteerd worden, over één of meer bits. Deze mogelijkheid is belangrijk bij het implementeren van de vermenigvuldiging en de deling.
Daarnaast zijn er vaak voorzieningen om de waarde 0 in het register te plaatsen (of een clear opdracht te geven) en de inhoud van een register te inverteren (wat overeenkomt met de 1-complement bewerking).
In het algemeen zijn er ook voorzieningen om de inhoud van het register met 1 te verhogen. Dit wordt een increment genoemd. Die opdracht kan gebruikt worden om de program counter te verhougen, te tellen in lussen bij het aanpassen van de index bij gebruik van array’s.
Soms is ook het verminderen met 1 voorzien. Dit is een decrement.
Als we de inverteeropdracht combineren met de incrementopdracht ontstaat het 2-complement van de waarde in het register. De meeste computers beschikken daarvoor over een specifieke instructie, maar hebben ook nog andere instructies voor het resetten, inverteren, verhogen en verlagen van de inhoud van general-purpose registers.
Hoe stelt de control unit toestandsvlaggen in?
Op 1 (set) of 0 (reset) ten gevolge van situaties die ontstaan tijdens de uitvoering van instructies.
Die vinden we in het statusregister terug.
Wat is het voordeel van registers in de processor?
Ze zijn veel sneller dan het werkgeheugen.
Toegang tot het werkgeheugen duurt één of twee klokcycli. Gegevens in een register benaderen, vraagt geen wachttijd.







