Berkeley RISC: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
mNessun oggetto della modifica |
Funzionalità collegamenti suggeriti: 3 collegamenti inseriti. Etichette: Modifica visuale Modifica da mobile Modifica da web per mobile Attività per i nuovi utenti Suggerito: aggiungi collegamenti |
||
(42 versioni intermedie di 19 utenti non mostrate) | |||
Riga 1:
{{F|microprocessori|marzo 2013}}
'''Berkeley RISC''' è il nome dato a uno dei due progetti di ricerca sulle architetture [[Reduced instruction set computer|RISC]] finanziato dal progetto [[VLSI project]] dell'[[Defense Advanced Research Projects Agency|ARPA]]. Il progetto venne gestito da [[David Patterson]]
== L'idea RISC ==
{{Vedi anche|Reduced instruction set computer}}
Gli scienziati del progetto [[Reduced instruction set computer|RISC]] e [[Architettura MIPS|MIPS]] sono partiti dalla constatazione che la maggior parte dei programmi non sfruttasse tutte le istruzioni dei processori, ma che in realtà ne utilizzasse solo un piccolo sottoinsieme.
I processori RISC si concentrarono sull'aggiunta di molti [[registro (informatica)|registri]], che il programma poteva utilizzare per memorizzare i valori intermedi dei dati, in modo da evitare accessi alla lenta memoria centrale. Un buon [[compilatore]] era in grado di generare del codice che
I processori [[Reduced instruction set computer|RISC]] inoltre eliminarono molti modi di indirizzamento e consentirono solamente il trattamento di dati memorizzati nei registri. Solamente le istruzioni di <code>load</code> e di <code>store</code> potevano
Quando venne sviluppato il progetto RISC la memoria era un componente molto
Comunque ad un osservatore esterno non era evidente se il paradigma RISC avrebbe realmente migliorato le prestazioni. L'unico modo per verificarlo era eseguire delle simulazioni e le simulazioni mostravano che il processore aveva delle prestazioni molto elevate.
Il progetto RISC e MIPS differivano notevolmente da come gestivano i registri. Il progetto MIPS aggiunse una serie di registri e li rese disponibili alle istruzioni mentre il progetto RISC seguì un approccio diverso. Il progetto RISC utilizzava il concetto di
==RISC I==
Il primo prodotto del progetto RISC fu un processore inizialmente chiamato '''Gold'''. La sua progettazione iniziò nel 1980 come parte del corso sulla progettazione VLSI ma la sua progettazione richiedeva prestazioni superiori a quelle fornite dai programmi di sviluppo dell'epoca. I programmi si bloccavano frequentemente e i progettisti dovettero riscrivere o adattare molti dei programmi per poter progettare il processore. La realizzazione del processore finale richiese un
Il progetto finale del '''RISC I
RISC I per incrementare le prestazioni utilizzava una [[pipeline dati|pipeline]] a due stadi ma senza un riordino delle istruzioni come fanno le moderne CPU. Il processore aveva problemi a gestire i salti condizionati dato che comunque eseguiva l'istruzione subito dopo il
Dopo un
Quando il progetto
Il successo del processore inoltre va valutato nel contesto tecnologico dell'epoca. Se anche il RISC I fosse stato più lento del VAX sarebbe stato comunque un successo. Era un processore RISC a 32 bit reali che era stato prodotto da una fonderia con processi produttivi antiquati. In un disegno tradizionale buona parte del chip
==RISC II==
Mentre il progetto RISC I procedeva verso la sua realizzazione i ricercatori di Berkeley iniziarono a svilupparne la nuova versione che prese il [[nome in codice]] di '''Blue'''. I lavori su Blue
La differenza chiave tra i processori era che il nuovo progetto eliminava una delle tre linee dedite alla gestione della cache riducendo notevolmente la dimensione del gestore dei registri. Questo cambiamento richiedeva uno stretto accorpamento con il bus di sistema ma era un piccolo prezzo da pagare per ottenere un sistema molto più veloce e quindi delle prestazioni più elevate.
Il nuovo progetto era molto più parco del precedente. Mentre Gold conteneva 78 registri e sei finestre, Blue aveva 138 registri divisi in 7 finestre da 32 registri e 10 registri globali. La presenza di più registri in ogni finestra aumentava la possibilità di avere i dati direttamente nei registri senza dover accedere alla memoria. Inoltre il nuovo progetto era talmente efficiente che, pur avendo quasi il doppio dei registri del progetto
Un'altra caratteristica importante del processore era che includeva un formato di istruzioni che permetteva di espanderne alcune. Alcune istruzioni che utilizzavano solo un operatore o che non ne utilizzano nessuno (come la <code>NOP</code>) venivano memorizzate in un formato compatto a [[16 bit]] che poi veniva espanso in istruzioni a 32 bit in modo trasparente all'interno del processore prima di arrivare all'[[Arithmetic Logic Unit|ALU]]. Questo stratagemma permise di ridurre la dimensione del codice del 30% migliorando la densità del codice inoltre un programma funzionava più rapidamente su Blue rispetto
RISC II venne prodotto dalla fonderia in modo corretto e le sue prestazioni furono molto interessanti. Il prestazioni del processore dipendevano dai programmi in esecuzione ma il processore forniva rispetto al
==Sviluppi==
Il progetto RISC terminò con la realizzazione del RISC II ma i suoi risultati sopravvissero al progetto. Il core fu riutilizzato per il progetto '''SOAP''' del 1984 che in sostanza utilizzava il core RISC per far funzionare codice [[Smalltalk]] e in seguito nel progetto '''VLSI-BAM''' che realizzò un processore in grado di far funzionare programmi in [[
Con il passare degli anni il paradigma RISC si diffuse sempre più anche architetture classicamente CISC come la [[x86]] dell'Intel internamente oramai lavora come un processore RISC. Gli ultimi processori x86 ricevono le istruzioni CISC, le convertono in istruzioni RISC e le elaborano internamente come classici processori RISC. L'area dedicata a questa conversione è ridotta rispetto all'area totale del processore e quindi il processo di conversione è conveniente. Con
==
* {{
* {{
{{Portale|informatica}}
[[Categoria:
|