|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
www.hwupgrade.it
Iscritto dal: Jul 2001
Messaggi: 75173
|
Link alla notizia: http://news.hwupgrade.it/13295.html
Transmeta implementerà il supporto SSE3 in una nuova versione di Efficeon TM8800 che uscirà entro la fine dell'anno Click sul link per visualizzare la notizia. |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: May 2001
Città: Monza
Messaggi: 4054
|
Ma ma pensavo che ma ma fossero usati quasi esclusivamente in dispositivi supercompatti come Pda e cellulari !! Per che socket sono ? Quanto costano ? Dove si trovano ?? Bellissimi !!!
|
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Sep 2003
Messaggi: 1165
|
il bello di questi processori transmeta e che sicuramente non hanno fatto nessuna modifica hardware per usare le sse3, essendoci uno strato software sopra l'hardware che fa i calcoli bruti....
|
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Oct 2000
Città: Reggio Emilia
Messaggi: 17229
|
Io direi piuttosto che è la cosa brutta
![]() Hanno prestazioni indecenti (o meglio decenti solo per uso d'ufficio o per tablet). I consumi però sono irrisori e quindi vanno benissimo per sistemi altamente integrati dove le prestazioni non sono il primo target. Ad esempio a me piacerebbe veramente un sacco una cpu del genere o un Via Epia per utilizzarlo come server da lasciare acceso 24 ore su 24. Consumi bassi, poco calore, poca spesa.
__________________
Twinkle, twinkle, little star how I wonder what you are. |
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Feb 2004
Città: Verona
Messaggi: 3392
|
Ma su che socket?
O sono solo per soluzioni tipo Embedded?
Confesso la mia ignoranza |
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: Jul 2002
Città: Nowhere
Messaggi: 4723
|
dovrebbero abbassare i prezzi
l'implementazione dei crusoe è troppo costosa, anche sui portatili (I centrino ULV costano meno e sono molto più performanti). è vero che raggiungono le 5 (cinque) ore di autonomia, ma sono un mercato di stranicchia. oltretutto credo che transmeta non abbia sufficienti partner per cominciare la produzione destinata a OEM (mobo+cpu, un po' quello che tutti aspettano, qui la concorrenze del Via epia è troppo forte)
|
![]() |
![]() |
![]() |
#7 |
Senior Member
Iscritto dal: Feb 2004
Città: Verona
Messaggi: 3392
|
x luckye
Devo ricordarmi di premere "refresh" prima di postare un commento
![]() |
![]() |
![]() |
![]() |
#8 |
Bannato
Iscritto dal: May 2001
Messaggi: 6246
|
effettivamente li ho visti solo su sub-note e sui sistemi ultraportatili..
comunque sono degli ottimi processori, se si conta il fatto che consumano davvero pochissimo.. un'altra delle particolarita' HW interessante del TM8800 e il suo clock variabile a seconda del'occupazione della cpu, simile allo speedstep di intel od al powernow! di AMD (ora diventato cool'n quiet), solo che nel transmeta il cambio del clock varia a cicli di 100 volte al secondo, con un'efficenza tale che non e' nemmeno pensabile dagli altri processori... il risultato e' che il transmeta, a riposo, consuma qualche decimo di watt! il fatto che sia un processore con core logico misto (HW/software) non dovrebbe incidere piu' di tanto rispetto ad un processore X86 odierno, questo perche' un processore odierno traduce comunque le ISA in LISA (Long Instruction Set Architecture), il quale perde drasticamente se viene confrontato ad un chip con algoritmo dedicato ad uno specifico compito (un decodificatore, ad esempio), anche se mette in grado di svolgere un piu' ampio spettro di applicazioni. il vantaggio e' appunto avere un software integrato nel processore che ricompila il codice (in questo caso a 256bit); il problema e' la parte puramente HW: se e' poco snella (e registri a 256bit non sono tanto pratici), ed inefficente (pipeline mostruosamente lunghe), non si puo' dar colpa al concetto di core software di essere inefficente.. Un'altro vantaggio si otterra con i multi core (che trasmeta aveva gia' annunciato), in quanto il core software farebbe apparire questi core logici come un mono processore; e non e' un vantaggio da poco.. oltretutto e' un software, e puo' essere pian piano aggiornato e migliorato (come ora) senza dovre rifare il disegno del chip.. oppure potrebbe emulare un PPC o qualsiasi altro tipo di codice (in modo drasticamente lento, daccordo, ma puo' farlo); infatti credo che transmeta sia gia' con X86-64bit. in pratica questo processore e' stato proggettato per essere un efficentissima cpu X86 in rapporto al consumo espresso, cosa che non si puo' affatto dire di tante altre cpu, come il C3 VIA, che consuma poco, ma che ad efficenza tra' istruzioni svolte e consumo, fa' proprio pena.. Per me questi trasmeta sono delle bellissime CPU (hanno soprattutto il vantaggio d'integrare gran parte dei pezzi per costruire un computer); peccato per le potenze espresse, che non ci sono.. Un domani le CPU saranno concettualmente tutte piu' o meno cosi'... Comunque sarei curioso nel sapere quali prestazioni avrebbe con codice nativo.. |
![]() |
![]() |
![]() |
#9 |
Bannato
Iscritto dal: May 2001
Messaggi: 6246
|
comunque c'e' chi produce sistemi (SBC) con cpu transmeta:
http://www.boser.com.tw/products/sbc/hs2602.htm |
![]() |
![]() |
![]() |
#10 | ||||||||
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Quote:
Quote:
Quote:
Quote:
Il primo caso comporta una notevole inefficienza per quanto riguarda lo spazio occupato e ciò che accade quando non è possibile sfruttare tutto il bundle per eseguire quanto più codice (viene "buttato a mare" dello spazio, ma soprattutto delle istruzioni da eseguire). Per il secondo caso c'è da dire che eseguire codice x86 "tradotto" non è certamente il massimo: già di codice per sua natura è abbastanza "frastagliato" e difficile da parallelizzare, e in questo modo lo diventa ancora di più. Quindi sarà più difficile trarre vantaggio dalle 8 istruzioni eseguibili in un colpo solo. Comunque, l'adozione di qualunque set di istruzioni SIMD, come le SSE3 in questo, si rivela invece estremamente vantaggioso, proprio perché è nell'esecuzione di questo tipo di codice che questi processori riescono a rendere al meglio, in quanto decisamente parallelizzabile e "lineare". A ciò aggiungiamo pure che si tende sempre di più a ottimizzare il codice con le SIMD (in particolare il codice critico), per cui globalmente le prestazioni di questi processori dovrebbero essere discrete, a fronte di consumi veramente ridotti... Quote:
Quote:
Quote:
Quote:
La cosa interessante che, invece, non ho ancora visto, è usare questi processori per emulare processori diversi a seconda delle esigenze. Es.: m'interessa lavorare con Mac OS X, allora faccio emulare un PowerPC a questo processore e fatto il boot dalla partizione Mac. Poi m'interessa Windows o Linux, allora resetto e faccio emulare un x86. Ecc. ecc. Il tutto a discreta velocità. ![]()
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
||||||||
![]() |
![]() |
![]() |
#11 | |
Senior Member
Iscritto dal: Jun 2003
Città: vivo in Sicilia (tra la prov. di AG e Palermo)
Messaggi: 956
|
Quote:
In questo caso specifico, come vedresti una soluzione simile a quella di Itanium per migliorare la velocità dell'emulazione dei 32 bit? Si potrebbe cercare di ottimizzare in background il codice prodotto dal jit per le applicazioni più "critiche"/più usate da un utente e per i kernel degli os, per poi salvarlo su hd, anche se comporterebbe un utilizzo maggiore di memoria; le prestazioni aumenterebbero, no? E se per risparmiare spazio su disco si applicasse una qualche compressione (anche opzionale), con un algoritmo "sbilanciato" a favore della velocità di decompressione (nella sola ram)? Non potrebbe essere un buon compromesso, i tempi necessari alla compilazione jit e al profiling successivo non potrebbero ridursi anche notevolmente? Mi sorge però il dubbio che dopo la decompressione potrebbe essere necessaria un'analisi del codice per la corretta allocazione effettiva del programma... anche se forse si potrebbe integrare nell'algoritmo di decompressione, analizzando le istruzioni appena decompresse e cercare di predisporre la memoria in maniera opportuna per accogliere il programma; oppure in fase di compressione si potrebbero conservare informazioni relative alle pagine da creare e alla natura, per agevolare l'analisi jit... ![]() |
|
![]() |
![]() |
![]() |
#12 | |||||
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Quote:
Quote:
Quote:
Inoltre devi considerare che vengono compilati piccoli blocchi di codice, per poi essere subito eseguiti (generalmente), per cui nella maggior parte dei casi il codice tradotto verrà poi eliminato tramite qualche politica di allocazione dei blocchi di memoria (LRU generalmente). I blocchi più importanti sono chiaramente quelli eseguiti dentro a dei loop, per cui già dopo la traduzione e la prima esecuzione, accorgendosi che verranno eseguiti ancora un'altra volta, si passa al primo profiling del codice. Tutto, insomma, avviene molto velocemente, e considerate le piccole dimensioni, le politiche perseguibili credo che rimangono sostanzialmente due: o continuare così ![]() Quote:
Il fatto di conservarle su disco, è una conseguenza logica a ciò che chiedi (conservare il codice tradotto), per cui è chiaro che si dovrebbe pensare a una soluzione di recupero delle informazioni anche in questo caso, e non credo che differisca molto da quanto già utilizzato... Quote:
![]()
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
|||||
![]() |
![]() |
![]() |
#13 | ||
Senior Member
Iscritto dal: Jun 2003
Città: vivo in Sicilia (tra la prov. di AG e Palermo)
Messaggi: 956
|
Quote:
![]() ![]() Quote:
![]() A parte questo il resto mi è chiaro ![]() Ultima modifica di xeal : 12-10-2004 alle 01:00. |
||
![]() |
![]() |
![]() |
#14 | ||
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Quote:
Certo, una cosa ancora più bella sarebbe quella di avere un solo s.o. "universale" che attivi un tipo di emulazione piuttosto che un altra a seconda dell'applicazione da eseguire, e si occupi di gestire tutto il resto (l'emulazione del s.o. target), per cui la avendo in mano le risorse e la loro gestione funzionerebbe tutto benissimo. Tanto per chiarire: si occuperebbe della gestione della memoria a seconda delle richieste di ogni applicazione, anziché allocare un buffer di memoria fisso per ogni ambiente emulato. Quote:
![]() I tipi di utilizzo della tecnologia JIT sono sostanzialmente tre: 1) Interamente software; tutto compilato in real-time, senza archiviare informazioni su disco. 2) Parzialmente software / archiviato su disco; soltanto alcune parti vengono conservati sul disco, presumibilmente quelle più importanti (es. il codice dei cicli), e il resto viene compilato "al volo". 3) Interamente archiviato su disco; le prime esecuzioni servono a tirare fuori l'eseguibile in formato nativo, e soltanto quando si incontra del codice mai eseguito in precedenza si riattiva la compilazione al volo, "riaggiustando" l'eseguibile per tenere in considerazione queste modifiche. Detto ciò, volevo dire che io parteggio per la 1) o per la 3), perché a mio avviso un sistema "ibrido" come il 2) tende comunque ad annullare i vantaggi della compilazione parziale, a causa degli accessi al disco, che sono troppo lenti. La 1) ha il vantaggio di essere la più semplice da implementare, e dà anche dei buoni risultati, oltre a consumare meno risorse (si può decidere quanta memoria riservare ai buffer JIT, e inoltre non viene sprecato né frammentato lo spazio su disco). La 3) ha il vantaggio di garantire le migliori prestazioni in assoluto, ma di richiedere un notevole spazio su disco, e di frammentarlo. Spero che sia più chiaro adesso. ![]()
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
||
![]() |
![]() |
![]() |
#15 | |
Senior Member
Iscritto dal: Jun 2003
Città: vivo in Sicilia (tra la prov. di AG e Palermo)
Messaggi: 956
|
Quote:
Però, questo sistema implicherebbe un problema di supporto non da poco, anzi due. Il primo relativo ai driver, che, se non reperibili come nativi ed emulati per ogni sistema potrebbero creare davvero dei conflitti, oltre che richiedere uno spreco di memoria (RAM in particolare), anche se si potrebbe ovviare con un driver fittizio associato agli originali che richiama all'occorrenza questo o quel driver trattandoli come overlay mutuamente esclusivi, ma questo inciderebbe negativamente sulle prestazioni, sia per l'emulazione, sia per lo swapping anche continuo. Il secondo, credo irresolubile, relativo alle specifiche degli os da emulare, pena la non "rimappabilità" delle funzioni di libreria e delle syscall... Per il resto, si, il meccanismo che hai descritto mi l'ho capito. Però mi sono spiegato male io... ![]() Nella mia ipotesi mi riferivo alla 3), aggiungendo qualche accorgimento per cercare di ridurre lo spazio richiesto du disco, e mi chiedevo quanto questi "accorgimenti" potessero incidere sulla velocità, rendendo preferibile la 3) senza compromessi: a) per ridurre spazio, pensavo di archiviare su disco (compilate per intero) le applicazioni usate più spesso, insieme al kernel, ai driver e ai moduli dell'os, diciamo, "secondari" richiamati più frequentemente, in modo da personalizzare tutto in base alle esigenze dell'utente e all'uso che fa del sistema (dandogli la possibilità di compilare e archiviare tutto o niente); b) per occupare ancora meno spazio, sempre in maniera opzionale, mi chiedevo se non si potesse comprimere il codice compilato, in modo da decomprimerlo direttamente nella RAM durante l'allocazione, eventualmente ricompattando le parti decompresse per evitare frammentazione di istruzioni e dati contigui (sempre in ram), oppure memorizzando (su disco) informazioni su come allocare correttamente i blocchi da decomprimere e/o analizzando le varie parti, eventualmente eseguite subito dopo la decompressione e prima che si decomprimano le successive (una sorta di decompressione jit che sostituisca la compilazione al volo, sperando che si abbia comunque un vantaggio, altrimenti sarebbe inutile). Insomma, pensavo ad un compromesso tra la 1) e la 3), più veloce della 1) e meno dispendioso di risorse (memoria non volatile) della 3), sperando di non incorrere in un ibrido che condensi i difetti di entrambe le opzioni di utilizzo (tipo la 2). Ciao ![]() Ultima modifica di xeal : 12-10-2004 alle 21:50. |
|
![]() |
![]() |
![]() |
#16 | ||||||||
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Quote:
![]() Quote:
Quote:
Quote:
Un po' come avviene con Wine, insomma. Quote:
![]() Quote:
Quote:
Preferirei la prima, ossia comprimere l'eseguibile compilato (con qualcosa tipo UPX), ma che poi viene interamente decompresso in memoria al caricamento, ed eseguito a piena velocità. E' chiaro che l'occupazione di memoria sarebbe consistente, ma dati i costi delle ram e il continuo aumento del taglio con cui vengono venduti i computer, sia l'ipotesi da prendere maggiormente in considerazione... ![]() Quote:
![]() Ciao
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
||||||||
![]() |
![]() |
![]() |
#17 | ||||
Senior Member
Iscritto dal: Jun 2003
Città: vivo in Sicilia (tra la prov. di AG e Palermo)
Messaggi: 956
|
Quote:
Quote:
![]() Quote:
![]() Quote:
![]() |
||||
![]() |
![]() |
![]() |
#18 | |||||
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Quote:
![]() Quote:
Quote:
Quote:
Quote:
![]()
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
|||||
![]() |
![]() |
![]() |
#19 | |||
Senior Member
Iscritto dal: Jun 2003
Città: vivo in Sicilia (tra la prov. di AG e Palermo)
Messaggi: 956
|
Quote:
Quote:
Alcuni giochi e applicazioni cercano di installare una copia delle direct x... A questo punto, non si potrebbero considerare come una parte del programma da eseguire mediante jit? Probabilmente, però, qualcuno non sarebbe d'accordo... ![]() Quote:
![]() Ciao |
|||
![]() |
![]() |
![]() |
#20 | ||||
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Quote:
![]() Quote:
Quote:
![]() Quote:
![]()
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
||||
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 01:36.