tempqwert Posted June 10, 2011 Share Posted June 10, 2011 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 Quote Link to comment Share on other sites More sharing options...
Le085 Posted June 10, 2011 Share Posted June 10, 2011 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... Quote Link to comment Share on other sites More sharing options...
Devil_Mcry Posted June 10, 2011 Share Posted June 10, 2011 (edited) 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 Edited June 10, 2011 by Devil_Mcry Quote Link to comment Share on other sites More sharing options...
tempqwert Posted June 11, 2011 Author Share Posted June 11, 2011 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!! Quote Link to comment Share on other sites More sharing options...
Devil_Mcry Posted June 11, 2011 Share Posted June 11, 2011 è spiegato poco sotto con la faccenda delle pipeline e delle unità doppie nei superscalari Quote Link to comment Share on other sites More sharing options...
Zerocool83 Posted June 11, 2011 Share Posted June 11, 2011 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! Quote Link to comment Share on other sites More sharing options...
tempqwert Posted June 12, 2011 Author Share Posted June 12, 2011 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? Quote Link to comment Share on other sites More sharing options...
Le085 Posted June 12, 2011 Share Posted June 12, 2011 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. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.