View Full Version : IPC e frequenza
Dre@mwe@ver
24-02-2017, 11:59
Ciao ragazzi,
Ho avuto ultimamente delle discussioni in proposito del rapporto fra IPC e frequenza. Che io sappia, l'IPC indica le istruzioni per ciclo di clock ed è una "misura" (sebbene non l'unica) della bontà dell'architettura. L'IPC è dunque indipendente dalla frequenza della CPU (nel senso che aumentando o diminuendo la frequenza l'IPC, in teoria, non cambia).
La potenza di una CPU, invece, in linea di massima, è data dalle istruzioni processate per secondo, che sono pari a IPC*frequenza. È per questo motivo dunque che i bench, per comparare gli IPC, vengono effettuati a parità di frequenza per poter avere una stima dell'IPC stesso.
Vorrei sapere da voi se questo è corretto oppure no. Grazie!
Mister D
24-02-2017, 12:07
Esatto.
Per chi piace la matematica:
IPC * frequenza = IPS infatti
istruzioni/ciclo * cicli/secondo = istruzioni/secondo;)
Dre@mwe@ver
24-02-2017, 14:25
Ti ringrazio!
Avrei un'altra curiosità: per quali motivi, oltre magari a quelli legati al software, le prestazioni di una CPU possono non scalare linearmente con la frequenza (poiché l'IPC è appunto indipendente da essa) ?
marchigiano
24-02-2017, 20:58
perchè magari si crea un collo di bottiglia nella ram o in qualche altra periferica e la cpu deve attendere e quindi sprecare tempo
Mister D
24-02-2017, 21:12
Ti ringrazio!
Avrei un'altra curiosità: per quali motivi, oltre magari a quelli legati al software, le prestazioni di una CPU possono non scalare linearmente con la frequenza (poiché l'IPC è appunto indipendente da essa) ?
Perché aumentare la frequenza ha un costo: calore che destabilizza i transistor.
Infatti se vedi il comportamento delle cpu in oc puoi notare che fino ad un certo punto la frequenza può essere aumentata senza aumentare la tensione e il calore aumenta poco, poi si va in un range dove per ogni aumento di frequenza corrisponde ad un aumento di tensione fino a raggiungere una certa temperatura dove si dice esplode la leakage current (corrente di perdita) e gli aumenti di tensioni diventano sempre più alti ad ogni piccolo aumento di frequenza.
A quel punto l'unico modo per poter aumentare ancora le tensione è cambiare raffreddamento in modo da poter asportare più calore e tenere il leakage più basso.
aria->liquido->dissipatore a variazione di fase->azoto o elio liquido.
Quindi quando aumenta il leakage i transistor perdono efficienza e stabilità fino al punto di causare non solo perdita di linearità tra prestazione e frequenza ma anche crash e freeze di sistema.
Altrimenti non servirebbe studiare nuove micro-architetture ma basterebbe aumentare a dismisura la frequenza di una cpu:D
Oltre ovviamente anche a quanto detto da marchigiano. Gli altri componenti del sistema (rame e cache interne alla cpu soprattutto) oltre una certa frequenza potrebbero non essere sufficientemente veloci per star dietro alla cpu occata.;)
Dre@mwe@ver
24-02-2017, 21:48
Grazie a tutti e due, immaginavo una cosa del genere ma gli articoli in rete non sempre rispondono a tutte le domande. Ricordo discussioni del genere ai tempi del Pentium IV!
vBulletin® v3.6.4, Copyright ©2000-2026, Jelsoft Enterprises Ltd.