P.E.T.E.R. had dus ook nog de verkeerde opvatting dat kloksnelheid bijna alles zegt

Enkel die kloksnelheid is dus 14% hoger, maar dat zegt niks.
Wat betreft de instructieset is er ook nog een leuke. Je hebt als het ware ook synoniemen. Je kan namelijk dingen op meerdere manieren berekenen. Denk vooral aan vermenigvuldigen van getallen >10 op de basisschool. Dan gingen die onderelkaar en werd de som makkelijker gemaakt door hem in stukjes te hakken. In plaats van 1 vermenigvuldiging deed je er dan 2 of 3. Steeds het tussenantwoord opschrijven etc etc. Zoiets heet een algoritme. Een werkwijze om een antwoord te vinden.
En zo kan dat in de processor ook. Je kan in één keer een 64-bit vermenigvuldiging doen bijvoorbeeld, maar je kan ook gebruik maken van een simpelere 32-bit vermenigvuldiging. Dat kost minder transistoren en is dus goedkoper/makkelijker te realizeren. De prijs is echter wel dat je voor grote getallen meer tussenstappen moet doen. Tussenberekening en opslaan, en dan weer doorgaan tot het eindantwoord. Dan kom je tot hetzelfde antwoord, maar kost het bijvoorbeeld 4 instructies (stappen en kloktikken) ipv 1.
En dat zie je bijvoorbeeld met aanvullingen als SSE, die extra instructies komen dan echt beschikbaar om aan te roepen. Zo hoeft de programmeur of compiler het zelf niet meer op te lossen. Maar andersom kan het ook (en dat gebeurd ook). Ingewikkelde instructies aanbieden als onderdeel van de set, maar intern vertalen naar een serie van instructies. Hierdoor wordt de CPU dus goedkoper omdat de hardware niet hoeft te worden gerealiseerd en is de instructie wel beschikbaar.
En zo zijn er allemaal trucjes waarbij kosten en performancewinst worden afgewogen. HT maakt het zo mogelijk om soms 2 instructies in één keer te verwerken ipv 1. Daarvoor zijn standaardzaken dubbel uitgevoerd. Één daarvan is het register. Dat is het geheugen waar antwoorden worden opgeslagen na de verwerking van een instructie. Maar Intel kan enkel 2 instructies uitvoeren die geen onderdelen van de zogenoemde ALU (Arithmetic Logic Unit) met elkaar delen. AMD's Bulldozer core gaat nog verder. Die heeft enkel de veelgebruikte dingen 2x uitgevoerd en zaken die minder belast worden slechts enkel. Zo besparen ze veel transistoren terwijl 1 "module" bijna de performance van een reguliere dualcore behaalt. Allemaal efficiëntie.
Wat betreft Cache. Dit is vooral belangrijk om snel veel data aan te wenden. Een aantal toepassingen heeft hier baat bij, zoals games bijvoorbeeld. Werkgeheugen is relatief traag en moeten wachten tot de data beschikbaar is kost veel klokcycles. Immers, een processor kan niks doen zolang de data voor de berekening niet beschikbaar is. Jij kunt wel klaar zitten voor een toets en het schrijfpapier al hebben, maar zolang je de toets zelf niet voor je hebt kun je helemaal niks beginnen.
En zo kom je uiteindelijk bij de IPC (Instructions Per Clock cycle). Dat is dus de prestatie die er per kloktik uitkomt. En dat die is dus afhakelijk van het ontwerp van de processor. Hoe lang is de pipeline, hoe veel cache is er, hoe snel is die cache, zijn grote instructies ook in hardware uitgevoerd, of worden ze opgesplitst? Hoe efficiënt is de scheduler? Kan de volgorde van instructies efficiënter (out-of-order instructieverwerking, iets dat bv de Atom mist en dus slechter is in multitasken). Er zijn echt honderden dingen die meetellen voor de prestaties. Een instructieset is enkel de taal zodat de processor de code begrijpt en kan uitvoeren. Maar het is uiteindelijk de processor zelf die bepaald hoe snel de opdracht wordt verwerkt.
De meeste fietsemakers kunnen ook wel een band plakken als je ze die opdracht geeft, maar het is maar de vraag hoe snel ze dat kunnen. Ook dat hangt af van het personeel dat er loopt en hoeveel. Hoeveel ruimte ze hebben in de werkplaats, etc etc. De enige overeenkomst tussen al die fietsenhandelaren is dat ze weten hoe ze de band moeten plakken, maar de uitvoering in dat hele proces kan anders verlopen.
Goed, deze post is alweer veel langer dan ik had gewild

. Ik zag in je profiel dat je nog op de middelbare school zit. Ik heb de indruk dat je dit topic niet voor niets starte omdat het grote verschil je ineens boeide

. Op wikipedia kun je nog veel meer vinden als je zoekt op dingen als instructieset en ALU (Arithmetic Logic Unit). En bij een opleiding als elektrotechniek mag je zelfs met FPGA's gaan spelen en zelf je processortje bouwen

En ja, dat is echt geweldig leuk speelgoed
[
Voor 16% gewijzigd door
GENETX op 03-09-2011 15:55
]