questo è 1 argomento molto caro a ita1:)
prendendo spunto da 1 articolo di punto informatico
(http://punto-informatico.it/p.aspx?i=2031865) sui corsi che intel sta tenendo per "aggiornare" i programmatori su metodi/modi di utilizzare/sfruttare i più core ora presenti nelle cpu, 1 utente ha dato 1 buon spunto su cui ragionare...
http://punto-informatico.it/b.aspx?i=2031865&m=2032084#p2032084
prendo questo pezzetto, che secondo me è fondamentale per capire:
"Per capirci faccio un paio di esempi. Un programma di conversione filmati da Mpeg2 ad avi DivX può essere visto a "fette" di input, ciascuna fetta può essere convertita per conto da un suo core di processo, perchè il contenuto di una fetta non condiziona l'elaborazione di un'altra fetta, ed ogni porzione può essere elaborata contemporaneamente alle altre su core diversi, accodando alla fine gli output ottenuti: è un programma parallelizzabile idealmente a qualunque livello di MultiThreading. Un altro programma invece, decisamente scientifico, calcola per incrementi infinitesimi successivi la traiettoria di una navicella spaziale dotata di certi valori inerziali iniziali, sotto l'influenza gravitazionale della Terra e della Luna (per tre corpi in moto in reciproca attrazione non esiste a tutt'oggi metodo di calcolo specifico).
In una programma del genere non esiste alcuna possibilità di parallelismo, ogni istruzione ha bisogno del risultato del calcolo di quella precedente...
Ora ditemi voi quanti programmi pensate che avranno davvero bisogno di conversioni in multithreading?"
aggiungo che le questioni che vengono "snocciolate" nn riguardano il mondo dei videogiochi, il quale pare sembrare seguire i trend del momento...;)
Mica c'ho capito molto.....
Ogni individuo e ogni popolo è artefice e responsabile in gran parte del suo destino
cosa nn hai capito?
se in generale sono per i multicore o no. Alcuni dicono che, siccome i programmi non sono sviluppati bene, avere èiù core non serve a niente, altri invece dicono che serve... boh !!!!!
Ogni individuo e ogni popolo è artefice e responsabile in gran parte del suo destino
mah secondo me è che 1 pò si mischiano le cose:
o i multicore vanno più veloci perchè fanno più cose contemporaneamente
o i multicore vanno più veloce perchè lo sono effettivamente su tutti i tipi di calcolo
delle due l'una: se si cerca il multitasking reale (su operazioni complesse) allora è la prima via -> esempio: gioco e codifico un film contemporaneamente
se cerco la seconda, butto via tutto il software fatto sino ad ora e lo riscrivo tutto (ovviamente su cpu single core poi si avranno dei problemi), sempre che sia possibile farlo
sta di fatto che (a mio avviso e spero nn sia così) gli avvenimenti abbiano preso la piega dei 64bit... adottati da tutti con mega-proclami e poi son li inutilizzati perchè i software nn sono stati scritti (o meglio, dopo circa 4 anni c'è poca roba e in pratica nessun so che ne sappia sfruttare a pieno le potenzialità) e perchè si è scoperto che poi bisognava rifare le configurazioni dei pc perchè quelle di quando uscirono nn bastano (mi riferisco alla ram che devi minimo raddoppiare perchè ne viene "sprecata" molta di più a causa delle word da 64bit rispetto a 32bit...)
;)
infatti quello che mi fà incavolare è la questione 64 bit. tra poco usciranno cpu a 128 !!!!!!
pare che il prossimo so microsoft sarà interamente a 64bit... peccato che gli amd64 siano usciti nel 2004 (se nn ricordo male)
cmq anche nel segmento server/workstation nn è che siano stati sfruttati in maniera totale, il guadagno per quelle macchine era di poter montare più ram...
Molta molta più ram.. ma in quella fascia mercato non era una novità tanto considerevole, esistevano già da tempo sistemi in grado di gestire 16 o anche più giga di ram.. :)
perchè infatti c'erano già a 64bit tipo i processori intel, ma nn em64t bensì IA64 che era incompatibile con software 32bit (o meglio, ci girava ma con prestazioni assolutamente basse)
Itanium. Però richiedeva software apèposta. per aggirare la "limitazione" dei 4 GB con 32 bit si è utilizzata da un pò (e tutte le ultime cpu 32 bit ce l'hanno) l'estensione a 36 bit, che permetteva quindi fino a 64 GB di ram
però nn su i sistemi operativi home/business