View Single Post
Old 06-01-2018, 20:37   #90
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
Quote:
Originariamente inviato da Yrbaf Guarda i messaggi
L'elaborazione out of order è sicuramente più onerosa ed infatti richiedendo anche più energia di solito i processori più parsimoniosi (vedi Atom, almeno quelli vecchi, ma anche molti Arm) sono InOrder.
Però i più veloci sono invece OoO.

Non è lavoro inutile perché tu fai del lavoro nella speranza che sia produttivo.
Le istruzioni speculative è vero che se il salto (o cambio di Program Counter) è predetto in modo errato sono lavoro inutile che potrebbe generare pure ulteriore lavoro per l'operazione di undo.
Ma è anche vero che tu speri di azzeccare spesso/con elevata incidenza (sempre è statisticamente impossibile) la predizione e quindi quando questo avviene ti sei solo portato avanti a fare lavoro che tanto dovevi comunque fare.

Ovvio che se i meccanismi di predizione sono poco efficienti allora alla fine vai più piano che senza questi sofismi.
E' lo stesso con la cache.
Un sistema dotato di cache ha tempi di accesso alla ram più lenti di un sistema senza cache (perché devi attraversare tutti i livelli di cache).
Però poi tu conti sul fatto che per pochi cache miss totale (con hit in ram) avrai molti cache hit conseguenti.
Certo che se fai solo cache miss allora un sistema senza cache andrebbe più veloce di te.
*

C'è sempre un trade-off. In questo caso il fatto che Meltdown sia presente a partire dal PentiumPro, che è la prima CPU out-of-order di Intel (il precedente Pentium era in-order), dovrebbe far capire che non è stato un atto voluto, ma un errore di distrazione dei progettisti che non hanno tenuto conto di scenari complicati come quelli che sono descritti nel paper Meltdown, per quanto riguarda esclusivamente la sicurezza (visto che i processori operano correttamente con tutti i calcoli che gli vengono dati in pasti).

La macchinosità di Meltdown dovrebbe essere garanzia, per chi ha avuto modo di sbatterci le corna e studiarsela, che non stiamo parlando cose banalotte, come il dottore che dimentica la pinza nella pancia del paziente, ma di questioni estremamente complicate che possono sfuggire a quelli che, in ultima analisi, sono pur sempre degli esseri umani e... sbagliano.

Poi, vabbé, sappiamo che i forum sono pieni di geni delle microarchitetture (non sto riferendo a te, sia chiaro. ) che si sentono in diritto di pontificare pur non avendo la minima idea di quello che dicono...
Quote:
Originariamente inviato da HSH Guarda i messaggi
ma le vecchie cpu tipo Marvell Armada , kirkwood armv7 sono affette anche loro?
C'era una tabella, ma non trovo più il link.

Comunque se sono processori out-of-order, è possibile che siano affetti.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro
@LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro
Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys
cdimauro è offline   Rispondi citando il messaggio o parte di esso
 
1