Cosa limita la velocità della CPU?


102

Di recente ho parlato con un amico della compilazione di LaTeX. LaTeX può utilizzare solo un core per la compilazione. Pertanto, per la velocità della compilazione LaTeX, la velocità di clock della CPU è molto importante (vedere Suggerimenti per la scelta dell'hardware per le migliori prestazioni di compilazione LaTeX )

Per curiosità, ho cercato CPU con le massime velocità di clock. Penso che sia stato Intel Xeon X5698 con 4,4 GHz ( sorgente ) che ha avuto la massima velocità di clock.

Ma questa domanda non riguarda le CPU che vengono vendute. Vorrei sapere quanto velocemente può arrivare se non ti interessa il prezzo.

Quindi una domanda è: esiste un limite fisico alla velocità della CPU? Quanto è alto?

E l'altra domanda è: qual è la massima velocità della CPU finora raggiunta?

Ho sempre pensato che la velocità della CPU fosse limitata perché il raffreddamento (quindi il calore ) diventa così difficile. Ma il mio amico dubita che questo sia il motivo (quando non è necessario utilizzare sistemi di raffreddamento tradizionali / economici, ad esempio in un esperimento scientifico).

In [2] ho letto che i ritardi di trasmissione causano un'altra limitazione nella velocità della CPU. Tuttavia, non menzionano la velocità con cui può arrivare.

Quello che ho trovato

Riguardo a me

Sono uno studente di informatica. So qualcosa della CPU, ma non troppo. E ancora meno sulla fisica che potrebbe essere importante per questa domanda. Quindi, tienilo a mente per le tue risposte, se è possibile.


10
La tua domanda è buona, aspettati delle risposte molto buone ed educate. I miei due centesimi: l'implicazione "si esaurisce in un solo core" -> "l'orologio è più importante" non è vera.
Vladimir Cravero,

12
Il record attuale per una CPU overcloccata è il bulldozer AMD, funzionante a 8,4 GHz . È stato raffreddato usando azoto liquido.
Tcrosley,

2
Sebbene il titolo della domanda sia "Cosa limita la velocità della CPU?" va notato che l'affermazione: "LaTeX può usare solo un core per la compilazione. Quindi, per la velocità della compilazione LaTeX, la velocità di clock della CPU è più importante" non è necessariamente vera. Anche la cache della CPU può fare la differenza. A causa del funzionamento delle moderne CPU, combinato al fatto che esistono CPU diverse con frequenze identiche ma dimensioni e dimensioni della cache diverse e del modo in cui il software è stato scritto e utilizzato, la cache della CPU può avere un'influenza maggiore sulla velocità di esecuzione rispetto a Frequenza della CPU.
Shivan Dragon,

2
Le prestazioni a thread singolo non sono direttamente proporzionali alla velocità di clock; la relazione è più complessa. Ciò può essere parzialmente mascherato dalla somiglianza delle recenti microarchitettura Intel x86 con miglioramenti microarchitetturali che compensano alcuni dei costi in aumento della frequenza.
Paul A. Clayton,

9
Suggerisco di confrontare un processore da 2GHz del 2004 con un processore da 2GHz del 2014; scoprirai che non sono nello stesso campo di gioco nemmeno su compiti a thread singolo e anche quando entrambi implementano lo stesso set di istruzioni - le istruzioni CISC che vengono alimentate sono una cosa, ma le microoperazioni queste sono suddivise in sono piuttosto un altro.
Charles Duffy,

Risposte:


76

In pratica, ciò che limita la velocità della CPU è sia il calore generato che i ritardi del gate, ma di solito il calore diventa un problema molto più grande prima che quest'ultimo entri in gioco.

Processori recenti sono prodotti utilizzando la tecnologia CMOS. Ogni volta che c'è un ciclo di clock, l'energia viene dissipata. Pertanto, velocità del processore più elevate significano una maggiore dissipazione del calore.

http://en.wikipedia.org/wiki/CMOS

Ecco alcune figure:

Core i7-860   (45 nm)        2.8 GHz     95 W
Core i7-965   (45 nm)        3.2 GHz    130 W
Core i7-3970X (32 nm)        3.5 GHz    150 W

inserisci qui la descrizione dell'immagine

Puoi davvero vedere come aumenta la potenza di transizione della CPU (in modo esponenziale!).

Inoltre, ci sono alcuni effetti quantistici che entrano in funzione quando si riducono le dimensioni dei transistor. A livelli di nanometri, le porte a transistor diventano in realtà "che perdono".

http://computer.howstuffworks.com/small-cpu2.htm

Non entrerò nel modo in cui questa tecnologia funziona qui, ma sono sicuro che puoi utilizzare Google per consultare questi argomenti.

Va bene, ora, per i ritardi di trasmissione.

Ogni "filo" all'interno della CPU funge da piccolo condensatore. Inoltre, la base del transistor o la porta del MOSFET fungono da piccoli condensatori. Per modificare la tensione su una connessione, è necessario caricare il cavo o rimuovere la carica. Man mano che i transistor si restringono, diventa più difficile farlo. Questo è il motivo per cui SRAM ha bisogno di transistor di amplificazione, poiché i transistor di array di memoria in realtà sono così piccoli e deboli.

Nei tipici progetti IC, dove la densità è molto importante, le celle bit hanno transistor molto piccoli. Inoltre, in genere sono integrati in array di grandi dimensioni, che hanno capacità bit-line molto grandi. Ciò si traduce in una scarica (relativamente) molto lenta della linea di bit da parte della cella di bit.

Da: Come implementare l'amplificatore di senso SRAM?

Fondamentalmente, il punto è che è più difficile per i piccoli transistor guidare le interconnessioni.

Inoltre, ci sono ritardi di gate. Le CPU moderne hanno più di dieci fasi della pipeline, forse fino a venti.

Problemi di prestazioni nel pipelining

Ci sono anche effetti induttivi. Alle frequenze delle microonde, diventano abbastanza significative. Puoi cercare la diafonia e quel tipo di cose.

Ora, anche se riesci a far funzionare un processore THZ 3265810, un altro limite pratico è la velocità con cui il resto del sistema può supportarlo. O devi avere RAM, memoria, logica di colla e altre interconnessioni che funzionano altrettanto velocemente, oppure hai bisogno di una cache immensa.

Spero che sia di aiuto.


1
Potresti voler includere un link a questa discussione per bei riferimenti su come si collegano la velocità di clock e il consumo di energia: physics.stackexchange.com/questions/34766/…
Emiswelt

2
C'è anche la velocità dell'elettricità da considerare quando si parla di ritardi di trasmissione en.wikipedia.org/wiki/Speed_of_electricity
ryantm

Aumenta effettivamente in modo esponenziale o solo quadraticamente? In effetti, questo video dice questo Power = Frequency ^ 1.74.
Paul Manta,

2
Un buon punto, tuttavia, una delle maggiori difficoltà nella progettazione della CPU sono le interconnessioni. Potrebbe essere possibile un chip fisicamente grande, ma ricorda che funzionano nella gamma dei gigahertz. Vuoi mantenere i fili corti.
fuzzyhair2,

2
Poiché la domanda è teorica, si può aggiungere che altri semiconduttori, come l'arseniuro di gallio, consentono frequenze più elevate.
Iacopo,

32

Il problema del calore è ben coperto da fuzzyhair. Per riassumere i ritardi di trasmissione, considerare questo: il tempo necessario affinché un segnale elettrico attraversi la scheda madre è ora più di un ciclo di clock di una CPU moderna. Quindi realizzare CPU più veloci non otterrà molto.

Un processore superveloce è davvero vantaggioso solo nei massicci processi di crunching dei numeri, e solo se il tuo codice è accuratamente ottimizzato per farlo funzionare su chip. Se spesso deve andare altrove per i dati, viene sprecata tutta quella velocità extra. Nei sistemi odierni la maggior parte delle attività può essere eseguita in parallelo e grandi problemi sono suddivisi su più core.

Sembra che il tuo processo di compilazione del lattice sarebbe migliorato da:

  • IO più veloce. Prova un disco RAM.
  • eseguire diversi documenti su diversi core
  • non aspettarsi un lavoro ad alta intensità di immagine di 200 pagine da eseguire in 2 secondi

2
Peccato che mi sia concesso un solo voto. La tua risposta merita di più per aver sottolineato che la frequenza potrebbe non essere il collo di bottiglia nel problema del PO.
Solomon Slow

17

Esistono tre limiti fisici: calore, ritardo gate e velocità di trasmissione elettrica.

Il record mondiale sulla velocità di clock più alta finora è (secondo questo link) 8722,78 MHz

La velocità della trasmissione elettrica (circa la stessa della velocità della luce) è il limite fisico assoluto, poiché nessun dato può essere trasmesso più velocemente del suo mezzo. Allo stesso tempo questo limite è molto alto, quindi di solito non è un fattore limitante.

Le CPU sono costituite da enormi quantità di porte, di cui alcune sono collegate in serie (una dopo l'altra). Un passaggio dallo stato alto (ad es. 1) allo stato basso (ad es. 0) o viceversa richiede del tempo. Questo è il ritardo del gate. Quindi, se hai 100 gate collegati in serie e uno impiega 1 ns per passare, dovrai aspettare almeno 100 ns affinché l'intera cosa ti dia un output valido.

Questi interruttori sono la cosa che richiede più energia su una CPU. Ciò significa che se si aumenta la velocità di clock si ottengono più interruttori, quindi si utilizza più potenza e si aumenta la potenza termica.

La sovratensione (=> fornisce più potenza) riduce un po 'il ritardo del gate, ma aumenta di nuovo la potenza termica.

Da qualche parte intorno a 3 GHz il consumo di energia per la velocità di clock aumenta estremamente. Questo è il motivo per cui le CPU da 1,5 GHz possono funzionare su uno smartphone mentre la maggior parte delle CPU da 3-4 GHz non possono nemmeno essere eseguite su un laptop.

Ma la velocità di clock non è l'unica cosa che può accelerare una CPU, ma anche l'ottimizzazione alla pipeline o l'architettura del microcodice può causare un significativo aumento della velocità. Ecco perché un Intel i5 (Dualcore) a 3 GHz è più volte più veloce di un Intel Pentium D (Dualcore) a 3 GHz.


1
Il solo overclocking aumenta l'utilizzo della CPU in modo lineare. Quindi raddoppiare la velocità di clock significa doppio consumo di energia. Ma a velocità di clock più elevate le porte diventano troppo lente per funzionare con quella velocità di clock e si iniziano a ricevere errori di calcolo -> crash casuali. Quindi è necessario aumentare la tensione per accelerare le porte. Il consumo di energia si ridimensiona esattamente rispetto alla tensione. Quindi raddoppiare la tensione significa quattro volte il consumo di energia. Aggiungilo per raddoppiare l'orologio e otterrai otto volte il consumo di energia. Anche la tensione necessaria aumenta esponenzialmente con la velocità di clock. en.wikipedia.org/wiki/CPU_power_dissipation
Dakkaron

1
L'altro problema qui è che la sovratensione può semplicemente friggere la CPU e non c'è nulla che possa essere fatto contro questo. Se la tua CPU è specificata per esempio 3.3V potresti essere in grado di salire fino a 3.7 o forse anche 4V ma se vai in alto distruggerà semplicemente il chip. Un altro link che vale la pena leggere: en.wikipedia.org/wiki/CPU_core_voltage
Dakkaron,

3
La velocità di trasmissione è un problema: a 3Ghz ottieni solo 10 cm / ciclo. Poiché attualmente un tipico die di processore ha 300m², credo che dopo 10 Ghz si debba ripensare il design del processore poiché probabilmente non tutte le parti del chip possono essere raggiunte in un ciclo.
Martin Schröder,

1
@ MartinSchröder: Questo non è un grosso problema, poiché (a) la CPU muore a causa del calore e del ritardo del gate prima che vengano raggiunti i 10 GHz e (b) i processori diventano più piccoli con ogni generazione. Ad esempio, un i7 a 6 core con hyperthreading ha all'incirca le stesse dimensioni di un Pentium 4 single-core. Ma l'i7 ha 6 core completi e altri 6 "half-core" per l'hyperthreading. Inoltre c'è la cache. Inoltre, questi nuclei vengono suddivisi in fasi della pipeline. Solo le parti della CPU in una fase core e una pipeline (e forse la cache L1) devono essere raggiunte in un ciclo.
Dakkaron,

1
@ com.prehensible Il post che hai collegato in realtà parla in modo specifico del fatto che questo transistor a 500 GHz è "solo" un transistor analogico utilizzato per il procressing RF analogico. Non è affatto un processore per computer.
Dakkaron,

5

r=5.291×1011
c=3×108,
F=1t=c2πr=9.03×1017Hz
8×109Hz

Ho apportato alcune modifiche al tuo LaTeX. Potresti controllare se la modifica alla frequenza era corretta?
Martin Thoma,

Come sei arrivato allo stato attuale del limite tecnologico?
Martin Thoma,

Scrivi che il limite attuale è "8x 10 ^ 9 Hz". Che cos'è x? Alla fine hai voluto scrivere un punto di moltiplicazione?
Martin Thoma,

1
Costruiresti anche quel computer il più veloce possibile sul raggio di Schwarzschild di un buco nero per il massimo effetto. Il raggio di Bohr è il modo migliore per lavorare ad alta velocità. :)
Goswin von Brederlow il

3

Quindi una domanda è: esiste un limite fisico alla velocità della CPU?

Ciò dipende fortemente dalla CPU stessa. Le tolleranze di produzione portano al fatto che il limite fisico è leggermente diverso per ogni chip anche dallo stesso wafer.

i ritardi di trasmissione causano un'altra limitazione nella velocità della CPU. Tuttavia, non menzionano la velocità con cui può arrivare.

Questo perché transmission delayo speed path lengthè una scelta da fare per il progettista del chip. In breve, è quanto lavoro fa la logica in un singolo ciclo di clock . Una logica più complessa produce frequenze di clock massime più lente, ma consuma anche meno energia.

Questo è il motivo per cui si desidera utilizzare un benchmark per confrontare le CPU. I numeri di lavoro per ciclo sono molto diversi, quindi il confronto di MHz non elaborati può dare un'idea sbagliata.


2

In pratica, è sicuramente la potenza termica che è approssimativamente proporzionale al quadrato della tensione: http://en.wikipedia.org/wiki/Thermal_design_power#Overview Ogni materiale ha la sua capacità termica specifica che limita l'efficienza di raffreddamento.
Non considerando i problemi tecnici relativi al ritardo del raffreddamento e della trasmissione, troverete la velocità della luce che limita la distanza che un segnale può percorrere all'interno della nostra CPU al secondo. Pertanto, la CPU deve ottenere samller più velocemente funziona. Infine, funziona oltre una certa frequenza, la CPU può diventare trasparente per le funzioni d'onda elettroniche (elettroni modellati come funzioni d'onda seguendo l'equazione di Schroedinger).
Nel 2007 alcuni fisici hanno calcolato un limite fondamentale per le velocità operative:http://journals.aps.org/prl/abstract/10.1103/PhysRevLett.99.110502


0

Oltre a tutte le altre risposte, ci sono anche alcune altre considerazioni che potrebbero non influire direttamente sulla velocità della CPU ma rendere abbastanza difficile costruire qualcosa attorno a quella CPU;

In breve, sopra DC, la frequenza radio diventa un problema. Più vai veloce, più tutto è incline a fungere da radio gigante. Ciò significa che le tracce del PCB subiscono crosstalk, gli effetti della loro capacità / induttanza intrinseca con tracce / piano di massa adiacenti, rumore, ecc. Ecc. Ecc.

Più vai veloce, peggio diventa tutto ciò, ad esempio le gambe dei componenti possono introdurre un'induttanza inaccettabile.

Se si guardano le linee guida per la stesura di PCB "base" del tipo di livello di un Raspberry Pi con un po 'di RAM DDR, tutte le tracce per il bus dati ecc. Devono avere la stessa lunghezza, avere una terminazione corretta ecc. E questo è funzionante ben al di sotto di 1 GHz.

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.