|
|
|
|
Strumenti |
24-06-2020, 15:27 | #81 | |
Senior Member
Iscritto dal: Jul 2002
Città: Milano
Messaggi: 19101
|
Quote:
io oggi comprerei Intel, ma solo a prezzo vantaggioso se no non ne vale la pena, al momento di venderli usati avranno un valore molto ridotto a differenza del passato una considerazione sui Mac touchscreen: sui Mac ARM gireranno nativamente le app per iPad e iPhone, ovviamente pensate per il touchscreen in alcuni casi si può usare il mouse, ma le gesture con più dita come fai a farle? potrebbero usare il trackpad, ma sembra un compromesso, mentre un Mac touchscreen ti darebbe la stessa esperienza d'uso del iPad lo sviluppatore può evitarlo, ma è chiaro che se la tua app gira bene hai tutto l'interesse a fornirla su un'altra piattaforma, senza fare niente nemmeno il giro di Catalyst pensate ai giochini o a certe utility, l'app store di iOS è pieno di quella roba e la gente la scarica magari ti serve il Mac perché lo preferisci a un iPad, ma quando usi quelle app lo vuoi fare con il touchscreen Ultima modifica di recoil : 24-06-2020 alle 17:10. |
|
27-06-2020, 11:20 | #82 | |||
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26107
|
Quote:
- non c'è ancora arrivata sugli interi, ed è indietro sulle prestazioni FP; - è dietro una micro-architettura x86 vecchia di 5 anni (Skylake); - Apple usa un design estremamente aggressivo (basti confrontare i diagrammi delle micro-architetture) con una spaventosa quantità di risorse a disposizione (anche qui basti confrontare gli elementi micro-architetturali: numero di istruzioni decodificate per ciclo di clock, numero di istruzioni eseguite per ciclo di clock, numero di porte d'esecuzione, dimensioni delle cache L1, L2, branch predictor, reservation station, etc.), tant'è che i suoi core ad alte prestazioni sono enormi. Negli anni a venire Apple potrà limare un po' le prestazioni, e affidarsi per lo più ai progressi del processo produttivo di TSMC, mentre Intel ha in programma l'arrivo di nuove micro-architetture che, per il solo IPC, da Skylake arriveranno a un incremento dell'80%. Questo perché ha ancora parecchio da giocarsi (vedi ultimo punto del precedente elenco). Quote:
Quote:
Intel ha già problemi con le AVX-512, che devono girare a clock decisamente più bassi persino delle AVX a 256 bit. Per il resto è vero: Intel si porta dietro il legacy di più 40 anni, mentre chi usa ARM può ritagliarsi l'ISA come vuole. Per il resto e come qualcuno ha già detto, i benchmark effettuati lasciano il tempo che trovano. Quando Apple passò dai PowerPC agli x86, sbandierò prestazioni fino a 4 volte superiori rispetto ai G5 (quando il giorno prima sbandierava prestazioni fino al doppio più veloce rispetto ai PC). Qui non c'è nulla del genere: il silenzio. Soltanto un generico "migliori prestazioni per watt". Che vuol dire tanto per dispositivi mobili, ma non per desktop e server (vabbé che Apple ne è uscita da un bel pezzo ormai)...
__________________
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 |
|||
27-06-2020, 11:54 | #83 |
Senior Member
Iscritto dal: May 2004
Messaggi: 12038
|
Io ho paura per l'obsolescenza software.
Esempio: ho un mac con High Sierra, sistema che mi risulta ancora supportato fino a che non esce Big Sur. Stamattina volevo provare Parallels Desktop da App Store. Non me lo fa installare perché vuole almeno Mac OSX 10.14.6. Se vado sul sito Parallels posso comprarlo e usaro anche su High Sierra. Morale, se fanno tutto su ARM e spostano su AppStore tante applicazioni, e già oggi imac App Store non permette di scaricare versioni precedenti di una applicazione, che impatto avremo noi acquirenti ? Saremo costretti ad aggiornare più spesso i computer per obsolescenza programmata?
__________________
"Qualunque cosa abbia il potere di farti ridere ancora trent'anni più tardi non è uno spreco di tempo. Credo che le cose di quella categoria si avvicinino molto all'immortalità" |
27-06-2020, 12:04 | #84 | |
Senior Member
Iscritto dal: Aug 2008
Città: N.P.
Messaggi: 13573
|
Quote:
__________________
Sto cercando di disintossicarmi dall'Hardware... ma non ci sono riuscito battutona ci gira Cyberpunk? |
|
27-06-2020, 13:00 | #85 |
Senior Member
Iscritto dal: May 2004
Messaggi: 12038
|
Sei obbligato a comprare Apple per via di qualche tool specifico?
__________________
"Qualunque cosa abbia il potere di farti ridere ancora trent'anni più tardi non è uno spreco di tempo. Credo che le cose di quella categoria si avvicinino molto all'immortalità" |
27-06-2020, 14:10 | #86 |
Senior Member
Iscritto dal: Aug 2008
Città: N.P.
Messaggi: 13573
|
Se office e adobe sbarcano su linux secondo me ci sarà un'impennata di adozione del pinguino
__________________
Sto cercando di disintossicarmi dall'Hardware... ma non ci sono riuscito battutona ci gira Cyberpunk? |
27-06-2020, 14:31 | #87 |
Senior Member
Iscritto dal: Aug 2008
Città: N.P.
Messaggi: 13573
|
Idem, al momento uso prevalentemente windows per i giochi, i programmi e perché il portatile non gestisce al meglio l'autonomia.
Potrei affidarmi a wine ma non ho voglia poi se voglio usare linux ho sempre il Lenovo da combattimento con kali Ora come ora tutti abbiamo l'ssd ma win10 su disco meccanico è un disastro eh, lentissimo
__________________
Sto cercando di disintossicarmi dall'Hardware... ma non ci sono riuscito battutona ci gira Cyberpunk? |
27-06-2020, 14:39 | #88 | |
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26107
|
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 |
|
27-06-2020, 16:23 | #89 |
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26107
|
Capito. E sui gusti non si discute.
__________________
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 |
27-06-2020, 17:09 | #90 | |
Senior Member
Iscritto dal: May 2004
Messaggi: 12038
|
Quote:
__________________
"Qualunque cosa abbia il potere di farti ridere ancora trent'anni più tardi non è uno spreco di tempo. Credo che le cose di quella categoria si avvicinino molto all'immortalità" |
|
27-06-2020, 18:53 | #91 |
Senior Member
Iscritto dal: Nov 2006
Messaggi: 6697
|
Comunque ti ribadisco che i macbook pro 2018 in poi sono dei forni su cui è difficile mettere le mani sopra.
https://lmgtfy.com/?q=macbook+pro+hot Aspettati: - brew cask install macs-fan-control il controller delle ventole del macbook da svariati problemi e a volte le ventole non partono nemmeno, vanno controllate via terminale. Altrimenti http://tbswitcher.rugarciap.com/ - rumore di ventole perenne se programmi, specialmente d'estate, fisso con docker - multi monitor = calore, tanto calore, specie se li attacchi a sx - prestazioni basse e quantità di memoria bassa. Il mbp ha di base la stessa memoria di un raspberry pi da 70 euro. Fai tu. Per 8 gb in piu paghi circa 200 euro in piu. Inutile dire che salire di frequenze e modelli di cpu è un problema per il calore. Cioè non riesco a capire questa tua incomprensibile fissa per "ommioddio non mi piace la grafica windows", quando qualsiasi macbook pro skylake in su è una immensa fonte di problemi. Altre cose a caso: - caricare dal lato sinistro del macbook, via adattatore, può portare al bruciare la componentistica, usa sempre la parte dx (idem per monitor) (ah, se hai il macbook non stra carrozzato non hai due usb-c a dx, quindi devi per forza farlo a sx) - stai comprando roba che è già programmata per essere obsoleta tra qualche anno O ti prendi un notebook e ci metti linux/windows o aspetti arm (ma lì puoi dire addio al dual boot, potrebbe essere importante, anche se io non l'ho mai usato). Comprare un mbp skylake in poi è un disastro di acquisto sotto tutti i punti di vista. Io non so quanto tu abbia usato un mbp in vita tua, ma il case in alluminio diventa davvero bollente anche con i modelli vecchi, con quelli degli ultimi anni è inutilizzabile. Questa tua fissa per il mbp mi sa tanto, onestamente, di una persona che un macbook non l'ha mai usato a sufficienza. Io lo faccio per lavoro e ringrazio dio di avere un fisso a casa e un altro portatile win. Sia chiaro, non ho nulla in contrario ad Apple, non vedo l'ora esca il nuovo ipad pro per comprarlo ad esempio e ho avuto 4 mbp in vita mia, ma poichè hai detto che fai il dev ti stai fissando con roba che non serve e che andrà a influire molto piu negativamente sul tuo lavoro del quanto lo faccia l'aspetto dell'UI che tanto ti interessa. In compenso, però, macos è d'obbligo se devi compilare per iOS e molto utile per testare roba su safari (che è l'internet explorer dei browser). Dammi retta, non ha senso prendere un mbp ora, (tra l'altro se fai il dev non te lo dovrebbe dare il tuo datore di lavoro...?) quando tra qualche mese escono le versioni arm che risolveranno il 90% dei problemi attuali dei mbp. Ultima modifica di Vul : 27-06-2020 alle 18:58. |
28-06-2020, 22:19 | #92 | ||
Senior Member
Iscritto dal: Jan 2007
Messaggi: 5304
|
Quote:
Invece di visualizzare l'implementazione in termini di "registri a 2048bit", visualizzala come "gruppo di 16 registri a 128bit" e relative ALU a 128bit che in base all'implementazione vanno da 1 a 16, con tutte le possibili varianti (es: solo 8 ALU ma a frequenza di clock doppia). Quote:
ARM Ltd. ha creato nel tempo una famiglia di set di istruzioni che viene incontro un po' a tutte le esigenze, con il passaggio ai 64bit hanno creato un nuovo set di istruzioni "da zero" con tutti i vantaggi che ne derivano, ma secondo me Risc-V è ancora più interessante in termini di versatilità e potenziale di crescita. |
||
28-06-2020, 22:52 | #93 | ||
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26107
|
Quote:
Ad esempio la prima implementazione delle SSE (con vettori a 128 bit) arrivò col Pentium III, che però "spezzava" tali istruzioni in coppie di uop ognuna in grado di gestire 64 bit dei 128 bit. Il problema con queste implementazioni è che ti serve un backend in grado di eseguire il doppio delle uop per ciclo di clock, se vuoi mantenere lo stesso data rate, il che non è affatto possibile (i costi esplodono all'aumentare del numero di porte d'esecuzione). Quote:
Non concordo affatto sulla versatilità, perché è un'ISA progettata da accademici, e se ne vedono tutti i limiti. Hanno cercato a tutti i costi la "purezza" nella struttura degli opcode, che li hanno costretti a notevoli compromessi. Salvo poi calare le braghe quando hanno sbattuto le corna sul design dell'estensione SIMD (che doveva essere pronta almeno un paio d'anni fa, se non ricordo male, e ci stanno ancora lavorando), che li ha sostanzialmente obbligati a sfornare parecchi formati per gli opcode. Per non parlare dei proclami sulle estensioni immodificabili (una volta finalizzati), salvo poi essersi accorti della colossale sciocchezza di aver obbligato a implementare anche le divisioni in hardware anche se ti servono soltanto le moltiplicazioni, visto che l'estensione standardizzata li prevedeva obbligatoriamente entrambi. Per risolvere il problema hanno nuovamente calato le braghe e tirato fuori le "sottoestensioni", dove puoi avere soltanto le moltiplicazioni. Ma è soltanto un esempio, perché di questi errori ne hanno commessi diversi, e creato apposite sottoestensioni per metterci una pezza. Il bello è che hanno ancora la faccia di bronzo di affermare che non c'è frammentazione nell'ISA... Dulcis in fundo, hanno voluto mantenere il set d'istruzione di base ridotto all'osso per salvaguardare la purezza (RISC -> set d'istruzioni ridotto), ma si sono scontrati sia con la scarsa densità di codice (risolto, in parte, con l'estensione "compressa", C) sia con problemi prestazionali (dovuti al fatto di dover eseguire più istruzioni rispetto ad altre architettura, per eseguire gli stessi compiti). Per cercare di metterci una pezza hanno suggerito (nonché pubblicato entusiastici paper per evangelizzare la trovata "geniale") di implementare nel frontend il macro-op fusion (roba che Intel fa da una vita. E meno male che tanti esperti di questo forum dicono che non innovi) per convertire una coppia di istruzioni a 16-bit compresse in una sola istruzione a 32 bit, in modo da risolvere almeno il problema delle prestazioni (ma dovendo far ricorso sia al set d'istruzioni compresso, sia snaturando la semplicità del frontend di cui andavano fieri, implementando un meccanismo di pattern-matching delle istruzioni che costringe pure ad allungare la pipeline). E sempre su quest'onda la ciliegina sulla torta è rappresentata da una sola modalità d'indirizzamento per referenziare la memoria. Il che costringe i compilatori a generare codice apposito quando serve referenziare array di elementi (operazione tutt'altro che rara, come sappiamo), quando altre architetture risolvono il problema con l'apposita modalità d'indirizzamento [registro base + registro indice scalato + offset]. Mi fermo qui, che è meglio. Aggiungo soltanto che ARM con ARMv8/ARM64 ha fatto un ottimo lavoro, e pur avendo commesso l'errore di non implementare un set d'istruzioni compresso / a 16-bit (come Thumb, insomma), ha dato una bella lezione di come si progetta un'ISA che tenga conto di come funziona il mondo reale e delle esigenze degli sviluppatori.
__________________
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 |
||
04-07-2020, 03:01 | #94 | ||||||||
Senior Member
Iscritto dal: Jan 2007
Messaggi: 5304
|
Quote:
Quote:
Inoltre non si parla di un ISA, ma di una famiglia di ISA per cui si può sviluppare un ecosistema software ed hardware comune. Attualmente i "set di istruzioni base" sono RV32I, RV32E, RV64I con inoltre "predisposizioni" per un eventuale RV128I. Ed oltre a questo l'idea di base è di lasciare il più libera possibile l'implementazione architetturale mantenendo comunque buona compatibilità a livello software. I limiti mi sembrano più che altro dei compromessi tra requisiti contrastanti, ma quelli ci sono in tutte le architetture (dagli x86 agli ARM). Quote:
Nel caso delle SIMD sono state "bloccate" perche non c'era un bisogno pressante di averle subito e perchè si volevano valutare bene le questioni sia teoriche che pratiche e commerciali a riguardo. Se non sbaglio ora l'idea di massima è avere delle estensioni "P" (Packed SIMD) che usano i GPR e delle estensioni "V" che introducono un set di registri vettoriali con istruzioni simili alle SVE di Arm Ltd. come concetto. Quote:
Poi, devo aggiungere che in 35 anni e passa di sviluppo software con ogni tipo di microprocessore e qualche DSP tanto per non farmi mancare niente, se hai bisogno della moltiplicazione in hardware, il 99% delle volte torna utile anche la divisione in hardware (magari lentissima, ma sempre meglio di doverla fare in software) oppure la complessità aggiuntiva del divisore è trascurabile rispetto al core nel suo complesso. Quote:
Inoltre le estensioni C erano previste praticamente dall'inizio del progetto, non è che sono state aggiunte dopo come ad esempio è avvenuto con ARM, MIPS ed altre architetture. Quote:
E' solo una questione di implementazione. Se serve giusto un processore senza tante pretese è possibile farne un implementazione economica in-order, senza jump-prediction, senza macro-op-fusion e pure senza istruzioni compatte. Se invece vuoi qualcosa di più potente sono già previste un sacco di possibilità ed i compilatori possono generare codice che sfrutta bene l'hardware in entrambi i casi senza dover ricompilare (nel caso in cui ci sia il supporto dell' estensione C, in caso contrario basta ricompilare cambiando un flag, come si fa con gli ARM) Quote:
In primo luogo, con le estensioni C diventa possibile generare sequenze di istruzioni "facili da fondere" che implementano [registro base + registro indice scalato + offset], in secondo luogo se si deve "scorrere" un array spesso si usa preincremento/postincremento (o a livello di codice sorgente o come ottimizzazione fatta dal compilatore quando identifica indicizzazioni "sequenziali") ed anche quel tipo di sequenza si presta bene ad essere fusa. Quote:
Aggiungi il margine di crescita che ha a livello di "istruzioni ancora da assegnare" e ne vien fuori una famiglia di set di istruzioni mica male. Per ora sono in commercio imlementazioni di Risc-V "per applicazioni embedded a basso costo", ma man mano che si finalizzano le varie estensioni mi sa che ne vedremo delle belle. Poi non è da trascurare il fatto che Risc-V non ha bisogno di essere "il più potente di tutti" per avere successo e fare le scarpe ad ARM ed x86, gli basta avere prestazioni sufficienti ed avere un buon ecosistema software, senza contare che il fatto di essere libero da brevetti e già ora molto flessibile come possibili implementazioni lo rende estremamene interessante in settori in cui servono fornitori indipendenti per mettersi al riparo da brutte sorprese oppure chip "speciali" che devono avere implementazioni molto particolari ed al tempo stesso un buon ecosistema software già disponibile. Non è un caso se ad esempio OrzakIC stia sviluppando una "cpu venusiana" per conto della NASA basandola proprio su Risc-V. cpu venusiana = cpu realizzata su substrato di SiC (carburo di silicio) capace di funzionare a 500°C di temperatura senza sistemi di raffreddamento (la temperatura al suolo su Venere sta sui 460°C). |
||||||||
12-07-2020, 11:56 | #95 | ||||||||||||||||||
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26107
|
Quote:
Le ISA che hai citato sono troppe legate all'embedded, mentre RISC-V s'è prefisso di essere utilizzata dall'embedded low-cost/resource all'HPC. Quote:
Soltanto successivamente (e da un po' di anni) si sono unite delle aziende, una volta che il progetto ha cominciato a prendere con delle implementazioni (le prime realizzate sempre nelle università) e il supporto software. Poi che gli accademici avessero esperienza non ha impedito loro di commettere degli errori, per l'appunto. Quote:
Quote:
Qui parliamo di un'ISA completamente nuova. Di pacca. E, con tutti gli use-case ed errori del passato da tenere bene a mente, avrebbero dovuto tirarla fuori senza gli errori madornali che ho citato. Quote:
Il progetto è nato nel 2011, e di tempo ne hanno avuto abbastanza. Quote:
Salvo poi dover togliere di mezzo il cavallo di battaglia, la punta di diamante di questa estensione (il polimorfismo dei tipi di dati), perché chi realizza microarchitetture ha fatto notare che l'implementazione sarebbe stato parecchio complicata (e probabilmente le prestazioni ne avrebbero risentite). E non è che ci volesse un'arca di scienze per capirlo, eh! Inoltre avrebbero voluto mantenere la struttura base degli opcode, in modo a rendere semplice la decodifica. Invece anche qui hanno dovuto fare retromarcia perché per le istruzioni SIMD tale struttura è troppo limitata e castrante, specialmente perché hanno voluto anche aggiungere delle caratteristiche sono molto utili in quest'ambito (primo fra tutti le "maschere". Già introdotte da Intel con Larrabee prima, Xeon Phi poi, e con AVX-512). Questo li ha costretti a tirare fuori parecchi opcode per compattare al meglio lo spazio a disposizione per infilarci i campi addizionali che servivano allo scopo. Altrimenti avrebbero dovuto utilizzare opcode a 48 bit, mandando in frantumi la semplicità dell'ISA "base". Nel frattempo, visto che le estensioni SIMD vettoriali a lunghezza variabile dei vettori (come SVE di ARM, appunto) sono overkill in ambito embedded, hanno dovuto aggiungere le estensioni SIMD "packed" classiche (come quelle che conosciamo), che tanto le aziende avevano già deciso per conto loro di implementare, visto che erano e rimangono utili (specialmente in ambito embedded. Dove peraltro usano i registri GP per risparmiare sull'implementazione dell'ISA). Quote:
Infatti se vai prendere una vecchia versione del PDF con le specifiche dell'ISA trovi soltanto l'estensione M, per l'appunto (e che ti obbliga a implementare tutti i tipi di moltiplicazione e divisione definiti), mentre le più recenti riportano delle sotto-estensioni in cui sono definite soltanto le moltiplicazioni. Quote:
Spesso a loro serve soltanto la moltiplicazione, che tante volte consente di evitare la divisione moltiplicando opportunamente il registro con un determinato valore e scalando (shiftando) poi il risultato. Roba ordinaria, comunque: lo fanno già alcuni compilatori. Quote:
Per cui di aggiunte non se ne parla. Ma per risolvere le rogne saranno costretti ad aggiungere delle apposite estensioni, appunto. Che poi è la stessa cosa, anche se così salvano formalmente l faccia. Ma tanto così facendo aumenteranno la frammentazione. Quote:
Ma non l'avevano definita. Questo è avvenuto dopo e in parallelo, con uno dei progettisti di RISC-V che ha proposto l'estensione C. Come puoi vedere dalla sua tesi. Quote:
Adesso non lo trovo, ma il paper di Patterson & co., presentato qualche anno fa, nasce come proposta per risolvere quei problemi. Dunque una soluzione postuma. Quote:
In ogni caso il macro-op fusion funziona soltanto con l'estensione C, che quindi diviene obbligatoria. Quote:
Cosa che, invece, ARM ha saputo ben prevedere e risolvere con ARMv8, che mette a disposizione diverse modalità d'indirizzamento complicate, molti utili in tanti casi comuni come quelli citati. Reduced and Simple isn't always better. Quote:
Quote:
Aggiungere singole istruzioni per risolvere i problemi comuni di cui sopra richiederebbe la realizzazione di tante micro-estensioni, che farebbe aumentare ancora di più la frammentazione. Certa roba sarebbe dovuta arrivare già nell'ISA base, anziché ridursi all'osso. Che poi il paradosso è che tante estensioni SIMD sono farcite di istruzioni (alla faccia del set ridotto). Ad esempio quella per l'FPU ha persino istruzioni di minimo e massimo! Ma si sono persi per strada tanta roba utile. Quote:
E non è un caso che una delle estensioni & implementazioni RISC-V più comuni e utilizzate è quella PULP dell'università di Zurigo, che di base aggiunge diverse estensioni custom che consentono di implementare loop in hardware, come pure istruzioni di load/store con pre/post-incremento del registro base. Quindi di fatto hanno colmato alcune di quelle lacune. Ma PULP rimane un'estensione custom... 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: 23:05.