Reduced instruction set computer
- l`rby@
- Az@rbaycanca
- Belaruskaia (tarashkevitsa)
- B'lgarski
- Bosanski
- Catala
- Cestina
- Dansk
- Deutsch
- Ellenika
- English
- Esperanto
- Espanol
- Eesti
- Euskara
- frsy
- Suomi
- Francais
- Gaeilge
- Galego
- `bryt
- Hrvatski
- Magyar
- Bahasa Indonesia
- Ri Ben Yu
- hangugeo
- Lombard
- Lietuviu
- Latviesu
- Nederlands
- Norsk nynorsk
- Norsk bokmal
- Polski
- Portugues
- Romana
- Russkii
- Srpskohrvatski / srpskokhrvatski
- Simple English
- Slovencina
- Slovenscina
- Srpski / srpski
- Svenska
- aithy
- Turkce
- Ukrayins'ka
- Tieng Viet
- Wu Yu
- Zhong Wen
Puoi migliorare questa voce aggiungendo citazioni da fonti attendibili secondo le linee guida sull'uso delle fonti. Segui i suggerimenti del progetto di riferimento.
Reduced instruction set computer (RISC), nell'elettronica digitale, indica un'architettura per microprocessori che predilige lo sviluppo di un'architettura semplice e lineare. Questa semplicita di progettazione permette di realizzare microprocessori in grado di eseguire il set di istruzioni in tempi minori rispetto a una architettura CISC.
I piu comuni processori RISC sono AVR, PIC, ARM, DEC Alpha, PA-RISC, SPARC, MIPS, RISC-V, POWER e PowerPC.
Evoluzione storica
[modifica | modifica wikitesto]Il contesto prima dell'introduzione
[modifica | modifica wikitesto]All'inizio dell'industria dell'informatica i compilatori non esistevano ed i programmatori scrivevano direttamente in codice macchina o in assembly. Per facilitare il lavoro dei programmatori, i progettisti dei processori decisero di inserire nel set di istruzioni dei processori delle istruzioni anche molto complesse in modo da simulare le funzioni ad alto livello dei linguaggi di programmazione direttamente nei processori. Sempre al fine di facilitare lo sviluppo dei programmi, il set di istruzioni dei microprocessori permetteva dei metodi di indirizzamento dei dati complessi che consentivano di manipolare direttamente i dati in memoria, senza passare dai registri dei microprocessori. Questo non era in realta possibile dato che il processore puo elaborare solo dati contenuti nei registri (il Texas Instruments TMS9900 e un'eccezione), e quando il programmatore utilizzava questi metodi di accesso alla memoria il processore provvedeva a copiare il dato in un registro (a volte un registro riservato) per eseguire l'operazione e successivamente salvare il dato in memoria.
Un altro vantaggio dell'avere un set di istruzioni molto complesso e l'occupazione di memoria. Istruzioni molto complesse consentono di realizzare programmi compatti e all'inizio dell'informatica la memoria era una risorsa molto costosa. Ecco perche i processori avevano molte istruzioni e utilizzavano codifiche a lunghezza variabile di bit per definire le istruzioni in modo da massimizzare la densita di istruzioni.
Le CPU erano dotate di pochi registri per due motivi fondamentali:
- Realizzare i registri nei processori era molto costoso, in quanto i bit all'interno di un processore costano molto piu dei bit memorizzati dalla memoria principale; realizzare molti registri avrebbe richiesto molti transistor e questo avrebbe richiesto di sacrificare le altre unita funzionali del processore.
- Molti registri richiedono molti bit per essere indirizzati, quindi richiedono piu memoria per l'immagazzinamento delle istruzioni.
Questi motivi spinsero i progettisti a realizzare istruzioni con metodi di accesso alla memoria molto complesse, per esempio erano comuni istruzioni in grado di caricare due dati, sommarli e poi salvare il risultato in memoria tutto utilizzando una sola istruzione. Un'altra versione della stessa istruzione caricherebbe i dati dalla memoria, li sommerebbe e salverebbe il dato in un registro per esempio. Una terza variante caricherebbe i dati dalla memoria e da un registro, eseguirebbe la somma e salverebbe i dati in un registro. I processori dotati di molte istruzioni di questo tipo vengono definiti processori CISC.
L'obiettivo principale di allora era realizzare processori che fossero in grado di eseguire operazioni con ogni possibile modo di indirizzamento. La possibilita di utilizzare memorie e registri come ingresso o uscita con le varie combinazioni era chiamata ortogonalita delle istruzioni. Sebbene questo complicasse la realizzazione dei processori si riteneva che velocizzasse i programmi dato che il programmatore poteva di volta in volta utilizzare il comando migliore a seconda del programma che stava scrivendo.
L'idea e la progettazione
[modifica | modifica wikitesto]Verso la fine degli anni 70, ricercatori dell'IBM e di progetti analoghi dimostrarono che la maggior parte dei modi di indirizzamento non veniva utilizzato nei programmi. Questo era dovuto alla diffusione dei compilatori che, sostituendosi all'ottimizzazione a basso livello applicata dai programmatori, ignoravano i modi di indirizzamento piu potenti per concentrarsi su quelli semplici. I compilatori di allora erano in grado di gestire solo le caratteristiche piu semplici dei processori anche perche, all'epoca, la teoria dei compilatori era solo agli inizi. Comunque il mercato si stava muovendo con rapidita verso l'utilizzo sempre piu massiccio dei compilatori, dato che i linguaggi ad alto livello permettevano di realizzare programmi con rapidita riusando il codice in modo efficiente.
Gli studi dimostrarono che molte istruzioni esotiche venivano utilizzate molto raramente e a volte erano piu lente del codice scritto con le istruzioni generiche. L'esempio classico era l'istruzione INDEX dei VAX: questa istruzione era piu lenta di un loop implementato con le istruzioni comuni.
In quel periodo la velocita delle CPU e delle memorie era simile, ma era evidente l'incremento di velocita delle prime e pertanto in futuro si avrebbe avuto un divario sempre maggiore tra le due. Per ridurre il problema i progettisti pensarono di includere piu registri e cache nei processori in modo da ridurre gli accessi alla memoria; i registri e la cache richiedevano molto spazio e allora si cerco di recuperare spazio riducendo la complessita dei processori.
Studi effettuati da informatici come Andrew Tanenbaum dimostrarono che le CPU prodotte allora erano molto sovradimensionate rispetto alle reali esigenze dei programmi. Tanenbaum dimostro che il 98% delle costanti in un programma poteva essere memorizzato con parole di 13 bit sebbene la maggior parte delle CPU utilizzasse parole a multipli di 8 bit (8, 16, 24, ecc.) e quindi sprecassero spazio. Questi studi suggerirono di memorizzare le costanti nei bit non utilizzati del set di istruzioni, riducendo il numero degli accessi alla memoria; le costanti non verrebbero caricate dalla memoria o dai registri ma sarebbero state inglobate direttamente nel codice binario dell'istruzione rendendo la CPU piu veloce ed efficiente. Tuttavia questo approccio richiedeva istruzioni con codifiche corte e una lunghezza di parola di almeno 32 bit per poter aver a disposizione uno spazio ragionevole per le costanti.
Dato che nelle applicazioni reali la maggior parte del tempo viene dedicata all'esecuzione di operazioni molto semplici, i ricercatori si concentrarono su queste operazioni comuni cercando di rendere la loro esecuzione il piu veloce possibile. Visto che la massima velocita di funzionamento delle unita era limitata dal tempo necessario ad eseguire le istruzioni piu lente e i modi di indirizzamento piu esotici, si decise di eliminare le istruzioni e i modi di indirizzamento poco usati in modo da ottenere un set di istruzioni piu snello contenente solo quelle istruzioni che effettivamente venivano richieste e che potevano essere ottimizzate per essere eseguite rapidamente, spesso in un solo ciclo di clock.[1]
L'obiettivo di ridurre le istruzioni porto all'ideazione del nome reduced instruction set computing (lett. "elaborazione con insieme di istruzioni ridotto"): un numero ridotto di istruzioni con metodi di accesso semplici e lineari che permetteva l'utilizzo di soluzioni di tipo pipeline dati. L'utilizzo di pipeline permette di realizzare microprocessori in grado di eseguire la maggior parte delle istruzioni in un ciclo di clock. In un'architettura CISC e molto piu difficile includere una pipeline dato che i molteplici metodi di indirizzamento complicano nettamente il funzionamento dell'unita e percio a parita di potenza di calcolo, un'architettura CISC a pipeline richiede molti piu transistor di una architettura RISC a pipeline piu significative di quella monoistruzione del CISC a 8 bit 6502.
L'acronimo RISC ha portato spesso dei fraintendimenti. Molti, leggendo <
L'approccio RISC ha il grande vantaggio della velocita ma il suo principale svantaggio e l'occupazione di memoria da parte del codice. Essendo presenti solo istruzioni relativamente semplici, il codice scritto per macchine RISC tende ad essere piu grande del codice scritto per macchine CISC.
Le prime evoluzioni
[modifica | modifica wikitesto]Nel frattempo, gli ingegneri trovarono alcuni metodi e tecnologie migliori per incrementare la capacita dei processori senza aumentare la frequenza. All'inizio degli anni 1980 era diffusa l'idea che l'architettura avesse raggiunto il suo limite teorico di velocita. Si riteneva che nuovi incrementi di prestazioni si sarebbero ottenuti solamente grazie ai miglioramenti nei materiali semiconduttori o all'aumento di frequenza. Permettendo transistori piu compatti, avrebbero permesso di innalzare la frequenza di funzionamento. Molti sforzi furono rivolti verso il calcolo parallelo e verso metodi di collegamento rapidi. Inoltre, il divario tra la velocita dei processori e delle memorie aumentava, percio i progettisti iniziarono a studiare tecnologie che riducessero gli accessi alla memoria e aumentassero la velocita dei processori; tuttavia queste tecnologie erano molto difficili da implementare con metodi di accesso alla memoria complessi.
Le prime novita si registrarono nella progettazione di nuove pipeline dati. In una pipeline l'istruzione viene suddivisa in sotto operazioni elementari, che vengono svolte in sequenza dalle unita funzionali disposte come una catena di montaggio. Un normale processore ha una singola unita generica che preleva un'istruzione, la decodifica, carica gli operandi, esegue l'operazione vera e propria e salva il risultato. Queste fasi vengono svolte in modo sequenziale da un processore classico; un processore dotato di pipeline esegue invece queste operazioni in parallelo, dato che, come in una catena di montaggio, possiede piu unita specialistiche, ognuna delle quali esegue una singola fase, incrementando in misura notevole le prestazioni.
Altra strategia per incrementare le prestazioni era la creazione di piu unita funzionali che lavorassero in parallelo. Per esempio un processore con due unita aritmetiche puo lavorare in parallelo su due istruzioni di somma raddoppiando le prestazioni. Questa replicazione delle unita funzionali combinate con le pipeline porto alla realizzazione di processori superscalari in grado di eseguire piu di un'operazione per ciclo di clock. Queste nuove idee avevano lo svantaggio di richiedere molti transistor per essere implementate.
I RISC furono inizialmente avvantaggiati dalla semplicita di progetto, e il parco dei transistor lasciava molto spazio libero nel processore per poter implementare queste tecniche. I CISC, invece, con la loro architettura piu complessa, si trovarono ad implementare con maggior difficolta queste idee, anche perche il loro ampio set di istruzioni, e i molti modi di indirizzamento rendevano piu complesso implementare una pipeline rispetto a un classico processore RISC. I primi RISC avevano prestazioni inferiori agli equivalenti CISC, ma i processori RISC colmarono presto il divario e all'inizio degli anni 90 superavano i processori CISC praticamente in ogni campo. Oltre a considerazioni di carattere prestazionale, il fatto di dedicare pochi transistor al core vero e proprio del processore permetteva al progettista di un processore RISC un approccio molto flessibile.
Con i molti transistor liberi si poteva per esempio:
- Aumentare il numero di registri presenti
- Incrementare il parallelismo interno del processore
- Aumentare la dimensione della cache
- Aggiungere altre funzionalita come la gestione dell'I/O o di timer
- Aggiungere unita vettoriali SIMD come AltiVec o Streaming SIMD Extensions
- Offrire processori a basso consumo per applicazioni portabili.
- Realizzare i processori in fabbriche con tecnologie antiquate contenendo i costi.
I progetti RISC quasi sempre sviluppano i processori seguendo l'architettura Harvard. In questa architettura i flussi dei dati e i flussi delle istruzioni sono separati in modo da consentire al processore di funzionare senza interruzione e permettono al processore una gestione piu rapida ed efficiente della cache. Questo vuol dire che, se il processore e dotato di cache, il programma non puo modificare dinamicamente il suo codice, dato che le modifiche non verrebbero viste dalla cache del processore. Questo impedisce al codice automodificante di funzionare su questi processori.
Alcuni dei primi RISC con pipeline erano dotati di alcune peculiarita non desiderate, la piu famosa e la branch delay slot. La branch delay slot indica il fatto che ogni volta che il processore incontrava una condizione di salto eseguiva comunque l'istruzione successiva al salto anche se questa istruzione non doveva essere eseguita. Questo e un effetto indesiderato delle pipeline e ad oggi i processori moderni utilizzano particolari accorgimenti (durante i quali il processore e detto essere in stallo) per evitare l'esecuzione dell'istruzione se questa non e realmente necessaria.
I primi prodotti immessi sul mercato
[modifica | modifica wikitesto]Il primo sistema al mondo che si puo ritenere aderire alla filosofia RISC fu il supercomputer CDC 6600 sviluppato nel 1964 da Jim Thornton e Seymour Cray. Thornton e Cray progettarono una CPU specializzata per eseguire calcoli (dotata di 74 opcode, un numero nemmeno paragonabile alle 400 opcode dell'Intel 8086) e 10 processori periferici dedicati alla gestione dell'I/O. Il CDC 6600 e dotato di un'architettura load/store con solo due metodi di accesso. Il computer aveva 10 unita funzionali aritmetiche/logiche piu cinque unita dedicate al caricamento e al salvataggio dei dati. La memoria era suddivisa in piu banchi in modo da consentire alle unita load/store di funzionare in parallelo. Il clock del processore era dieci volte il clock della memoria.
Un'altra delle prime macchine load/store fu il minicomputer Data General Nova sviluppato nel 1968. I progetti che portarono alle prime architetture che esplicitarono il concetto di processore RISC, comunque, furono svolti in seno alle universita statunitensi che, utilizzando i fondi forniti dal DARPA per il programma VLSI, svilupparono molte innovazioni nel campo dell'elettronica e della miniaturizzazione.
Il progetto Berkeley RISC inizio nel 1980 sotto la direzione di David Patterson. Il progetto mirava ad ottenere elevate prestazioni tramite l'uso di pipeline e di molti registri gestiti con la tecnica della register window. In una normale CPU vi erano un numero ridotto di registri (8 o 16 era un numero comune) che erano accessibili a tutto il programma. Nella CPU progettata dal gruppo di Patterson i registri erano 128, ma il programma poteva accedere in ogni momento solamente a 8 di questi. Questa organizzazione permetteva di realizzare delle chiamate di sistema o dei cambi di contesto molto rapidi. In una CPU classica una chiamata di sistema imponeva al processore di salvare i registri in memoria per permettere alla procedura di avere i registri liberi; nella CPU di Patterson basta spostare l'indice della finestra per ottenere dei registri liberi senza salvare niente in memoria velocizzando notevolmente il tutto.
Il progetto RISC sviluppo il processore RISC-I nel 1982. Il processore era formato da 44 420 transistor, pochi rispetto agli oltre 100 000 utilizzati da alcuni CISC dell'epoca. Il RISC-I era dotato di sole 32 istruzioni, ma era piu veloce di qualsiasi processore a singolo chip dell'epoca. Il suo successore, il RISC-II (1983), era ancora piu piccolo, con i suoi 40 760 transistor, 39 istruzioni ed era tre volte piu rapido del RISC-I.
Nello stesso periodo, John L. Hennessy inizio un progetto simile chiamato MIPS alla Stanford University nel 1981. Il progetto MIPS si concentrava sul realizzare un processore ove la pipeline fosse sempre operativa. La pipeline era gia in uso allora su alcuni processori, ma il progetto MIPS sviluppo molte soluzioni che sono diventate di uso comune. Per ottenere una pipeline sempre piena era necessario garantire che le operazioni fossero sempre completate in un solo ciclo di clock da tutte le unita funzionali, quindi i progettisti decisero di eliminare dal processore tutte le istruzioni troppo lente anche se utili. Ad esempio il processore MIPS non prevedeva operazioni di moltiplicazione o divisione.
Il primo progetto di produrre una CPU su un singolo chip lo si deve all'IBM, che nel 1975 inizio un progetto che fu di ispirazione per i gruppi successivi. Il progetto di ricerca ha portato allo sviluppo del processore IBM 801. L'801 venne prodotto su singolo chip nel 1981 con il nome di ROMP, un acronimo che indica Research (Office Products Division) Mini Processor. Come dice il nome, la CPU era progettata per svolgere compiti d'ufficio; nel 1986 l'IBM presento l'IBM RT che non ebbe successo per le prestazioni non all'altezza delle aspettative. Nonostante tutto il progetto 801 ispiro molti altri progetti di ricerca, incluso il progetto POWER della stessa IBM.
Durante quegli anni i lavori sulle architetture RISC erano molto diffusi all'interno dei centri di ricerca. Il progetto svolto a Berkeley era talmente importante che spesso veniva utilizzato come sinonimo dell'intero paradigma RISC. Molte aziende erano inizialmente restie a investire sull'architettura RISC, dato che in un prodotto commerciale la ridotta efficienza della memoria avrebbe potuto compromettere le prestazioni dei processori. Comunque, nonostante alcune difficolta iniziali, nel 1986 tutti i progetti RISC erano diventati prodotti commerciali e non si puo negare che tutti i moderni processori RISC debbano molto al progetto del RISC-II.
L'evoluzione e la diffusione
[modifica | modifica wikitesto]La ricerca svolta a Berkeley non porto direttamente allo sviluppo di prodotti commerciali ma il progetto del RISC-II venne utilizzato dalla Sun Microsystems per sviluppare i processori SPARC, dalla Pyramid Technology per sviluppare la sua linea di macchine multiprocessore e da praticamente ogni altra societa che lavoro in questo settore. Le macchine della Sun dimostrarono che il progetto RISC era valido, che i benefici erano reali e permisero alla societa di dominare il settore delle workstation.
John Hennessy abbandono (temporaneamente) Stanford per commercializzare il progetto MIPS e fondo la MIPS Computer Systems. Il primo progetto della societa fu l'R2000, un processore MIPS di seconda generazione. I processori MIPS sono diventati tra i processori RISC piu utilizzati: difatti sono integrati all'interno di console come la PlayStation e la Nintendo 64 e sono usati nella maggioranza dei router. Attualmente e un processore molto utilizzato anche nel mercato embedded.
IBM, reduce dal fallimento del progetto RT-PC, imparo dai suoi errori e sviluppo la piattaforma RS/6000 basata su architettura POWER. La societa sposto i suoi server AS/400 sulla nuova architettura e gli ingegneri riuscirono a realizzare anche chip con istruzioni molto complesse ma anche molto veloci. Questi progetti portarono allo sviluppo della linea iSeries. Il POWER subi un processo di semplificazione che porto allo sviluppo dei processori PowerPC, processori piu semplici, non dotati delle istruzioni peculiari dei prodotti IBM e realizzabili su singolo chip per contenerne i costi. I processori PowerPC sono molto utilizzati in applicazioni legate all'automazione e alle automobili. Esistono alcune macchine dotate di piu di 10 processori PowerPC. La CPU e stata utilizzata per anni da Apple per i suoi computer, sebbene ultimamente la societa abbia deciso di passare ai processori Intel Core.
Molti altri progetti sono sorti rapidamente. Dal Regno Unito ricerche simili hanno portato alla creazione di processori come l'INMOS Transputer e l'architettura ARM. L'architettura ARM ha avuto un'enorme diffusione nel settore dei dispositivi embedded e mobili. Intel ha prodotto i processori i880 e i960 alla fine degli anni '80, sebbene questi abbiano avuto poco seguito commerciale. Motorola ha prodotto il Motorola 88000, un processore che non ha mai avuto molto successo e che e stato abbandonato quando Motorola si e consociata con IBM per produrre i processori PowerPC. AMD ha realizzato l'AMD 29000, un processore molto utilizzato nelle stampanti laser e nelle macchine per l'ufficio.
Attualmente la maggior parte delle CPU prodotte seguono un approccio RISC. La filosofia RISC offre potenza con costi ridotti e consumi parchi, difatti domina il settore dei dispositivi embedded. Telefoni cellulari, palmari, automobili, videogiochi portatili e altri si affidano a processori RISC. I processori RISC, inoltre, diventarono i dominatori incontrastati dei server ad alte prestazioni durante gli anni 90. Dopo la presentazione delle Sun SPARCstation, i concorrenti della Sun si convertirono alle macchine RISC rendendo il mercato dei server totalmente RISC in breve tempo.
Nonostante i molti successi dei processori RISC, attualmente la piattaforma di riferimento per i computer da tavolo e l'architettura x86 prodotta da Intel; il fatto e che Intel e il suo contendente diretto AMD dominano il mercato dei personal computer con macchine ad architettura CISC, in quanto gli utenti preferiscono mantenere la compatibilita con le loro applicazioni piuttosto che ricercare prestazioni piu elevate utilizzando architetture piu moderne. Difatti nessuna architettura RISC ha una base utenti talmente ampia da poter competere con quella dell'architettura x86. Inoltre Intel, avendo enormi guadagni dai suoi processori, puo investire immense cifre di denaro in ricerca per produrre processori che, pur rispettando i vincoli dell'architettura x86, offrano ottime prestazioni. Comunque, dall'avvento del processore Pentium Pro in poi, i processori Intel prelevano le istruzioni x86 di tipo CISC dalla memoria e le traducono internamente in rapide istruzioni RISC che poi il processore elabora come un RISC classico. Tali famiglie di processori, pur comportandosi da processori CISC, in realta funzionano internamente come processori RISC.
I consumatori sono interessati alle prestazioni dei processori, al loro costo e alla loro compatibilita con i programmi; non sono interessati a sapere quanto spendono le societa per sviluppare i processori. Questo ha generato un fenomeno curioso: lo sviluppo di nuovi processori diventa un affare sempre piu costoso e complesso, i costi di sviluppo sono esplosi negli ultimi anni e anche i costi per approntare nuove fonderie di silicio e costantemente in aumento. Questo ha portato fuori mercato tutti i produttori RISC ad alte prestazioni tranne IBM con l'architettura Power. Le architetture MIPS e SPARC vengono sviluppate a ritmi ridotti e sempre per settori specializzati mentre altre architetture, come la PA-RISC e la DEC Alpha, sono state abbandonate all'inizio degli anni 2000. Attualmente i processori piu veloci nei calcoli interi sono basati su architetture x86 mentre nei calcoli in virgola mobile le soluzioni RISC di IBM sopravvivono per via della inefficiente gestione dei numeri in virgola mobile dell'architettura x86.
Descrizione
[modifica | modifica wikitesto]L'architettura CISC prevede un set esteso di istruzioni con metodi di indirizzamento complessi. Una definizione semplicistica dei microprocessori RISC parla di microprocessori con un set di istruzioni ridotto (semplificato) rispetto a quello dei classici processori CISC. La definizione attualmente piu diffusa in ambito informatico parla di architettura load-store dato che le architetture RISC permettono di accedere alla memoria unicamente tramite delle istruzioni specifiche (load e store) che provvedono a leggere e scrivere i dati nei registri del microprocessore, mentre tutte le altre istruzioni manipolano i dati contenuti all'interno dei microprocessori. Nei microprocessori CISC e l'esatto opposto, praticamente tutte le istruzioni possono accedere ai registri o alla memoria utilizzando metodi di accesso anche molto sofisticati.
L'idea che ha ispirato questa architettura e la constatazione che i progettisti hardware impiegavano molte risorse e molto tempo per realizzare metodi di accesso molto potenti che i programmatori in realta ignoravano. Gli sviluppatori e i compilatori infatti tendevano a utilizzare le istruzioni e i metodi di indirizzamento piu semplici ignorando tutti gli altri metodi e le istruzioni specializzate.
Normalmente un processore RISC e dotato di alcune caratteristiche distintive; le principali sono:
- Codifica delle istruzioni di lunghezza fissa. Questo spreca spazio in memoria ma permette di realizzare una decodifica delle istruzioni rapida e semplice.
- Gestione omogenea dei registri. Questi sono accessibili a tutte le operazioni senza distinzione in modo da semplificare la realizzazione dei compilatori (sebbene spesso i processori siano divisi tra quelli per interi e quelli per le operazioni a virgola mobile).
- Metodi di indirizzamento semplici. I metodi di indirizzamento complessi possono essere emulati con semplici operazioni aritmetiche.
- Pochi tipi gestiti nativamente. Alcuni processori CISC, per esempio, possono gestire nativamente polinomi e numeri complessi, ma ben difficilmente questi tipi saranno gestiti da un processore RISC.
Diffusione, utilizzo ed implementazione
[modifica | modifica wikitesto]Le soluzioni RISC hanno portato ad alcuni prodotti di grande successo come:
- MIPS utilizzato inizialmente da Silicon Graphics per i suoi computer e in seguito alla base di PlayStation, PlayStation 2, PlayStation Portable e Nintendo 64
- POWER, utilizzato nelle sue mille varianti da Apple Inc. per anni nei suoi computer prima del passaggio all'architettura x86 e da IBM per i suoi sistemi, compresi i supercomputer piu veloci del pianeta. Il processore viene utilizzato anche dal Nintendo GameCube, dalla Wii, dalla Xbox 360 e dalla PlayStation 3.
- SPARC e UltraSPARC, utilizzato nei server Sun Microsystem.
- PA-RISC utilizzato per anni da Hewlett-Packard per alcuni suoi server.
- DEC Alpha prodotto da DEC e utilizzato su server e workstation.
- ARM, utilizzato in PDA come l'Apple Newton e altri. Le sue varianti sono incluse in moltissimi prodotti di consumo come il Game Boy Advance, il Nintendo DS, l'iPod e in molti telefoni cellulari, come alcuni iPhone, HTC, Sony Ericsson (in particolate la serie Smartphone "P", "M" e alcuni "W") e Nokia.
Bisogna inoltre ricordare come la grande espansione del mercato di smartphone e tablet avvenuta negli anni compresi tra il 2010 e il 2014 abbia contribuito a rilanciare la domanda di processori ad architettura ARM, nonche ad una rinnovata spinta della ricerca in questo settore, con la realizzazione di processori ARM della serie Cortex A8, Cortex-A9 o dei SOC Apple A5 e Apple A6.
Note
[modifica | modifica wikitesto]Voci correlate
[modifica | modifica wikitesto]Altri progetti
[modifica | modifica wikitesto]Altri progetti
- Wikizionario contiene il lemma di dizionario <<RISC>>
- Wikimedia Commons contiene immagini o altri file su reduced instruction set computer
Collegamenti esterni
[modifica | modifica wikitesto]- RISC, su Treccani.it - Enciclopedie on line, Istituto dell'Enciclopedia Italiana.
- Mauro Cappelli, RISC (Reduced instruction set computer), in Enciclopedia della scienza e della tecnica, Istituto dell'Enciclopedia Italiana, 2008.
- RISC, su sapere.it, De Agostini.
- (EN) RISC, su Enciclopedia Britannica, Encyclopaedia Britannica, Inc.
- (EN) Opere riguardanti RISC, su Open Library, Internet Archive.
- (EN) Denis Howe, Reduced instruction set computer, in Free On-line Dictionary of Computing. Disponibile con licenza GFDL
- (EN) RISC vs. CISC, su www-cs-faculty.stanford.edu. URL consultato il 6 ottobre 2010 (archiviato dall'url originale il 29 maggio 2010).
- (EN) What is RISC, su www-cs-faculty.stanford.edu. URL consultato il 6 ottobre 2010 (archiviato dall'url originale il 18 maggio 2010).
| Estensioni Instruction set | |
|---|---|
| SIMD (RISC) | Alpha (MVI) * ARM (NEON * SVE) * MIPS (MDMX * MIPS-3D * MXU * MIPS SIMD) * PA-RISC (MAX) * Power ISA (VMX) * SPARC (VIS) |
| SIMD (x86) | MMX (1996) * 3DNow! (1998) * SSE (1999) * SSE2 (2001) * SSE3 (2004) * SSSE3 (2006) * SSE4 (2006) * |
| Manipolazione dei bit | BMI (ABM: 2007, BMI1: 2012, BMI2: 2013, TBM: 2012) * ADX (2014) |
| Istruzioni compresse | Thumb * MIPS16e ASE |
| Sicurezza e crittografia | AES-NI (2008); 32 e 64 bit ARMv8 ha anche istruzioni AES * CLMUL (2010) * RdRand (2012) * SHA (2013) * MPX (2015) * SGX (2015) |
| Memoria transazionale | TSX (2013) * ASF |
| Virtualizzazione | VT-x (2005) * AMD-V (2006) |
| Le estensioni non piu utilizzate sono | |
| Controllo di autorita | LCCN (EN) sh90005948 * GND (DE) 4191875-7 * BNF (FR) cb12473275r (data) * J9U (EN, HE) 987007541834205171 |
|---|