|
|
|
![]() |
|
Strumenti |
![]() |
#81 | ||
Senior Member
Iscritto dal: Jan 2007
Messaggi: 5994
|
Quote:
C'erano i Mac con quote di mercato in calo, c'erano i vari home computer e poi il settore embedded (infatti è li che gli MC68xxx hanno resistito più a lungo) ma niente di davvero comparabile alla mole di software per x86 (specialmente la tanta roba "aziendale" o "per ufficio") con un utenza così vasta e per cui la retrocompatibilità era più importante di quasi tutto il resto. Basta pensare ad esempio al' i386 che fu introdotto nel 1985 e che sui desktop computer fu essenzialmente utilizzato per tutta la sua vita come un "8086 più veloce" su cui far girare MS-DOS e poi Windows 3.1 (o al massimo Windows 95 quando ormai era alla fine del suo uso sui dekstop anche se ha continuato ad essere utilizzato molto a lungo su sistemi embedded). Quote:
Insomma, c'è ancora una certa varietà. Per quel che riguarda i dispositivi tipo smartphone e tablet gli ARM dominano, ma nel settore embedded se la devono giocare con gli altri anche se piano piano stanno dominando pure li (principalmente perche "tutti" possono produrre degli ARM risparmiandosi un sacco di costi di R&D e potendo appoggiarsi sull'ecosistema di tool e macrocelle per core periferiche già esistente riducono ulteriormente i costi complessivi). |
||
![]() |
![]() |
![]() |
#82 | |||
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Quote:
Ecco qui un grafico per Apple: ![]() Apple annunciò il passaggio ai PowerPC nel '94. 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 |
|||
![]() |
![]() |
![]() |
#83 | |||
Senior Member
Iscritto dal: Jan 2007
Messaggi: 5994
|
Quote:
Inoltre se la retrocompatibilita fosse stata così importante come negli x86, avrebbero continuato a far evolvere gli MC68000. Quote:
Solo con Windows 95 è iniziata la vera transizone verso i 32bit delle applicazioni per x86. Quote:
Ma ad esempio Renesas continua a spingere il suo RX nella fascia bassa dei 32bit (specialmente nel settore automotive, se ricordo bene). Anche MIPS non è così spacciato come alcuni pensano ed Immagination Technologies li sta rilanciando con nuovi core sia per il settore embedded che per dispositivi mobili. |
|||
![]() |
![]() |
![]() |
#84 | |||||||
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Quote:
Quote:
Questo costringeva le aziende che facevano uso dei suoi processori a mettere delle pezze ad hoc, ma ciò non era sempre possibile (vedi alcuni giochi Amiga, che non funzionavano sul 68060 proprio perché mancavano delle istruzioni, e alcune realmente utili, come la moltiplicazione 32x32->64 bit). Siccome non c'erano altri produttori di CPU 68K, si doveva sottostare ai capricci di Motorola. Quote:
Penso di sì. Non ne ricordo tanti che fossero approdati ai 32-bit. Per i giochi, invece, il discorso era ben diverso: hanno fatto presto uso di DOS-Extender, e mi pare ovvio che così fosse. Inoltre i giochi sono soggetti a una rapida obsolescenza, per cui la retrocompatibilità in questo caso non è così importante, anche se veniva mantenuta ugualmente (sia dalla CPU, sia dalle schede video). Quote:
Quote:
Quote:
![]() Purtroppo ho visto pure che non ha più sviluppato l'architettura RX, ma offre microcontroller basati su ARM, SuperH, e un'altra architettura RISC che mi sembra proprietaria. E' su quest'ultima che sembra stia spingendo molto. 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 |
|||||||
![]() |
![]() |
![]() |
#85 | ||
Senior Member
Iscritto dal: Jan 2007
Messaggi: 5994
|
Quote:
Quote:
L'architettura RX continua ad essere sviluppata, solo che il set d'istruzioni non cambia più di tanto, recentemente hanno introdotto RXv2 per le due nuove linee di fascia più alta (il primo prodotto di quel tipo dovrebbe essere il SoC RX64M), visto che si concentrano su applicazioni embedded tipo controllo di motori/azionamenti e macchinari industriali in generale l'enfasi e produrre nuovi SoC con il giusto mix di periferiche/ram/flash con giusto la potenza di calcolo che serve (e semmai consumi bassi, ecc. ecc.). Ma "si tengono bassi" perche l'RX non è fatto per dare battaglia nelle fascie più alte. |
||
![]() |
![]() |
![]() |
#86 | ||||
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Quote:
Comunque è un design propriamente CISC: le istruzioni arrivano fino a 8 byte di lunghezza, e consentono di specificare immediati a 32 bit, eseguire operazioni in memoria con eventuale immediato, e pure istruzioni di copia memoria-memoria. ARM ha preso alcune caratteristiche dei CISC (LDM/STM in primis, e modalità d'indirizzamento più complesse), ma tolto questo rimane un design rigorosamente RISC. 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 |
||||
![]() |
![]() |
![]() |
#87 | |||
Senior Member
Iscritto dal: Jan 2007
Messaggi: 5994
|
Quote:
L'allocazione degli opcode e delle modalita di indirizzamento, come nello sviluppo dei RISC sono state basate su un analisi molto approfondita del codice generato dai compilatori delle cpu tipicamente usate in ambito embedded. Le istruzioni di indirizzamento "complesse" sono eseguite in un singolo ciclo da un unita dedicata e se non sbaglio non vi è uso di microcodice. Solo le DIV ed istruzioni "lunghe" che richiedono il fetch di più word e quelle che leggono/scrivono dalla memoria o richiedono lo svuotamento della pipeline (i branch se vengono eseguiti) richiedono più di un ciclo. In pratica è un "RISC con priorità alla compattezza del codice" (seguita dall'efficienza) per applicazioni embedded. Per questo ad esempio ci sono più istruzioni dedicate per manipolare i singoli bit (cosa molto più frequente con roba embedded che manipola registri di I/O e cose simili) e nelle modalita di indirizzamento si usano indici (il valore viene "implicitamente moltiplicato" per la dimensione del tipo di dato a cui si accede) invece che "semplici" offset. Quote:
Quote:
Per roba che richiede più potenza o funzionalità "multimediali" hanno gli SH e gli ARM. Per l'automotive hanno i V850 (ed ora RH850). Per roba "più piccola" hanno gli R8 ed RL78. In pratica è nato per evitare di dover continuare a sviluppare due linee di prodotto che praticamente avevano le stesse tipologie d'uso (facendo confluire verso di esso chi le utilizzava) e che non si potevano far evolvere più di tanto. Non salgono di clock perche per le tipologie d'uso e per i quantitativi prodotti spesso contano di più i consumi bassi ed il costo ridotto (per questo la compattezza del codice ed anche il non dover pagare un centesimo per IP altrui aiuta in tal senso) e la potenza di calcolo è già piu che buona. La nuova versione di punta arriva a 240Mhz, ma il grosso di quelli venduti probabilmente continueranno ad essere quelli da 100Mhz o da 50Mhz (che vanno a rimpiazzare roba spesso molto più lenta e con minor efficienza di esecuzione). |
|||
![]() |
![]() |
![]() |
#88 | |||||||
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Quote:
Anch'io ho eseguito un approccio simile per le ISA che ho inventato, ma le mie architetture rimangono rigorosamente CISC (una ispirata al 68K, e un'altra a x64). ![]() Quote:
Quote:
Quote:
Quote:
Tornando a RX, è chiaro che abbiano privilegiato l'esecuzione in un solo ciclo di clock delle istruzioni più comuni e compatte. Però la presenza di istruzioni a lunghezza variabile, con immediati "lunghi" (fino a 32-bit), operazioni su dati in memoria e copia memoria-memoria sono segni distintivi di un'architettura CISC. D'altra parte oggi molti CISC, anche non pensati appositamente allo scopo, eseguono istruzioni in un ciclo di clock, e sono quelle più comuni / semplici. Quote:
Non so, però, se questa funzionalità si possa classificare come contraria alla filosofia RISC. In fin dei conti i RISC sono nati per avere poche, semplici, istruzioni da eseguire in un ciclo di clock (cosa che non è più vera da un pezzo per i RISC), ma le istruzioni non sono tutte simili e la loro frequenza è strettamente legata all'ambito di utilizzo. Per fare un esempio, l'istruzione ADD è un must-have ovviamente, ma rispetto a una MOVE o una LOAD/STORE si tratta di un'istruzione decisamente rara. Ancora peggio per istruzioni come AND, OR, XOR, e NOT, che pure sono fra le più usate. Qui, in un mio pezzo su x86 & x64, trovi qualche numero che, pur essendo legato strettamente a queste architetture, può comunque fornire qualche dato anche per altre architetture, e dove spicca in particolare la frequenza delle istruzioni di salto condizionale. Per concludere, se dovessimo prendere a modello di riferimento soltanto la frequenza per decidere dell'implementazione o meno di qualcosa, credo che l'esecuzione condizionale delle istruzioni possa trovare un posto privilegiato rispetto a tante istruzioni ben più note. 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: 10:27.