di  -  giovedì 4 febbraio 2010

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.

56 Commenti »

I commenti inseriti dai lettori di AppuntiDigitali non sono oggetto di moderazione preventiva, ma solo di eventuale filtro antispam. Qualora si ravvisi un contenuto non consono (offensivo o diffamatorio) si prega di contattare l'amministrazione di Appunti Digitali all'indirizzo info@appuntidigitali.it, specificando quale sia il commento in oggetto.

  • # 1
    marco
     scrive: 

    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

  • # 2
    anna
     scrive: 

    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?

  • # 3
    GT82
     scrive: 

    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

  • # 4
    GT82
     scrive: 

    @ 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.

  • # 5
    Lorenzo Tosetto
     scrive: 

    @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?

  • # 6
    recordman
     scrive: 

    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!

  • # 7
    goldorak
     scrive: 

    @ 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.

  • # 8
    Righo
     scrive: 

    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…

  • # 9
    saimon68
     scrive: 

    Se non si può ridurre la dimensione non basta aumentare la superficie?

  • # 10
    n0v0
     scrive: 

    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 ;-)

  • # 11
    ssj5
     scrive: 

    devono dare addio all’architettura x86. è l’unica soluzione valida….
    ma finchè esistono solo intel e amd per il mercato desktop ciò non avverrà !!

  • # 12
    Lorenzo Tosetto
     scrive: 

    @ 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 è.

  • # 13
    Shadew78
     scrive: 

    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…

  • # 14
    Nessuno
     scrive: 

    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.

  • # 15
    Righo
     scrive: 

    … 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

  • # 16
    GT82
     scrive: 

    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?

  • # 17
    Giulio Severini
     scrive: 

    […] l’innovazione tecnologica è sufficientemente veloce da permettere di crescere sempre più dispositivi su una data area di semiconduttore […]

    … scusate, ma che vuol dire?

  • # 18
    Z80Fan
     scrive: 

    Non serve maggior potenza, servono programmi e sistemi operativi più ottimizzati ;)

  • # 19
    Lorenzo Tosetto
     scrive: 

    @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.

  • # 20
    pleg
     scrive: 

    @ 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.

  • # 21
    Lorenzo Tosetto
     scrive: 

    @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.

  • # 22
    Simone
     scrive: 

    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 ..

  • # 23
    evilripper
     scrive: 

    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.

  • # 24
    goldorak
     scrive: 

    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.

  • # 25
    Righo
     scrive: 

    @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ù!

  • # 26
    n0v0
     scrive: 

    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.

  • # 27
    Francesco
     scrive: 

    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 :)

  • # 28
    Nessuno
     scrive: 

    [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.

  • # 29
    Cesare Di Mauro
     scrive: 

    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.

  • # 30
    Alberto
     scrive: 

    A chi dice che i 64 bit non servono, beh, a giocare a Crysis a me son serviti :-P

  • # 31
    Nessuno
     scrive: 

    @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.

  • # 32
    pleg
     scrive: 

    @ 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).

  • # 33
    Cesare Di Mauro
     scrive: 

    @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.

  • # 34
    Fede
     scrive: 

    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

  • # 35
    homero
     scrive: 

    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.

  • # 36
    pleg
     scrive: 

    @ 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

  • # 37
    pleg
     scrive: 

    @ homero

    E infatti ha cambiato abbracciando x86 :)
    E’ facile andare verso x86, difficile e’ allontanarsene…

  • # 38
    Nessuno
     scrive: 

    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.

  • # 39
    pleg
     scrive: 

    @ 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.

  • # 40
    Cesare Di Mauro
     scrive: 

    @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.

  • # 41
    Nessuno
     scrive: 

    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.

  • # 42
    Nessuno
     scrive: 

    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.

  • # 43
    Nessuno
     scrive: 

    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.

  • # 44
    pleg
     scrive: 

    @ 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.

  • # 45
    Cesare Di Mauro
     scrive: 

    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).

  • # 46
    Nessuno
     scrive: 

    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.

  • # 47
    Cesare Di Mauro
     scrive: 

    @Nessuno:

    L’ISA è un problema secondo il mio punto di vista.

    Lo è anche per me, ma gli do anche il giusto peso.

    Avere 8 registri magari ti fa credere di aver risparmiato una manciata di transistor.

    Da un po’ di anni ce ne sono 16…

    Ma poi ti serve una quintalata di transistor per supportare il remapping per “far finta” di averne di più.

    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?

    La questione frequenze di Motorola non ha senso: le capacità di Motorola non sono mai state eguali a quelle di Intel nel PP.

    Di quali capacità parli? Mi sembra che a livello di progettazione di microprocessori non abbia avuto proprio nulla invidiare a Intel.

    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).

    Lo so, ma a che frequenza si sono fermati?

    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.

    Proprio perché i calcoli general purpose non si limitano al controllo del mouse, li ho tirati in ballo.

    Per le applicazioni che fanno i conti l’architettura Cell ha dimostrato di essere migliore di quello che Intel ci propone.

    Bisogna vedere che tipo di conti. Cell eccelle in quelli di tipo streaming / distribuito. Per il resto, le sue prestazioni non brillano di certo.

    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.

    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…

    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.

    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).

    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?

    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à.

    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 è escluso che in futuro non vedremo roba come Cell nelle future console (anche su questo ho scritto un articolo).

    Non biasimo IBM per la scelta compiuta. Sono ben conscio del panorama CPU al tempo. Il problema è quello che è stato offerto dopo.

    Che non era prevedibile, perché la sfera di cristallo non ce l’ha nessuno: nemmeno IBM.

    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.

    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.

    Inutile girare il can per l’aia, Intel non ha una architettura competitiva con altre, anche più nuove invero.

    La storia dimostra il contrario. Nel bene e nel male.

    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).

    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).

    L’unico vantaggio su cui può ancora sperare Intel è che Windows non venga portato su ARM.

    Veramente Windows gira già sugli 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.

    Eppure di recente è stato presentato anche uno smartphone basato su Atom…

  • # 48
    Nessuno
     scrive: 

    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).

  • # 49
    pleg
     scrive: 

    >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.

  • # 50
    pleg
     scrive: 

    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).

  • # 51
    Alessio Di Domizio (Autore del post)
     scrive: 

    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.

    “The whole industry is assuming that we will solve this problem that a lot of people have broken their picks on.” To make his point, Patterson told the nerds at SC08 to imagine a 32-core laptop and then an upgrade to a 64-core laptop, and then asked if they thought it would do more work on the kinds of workloads that run on a laptop. “We’d all bet against that. But that is the bet this industry has made.”

    […]

    Solving this particular variant of the parallelism problem is going to take some mind shifting across the IT industry. First, we must stop asking the question about who will need a 100-core processor to run Microsoft Word. Patterson said that while he is a Word user – and he likes Word – the question irks him.

    “Questions like that make me think we have failed as educators,” Patterson said. The real issue has nothing to do with supporting legacy applications. “I am pretty sure that the best software has not been written yet,” Patterson said. And he gave a few examples of neat projects that could eat up a lot of parallel processing capacity in a single system.

  • # 52
    pleg
     scrive: 

    @ 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.

  • # 53
    Alessio Di Domizio (Autore del post)
     scrive: 

    @ 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:

    Now here’s the neat bit. To help make parallel programming easier, Par Lab’s experts want to take advantage of parallelism itself and create “auto-tuners” that run lots of different optimizations on code as it is compiled and heuristically search for the best version of the compiled code to run on a particular piece of hardware. Patterson said that in early tests, an auto-tuner capable of machine learning was about 4,000 times faster than an expert at tuning the code – and tuning for parallel architectures is the big problem with those architectures.

    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.

  • # 54
    pleg
     scrive: 

    > (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.

  • # 55
    Cesare Di Mauro
     scrive: 

    @Nessuno:

    Urca, ben 16 registri attivabili SOLO in modalità 64bit! Che progresso! Nel 1979 il 68000 ne aveva 16 a 32 bit!

    Il futuro è rappresentato dalle architetture a 64 bit. I 68000 oggi avrebbero enormi difficoltà a essere estesi a 64 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.

    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.

    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.

    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).

    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.

    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.

    A che frequenza si è fermata Motorola? A quella che gli permetteva la sua PP.

    O la sua architettura?

    Che non è mai stata paragonabile a quella Intel.

    Non mi risulta proprio: Motorola è stata al passo con Intel e altri produttori di CPU da questo punto di vista.

    Di monopolio non si tratta? Quando una tecnologia ha il 90% del mercato consumer, come la definisci? Piccolo vantaggio?

    Posizione dominante.

    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).

    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.

    Il problema è sempre stato la loro realizzazione.

    Cioè?

    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).

    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…

    Inoltre Motorola ha avuto gravissimi problemi di produzione del G5. Queste cose dovreste saperle meglio di me.

    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.

    Non potete certo semplificare con un: perchè l’architettura x86 è meglio.

    Mai detto questo. T’invito a rileggere i precedenti commenti.

    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.

    Questa possibilità ce l’hanno tutti i produttori di processori.

    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.

    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.

    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.

    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).

    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.

    E’ possibile, ma non è sufficiente, a mio avviso.

    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.

    Per quanto mi riguarda, invece, lo è, ed è un fattore molto importante.

    Eppure quel famoso supporto “legacy” incide solo per il 10%.

    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.

    Hai però trascurato tutto ciò che è necessario perchè le prestazioni delll’ISA x86 siano comparabili a quelle di un RISC di un decennio fa.

    Non lo trascuro affatto, ma coi grandi numeri il solo maggior costo di un decoder x86 è, invece, abbastanza trascurabile.

    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.

    Cell ha già al suo interno un’unità di controllo, e la sua architettura è già predisposta con la comunicazione con altri microprocessori.

    Probabilmente riscrivere i protocolli per PPC avrebbe avuto un costo superiore a quello di integrare un Opteron.

    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.

    Esistono server IBM basati solo ed esclusivamente su Cell, comunque.

    Certamente. Dipende sempre dagli ambiti applicativi nei quali devono essere usati.

    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).

    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.

  • # 56
    Luigi
     scrive: 

    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.

Scrivi un commento!

Aggiungi il commento, oppure trackback dal tuo sito.

I commenti inseriti dai lettori di AppuntiDigitali non sono oggetto di moderazione preventiva, ma solo di eventuale filtro antispam. Qualora si ravvisi un contenuto non consono (offensivo o diffamatorio) si prega di contattare l'amministrazione di Appunti Digitali all'indirizzo info@appuntidigitali.it, specificando quale sia il commento in oggetto.