aiuto cpu!
-
Ciao ragazzi non sono riuscito a trovare una sezione apposita quindi vi prego di indirizzarmici non appena potete ma non so se esiste... sto facendo la mia tesina per la maturità e sto parlando dei processori. più o meno so come funziona dato che ho avuto a che fare con vari overclock ma se vado più sullo specifico mi trovo in difficoltà. e su internet non ho trovato risposte soddisfacenti quindi ho pensato, che c'è di meglio del proprio forum di fiducia?:Dquindi chiaritemi qualche idea vi prego!
un processore è diviso in varie parti, cu, alu, registri e blablabla... un procio da 1 ghz riesce ad eseguire 1 miliardo di calcoli al secondo... al secondo? per secondo intendiamo clock? quanto dura un clock? oppure riesce ad eseguire un miliardo di calcoli a clock?
grazie in anticipo! vi prego non bannatemi dal forum!! so che non sono ammesse domande del genere ma davvero non so più dove sbattere la testa! xD
-
Ciao ragazzi non sono riuscito a trovare una sezione apposita quindi vi prego di indirizzarmici non appena potete ma non so se esiste... sto facendo la mia tesina per la maturità e sto parlando dei processori. più o meno so come funziona dato che ho avuto a che fare con vari overclock ma se vado più sullo specifico mi trovo in difficoltà. e su internet non ho trovato risposte soddisfacenti quindi ho pensato, che c'è di meglio del proprio forum di fiducia?:Dquindi chiaritemi qualche idea vi prego!
un processore è diviso in varie parti, cu, alu, registri e blablabla... un procio da 1 ghz riesce ad eseguire 1 miliardo di calcoli al secondo... al secondo? per secondo intendiamo clock? quanto dura un clock? oppure riesce ad eseguire un miliardo di calcoli a clock?
grazie in anticipo! vi prego non bannatemi dal forum!! so che non sono ammesse domande del genere ma davvero non so più dove sbattere la testa! xD
-
come non sono ammesse domande del genere?

anzi dovresti essere bannato solo solo per aver pensato che sarebbe stato un problema chiedere

Allora un processore da 1GHz ha una frequenza di clock di 1GHz vale a dire che un periodo dell'onda quadra del clock dura 1 milionesimo di secondo (1/frequenza) cioè un nanosecondo.
La potenza computazionale totale dipende dal numero di core presenti nella CPU e dall'IPC (cioè il numero di istruzioni per clock che ogni core è in grado di elaborare).
Ovviamente non è facile misurare l'IPC ancheperchè questo dipende in modo determinante dal tipo di calcoli che bisogna effettuare.
In generale una buona CPU ha una potenza computazionale di circa 50-100GFlop. L'IPC per core è più o meno compreso tra 1 e 4...
-
tempqwert ha scritto:
Ciao ragazzi non sono riuscito a trovare una sezione apposita quindi vi prego di indirizzarmici non appena potete ma non so se esiste... sto facendo la mia tesina per la maturità e sto parlando dei processori. più o meno so come funziona dato che ho avuto a che fare con vari overclock ma se vado più sullo specifico mi trovo in difficoltà. e su internet non ho trovato risposte soddisfacenti quindi ho pensato, che c'è di meglio del proprio forum di fiducia?:Dquindi chiaritemi qualche idea vi prego!un processore è diviso in varie parti, cu, alu, registri e blablabla... un procio da 1 ghz riesce ad eseguire 1 miliardo di calcoli al secondo... al secondo? per secondo intendiamo clock? quanto dura un clock? oppure riesce ad eseguire un miliardo di calcoli a clock?
grazie in anticipo! vi prego non bannatemi dal forum!! so che non sono ammesse domande del genere ma davvero non so più dove sbattere la testa! xD
non è cosi
allora tanto per iniziare se va a 1ghz, un colpo di clock dura esattamente 1/f ( T = 1/f dove T è il periodo) prima nota, la frequenza è al secondo, la frequenza di funzionamento è un fattore fisico, e indica ogni tanto tempo la cpu ritorna a fare qualcosa
non si parla poi di calcoli, ma di numero di istruzioni (IPC) a colpo di clock
ora può sembrare assurdo, da un punto di vista mentale, ma le cpu odierne ad ogni non eseguono un sola istruzione per ciclo ma N (tralasciando il numero di core), e questo determina la differenza che c'è tra una cpu nuova e una vecchia, dove a frequenze uguali ci sono prestazioni diverse
questo è possibile grazie al alcune tecniche costruttive (le pipeline) che permettono di eseguire piu cose a colpo di clock
si parla anche di cpu superscalare, quei però bisogna vedere la realizzazione, per parlare di superscalare, la cpu deve necessitare di più elementi costruttivi uguali
le pipeline sono dei "condotti" tipo catene di montaggio, dove la cpu a ogni blocco fa qualcosa (fetch, decodifica, calcolo etc) ora è importante diciamo che ogni blocco vada alla stessa velocità, altrimenti la pipeline non funziona
per questo le cpu moderne sono dei RISC cammuffatti da CISC, dato che l'implementazione RISC prevede istruzioni tutte della stessa lunghezza e (mi pare) sono tutte eseguite in un colpo di clock, pertanto più semplici
ora ad ogni colpo di clock, in teoria ogni blocco della pipeline fa uno step in avanti, nel ciclo di elaborazione (dal fetch all'output), supponendo che tutto funzioni bene. è chiaro quindi che effettivamente in un colpo di clock, la cpu ha eseguito N step di fatto, in una cpu senza pipeline ogni singolo step è eseguito sempre in un colpo di clock pertanto... N step = N colpi di clock
esistono poi altri approcci superscalari (esempio l'SMT) che permettono un'implementazione del calcolo parallelo nella cpu ma è un discorso abbastanza complicato, e comunque appunto ci devono essere più pezzi uguali, ma la logica è quella sopra, le cpu moderne sono tutte superscalari, dal pentium 1 in poi
la lunghezza della pipeline dipende da come è diviso il ciclo di fetch-execute-output in blocchi, più è "lunga", più blocchi ci sono, più sono elementari i blocchi, maggiore può essere il clock
perchè il clock dovrebbe dipendere dalla complessità dei blocchi? la cpu è buona parte costruita da reti combinatorie che hanno un delay nel commutare le proprie uscite, ora non so benissimo come sono realmente e fisicamente fatte le cpu moderne ma ti posso dire che l'unità di controllo (uno degli elementi fondamentali di una cpu) può essere microprogrammata (che puoi vedere come una grossa matrice dove avendo un input hai un output corrispondente a dove hai toccato diciamo) o hardwired, ovvero cablate, che sono implementate mediante macchine a stati finiti
queste macchine sono realizzate tipicamente da una parte di logica combinatoria e una parte di memoria, elementi che hanno per natura un delay
l'Alu stessa, in una visione molto molto semplicistica e riassumibile come un full adder, costruito puramente da logica combinatoria
pipeline lunghe però hanno dei problemi in caso di errore, dato che prevede uno svuotamento della pipeline pertanto perdita di tempo elaborato (motivo per cui l'architettura netburst faceva schifo=
poi vabbe ormai dopo sto polpettone mi sn dimenticato da dove sono partito

ora nn ho troppo tempo cmq, magari a domande più dirette ti posso rispondere in seguito, se ne sono in grado
-
Devil_Mcry ha scritto:
ora può sembrare assurdo, da un punto di vista mentale, ma le cpu odierne ad ogni non eseguono un sola istruzione per ciclo ma N (tralasciando il numero di core), e questo determina la differenza che c'è tra una cpu nuova e una vecchia, dove a frequenze uguali ci sono prestazioni diverse
cavolo mi sembra di parlare con bill!!
potresti spiegarmi un po' meglio la parte che ho quotato? non mi servono cose specifiche, mi servono cose interessanti e che attirino, curiosità, qualcosa di affascinante capito? devo farli rimanere a bocca aperta!! -
è spiegato poco sotto con la faccenda delle pipeline e delle unità doppie nei superscalari
-
tempqwert ha scritto:
cavolo mi sembra di parlare con bill!!
potresti spiegarmi un po' meglio la parte che ho quotato? non mi servono cose specifiche, mi servono cose interessanti e che attirino, curiosità, qualcosa di affascinante capito? devo farli rimanere a bocca aperta!!Allora chiedo l'ausilio della grafica


Come puoi notare questo è un esempio, per farti capire meglio, con 4 pipeline.
Ogni colore è un istruzione diversa, se guardi attentamente vedrai che al 4° ciclo di clock tutte le istruzioni occupano una pipeline, una in fetch,una in decode, una in execute ed un in write, quindi con l'ausilio delle pipeline non si è obbligati ad una sola istruzione per clock!
Da questo ne deriva che le prestazioni della cpu non sono solamente collegate alla frequenza come succedeva in passato!
-
grazie a tutti... un'ultima cosa.. come posso spiegare l'assurdità di ad esempio un miliardo di calcoli al secondo dal punto di vista di mente umana? cioè è veramente una cosa assurda o c'è una sorta di spiegazione?
-
considera che quella cosa che fa diversi miliardi di calcoli al secondo è stata partorita dalla mente umana, quindi non ti sentire così inferiore al PC

Semplicemente il discorso è che rispetto a noi la CPU riesce a "switchare" molto più velocemente delle nostre sinapsi, che hanno delle limitazioni fisiche intrinseche. Tuttavia il PC non è ancora in grado di riprodurre alcuni ragionamenti molto complessi che il cervello può invece fare.
Ciao! Sembra che tu sia interessato a questa conversazione, ma non hai ancora un account.
Stanco di dover scorrere gli stessi post a ogni visita? Quando registri un account, tornerai sempre esattamente dove eri rimasto e potrai scegliere di essere avvisato delle nuove risposte (tramite email o notifica push). Potrai anche salvare segnalibri e votare i post per mostrare il tuo apprezzamento agli altri membri della comunità.
Con il tuo contributo, questo post potrebbe essere ancora migliore 💗
Registrati Accedi