Cpu Processor.
CPU staat voor 'Central Processing Unit', oftewel de 'Processor'. Dit is het hart van de computer, daar waar het rekenwerk gebeurt. De CPU bepaalt mee de snelheid van de computer: hoe beter de CPU, hoe sneller hij berekeningen maakt, hoe beter de prestaties van de computer. Maar het is niet enkel de Cpu, dat zien we later wel.
Cpu Architectuur
De lijntjes op bovenstaande tekening zijn bussen, dus één lijn is infeiten
meerdere lijnen 8 ,16, 32 of 64 volgens het soort bus en processor. Er zijn 3
soorten bussen, Adres-Bussen, Data-Bussen of Controle-Bussen.
Hier onder vind je een kleine beschrijving van de verschillende onderdelen, op bovenstaande tekeningen van een Cpu
Alu: De Arithmetic Logic Unit (ALU) (Nederlands: Rekenkundig logische eenheid) is het centrale onderdeel van de processor van een computer dat de rekenkundige (arithmetic) en logische (logic) bewerkingen uitvoert
Mux: Een multiplexer is een combinatieschakeling die binaire gegevens verkrijgt van een van de 2"-invoergegevenaslijnen en deze beheert naar een individuele uitvoerlijn. De selectie van een specifieke invoergegevenaslijn voor de uitvoer wordt bepaald door een verzameling selectie-ingangen.
Memory: Is een tijdelijk of vast opslagplaats van gegevens, de computer neemt gegevens als invoer en slaat de gegevens / instructies op in het geheugen (gebruik ze indien nodig).
Register file: Een registerbestand is een reeks van processor registers (snelle Memory) in een centrale verwerkingseenheid (CPU).
Sign Extend: Tekenuitbreiding (afgekort als sext) is de bewerking, in de computerberekening, van het verhogen van het aantal bits van een binair getal met behoud van het teken (positief / negatief) en de waarde van het getal. Dit wordt gedaan door cijfers toe te voegen aan de belangrijkste kant van het nummer, volgens een procedure die afhankelijk is van de specifieke ondertekende nummerweergave die wordt gebruikt.
Branch taken: Een vertakking in een computerprogramma is een instructie die een computer vertelt om te beginnen met het uitvoeren van verschillende instructies in plaats van alleen de instructies in volgorde uit te voeren. In talen op hoog niveau worden deze meestal stroomcontroleprocedures genoemd en zijn ze in de taal ingebouwd. Bij assemblageprogrammering worden branch-instructies ingebouwd in een CPU.
If / Id:
1.Ophaalverklaring.
» Haal de volgende instructie uit het geheugen.
» Verhoog de programmatellerwaarde met 4.
2.Decode-instructie.
» Zoek uit wat de instructie zegt te doen.
» Haal waarden op uit de genoemde registers.
» Eenvoudig instructieformaat betekent dat we weten welke registers die
we mogelijk nodig hebben voordat de instructie is volledig
decoderen.
Ex / Mem:
3. Uitvoeren.
» Op een geheugenreferentie, base en offset bij elkaar optellen.
» Doe de wiskunde bij een rekenkundige instructie.
4. Geheugentoegang.
» Als laden of opslaan, toegang tot geheugen.
» Indien vertakking, pc vervangen door bestemmingsadres.
» Anders niets doen.
Wb (Write Back):
5. Terugschrijven is een opslagmethode waarbij gegevens naar de cache worden
geschreven, telkens wanneer zich een wijziging voordoet, maar alleen met
gespecificeerde tussenpozen, of onder bepaalde voorwaarden naar de
overeenkomstige locatie in het hoofdgeheugen wordt geschreven.
Binnen de computer komen alle taken die uitgevoerd worden in de basis neer op
rekenen en vergelijken. Of je nu aan het tekstverwerken of aan het gamen bent,
de processor is druk bezig met op ongekende snelheid, getallen op te tellen,
of te vergelijken.
Dit gebeurd allemaal op takt van een klok, Deze klok bepaald de snelheid van de
computer, hoe sneller de klok, Hoe sneller de computer. Het spreekt van
zelf dat de Cpu, en sommige andere onderdelen, deze snelheid moeten aan kunnen.
Een kloksnelheid van 1 Hz komt overeen met één bewerking per seconde. Wanneer
men spreekt over de kloksnelheid van een computer, wordt hiermee meestal de
kloksnelheid van de processor bedoeld. Moderne processors werken rond de 3 GHz.
Ze voeren dus 3 miljard keer per seconde hun bewerkingen uit.
De centrale rekeneenheid is zo geconstrueerd dat hij bij de start altijd op het
zelfde adres start, daar leest hij een instructie, voert die uit en gaat naar het
volgende adres of de instructie zou hem naar een bepaalde adres sturen, leest deze weer uit, en voert die uit, dit noemen we een
instructieset.
Een instructieset is de verzameling van alle mogelijke machinecodes die een
processor kan verwerken. De instructies worden als binaire codes in het geheugen
gezet, het programmeren zelf gebeurt in assembleertalen of (meestal) hogere
programmeertalen.
Een voorbeeld van zo een instructie kan zijn:
- Laad register A met de data van een bepaald adres.
- Laad register B met de data van een ander adres.
- Tel de inhoud van registers A en B op .
- Plaats de uitkomst in register C.
De instructieset Cpu X86 zie Wikipedia x86 instruction listings. Deze lijkt nog al ingewikkeld, is dat ook, maar maak je geen zorgen, het is niet nodig dat je deze gaat van buiten leren, er is al voor gezorgd, met hogere programmeertalen, die met een verstaanbare instructie, die de mensen verstaan, deze om zet in computer instructiezet die de computer verstaat.
Iedere processorfamilie heeft over het algemeen een eigen
instructieset, die niet uitwisselbaar is met die van andere. Dit betekent dat
programma's die voor een bepaald processortype gemaakt, zijn niet zonder meer op
een ander type kunnen werken. Met hercompileren, emulators of crosscompilers kan
dit probleem ondervangen worden.
Bekijk ook eens de 2 Filmpjes "over hoe werkt een Cpu" Deel1 Deel2