Reduced instruction set computer: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m rimosso maiuscolo superfluo (si usa anche la grafia in minuscolo) e aggiunto corsivo Etichette: Modifica da mobile Modifica da web per mobile Modifica da mobile avanzata |
m →Approccio RISC: piccole correzioni Etichette: Modifica da mobile Modifica da web per mobile Modifica da mobile avanzata |
||
Riga 26:
Gli studi dimostrarono che molte istruzioni esotiche venivano utilizzate molto raramente e a volte erano più lente del codice scritto con le istruzioni generiche. L'esempio classico era l'istruzione <code>INDEX</code> dei [[VAX]]: questa istruzione era più lenta di un loop implementato con le istruzioni comuni.
In quel periodo la velocità delle CPU e delle memorie era simile, ma era evidente l'incremento di velocità
Studi effettuati da informatici come [[Andrew S. Tanenbaum|Andrew Tanenbaum]] dimostrarono che le CPU prodotte allora erano molto sovradimensionate rispetto alle reali esigenze dei programmi. Tanenbaum dimostrò che il 98% delle costanti in un programma poteva essere memorizzato con [[Parola (informatica)|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 più 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 più veloce possibile. Visto che la massima velocità di funzionamento delle unità era limitata dal tempo necessario ad eseguire le istruzioni più lente e i modi di indirizzamento più esotici, si decise di eliminare le istruzioni e i modi di indirizzamento poco usati in modo da ottenere un set di istruzioni più 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.<ref>[http://www.ercb.com/ddj/1990/ddj.9009.html Microprocessors From the Programmer's Perspective Review by Andrew Schulman Copyright (C) Dr. Dobb's Journal, Settembre 1990]</ref>
|