PowerPoint-presentatie

advertisement
De processor
•
CPU - Central Processing Unit
•
CVE - Centrale VerwerkingsEenheid
De CPU is de component die de programma’s uitvoert.
Daarvoor haalt de processor via de bus instructies op en
voert die uit.
De onderdelen
ALU
databus
adresbus
REGISTERS
CONTROL UNIT
controlebus
•
ALU - Aritmetic and Logic Unit
voert de rekenkundige en logische bewerkingen uit.
•
Registers
functioneren als een tijdelijk geheugen (kladblok) waar data kan worden
opgeslagen zodat de ALU die kan bewerken.
Control Unit
gebruikt de ALU en de registers om de stroom instructies die over de
bus gaan uit te voeren.
•
De instructiecyclus
Alle processoren werken volgens het principe van
instructie ophalen, analyseren en uitvoeren
1.
De Control Unit kopieert de instructie
waarvan het adres in de
programcounter staat uit het
werkgeheugen naar het
instructieregister.
2.
De Control Unit analyseert
de instructie.
Uitvoeren
De ALU voert de
instructie
bewerking uit.
3.
Ophalen
instructie
Dit proces wordt steeds herhaald: de INSTRUCTIECYCLUS
Analyseren
instructie
Verwerking van de instructies
Iedere instructie bestaat uit een rij bits.
In een machinetaal zou de instructie voor het optellen van de
inhoud van twee registers er als volgt kunnen uitzien:
01101101000010010000001100000100
operatiecode: 01101101
optellen van de inhoud van twee registers
operandcode: 00001001
register 9
operandcode: 00000011
register 3
operandcode: 00000100
register 4
Deze opdracht kan betekenen:
Tel de inhoud van de registers 3 en 4 bij elkaar op en zet het resultaat
in register 9.
De instructiecyclus in detail
1.
De Control Unit kopieert de instructie waarvan het adres in de
programcounter staat uit het werkgeheugen naar het
instructieregister:
01101101 00001001 00000011 00000100
Vervolgens wordt de programcounter verhoogd.
2.
De Control Unit analyseert de instructie.
In het voorbeeld staan in de registers 3 en 4 de operanden.
Deze moeten voordat de instructie kan worden uitgevoerd
vanuit het werkgeheugen naar de registers worden gekopieerd.
3.
De Control Unit kopieert de registers naar de ALU en geeft de
operatiecode door. De ALU voert de bewerking uit.
De volgende instructie kan verwerkt worden.
Assembleertaal en Assembler
Programmeren in machinecode is veel werk en leidt tot het
maken van fouten.
Eenvoudiger is een assembleertaal:
elke bitrij wordt vervangen door gewone cijfers en letters.
01101101 00001001 00000011 00000100
wordt
ADD R9, R3, R4
Om de notatie in assembleertaal te vertalen naar machinecode
is een programma nodig: een assembler.
Een assembleertaal is processor-afhankelijk.
Instructies
1.
Om programma’s te kunnen uitvoeren beschikt de CPU
over een aantal soorten instructies:
1.
Rekenkundige of logische instructies
ADD, CMP
2.
Spronginstructies
JNG
3.
Instructies voor datatransport
LOAD
LOAD
LOOP:
ADD
CMP
JNG
LOAD
R0, 1234
R0, #1
R0, #12
LOOP
1234, R0
Download