Come si evolvono le CPU?


0

Disclaimer: Non sono sicuro che sia il SE appropriato a inserire questo, quindi se Super User è nel posto sbagliato, mi scuso. Mi rendo conto che questa è una risposta molto ampia e probabilmente molto complessa, ma come mai ogni anno / due anni la CPU e in generale gli ingegneri informatici sono in grado di migliorare le prestazioni di detta parte? Oggi, l'aumento delle prestazioni è più in termini di efficienza che di megahertz non elaborato, lo capisco, ma anche allora, come si dice che l'efficienza è aumentata? La cosa principale che mi confonde è la rapidità con cui vengono creati nuovi progetti. Penserei che le idee che aumentano l'efficienza sono difficili da trovare, quindi come è possibile che le persone abbiano abbastanza per rilasciare le nuove generazioni alla stessa velocità che hanno?

Risposte:


2

La semplice risposta è che non vediamo miglioramenti anno dopo anno, quindi la premessa non è del tutto corretta.

Tieni presente che la cadenza di rilascio è per motivi di lavoro, non tecnici: potrebbe non esserci un miglioramento significativo, ma i consumatori aspettarsi una versione annuale, quindi è quello che fanno.


La risposta più complessa è che ci sono molti aspetti delle prestazioni della CPU:

  • La microarchitettura, che riguarda:
    • Quanto velocemente può elaborare istruzioni specifiche ( istruzioni per ciclo ), che varia in base all'istruzione.
    • Quanto velocemente può elaborare sequenze di istruzioni (cose come pipelining, branch branch, caching, ecc.)
    • Quali istruzioni specializzate sono supportate (cose come AES-NI, che velocizzano enormemente la crittografia, SIMD [SSE, AVX, ecc.], Che accelera enormemente le attività di dati di grandi dimensioni come l'elaborazione delle immagini, ecc.)
    • Vedi altro: https://superuser.com/a/906227/117590
  • La velocità di clock, che influenza il numero di cicli che si ottiene al secondo. Questo è in gran parte in fase di stallo, ma stiamo ancora cercando di ottenere efficienza per ottenere orologi più alti senza friggere la CPU o richiedere troppo raffreddamento.
  • Il numero di core, che influenza il numero indipendente i flussi di istruzioni possono essere elaborati contemporaneamente. Questo è, di nuovo, limitato dall'efficienza. Guarda anche: https://superuser.com/a/797486/117590

L'ormai vecchio tic-tac il modello mostra come questo è stato gestito in passato: un anno vedresti un miglioramento della microarchitettura, poi il prossimo vedrai un "die shrink", aumentando l'efficienza usando una dimensione del processo più piccola. Mentre il restringimento del die stava accadendo nella precedente microarchitettura, quello di nuova generazione poteva essere lavorato contemporaneamente. Più recentemente questo sta rallentando, perché stiamo esaurendo piccoli miglioramenti per spremere sia i fronti di dimensioni architettoniche che di processo.

Ad esempio, la recente generazione di Intel Coffee Lake ha avuto miglioramenti minimi sul lago Kaby, che aveva di per sé miglioramenti minimi su Skylake. L'architettura stessa è rimasta più o meno la stessa, con alcuni piccoli miglioramenti nelle istruzioni SIMD e miglioramenti laterali come nel controller di memoria. Il cambiamento del titolo, se presente, sarebbe leggermente superiore alle velocità di clock ... dai guadagni di efficienza nel processo di produzione. Il cambiamento del titolo di Coffee Lake è stato un aumento dei conteggi di base, probabilmente in gran parte a fini di marketing (competizione con AMD).

Raramente, vediamo anche grande salta, come con la vecchia Intel Core e le recenti architetture AMD Zen. Ci sono molti team di progettazione che lavorano su architetture diverse in parallelo, e occasionalmente quando l'avanzamento del primario ostacola un'altra architettura che usa idee diverse può "prendere il sopravvento" (Core sostituisce Netburst, Zen sostituisce la serie Excavator).

E quindi al di fuori del mondo della CPU desktop, stiamo assistendo a un'enorme spinta per l'efficienza energetica per dispositivi alimentati a batteria come laptop e tablet. Questa è stata la caratteristica principale di molte nuove architetture: non sono necessariamente più veloci, ma lo sono più efficiente quindi la tua batteria dura più a lungo.


Ma ci sono ovviamente miglioramenti delle prestazioni, o almeno miglioramenti di efficienza ogni anno, o altrimenti il ​​7700k e il 8700k sarebbero identici. Per essere onesti, la differenza è piuttosto piccola, ma ce n'è ancora una, quindi questa è la premessa della mia domanda.
Corsair64

@ Corsair64 Un confronto più appropriato potrebbe essere la generazione Kaby Lake vs Skylake, che è stata ampiamente criticata per la sua (quasi) mancanza di miglioramenti architettonici. Diamine, anche la generazione di Coffee Lake di cui parli è ancora in gran parte Skylake IPC ... hanno riempito solo più core lì. Vedi i tre punti principali della risposta.
Bob

Vedo ora la componente aziendale di esso, tuttavia sono ancora curioso del lato microcodico delle cose. Come è migliorato ogni due anni anche se il codice è stato elaborato per così tanto tempo? (Anche se detti cambiamenti sono relativamente piccoli)
Corsair64

2
@ Corsair64 Perché le CPU sono bestie follemente complesse. Ci sono molti piccole modifiche che potresti applicare ... ma molte di esse avranno anche un impatto negativo altrove. La perfezione è effettivamente impossibile. Potrebbero prendere il tempo di modificare qualunque cosa fai una grande pubblicazione ogni 10 anni, ma è qui che entra in gioco l'aspetto del business. (In realtà, questo è quasi quello che ha fatto lo Zen di AMD. Piccole modifiche a Excavator mentre si lavora su una riprogettazione completa con lo Zen.) Inoltre, parte di esso sono le nuove istruzioni per stare al passo con i cambiamenti dei requisiti software - ad es. SIMD / SSE era in gran parte legato ai primi multimedia.
Bob

@ Corsair64 AES-NI, AES con accelerazione hardware, è diventato utile solo quando AES ha raggiunto un certo livello di popolarità (standardizzazione nel 2001, molti anni da diffondere, HTTPS con AES sempre più popolare ... anni per progettare il set di istruzioni e convalidarlo in una nuova architettura ... AES-NI introdotta nel 2010.). Gran parte dei miglioramenti, al di fuori della pipeline e della previsione e della memorizzazione nella cache, provengono da istruzioni molto specializzate che sono appena (abbastanza) comunemente necessarie ai software moderni. Anche noi stiamo esaurendo questi miglioramenti.
Bob
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.