De ce sunt generațiile mai noi de procesoare mai rapide la aceeași viteză a ceasului?
S-ar putea să fii curios cu privire la modul în care generațiile mai noi de procesoare pot fi mai rapide la aceleași viteze de ceas ca și procesoarele mai vechi. Sunt doar schimbări în arhitectura fizică sau este ceva mai mult? Postul de astăzi SuperUser Q & A are răspunsurile la întrebările curioase ale cititorului.
Sesiunea de întrebări și răspunsuri din ziua de astăzi vine de la amabilitatea SuperUser - o subdiviziune a Stack Exchange, o grupare bazată pe comunitate a site-urilor web Q & A.
Fotografie prin amabilitatea lui Rodrigo Senna (Flickr).
Intrebarea
Cititorul superUser agz vrea să știe de ce generațiile mai noi de procesoare sunt mai rapide la aceeași viteză de ceas:
De exemplu, un nucleu dual-core de 2.66 GHz i5 ar fi mai rapid decât un Core 2 Duo de 2.66 GHz, care este și dual-core?
Este aceasta din cauza instrucțiunilor mai noi care pot procesa informații în mai puține cicluri de ceas? Ce alte modificări arhitecturale sunt implicate?
De ce generațiile mai noi de procesoare sunt mai rapide la aceeași viteză de ceas?
Răspunsul
Contribuitorii SuperUser David Schwartz și Breakthrough au răspunsul pentru noi. În primul rând, David Schwartz:
De obicei, nu este din cauza unor instrucțiuni mai noi. Este doar pentru că procesorul necesită mai puține cicluri de instrucțiuni pentru a executa aceleași instrucțiuni. Acest lucru poate fi datorat unui număr mare de motive:
- Cache-uri mari înseamnă mai puțin timp pierdut așteptând memoria.
- Mai multe unități de execuție înseamnă mai puțin timp de așteptare pentru a începe să funcționeze pe o instrucțiune.
- O mai bună predicție a ramificației înseamnă mai puțin timp pierdut executând în mod speculativ instrucțiuni care nu trebuie niciodată executate.
- Executarea unităților de execuție înseamnă mai puțin timp în așteptarea finalizării instrucțiunilor.
- Conducte mai scurte înseamnă că conductele se umple mai repede.
Si asa mai departe.
Urmat de răspunsul de la Breakthrough:
Referința absolută definitivă este Intel 64 și IA-32 Architectures Software Developer Manuals. Acestea detaliază schimbările dintre arhitecturi și sunt o resursă excelentă pentru a înțelege arhitectura x86.
Vă recomandăm să descărcați volumele combinate 1 până la 3C (primul link de descărcare de pe pagina legată mai sus). Volumul 1, Capitolul 2.2 conține informațiile pe care le doriți.
Unele diferențe generale enumerate în acel capitol, mergând de la Core până la micro-arhitecturile Nehalem / Sandy Bridge, sunt:
- Îmbunătățirea predicției ramurii, recuperarea mai rapidă de la o greșeală
- Tehnologia HyperThreading
- Controler de memorie integrat, ierarhie nouă cache
- Mai multă manipulare a excepției în virgulă mobilă (numai pentru Sandy Bridge)
- Îmbunătățirea lățimii de bandă LEA (numai pentru Sandy Bridge)
- Extensii de instrucțiuni AVX (numai pentru Sandy Bridge)
Lista completă poate fi găsită în link-ul de mai sus (volumul 1, capitolul 2.2).
Asigurați-vă că ați citit mai multe despre această discuție interesantă prin intermediul link-ului de mai jos!
Aveți ceva de adăugat la explicație? Sunați în comentariile. Doriți să citiți mai multe răspunsuri de la alți utilizatori de tehnologie Stack Exchange? Check out discuția completă aici.