Pubblichiamo un guest post di Lorenzo Tosetto
Non c’è bisogno di essere fisici, ingegneri, o comunque addetti al settore per aver sentito parlare della famigerata previsione che, nonostante cinquant’anni di correzioni, riformulazioni, estensioni e corollari, sostiene fondamentalmente sempre lo stesso concetto: l’innovazione tecnologica è sufficientemente veloce da permettere di crescere sempre più dispositivi su una data area di semiconduttore (un parametro noto come “densità di integrazione”). E questo concetto la legge di Moore lo sostiene a piena ragione.
Quello che magari è oscuro ai più è perché – con l’attuale tecnologia- si inizia a fare fatica a tenere il passo ad un raddoppio di densità ogni (diciamo) due anni.
Senza pretese di completezza (in caso di interesse, anche il numero di ottimi libri sulla fisica dei dispositivi segue la legge di Moore), il mio obiettivo è quello di spiegare brevemente perché stiamo arrivando al limite tecnologico e quali sono le prospettive future.
Crescere un dispositivo significa, in parole veramente povere, prendere un wafer di semiconduttore (generalmente Silicio), scavare le zone dove vogliamo inserire, ad esempio, i tre terminali di un transistore e riempire i buchi con materiale opportuno, avendo poi cura di contattare il tutto per il passaggio della corrente.
Non è difficile comprendere come, nell’inserire miliardi di elementi in un wafer di una manciata di pollici di diametro, la precisione necessaria nel “disegnare” sul semiconduttore le zone che verranno scavate è un fattore chiave.
Per questo processo si utilizza un metodo vecchio come il mondo: l’ombra. Si disegnano su una lastra trasparente le zone da scavare, si rende opaco tutto il resto e il gioco è fatto: la luce passa solo attraverso le zone trasparenti e impressiona una particolare resina (photoresist) spalmata sulla superficie del wafer, proprio come una fotografia. La resina impressionata si stacca e lascia scoperte le zone da scavare.
Qual è il problema? Un fenomeno fisico particolarmente subdolo chiamato diffrazione, il cui effetto è quello di “sbrodolare” la luce se questa incontra un ostacolo dello stesso ordine di grandezza della sua lunghezza d’onda. L’attuale tecnologia utilizza lampade DUV (Deep UV) che, con particolari lenti, permette dimensioni minime di 50nm circa.
E’ chiaro dunque che uno dei limiti nello scaling dei dispositivi è quello di riuscire fisicamente a disegnarli sul wafer: per fare un esempio molto libero, è come tentare di fare un disegno piccolo e dettagliato usando un Uni Posca.
Ovviare a questo problema è oggetto dell’attuale ricerca in nanolitografia, dedita all’ambizioso tentativo di implementare metodi litografici fino a scala atomica.
Un secondo problema nello “scaling down” dei transistori risiede nel fatto che, riducendo tutte le dimensioni, si riduce anche lo spessore dello strato di dielettrico (ossido di Silicio) che costituisce il gate, l’elemento fondamentale del dispositivo.
Uno spessore troppo ridotto può causare un fenomeno chiamato tunneling: gli elettroni sul gate, che dovrebbero comportarsi come in un condensatore, riescono a penetrare la barriera di ossido creando una corrente che può deteriorare pian piano il materiale, aumentando sempre più e letteralmente “bruciando” il dispositivo.
La stessa cosa può avvenire se ad esempio il canale sottostante il gate è troppo corto: una vicinanza eccessiva tra zone a diverso potenziale può creare campi elettrici particolarmente estremi e conseguenti scariche elettriche dannose per il corretto funzionamento.
Una miriade di altri problemi (capacità che limitano la frequenza operativa, dissipazione efficace della potenza, etc…) vanno risolti nel tentativo di scalare le dimensioni, ridurre i costi e soprattutto migliorare il funzionamento dei dispositivi, qualunque sia il parametro usato per valutarlo.
Dove stiamo andando? Cosa ci riserva i futuro? E’ difficile dirlo: la ricerca è attiva in una sterminata serie di campi diversi fra loro, uno per tutti il famoso computer quantistico, in cui lo spin degli atomi immagazzina le informazioni proprio come i bit in un computer classico.
Le stime riguardanti i limiti della legge di Moore sono quanto mai eterogenee, ma una cosa è certa: la ricerca è più florida che mai anche nel “vecchio” mondo dei dispositivi a semiconduttore, e chi si aspetta l’avvento di nuovi dispositivi di concezione completamente diversa dovrà probabilmente accontentarsi di fantascientifiche speculazioni.
A meno che, in agguato in un angolo della scienza, ci sia la famosa singolarità tecnologica, pronta a proiettarci nel mondo della fantascienza.
ma in parole povere, mi conviene comprare adesso un pc o aspettare che calano i prezzi ? XD
scherzi a parte, e’ affascinante tutto l’articolo ed effettivamente i dubbi sulla legge di moore me li sono posti anche io.
come dice moore ogni 2 anni raddoppia la potenza, ma ne abbiamo davvero bisogno ?? ormai siamo arrivati ad un punto in cui anche i portatili da 400 € bastano ad ogni tipo di esigenze, mentre 3 anni fa non ci giocavi neanche a tetris su un sito flash.
quindi la mia domanda e’, Serve ancora questa legge di moore ? abbiamo bisogno di piu prestazioni, se quello che fa in genere la gente e’ andare su msn o facebook ? ( tralasciamo il campo sperimentale scentifico e altro)
voi che ne dite
ma in pratica, cosa succedera?
studiando scienze dell’informazione mi hanno fatto capire che è meglio evolvere un software che riscriverlo da zero…
questo vale per l’hardware oppure no?
Bell’articolo
in effetti ci stiamo sempre più avvicinando ai limiti delle attuali conoscenze, il raggio atomico infatti è dell’ordine di 0,03-0,6 nanometri a seconda del tipo di atomo della tavola periodica degli elementi
@ Marco
la legge di Moore diceva inizialmente che ogni 18 mesi il numero di transistors contenuti in una determinata area raddoppia, poi negli anni hanno aumentato l’intervallo temporale
comunque prendendo come riferimento il recente passaggio da Core 2 a Nehalem (ma lo stesso discorso vale per AMD) si può dire che il nuovo processore abbia prestazioni doppie del precedente? No.
@marco: la tua domanda “ma ci serve davvero questa crescita?” è secondo me un’ottima questione.
Non c’è bisogno che il mio pc sia dual-core per guardare facebook, la mail e per scrivere articoli per AD. Eppure troviamo addirittura processori quad-core nel settore consumer.
Quello che va considerato è che quella di Moore, ai tempi della sua enunciazione, ha avuto più il carattere di una profezia che di una semplice “legge”: la ricerca ha dunque avuto una specie di spinta (per lo più inconscia, oserei dire) per non venire meno all’affermazione di Moore.
Oltre a questo, c’è da dire che la ricerca non è sempre finalizzata al commerciale, ma, nel momento in cui c’è possibilità di espansione al di fuori di mercati di nicchia (come quello del supercomputing, per dirne una), spesso si tenta di cogliere l’opoortunità.
Ma non solo. Non vorrei esagerare con i parallelismi, ma perché l’uomo è andato sulla Luna? Ne aveva davvero bisogno? C’è una componente di sfida, di tentativo di andare oltre, che è insito nella natura umana e la progressione tecnologica, secondo me, ne fornisce molti esempi.
Non penso di aver risposto esaustivamente alla tua domanda, che meriterebbe pagine e pagine di discussione. Voglio solo sottoporti questi primi pensieri che mi sono venuti in mente riflettendo sulla tua questione.
@anna:
cosa intendi? Ti riferisci ai possibili sviluppi post-semiconduttori o comunque post-attuale-tecnologia?
ehm… la ricerca NON “ha dunque avuto una specie di spinta (per lo più inconscia, oserei dire) per non venire meno all’affermazione di Moore.”
Ha la spinta che ha sempre avuto: far più soldi della concorrenza o far più soldi a prescindere che la concorrenza esista o meno. Forse se Intel non avesse avuto AMD ad alitargli sul collo saremmo ancora tutti col Pentium III ad esser fortunati, altro che 32 nm. Moore l’ha buttata lì, se qualcuno vuol far sì che una frase buttata lì valga come profezia o dogma è un altro paio di maniche, un discorso da comare che prima o poi sbatterà contro le leggi della fisica. E si farà assai male!
@ marco : la legge di Moore non hai mai detto che la potenza di un processore raddoppia ogni 18 mesi. Dice che ogni 18 mesi la densita’ dei transistor raddoppia. Fino a poco tempo fa questo raddoppio si manifestava in una velocita’ maggiore (alte frequenza della cpu…, prestazioni maggiori). Oggi come oggi la legge di Moore continua ad essere rispettata, l’unica cosa e’ che il raddoppio della densita’ dei transitor si manifesta nell’aumento di core e non in un aumento vertiginoso della velocita’ della cpu.
Non e’ un caso se da 3 anni a questa parte le cpu girano sempre intorno ai 3 Ghz mentre aumentano in maniera drastica i core.
Articolo molto interessante! Ma come già fatto notare e, legge a parte… ha un senso continuare a correre verso l’infinito ed oltre?
Personalmente ritengo che lo sviluppo odierno dovrebbe essere maggiormente quello software… indietro di anni rispetto a quello harware… se è vero infatti che abbiamo schede sempre più performante, processori a 6 core, memorie con una frequenza di funzionamento a 2333Mhz… allo stesso tempo abbiamo grandi factory con programmi ormai obsoleti… che regalazo prestazioni solo con hardware datato. Stiamo iniziando a parlare di 128bit, quando ancora il mondo gira a 32… nel migliore dei casi gira a 64 adattato dal 32…
Se non si può ridurre la dimensione non basta aumentare la superficie?
x marco
la risposta è nel modello di economia del Capitalismo, che richiede una continua domanda da parte del mercato per potersi sostenere.
Il continuo progredire e sostituire a intervalli sempre più ravvicinati i prodotti di consumo è l’ effetto (deleterio, secondo me) di questa impostazione dell’ economia.
Tale sistema sopravvive solo finché c’ è domanda. Vedi la FIAT che vuole chiudere Termini Imerese… perché produrre automobili che nessuno compra? Non che siano brutte o poco buone, semplicemente non c’ è richiesta, in quanto siamo nel periodo di crisi.
Lo stesso i computer/cellulari/prodotti per la casa/ecc… vivono di marketing. Non sono roba realmente necessaria, ma la gente li deve comprare se vuole alimentare il mercato globale.
Sarebbe un discorso amplissimo, quindi mi fermo qui.. E in ogni caso non vedo molte alternative ;-)
devono dare addio all’architettura x86. è l’unica soluzione valida….
ma finchè esistono solo intel e amd per il mercato desktop ciò non avverrà !!
@ recordman:
Non ho mai sostenuto che la “gara all’integrazione” è stata causata dal fatto che Moore ha detto “ah, ogni due anni la densità raddoppia”. Sto solo dicendo che indubbiamente un’affermazione del genere da una persona di spicco nel campo dei microprocessori ha avuto anche (anche) un effetto psicologico. E dai qui a negare l’effetto (ben maggiore) della competizione fra imprese ne passa.
Non ho capito cosa sia un discorso da “comare”, e ad ogni modo il fatto che un limite esista mi sembra un dato di fatto di cui nessuno ha bisogno di accorgersi.
@saimon68:
se aumenti l’area riduci la densità. Se il tuo intervento invece è per dire “se abbiamo bisogno di più transistor, mettiamoli su un’area maggiore” ti rispondo che oltre ad alcuni limiti fisici c’è una questione di costi di produzione, ovvero (in linea di massima) più dispositivi metti su un singolo wafer, meglio è.
Ciao, interessante l’articolo, forse una risposta c’è ed è puramente economica, a parità di transistor meno silicio usi e più ti renderà la tua produzione, nel campo dei semiconduttori è vitale lo scaling dei dispositivi…
Si sa già da tempo che un limite esiste, alla riduzione delle dimensioni ed ci sono in fase di ricerca piuttosto avanzata transistor con prestazioni di gran lunga superiore agli attuali sviluppuati tridimensionalmente se non cose ancora più esotiche come in i cristalli fotonici sviluppati da intel…
Ma la verità è che all’aumentare della potenza di calcolo applicazioni che non sono neanche ipotizzabili diverranno alla portata di tutti, la velocità nel loro sviluppo dipende solo dal mercato, considerato che i livelli di ricerca delle aziende hanno un inquadramento decennale…
Serve tutta questa potenza?
Finchè sarà Microsoft a farci credere che il loro è il SO migliore credo che la corsa verso il piccolo e veloce non si fermerà mai.
Concordo che lo sviluppo del SW è rimasto molto indietro rispetto alla capacità di elaborazione HW. Il divario si è allargato ulteriormente quando sono stati creati le CPU multicore. E chi ha mai pensato che la potenza potesse sarebbe raddoppiata per aumento del numero di ALU invece che dei soliti MHz? Ed ecco che la maggio parte dei problemi del SW sono venuti a galla. Non tutti gli algoritmi sono parallelizzabili e la moltiplicazione di unità di calcolo invece che della loro velocità di esecuzione non porta alcun vantaggio, se non marginale quando si usano più applicazioni contemporaneamente (ma è un problema fittizio che era già stato risolto con CPU monocore su cui non girava Windows, ovviamente).
Per quanto riguarda la legge di Moore è più una legge di mercato che tecnica. Ed è ovvio che i tempi si allunghino, non perchè non vi siano le capacità di creare in tempi più brevi sistemi con nanometrie inferiori, ma perchè i costi per la realizzazione degli stessi aumenta continuamente e serve sempre più tempo per ammortizzarli, posticipando la presentazione della nuova tecnologia fino a quando quella presente non sia stata ben strizzata a dovere.
Il paragone con il viaggio sulla Luna non esiste: in quel caso i costi sono stati pubblici e i guadagni diretti nulli (tanto che c’è chi pensa che non si sia proprio andati,non essendoci alcuna prova diretta ma tante incognite a cui non si da risposta). Non c’erano tabelle di marcia da rispettare, se non la condizione di mostrare di essere più bravi dopo essere partiti molto in ritardo.
… come già detto: che senso ha costruire una macchina che faccia 900Km/h se poi non ci sono le strade per provarla? Nessuno! O meglio nessuno utile!
Se penso all’hardware esistente all’uscita di XP (2001) e a quello disponibile oggi rimango molto perplesso! Il computer a momenti dovrebbe reagire prima di premere il pulsante e invece e li tranquillo… e i tempi sono rimasti quelli… sempre se tenaimo presente SW e HW!!! Ritengo quindi che questa sfida continua… sia davvero solo una sfida consumistica e non una sfida prestazionale vera
Parlando di software che rimane indietro come sviluppo e quindi di riflesso in termini di enorme inefficienza, mi viene in mente flash
avete presente l’enorme divario di occupazione CPU che c’è tra un video Youtube riprodotto in locale (dopo averlo in qualche modo salvato) e lo stesso video riprodotto dal sito tramite Flash?
[…] l’innovazione tecnologica è sufficientemente veloce da permettere di crescere sempre più dispositivi su una data area di semiconduttore […]
… scusate, ma che vuol dire?
Non serve maggior potenza, servono programmi e sistemi operativi più ottimizzati ;)
@Giulio Severini:
Mi sembra italiano piuttosto chiaro: la tecnologia di crescita di dispositivi è sufficientemente veloce (in termini di miglioramento) per permettere di mettere sempre più dispositivi su un wafer.
@Nessuno:
Nel mio paragone sul viaggio nella luna non c’entrano niente i termini economici, né i vari complotti sul fatto che ci siano andati davvero.
@ anna
In pratica, succedera’ che continueremo ad aumentare le prestazioni delle macchine, anche se a ritmo piu’ lento e con modalita’ diverse. La corsa a frequenze sempre piu’ elevate e’ finita per cause termiche (la potenza da dissipare cresceva oltre la capacita’ dei dissipatori) e architetturali (per aumentare la frequenza devi aumentare la profondita’ delle pipeline, e c’e’ un punto oltre il quale cominci a perdere prestazioni invece che guadagnarle).
@ Righo
Cosa vuol dire “il software e’ indietro di anni rispetto all’hardware”? Su cosa li confronti?
E cmq, per forza deve restare indietro: non puoi scrivere programmi prima che esista l’hardware su cui farli andare :)
@ n0v0
Diciamo che l’unico sistema completamente stabile e non soggetto a crescita continua “forzata” e necessaria per sostenersi… e’ il modello cacciatore-raccoglitore di 15mila anni fa, e non lo baratterei per quello che abbiamo adesso :)
Il fatto e’ che noi _vogliamo_ di piu’: a me piace l’HD e non voglio tornare alla VGA, mi piaciono le comunicazioni worldwide istantanee, mi piace sapere che una spropositata potenza di calcolo viene usata per fabbricare nuove medicine e permettere esami medici che prima non poteva esistere, e salvare milioni di vite… e non credo di essere il solo :)
@ ssj5
Il problema dell’ISA e’ un problema da anni ’80. Oggi non e’ una questione essenziale, possiamo costruire processori x86 a basso consumo o ARM ad alte prestazioni. I veri problemi sono altrove, soprattutto nel concepire nuovi modelli di programmazione che permettano di sfruttare il parallelismo offerto dall’hardware (volente o nolente) in modo piu’ efficiente e comprensibile per il programmatore.
@pleg:
Bravo, hai puntualizzato un concetto secondo me importante: noi “vogliamo” di più.
E’ uno dei concetti che volevo far passare con il mio primo commento, ed è questo a cui mi riferivo con il paragone con l’esplorazione lunare (seppur lontano, ok).
Va bene l’economia, i soldi, il capitalismo, la competizione…ma non bisogna dimenticare che il desiderio di scoprire e di sorpassare ciò che già esiste è insito nella natura umana. E senza questo io non penso saremmo arrivati all’alta definizione, al volo, a tutto quel che volete, che oggi sembra scontato, ma non lo è per niente.
Un altro limite all’evoluzione delle tecnologie CMOS secondo la legge di Moore sta nei costi esorbitanti che queste hanno in termini di investimenti iniziali per mettere in piedi una linea di produzione. Se 7/8 anni or sono circa la meta’ dei TOP 10 produttori di Silicio poteva permettersi di sviluppare in casa la propria tecnologia superscalata (tipo la 90nm), oggi come oggi c’e’ solo INTEL che va per conto suo. Le altre si riuniscono in consorzi per sharare i costi. Per raggiungere rese accettabili da rendere economicamente conveniente le piazze d’armi che sono i wafer della 32/28nm ci vogliono tempo e soldi.
Giusto per dare un’idea: un set di maschere in 32nm costa circa 5 volte quello in 65nm.
La corsa alle tecnologie nano-metriche su silicio sta rallentando a causa della ridotta redditivita’ che queste promettono.
Molti produttori guardano con interesse crescente alle tecnologie cosidette “more than Moore”, ma questa e’ un’altra storia ..
hehe piu’ che una legge e’ stata una profezia… quando l’avevo sentita la prima volta mi aveva affascinato era una sfida per l’uomo che garantiva anche una crescita esponenziale economica di tutto il mercato IT, infondendo nei consumatori una specie di fede tecnologica.
Ora siamo arrivati al limite, oltre a questo come si e’ gia’ accennato nei commenti le priorita’ sono altre in primis il software che la maggior parte delle volte non sfrutta a pieno il nostro hardware.
La crisi di certo non ha certo aiutato i produttori e gli utenti ora sono piu’ consapevoli sul consumo energetico e sulla longevita’ della batteria, c’e’ stato un vero boom dei netbook che hanno una potenza di calcolo ridotta ma vantano consumi molto ridotti.
Per finire le architetture sono diverse da quelle di anni fa non piu’ basate su singoli core e ciliegina sulla torta stiamo ritornando al cloud computing dove non servono clients ultrapotenti.
Molti criticano come il software non si adegui rapidamente ai cambiamenti epocali. Siamo passati da un modello sostanzialmente single thread ad uno dove per garantire maggiori prestazioni occorre “parallelizzare” il software.
La maggior parte del software viene ancora sviluppato facendo riferimento al modello di Von Neuman, quello per cui un programma viene visto come una serie di istruzioni che modificano locazioni di memoria. Questo modello, ed i linguaggi che vi fanno riferimento (C, C++, Java, Python, etc…) collidono pesantemente con l’idea di avere codice parallelo. E difficile, molto difficile sviluppare codice con paradigmi che sono totalmente estranei all’idea di avere parallelismo nel codice e richiede tutta una serie di hack che non sistemano il problema a monte. Occorre effettuare uno shift verso modelli di sviluppo che tengono conto del parallelismo delle nuove architetture e i linguaggi in tal senso sono quelli puramente funzionali.
Ma questa speranza e’ vana, visto e considerato che ci portiamo ancora dietro il Cobol. Tra 50 anni magari avremo processori basati su grafene, con centinaia di core e lo sviluppo del software seguira’ ancora i modelli a stato.
@pleg
Ciao Pleg, mi riferisco proprio al fatto del ineguatezza dello sviluppo software rispetto all’hardware esistente. Condivido e accetto che un programma non possa essere scritto su un hardware non diponibile… ma direi che gran parte dei software a disposizione sono ottimizzati per hardware di 5 anni fa!
@goldorack
Non critico chi lavora per sviluppare i software, anche perchè non conoscendo il campo, non sò quanto sia difficile sviluppare le cose (per venga se qualcuno con taaaanta pazienza mi delucidasse, critico un sistema!
Mi ricordo i primi cellulari… quelli ancora a tracolla dal peso di 100kg… la linea non c’era, il gsm, funzionava in tre zone d’italia, l’rds… ancora oggi meglio tacere… insomma è bello avere la macchina potente, veloce e scattante… ma allo stesso tempo mi piacerebbe avere anche le strade per vederla andare.
Ancora oggi il 64 bit reale è fantascienza… si lavora e qui devi essere franco ancora a 32 bit con alcuni adattamenti per il 64… forse i costruttori hardware si dovrebbero fermare un pò per dare una mano ai vari sviluppatori ad avvicinarsi di più!
x pleg
infatti, quando ho detto “non ci sono molte alternative” mi riferivo all’ orto casalingo e simili ;-)
Però te dici: mi piace l’ alta definizione, non tornerei alla vga. E poi aggiungi: mi piace che montagne di calcoli siano adoperati per curare malattie, ecc..
È un po’ diverso, trovi?
Sono faverevole al miglioramento continuo degli ambiti di ricerca. Questo non vuol dire che l’ aumento di potenza debba coinvolgere anche il mercato normale. Che credo fosse il punto della questione del primo post.
O, meglio, non vorrebbe dire, perché – come ho già detto – è tutta una questione di soldi e i soldi vengono da noi stessi medesimi, che glieli diamo acquistando sempre nuovi (e spesso inutili) prodotti spacciati per necessari.
Cos’ è la moda? La pubblicità? Le promozioni? Le svendite? Il 3D nei film? Sono TUTTI modi di vendere la stessa minestra. Punto.
concordo con il post qui sopra… tra l’altro il 3d il più delle volte è fatto anche male, ma tutti chiudono un’occhio… più che altra potenza nell’hardware servirebbe molta più ottimizzazione degli os e nel software, ma poi i produttori hw non venderanno più nulla… insomma è il circolo vizioso del capitalismo… ma anche questo è stato già detto :)
[quote]Ancora oggi il 64 bit reale è fantascienza… si lavora e qui devi essere franco ancora a 32 bit con alcuni adattamenti per il 64[/quote]
Di tutte le ottimizzazioni possibili e immaginabili, il passaggio da 32 a 64 bit è quello meni utile in assoluto. Dimmi tu quante volte tratti numeri che superano i 4 miliardi o hai bisogno di oltre 4 GB di RAM per ogni singola applicazione?
I 64 bit sono una delle tante evoluzioni utili solo per alcune nicchie che è stata fatta passare per indispensabile alla massa.
I 64 bit non sono nati nè con AMD nè con Windows, ma esistevano già decenni prima e usati proprio solo dove servivano. Tanto è servito portarlo al mercato consumer che Windows 32 bit va esattamente uguale prestazionalmente alla versione 64 bit. Anzi, quest’ultima usa più memoria, dovendo gestire puntatori a 64 bit invece che 32.
Il progresso non è certo questo. Non è il passaggio dalla DDR2 alla DDR3 con la quale ottenere il 2% di prestazioni in più (quando va bene). Non è passare dal PCI-E 1.0 a 2.0 quando il primo non è neanche minimamente saturato in banda. Stessa cosa per SATA 2 vs 3 o tutta la miriade di “cianfrusaglie” che ci vogliono far comprare per rinnovare l’HW. Il progresso è in cose molto più subdole ed economiche (purtroppo per i costruttori di HW). E spesso passa inosservato anche se poi ne beneficiamo in maniera enorme.
Sbagli. Le applicazioni a 64 bit sono mediamente più veloci del 10-15% delle medesime, ma a 32 bit.
I 64 bit oggettivamente non c’entrano per questo, quanto il raddoppio dei registri che è arrivato con l’architettura AMD64.
Concordo sui dati: a 64 bit si usano raramente, mentre con 32 bit ci si fa quasi di tutto. Sono comodi nei database per ID a 64 bit e per i tipi Decimal/Numeric (numeri precisi). Oppure se riesci a inventarti qualcosa di particolare (a me è capitato quando ho lavorato a un decoder JPEG 2000).
Sono e saranno molto utili, invece, per gestire quantità di memoria superiore ai 4GB.
A chi dice che i 64 bit non servono, beh, a giocare a Crysis a me son serviti :-P
@Cesare Di Mauro
il 10-15% non è per tutti gli applicativi.
E al massimo dovremmo gridare affinché Intel rimetta mano a quello scempio dell’architettura x86 invece di voler un supporto ai 64 bit che nella vita di tutti i giorni è inutile.
Quella sarebbe davvero innovazione che permetterebbe di dimenticare la legge di Moore per avere qualcosa di migliore.
@ Nessuno
Chiedere di abbandonare x86 e’ come chiederedi abbandonare il silicio perche’ con l’arseniuro di gallio si possono fare dispositivi piu’ veloci.
Sorry, non si puo’ fare. x86 e’ ormai in miliardi di linee di codice, in ogni libreria, prodotto, applicazione, eccetera, e nessuno si mettera’ mai a cambiare tutto. Non ha senso. Il costo e il tempo sarebbero folli, e i guadagni irrisori.
Si’, irrisori. Altre ISA piu’ moderne possono dare qualche vantaggio, ma non e’ niente di decisivo nella maggior parte delle nostre applicazioni desktop. Molto meglio fare quello che si sta facendo: mantenere la retrocompatibilita’ col codice esistente, e magari andare verso processori multi-ISA (come Larrabee: supporta x86, piu’ un nuovo Instruction Set vettoriale molto pulito e potente, da usare per tutte quelle applicazioni dove il number crunching domina).
@Nessuno: ho parlato di media. Poi è chiaro che ci sono applicazioni che non ne beneficiano (ad esempio il compilatore a 64 bit di Microsoft, se non ricordo male), altre che vanno ben oltre il 15% (MySQL, POVRay, 7-Zip, ecc. ecc.)
Sul resto concordo con pleg. E aggiungo che in termini puramente prestazionali x86 non ha nulla da invidiare alle altre architetture. Anzi.
Mi sbalordisce il fatto che ancora si continua a parlare di questa benedetta legge di Moore, come se questo Moore fosse il Nostradamus del 900.
Io ritengo che questo tizio, si insomma Moore non abbia predetto alcun andamento sulla miniaturizzazione dei circuiti integrali è stato semplicemente un cronista che ha narrato il suo presente tutto qui e soprattutto le roadmap di Intel …
Attualmente stiamo vivendo un periodo che solo apparentemente sembra essere florido di ricerca e innovazione tecnologica, si perché sostanzialmente stiamo vivendo un lunghissimo periodo di abbondante raccolta di frutti che sono arrivati a maturazione tra gli anni settanta e gli anni ottanta.
Tanto per dirvene una oggi si parla di digitale terrestre, ma è una tecnologia che risale agli anni 80 e gia negli anni ottanta venivano costruiti televisori che supportassero tale tecnologia.
Oggi si parla di televisori al plasma, LCD e LED ma sin dagli anni settanta si parlava di questi televisori, come della fotocamere digitali ecc. ecc. io non vedo nulla di assolutamente nuovo posso al limite affermare che è in atto un progressivo perfezionamento di tecnologie realizzabili gia dagli anni 70/80.
Tornando alla legge di Moore mi sono sempre chiesto come mai la sua cronologia ha saputo narrare l’andamento nel tempo della miniaturizzazione degli integrati monolitici ma non ha saputo parlare del limite fisico oltre al quale le leggi fisiche ci vietano di andare oltre? Si perché è chiaro che c’è un limite oltre il quale non ci si uo spingere.
tanto per darvi un’idea dell’ordine di grandezze
vi ricordo che l’unità di misura adottata per dare una valutazione metrica degli atomi e delle molecole è l’Angstrom che espresso nel sistema di misura SI in metri è pari a 10^-10 metri (insomma la potenza di base 10 ed esponente -10), attualmente la tecnologia dei semiconduttori è arrivata a 32 nanometri ossia 32×10^-9 che espressi in Angstrom sarebbero 320 Angstrom ora se si tiene conto che le dimensione media di un atomo è 2,5 Angstrom stiamo parlando di una pila di 128 atomi ed è chiaro che incominciamo a far fatica a produrre densità di chip monolitici al ritmo della roadmap stabilita da Moore/Intel, be il perché è egregiamente spiegato nell’articolo da Alessio di Domizio
x pleg
la favola delle milioni di righe di codice x86 da cambiare la sento da ormai 10 anni orsono…
la apple è stata il miglior esempio industriali di come cambiare architettura senza cambiare software:
dal motorola 68000 al PPC all’architetura intel…
quindi cambiare architettura e’ possibile anche per sistemi distribuiti a livello globale in ambito desktop.
il problema dell’architettura e’ puramente commerciale.
@ fede
> Io ritengo che questo tizio, si insomma Moore non abbia predetto
> alcun andamento sulla miniaturizzazione dei circuiti integrali
Puoi ritenere quello che vuoi, ma la predizione che porta il suo nome l’ha fatta proprio lui, nel ’65, quando era ancora in Fairchild (cioe’ 3 anni prima di fondare Intel insieme a Noyce):
ftp://download.intel.com/research/silicon/moorespaper.pdf
@ homero
E infatti ha cambiato abbracciando x86 :)
E’ facile andare verso x86, difficile e’ allontanarsene…
La favola che l’architettura x86 non abbia nulla da invidiare alle altre sta diventando una barzelletta. L’architettura x86 era obsoleta alla sua nascita, figuriamoci dopo 40 anni di sviluppo a mo’ di creatura di Frankenstein: l’ISA iniziale è stata ampliata ad ogni nuova generazione del core. E tutt’ora viene ampliata con una serie di istruzioni più o meno utili.
Ma, e qui viene il bello, la complessità di questa architettura sta sfiorando il ridicolo. E’ più grande l’unità di decodifica delle istruzioni che quella di esecuzione.
Fate riferimento a come era stata pensata l’architettura 68000 o il PPC. O come funzionano architettura come ARM che a metà dei transistor e della frequenza rendono praticamene uguale (pur non arrivando a frequenze elevate per problemi di ccosti di implementazione).
Ah, Apple ha cambiato il processore 2 volte, non una: la prima tra 68000 e PPC, la seconda PPC per x86. L’unico vantaggio che ha quest’ultima non sta nelle performance: sta nei costi. Ed è per questo che Apple si è uniformata al mercato.
@ Nessuno
Immagino tu abbia sotto mano il transistor count per sostenere la tua affermazione? Quale sarebbe il numero di transistor dedicati alla decodifica rispetto alle unita’ funzionali? E rispetto alla logica di riordino? E rispetto alla cache?
Mi spiace, ma non hai idea di cosa stai parlando. Se fosse come dici tu, non potrebbero nemmeno costruire un Atom, perche’ sarebbe composto al 90% dalla decodifica.
@Nessuno: in primo luogo la questione l’avevo posta in termini puramente prestazionale, e qui i numeri puoi benissimo verificarli anche tu.
Secondo, l’ISA attuale è ben diversa da quella concepita 35 anni. Dovresti aggiornarti.
Terzo, quello dell’unità di decodifica che è più grande addirittura di quelle d’esecuzione è una boutade che non sta né in cielo né in terra. Su questo ho scritto alcuni articoli, allegando anche link a immagini che mostrano i core x86 e la dimensione delle relative sezioni.
Quarto, lascia perdere il 68000 come architettura, perchè a breve arriveranno una serie di articoli per completare l’analisi di questa famiglia e parlerò anche del perché Motorola ha dovuto abbandonarla. Ti anticipo che il problema principale sta proprio nella complessità delle istruzioni, ma ne parlerò meglio in futuro.
Quinto, parlare di confronti a parità di frequenza è semplicemente privo di senso (anche qui ho scritto un articolo, che parlava di 6502 e Z80, ma che rendeva bene l’idea). Il mito dei Mhz, purtroppo, non ha insegnato nulla.
Sesto, e concludo, Apple è passata a x86 per due motivi: le prestazioni E (congiunzione) i consumi.
Il PPC970 consumava TROPPO; era un fornetto che non aveva nulla da invidiare ai tristemente famosi P4 di Intel. I PowerMac G5 modelli di punta erano dotati di raffreddamento a liquido non soltanto per una questione di rumorosità.
Quanto alle prestazioni, basti vedere gli slogan di Apple prima e dopo il famigerato passaggio. PRIMA: i G5 erano dati al doppio delle prestazioni rispetto agli x86. DOPO: gli x86 erano dati al quadruplo delle prestazioni rispetto ai G5.
Che l’ISA sia molto diversa rispetto a quella di 35 anni fa lo so bene. Ma purtroppo quella di oggi è ancora compatibile con la stessa. E si trascina la compatibilità a tutte le modifiche fatte in 35 anni. Ah, prima di dire che l’architettura 68000 è stata abbandonata per problemi di complessità, ti consiglierei un giretto tra i micro controllori in ambiente industriale. E lì non “sopravvive” certo per compatibilità.
La questione della frequenza è invece importante: a minore frequenza corrisponde un consumo minore.
L’Atom è guarda caso un core di un Pentium 1 rivisitato. Molto ma molto più piccolo di un core x86 moderno che deve tenere in conto di una serie di nuove istruzioni e di tecniche di riordino istruzioni (altri transistor) per sopperire al problema della frequenza che non sale. Con tutta la buona volontà Intel non riesce a fare un chip sufficientemente piccolo e parco di consumi come lo si può fare con altre architetture. O meglio, lo farebbe sicuramente senza problemi, ma perderebbe la compatibilità allo standard x86.
Per quanto riguarda il discorso decodifica/esecuzione, date un’occhiata a quanti transistor compongono un Cell,ai suoi consumi e prestazioni e mettetelo a confronto con un quad core qualsiasi. 2 concetti di microprocessore diversi, ma anche 2 rendimenti diversi. Poi prendete un ARM e confrontatelo con un Atom.
Comunque non è che volessi scatenare una polemica sulla questione x86. Volevo solo dire che il progresso tecnologico visto solo come raddoppio del numero di transistor ogni 18 mesi è un po’ riduttivo. Se domani l’avanzamento nell’integrazione si fermasse di colpo ci sarebbero diversi altri campi in cui operare per riuscire a migliorare notevolmente la situazione senza dover per forza fare affidamento ad un PP minore.
Ah, dimenticavo: fate anche un conto di quante CPU x86 equipaggiano le console. Neanche MS che punta a un sistema di conversione ultra semplificato tra PC e console ne ha adottato uno per la XBox360.
Questa lettura potrebbe interessare qualcuno: a pagina 2 e 3 trovate qualche delucidazione sulla comparativa delle difficoltà dell’architettura x86 a tenere il passo con il resto del mondo.
http://www.mokslai.lt/referatai/referatas/about-cpu-puslapis1.html
Sfortuna vuole che IBM avesse scelto questo pastrocchio per il nostro futuro, altrimenti sarebbe da tempo già nel dimenticatoio.
@ Nessuno
Cito dall’articolo che hai postato (pagina 1, in fondo):
“Today, x86 support accounts for well under 10% of the transistors on the Pentium 4 — a drastic improvement over the original Pentium, and one that has contributed significantly to the ability of x86 hardware to catch up to and even surpass their RISC competitors in both integer and floating-point performance. In other words, Moore’s Curves have been extremely kind to the x86 ISA.”
Che e’ quello che stavo dicendo: il costo della decodifica di x86 e’ ormai di pochi percento (considerando che un Nehalem ha *molti* piu’ transistor di un P4), il costo di energia e’ verosimilmente anche sotto il 10% di overhead, e in compenso da’ qualche piccolo vantaggio (istruzioni mediamente piu’ piccole vuol dire meno occupazione di cache; istruzioni piu’ “significative” vuol dire meno istruzioni in giro per la macchina, che riduce il costo della logica di issue, riordino ecc.)
Nel complesso, il vero problema oggi non e’ l’ISA, e’ come costruire processori massicciamente paralleli e il software per usarli efficacemente — e questo e’ difficile per qualsiasi architettura.
Mannaggia. Mi hai fregato per un soffio, pleg: stavo per riportare lo stesso pezzo!!! :D
Non mi rimane che rispondere agli altri punti sollevati da Nessuno. :P
– Architettura 68000: infatti è sopravvissuta, ma Motorola ha tolto di mezzo alcune istruzioni “legacy”. Secondo te per quale motivo l’ha fatto?
Inoltre, sapresti dirmi quali frequenze è riuscita a raggiungere con questa famiglia?
– Frequenza: prima l’hai legata alle prestazioni, e io ti ho fatto notare che NON si possono confrontare dei processori così diversi su questa base.
Il consumo l’hai citato adesso, ma è un altro discorso, e su questo e sull’Atom in particolare ho realizzato un articolo che ti consiglio di leggere.
– Cell: a livello prestazionale ha la potenza di calcolo di un Duron per il calcolo general purpose, e quest’ultimo consuma pure di meno. Va bene anche un Duron per il confronto? Non serve scomodare un quad core, che sempre a livello prestazionale devasta Cell nel calcolo general purpose.
– Console: MS ha adottato un P3 (con cache L2 dimezzata) per la sua prima console, quando le altre due montavano un derivato del MIPS 5900 (PS2) e del PPC G3 (GameCube). Ed era la console che offriva le migliori prestazioni.
– IBM: non aveva la sfera di cristallo, e purtroppo ha scelto la soluzione che all’epoca era più economica. Un 68000 costava decisamente di più di un 8086, tant’è che lo trovavi soltanto nelle workstation (grafiche, in particolare).
L’ISA è un problema secondo il mio punto di vista. Avere 8 registri magari ti fa credere di aver risparmiato una manciata di transistor. Ma poi ti serve una quintalata di transistor per supportare il remapping per “far finta” di averne di più.
La questione frequenze di Motorola non ha senso: le capacità di Motorola non sono mai state eguali a quelle di Intel nel PP. A parità di frequenza i Motorola 68000 hanno sempre dato prestazioni superiori agli x86. Sopratutto in FP dove il divario era un abisso tra i due (naturalmente per i proc con FP integrato).
Perchè fai il benchmark sul Cell con del lavoro general purpose? I processori non sono usati da tutti solo per spostare il mouse sullo schermo. Per quello basta davvero un Atom come Intel ci ha gentilmente dimostrato. Per le applicazioni che fanno i conti l’architettura Cell ha dimostrato di essere migliore di quello che Intel ci propone. Ha una dimensione che è una frazione di un quad core e consuma meno di 1/3. Vedere prestazioni/consumi del RoadRunner che è un ibrido Cell/x86. Fare un confronto con qualcosa di simile che monta solo x86.
La XBox avrà avuto anche una potenza maggiore ma consumava 3 volte. A parte il fatto di non offrire nulla di diverso da un qualsiasi PC acquistato al supermercato. Ma questo è un discorso di marketing più che di tecnologia. Le console non sono fatte per avere le massime prestazioni. Altrimenti ci monterebbero i Power6/7 o un bel Core2 Quad a 3Ghz senza doversi progettare e costruire HW ad hoc. Rimane la domanda: perchè MS non ha usato un proc x86 visto che praticamente punta a uniformare la propria console a un PC per lo sviluppo? Magari un bel Duron, visto che va quanto il Cell di Sony. Con un Dual avrebbe avuto un vantaggio notevole, con un Quad avrebbe spaccato secondo il vostro ragionamento. Eppure…
Non biasimo IBM per la scelta compiuta. Sono ben conscio del panorama CPU al tempo. Il problema è quello che è stato offerto dopo. Con la questione monopolio c’è stato una devastante spesa per mantenere la retro compatibilità più che per migliorare le prestazioni. E oggi vediamo il risultato. Inutile girare il can per l’aia, Intel non ha una architettura competitiva con altre, anche più nuove invero. Lo dimostra il fatto che non ha un chip piccolo a sufficienza per competere con ARM (e qui l’ISA è un problema, quel 10% per il supporto x86 di cui parlavate prima corrisponde a qualche milione di transistor, pari a qualche decina di core ARM).
L’unico vantaggio su cui può ancora sperare Intel è che Windows non venga portato su ARM. Altrimenti di per sè l’Atom scomparirebbe dal mercato immediatamente. Lo stesso Atom che dovrebbe essere l’espressione migliore di Intel in termini di prestazioni/consumo.
@Nessuno:
Lo è anche per me, ma gli do anche il giusto peso.
Da un po’ di anni ce ne sono 16…
Il register renaming è una tecnica presa in prestito dai RISC. Secondo te, qual è il motivo che hanno spinto i progettisti di CPU con questa filosofia a farne uso, visto che generalmente sono architetture dotate di un certo abbastanza consistente di registri?
Di quali capacità parli? Mi sembra che a livello di progettazione di microprocessori non abbia avuto proprio nulla invidiare a Intel.
Lo so, ma a che frequenza si sono fermati?
Proprio perché i calcoli general purpose non si limitano al controllo del mouse, li ho tirati in ballo.
Bisogna vedere che tipo di conti. Cell eccelle in quelli di tipo streaming / distribuito. Per il resto, le sue prestazioni non brillano di certo.
Dovresti chiederti prima come mai hanno voluto (o dovuto, per meglio dire) infilare dei core x86 in RoadRunner, quando Cell aveva già tutto l’occorrente al suo interno per pilotare le SPE…
Nell’ambito dei videogiochi, sì: maggiori sono le prestazioni, meglio è. Il tutto ovviamente bilanciando consumi e costi.
Ecco perché non trovi un Power7 o un Core 2 Duo Quad Core (almeno per ora).
Perché per gli obiettivi che aveva era più conveniente la soluzione basata su PowerPC. Hai presente la protezione presente su XBox 360 o Cell? Inoltre IBM offre un elevato livello di customizzazione.
Cose che difficilmente un Intel o AMD avrebbero potuto realizzare, a parità di costo / prestazione / consumi / flessibilità.
Non è escluso che in futuro non vedremo roba come Cell nelle future console (anche su questo ho scritto un articolo).
Che non era prevedibile, perché la sfera di cristallo non ce l’ha nessuno: nemmeno IBM.
Di monopolio non si è trattato, comunque la retrocompatibilità andava garatita, eppure gli x86 hanno mostrato una notevole crescita anche sotto il profilo prestazionale, quando sembra che i RISC avrebbero preso il sopravvento.
E’ il motivo per cui negli Mac oggi trovi x86 e non un PowerPC.
La storia dimostra il contrario. Nel bene e nel male.
Chiaro che x86 non può essere utilizzata in qualunque ambito. Nel settore che hai citato risulta poco competitiva (anche qui, ne ho già parlato in un apposito articolo).
Veramente Windows gira già sugli ARM.
Eppure di recente è stato presentato anche uno smartphone basato su Atom…
Urca, ben 16 registri attivabili SOLO in modalità 64bit! Che progresso! Nel 1979 il 68000 ne aveva 16 a 32 bit! Il register remapping su RISC è nato con un significato diverso che su x86, dove sopperisce non ad un problema tecnico, ma sempre e comunque di compatibilità che il compilatore non può risolvere.
Cominciamo però dal fondo. Windows NON gira su ARM. Quello a cui tu ti riferisci è la versione mobile che non ha nulla a che fare con la versione desktop. La sola cosa che trattiene ARM da fare man bassa nel mercato dei netbook è proprio la mancanza di supporto agli applicativo MS, che nel bene o nel male sono quelli più diffusi e richiesti.
A che frequenza si è fermata Motorola? A quella che gli permetteva la sua PP. Che non è mai stata paragonabile a quella Intel. Di monopolio non si tratta? Quando una tecnologia ha il 90% del mercato consumer, come la definisci? Piccolo vantaggio?
Avesse Motorola investito tanto quanto Intel nei suoi micro (e quindi avesse potuto avere lo stesso ritorno economico) probabilmente potresti tentare di paragonare le qualità costruttive di entrambe le case. Ma come hai ben detto tu Motorola non aveva alcun problema a progettare chip migliori (PPC incluso). Il problema è sempre stato la loro realizzazione.
Apple ha abbandonato il PPC per diverse ragioni (le stesse che hanno portato Motorola a diversificare lo sviluppo del PPC rispetto a IBM): non rincorreva la velocità in MHz preferendo invece lo sviluppo di tecnologie alternative (AltiVEC). Inoltre Motorola ha avuto gravissimi problemi di produzione del G5. Queste cose dovreste saperle meglio di me. Non potete certo semplificare con un: perchè l’architettura x86 è meglio. L’unica cosa migliore è il prezzo e la disponibilità garantita dalle fabbriche Intel. La capacità di integrare milioni su milioni di transistor da parte di Intel è il vantaggio rispetto alla concorrenza, non certo quella di poter competere ad armi pari con i RISC della concorrenza.
Vedo che hai centrato il punto sulle console: le prestazioni non sono l’unico parametro da considerare. I consumi e costi sono un altro. Però non hai ancora trovato una spiegazione decente sul cambiamento di rotta di Microsoft: aveva fatto una console nettamente più potente della concorrenza basata su x86 ma ha preferito farsi un chip in casa (la customizzazione è sì possibile ma è anche molto costosa e non vedo perchè Intel o AMD gliela avrebbe negata… già fatta per la XBOX v1, ATI lo ha fatto per le GPU di Wii e XBox360, nvidia per la PS3 e si parla di milioni di pezzi e di pubblicità indotta comunque) costruendo i tool di sviluppo ibridi PPC/x86 con tutti i problemi legati a questa scelta.
Per me la spiegazione è semplice, poi sta a te trovarne una migliore nel caso: le CPU x86 sono sì potenti ma hanno bisogno di molta energia e a parità di silicio usato hanno una efficienza prestazionale minore. Ovvero, tralasciando il costo di progettazione, il costo vero per mm2/MIPS (FLOPS o quello che vuoi usare come unità di misura) è svantaggioso. Fatti 2 rapidi conti a MS è convenuto farsi progettare una CPU nuova con prestazioni simili (se non superiori al tempo) dei corrispondenti x86 ma dal costo inferiore.
Non ne risulta essere l’esempio migliore che evidenzia il problema NON delle prestazioni massime raggiunte dagli x86 ma della loro inefficienza? Su 3 console di ultima generazione esistenti NESSUNA usa un chip x86. Un motivo ci deve pur essere, e non è certo quello della customizzazione. Eppure quel famoso supporto “legacy” incide solo per il 10%. Hai però trascurato tutto ciò che è necessario perchè le prestazioni delll’ISA x86 siano comparabili a quelle di un RISC di un decennio fa.
Con questo chiudo il discorso che tanto non se ne viene a una. Ah, nel RoadRunner gli x86 sono rimasti come nodo di controllo, mentre i Cell come unità di processing. Probabilmente riscrivere i protocolli per PPC avrebbe avuto un costo superiore a quello di integrare un Opteron. Esistono server IBM basati solo ed esclusivamente su Cell, comunque. Ho usato il RoadRunner perchè è la dimostrazione pubblica, numeri in mano, che anche senza x86 a fare conti si può andare avanti (con un risparmio di energia davvero notevole, aggiungerei).
>Il register remapping su RISC è nato con un significato diverso
> che su x86, dove sopperisce non ad un problema tecnico,
> ma sempre e comunque di compatibilità che il compilatore non può risolvere.
Se intendi il Register Renaming, allora non e’ del tutto vero.
Il Register Renaming e’ invisibile al compilatore e a tutto il software, sta sotto la Dynamic-Static Interface. E’ uan tecnica per raccogliere ILP, e puo’ (e viene) usata da qualsiasi architettura nello stesso modo: sfruttare ILP che non puo’ venire esposto dal compilatore.
Addendum: la tecnica per ridurre la register pressure, particolarmente utile a x86 per la sua scarsezza di registri, non e’ il Register Renaming ma il Load Forwarding (una delle tecniche di Memory Disambiguation).
Segnalo questo interessante articolo sul tema, da leggere da cima a fondo:
http://www.theregister.co.uk/2008/11/26/patterson_keynote_sc08/
Parla uno dei padri del RISC.
@ Alessio
Gia’, e’ quello che disse in un talk a Stanford due anni fa:
http://www.stanford.edu/class/ee380/Abstracts/070131.html
(riesci a scaricare le slides?)
ed e’ quello che cercavo di dire in qualche vecchio post: la diatriba sulle ISA e’ roba da anni ’80, i problemi oggi sono ben altri, e sono quelli evidenziati da Patterson: non possiamo piu’ usare la legge di Moore per scalare in frequenza e performance single-thread, purtroppo siamo arrivati al capolinea (fino a che qualcuno non inventa una tecnologia radicalmente nuova su cui basare i nostri dispositivi, ma non tratterrei il fiato).
Nel futuro avremo sistemi con sempre piu’ core e unita’ funzionali (omogenee ora, probabilmente eterogenee in un prossimo futuro), e o impariamo a scrivere software (cioe’ creare tutto l’ecosistema necessario per scrivere software industriale, dai linguaggi ai compilatori) per quelle architetture in fretta, o saranno guai.
PS: avete un problema coi commenti: se ci metto tanto a scrivere poi non mi accetta piu’ il codice di sicurezza, e quando mi viene la pagina di avviuso col “il tuo messaggio e’ stato salvato, clicca qui”… non succede niente. Il commento e’ perso. Ormai lo so e scrivo sempre sul blocco note, e poi copio-incollo nel form, ma non e’ il massimo. Mi succede con diverse versioni di firefox (3.0, 3.5) sia su windows che su diverse distro linux.
@ pleg
Veniamo da decenni in cui i cicli di rinnovamento del software hanno spinto il bisogno di acquistare nuovo hardware. Ora che l’evoluzione dell’hardware CPU avviene nella logica di una progressiva parallelizzazione e, aggiungo, utilizzo di sottosistemi dedicati altamente parallelizzati (GPGPU) per operazioni general purpose, come conclude il pezzo segnalato, un’inadeguatezza del mondo degli sviluppatori a catturare questi progressi potrebbe risultare nel ritorno a un modello in cui si cambia il computer quando si rompe, con grande danno per un’industria assestatasi su ritmi di crescita rapidissimi.
In un cambio di paradigma come quello delineato, l’ottimizzazione del codice gioca un ruolo fondamentale. Le piattaforme HW nel frattempo si vanno “richiudendo” – a partire dalle acquisizioni di AMD (chissà che un giorno Intel non acquisisca Nvidia) – in pacchetti monobrand che includono tutta la filiera CPU-chipset-GPU, sempre più integrata, anche fisicamente, dietro la spinta del mobile.
Una delle applicazioni “in cerca d’autore” citate da Patterson a proposito di come impiegare le attuali CPU multicore sarebbe proprio l’ottimizzatore automatico di codice:
Sei a conoscenza di quale sia lo stato dell’arte su progetti simili? Sarebbe interessante parlarne su AD.
PS Ho segnalato il problema dei commenti al reparto tecnico, il problema è che probabilmente imposta un timeout al captcha; e se ci metti un tot di tempo superi il timeout e va tutto a escort.
> (chissà che un giorno Intel non acquisisca Nvidia)
Per favore non dirlo neanche per scherzo :)
> Sei a conoscenza di quale sia lo stato dell’arte su progetti simili?
Purtroppo no, non mi sono mai occupato di compilatori.
L’unica cosa che posso segnalarti e’ la wiki page del Parallel Laboratory di Berkeley (la trovi a partire dal sito di Patterson):
http://view.eecs.berkeley.edu/wiki/Main_Page
Sugli autotuners non c’e’ molto, e quello che c’e’ riguarda tutto librerie di calcolo (algebra matriciale, FFT…). Quello di cui parla Patterson, autotuners per ogni tipo di codice generico, mi sa che sono _molto_ al di la’ da venire.
@Nessuno:
Il futuro è rappresentato dalle architetture a 64 bit. I 68000 oggi avrebbero enormi difficoltà a essere estesi a 64 bit.
Su questo ha risposto già pleg. Ti faccio notare che in ogni caso l’importante è risolvere i problemi di disponibilità dei registri, e questo espediente in parte lo fa.
Non è così. Windows Mobile implementa buona parte delle API Win32, che sono quelle poi utilizzate dalle applicazioni, sia desktop che mobile. Realizzare un porting completo per ARM non è affatto difficile (d’altra parte Windows è stato portato su diverse architetture).
Questo non è sufficiente: un’eventuale Windows per ARM necessiterebbe di applicazioni compilate per quest’architettura, e questo non è semplice da ottenere. Ad esempio, soltanto quest’anno, con la versione 2010, avremo finalmente Office compilato per l’architettura AMD64, sebbene sia ormai molto diffusa.
O la sua architettura?
Non mi risulta proprio: Motorola è stata al passo con Intel e altri produttori di CPU da questo punto di vista.
Posizione dominante.
Non lo aveva per capacità e competenze, e perché fino agli ’80 competeva tranquillamente con Intel per quanto riguarda la produzione di microprocessori.
Il boom e l’imposizione dei PC come architettura più diffusa è arrivato negli ’90.
Cioè?
Rincorreva anche i Mhz, quando ha avuto la possibilità di farlo. Vedi i G5, ad esempio, dove addirittura ha immesso sul mercato dei PowerMac pur di arrivare a toccare i 2,7Ghz…
I G5 erano di IBM, non di Motorola, e i problemi che ha avuto sono stati gli stessi di Intel coi P4 e la loro architettura NetBurst: difficoltà a scalare in frequenza, a causa dell’elevato consumo e calore generato.
Mai detto questo. T’invito a rileggere i precedenti commenti.
Questa possibilità ce l’hanno tutti i produttori di processori.
IBM già da tempo permetteva una notevole customizzazione della sua architettura Power/PowerPC, con costi più contenuti e buone prestazioni.
Tra l’altro ha sviluppato anche la protezione presente nelle CPU di PS3 e XBox360.
Adattare / estendere un core RISC è molto più semplice che fare lo stesso con uno x86. Tant’è che la customizzazione del P3 della prima XBox consisteva in un banale dimezzamento della cache L2 (da 256KB portata a 128KB). Cosa molto diversa da ciò che IBM ha fatto con la CPU del GC prima, e con le console di Sony e MS poi.
Sul “molta energia” non concordo. Quanto alle prestazioni, bisognerebbe vedere, perché è anche vero che x86 è estremamente diversa come ISA rispetto a quelle dei RISC, e permette di eseguire più lavoro con le singole istruzioni (grazie al fatto di poter indirizzare direttamente la memoria con molte istruzioni; mentre i RISC sono obbligati a ricorrere alle LOAD e/o STORE).
E’ possibile, ma non è sufficiente, a mio avviso.
Per quanto mi riguarda, invece, lo è, ed è un fattore molto importante.
Nel link che hai postato prima parla del P4 e di un valore inferiore al 10%. Oggi credo sia ancora più ridotto come valore, grazie all’integrazione di notevoli quantitativi di cache L2 e/o L3 on chip.
Ad esempio, AMD ha di recente presentato la sua architettura Fusion, basata su 4 core, e per ogni core ha dichiarato di utilizzare circa 35 milioni di transistor, escludendo la cache L2. Se consideri che stiamo parlando di un mostriciattolo di circa 1 miliardo di transistor (se non ricordo male), 35 milioni * 4 = 140 milioni, pari a circa il 14% del totale. E stiamo parlando di 4 core completi di tutto (decoder, cache L1 per codice e dati, ALU, FPU, SIMD). Puoi immaginare quanto poco possano incidere i soli decoder x86 dei 4 core sull’intero chip, e quanto possano incidere quindi sul costo e sui consumi.
Non lo trascuro affatto, ma coi grandi numeri il solo maggior costo di un decoder x86 è, invece, abbastanza trascurabile.
Cell ha già al suo interno un’unità di controllo, e la sua architettura è già predisposta con la comunicazione con altri microprocessori.
Non so di quali protocolli parli, ma integrare un Opteron con un Cell non è certo cosa facile, visto che sono architetture completamente diverse e che hanno pure un’interfaccia con l’esterno del tutto diversa.
Certamente. Dipende sempre dagli ambiti applicativi nei quali devono essere usati.
Al contrario: RoadRunner è la dimostrazione che il solo Cell non era sufficiente per erogare adeguate prestazioni negli ambiti in cui doveva esser impiegato.
Altrimenti una soluzione Cell-only sarebbe risultata più economica e semplice da progettare, che mettere assieme due processori completamente diversi e farli comunicare.
Come sempre bisogna contestualizzare.
Da Wikipedia.org
“Greatbatch è noto per l’invenzione del pacemaker impiantabile, e quindi del pacemaker in generale, una invenzione che avvenne in parte per caso. Greatbatch studiava l’uso dei transistor come rivelatori delle aritmie cardiache e in uno dei suoi esperimenti montò un resistore con valore resistivo sbagliato; si accorse tuttavia che da quel lato venivano create pulsazioni identiche al battito cardiaco normale e che quindi il nuovo circuito avrebbe potuto essere utilizzato in caso di aritmie[2].”
Questo ci dice che la ricerca (tutta la ricerca e non solo nel campo informatico) è fondamentale, anche quando si parte con un obbiettivo e se ne ottiene un altro, magari anche di tutt’altro genere. Perché ciò che si raccoglie durante la strada, può essere importante o, addirittura la chiave di volta, per altri campi!
Nessuno può dire a priori che una ricerca sia inutile o meno (ovviamente non parlo di “richerche” statistiche o sondaggi -.-), perché, anche se l’obbiettivo non lo raggiunge, nel tentare di raggiungerlo, si può scoprire qualcosa di importante e di imprevedibile a priori, appunto.
Lo stesso sbarco sulla luna, ai più può essere sembrato un ingente spreco di denaro pubblico, ma, da quella esperienza, sono nate un’infinità di tecnologie e invenzioni che, la maggior parte della gente utilizza tutt’ora (vedi i sistemi di controllo del volo, anche quello commerciale…)
http://www.ilsole24ore.com/art/SoleOnLine4/dossier/Tempo%20libero%20e%20Cultura/2009/anniversario-primo-uomo-sulla-luna/tecnologia-spaziale/luna-tecnologia-1969.shtml?uuid=91ddda76-6d2e-11de-98f8-82a1b562fb1d&DocRulesView=Libero
I soldi spesi per la ricerca, non sono MAI soldi sprecati.