di  -  mercoledì 28 Gennaio 2009

WXP64La tecnologia a 64bit su CPU destinate al mercato consumer esiste dal settembre 2003, data in cui AMD trasportò l’architettura Hammer sul popolarissimo processore Athlon 64, emblema della riscossa dell’azienda di Sunnyvale.

Da allora sono passati circa 5 anni e mezzo, la quasi totalità delle CPU ormai da tempo consegnate contiene le estensioni a 64 bit, ma la grande maggioranza degli OS in circolazione è ancora a 32 bit.

Prima del debutto di Vista nel 2007, la versione a 64 bit di Windows XP ha occupato una nicchia esigua, relegato all’incompatibilità con la stragrande maggioranza del software in circolazione, e dunque consegnato al fallimento.

Con Vista la diffusione dei 64 bit è cresciuta, ancora tuttavia frenata dai tempi di reazione del colossale ecosistema software che gira intorno a Windows, con particolare riferimento ai problemi che ruotano attorno ai driver.

D’altronde negli ultimi anni, complice la fame di memoria di Vista, ma anche un forte calo dei prezzi della RAM e l’esplosione in ambito consumer di applicazioni molto pesanti come la virtualizzazione, è divenuto frequentissimo e spesso indispensabile l’uso di quantitativi di memoria superiori a 2GB, che richiederebbero un OS a 64 bit per una gestione ottimale.

Siamo dunque al limite dei 32 bit: il punto in cui qualunque sistema non di primissimo prezzo, è equipaggiato con quantitativi di memoria pari a 4GB. Cosa succederà con Seven?

Qualche giorno fa Microsoft ha dichiarato che Vista x64 sta crescendo molto più rapidamente della versione a 32 bit. Nello stesso contesto, il Director del Windows Client Communications Team Chris Flores, ha annunciato che dunque Windows 7 sarà installato nella maggior parte dei casi in versione 64 bit.

I dati di crescita di Vista x64 e l’ottimismo di Flores, non ci danno tuttavia un’informazione completa e tutti gli elementi necessari per stabilire la plausibilità di questo scenario.

Secondo un’analisi di Hitslink datata dicembre 2008, Windows XP 32 bit occupa oltre il 65% del mercato OS mentre Vista è fermo al 21,12%. Pur assumendo – data la non chiarissima reportistica relativa alle versione 64 bit di Vista – che la metà di quel 21% di Vista appartenga alla versione x64, abbiamo, fatta 100 la quota totale degli OS Windows, un 87,8% del mercato Windows è saldamente ancorato a OS, applicazioni, drivers a 32 bit.

Fatto questo spannometrico conto della serva, supponendo che 7 rispetti le date annunciate, quali sono le possibilità che la migrazione ai 64 bit avvenga nei tempi previsti da Flores? Nel dettaglio, se l’87,8% del mercato Windows ruota ancora attorno ai 32 bit, è plausibile pensare che entro un anno scarso – pur considerando la retrocompatibilità fornita dal subsystem WOW64 – drivers e software in generale siano pronti al salto?

46 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
    nenco
     scrive: 

    Beh ormai uso i 64 bit dai tempi di xp,
    Con le applicazioni non ci sono mai stati problemi, quelle a 32 bit girano allo stesso modo, mentre per i drivers ormai sono obbligatamente sviluppati anche a 64bit per avere la certificazione per vista.
    A livello consumer non vedo grandi impedimenti, anzi sarebbe anche ora!

  • # 2
    tmx
     scrive: 

    @nenco

    ma quindi tutto ciò che ho a 32 bit su windows lo posso far girare su windows a 64 bit, con l’UNICO svantaggio che non sfrutto i 64 bit?

  • # 3
    Zak84
     scrive: 

    @tmx
    Esattamente.
    Io uso i 64bit dai tempi di XP pertanto non condivido quanto scritto nell’articolo sui problemi di compatibilità di XP 64. Con i programmi non ho mai avuto nessun tipo di problema e gli unici driver che non sono mai stati sviluppati sono quelli di una webcam creative e di una Logitech. Tuttavia questi non sono stati sviluppati neanche per vista (sia 32 che 64 bit).

    Per il resto uso Vista 64 dai tempi della beta ed non mai avuto problemi ne con i driver, ne con i programmi. Secondo me non c’è alcun motivo per continuare a restare inchiodati ai 32bit. Il subsystem WOW64 svolge egregiamente il suo lavoro!

    BYEZZZZZZZZZZZ!!!!!!!!! :)

  • # 4
    atomo37
     scrive: 

    Concordo pienamente con Nenco, funziona tutto perfettamente sull’OS a 64bit.
    il vero problema probabilmente è la disinformazione che genera la paura in molti ad adottare la versione dell’OS a 64bit.
    Io uso vista 64bit da un bel po’ e non ho il minimo problema nemmeno con i driver più particolari di apparecchiature professionali audio.
    Le applicazioni native a 64bit inoltre cominciano ad uscire (vedi photoshop cs4 che si installa automaticamente a 64bit) ed è bello avere la possibilità di utilizzarle.
    Dovrebbe essere Microsoft stessa a spingere di più verso questa direzione, basti pensare che inizialmente si era parlato di Win 7 solamente in versione 64 bit, ed invece già con la beta si percepisce una spinta maggiore verso la 32bit.

  • # 5
    Ares
     scrive: 

    Sul nuovo PC domestico:
    M.b Asus p6t x58

  • # 6
    Ares
     scrive: 

    Sul nuovo PC domestico:
    M.b Asus p6t x58, con processore intel core i7 940, 6Gb di ram e Sk video GTX 285 secondo voi vista e XP potrebbero dare problemi a 64bit.???? Ci sarebbero incompatibilità con i gioki recenti???’ ke so…tipo GTA IV Call of duty 5??? grazie e scusate x il post precedente ma avevo ftt invio x andare a capo e lo ha pubblicato……….=)

  • # 7
    Giulio
     scrive: 

    Sono d’accordo con i dubbi che attanagliano Alessio. In effetti, a che pro avere il sistema a 64bit se poi il software non si adegua? Capisco che non ci siano problemi a far girare il 32bit su un sistema a 64, ma non è quello il discorso. Il discorso è proprio la fantomatica quanto incomprensibile lentezza con cui “non” si stanno muovendo le software house. Capisco che un anno possa non bastare, ma dal 2003 ad oggi tutti questi signori cosa hanno fatto? Si grattavano?

    Infine una domandina per esperti o meglio informati: ma dopo il 64bit cosa ci aspetta in termini di evoluzione delle architetture? 128bit? Oppure solo qualche aggiornamento in termini di SSE1285? Cioè, al dilà dell’efficienza e della capacità di calcolo maggiorata a parità di frequenza, cosa troveremo nelle cpu del futuro?

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

    In effetti la domanda di fondo è: si poteva gestire la transizione in modo più progressivo? Cos’è che l’ha frenata, dato che la tecnologia c’era già nel 2003?

  • # 9
    Cesare Di Mauro
     scrive: 

    L’ha frenata sicuramente la mancanza di software a 64 bit, perché le versioni a 64 bit di Windows, come riportato da altra gente, svolgono bene il loro lavoro.

    x Giulio: non credo ci saranno architetture a 128 o più bit. Al più saranno le estensioni SIMD ad aumentare l’ampiezza dei registri. 64 bit per quanto mi riguarda rappresentano un limite difficilmente superabile.

  • # 10
    Giuseppe
     scrive: 

    Caro giuglio, La lentezza delle software house a pasare a un massicio utilizzo die 64bit e dovuto principalmente proprio, perche esitono troppi utenti ancora con il sistema a 32bit, una maggiore diffusioni di os a 64 bit porterebbe a migrare e a considerare a livello anche di marketing un passaggio netto sui 64 bit.

    Io uso i 64 bit dai tempi di xp, poi sono passato su vista anche li a 64 bit.
    con il pc Ci Lavoro e passo il mio tempo.
    Con progammi tipo 3dmax ho avuto sensibili migliorie quando finalmente hanno fatto uscire il sudetto software a 64 bit e con i giochi mai avuto problemi.

  • # 11
    TheDarkAngel
     scrive: 

    L’unico colpevole è Intel, con la non disponibilità di processori a 64bit, ha costretto microsoft a ritardare winxp 64bit e a non pubblicizzare maggiormente il passaggio ai 64bit. Oltretutto l’unica architettura intel progettata per i 64bit è nehalem, l’architettura core nonostante sia perfettamente compatibile, non è particolarmente ottimizzata per la mancanza di alcune feature.

  • # 12
    Mauro
     scrive: 

    Io ed altri miei colleghi abbiamo eseguito dei test approfonditi per verificare i vantaggi nel passare ai 64 bit (XP o Vista) con applicativi di progettazione tridimensionale e abbiamo notato che, pur permettendo di utilizzare tutti e 4 i GB presenti sulle macchine, il CAD in questione girava più lentamente di un 5-15% sul 64 bit che non sul 32. Questi test li abbiamo eseguiti 8 mesi fa e magari la situazione nel frattempo è migliorata…
    Per quanto riguarda la compatibilità: esistono casi di sw che ancora vengono usati e che magari girano solo su 98, figurarsi su Vista e in più a 64 bit (un esempio su tutti VB 6.0 vetusto quanto volete ma ancora usatissimo specialmente in piccole realtà: ha mooolti problemi con i 64 bit).
    CPU del futuro? 128 bit? mah… i 32 bit sono stati introdotti con i 386, i 64 direi che potrebbero bastare per molto tempo (almeno per l’indirizzamento della memoria). Poi sai com’è, 640KB dovevano bastare a chiunque, quindi…
    Ricordo che quasi 20 anni fa lessi un articolo su MC microcomputer (bei tempi) dove si parlava di CPU future con 27 MB di cache: mi sa che è quasi ora. :) Intel e AMD sanno esattamente come saranno i processori dei prossimi anni.

  • # 13
    nenco
     scrive: 

    @ares
    sarebbe uno spreco avere 6 gb di ram e usarne solo 3 per colpa del sistema operativo a 32bit, no?
    I giochi non danno nessun problema, quelli ottimizzati per i 64bit vanno anche meglio
    @mauro
    per i professionisti il discorso è un pò piu ampio, comunque dipende molto dal software che utilizzi, il cad che hai usato sul 64 era per i 32 o i 64 bit? prova magari ad eseguire operazioni che sfruttino realmente tutta la ram, allora avresti benefici anche ad usare software a 32bit su sistemi a 64, poi non è detto che si usino solo 4gb.

  • # 14
    Mauro
     scrive: 

    @nenco: il sw purtroppo era (ed è tuttora) a 32 bit. Chiaramente se si arriva ad usare tutta la RAM (3 GB) il poterne indirizzare un altro gigabyte, e quindi evitare di swappare, apporta grandi benefici. Il punto è che se nell’uso normale di questi sistemi non si arriva a tappo con la RAM hai solo svantaggi (il 5-15% di cui parlavo) e non benefici. Con questo non voglio dire che i 64 bit non servano a niente (anzi!) ma il sw è talmente radicato sui 32 che attualmente non è ancora performante. Discorso diverso per linux dove i 64 bit ci sono da molto più tempo: ricompilare, ad esempio, il kernel su di una distribuzione a 64 bit è decisamente più veloce. Bisogna pazientare. :)
    Altro discorso è l’ottimizzazione del codice: se i programmi fossero fatti come si deve probabilmente i sw girerebbero molto più velocemente. Purtroppo bisogna produrre e quindi l’aspetto velocistico molte volte passa in secondo piano, tanto i processori sono sempre più potenti. Ed il ciclo ricomincia. :)

  • # 15
    Giulio
     scrive: 

    @Mauro
    Io capisco il tuo ragionamento sul mordersi la coda tra potenza di calcolo e produzione veloce dei sotware.
    Però, dai, negli anni che passano possibile che a nessuno venga in mente che ad un certo momento una patch non basta più? Che un motore (grafico, di rendering, di software) vada riscritto? Possibile che sempre ci si deve rilassare e, in definitiva, spolpare l’acquirente con nuove versioni che di nuovo hanno poco o nulla.

    Ti chiedo una cosa, di cui non conosco nulla, tanto per curiosità: negli ultimi 5 anni quante versioni nuove di CAD sono uscite e quanto beneficio hanno apportato in termini di migliore funzionamento e maggior numero di funzionalità in rapporto al prezzo di ogni aggiornamento? Mi piacerebbe saperlo per capire un po’ la situazione…

  • # 16
    nenco
     scrive: 

    Fossi in microsoft gia da win 7 eliminerei la vers a 32 bit, i programmi che vanno piu lenti su so a 64 bit verrebbero ottimizzati in fretta, perchè chi non ottimizza i suoi programmi viene penalizzato dal mercato, nel senso che venderà di più chi ha il software piu veloce a parità di sistema. Il cad comunque lo fanno in tanti no? non credo non esista una versiona a 64bit.

  • # 17
    Mauro
     scrive: 

    @nenco: Certo esistono versioni a 64bit di molti CAD. Il punto è che in ambiente enterprise non puoi cambiare dal giorno alla notte i programmi oltre per la mole di lavoro e per i costi anche perché molte procedure vengono automatizzate e create su misura per quel determinato CAD: già aggiornare la versione a volte è un problema, figurarsi cambiare il CAD di sana pianta.
    Io vorrei importare una nuova tecnologia: si chiama tecnigrafo. Non devi aggiornarlo spesso, consuma 0 Watt, ed è plug&play. :)

  • # 18
    Fiber
     scrive: 

    quoto per chi ha scritto di usare Vista 64bit e senza nessun propblema

    il Product Key di Vista anche OEM Act,quindi quello stampato sotto ai Notebook sul certificato di autenticita’ o dietro ai computer Desktop venduti finiti dai produttori quindi tutte macchine con Vista 32bit gia’ preinstallato cosi come i Vista 32Bit OEM system bulder che acquistate quando vi fate un computer voi dal negoziante/assemblatore , dicevo il Product Key dei Vista 32bit sia OEM che Retail e’ lo stesso e valido anche se si installa la stessa versione di Vista a 64bit( quindi chi ha la Home Premium 32bit OEM installera’ la Home Premium 64bit Oem) ..

    basta procurarsi DVD Installer di Vista X64 ( Microsoft se lo richiedete dal suo sito ve lo spedisce a casa pagando circa 10€) , bootare il computer da questo dvd X64 di Vista, piallare l’Hard Disk (previo back-up dei dati) , inserire il proprio Product Key stampato sul computer e procedere all’installazione di Vista 64bit sempre stessa vs versione che verra’ detectatata in automatico in base al Product Key che inserite all’inizio dell’installazione ( sul DVD installer di Vista ci sono tutte le versioni di vista sia la Home Basic che la Home Premium che la Business)..solo la Ultimate e’ su DVD a parte

    Io dal SP1 uso Vista 64bit Home Premium installato pulito e coi driver X64 aggiornati ed e’ una bomba di velocita’ con gestione della ram 10 volte superiore ad XP , molto piu’ veloce anche nella gestione del Multitasking ..le applicazione per Vista a 32bit tramite WOW32 mi si aprono tutte senza propblemi e mi pare siano un filo sempre piu’ veloci nell’esecuzione dei calcoli etc rispetto al farle girare su Vista nativo a 32bit

    quindi che dire …passate tutti a 64bit , oramai le CPU INTEL Core 2 Duo o Core 2 Quad & Amd etc hanno tutte estensione EM64T da 3 anni …il sistema essendo nativo nel kernel 64bit e’ molto piu’ reattivo del 32bit in tutto … se poi usate programmi profesionali Audio/Video , grafica & rendering nativi 64bit per la vostra attivita’ etc, come solo per fare 1 esempio la CS4 di Adobe che e’ nativa 64bit solo per Vista ( e non per Osx dato e’ un finto 64bit fino a quando non uscira’ Snow Leopard) Cubase SX4 64bit , Cad 3D e software di rendeing nativi 64bit etc ..sfrutterete anche la piu’ potenza e velocita’ dell’eseguire i caloci ed il processing di questi software elaborando la Cpu instruzioni dal software 64bit nativo a blocchi di 64 bit interni, quindi con piu’ velocita nel calcolare le istruzioni e restituirle in ram processate a poi a voi

    Premesso tutto cio’ quindi io il 32bit l’ho salutato gia’ da un pezzo

    :-):-)

  • # 19
    Fiber
     scrive: 

    Ps:dimenticavo ,4Gb di ram oggi = 75€

    con questa cifra 3 anni fa’ non compravate nemmeno 1GB di ram DDR

  • # 20
    Phire
     scrive: 

    fino a che si continuano a trovare laptop con 4 gb di ram e vista x86 i 64 bit prenderanno poco piede. Se iniziassero a installare solo 64 bit l’utente medio non se ne accorgerebbe (se non per un sistema più reattivo) e la penetrazione aumenterebbe notevolmente spingendo le SH a aggiornare i loro prodotti. Per conto loro sviluppare un software sia a 32 che a 64 bit rappresenta un costo e dato che il software a 32 gira senza problemi anche sulle piattaforme x64 diventa un costo difficilmente gisutificabile…

  • # 21
    Federico
     scrive: 

    Secondo me la lentezza della migrazione ai 64bit è proprio dovuta ai partner OEM di Microsoft.
    Non ho mai capitop il senso di un portatileo un pc desktop con Vista a 32bit, dal momento che, all’uscita di Vista sul mercato, qualsiasi CPU in commercio era gia compatibile con le istruzioni x86_64.
    L’unico motivo poteva essere (2 anni fa), la mancanza di alcuni driver a 64 bit per alcune periferiche all’interno del sistema (se l’utente a casa, pretende ancora di far funzionare uno scanner parallelo per il quale non è più offerto il supporto del produttore, questo è un problema suo).
    Come giustamente ha scritto Phire, se cominciassero a vendere sistemi (sia laptop che desktop) con S.O. solo a 64 bit, l’utente non avvertirebbe la differenza, visto che ormai i drivers a 64 bit per i componenti attuali ci sono e le applicazioni a 32 bit girano senza problemi.
    Questo modo di operare da parte degli OEM garantirebbe una migrazione decisamente più veloce; permettendo agli sviluppatori di accantonare più rapidamente gli applicativi compilati per i 32 bit.
    Peccato che questo non sia avvenuto sin dall’introduzione di Vista, nel gennaio 2007.

  • # 22
    Cesare Di Mauro
     scrive: 

    @Mauro: in effetti è molto strano ciò che vi è capitato, perché in genere le applicazioni a 32 bit che girano su un s.o. a 64 bit (parlo sempre di architettura x86) hanno più o meno la stessa velocità, e a volte con un leggerissimo vantaggio su quest’ultimo. Probabilmente il vostro è uno di quei casi che contribuisce a far calare la media. :D

    @Phire: per avere un’applicazione a 64 bit è sufficiente soltanto una ricompilazione. Ovviamente posto che il codice sia stato scritto correttamente. ;)
    Non ci sono, quindi, particolari “costi di sviluppo” (al più di testing, ma quello serve a tutta la code base).

  • # 23
    nenco
     scrive: 

    @ mauro
    Sisi, sò come è la situazione in azienda, (infatti ho specificato subito “a livello consumer” nel mio primo post) però le case di software devono pensare anche (sopratutto) a i nuovi clienti, perciò chi non si conforma e non ottimizza il suo software non cresce, difficilmente si va avanti con la sola base installata

  • # 24
    Phire
     scrive: 

    @Cesare: in linea di massima sono d’accordo, purtroppo però troppi software sono scritti in modo “corretto” e si affidano a quanto il SO permette loro di fare contro quelle che sono le best-practices (e mi riferisco al fatto che programmi spesso “banali” dal punto di vista di funzionalità necessitino privilegi elevati per essere eseguiti solo per andare a scrivere, magari, un log nella windows\temp). Tuttavia tutta la procedura di packaging e signing dei pacchetti (oltre a quella di testing, come hai sottolineato) deve essere moltiplicata per 2 per gestire le 2 versioni; spesso per una SH di piccole-medie dimensioni che controlla rigorosamente il costo di ogni riga di codice il tutto si trasforma in costi non sempre giustificabili.

  • # 25
    Bob
     scrive: 

    Il problema principale per cui non prendono piede S.O. a 64 bit è il fatto che come è implementato lo x86 quando commuta a 64 bit è perfettamente in grado di far girare codice a 32 bit ma non quello a 16 bit (quello del DOS e di Windows 3 per intenderci) neanche in macchina virtuale, purtroppo c’è ancora in giro molto codice a 16 bit anche in applicazioni nuove che magari incorporano una libreria compilata ancora per Win16 o utility a riga di comando compilate per DOS.

    In più bisogna sfatare due miti sulla superiorità del codice a 64 bit e dopo di che si capisce la riluttanza dei programmatori ad abbandonare i 32 bit.

    IL CODICE A 64 BIT E’ PIU VELOCE
    falso nella maggior parte dei casi, diventa più veloce solo nel caso che il codice necessiti di interi a 64 bit e si è costretti a emularli ma in tal caso non basta ricompilare a 64 bit ma bisogna riscrivere il codice sostituendo la parte di emulazione con int64. In tutti gli altri casi si ottiene solo di aumentare l’occupazione di memoria. Io in 10 anni che programmo a 32 bit posso contare sulle dita le volte che ho dovuto emulare un intero a 64 bit.

    I 32 BIT SONO LIMITATI a 4 GB
    Falso, è un limite commerciale di Microsoft sia Linux che 2003 Enterprise a 32 bit non hanno questo limite. L’unico limite è che un programma non può avere un blocco di memoria più grande di 4 GB ma potendone avere quanti ne vuole non ci sono limiti alle sue dimensioni. L’unico svantaggio è che quando un programma passa da un blocco all’altro si ha una perdita di tempo che diventa sensibile solo se i blocchi sono molti, ovvero con programmi che occupano in memoria decine o centinaia di Giga e che necessitano quindi PC con centinaia di Giga di RAM. Per intenderci nel DOS il limite del blocco era di 64 KB ma non si hanno avuti grosse perdite di performance fino a sistemi con 4 MB di RAM

  • # 26
    Phire
     scrive: 

    2003 enterprise supera i 4 GB solo aggiungendo un /PAE (Physical Address Extension) al boot.ini estendendo l’indirizzamento a 36bit (cosa che fanno comunque tutti i sistemi operativi 32 bit che indirizzano fino a 64 GB di ram)
    PAE non è solo un gioco commerciale dato che deve esserci un supporto anche lato processore.
    per info basta una bella “google-ata”.

  • # 27
    Fortunato
     scrive: 

    Perfetto l’intervento di Bob, aggiungerei solo che il vincolo dei 32 bit è legato solamente alla “parola” gestibile dal processore e non all’architettura vera e propria (bus, registri ecc.).
    L’univo vero vantaggio che offrirebbe un 64bit sarebbe la precisione numerica e la velocità di calcolo con numeri piccolissimi o grandissimi quasi difficili da immaginare.
    Tutto questo importa solo alla ricerca universitaria mentre per il normale utilizzatore non si ottiene alcun beneficio prestazionale ove il sottosistema a 32 non introduca ritardi di esecuzione inutili per le applicazioni non native che lavorano a 64bit.

  • # 28
    Fiber
     scrive: 

    @fortunato,Bob ed altri

    mi spiegate perche’ passado a Vista 64bit il solo OS e’ molto piu’ reattivo ?? strano perche’ a quanto pare non dovrebbe cambiare niente

    1000 grazie

  • # 29
    Filippo
     scrive: 

    Secondo me la “lentezza” nel passare verso i 64 bit non è solamente un fatto di marketing, anche se indubbiamente ci sarà anche questa componente.
    Non dimentichiamoci che, tecnicamente parlando, il vantaggio più importante delle architetture a 64 bit è la possibilità di indirizzare più memoria. Al giorno d’oggi, quante applicazioni *consumer* necessitano di utilizzare più di 2 GB (il limite di una tradizionale applicazione Win32 che non sia LARGEADDRESSAWARE)? L’onnipresente Office ne ha realmente bisogno? Forse l’unica applicazione di Office che potrebbe aver necessità di questa transizione è Access, ma per il resto… non ho ancora visto una presentazione (Powerpoint) o foglio di calcolo (Excel) o documento di testo (Word) o caselle di posta (Outlook) che rendano chiara la necessità di avere un Office a 64 bit. E forse questo è un freno sostanzioso alla migrazione a 64 bit.

    Migrazione che, comunque, se ben vediamo, sta procedendo ben più spedita di quella, che pure era molto più critica, dai 16 ai 32 bit. La prima CPU a 32 bit, l’80386, è nata nel 1985; il primo sistema operativo *consumer* PIENAMENTE a 32 bit è stato Windows XP, uscito nel 2001 e quindi ben 16 anni più tardi (lasciamo perdere le varie ciofeche Win 9x, che erano più a 16 bit che a 32, col risultato di ereditare tutti i limiti di stabilità di Windows 3.x).

    Ah, vi scrivo da un PC con Win Vista a 64 bit… :-)

    Ciao
    Filippo

  • # 30
    blackshard
     scrive: 

    Vedo che c’è molta confusione riguardo i 64 bit.

    Innanzitutto l’architettura a 64 bit sui processori x86 l’ha introdotta AMD con le estensioni AMD64 negli Athlon64 (e il nome non è casuale), ed ha il vantaggio di poter gestire anche codice a 32 bit tramite esecuzione diretta nel processore, vale a dire che il codice a 32 bit non viene “emulato” ma viene eseguito come se la macchina fosse realmente a 32 bit. Questo è stato un enorme passo avanti, e ciò ha giovato ad AMD in modo particolare sul lato server con i processori Opteron. Poi intel ha seguito con il set di istruzioni identico ma col nome diverso di EM64T.

    Detto questo, i registri General Purpose e i puntatori sono chiaramente estesi da 32 bit a 64 bit, quindi gli int64 sono il formato nativo, in più vengono aggiunti una manciata di altri registri general purpose.
    In più la generazione del codice è stata rivista e ora il codice compilato a 64 bit è più “rigoroso” e ordinato di quello a 32 bit, soprattutto perchè gli opcode hanno lunghezza fissa. Ciò può portare a miglioramenti nelle prestazioni.

    D’altro canto l’indirizzamento della memoria virtuale cambia in modo notevole, poichè non si può usare una tabella delle pagine strutturata nello stesso modo in cui si faceva con i sistemi a 32 bit, e questo può introdurre delle penalizzazioni nelle performance.

    In tutto questo, i problemi più gravi nel passaggio ad un sistema a 64 bit provengono dai driver, che devono essere necessariamente scritti per girare a 64 bit e non in modalità compatibile a 32 bit. I software che girano in modalità utente invece non hanno questo problema e generalmente lavorano alla perfezione in un ambiente x86-64 proprio perchè il processore esegue il codice a 32 bit in modo nativo.

    Questo per smentire chi dice che i 64 bit portano un miglioramento nella precisione della rappresentazione dei numeri, poichè la precisione deriva dalla dimensione dei registri, mentre l’architettura è un altro discorso. Per fare un esempio, 30 anni fa l’8087 già aveva registri floating point a 64 bit, però l’architettura era quella dell’8086, cioè a 16 bit. Le due cose non sono necessariamente legate.

    Un ultimo appunto riguardo la modalità PAE: per quanto riguarda la Windows XP e Vista, essa è abilitata su tutti i sistemi a 32 bit da XP con SP2 in poi e su Vista poichè, dai documenti Microsoft, la modalità PAE è richiesta per l’attivazione del DEP (Data Execution Prevention), legato all’NX bit introdotto sempre da AMD con l’architettura AMD64. Ho fatto alcune ricerche al riguardo, tuttavia non è chiaro se PAE porti davvero benefici al sistema o meno, in quanto le applicazioni a 32 bit rimangono piantonate ai 4Gb di memoria virtuale, da spartire in 2Gb per l’user space e 2Gb per il kernel space e il sistema operativo a 32 bit non è chiaro quando e se riesce ad indirizzare la porzione fra i 3 e i 4 Gb di RAM normalmente destinati al mapping delle periferiche.

  • # 31
    Cesare Di Mauro
     scrive: 

    Qualche precisazione. Con AMD64 gli opcode non sono a lunghezza fissa, ma continuano a rimanere a lunghezza variabile (con tanto di nuovi prefissi introdotti per accedere ai nuovi 8 registri, e per indicare l’uso di dati a 64 bit).

    Inoltre il vantaggio del “passaggio ai 64 bit” non è dovuto tanto alla maggior capacità dei registri (che possono manipolare quantità a 64 bit, appunto), quanto all’indirizzamento esteso della memoria (che è decisamente un passo avanti rispetto alla famigerata PAE), ma soprattutto alle innovazioni apportate dall’architettura AMD64.

    Innovazioni (oltre ai 2^48 byte di memoria fisica indirizzabile attualmente) che sono le seguenti:
    – registri general purpose passati da 8 a 16;
    – registri SSE passati da 8 a 16;
    – nuove istruzioni;
    – modalità d’indirizzamento relativa al PC per scrivere codice rilocabile;
    – indirizzamento flat della memoria, con schema di paginazione ridotto.

    Tutte cose che portano MEDIAMENTE (lo sottolineo) a un 10-15% di prestazioni migliori (sulla stessa macchina, ovviamente).

  • # 32
    Jacopo Cocchi
     scrive: 

    La PAE è un workaround progettato in tempi in cui le architetture a 64 bit latitavano sostanzialmente al grande pubblico e si voleva superare questo limite per i 32 bit.
    Di fatto però inficia e non poco le prestazioni oltre ad essere estremamente complesso di sicuro più di un’architettura che nativamente supera il limite di memorizzazione dei 4GB. Tant’è che nelle versioni alter-ego a 64 bit di quelle a 32 che mettevano a disposizione questa tecnolologia, la PAE è stata rimossa.
    Per il resto concordo con Cesare.

    E mi sembra piuttosto palese che il ritardo nello spingere lato software ha portato ad una lenta adozione e migrazione dello stesso verso i 64 bit.

  • # 33
    paul
     scrive: 

    io confermo problemi con win xp a 64 bit. Ho avuto problemi con modem isdn (3 diversi modelli), 2 programmi e anche un gioco… Ho dovuto “rassegnarmi” e reinstallare il 32 bit.

  • # 34
    Filippo1974
     scrive: 

    @ paul:

    Le difficoltà di WinXP x64 dal punto di vista della compatibilità con varie periferiche hardware sono note e probabilmente anche questo discorso, che ha provocato evidentemente una certa sfiducia nei confronti dei sistemi a 64 bit, non ha aiutato nell’accelerarne la diffusione.

    Anzi, si potrebbe malignare che se MS aveva messo in circolazione WinXP x64 con il chiaro intento di utilizzarlo come “sistema ponte” per favorire la migrazione verso i 64 bit, allora ha clamorosamente fallito l’obiettivo :-)

    Non dimentichiamoci che WinXP x64 è in realtà una versione “ridotta” di Windows Server 2003, adattata per l’ambito workstation. Per questo non credo debba sorprendere più di tanto la difficile reperibilità dei drivers di periferica. Mi sembra che comunque con Vista x64 (e quindi a maggior ragione con Windows 7) il problema sia stato ampiamente superato.

    Ciao
    Filippo

  • # 35
    paul
     scrive: 

    @ filippo:

    si in effetti per Vista 64 i driver li avevo trovati.
    Solo che non ho Vista 64 :)
    Fortunatamente il negozio dove ho preso la licenza per xp64 è di un mio amico e ho potuto mettermi a posto :P
    La licenza per vista64 la prenderò con la prossima scheda madre e spero proprio di essere in abbondante compagnia nel passaggio definitivo ai 64 bit

    Grazie della risposta cmq :)
    ciao

  • # 36
    Fiber
     scrive: 

    @paul

    se hai Product Key Vista 32bit basta che nel negozio ti fai dare DVD installer di Vista64bit ( anche la copia del DVD Vista SP1 X64 ..tanto e’ il Product Key originale quello che conta) .. e poi reinstallare Vista 64bit usando lo stesso product key del 32bit se dovessi percaso rimpiazzare Vista sullo stesso computer dove hai adesso Vista 32bit

  • # 37
    paul
     scrive: 

    @ fiber

    grazie dell’informazione, ma ho solo la licenza di XP :P
    infatti i problemi li ho avuti solo con XP64. Non ho ancora avuto modo di provare Vista, se non sul pc di amici (ma ho visto che per Vista64 i driver che mi servono ci sono).
    chiudo qua sennò è un po troppo ot, ma grazie a tutti

  • # 38
    cionci
     scrive: 

    La precisione di calcolo non c’entra niente con i 64 bit perché per 64 bit si intende la dimensione dei registri della ALU. La ALU si occupa di fare calcoli relativi ai numeri interi. La FPU, che si occupa appunto di calcoli con numeri in virgola mobile, è la stessa delle CPU a 32 bit ;)
    Può essere vero che è difficile che servano numeri a 64 bit per un programmatore, ma non è vero che sono rari i programmi che li usano: database, encoding/decoding multimediale, crittazione/decriptazione, tutti campi in cui i registri a 64 bit sono una manna dal cielo. Senza contare anche che questo tipo di applicazioni occupano buona parte del tempo CPU del nostro sistema.
    Una cosa che mi sembra non sia stata sottolineata adeguatamente è l’aumento del numero di registri general purpose dell’architettura x86-64. Questo già per conto suo implica una notevole diminuzione dell’accesso alla gerarchia della memoria (ok, c’è la cache L1, L2, addirittura L3, ma è pur sempre meno veloce di un registro), questa grande diminuzione non è solamente dovuta al compilatore che traduce le nostre operazioni sfruttando più registri, ma anche ad un minore uso dello stack.
    I formalismi assembly che prevedevano l’uso dello stack per passare i parametri alle procedure sono stati riscritti per effettuare il passaggio dei parametri TRAMITE I REGISTRI GENERAL PURPOSE. Questo è possibile fino ad un massimo di 6 parametri.
    Significa, non solo meno accessi alla memoria (allo stack), ma anche codice meno grande e di conseguenza meno istruzioni da eseguire.
    Ovviamente c’è ancora molto da lavorare sui compilatori per raggiungere lo stato dell’arte.
    Guardate questa stupida funzione come viene tradotta in assembler a 32 e 64 bit:

    int myFunction(int a, int b, int c, int d, int e, int f)
    {
    return a * b + c * d + e * f;
    }

    Compilata a 32 bit (gcc -O2 -m32 -S prova.c -o prova.a):

    myFunction:
    pushl %ebp
    movl %esp, %ebp
    movl 12(%ebp), %edx
    movl 20(%ebp), %eax
    movl 28(%ebp), %ecx
    imull 16(%ebp), %eax
    imull 8(%ebp), %edx
    imull 24(%ebp), %ecx
    popl %ebp
    addl %edx, %eax
    addl %ecx, %eax
    ret

    Compilata a 64 bit (gcc -O2 -m64 -S prova.c -o prova.a):

    myFunction:
    imull %edx, %ecx
    movl %r9d, %eax
    imull %edi, %esi
    imull %r8d, %eax
    addl %esi, %ecx
    leal (%rcx,%rax), %eax
    ret

    La sintassi è quella AT&T, quindi il parametro sorgente è a sinistra.
    Ogni volta che vedete (%ebp) c’è un accesso alla memoria. Considerate anche il prologo, cioè quella parte di codice necessaria a mettere i dati nello stack per preparare l’esecuzione. Quindi vantaggio doppio: si recuperano i dati direttamente dai registri, ma per preparare la chiamata alla funzione si mettono i dati direttamente nei registri.

    Meno istruzioni, meno accessi alla memoria. Quindi posso affermare con assoluta sicurezza che un codice a 64 bit è più veloce nella maggior parte dei casi dello stesso codice a 32 bit.

    Se vi interessa leggete questo: http://www.cs.cmu.edu/~213/misc/asm64-handout.pdf

  • # 39
    Cesare Di Mauro
     scrive: 

    Non sono d’accordo sull’ultima frase. Il fatto che i puntatori abbiano dimensione doppia e anche il fatto che si debba ricorrere all’uso di prefissi per indirizzare gli altri 8 registri e/o i dati a 64 bit, comporta un raddoppio dello spazio occupato nel primo caso, e un certo aumento della dimensione del codice nell’altro, che possono anche incidere negativamente nell’esecuzione del codice.

    Mediamente, però, si assiste a un apprezzabile aumento delle prestazioni.

    Per il resto, avevo scritto qualcosa nel commento #31. ;)

  • # 40
    Giampaolo
     scrive: 

    Prima di tutto ho fatto una ricerca del software a 64 bit esistente, e nonostante XP 64 sia in vendita da acuni anni non esiste quasi nulla! A parte pochi programmi marginali, mancano proprio i software che più si avvantaggerebbero dei 64 bit, cioè i programmi di editing video professionale. Non esiste nulla di nulla. E si che anche nei benchmarks il montaggio e le elaborazioni video sono le applicazioni che maggiormente impegnano la CPU, molto più di un videogioco (che lavora in massima parte sulla GPU, la scheda grafica). Sono enormi le differenze di prestazioni tra processori diversi in questo campo, per dare un’idea una sequenza video può richiedere un tempo di elaborazione di 10 minuti con un sistema potente oppure di 40 con un processore vecchio tipo. Ecco che mi sarei aspettato proprio in quel campo di trovare software adatti. Invece nulla di tutto questo, i 64 bit sono assolutamente inutili ed anzi, alla prova dei fatti, dannosi. Infatti per far funzionare i “vecchi” applicativi a 32 bit Windows 7 utilizza un emulatore che chiaramente fa decadere le prestazioni di tutto il sistema. In sostanza funziona quasi tutto, ma più lentamente. Notare che i driver devono essere specifici per i 64 bit, e quella è la nota dolente. Tuttora tante stampanti ne sono prive e così anche per schede video, webcams o altro hardware datato. Anche i famosi programmi di video editing, e parlo di applicativi venduti a 1.000 Dollari e oltre, spesso utilizzano loro driver per il masterizzatore DVD e quindi non possono funzionare a 64 bit. Certo che al termine dell’installazione mi ha subito colpito da un lato la stabilità del sistema, mai andato in crash, ma dall’altro l’eccessiva lentezza. Solo all’accensione le differenze con il fratello a 32 bit sono già evidenti: prima appare lo sfondo del desktop, dopo un po’ le icone, e dopo parecchio compaiono i gadgets (orologio, calendario, misuratore risorse). La stessa fase di avvio su Windows 7 32 è quasi istantanea, appare lo sfondo già con le icone ed un attimo dopo i gadgets. Le finestre sulla versione 64 si aprono con estrema calma, non c’è traccia della velocità che avevo sperimentato con i 32 bit. Ho anche trovato dei test messi in rete dove tra XP64 e Windows 7 64 il più performante era il primo! E non erano impressioni ma i risultati di alcuni benchmark. Confermo tutto, non ne vale assolutamente la pena perchè ci si imbarcherebbe solo in una serie infinita di problemi in più senza alcun vantaggio. La mia impressione è che mentre Windows 7 32 bit è certamente un aggiornamento e miglioramento di Vista 32, e finalmente supera XP, Windows 7 a 64 bit sia lo stesso Vista 64 con solamente il nome cambiato.

  • # 41
    Cesare Di Mauro
     scrive: 

    @Giampaolo:

    nonostante XP 64 sia in vendita da acuni anni non esiste quasi nulla! A parte pochi programmi marginali, mancano proprio i software che più si avvantaggerebbero dei 64 bit, cioè i programmi di editing video professionale. Non esiste nulla di nulla. E si che anche nei benchmarks il montaggio e le elaborazioni video sono le applicazioni che maggiormente impegnano la CPU, molto più di un videogioco (che lavora in massima parte sulla GPU, la scheda grafica). Sono enormi le differenze di prestazioni tra processori diversi in questo campo, per dare un’idea una sequenza video può richiedere un tempo di elaborazione di 10 minuti con un sistema potente oppure di 40 con un processore vecchio tipo. Ecco che mi sarei aspettato proprio in quel campo di trovare software adatti.

    Dopo PhotoShop CS4 e LightRoom, dovrebbe essere il turno di Premiere per approdare sui 64 bit.

    Invece nulla di tutto questo, i 64 bit sono assolutamente inutili ed anzi, alla prova dei fatti, dannosi. Infatti per far funzionare i “vecchi” applicativi a 32 bit Windows 7 utilizza un emulatore che chiaramente fa decadere le prestazioni di tutto il sistema. In sostanza funziona quasi tutto, ma più lentamente.

    Questo non è affatto vero. Non esiste nessun emulatore per far girare le vecchie applicazioni a 32 bit.

    Innazitutto i processori AMD64 possono far girare il codice a 32 bit all’interno di un ambiente a 64 bit esattamente alla stessa velocità di quanto farebbero girando in modalità a 32 bit.

    Poi per quanto riguarda Windows in particolare, il subsystem Win32 gira sfruttando il meccanismo WOW64, che trasla le chiamate al s.o. delle applicazioni a 64 bit in maniera trasparente. Questa traslazione mediamente è veloce quanto una chiamata diretta di un software a 32 bit alle API di un s.o. a 64 bit, e questo perché, girando in modalità a 64 bit, c’è mediamente un guadagno prestazionale che generalmente bilancia l’impatto della traslazione.

    Per maggiori informazioni sul funzionamento dei subsystem, puoi leggere qui: http://www.appuntidigitali.it/3006/i-subsystem-di-windows-fra-retrocompatibilita-ed-evoluzione/

    Notare che i driver devono essere specifici per i 64 bit, e quella è la nota dolente. Tuttora tante stampanti ne sono prive e così anche per schede video, webcams o altro hardware datato.

    Avere driver a 64 bit è, al contrario, estremamente positivo proprio per le prestazioni.

    Non c’è paragone con soluzioni come quella adottata da Apple per OS X, dove vengono usati ancora i driver a 32 bit ed è necessario utilizzare un buffer nella memoria bassa (nei primi 4GB) per “fare da ponte” con le applicazioni a 64 bit che fanno richieste ai driver (in sostanza, un’applicazione a 64 bit fa una richiesta a un driver tramite le API del s.o.; questo la prende in carico e utilizza un buffer nei primi 4GB come “area di transito” per memorizzare i dati dell’applicazione; quindi c’è un passaggio in più per i dati, che devono essere sempre copiati in questa zona di memoria).

    Ovviamente il rovescio della medaglia della soluzione nativa è che i driver scarseggiano. Ma con Vista MS ha imposto ai produttori di hardware di fornire versioni a 32 e 64 bit per ottenere la certificazione. Infatti rispetto a XP x64 la situazione è di gran lunga migliore.

    Anche i famosi programmi di video editing, e parlo di applicativi venduti a 1.000 Dollari e oltre, spesso utilizzano loro driver per il masterizzatore DVD e quindi non possono funzionare a 64 bit.

    Purtroppo sono proprio le applicazioni il tallone d’Achille dei s.o. a 64 bit: sono ancora quasi tutte ferme ai 32 bit…

    Certo che al termine dell’installazione mi ha subito colpito da un lato la stabilità del sistema, mai andato in crash, ma dall’altro l’eccessiva lentezza. Solo all’accensione le differenze con il fratello a 32 bit sono già evidenti: prima appare lo sfondo del desktop, dopo un po’ le icone, e dopo parecchio compaiono i gadgets (orologio, calendario, misuratore risorse). La stessa fase di avvio su Windows 7 32 è quasi istantanea, appare lo sfondo già con le icone ed un attimo dopo i gadgets. Le finestre sulla versione 64 si aprono con estrema calma, non c’è traccia della velocità che avevo sperimentato con i 32 bit. Ho anche trovato dei test messi in rete dove tra XP64 e Windows 7 64 il più performante era il primo! E non erano impressioni ma i risultati di alcuni benchmark. Confermo tutto, non ne vale assolutamente la pena perchè ci si imbarcherebbe solo in una serie infinita di problemi in più senza alcun vantaggio.

    Mi sembra strano. Io non ho avuto quest’esperienza con Vista x64.

    La mia impressione è che mentre Windows 7 32 bit è certamente un aggiornamento e miglioramento di Vista 32, e finalmente supera XP, Windows 7 a 64 bit sia lo stesso Vista 64 con solamente il nome cambiato.

    Non credo proprio. Windows 7 a 64 bit è praticamente identico a Windows 7 a 32 bit, tranne per alcune funzionalità aggiuntive che sfruttano le peculiarità dell’ambiente a 64 bit.

    Comunque vedremo quando saranno entrambi commercializzati.

  • # 42
    Giampaolo
     scrive: 

    Aggiungo che non sono un esperto come alcuni di voi, ho riportato solo delle senzazioni “a pelle” da smanettone dopo aver fatto i test su un Athlon 64 X2 4400 AM2 con 1 GB di ram. Ecco, forse per i 64 bit 1 giga è poco, ma certo che l’apertura del desktop ci metteva una vita e trovavo il sistema vistosamente lento, e questo senza farci ancora girare alcunchè. Diversamente messo Windows 7 a 32 bit in confronto al mio S.O. che è XP risultava più veloce (sulla stessa macchina ovviamente, ho solo usato un’altro HD). Per cronaca Windows 7 32 l’ho anche messo su un vecchio Pentium 3 1GB con 512 MB di ram, ed in quella configurazione ho trovato più performante XP, ma lì siamo proprio al limite e sotto i requisiti minimi e peraltro non c’erano differenze enormi. Come dire che in quel caso non ha senso cambiare sistema (piuttosto cambiare pc).

  • # 43
    Giordano
     scrive: 

    Io sto scrivendo con Windows 7 64 bit, 8 GB di ram, 2 schede video Ati 4870×2 (totale 4 schede video), Phenom II x4 940 (4 core) e per essere un sistema operativo beta, è stabilissimo, parecchi driver li ha da soli o tramite windows update, un 2/3 delle applicazioni che ho sono 32 bit (giochi, Google Chrome, Skype 4.0 e altre.). ho avuto delle rogne con Chrome, ma tramite un sotterfugio ho sistemato, Skype invece ok dall’inizio(il 3.8 non andava).

    Anche io sono convinto che Windows 7 porterà finalmente i 64 bit. E sarebbe pure ora….

  • # 44
    GUSTAVO
     scrive: 

    Con la videocamera CANON MVX3i non si può fare editing con Windows 7 a 64 bit, utilizzando Addobe Premier CS4, che segnala errore in quanto la porta è occupata o l’apparato non è in linea . L’ufficio informazioni tecniche di CANON conoscono il problema ma non possono dare informazioni per risolvere il problema . La porta FireWire funziona corretamente, segnalato da Windows 7 . Cosa posso fare per poter utilizzare questa ottima videocamera …..?

  • # 45
    Santo
     scrive: 

    Io chiedo aiuto. Ho acquistato un portatile con Window7 Home a 64bit e purtroppo utilizzo un programma (Natural Speaking della Dragon)che funziona solo a 32bit, non riesco neanche ad installarlo. Se qualcuno sa darmi un cosiglio sarà molto gradito.

  • # 46
    Andrea Ferroni
     scrive: 

    “Qualche giorno fa Microsoft ha dichiarato che Vista x64 sta crescendo molto più rapidamente della versione a 32 bit.”

    Dal momento che la Microsoft impone il porprio sistema operativo su tutti i computer, avendo il 95% del mercato OEM, non capisco dove sia la notizia.

    Lei fa i prezzi, lei impone al mercato questo o quel sistema operativo, buono o instabile che sia. Basta che dica “da domani negli OEM solo sistemi a 64bit” e il gioco è fatto. Più guadagni per loro, più 64 bit per noi, meno soldi (ma non si sa bene quanti) nelle nostre tasche.

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.