
U bent misschien benieuwd hoe nieuwe generaties processors sneller kunnen zijn met dezelfde kloksnelheden als oudere processors. Zijn het alleen veranderingen in de fysieke architectuur of is het iets meer? De SuperUser Q & A-post van vandaag biedt de antwoorden op de vragen van een nieuwsgierige lezer. De vraag- en antwoordsessie van vandaag komt tot ons dankzij SuperUser - een onderdeel van Stack Exchange, een door de gemeenschap gestuurde groep van Q & A-websites.
Foto's met dank aan Rodrigo Senna (Flickr).
De vraag
Waarom zou bijvoorbeeld een 2,66 GHz dual-core Core i5 sneller zijn dan een 2,66 GHz Core 2 Duo, die ook dual-core is?
Komt dit door nieuwere instructies die informatie in minder klokcycli kunnen verwerken? Welke andere architecturale veranderingen zijn er?
Waarom zijn nieuwere generaties processoren sneller met dezelfde kloksnelheid?
Het antwoord
Meestal is dit niet vanwege nieuwere instructies. Het is alleen omdat de processor minder instructiecycli nodig heeft om dezelfde instructies uit te voeren. Dit kan om een groot aantal redenen zijn:
Grote caches betekenen minder tijdverlies bij wachten op geheugen.
- Meer uitvoeringseenheden betekent minder tijd om te wachten om met een instructie te beginnen.
- Betere vertakkingsvoorspelling betekent minder verspilling van tijd op speculatieve wijze instructies uitvoeren die nooit echt hoeven te worden uitgevoerd.
- Verbeteringen van de uitvoeringsunit betekenen minder tijd wachten tot de instructies zijn voltooid.
- Kortere pijpleidingen zorgen ervoor dat pijplijnen sneller worden volgemaakt.
- Enzovoort.
Gevolgd door de antwoord van Breakthrough:
De absolute definitieve referentie is de Intel 64 en IA-32 Architectures Software Developer Manuals. Ze beschrijven de veranderingen tussen architecturen en ze zijn een uitstekende bron om de x86-architectuur te begrijpen.
Ik zou aanraden dat u de gecombineerde volumes 1 tot en met 3C downloadt (eerste downloadkoppeling op de pagina die hierboven is gelinkt). Volume 1, Hoofdstuk 2.2 heeft de informatie die u zoekt.
Enkele algemene verschillen die in dat hoofdstuk worden opgesomd, van de Core naar de Nehalem / Sandy Bridge-microarchitecturen zijn:
Verbeterde branchevoorspelling, sneller herstel na verkeerde voorspelling
- HyperThreading-technologie
- Geïntegreerde geheugencontroller, nieuwe cachehiërarchie
- Snellere drijvende uitzonderingsafhandeling (alleen Sandy Bridge)
- Verbetering van LEA-bandbreedte (alleen Sandy Bridge)
- AVX-instructie-uitbreidingen (alleen Sandy Bridge)
- De volledige lijst is te vinden in de bovenstaande link (Volume 1, Hoofdstuk 2.2).
Lees meer van deze interessante discussie via de onderstaande link!
Heb je iets toe te voegen aan de uitleg? Geluid uit in de reacties. Wilt u meer antwoorden van andere technisch onderlegde Stack Exchange-gebruikers lezen? Bekijk hier de volledige discussiethread
Magische cijfers: de geheime codes die programmeurs verbergen op uw pc
Sinds de eerste persoon 5318008 op een rekenmachine heeft geschreven, hebben nerds geheime nummers verborgen op uw pc en ze gebruikt om te onderhandelen over geheime handshakes tussen applicaties en bestanden. Vandaag bekijken we een paar van de leukere voorbeelden. Wat zijn Magic Numbers? De meeste programmeertalen gebruiken een 32-bits geheel getal om bepaalde soorten gegevens achter de schermen weer te geven - intern wordt het nummer opgeslagen in RAM of gebruikt door de CPU als 32 enen en nullen, maar in de broncode zou het worden uitgeschreven in een regulier decimaalformaat, of als hexadecimaal formaat, dat de getallen 0 tot en met 9 en de letters A tot en met F gebruikt.
De standaardbestandsnaam wijzigen die wordt gebruikt bij het opslaan van Word-documenten
Wanneer u een bestand voor de eerste keer opslaat, hebt u misschien opgemerkt dat Word u een bestandsnaam voorstelt in het gedeelte "Opslaan als" dialoog venster. Deze bestandsnaam komt meestal van de eerste alinea in uw document. Dit is echter de tweede keuze van Word voor voorgestelde bestandsnamen.